• Aucun résultat trouvé

LES SECURITES DE LA CARTE BANCAIRE

N/A
N/A
Protected

Academic year: 2022

Partager "LES SECURITES DE LA CARTE BANCAIRE"

Copied!
20
0
0

Texte intégral

(1)

1

Projet tutoré 2007

TENEUR Jérôme Groupe: III

MAHIEU Maxime Année 2006 / 2007

BINARD Romain RTFI1A

LES SECURITES DE LA CARTE BANCAIRE

(2)

2

SOMMAIRE

I - Introduction

II - Le chiffrement symétrique 1 - Les principes

2 - Systèmes DES et TDES 3 - Le système AES III - Le chiffrement asymétrique

1 - Le principe 2 - Le système RSA

1° Le fonctionnement de RSA 2° exemple concret

3 - Cracker RSA

1° S’attaquer à la factorisation 2° L'attaque du milieu

3° Etude des algorithmes « aléatoires » 4° Quelques exemples d’attaques

IV - Les systèmes de sécurité appliqués à la carte bancaire 1 - Introduction

2 - La carte à puce et sa fabrication 3 - L’authentification hors ligne RSA 4 - Code confidentiel

5 - authentification en ligne DES

6 - Schéma des différents systèmes de sécurité 7 - Des sécurités à toutes épreuves ?

V - La sécurité des achats en ligne par le système de carte bancaire 1 - Protocol SSL (Secure Sockets Layer)

2 - Fonctionnement du SSL 2.0

3 - Comment SSL fait pour protéger ses communications?

4 - Authentification d’un serveur 5 - Le piratage de SSL

VI - Conclusion Bibliographie Annexes

1 - DES en détail 2 - Mathématiques 3 - Définitions

(3)

3

I - INTRODUCTION

En 1967, Jürgen Dethloff et Helmut Gröttrup, deux allemands créent la première carte à mémoire. En 1974, Roland Moreno, un français, dépose plusieurs brevets sur la carte à mémoire et l'améliore suite à ses recherches. Michel Ugon reprend ensuite le principe de la carte a mémoire en 1977 et y ajoute un micro- processeur et dépose un brevet c'est ainsi que fut créer la carte à micro-processeur. En 1980, le GIE (Groupement d'Intérêt Economique) lance la carte a puce comme nouveau moyen de paiement. Par la suite fut créé la carte bancaire a partir d'une carte plastique équipé d'une puce et d'une bande magnétique, permettant ainsi de se connecter à sa banque. Elle permet de retirer de l'argent de son compte à partir de distributeur de billet, payé à distance et par le biais du télépaiement via internet principalement.

Aujourd'hui, la carte bancaire et le moyen de paiement le plus utiliser en France pour des raisons de simplicité. Cependant, la sécurité des cartes bancaires reste encore un sujet de polémique aux yeux de certain même si les données que contiennent les cartes bancaires sont très bien sécurisées grâce à la cryptographie.

Le chiffrement (ou cryptographie) est un moyen de sécuriser l'accès à des données confidentielles grâce a un encodage. Pour avoir accès a ces données chiffrées, il faut posséder une clé de déchiffrement qui ne peut être obtenu que par celui qui a chiffré les données. En clair c'est un moyen de protéger des données de toutes personnes non-autorisées.

De sa création à son utilisation, la carte bancaire nécessite plusieurs étapes. Plusieurs sécurités faisant appel notamment à la cryptographie. Car il faut bien se rendre compte que d’afficher « paiement accepté » sur l’écran du boitier électronique d’un commerçant n’est que la face visible d’un iceberg qui en réalité fait appel à une foule de notions mathématiques. Nous verrons quelles informations sont enregistrées sur la carte bancaire dès sa fabrication, comment sont-elles ensuite réutilisées pour fournir un niveau de sécurité suffisant ? La carte bancaire faisant appel { trois sécurités tel que le code secret de l’utilisateur mais également les systèmes de chiffrement RSA et TDES, nous verrons comment ces systèmes peuvent garantir à l‘utilisateur que l’on ne lui volera pas son identité bancaire.

Alors que se développe de plus en plus aujourd’hui les « yes card », nous aborderons brièvement comment

peut on contourner ces systèmes de chiffrement.

Enfin dans un dernier temps nous verrons comment est assuré la sécurité des paiements en ligne, et qu’il existe de fortes similitudes avec les sécurités de la carte bancaire en elle-même.

(4)

4

II - CHIFFREMENT SYMETRIQUE (=CLE SECRETE =CLE PRIVEE)

1 - LES PRINCIPES

Pour crypter des données par un chiffrement symétrique on utilise une clé secrète et des algorithmes tels que des portes logiques ou bien des fonctions mathématiques plus complexes. Il faut savoir que pour réutiliser des informations ayants été chiffré, on doit obligatoirement reprendre la même clé qui à servit pour le cryptage . Ce qui implique que les deux correspondants doivent tous deux utiliser la même clé de chiffrement. C’est ici que se trouve la faille de sécurité ! En effet, si l’on chiffre les données en partant du principe qu’il existe quelque part sur la ligne un pirate écoutant toutes les informations qui passent, comment transmettre le clé qui permettra le déchiffrement sans que le pirate ne puisse l’utiliser et donc à son tour déchiffrer le message.

On peut citer l’exemple de la maison blanche et du Kremlin qui utilisait une clé secrète pour chiffrer les communications du téléphone rouge. Le moyen alors retenu à cette époque pour transmettre la clé fut la valise diplomatique qu’une personne de confiance transportait.

Toutefois Shannon (annexe définition) a su montrer dans les années 40 que pour chiffrer que façon quasi inviolable un message il fallait utiliser une clé d’une longueur au moins égale à la longueur de message en lui- même.

Afin de transmettre des informations d’une façon à limiter au maximum les contraintes pour l’utilisateur Gilbert Vernam et Joseph Mauborgne mirent au point la méthode du « One Time Password » (OTP) dans les années 20.

Il s’agit d’une solution basée sur la création d’un mot de passe de manière aléatoire à usage unique. Ainsi si un pirate parvient à mettre la main sur un mot de passe, ce dernier ne pourra l’utiliser qu’une seule fois. La sécurité des autres transmissions n’est alors pas remise en cause.

(5)

5

2 - DES ET TDES (TRIPLE DES)

1° IntroductionJusqu’{ très récemment, le système de chiffrement { clef secrète le plus célèbre et le plus utilisé était le DES (Data Encryption Standard). Il a été adopté comme standard en 1977 pour les communications commerciales et notamment pour la carte bancaire. Le DES opère sur des blocs de 64 bits et utilise une clé secrète de 56 bits. Il est désormais vulnérable aux attaques exhaustives car le calcul distribué en utilisant les ordinateurs des particuliers a prouvé son efficacité en cassant une clé en moins de 24 heures…

C’est pourquoi la plupart des applications l’utilisent sous la forme d’un triple DES, constitué de trois chiffrements DES successifs avec deux clés secrètes. Cette technique permet de doubler la taille de la clé (112 bits) mais il faut savoir qu’utiliser trois clés différentes ne permet pas d’accroitre la sécurité.

2° DES

L’algorithme DES nous permet de transformer un bloc de 64 bits par des opérations mathématiques en un second bloc de même taille. Le bloc initial de 64 bits n’en fait en réalité que 56 bits, les 8 autres étant en faite des bits de parité. Ces dernières nous permettent de nous prémunir contre d’éventuelles erreurs pendant une transmission.

Par exemple

On fait en sorte que le bit de parité permette d’avoir un nombre pair de bit { ‘1’. De cette manière si dans des données reçus, on trouve un octet avec un nombre impaire de bit { ‘1’, alors on peut en déduire qu’il y a probablement des bits erronés dû à la transmission.

Le chiffrement s’effectue en plusieurs étapes :

#1>Le message de l’utilisateur est découpé en blocs de 64 bits.

#2>Les blocs de 64 bits sont découpés en deux parties de 32bits qui sont inversées.

#3>On fabrique ensuite 16 « sous-clés » K1, K2, K3,…, K16 tiré de la clé K. Chacune étant une partie de 48bits appartenant à la clé principale K pris dans un ordre précis.

#4>Le blocs de 32 bits de poids le plus fort est soumis à une itération F qui dépend de K1 selon le schéma de Feistel (Annexe math).

#5>L’opération est réitérée encore 15 fois.

Ces étapes sont plus explicitement présentées en annexe1

(6)

6

3° TDES

Le système Triple DES est né des suites de la montée en puissance des ordinateurs. Ces derniers étaient capables de casser des clés en quelques jours. La version TDES qui nous intéresse se décompose en trois étapes : chiffrement, déchiffrement, chiffrement. Cette technique permet de doubler la taille de la clé (112 bits). Le premier chiffrement s’effectue avec une clé K1, le déchiffrement se fait lui avec une clé K2(se qui revient à un chiffrement), et le dernier chiffrement s’effectue toujours avec la clé K2. Ce qui revient vu de l’extérieur { trois chiffrements distincts, et donc par voie de conséquence le cryptage dans sa totalité prendra trois fois plus de temps.

On peut donc représenter le system TDES des la manière suivante :

C correspondant aux données chiffrées, M au message en claire, Ek1 et Ek3 aux chiffrements grâce aux clés K1 et K2, et Dk2 correspond et déchiffrement grâce à K2.

4° DES, TDES…pour conclure

Pour conclure, ces deux méthodes très proches sur l’aspect technique n’en sont pas moins différentes. En ce sens qu’au jour d’aujourd’hui seul le system TDES reste encore dans course. Mais il atteint très vite ses limites en terme de sécurité et son temps de chiffrement étant relativement long dans un monde où la vitesse est une des clés de la réussite, il a bien fallu trouver un successeur, AES est né.

(7)

7

3 - AES (ADVANCED ENCRYPTION STANDARD)

Pour faire face à la montée en puissance des ordinateurs le NIST (National Institute of Standards and Technologie) a lancé un appel d’offre en 2000. Ce sera un algorithme nommé RIJNDAEL (de Joan Daemen et Vincent Rijmen) qui sera retenu parmi les 15 systèmes proposés. Il sera par la suite renommé AES (Advanced Encryption Standard) après quelques modifications qui en feront un standard tel que l’obligation de respecter des blocs 128 bits.

Quelques notions de grandeurs :

Le system AES dispose de blocs de 128 bits et peut utiliser des clés de 128, 192, 256 bits en comparaison le system DES utilisait des clés de 56 bits (64 avec les bits de parité).

En termes décimaux, ces différentes tailles possibles signifient concrètement que:

3.4 x 1038 clés de 128-bit possibles 6.2 x 1057 clés de 192-bit possibles 1.1 x 1077 clés de 256-bit possibles

contre 7.2 x 1016 clés différentes possibles avec le DES

A titre de comparaison, si on arrivait à cracker une clé DES en 1sec il faudrait alors 149 mille milliards d’années pour cracker une clé AES…

Le standard AES répond aux mêmes exigences que le DES à savoir : l'AES est un standard, donc libre d'utilisation, sans restriction d'usage ni brevet, c’est un algorithme de type symétrique (comme le DES), c'est un algorithme de chiffrement par blocs (comme le DES) et il supporte différentes combinaisons [longueur de clé]-[longueur de bloc] : 128-128, 192-128 et 256-128 bits (en fait, Rijndael supporte également des tailles de blocs variables, mais cela n'est pas retenu dans le standard), mais il est également beaucoup plus sûr et flexible que son prédécesseur.

L’opération se fait sur des blocs de 128 bits grâce à une clé K de 128, 192, 256 bits, et à des « sous-clés » issu de K nommé K1, K2,..Kn (n vaut respectivement 10, 12, 14 suivant la longueur de la clé 128, 192, 256). On réalise donc au minimum 10 « rounds » ou boucle pour toutes les sous –clés.

Toutes les étapes d’un chiffrement AES :

#1> On réalise une opération XOR (OU exclusif) entre le bloc message et la clé K.

#2> BYTE_SUB (Byte Substitution) est une fonction non-linéaire opérant indépendamment sur chaque bloc à partir d'une table dite de substitution.

#3> SHIFT_ROW est une fonction opérant des décalages (typiquement elle prend l'entrée en 4 morceaux de 4 octets et opère des décalages vers la gauche de 0, 1, 2 et 3 octets pour les morceaux 1, 2, 3 et 4 respectivement).

#4> MIX_COL est une fonction qui transforme chaque octet d'entrée en une combinaison linéaire d'octets d'entrée.

#5> On réalise un OU exclusifs avec la sous-clé K1.

#6> Les étapes #2, #3, #4, #5, sont réinitialisées autant de fois qu’il y a de sous- clés, { l’exception du dernier round qui n’aura pas de fonction MIX_COL.

Le déchiffrement consiste à appliquer les opérations inverses, dans l'ordre inverse et avec des sous- clés également dans l'ordre inverse.

L'AES n'a pour l'instant pas été cassé et la recherche par brute force demeure la seule solution. Rijndael a été conçu de telle manière à rendre des méthodes classiques comme les cryptanalyses linéaire ou différentielle très difficiles.

(8)

8

III - CHIFFREMENT ASYMETRIQUE

1 - LE PRINCIPE

Pour comprendre le chiffrement à clé publique, prenons un petit exemple :

#1> Bob génère deux clés, l’une publique qui ne sert qu’{ crypter un message (que l’on appellera λ), l’autre privée qui est la seule à pouvoir décrypter λ.

#2 & #3> Alice crypte le message qu’elle veut envoyer { Bob grâce { la clé publique de Bob.

#4>Le cryptogramme² peut alors être envoyé par internet.

#5> Si un pirate intercepte les donnés transmises par Alice, il ne pourra pas en lire le contenu même en connaissant la clé publique de Bob (tenter de déduire la clé privée, de sa clé publique est d’une complexité algorithmique prohibitive, nous en verrons le principe plus loin dans le projet).

#6> L’ordinateur de Bob confond le message chiffré avec sa clé privée créée précédemment.

#7> Le message peut alors être lu en claire par Bob.

² : Annexe définitions

(9)

9

2 - LE SYSTEME RSA

Le system RSA est un algorithme de cryptographie à clé publique et privée ; créé par le MIT aux États-Unis en 1983. Basé sur un system asymétrique, il permet l’échange de données chiffrées sans l’échange d’une clé privée.

En effet la cryptographie asymétrique s’effectue grâce { une clé dite

« publique » qui ne peut servir qu’au chiffrement, et une clé privée pour le déchiffrement.

Les découvreurs du système RSA, Sham ir, Adleman et Rivest.

1° Fonctionnement du chiffrage RSA :

 Créer la clé publique et la clé privée

Tout d’abord on doit choisir deux entiers naturels premiers p et q (d’une centaine de chiffres chacun) générés de manière aléatoire en utilisant un algorithme de test de primalité (annexe math) probabiliste.

Leur produit n = p.q . avec Ф(n) = (p-1).(q-1) Puis on choisit un entier e premier avec (p-1).(q-1) .

 Clé publique : (RSA, n, e)

Clé privée (RSA, n, d), d doit respecter l’équation e·d mod ((p-1)(q-1)) = 1

On peut fabriquer d à partir de e, p et q, en utilisant les modulos et la division Euclidienne (annexe

math).

 Le chiffrement d’un message

Le chiffrement se fait avec la clé publique c'est-à-dire n et e, un message M est donc crypté et devient C. Cette opération se fait selon la formule C = M

e

mod n.

 Le déchiffrement

connaissant d grâce { l’équation e·d mod ((p-1)(q-1)) = 1.

Le message chiffré sera déchiffré par la formule M = C

d

mod n.

Le chiffrement et le déchiffrement utilise notamment le théorème d’Euler (Annexe Math)

(10)

10

2° Exemple concret :

Alice veut envoyer un message crypté à Bob, ce dernier va donc créer une clé publique qu’il mettra sur un annuaire internet, et une clé privée qu’il gardera en sa possession.

Bob choisit p=101, q=113.

Donc n=11413 et Ф(n) = 11200

Bob doit choisir e de telle manière que e soit inversible (mod Ф(n)) (c'est à dire que le pgcd (Ф(n),e)=1 ). Alors Bob choisit e=3533.

Donc d=6597

Bob publie n=11413 et e=3533 dans un répertoire

si Alice souhaite transmettre un message M=9726 à Bob, elle calcule C=9726

3533

mod 11413 = 5761 Alice envoie le texte 5761 à Bob

Afin de déchiffrer le message Bob calcule: M=5761

6597

mod 11413 = 9726 On retrouve donc bien le message M=9726 d’Alice.

3 - CRACKER LE SYSTEME RSA

1° S’attaquer { la factorisation

Attaquer le système RSA consiste à retrouver le texte claire M à partir de la connaissance du chiffre C=M

e

mod n et de la clef publique (n, e). Aucun algorithme efficace n’est connu { ce jour pour résoudre ce problème. La seule attaque générale connue pour décrypter RSA consiste à retrouver la clé secrète d à partir des valeurs publiques (n, e). On peut démontrer que résoudre ce problème est équivalent { factoriser l’entier n. Il n’existe actuellement pas d’algorithme de factorisation rapide.

Le plus grand nombre ordinaire factorisé à ce jour est un nombre de 512 bits (155chiffres

décimaux). Ce record a été établi par la collaboration de onze équipes scientifiques. La factorisation

a nécessité deux mois et demi de calculs répartis sur 300 ordinateurs et 224 heures sur un Cray-

C916. Ces résultats montrent qu’il est impératif d’utiliser pour RSA des entiers p et q qui soient tels

que leur produit comporte aux moins 768 bits.

(11)

11

2° L'attaque du milieu

Autre précaution : il faut être certain d'employer la clé publique du correspondant choisi. Une interception, nommée " attaque du milieu ", de la clé publique de Bob avant qu'elle ait été acheminée à Alice rendrait le système obsolète. En effet, un espion peut remplacer la clé publique de Bob par la sienne, puis récupérer le message qu’Alice croit avoir codé avec la clé publique de Bob et ainsi il est en mesure de lire le contenu du message. Pour éviter cela, des tiers de confiance peuvent garantir l'authenticité des clés, nous en verrons un exemple lors de transmissions des données par internet.

3° Etude des algorithmes « aléatoires »

Afin d’avoir une sécurité convenable il faut utiliser des entiers p et q suffisamment grands. Il existe des tables d’entiers répertoriés mais donc connu des pirates. On utilise donc généralement pour ce faire des algorithmes qui génèrent des entiers de manière aléatoire.

Or il s’agit toujours d’algorithme, et ces derniers, même s’ils paraissent aléatoires sont toujours prévisibles.

4° Quelques exemples d’attaques

Attaque de Wiener

L'attaque de

Wiener

(1989) est exploitable si l'exposant secret d est inférieur à . On peut retrouver dans ce cas l'exposant secret à l'aide du développement en fractions continues de .

Attaque de Hastad

L'attaque de

Hastad

, l'une des premières attaques découvertes (en 1985), repose sur la po ssibilité que l'exposant publique soit suffisamment petit. En interceptant le même message envoyé à plusieurs destinataires différents, il est possible de retrouver le message original à l'aide du théorème des restes chinois.

Attaque par chronométrage (timing attacks)

Kocher décrit en 1995 une nouvelle attaque ingénieuse contre RSA : en supposant que l’attaquante

Ève en connaisse suffisamment sur le matériel d'Alice et soit capable de mesurer les temps de

déchiffrement de plusieurs documents chiffrés, elle serait en mesure d’en déduire rapidement la

clef de déchiffrement. Il en irait de même pour la signature. Une façon de contrecarrer ces attaques

est d'assuré que l'opération de déchiffrement prend un temps constant mais RSA utilisent plutôt

une technique différente connue sous le nom d’aveuglement (blinding).

(12)

12

IV - LES SYSTEMES DE SECURITE APPLIQUES A LA CARTE BANCAIRE

1 - INTRODUCTION

La sécurité de la carte bancaire se décompose en plusieurs étapes, de la fabrication de la carte à la validation quatre étapes sont nécessaires au bon déroulement d’un paiement.

#1 > fabrication de la carte : les informations relatives à la carte sont inscrites dessus (numéros, dates de validité) ainsi que deux clés secrètes : une signature VS, et K (qui est indiqué au groupement des cartes bancaires²) grâce au système RSA.

#2> L’authentification hors ligne grâce au système RSA

#3> Le code secret de l’utilisateur

#4> L’authentification en ligne grâce au système TDES

2 - LA CARTE A PUCE ET SA FABRICATION.

La carte à puce est une invention française de 1970 (par Roland Moreno et Michel Ugon). La puce est composée de deux éléments principaux. Tout d’abord un micro-processeur de 32 bits tournant à plus de 10 MHz, et de différentes mémoires, l’une en lecture seule (512 Ko de ROM), une autre en lecture cachée (256 Ko d’EEPROM), et une dernière accessible en écriture pour l’enregistrement de l’historique des transactions (256 à 2048 octets de RAM). Sur la carte sont inscrites certaines informations relatives au propriétaire (nom, numéro de carte, date de validité...), et une valeur de signature VS. La VS est calculée une fois pour toute lors de la fabrication de la CB de la manière suivante : dans un premier temps on calcul Y, qui est une valeur numérique déduite des informations écrites dans la carte, par une fonction de hachage (Annexe Math). Nous noterons Y=f(info). La VS est alors calculée en utilisant la clé secrète S du groupement des cartes bancaires (le GIE carte bancaire²) : VS=S(Y). La fabrication et l'écriture des VS sur la puce se fait dans des locaux très sécurisés, car la clé secrète S du groupement des cartes bancaires doit rester secrète.

α α α α α α α α α α α α α α α α α α α α α α α α α α α

² : Créé en 1984, afin d'organiser en France un système interbancaire de paiement et de retrait par carte, le Groupement des Cartes Bancaires "CB" est le cœur du système CB, qui met en relation quatre acteurs : le porteur de la carte, le commerçant (ou le distributeur de billets), la banque du porteur (émetteur) et la banque du commerçant ou du DAB (acquéreur).

(13)

13

3 - L’AUTHENTIFICATION HORS-LIGNE DE LA CARTE GRACE AU

SYSTEME RSA Lorsque la carte est introduite dans le terminal, celui-ci lit les informations portées par la carte, et la valeur de signature VS. VS est le fruit du system RSA et retrouver les deux facteurs qui le composent reviendrait à une factorisation des plus complexes car ces derniers font aujourd’hui 1024 bits en moyenne.

On peut estimer qu’{ l’heure actuelle il faudrait plusieurs centaines d’années pour factoriser un tel produit.

Le terminal du commerçant va dans un premier temps calculer Y1=f(info), f étant une fonction qui dépend de info c'est-à-dire des informations contenues sur la carte tel que le numéro de la carte, sa date d’expiration,… Le terminal va ensuite calculer Y2=P(VS)=P(S(Y)), P étant la clé publique du GIE², il s’agit d’une clé commune pour toutes les cartes françaises. Puis en dernier temps le terminal compare Y1 et Y2 : pour qu'une carte soit valide, il faut que Y1=Y2.

Les deux calculs ayant permis de déterminer Y1 et Y2 sont ici volontairement simplifier, tous les détails se trouvant dans la partie « Fonctionnement du chiffrage RSA ».

4 - L’AUTHENTIFICATION GRACE AU CODE CONFIDENTIEL

Il s’agit d’un code enregistré sur la puce et sur la bande magnétique de la carte, ce code y est enregistré de façon chiffré. Il n’est normalement connu que de l’utilisateur et de sa banque. La demande de ce code est à l’initiative du micro-processeur de la carte qui va ensuite le comparer { celui qu’il { en mémoire. Si les deux correspondent le code est authentifié et on passe alors { l’étape suivante.

5 – L’AUTHENTIFICATION EN LIGNE GRACE AU

SYSTEME DES

Il s’agit d’une authentification { clé secrète. Cette dernière requière un moyen de communication avec un centre de contrôle distant donc une ligne téléphonique et un peu de temps en plus. C’est la raison pour laquelle ce type d’authentification n’est pas obligatoire et ne s’effectue que pour de très gros montants. Le terminal interroge un centre de contrôle à distance, qui envoie à la carte une valeur aléatoire x. La carte calcule y=f(x,K), où K est une clé secrète, inscrite dans la partie illisible (la mémoire EEPROM) de la carte, et f est la fonction de chiffrement du DES (ou du triple DES depuis 1999). La valeur y est retransmise au centre, qui lui-même calcule f(x,K), et donne ou non l'autorisation. Les valeurs de K et la fonction f non rien à voir avec leurs précédentes valeurs utilisées plus haut. Nous pouvons donc également voir que chaque carte possède une valeur de K différente sans quoi aucune authentification ne serait possible et donc par voie de conséquence ceci nécessite que le centre interbancaire connaisse les clés secrètes de toutes les cartes.

(14)

14

6 - SCHEMA DES DIFFERENTES SECURITES DE LA CARTE BANCAIRE

(15)

15

7 - DES SECURITES A TOUTES EPREUVES ?

Comme tous les systèmes de sécurité, il fait le bonheur de tous les apprentis pirates. C’est en 1998 qu’un informaticien (Serge Humpich) créé la première « yes card ». Comme son nom l’indique, c’est la carte qui dit toujours ‘oui’, peut importe le code { 4 chiffres que l’utilisateur { saisi. En faite cette carte imite parfaitement le fonctionnement de la carte bancaire vu de l’extérieur, il s’agit en réalité d’un programme développé soit { partir du contenu d’une carte bancaire trouvée ou même périmée.

Il a fallu donc créer un programme capable fonctionner quelque soit le code secret tapé. D'autre part, il à fallu contourner l'étape de l'authentification hors-ligne RSA.

Cette dernière étape revient soit { imiter le fonctionnement d’une carte existante, soit à factoriser un nombre (ici n) afin de retrouver les deux entiers p et q que l’on a utilisé pour faire les clés, publique et privé.

Cette factorisation était alors possible { l’époque car le n utilisé par le RSA avait une taille de 320 bits (il est aujourd’hui de 768 bits). Si l'on admet que la puissance des ordinateurs double tous les 18 mois, une clé de 2048 bits devrait tenir jusque en 2079.

Cela dit, les algorithmes de factorisation pourraient aussi être améliorés avant. De plus, il a été défini, en théorie, un modèle d'ordinateur quantique qui, s'il était réalisé, permettrait de factoriser très rapidement des entiers.

(16)

16

V - LA SEC URITE DES ACHATS EN LIGNE PAR LE SYSTEME DE CARTE BANCAIRE

1 - PROTOCOL SSL (SECURE SOCKETS LAYER)

SSL (Secure Sockets Layers) est le protocole le plus utilisé pour la sécurisation des transactions bancaires par internet. A l'origine mis au point par Netscape, il deviendra vite un standard pour toutes les transactions.

Ce protocole utilise un système asymétrique à clé publique de type RSA pour garantir la sécurité de la transaction mais également un système d’authentification (par une autorité d’authentification) afin de garantir { l’utilisateur qu’il communique bien avec son site par exemple de e-commerce et non un éventuel pirate.

SSL a également la caractéristique d’être transparent pour l’utilisateur, c'est-à-dire que si ce dernier ignore ou pas le fonctionnement de ce protocole, son utilisation est identique, SSL enverra des données chiffrées sans aucune manipulation nécessaire de sa part. Son seul aspect visuel est un cadenas ou une clé dans la barre de tache du navigateur et le préfixe https qui n’est autre que le protocole http auquel est appliquer SSL.

SSL est située entre la couche application et la couche transport du modèle OSI et permet donc de sécurisé aisément des transactions utilisant des pages web (protocole http) mais aussi les protocoles mail, FTP...

SSL à par maintenant changer de nom suite au rachat du brevet de Netscape par l'IETF (Internet Engineering Task Force). TLS créé en 2001 et le nouveau SSL, ce protocole est toujours un protocole de sécurisation des paiements en ligne.

Par la suite nous confondrons volontairement SSL et TLS car leur mode de fonctionnement est pour dire quasi identique.

(17)

17

2 - FONCTIONNEMENT DU SSL 2.0

Voici les différentes étapes d’une connexion SSL entre un client et un serveur de commerce par exemple :

L'utilisateur se connecte au site de son choix sécurisé par SSL et lui demande de s'authentifier.

Il envoie ensuite une liste des cryptosystèmes qu'il supporte.

Le serveur envoi un certificat à ce dernier. Ce certificat contient: la clé publique du serveur, l'autorité de certificat (Elle est responsable de l'ensemble du processus de certification et de la validité des certificats émis), et le nom du cryptosystème le plus haut utilisé et compatible.

Le client vérifie la validité du certificat (l'authenticité du marchand),

puis crée une clé secrète aléatoire,

il chiffre cette clé à l'aide de la clé publique du serveur, puis lui envoie le résultat qu'on appel clé de session.

Le serveur est en mesure de déchiffrer la clé de session avec sa clé privée. Ainsi, les deux parties (serveur et client) sont en possession d'une clé commune dont ils sont seuls connaisseurs. Le reste des transactions peut se faire à l'aide de clé de session, garantissant l'intégrité et la confidentialité des données échangées.

On remarque donc que l’entreprise et le client utilisent un système de chiffrement asymétrique (RSA ou Diffie-Helman) pour ce transmettre une clé session, cette dernière étant utilisé grâce a un système de chiffrement symétrique (ex: DES, TDES, IDEA, RC4...)

Il existe une version 3.0 de SSL qui rajoute une fonction de plus à ce protocole et ainsi permet d’authentifier le client vis-à-vis du serveur.

3 - COMMENT SSL FAIT POUR PROTEGER SES COMMUNICA TIONS?

Il utilise:

un système de chiffrement asymétriques (ex: RSA ou Diffie-Helman...). Il est utilisé pour générer la clé principale qui permettra de transmettre des clés de session.

un système de chiffrement symétrique (ex: DES, 3DES, IDEA, RC4...) en utilisant les clés de session pour chiffrer les données.

un système de signature cryptographique des messages (ex: HMAC, utilisant MD5, SHA...) pour s'assurer que les messages ne sont pas corrompus. Il s’agit là de fonctions de hachage (annexe mathématique)

(18)

18

4 - AUTHENTIFICATION D’UN SERVEUR

Lorsque l’on rentre ses données bancaire sur un site de commerce électronique il est nécessaire d’avoir la garantie que les données que l’on transmet soient chiffrées mais également que l’on chiffre bien ses données avec la clé publique du serveur du site de commerce et non un pirate. Afin qu’il ne puisse pas y avoir d’usurpation d’identité d’un serveur, on utilise des certificats.

Ainsi un certificat permet d'associer une clé publique à un serveur afin d'en assurer la validité. Le certificat est en quelque sorte la carte d'identité de la clé publique, délivré par un organisme appelé autorité de certification (souvent notée CA pour Certification Authority).

En faite l’autorité de certification chiffre les informations relatives au serveur (clé publique, nom, validité,…) demandant à être authentifier, par une fonction de hachage (annexe math). Le résultat est alors la signature du demandeur de certificat. L’utilisateur calcule également par une fonction de hachage et avec une clé correspondant { l’autorité de certification la signature. Il compare enfin la signature qu’il { calculé avec la signature que donne le commerçant, si les deux sont identiques alors la clé publique que l’on s’apprête d’utiliser pour une transaction est bien celle du commerçant recherché.

SSL ET SES « SOUS-PROTOCOLES »

HANDSHAKE : Sert pour l'authentification du serveur, du client, mais aussi les négociations pour

choisir les suites de chiffrement qui seront utilisées dans la session.

Change Cipher Spec (CCS). Permet de signaler un changement de chiffrement.

SSL Record : Garantie la confidentialité à l'aide des données chiffrés, et l'intégrité de la transmission.

SSL Alert: Ce protocole génère des messages d'alertes qui interviennent après des er reurs qui peuvent

ce passé entre le client et le serveur.

5 - LE PIRATAGE DE SSL

Le moyen le plus utilisé pour pirater le protocole SSL et la technique par « force brut ». C'est-à-dire que pour obtenir un mot de passe, il suffit de récupérer le fichier et de lancer un logiciel de brute force cracking. Ce procédé consiste à tester de façon exhaustive toutes les combinaisons possibles de caractères, de manière à trouver au moins un mot de passe valide.

Cette attaque se base sur le fait que n'importe quel mot de passe est crackable. Ce n'est qu'une histoire de temps en sachant que la puissance des machines double tous les deux ans…

(19)

19

VI - C ONCLUSION

Trois systèmes d'authentification

Lors d'un paiement, l'authentification d'une carte bancaire est sécurisée par trois systèmes : l'un implique le terminal, l'autre un centre de contrôle et le troisième l'utilisateur qui tape son code.

DE LA FABRICATIO N DE LA PUCE AU PAIEMENT Fabrication de la carte

fabric ation de la carte : les informations relatives à la carte s ont insc rites dess us (numéros , dates de validité)

ains i que deux c lés s ec rètes : une signature VS, et K (qui es t indiqué au groupement des c artes banc aires ) grâc e au sys tème RSA

authentif ication hors ligne L’authentific ation hors ligne grâce au s ystème RSA Le terminal c ompare le rés ultat de deux fonc tions Y1 et Y2

le code utilisateur L'utilisateur tape son c ode sec ret Si c e code est identique à c elui stocké s ur la carte, le paiement se pours uit.

authentif ication en ligne

Le terminal interroge un c entre de c ontrôle qui envoie une valeur aléatoire x.

A l'aide du T DES, la carte calc ule f=(x, K)

De s on côté, le c entre c alcule auss i f=(x, K)

Si les rés ultats s ont identiques , le c entre donne l'autoris ation d'effec tuer le paiement.

De la fabrication de la puce à l'introduction de la carte bancaire dans un terminal de paiement, trois systèmes de sécurité, utilisant le RSA et le triple DES sont mis en œuvre.

Et pour un achat via Internet ?

L'internaute commande un objet en donnant des informations sur sa carte de crédit. Cette demande est cryptée à l'aide de la clé publique de la société, puis envoyée. Seule la société visée peut déchiffrer ce message, avec sa clé privée.

On utilise cette technique affin des transmettre une clé de session qui n’est autre qu’une clé de chiffrement symétrique. De cette manière le commerçant et le client sont tous les deux en possession d’une clé identique secrète.

(20)

20

BIBLIOGRAPHIE

Document PDF « le codage RSA » de security labs Document PDF « clé publique »

Document PDF « introduction à la cryptographie » de PGP Network Associates

ARTICLE de : Marie Varandat , Internet Professionnel, "Le chiffrement AES va-t-il enfin rassurer les entreprises ?"

Cours de Robert Rolland de l'Institut Mathématiques de Luminy sur « les failles de RSA » J. Stern, La science du secret, éditions Odile Jacob, 1997

http://crypto.freezee.org/

http://www.apprendre-en-ligne.net/

http://www.jscoron.fr/thesis/node9.html http://www.cartes-bancaires.com/

http://www.bibmath.net/

http://fr.wikipedia.org/

Références

Documents relatifs

Après un nettoyage complet de votre peau, le soin se poursuit par l’application d’un masque adapté à votre épiderme suivie d’un massage relaxant du visage, du cou et

Carte world mastercard vous devrez obtenir des points qui sont kenya airways, banque ou a été indemnisé par carte bancaire visa premier voyage à devoir vous proposent les

La Banque attire en outre l'attention du titulaire sur le fait que les actes suivants sont, notamment et éventuellement, susceptibles d'entraîner des sinistres dont

Si le numéro de la carte bancaire qui lui est présentée en paiement figure sur cette liste, le commerçant doit contacter l’émetteur de votre carte qui peut lui demander de

- des données liées à la gestion des produits et services souscrits ou de- mandés : situation professionnelle, situation familiale, revenus, score cal- culé pour l’obtention

Sur tous les achats effectués chaque jeudi (hors carburant et livres et hors offre Familles Nombreuses), le montant des avantages sera doublé et crédité sur votre Carte de

L’épaisseur des liens correspond au nombre de cartes en commun dans le graphe bipartite.

Pour être admissible à cette assurance, vous devez payer votre voyage en entier avec votre carte de crédit TD, des points Aéroplan qui y sont associés ou les deux..