Les solutions aux problèmes pour sécuriser Viatcheslav BALAI balaivia@iro.umontreal.ca /Université de Montréal/ /DIRO / MCE / IFT6261/ Enseigner par Esma Aïmeur aimeur@iro.umontreal.ca Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 1/37
Motivations : Le commerce C2C, B2B ou bien B2C, en plus C2G et B2G La sécurisation des transaction en ligne est l une des raisons du frein du développement CE et Chiffrement de portions de sous documents (extensible Markup Language) Pour être sécuriser, intégrer et sans répudiation Par un ou plusieurs signataires Sécurisation des enveloppes SOAP (Simple Object Access Protocol) pour les Web Services Interopérabilité pour la gestion des clés entre entreprises (PKI - Public Key Infrastructure) Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 2/37
Standards pour sécuriser servent à garantir que le contenu d'un document n'a pas changé. l'idée étant que seules les informations sensibles doivent être protégées. XKMS - Key Management System définit un moyen de distribuer et d'enregistrer les clés publiques utilisées par la spécification -SIG. XACML - Access Control Markup Language fournit un moyen de standardiser les décisions de contrôle d'accès pour les documents. - Security Assertions Markup Language traite l'échange des requêtes et réponses d'authentification et d'autorisation. Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 3/37
Sécurité et Web Services, XACML, XKMS SSL Secure Socket Layer, Netscape, Protége WWM Trafic TLS Transport Layer Security, IETF, identical avec SSL v.3 MIME Multipurpose Internet Mail Extension, Multimedia Purpose, (Txt/html, image/gif, video/ quicktime, txt/plain, category/context) PGP Pretty Good Privacy, Système cryptographie hybride Source: [OASIS,2004] Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 4/37
Objectifs Prévenir la falsification d une message (intermédiaire, récepteur) ou sa répudiation (émetteur) Le document doit pouvoir être partiellement signé pour continuer à être modifier sur d autres parties Fonctionnalités Basé sur (pas de notation ASN.1 - Abstract Syntax Notation Number One) - Un langage formel pour décrire abstractif des messages à échanger parmi une étendue des applications impliquant l'internet s sur des portions (arbres d éléments) de documents Le document peut être recomposé/transformé par le récepteur s sur plusieurs entités 1 document HTML + feuille CSS + image de bannière + s par plusieurs signataires Un billet combiné SNCF(Société Nationale des Chemins de Fer Français) et Air France (2 signataires) s embarqués dans le document (signature dite enveloppante) SOAP request / response (Simple Object Access Protocol) d entités externes référencées par des URI (Uniform Resource Identifier) (s appelle ``signature détaché``) HTML (HyperText Marup Language), JPEG (Joint Photographic Experts Group), MPEG (Moving Picture Experts Group) Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 5/37
Traitement L émetteur crée un message, le canonise (régularisation- qui transforme un doc. dans une référence) et le signe après Le récepteur reçoit un message, le canonise et vérifie sa signature Canonisation Indépendance de l indentation sur le calcul de la signature W3C et IETF (Internet Engineering Task Force) Digital http://www.w3.org/tr/xmldsig-core/ Utilise DOM (Documet Object Model, source: http://www.w3.org/tr/1998/rec-dom-level-1-19981001/ ) ou SAX (Simple Application Programming Interface pour, source: http://www.megginson.com/sax/index.html ) et APIJ (Application Programming Interface Java) JSR 105 (Java Specification Request) Digital APIs (source: www.javax.security.xml.dsig ) Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 6/37
Construction du message signé SHA - Secure Hash Algorithm DSA - Digital Algorithme URI - Uniform Resource Identifier Lien: http://www.w3.org/2000/09/xmldsig#object Source: [X-Sig,2002] Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 7/37
Exemple de signature détachée Source: [X-Sig,2002] Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 8/37
Transformes Motivation Lister la liste des transformations à procéder sur l objet d URI (Uniform Resource Identifier) pour la signature Permet de ne signer qu une partie d un document (et de ne pas signer les parties variables) Transformations possibles Canonisation (Transforme un document dans une référence indépendante des variation physique), Encodage/Décodage (Compression/Décompression), XSLT (extensible Stylesheet Language Transformation), Xpath, validation Schema, Xinclude... Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 9/37
Informations supplémentaires Élément <Object> Attention : il est optionnel et le récepteur peut ne pas le comprendre Les sous éléments doivent être identifiés Sous Elément <Properties> Permet d ajouter des informations complémentaires à la signature Date de validité de la signature, identifié de processus qui à signer, Sous Element <Manifest> Permet de signer indépendamment chaque URI listé dans le manifeste Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 10/37
Elément <KeyInfo> Élément optionnel Permet au récepteur d obtenir la clé nécessaire à valider la signature KeyName (un nom, un index dans un répertoire de clé, un X500 DN, ) RetreivalMethod Certificats : -X509 ( Modèle récursif avec les clefs des autorités de certification qui sont elles-mêmes certifiées, ou auto signées) -PGP (Pretty Good Privacy) Système de cryptographie hybride: une combinaison de la cryptographie de clef publique et de la cryptographie conventionnelle. -SPKI (Simple Public Key Infrastructure) Un certificat permet de lier une clé à une identité Clés publiques : -RSA (Rivest \Shamir\ Adleman ) Algorithme de chiffrement à double clef dont une publique, qui rend l'authentification des documents et l'identification de leurs auteurs -DSA (Digital Algorithme ) Algorithme de cryptage asymétrique (à clé publique et privée). Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 11/37
Example d application : Ticketing Event, Plane, Transportation Pass, Lottery, Car Wash, Telephone Card, Digital, Cash, Software License, Loyalty Bonus, Transportation Pass, Gate Card, Driver s license, ID Credit note (DYRLU), Discount Card Promise Industry-Specific: Flight number, Seat Number, Class, Event Name Issuer specific: Mileage points, advertisement Signed by the issuer(s) (EDVHG RQ_ ;0/_6LJ) Signed by the owner (EDVHG RQ_ ;0/6LJ) Properties (EDVHG_RQ_5)_DQG ;0/_6FKHPD) Control Parameters: TicketID, IssuerID, OwnerOD, Validity, View PK (Private Key) and Certificates Attached ticket/description Transfert to Owner2 Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 12/37
Motivation: chiffrer des portions (élément) d un doc Différents destinataires lisent différentes parties du document La sécurité doit être maintenue de bout en bout Ce n est pas le cas avec SSL (Secure Socket Layer) ou S/MIME (Multipurpose Internet Mail Extensions): txt\img\video\catg Exemple: Une place de marché (Trading hub) a les information d une réponse à une offre sans savoir les informations de prix d acheteur. W3C (World Wide Web Consortium) Digital http://www.w3.org/tr/xmlenc-core/ API Java (Application Programming Interface) JSR 106 (Java Specification Request) Digital APIs Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 13/37
Exemple Source: [XEnc,2002] Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 14/37
Exemple avec SOAP Source: [XEnc,2002] Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 15/37
Exemple d utilisation Source: [XEnc,2002] Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 16/37
Exemple d utilisation (continue) Source: [XEnc,2002] Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 17/37
Une application : les droits Exprimer/Contrôler les droits rights = grants / licenses Format XrML - extensible Rights Markup Language (Utiliser par Microsoft) http://www.xrml.org (facto -standard; ContentGuard pour accélérer l adoption d intéroperabilité de système DRM (Digital Rights Management)) RDF (Resource Description Framework ),, Se base sur les spécifications MPEG-21( Moving Picture Experts Group) et TV-AnyTime ODRL - Open Digital Rights Language http://www.odrl.net XCML - Extensible Commerce Media Language Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 18/37
Source: [XrML,2003] Source: [XCML,2002] Source: [ODRL,2002] Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 19/37
Key Mgmt Spec XKMS - Key Management Specifications Motivation Replacer les formats et protocoles PKI (Public Key Infrastructure ) par des documents transportés par SOAP Rencontre deux buts généraux: doit soutenir la capacité d'un client simple de se servir fournit l'appui principal public de gestion aux applications de (support) Définit les messages de requête et de réponse pour: Requérir (request) un certificat Renouveler (renew) un certificat Valider (validate) un certificat Révoquer (revoke) un certificat (CRL) Basé sur & W3C http://www.xmltrustcenter.org/xkms API Java (Application Programming Interface) JSR 104 (Java Specification Request) Trust Service APIs Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 20/37
Key Mgmt Spec Exemple de message de révocation Source: [XKMS,2003] Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 21/37
(XACML) Acs Cntrl Mrkp Lng Access Control Markup Language -XACML Motivation Représenter les politiques de contrôle d accès (Access Control) en Norme Proposition OASIS en cours (Organisation for the Advancement of Structured Information Standards) Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 22/37
(XACML) Acs Cntrl Mrkp Lng XACML Exemple Source: [XACML,2003] Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 23/37
S A M L Security Assertions Markup Language Motivation en taches Selon l étude de la Direction générale du commerce électronique Industrie Canada, juin 2003. Principes d authentification et d autorisation électronique. Représenter l authentification et les décisions d autorisation (en ) pour les Web Services, l EAI (Entreprise Application Integration) Who/What/When/Why/Where and How? Permettre l interopérabilité entre les serveurs de sécurité comme Netegrity SiteMinder, Securant ClearTrust, Oblix NetPoint, IBM PolicyMaker, etc. Histoire S2ML (Security Services Markup Language) Netegrity, Sun, webmethods, Verisign, etc. Auth (Authorization/Authentication ) Securant & Outlook Technologies Fusion sous la bannière SSTC (Security Services Technical Committee ) d OASIS (Organisation for the Advancement of Structured Information Standards) http://www.oasis-open.org/committees/security/index.shtml Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 24/37
S A M L définit un cadre commun de pour échanger l'information de sécurité entre les associés en ligne. «définir, augmenter, et maintenir un cadre (framework) -basé standard pour créer et échanger l'information d'authentification et d'autorisation» (SSTC - Security Services Technical Committee ) Deux concepts utilisés Asserting party (John Doe; john.doe@acompany.com ; il authentifie avec Mot de Passe) Le système, ou le Administrative Domaine, qui affirme des informations sur un sujet. Relying party (espère que je suis John Doe) Le système, ou le Administrative Domaine, qui se fonde sur l'information lui a fourni par la partie d assertion. Il est jusqu'à la relying partie de savoir si il y fait confiance aux assertions (affirmations). Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 25/37
<saml:assertion MajorVersion= 1 MinorVersion= 0 Assertion ID = 128.9.167.32.12345678 Isssuer= john.doe @ acompany.com IssueInstant = 2003-12-03T10:02:00Z xmlns-"urn:oasis:names: tc::1.0: protocol" xmlns: samlp= urn:oasis:names: tc::1.0: protocol xmlns: xsd= http://www.w3.org/2003/schema xmlns: xsi= http://www.w3.org/2003/schema-instance > <saml: Conditions NotBefore= 2003-12-03T10:00:00Z NotAfter= 2003-12-03T10:05:00Z /> <saml:authenticationstatement xmlns:saml= http://www.w3.org/2002/09/xmlsamlauth# AuthenticationMethod= password AuthenticationInsatant= 2003-12-03T10:02:00Z > <saml: Subject> <saml:nameidentifier SecurityDomain= acompany.com Name= Jonh Doe /> </saml:subject> </saml:authenticationstatement></saml:assertion> Source: [,2004] Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 26/37
S A M L Une solution basée sur l'ouverture de session simple de Web Single Sign On (SSO) Permet à des utilisateurs d'accéder aux ressources de site Web dans domaines multiples sans devoir re-authentifier plusieurs fois Possibilities: Government Portal, Travel Booking, Goods Purchasing, etc SSO Interopérabilité: Application le croix-domaine SSO avec le même produit Le schéma: illustre le cas à niveau élevé d'utilisation du Web SSO Source: [,2004] Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 27/37
S A M L Les Quatre Concepts principaux du Assertions -Attribut d Authentification : -Attribut Statements : -Décision d Autorisation : sujet authentifié par ce des moyens détails spécifique au sujet, LDAP identifient ce que le sujet est autorisé à faire Protocole de request/response -Pour obtenir des assertions -Le format de pour des messages de protocole permis un schéma de Binding (détail sur le transfert entre protocole) -Une attache détaille pour tracer sur des protocoles de transport et de transmission de messages Profils (transport des assertions) -Descriptions techniques de «flow» des assertions et de protocole des messages -Architecture fédératrice pour employer du -Processus de traitement Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 28/37
S A M L Le schéma montre le rapport entre ces composants: Source: [,2004] Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 29/37
S A M L Structure et Examples Fig A: SOAP par- dessus HTTP Binding Fig B: Response Structure Source: [,2004] Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 30/37
S A M L Exemples d'une demande de étant transportée dans un message de SOAP Source: [,2004] d'une réponse de est incluse dans un message de SOAP Source: [,2004] Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 31/37
S A M L Exemple d assertion Le format du sujet «joe» fait sur la commende y compris des adresses d'email et des noms X.509 soumis. Joe authentifié en utilisant un mécanisme de mot de passe à «2002-06-19T17:05:17.706Z» Source: [,2004] Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 32/37
S A M L Comparaison.Net Passport du Microsoft et d OASIS.NET Passport: Risques liés à l interface de l utilisateurl utilisateur (bouton de sortie usurpation d identification ) Risques liés à l utilisation des clés ( génération de seule clé - détruire de sites participants) Risques liés à l aspect central du système (BD centrale) Risques liés à l utilisation des cookies (oublier «sing-out» - lire les infos d utilisateur) Risques liés à l utilisation de JavaScript (oublier «sing-out» - lire les infos d utilisateur) Risques liés s aux cookies persistants (système publique - solution le tickets Kerberos) Risques liés s au nom de domaine (DNS) ( personne qui contrôle DNS peut accéder aux infos ) Risques liés à un marchant malveillant (site malveillant simule sa participation du système) : Gestion d un d utilisateur connecté (utilisateur est demeuré en ligne, ou non) Vol de l assertion l d authentificationd Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 33/37
www.starbucks.com www.ebay.com www.activestate.com www.moneycentral.com www.passport.com www.msn.com www.hotmail.com [Net Pass, 2003] Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 34/37
Conclusion: La sécurisation des transactions en ligne pour commerce électronique C2C, B2B ou bien B2C Cinq Standards permet de bien sécuriser d effectue une authentification unique utilisant d échange de documents intègre de dialectes pour la sécurité à WS-Security aux messages SOAP Security et s par WS-Security doivent absolument être suivis. Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 35/37
Références: [DdVPS,2002] E. Damiani, S. De Capitani di Vimercati, S. Paraboschi, and P. Samarati. A finegrained access control system for xml documents. ACM Transactions on Information and System Security (TISSEC), 2002 [DicIfr] Dictionnaire francophone de l informatique http://www.di.com.tn/dicoinfomatique/definitions/ [DgCEI,2003] Direction générale du commerce électronique Industrie Canada. Principes d authentification électronique, Ébauche pour consultation, pages 12-15, juin 2003 [Net Pass, 2003] Microsoft.NET Passport. Sur: http://www.passport.net/consumer/default.asp?lc=1033 [OASIS,2004] OASIS Open Org. Avalable sur: http://www.oasis-open.org/committees [ODRL,2002] ODRL v.1.1. Avalable sur: http://www.w3.org/tr/odrl/ [Roe,2002] Thomas Gert Roessler. Identification and Authentication in Networks enabling Single Sign-On, Institute for Applied Information Processing and Communications (IAIK) Graz University of Technology, Austria, 2002. [Rou,2001] Jason Rouault. Introduction to, An based Security Assertion Markup Language., Section Architect, Internet Security Solution Lab, Hewlett-Packard, 2001. [,2004] Technical Overview of the OASIS. Avalable sur: http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=security [Shel,2002] Shelley Doll, Builder.com. ZDNet. Le Premier Portail Dédié Aux Nouvelles Technologies. Cinq standards pour sécuriser. Le 6 septembre 2002. [XEnc, 2002] Avalable sur: http://www.w3.org/tr/2002/cr-xmlenc-core-20020304/ [X- Sig, 2002] Avalable sur:http://www.w3.org/tr/2002/rec-xmldsig-core-20020212/ [XrML, 2003] XrML. Avalable sur: http://www.xrml.org [XACML, 2003] Avlb sur: http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=xacml [XCML, 2002] XCML.W3C Note Sept.2002 Sur: http://www.w3.org/tr/2002/note-xmcl-20020919/ [XKMS, 2003] Avalable sur: http://www.w3.org/tr/xkms2-req [ZDNet.fr,2003] http://www.zdnet.fr/techupdate/securite/0,39020976,2121033,00.htm Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 36/37
Copyright,2004 Viatcheslav Balai Les solutions aux problèmes pour sécuriser 37/37