SSO, JWT, vues SQL, chiffrement SQL Server, certificats, archivage des traces et authentification biométrique Android.
Le sujet GSIC est un cas riche de BTS SIO SLAM : il combine la préparation d’un SSO, l’unification de comptes issus de plusieurs applications, la sécurisation de données sensibles, la gestion de tokens JWT et l’intégration de la biométrie dans une application mobile. La page reprend les quatre axes utiles pour réussir : analyse du cas, méthodologies, exemples modèles et pièges à éviter.
GSIC intervient dans un contexte de service public et de gestion d’applications pour des collectivités, notamment un SDIS. Le sujet met en avant trois grands enjeux : préparer un SSO fiable, protéger les données sensibles et proposer une authentification mobile moderne.
Le sujet ne demande pas seulement de produire du code ou des requêtes. Il faut relier chaque solution technique à un besoin professionnel : identifier les utilisateurs de façon unifiée, tracer les connexions, limiter les accès aux données sensibles et simplifier l’authentification mobile sans affaiblir la sécurité.
Une bonne copie distingue clairement les notions proches : sauvegarde et archivage, TDE et chiffrement par colonnes, authentification initiale et utilisation d’un JWT, FingerprintManager et BiometricPrompt. Chaque terme technique doit être relié au problème précis posé par le cas GSIC.
| Bloc | Compétence attendue | Erreur à éviter |
|---|---|---|
| Préparation SSO | Créer une vue SQL d’inventaire multi-bases | Oublier que toutes les requêtes d’un UNION doivent avoir le même nombre de colonnes |
| SSO / JWT / chiffrement | Protéger les données et gérer les tokens | Confondre TDE et chiffrement par colonnes |
| Application mobile | Implémenter la biométrie Android | Utiliser FingerprintManager au lieu de BiometricPrompt |
Le point clé : une sauvegarde sert à reprendre l’activité ; un archivage sert à prouver ou vérifier un fait dans le temps.
Quand plusieurs applications ont des tables différentes, la méthode consiste à normaliser les colonnes vers un même format de sortie. Chaque SELECT doit renvoyer les mêmes colonnes dans le même ordre.
CREATE VIEW v_liste_comptes AS
SELECT 'Personnel' AS origine,
nomUser AS nom,
prenomUser AS prenom,
login AS compte_login,
rolesUser AS roles
FROM Personnel.Compte_Employe
UNION
SELECT 'Formation' AS origine,
nom,
prenom,
compte AS compte_login,
NULL AS roles
FROM Formation.Utilisateur;
Le NULL AS roles est indispensable lorsque la table source ne possède pas de colonne équivalente.
Un token JWT doit être présenté en trois temps : génération après authentification, transmission dans l’en-tête Authorization: Bearer, puis vérification de la signature et de l’expiration à chaque appel API.
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Il faut aussi expliquer le rafraîchissement avant expiration pour éviter une déconnexion brutale de l’utilisateur.
GSIC est difficile car il mélange SQL, sécurité des bases de données, authentification web et développement mobile. La réussite dépend surtout de la capacité à choisir la bonne solution pour la bonne menace.
“La sauvegarde permet de restaurer rapidement des données en cas de panne ou de suppression accidentelle. L’archivage répond à une obligation de conservation et de preuve. Dans le cas du SDIS, les journaux d’authentification doivent être archivés afin de pouvoir prouver les connexions et analyser un incident plusieurs mois après les faits.”
“La vue d’inventaire doit harmoniser les colonnes provenant d’applications différentes. L’opérateur UNION impose le même nombre de colonnes dans chaque SELECT. Si une application ne possède pas de rôle, on ajoute NULL AS roles afin de conserver une structure homogène.”
“Le chiffrement TDE protège les fichiers de base de données sur le disque. Il n’est pas suffisant si le risque vient d’un administrateur qui interroge SQL Server. Pour protéger une donnée sensible comme un numéro de sécurité sociale contre une lecture directe, il faut privilégier le chiffrement par colonnes.”
“Après authentification, le serveur génère un JWT signé contenant l’identité de l’utilisateur, ses rôles et une date d’expiration. Le client envoie ce token dans l’en-tête Authorization Bearer. L’API vérifie la signature et l’expiration avant d’autoriser l’accès.”
“L’application doit utiliser BiometricPrompt, l’API Android moderne, car elle prend en charge plusieurs modalités biométriques et gère l’interface de confirmation. FingerprintManager est dépréciée et ne doit plus être utilisée dans une solution actuelle.”
Une sauvegarde n’est pas une preuve longue durée. Pour les journaux d’authentification, la réponse doit insister sur la conservation, la traçabilité et l’audit.
Toutes les requêtes d’un UNION doivent renvoyer le même nombre de colonnes. Lorsqu’une colonne n’existe pas dans une base, il faut utiliser NULL AS nom_colonne.
Cette réponse est trop vague. Il faut préciser le mécanisme : TDE pour les fichiers sur disque ou chiffrement par colonnes pour les données sensibles exposées à des lectures directes.
Un JWT sans durée de vie claire augmente le risque en cas de vol du token. Il faut parler d’expiration courte et de mécanisme de rafraîchissement.
FingerprintManager est dépréciée. Une réponse moderne doit utiliser BiometricPrompt et mentionner la permission USE_BIOMETRIC.
Une très bonne copie utilise un vocabulaire précis : SSO, JWT signé, expiration, chiffrement par colonnes, UNION, archivage réglementaire, BiometricPrompt. Elle montre que chaque solution répond à un risque précis.
Le sujet porte sur la mise en place d’un SSO, l’inventaire des comptes, le chiffrement de données sensibles, les tokens JWT et l’authentification biométrique Android.
La sauvegarde sert à restaurer des données après incident. L’archivage sert à conserver des traces dans le temps pour des besoins juridiques, réglementaires ou d’audit.
L’erreur consiste à croire que TDE protège contre tous les accès. TDE protège les fichiers sur disque, mais pas forcément contre une lecture par un administrateur connecté.
Un JWT est un token signé transmis par le client à chaque requête. Le serveur vérifie sa signature, son contenu et son expiration avant d’autoriser l’accès.
Il faut utiliser BiometricPrompt, l’API recommandée, et non FingerprintManager qui est dépréciée.
Sujet complet BTS SIO 2024 SLAM GSIC pour travailler l’épreuve.
📄 Sujet complet PDFRetrouvez les autres sujets BTS SIO disponibles pour compléter vos révisions.