Services Web : Sécurité From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Addison-Wesley 2005
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Sécurité en XML zSécurité XML ySignature, gestion des clés et encryption yExemple : dossier patient xParties différentes du document utilisées dans des lieux différents : clinique, hôpital, résidence xDifférentes personnes vont consulter / modifier des parties différentes Médecin, infirmière, pharmacien, administration etc. xÊtre capable d’attribuer certaines parties à une personne et s’assurer qu’elles n’ont pas été modifiées Exemple : prescription ySSL n’est pas suffisant yIntroduire de nouveaux tags pour identifier le début et la fin de sections encryptées ou signées zWS-Security pour SOAP yIntégrité, confidentialité, authentification du message
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Besoins (les documents peuvent avoir été signés / encryptés longtemps à l’avance) zTransport des documents yencrypter un document au complet ou en partie ySigner un document au complet ou seulement certaines parties zStockage et modification de documents yAjouter des informations à un document déjà signé et signer le résultat xEx.: pour agir comme témoin d’une signature yAjouter des informations à un document qui contient des sections encryptées et encrypter des parties de la nouvelle version, possiblement en incluant certaines des sections déjà encryptées yAutoriser différents usagers à consulter des parties différentes d’un document
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Besoins (les documents peuvent avoir été signés / encryptés longtemps à l’avance) zAlgorithmes yLe standard doit décider d’un ensemble d’algorithmes présents dans toute implémentation de la sécurité en XML yLes algorithmes utilisés pour l’encryption et l’authentification d’un document donné doivent être choisis parmi l’ensemble des algorithme du standard et les noms de ces algorithmes doivent être indiqués à l’intérieur du document XML en tant que tel zRécupération des clés yAider les usagers d’un document sécuritaire à trouver les clés nécessaires xPar exemple, où se trouve la clé publique? yPermettre à des usagers collaborant de s’aider mutuellement par rapport aux clés xsi l’information dans l’élément KeyInfo n’est pas lié à l’encryption, e.g. donner le nom d’une clé à utiliser
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Sécurité en XML --- solutions zL’élément KeyInfo (optionnel) yPour indiquer la clé à utiliser pour valider une signature ou décrypter l’information xEx.: un certificat, le nom d’une clé, l’algorithme à utiliser zXML canonique yPour les signatures digitales qui garantissent que le document n’a pas été modifié yLes éléments sont mis en forme canonique avant d’être signés xordre lexicographique, ajout d’attributs, etc. yLa signature de l’élément ne sera pas validé si cet élément est placé dans un contexte différent. yLa signature comprend le nom de l’algorithme de canonisation zUtilisation de signatures en XML yDans le standard W3C, définition de nouveaux types d’éléments xSignature, SignatureValue, SignedInfo et KeyInfo xVoir fig pour les algorithmes qui doivent être disponibles
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Sécurité en XML --- solutions zService de gestion des clés yProtocole pour distribuer et enregistrer des clés publiques pour les signatures en XML zEncryption en XML yRecommandation W3C yÉlément EncryptedData ySpécifie comment représenter les données encryptées en XML et les processus d’encryption et de décryptage (voir fig )
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Figure Algorithms required for XML signature Type of algorithmName of algorithmRequiredreference Message digestSHA-1RequiredSection Encodingbase64Required[Freed and Borenstein 1996] SignatureDSA with SHA-1Required[NIST 1994] (asymmetric)RSA with SHA-1RecommendedSection MAC signature (symmetric) HMAC-SHA-1RequiredSection and Krawczyk et al. [1997] CanonicalizationCanonical XML RequiredPage 810
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Figure Algorithms required for encryption (the algorithms in Figure are also required) Type of algorithmName of algorithmRequiredreference Block cipherTRIPLEDES, AES 128 requiredSection AES-192optional Encodingbase64required[Freed and Borenstein 1996] Key transportRSA-v1.5, RSA-OAEP requiredSection [Kaliski and Staddon 1998] Symmetric key wrap (signature by shared key) TRIPLEDES KeyWrap, AES-128 KeyWrap, AES 256KeyWrap required[Housley 2002] AES-192 KeyWrapoptional Key agreementDiffie-Hellmanoptional[Rescorla, 1999] AES-256