VT2015 Factoring RSA

From air
Jump to navigation Jump to search

Présentation

  • Enseignants : Georges-Pierre Bonneau, Didier Donsez (VT2015)
  • Sujet : Factoring RSA Keys With TLS Perfect Forward Secrecy
  • Auteur : Sébastien TOUSSAINT
  • Date : 02 octobre 2015


Mots Clés

RSA, théorème des restes chinois, TLS, Perfect foward secrecy, confidentialité persitante, handshake, diffie-hellman.

Synthèse

Introduction

La croissance importante des transactions effectuées sur internet dans le début-milieu des années 90 et début des années 2000 a sensibilisé les chercheurs à trouver et développer des techniques de sécurisation des données sur internet. Le 21 septembre 2000, la fin du brevet de chiffrement RSA détenu jusqu’alors par le Massachusetts Institute of Technology (MIT), fut une grande avancée dans la sécurisation des données confidentielles sur internet. Ce système de chiffrement est le plus sûr aujourd’hui. Un article de Florian Weimer paru le 2 septembre 2015 dit qu’il est possible de récupérer des clés privées de RSA, spécialement, si elles ont été implémentées été implémenté à l’aide du théorème des restes chinois. Nous allons dans cette synthèse revenir sur les bases de RSA, du théorème des restes chinois et le TLS perfect foward secrecy avec ses mécanismes (handshake, Diffie-Hellman) avant d’étudier les travaux de Florian Weimer.

Le chiffrement RSA

Le chiffrement RSA est un système de cryptographie asymétrique. Cela signifie qu’il y existe deux clés dans notre système. Une clé privée connue par une seule entité. Elle va lui permettre de déchiffrer les messages qui lui ont été envoyés. Une clé publique connue de tout le monde et qui va chiffrer le message que l’on souhaite envoyer. Ces clés sont produites par une seule entité.

Example.jpg

L’image ci-dessus représente une communication RSA entre deux utilisateurs, Alice et Bob. Les éléments en vert sur l’image représentent les informations en clair dans le canal de communication de ce protocole, donc tout le monde y a accès. Les éléments en rouge représentent les informations privées de chaque utilisateur. Donc du côté d’Alice ces informations permettent de créer sa clé privée. Tout d’abord Alice choisit deux nombres premiers distincts p et q puis elle fait leur produit afin d’obtenir le nombre n, ensuite l’indicateur de Euler ou fonction Phi de n f = (p-1) (q-1). Puis on calcul e premier avec f donc e = 5 et on calcule d, inverse de e modulo f. Donc pour chiffrer les messages nous avons y = x^e mod n. Et pour déchiffrer les messages nous avons z = y^d mod n.

Le théorème des restes chinois

Théorème : Prenons m1, ..., m n des entiers supérieurs à 2 deux à deux premiers entre eux, et a1,...,an des entiers. Le système d'équations :

Example.jpg

admet une unique solution modulo M=m1×⋯×mn qui est donnée par la formule : x=a1M1y1+⋯+anMnyn où Mi = et yi = Mod mi pour tout i compris entre 1 et n.


Transport Layer Security (TLS)

Transport Layer Security (TLS) est un protocole qui garantit la confidentialité entre les applications et leurs utilisateurs sur Internet. Quand un serveur et le client communiquent, TLS garantit qu'aucun tiers ne peut être espionné ou altérer un message. TLS est le successeur du protocole Secure Sockets Layer (SSL). Ce type de protocole est né du fait que plusieurs sites ont commencé à proposer des transactions (achats en ligne notamment). Afin de favoriser l’utilisation de ces plateformes de transaction, des protocoles de sécurisation des données des utilisateurs furent mis en place. En 2009, TLS est utilisé par la plupart des navigateurs Web. L'internaute peut reconnaître qu'une transaction est chiffrée à plusieurs signes :

  • l'URL dans la barre d'adresse commence par https et non http (https://...) ;
  • affichage d'une clé ou un cadenas


La confidentialité persistante (Perfect Forward Secrecy)

Une fois que la clé privée de certains sites Web HTTPS est compromise, un attaquant est capable de construire une attaque « man-in-the-middle » pour intercepter et décrypter toute communication avec le site Web. La première étape contre une telle attaque est la révocation du certificat associé. Malheureusement, l'attaquant pourrait également avoir enregistré des communications passées protégées par cette clé privée et donc les décrypter. Forward secrecy permet à l'information d'aujourd'hui d’être gardée secrète, même si la clé privée est compromise dans l'avenir. La réalisation de cette propriété est généralement coûteuse et par conséquent, la plupart des serveurs web ne le permet pas.