La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Brevet et sécurité informatique : les liaisons dangereuses ?

Présentations similaires


Présentation au sujet: "Brevet et sécurité informatique : les liaisons dangereuses ?"— Transcription de la présentation:

1 Brevet et sécurité informatique : les liaisons dangereuses ?
François Letellier INRIA / ObjectWeb Journées Académiques Microsoft Paris, 26 avril 2005

2 Plan de la présentation
Contexte Procédé d’authentification breveté Possibilités d’attaque sur le procédé Apport du brevet à la sécurité

3 1er centre de recherche publique en informatique en Europe
double tutelle : ministères en charge de la recherche / en charge de l'industrie 3000 personnes, 6 UR Consortium international > 50 sociétés, >1.500 individuels Co-fondé, hébergé par l’INRIA, FT R&D, Bull Neutralité et but non lucratif : création de middleware Large offre couvrant différents besoins de l’entreprise: >80 projets, 30 solutions Conformité aux standards ouverts (W3C, OMG, OSGi, …) e-business e-government etc Network

4 Algorithmes Cryptographiques Brevetés
One Time Pad : brevet US 1,310,719 (Gilbert Vernam, 1917) RSA : brevet US 4,405,829 (Rivest, Shamir, and Adleman) MIT sept 83 , domaine public sept (lecture conseillée: Europe : rappel de la législation actuelle Et future ? Brevet européen EP B1 « Procédé et dispositif d’identification sécurisée entre deux terminaux »

5 Notre sujet d’étude : EP 0 810 506 B1
Un brevet européen dûment délivré par l’Office Européen des Brevets (23 avril 2003) La présente étude a été réalisée exclusivement à partir du document public Brevet exploité commercialement – notamment pour de l’authentification forte en contexte bancaire

6 EP 0 810 506 B1 : une Invention Mise en Œuvre par Ordinateur
Code Secret Support personnalisé banal (CD, diskette) Client banal Serveur banal Algorithme cryptographique Canal de transmission banal Utilisateur [0032] « qui ne nécessite pas de modifier la structure déjà existante des micro-ordinateurs personnels utilisés […] et qui fait appel à un support d’authentification connu » [0034] « aucun matériel additionnel spécifique n’est utile » [0083] Diskette 3"1/4 -- [0073] Réseau Internet Seul le logiciel est innovant  nous étudions (une version) de l’algorithme cryptographique

7 Authentification par Défi / Réponse
« Je suis Bob » Défi: Quel est le nom de jeune fille de votre mère ? Réponse: « Smith » Bob Alice « Je suis Bob » Défi : Nom de jeune fille de votre mère ? Réponse: « Wilde » Oscar Fiabilité améliorée si : Le défi (donc la réponse) change à chaque fois La réponse n’est pas calculable : secrets aléatoires  Non répudiation

8 Mécanisme Défi / Réponse de EP 0 810 506 B1 : Préparation
1 2 3 A X G B F O M T N U S K Q E 1 2 3 A B M N E O S Q G U K X F T Fonction de décalage Transmission sécurisée Matrice serveur (aléatoire) Matrice client (décalée) Code Secret (203) Etape préparatoire: Transmission des secrets Transmission sécurisée Utilisateur

9 Mécanisme Défi / Réponse de EP 0 810 506 B1 : Authentification
Défi : (x=0, y=2) 1 2 3 A X G B F O M T N U S K Q E Code Secret (203) Fonction de décalage Bob 1 2 3 A B M N E O S Q G U K X F T Coordonnées décalées : (X=3, Y=0) Matrice serveur Alice Réponse : « N » =? Authentification ou rejet Matrice client

10 Fonction de décalage [0058], [0133]
2 3 2 2 A X G B F O M T N U S K Q E G B A X A E G F B O U X M S K A N Q X T F O M T 3 Code Secret (203) A U S N 2 Décalage paramétrique colonne E X K Q Décalage paramétrique ligne A B M N E O S Q G U K X F T

11 Apport du brevet EP B1 Recommandation : matrices 255x255 cars alpha-num, codes de 7 à 20 cars alpha-num, un défi = plusieurs couples de coordonnées Selon le texte du brevet : [0053] « [le] code de décalage n’existe ni sur le support d’authentification, ni sur le serveur, et ne transite jamais sur le réseau » [0143] « les conditions nécessaires à un pirate pour se connecter au serveur en usurpant l’identité d’un utilisateur autorisé sont tellement démesurées que le risque s’approche de zéro »

12 Système d’authentification bancaire sécurisé
Le code n’est écrit nulle part La matrice utilisateur ne nécessite pas d’être protégée car elle est décalée 2 - Oscar copie la matrice 1 - Oscar sniffe des couples défi/réponse Oscar connaît l’algorithme : il est breveté (principe de Kerckhoffs) La matrice serveur est dans un environnement protégé J’utilise un procédé breveté: Je pense être tranquille ! Code Secret Réseau Internet Algorithme cryptographique Bob Le réseau n’est pas sécurisé : le code ne transite jamais dessus, les défis ne sont pas rejoués Banque « Alice »

13 Attaque de l’algorithme
? Oscar peut-il usurper l’identité de Bob ?

14 Contraintes pour une authentification probante
Pour tout défi, un seul (ou un petit nombre de) code(s) doit permettre de fournir la bonne réponse avec une matrice permutée donnée La population de la matrice doit être homogène Plus la matrice est grande, plus les défis doivent être long ( O (w2) ) Une attaque est possible Après interception d’un nombre suffisant de défis/réponses Force brute

15 Attaque en force brute Fonction de décalage :
Code de longueur l : c = c [0].c [1].c [2] … c [l] Matrice décalée M carrée dimension w Position défi colonne, ligne : (x, y) Réponse V = M[X, Y] Avec: X = (x + c [y mod l]) mod w Y = (y + c [X mod l]) mod w Une dizaine d’opérations d’arithmétique entière pour chaque élément du défi PC actuel : MIPS (?) – entre 1M et 10M codes/seconde – codes jusqu’à 11 chiffres décimaux en 1 journée

16 Principe d’une attaque heuristique
1 2 3 A B M N E O S Q G U K X F T Matrice décalée connue : Défis interceptés : (x=0, y=2) (1,2) (3,1) (3,0) Réponses interceptées : « N A T B » On suppose connue la longueur du code (l=3) Chaque couple défi / réponse élémentaire va donner des hypothèses partielles sur le code

17 Principe d’une attaque heuristique (2)
1 2 3 A B M N E O S Q G U K X F T (x=0, y=2) -> « N » « N » est en position (X=3, Y=0) 3 = (0 + c [2 mod 3]) mod 4 = c [2] mod 4 0 = (2 + c [3 mod 3]) mod 4 = (2 + c [0]) mod 4 c [2] = 3 c [0] = 2 X = (x + c [y mod l]) mod w Y = (y + c [X mod l]) mod w

18 Principe d’une attaque heuristique (3)
1 2 3 A B M N E O S Q G U K X F T (x=1, y=2) -> « A » « A » est en positions (X=0, Y=0) (X=2, Y=3) 0 = (1 + c [2 mod 3]) mod 4 = (1 +c [2]) mod 4 0 = (2 + c [0 mod 3]) mod 4 = (2 + c [0]) mod 4 ou 2 = (1 + c [2 mod 3]) mod 4 = (1 +c [2]) mod 4 3 = (2 + c [2 mod 3]) mod 4 = (2 + c [2]) mod 4 c [2] = 3, c [0] = 2 (on n’apprend rien) c [2] = 1 X = (x + c [y mod l]) mod w Y = (y + c [X mod l]) mod w

19 Principe d’une attaque heuristique (4)
1 2 3 A B M N E O S Q G U K X F T (x=3, y=1) -> « T » « T » est en position (X=3, Y=3) 3 = (3 + c [1 mod 3]) mod 4 = (3 +c [1]) mod 4 3 = (1 + c [3 mod 3]) mod 4 = (1 + c [0]) mod 4 c [1] = 0, c [0] = 2 Le code est 2 0 3 X = (x + c [y mod l]) mod w Y = (y + c [X mod l]) mod w

20 Attaque heuristique (5)
Complexité de l’attaque : au pire de l’ordre de O ((w2/p)l/2) Matrice 256 x 256, p=256 val possibles / case Codes sur 4 positions x 8 bits (~10 chiffres déc.) En moyenne, chaque position défi/réponse aboutit à w2 / p hypothèses (ici 256) L’attaque a été simulée avec un démonstrateur : moins d’une minute (en PERL !) avec les hypothèses ci-dessus

21 EP 0 810 506 B1 en signature [0153] Codage par substitution
Code Secret (203) « S A U N A » A B M N E O S Q G U K X F T A X G B F O M T N U S K Q E « S A U N A » (2,1) (0,0) (1,2) (3,0) (2, 3) Alice Bob Codage par substitution Choix aléatoire des cases parmi celles contenant les caractères du message à signer

22 Attaques de EP 0 810 506 B1 en signature
Sans vol de matrice décalée Attaque à texte clair choisi évidente On obtient directement une partie du contenu de la matrice serveur Attaque statistique à texte chiffré connu Possible avec corpus suffisant (épuisement de la matrice) Altérations possibles du texte + signature Avec vol de matrice décalée Toute attaque réussi révèle de l’information sur le code (cf défi / réponse)

23 Peut-on améliorer EP B1 ? « Brûler » les cases correspondant aux défis déjà posés ; les modifier aléatoirement [0062] Affaiblit la capacité à la non répudiation Choix des paramètres (?) Moyens non prévus dans le brevet Sécurisation du canal de transmission (SSL) Inscription de la matrice sur un support impossible à lire sauf à travers un calculateur (carte à puce) Le brevet revendique de permettre de s’en dispenser Ils rendent le recours au procédé breveté inutile

24 Caution du brevet : attention !
Le brevet EP B1 n’est pas inintéressant, mais il propose une méthode qui n’est pas suffisante à garantir les propriétés revendiquées Un système reposant sur ce brevet peut atteindre un haut niveau de sécurité, mais à condition de s’appuyer sur d’autres moyens de protection des transmission et/ou des secrets Les détenteurs des droits sur EP B1 pourraient entraver l’exploitation d’une version améliorée, ou tirer profit des perfectionnement clefs apportés par d’autres La caution du brevet risque d’endormir la vigilance d’exploitants d’inventions mises en œuvre par ordinateur Quid d’éventuels litiges passés où la non répudiation aurait été invoquée ?

25 Brevet = innovation ? L’absence de travaux antérieurs signifie-t-elle invention, ou fausse bonne idée ? Le nombre de brevets déposés est-elle une bonne mesure de l’innovation ? Le processus de révision par l’OEB n’a pas mis en lumière les faiblesses du procédé La révision paritaire (milieu de la recherche, logiciel open-source), en particulier dans les domaines sensibles, reste la seule option raisonnable

26 Quelles limites au champ du brevetable ?
Esprit de la convention européenne sur le brevet (art. 52c) qui exclut le logiciel du champ du brevetable => encourage la révision paritaire et dissuade le brevetage de pseudo-science ? Toute l’étude a été menée sans manipuler une seule fois un appareil matériel (même si un démonstrateur a été réalisé) ! Un bon critère d’appréciation du côté « logiciel » d’un brevet ?

27 Merci pour votre attention Merci à Microsoft Questions ?
François Letellier INRIA / ObjectWeb Journées Académiques Microsoft Paris, 26 avril 2005


Télécharger ppt "Brevet et sécurité informatique : les liaisons dangereuses ?"

Présentations similaires


Annonces Google