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.
  1. 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)
  2. 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.
    1. Quels sont les quatres rôles qui doivent être considérés ? (1 point)
    2. 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)
    3. 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)
  3. 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)
  4. 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)
  5. 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.
    1. Comment le marchand vérifie-t'il l'intédrité de la commande OI ? (2 points)
    2. Comment est réalisée la confidentialité des informations concernant la carte de crédit vis à vis du marchand ? (1 point)
    3. 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.
  1. 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)
  2. 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)
  3. En déduire MTTF. Comparer ce MTTF à celui d'une unié simple et commenter. (1 point)
  4. 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)
  5. Combien de fautes sont tolérées par cette architecture ? (0,5 point)
  6. 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)
  7. 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)
  8. 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)