Analyse formelle du modèle de confiance d’une PKI Hanane El Bakkali Institut Universitaire de la Recherche Scientifique Rabat, Maroc bakkali_h@yahoo.fr Bahia Idrissi Kaitouni Ecole Mohammadia d’Ingénieurs idrissi@emi.ac.ma
Sommaire Conceptualisation d’une PKI Introduction Position du problème Caractéristiques d’une PKI Notre approche Conceptualisation d’une PKI Syntaxe et sémantique Axiomes Procédure d’inférence Hypothèses Application à un simple modèle Conclusion
Utilisation d’Internet Introduction Quelques faits: Utilisation d’Internet Applications (e-paiement, e-training, …) Besoins de sécurité Authentification Intégrité Confidentialité, … Moyens techniques Cryptographie à clé publiques Signature électronique Infrastructure de clé publique: PKI
Position du problème Utilisation d’une logique de croyance Objectif: Analyse du modèle de confiance d’une PKI Utilisation d’une logique de croyance Règles de raisonnement intuitives Adaptée pour l’expression des croyances des entités et de leur relation de confiance Facile à implémenter. Travaux proches Modeling a PKI(Maurer) Point de vue d’un utilisateur Alice. Valeurs de confiance probabilistiques. Authentication metric analysis and design (Reiter & Stubblebine) 1er principe:"Les entités ne signent pas de certificats, les clés le font". 4èmeprincipe:"L’output de la métrique doit être intuitif". Notre approche Vue globale du modèle de confiance. Limitation des croyances par des contraintes. Le ‘nom’ de l’émetteur est mentionné dans la modélisation des certificats.
Caractéristiques d’une PKI (1) Un ensemble d’entités, communiquant par des protocoles et offrant des services pour la gestion des clés publiques et de leur certificat.” Certificat ? Role: lier une clé publique à une certaine information concernant son propriétaire pour qu’un utilisateur du certificat puisse croire à l’authenticité de cette clé . Contenu: *’nom’ de l’émetteur *’nom’ du sujet *clé publique du sujet *signature de l’émetteur Politique de certificat ? un ensemble nommé de règles qui indiquent l’applicabilité d’un certificat à une communauté particulière et/ou une classe d’applications avec des exigences de sécurité communes .
Caractéristiques d’une PKI (2) Relations de confiance ? basées sur les relations pré-existantes entre les entités. limitées par des contraintes et restreintes à un contexte. Modèle de confiance? la manière dont les différentes CAs sont organisées afin d’offrir aux utilisateurs la confiance dans le service de sécurité qu’ils utilisent . Architectures? Hiérarchiques Réseaux Hybrides Quel modèle adopter? Dépend des applications qui vont utiliser la PKI et aussi des politiques de certificat de ces CAs. Une analyse formelle va aider à faire ce choix.
Notre approche(1) Intérêt: Les formules utilisées permettent la modélisation des certificats et des relations de confiance entre les entités d’un modèle ainsi que leur croyances concernant l’authenticité des clés publiques. Les croyances exprimées dans les formules sont limitées par des contraintes liées aux politiques de certificat des CAs ou à leur pratiques de certification. Les contraintes de longueurs de chemins de certificats sont également utilisées. Les axiomes sont intuitifs, ils expriment les principes de base d’une PKI. Les hypothèses communes à tout modèle sont acceptables et celles qui dépendent du modèle analysé y sont généralement satisfaites.
Notre approche(2) Conceptualisation d’une PKI: CPKI=(D, F, R) Ensemble d’objets Ensemble des Ensemble des fonctions relations D=E U K U N U C U P(C) avec: E : ensemble de toutes les entités du modèle. K : ensemble de toutes les clés. N :entiers appartenant à[0,sup(Lmax+1,2Clmax+1,3)] C :ensemble des contraintes de la forme (nc=vc); F={, , +, sup, inf} R={conf, auth, cert, non-conflit, <, différent} Avec: conf ExExP(C)x[0,3]xN; auth ExExKxNxP(C)x[0,3]xN; cert ExKxExKxNxP(C)x[0,3]; < NxN; non-conflit P(C); différent ExE
Notre approche(3) Syntaxe et sémantique: Nous utilisons un sous-ensemble du langage des prédicats pour formaliser notre conceptualisation CPKI et notre connaissance à propos des principes de base de la certification. Nous associons à chaque élément du langage un élément de CPKI par une fonction I appelée interprétation. Eléments du langage: Variables Objets Constants Relations constantes: - Cert (X,KX,A,KA,LC,Const,TL) signifie qu’il y a un certificat signé par la clé privée I(KA)-1 qui atteste que I(A) croit que I(X) est le légitime propriétaire de la clé I(KX) avec une contrainte de longueur de chemin I(LC) et sous les contraintes de I(Const). - Auth(X,Y,KY,LC,Const,TL,L) signifie que X croit que KY est l’authentique clé publique de Y et qu’elle peut être utilisée dans la vérification des chemins de certification seulement si leur longueur est < LC et sous les contraintes de Const. Cette croyance a un niveau de confiance TL et obtenue grâce au support de L intermédiaires. -Conf (X,A,Const,TL,L) signifie que X croit que A est une entité de confiance selon les contraintes de Const. Cette croyance a un niveau de confiance égal à TL et obtenue grâce au support de L intermédiaires. -Non-conflit(Const) signifie qu’il n’y a pas de ‘conflit’ entre les contraintes de Const. -La relations d’ordre “<” a l’interprétation usuelle. -Différent(A,B) signifie que A et B sont deux entités distinctes. Fonctions constantes - “”, “” , “+”, Sup et Inf ont l’interprétation standard. Formules Les formules sont utilisées pour exprimer des faits et des axiomes concernant notre conceptualisation. Nous avons si P est une relation constante d’arité n dans R et T1,...,Tn n termes, alors P(T1,…,Tn) est une formule. De même si , 1,…, n sont des formules et v est une variable, alors: 1^…^ n, 1 2 et v sont aussi des formules.
Notre approche(3) Axiomes: A1- Axiomes d’authenticité d’une clé: A2 –Axiome de la propagation de confiance: A3 –Certification Rule:
Notre approche(4) Procédure d’inférence: L’analyse d’un modèle de confiance M consiste d’abord à encoder chaque certificat et chaque hypothèse en utilisant la formule correspondante dans la logique. Nous choisissons ensuite des valeurs pour Lmax et Clmax qui dépendent de l’application qui va utiliser la PKI ou des politiques des certificats des CAs ou qui peut même être arbitraire. contient les certificats et les hypothèses, les formules représentant les relations d’ordre (<) entre les entiers appartenant à N, les formules représentant les relations ‘Différent’ entre chaque paire d’entités de M et les formules représentant les propriétés Non-conflit concernant les sous-ensembles de CM où CM est une partie de C contenant uniquement la contrainte EC=oui et les contraintes relatives au modèle M à savoir celles utilisées dans les formules précédentes de , mais en tenant uniquement compte des contraintes de type SDN, CA-DNs, CDNs, SCPs, CPs et EC. Enfin, contient également nos cinq axiomes . L’écriture des formules de sous forme clausale montre qu’il s’agit de Horn clauses. Nous avons donc choisi la résolution comme procédure d’inférence surtout qu’elle est garantie ‘correcte’ (sound) et réfutation complète dans le cas des Horn clauses .
Notre approche(5) A simple model analysis: Encodage des certificats: X Y Z Encodage des certificats: Cert(X, KX, A1, KA1, 0,{KU=signature, SDN=D1, CPs={p1}}, 2) (c1) Cert(Y, KY, A2, KA2, 0, {KU=cryptage, SDN=D2, CPs={p2}}, 2) (c2) Cert(A2, KA2, A1, KA1, 1, {KU=certification, CDNs=D2, SDN=D2, SCPs={p2}, CPs={p1}}, 3) (c3) Cert(A1, KA1, A2, KA2, 1, {KU=certification, CDNs=D1, SDN=D1, SCPs={p1}, CPs={p2}}, 3) (c4) Encodage des hypothèses: Conf(X, A1, {CA-DNs= D2,CDNs=D1,SCPs={p1}}, 3 , 0) (t1) Conf(Y, A2, {CA-DNs=D1,CDNs=D2, SCPs={p2}}, 3 , 0) (t2) Auth(X, A1, KA1, 2, {CA-DNs=D2,CDNs=D1,SCPs={p1}}, 3, 0) (a1) Auth(Y, A2, KA2, 2, {CA-DNs=D1,CDNs=D2,SCPs={p2}}, 3, 0) (a2) Application de la procédure d’inférence: |=Auth(X,Y,KY,0,{KU=cryptage,SDN=D2,CPs={p2}},2,2) (RA1) |=Auth(Y, X, KX, 0, {KU=signature,SDN=D1,CPs={p1}},2,2) (RA2)
Conclusion L’expansion des applications d’e-commerce comme celles du paiement électronique nécessite l’existence d’une PKI large et globale qui peut fournir les services de sécurité Nous avons proposé une logique de croyance pour l’analyse formelle du modèle de confiance d’une PKI qui aide à vérifier son adaptabilité à des applications avec des exigences particulières. Nous avons vu également qu’un modèle peut ne plus être convenable pour une certaine application si nous modifions certaines contraintes liées à l’utilisation des certificats de ce modèle ou si nous modifions certaines de ses hypothèses et ce même s’il garde toujours les mêmes entités et la même architecture. Nous avons défini quelques-unes des contraintes qui permettent de limiter la confiance qu’une entité peut avoir en une autre ou dans l’authenticité d’une clé publique. Il nous reste à compléter cette définition.