Examen de Sécurité et sûreté de fonctionnement du 24 janvier 2001
Tous documents autorisés. Durée 3h.
Première partie : Commerce éléctronique sur Internet, l'approche SET ("Secure Electronic Transactions")
Pour sécuriser le commerce éléctronique sur Internet le standard SET a été proposé
en 1996/1997. Il est soutenu par les principaux groupements de cartes bancaires Visa et
Master card ainsi que par de nombreux fournisseurs (IBM, Microsoft, ...). SET propose un
ensemble de protocoles de sécurité pour le paiement par carte bancaire pour Internet.
Il utilise pour cela des techniques de cryptographie (à clés publiques RSA, à clés
secrètes DES, de fonction de hachage SHA-1). C'est une solution purement logicielle.
Une vision simplifiée de l'architecture de SET est donnée par la figure suivante
où apparaissent les différents calculateurs de l'acheteur, du marchand, des banques
ainsi qu'une passerelle faisant interface entre le monde internet (utilisant le protocole
SET) et le réseau bancaire.
Le fonctionnement de base est analogue à celui des cartes de crédits habituelles.
L'acheteur connecte son poste de travail sur le serveur du marchand. Il consulte le
catalogue des produits proposés, passe commande et autorise le paiement. Le marchand
accepte la commande et la réalise. Le marchand pour se faire payer adresse à sa banque
l'autorisation de paiement de l'acheteur via la passerelle de paiement.
On trouve donc trois protocoles essentiels dans SET :
- le protocole achat,
- le protocole d'autorisation de paiement,
- le protocole de paiement.
Voici (parmi de nombreuses autres) quelques règles de sécurité de base que les
protocoles SET doivent respecter :
a) L'acheteur et la passerelle de paiement doivent pouvoir vérifier que le
marchand est bien celui qu'il prétend être. Le marchand doit pouvoir vérifier que
l'acheteur et la passerelle de paiement sont bien ceux qu'il prétendent être.
b) Une personne non autorisée ne doit pas pouvoir modifier les messages échangés
entre le marchand et la passerelle de paiement.
c) Le marchand ne doit pas pouvoir accèder au numéro de la carte de l'acheteur.
d) Le banquier n'a pas à connaître la nature de la comande passée par l'acheteur
au marchand.
- Les trois propriétés de sécurité snt associées aux règles précédentes sont
des problèmes généraux traités en cours. Donnez à chaque propriété les noms des
problèmes associés et la définition de ces problèmes (en une phrase). (1,5 points)
- SET est un protocole de sécurité applicatif, qui inclut une politique de sécurité.
A partir des éléments précédents on vous demande de spécifier cette politique.
- Quels sont les quatres rôles qui doivent être considérés ? (1 point)
- On définit les objets suivants :
1. La carte bleue
2. Le pin code de la carte bleue
3. Le numéro de la carte bleue
4. L'identifiant de la commande
5. Le contenu qualitatif de la commande
6. Le prix de la commande
Selon les objets une ou plusieurs des méthodes suivantes sont applicables :
a. créer,
b. lire/connaître,
c. accepter/signer,
d. détenir.
Pour chaque objet donner les méthodes applicables. (1,5 points)
- Etablir la matrice des droits : il s'agit d'une matrice ayant en colonne
(au nombre de 14) les méthodes et en ligne (au nombre de 4) les rôles. Si un
rôle X a le droit d'utiliser la méthode y l'élément X,y est marqué à 1 et n'est
pas marqué sinon. (3 points)
- SET utilise la cryptographie à clé publique RSA avec des clés d'une longueur
de 1024bits. Le RSA est utilisé pour distribuer des clés privées DES et pour signaler
des messages en combinaison avec la fonction de hachage SHA-1 (Secure Haxh Algorithm"
- Version 1)
Pour mettre en oeuvre les protocoles de sécurité utilisant la cryptographie SET
définit une phase d'accréditation préalabale des acteurs par une autorité de certification
(en fait un hiérarchie d'autorités).
Vue globalement l'autorité de certification délivre des certificats aux différents
acteurs des protocoles SET. Qu'est ce qu'un certificat ? Quelles en sont les principales
propriétés ? (1 point)
- On étudie maintenant le processus d'achat. Il se déroule en deux échanges requêtes
réponses successifs.
Premier échange (l'échange initial)
La requête initiale de l'acheteur vers le marchand indique simplement en clair
l'intention par l'acheteur de passer commande.
La réponse initiale du marchand comporte trois éléments :
-unidentifiant de commande plus sa signature numérique,
- le certificat du marchand avec sa clé publique,
- le certificat de la passerelle de paiement avec sa clé publique.
A la suite de ce premier échange, quelles vérifications peuvent être effectuées
par l'acheteur ? (1 point)
- Le second échange du processus d'achat comporte l'envoi de la requête d'achat
et une réponse d'accusé de réception de commande.
Envoi de la requête d'achat.
L'acheteur construit la structure de données commande qui a vocation à être
communiquée au marchand (produits, quantités, prix avec l'identification de la
commande fournie par le marchand pendant l'échange initial ...). Elle est baptisée
par la suite OI ("Order Information").
L'acheteur construit la structure de données de paiement qui a vocation à être
communiquée à la passerelle de paiement (informations concernant la carte bancaire
de l'acheteur et identification de la commande à payer fournie par le marchand pendant
l'échange initial). Elle es baptisée dans la suite PI ("Payment Information").
En fait les deux structures de données sont liées. Le paiemet ne concerne que
la commande identifiée. Il doit être effectué que si la commande est acceptée par
le marchand. La commande n'est effective que si la banque approuve le paiement.
De plus le contenu de la commande doit être caché à la banque et le contenu des
instructions de paiement doit être caché au marchand.
Pour lier les deux structuresde données, l'acheteur calcule par l'algorithme
SHA-1 la fonction de hachage de chacune des structures de données SHA-1(OI) et SHA-1(PI).
Il applique à nouveau la fonction de hachage SHA-1 à l'ensemble (SHA-1(OI),SHA-1(PI))
des fonctions de hachage concaténées. Il chiffre cette dernière empreinte en RSA
avec sa clé privée. C'est en fait une signature numérique double qui est réalisée.
Elle est baptisée dans la norme SET signature duale.
Signature duale = {{{OI}SHA-1,{PI}SHA-1}SHA-1}RSAclef_privee_acheteur
Le message suivant est préparé pour la passerelle de paiement : PI, Signature duale.
L'acheteur choisit une clé aléatoire clé_aléa pour le DES. Le message a destination
de la passerelle de paiement est chiffré en DES au moyen de cette clé.
{PI,Signatureduale}DESclé_aléa
La clé DES est chiffrée au moyen de la clé publique de la passerelle arrivée
avec le certificat de la passerelle.
{clé_aléa}RSAclé_publique_passerelle
Finalement le message de requête d'achat envoyé au marchand contient toutes
les informations suivantes :
{PI,Signaureduale}DESclé_aléa,
{PI}SHA-1,
{clé_aléa}RSAclé_publique_passerelle,
OI,
Signature duale,
Certificat de l'acheteur.
Envoi de laréponse du marchand à la requête d'achat.
Le marchand construit un message de réponse qui a comme unique signification
d'être un accusé de réception de la commande. Le marchand signe numériquement ce
message (fonction SHA-1 et chiffre RSA avec sa clé privée). Il ajoute à l'ensemble
son propre certificat.
- Comment le marchand vérifie-t'il l'intédrité de la commande OI ? (2 points)
- Comment est réalisée la confidentialité des informations concernant la carte
de crédit vis à vis du marchand ? (1 point)
- Comment le marchand vérifie-t'il que l'acheteur est bien celui qu'il prétend être ? (1 point)
Deuxième partie : Etude de l'architecture TMR
On considère une architecture composée de trois unités de traitement en parallèle
et d'un voteur, qui prend en entrée les sorties des trois unités. On suppose que les
trois unités ont la même fiabilité R0(t) = e-lt
et que le voteur est sans faute.
- Si on prend en compte des pannes "byzantines", rappeler la propriété qui traduit
que le système TMR produit des sorties correctes en fonction des sorties produites
par les trois unités. (0,5 point)
- En terme de fiabilité, on suppose que le TMR est défaillant dès que deux modules
le sont. Dans cette question on ne considère pas le voteur. Calculer la fiabilité
R(t) du TMR. (1 point)
- En déduire MTTF. Comparer ce MTTF à celui d'une unié simple et commenter. (1 point)
- On prend maintenant en compte la fiabilité du voteur Rv(t) = e-vt.
Quelle est la fiabilité de l'architecture composée es trois unités et du voteur ? (0,5 point)
- Combien de fautes sont tolérées par cette architecture ? (0,5 point)
- Pour améliorer le système précédent, on introduit en plus du voteur un module
de détection qui singale l'apparition d'une erreur sur un module. En appelant s1,
s2 et s3 les sorties respectives des trois unités quelle est la fonction logique
de ce module de détection (il s'agit de donner l'équation qui lie le booléen "erreur"
et les sorties s1, s2 et s3 qu'on supposera codées en binaire). (1 point)
- On considère les comparaisons booléennes (ou exclusif) deux à deux des sorties
des trois unités. Comment est identifiée l'unité défaillante de ctte architecture ? (1 point)
- On envisage maintenant d'ajouter N-3 unités en redondance passive à l'architecture
TMR ? Proposer un mécanisme d'utilisation de ces unités de rechange. (1 point)