X7 Web2 0 Securite

Document Sample
X7 Web2 0 Securite Powered By Docstoc
					    Web 2.0 et Sécurité

XForms
XUL
Annotations RDF et fils RSS
Web 2.0 et Web sémantique
XML & Bureautique
XML & Sécurité
   1. XForms: La Saisie XML

   • Spécification W3C depuis Octobre 2003
         • Spécification jeune
   • Remplacera les formulaires dans XHTML 2.0
         • Un avenir annoncé
         • Produits: Altova, Open Office, MS InfoPath différent
   • Objectifs
         •   Des formulaires entièrement en XML et XML Schema
         •   Permettre une utilisation dans tous documents XML
         •   Séparer le contenu (XML) de la présentation (XHTML)
         •   Fournir une syntaxe simple et déclarative
         •   Décentraliser la validation avec la présentation




XForms                                   2
   XForms: Principes

   • Nouvelle génération de formulaires Web
   • Assemblage de formulaires à partir de schéma
         • Schéma = structure + type
         • Contraintes = Dépendances, expressions et calculs
   • XForms User Interfaces est la partie apparente
     pour l’utilisateur (présentation)
         • XForms User Interfaces intègre des boites
           symboliques à label
         • Peut être réalisée en XHTML, WML, …
         • Ajoute en plus des contrôles spécifiques au niveau
           présentation.

XForms                             3
   Saisie des formulaires

   • Génération et contrôle du message XML
   • Contrôle sur le client ou le serveur

                                XForms
               XForms
                                 User
                Model
                               Interface

              XForms Submit Protocol




XForms                     4
   XForms: Avantages

   • Internationalisation
         • échanges facilités par XML et Unicode
   • Accessibilité
         • Sépare la forme du contenu et de la logique
   • Portabilité
         • Pateforme et machine indépendant
   • Flexibilité
         • Création déclarative du formulaire
   • Fonctionnalités : Réduit ou élimine les scripts
         • Validation : typage fort via XML-Schema
         • Calcul : calcul automatique via X-PATH
         • Plusieurs formulaires par page et pages par formulaire


XForms                                  5
      2. XUL: Interfaces Graphiques

      • XUL (prononcez zool, cela rime avec cool) a été
        créé pour avoir un développement du navigateur
        Mozilla plus facile et plus rapide
      • Langage conçus spécialement pour créer des
        interfaces utilisateurs portables
      • Langage XML étendant les fonctionnalités pour
        créer des interfaces graphiques
        • XHTML, SVG, MathML, … intégrables dans XUL
      • Feuilles de style XSL et CSS applicables



XUL                             6
      Eléments créables avec XUL

      • Champs de saisie tels que des boîtes de textes
        et des cases à cocher
      • Barres d'outils avec boutons et autres contenus
      • Menus dans des barres de menus ou menus
        « pop-up »
      • Boites de dialogues à onglets
      • Arbres pour informations hiérarchiques ou
        tabulaires
      • Raccourcis claviers
      • …


XUL                            7
      Les éléments XUL

      • Eléments de premier niveau
         • e.g. window, page, dialog, wizard, etc.
      • Widgets
         • e.g. label, button, text box, list box, combo box, radio button,
           check box, tree, menu, toolbar, group box, tab box, color picker,
           spacer, splitter, etc.
      • Modèle de boite
         • e.g. box, grid, stack, deck, etc.
      • Evénements
         • e.g. script, command, key, broadcaster, observer, etc.
      • Sources de données
         • e.g. template, rule, etc.




XUL                                       8
      Contenus XUL

      • Données dans le fichier XUL
      • Source de données
         •   messages des boîtes aux lettres,
         •   Marque-pages,
         •   résultats de recherche
         •   fichiers décrits en RDF
      • Chargement de fichier XUL à partir d'un site distant
         •   type de contenu application/vnd.mozilla.xul+xml
         •   XUL est habituellement stocké dans des fichiers .xul
         •   Possibilité d’ouvrir un fichier XUL avec Mozilla
         •   Paquetage chrome installé avec Mozilla




XUL                                       9
      Exemple

      <?xml version="1.0" encoding="ISO-8859-1"?>
      <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
      <window id="example-window" title="Exemple 2.2.1"
        xmlns:html="http://www.w3.org/1999/xhtml"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

       <button label="Normal"/>             Bouton actif

       <box>                                               Boite à texte
        <description>Hello world!</description>
       </box>

       <button label="Désactivé" disabled="true"/>           Bouton désactivé

      </window>



XUL                                        10
      Evénements et Actions

      • À chaque objet graphique peuvent être associés des
        événements (clic de souris, double-clic,touche entrée,
        etc.) pour lesquels le développeur doit écrire du code
        (typiquement en Javascript) à exécuter par la machine
        cliente
      • Exemple : boite active
         </box>
         <hbox>
         <textbox id="labelfield" flex="1" oninput="validateInput();"/>
         <button id="addButton" label="Add Item" disabled="false"
           oncommand="addItem();"/>
         </hbox>




XUL                                      11
      XUL: Bilan

      • Extension de XHTML pour Mozilla
      • Permet de définir des interfaces graphiques avec :
         • Structure et contenu (fichier XUL)
         • Apparence (CSS)
         • Traitement (événements et code, DOM)
      • Portabilité sur tout mobile
         • Disposant d’un interpréteur XUL
      • XAML (Zammel = eXtensible Application ML)
         • langage graphique déclaratif développé pour les besoins du
           nouveau système d'exploitation de Microsoft, Windows Vista
         • fait partie de Windows Presentation Framework




XUL                                     12
  3. Annotations, Descriptions et Web 2.0

  • RDF = Resource Description Framework

  • Pour exprimer des méta-données sémantiques
    sur des pages Web
  • Pour aider à traiter l'information (moteur de
    recherche, intégration, etc.)
  • Classification des ressources décrites par des
    propriétés de valeurs fixées
  • Pour faciliter le partage et l'échange de contenus


RDF                         13
  RDF: Modèle

  • Un modèle et deux syntaxes XML pour exprimer des
    méta-données
  • Triplets permettant de décrire l'information du Web
      • Ressource, Propriété, Valeur
      • http://www.exemple.org/article1 titre "Semantic Web"
  • Une ressource est un objet (document ou fragment)
    défini par une URI
  • Une valeur est une ressource ou un litéral
  • Les descriptions RDF sont faites en termes définis dans
    une ontologie (en RDF Schema ou OWL)




RDF                                 14
  RDF: Graphe Sémantique


                http://www.exemple.org
                                ref-article1

                   http://www.exemple.org/article1


                    auteur            titre      date

      "Tim Berners-Lee"      "Semantic Web"    "30-10-2003"




RDF                              15
  RDF: Exemple

      <rdf:Description rdf:about=" http://www.exemple.org"> <ref-article1
         resource= http://www.exemple.org/article1 />
      </rdf:Description>
      <rdf:Description rdf:about="http://www.exemple.org/article1">
         <auteur> Tim Berners-Lee</auteur>
         <titre>Semantic Web</titre>
         <date> 30-10-2003 </date>
      </rdf:Description>
  • Ajoute du sens :
      • article avec auteur, titre, date ..




RDF                                    16
  RSS: Syndication de Contenus

  • RSS = Rich Site Summary
  • RSS = Really Simple Syndication
      • Annotation de site Web en RDF spécialisé et étendu
      • Plus de la moitié des sources d’information sont décrites et
        publiées en RSS
          • exemples: Libération, Le Monde, Le Figaro, …
      • méthode simple et efficace pour accéder aux meilleures sources
        d'information sur le web.
      • permet aux sites Internet et aux blogs de proposer leur contenu
        de manière simplifiée.
  • Lu et présenté par un agrégateur RSS (e.g., Yahoo)
      • mises à jour sont détectées automatiquement par l'agrégateur
  • Atom = Autre langage de description de flux basé RDF


RSS                                  17
  Que gagne-t-on à utiliser RSS ?

  • l'efficacité
      • les toutes dernières infos sont automatiquement
        rassemblées sur votre portail
  • la variété
      • les titres concernant les sujets qui vous intéressent
        sont mis en évidence
  • la clarté
      • les titres peuvent être affichés en fonction de leur
        importance et/ou en commençant par le plus récent
  • l'ordre
      • les lettres d'information par email et les favoris
        négligés peuvent vite devenir encombrants !

RSS                               18
  Exemple RSS
      <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
           <channel>
            <title>XML.com</title>
            <link>http://www.xml.com/</link>
            <description>XML.com features a rich mix of information and services for the XML
         community.</description>
            <language>en-us</language>
               <item>
              <title>The .NET Schema Object Model</title>
              <link>http://www.xml.com/pub/a/2002/12/04/som.html</link>
              <description>Priya Lakshminarayanan describes in detail the use of the .NET
         Schema Object Model for programmatic manipulation of W3C XML
         Schemas.</description>
              <dc:creator>Priya Lakshminarayanan</dc:creator>
              <dc:date>2002-12-04</dc:date>
            </item>
            <item>
              <title>SVG's Past and Promising Future</title>
              <link>http://www.xml.com/pub/a/2002/12/04/svg.html</link>
              <description>In this month's SVG column, Antoine Quint looks back at SVG's
         journey through 2002 and looks forward to 2003.</description>
              <dc:creator>Antoine Quint</dc:creator>
              <dc:date>2002-12-04</dc:date>
            </item>
           </channel>
         </rss>

RSS                                              19
  Agrégateurs RSS
  •   AmphetaDesk - http://www.disobey.com/amphetadesk/
      Free, cross platform, open-sourced, syndicated news aggregator.
  •   Pluck - http://www.pluck.com/
      A tool that automatically retrieves RSS feeds then delivers the results for
      scanning and customized sorting.
  •   Sage - http://sage.mozdev.org/
      RSS and Atom feed aggregator extension for Mozilla and FireFox browsers.
  •   Rocketinfo Desktop - http://www.rocketinfo.com/
      Search software for finding and sharing news with integrated solid RSS
      newsreader.
  •   Planet - http://www.planetplanet.org/
      Server software that combines several feeds together and publishes them
      together on one web page.
  •   BottomFeeder - http://www.cincomsmalltalk.com/BottomFeeder/
      A Smalltalk, desktop RSS Reader. Open source, runs on Windows, Mac, and
      various Unix flavors.
  •   Feed on Feeds - http://feedonfeeds.com/
      A Free PHP/MySQL based server-side RSS and Atom aggregator. All feeds
      are in one place, and users can read the latest news wherever they are.
  •   … les principaux browsers (Firefox, IE, Opera …)


RSS                                       20
   ATOM

   • Semblable à RSS 2.0, mais vise à être plus
     flexible
      • Intègre un protocole d’échange au-dessus de HTTP
   • Normalisé par l'IETF
      • contrairement aux divers RSS, pilotés par des
        entreprises privée
   • Spécifié par un schéma XML
   • Moins utilisé que RSS




RSS/ATOM                        21
   Exemple ATOM
   •   <?xml version="1.0" encoding="utf-8"?>
   •   <feed xmlns="http://www.w3.org/2005/Atom">
   •   <title>Example Feed</title>
   •   <subtitle>A subtitle.</subtitle>
   •   <link href="http://example.org/"/>
   •   <updated>2003-12-13T18:30:02Z</updated>
   •   <author>
   •     <name>John Doe</name>
   •     <email>johndoe@example.com</email>
   •   </author>
   •   <id>urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6</id>
   •   <entry>
   •     <title>Atom-Powered Robots Run Amok</title>
   •     <link href="http://example.org/2003/12/13/atom03"/>
   •     <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
   •     <updated>2003-12-13T18:30:02Z</updated>
   •     <summary>Some text.</summary>
   •   </entry>
   •   </feed>



RSS/ATOM                                   22
   Web 2.0: Définition

   • Terme marketing inventé par O’Reilly Media
   • D’après Wikipedia, l’encyclopédie du Web 2.0
          • « terme souvent utilisé pour désigner ce qui est perçu
            comme une transition importante du World Wide
            Web, passant d'une collection de sites web à une
            plateforme informatique à part entière, fournissant
            des applications web aux utilisateurs. Les défenseurs
            de ce point de vue soutiennent que les services du
            Web 2.0 remplaceront progressivement les
            applications de bureau traditionnelles. »




Web 2.0                              23
   Web 2.0: des techniques éprouvées ?

   •   HTTP et HTTPS: Protocoles
   •   URI: Identifiants universels
   •   XHTML: version XMLisée de HTML
   •   CSS 2.0 : Feuilles de style de base
   •   XSL : Feuilles de style pour XML
   •   JScript: langage de script (JavaScript)
   •   RSS et ATOM: Syndication de contenus
   •   REST: Style d’architecture de services avec appels HTTP
   •   Services web: Composants accédés et décrits en XML
   •   Ajax: XML sur HTTP en mode asynchrone via Javascript
   •   XSP: Pages XML dynamiques

We 2.0
Web                               24
   Un côté social via interactivité et groupes

   • Création de réseaux sociaux de sites Web
     dynamiques
   • Utilisation de moteurs de recherche ciblés sur
     des sites d’intérêt
   • Développement de sites composites à partir
     d’autres par composition et agrégation (mesh-
     ups)
   • Partage, collaboration, implication
          • valeurs fondamentales du web 2.0
          • une évolution des usages au-delà des avancées
            techniques

Web 2.0                            25
   Wikis: L’outil de collaboration

   • Application Web collaborative permettant aux
     utilisateurs de créer des contenus et à n’importe
     qui [autorisé] de les éditer sans restriction
   • Simplification du processus de création de pages
     Web, avec création incrémental de connaissance
     en groupe
   • L’encyclopédie universelle éditable:




Web 2.0                      26
   Sémantique Web

   • Évolution du Web pour rendre l'information plus
     accessible
   • Un vaste espace de documents semi-structurés (XML)
   • Avec une sémantique commune
          •   Compréhension des pages Web
          •   Annotations RDF
          •   Sémantique commune
          •   Bases d’annotations: RDFS et OWL
   • Décrire le contenu avec un formalisme à base de
     connaissances (RDF)
   • Utiliser des ontologies communes (RDF Schema, OWL)
     pour annoter les documents

Web 2.0                                  27
   Du Web au Web Semantique




                    W3C Semantic Web Activity
          Marja-Riita Koivunen and Eric Miller, Nov. 2001

Web 2.0                        28
   Pile de travail




Web 2.0              29
   Contributions essentielles

   • XML Schema
   • RDF et RDFS (RDF Schema)
   • Ontologie
          • RDF Schema
          • DAML+OIL (Oasis)
          • OWL




Web 2.0                        30
   Qu'est ce qu'une Ontologie ?

   • Définition de termes et relations entre termes utilisés
     pour décrire un domaine de connaissance
   • Exemples:
          • Finance, Tourism, Transport, Médecine, Immobilier ...
   • Utilisée par les gens, les bases de données et les
     applications pour partager l'information et son sens
   • Définition des concepts de base, de leurs propriétés et
     relations




Web 2.0                                  31
   Cas d'usage

   • Portails Web
          • Description des informations publiées
   • Objets multimedia
          • Description des images, films, ...
   • Site Web d'entreprise
          • Unifier les informations
   • Documentation de conception
          • Description des documents d'ingénierie
   • Agents et services
          • Description de connaissances échangées
   • Calculateurs embarqués et mobiles
          • Description des capacités des mobiles et terminaux


Web 2.0                                    32
   OWL: le langage de définition

   • Offrir un langage standard pour définir des ontolgies sur
     le Web
   • Basé sur RDF schema: classes, propriétés et héritage
   • Etend les constructions de base pour améliorer :
          • L'interopérabilité (e.g., equivalences)
          • Le raisonnement (e.g., description logic)
          • Les évolutions (e.g., integration, version)
   • Inspiré de DAML (Darpa) + OIL (EEC)
   • Une syntaxe XML pour décrire des modèles objets avec
     contraintes




Web 2.0                                    33
   Exemple d'Ontologie (OTA)




Web 2.0              34
   Bilan Sémantique Web

   • Pertinence des ontologies
          • Web Services
             • Description du profile
             • Description des services
          • Médiation
             • Description des sources
             • Description des schémas d'intégration
          • P2P
             • Définition des mots-clés
             • Définition des mappings




Web 2.0                             35
   Sémantique Web et Web Services

   • Le Web Sémantique vise à:
          • Faciliter les liens sémantiques pour le partage d'information et
            l'interopérabilité
          • Automatiser les communications et les évaluations de requêtes
            basées sur la composition de Web Services
   • Semantic Web et Web Services sont complémentaires:
          • Semantic Web= Interopérabilité sémantique des contenus
          • Web Services= Interopérabilité syntaxique des échanges
          • L’ontologie OWL-S décrit la sémantique des services web




Web 2.0                                   36
    4. XML et la Bureautique

    • Stockage
        • Format des fichiers : XML devient possible
        • Compatibilité avec l'existant
    • Feuilles de styles
        • Modèle d'import et d'export
    • Des jargons spéciaux
        • Word ML, SpreadsheetML, DataML
        • Open Document 1.0 de l’Oasis




Bureautique                       37
Import et Export


                   Import
                    XSL
 Format                      Open-
  XML                       Document
                   Modèle



                   Export
 Format             XSL      Open-
  XML                       Document
                    DTD




                       38
    Intégration à MS Office

    • Word
        • Format XML spécifique WordML, couvre le format .doc
        • Professional inclut le support XSLT et la possibilité de créer des
          schémas utilisateur
        • Possibilité d'importer et exporter du XML "pur" par application de
          feuilles de style XSLT
    • Excel
        • Format XML spécifique
        • Importation et exportation de document XML
        • Support des Web Services
    • InfoPath
        • Nouvel outil Office produisant du XML
        • Construction de formulaires interactifs
    • FrontPage
        • Outils pour générer HTML avec XSLT

Bureautique                                 39
    Intégration à Open Office

    • www.openoffice.org
        • Suite bureautique Open Source
        • Initialement développée par SUN
    • Format natif XML
        •     Définit comme un "standard" Oasis
        •     Le XML est zippé sur disque
        •     Peut référencer du binaire (images, etc.)
        •     http://xml.openoffice.org
    • Support de formulaire XForms



Bureautique                            40
Format OpenDocument



Fichiers XML   Autres fichiers    Répertoires
 content.xml    minetype         Basic/
 meta.xml       layout-cache     META-INF/
 setting.xml                     Thumbnails/
 styles.xml                      Pictures/
                                 Configuration2/




                      41
    5. Protocoles de sécurité

    • Ensemble de protocoles pour sécuriser les échanges en
      XML
    • Englobe les standards W3C :
         • XKMS (XML Key Management Specification)
         • XML Signature
         • XML Encryption
    • Et de l’Oasis :
              • SAML (Echange d’identité et d’autorisations)
              • XACML (Déclaration de politique de contrôle d’accès)
              • XrML (Déclaration de droits d’accès)
    • Intégration aux services Web
         • WS-Security


Protocole Sécurité                       42
Les groupes de st andardisation

                                       XrML              Provisioning



   XML
                                    WS-Security           Biometrics
 Encryption


    XML
                        XKMS          SAML                 XACML
 Signature




            W3C                                  OASIS
         Architecture                         Joint Security


                               43
5.1 XKMS

• Spécification du W3C prévue pour simplifier l’intégration
  des architectures PKI et la gestion des certificats dans
  les applications XML
• Objectifs:
   • créer une couche abstraite entre les applications et la solution
     de PKI
   • éliminer le besoin pour une application de gérer la syntaxe et
     sémantique complexe des PKI
   • déplacer la complexité de l'application cliente au niveau de
     l'infrastructure
   • implémenter XKMS de telle sorte qu'il soit neutre du point de
     vue de la plateforme, du vendeur ou du protocole de transport.
• XKMS comprend deux sous services
   • XML Key Information Service Specification (X-KISS)
   • XML Key Registration Service Spectification (X-KRSS)

                                   44
Infrastructure PKI et XKMS

• Eléments:
   • Autorité de certification
     (AC)
   • Autorité d’enregistrement
     (AE)
   • Système de publication et
     distribution de certificats
     (annuaires)
   • Applications compatibles
     avec la PKI
• Objets manipulés:
   • Bi-clés (publique/privée) et
     certificat



                                    45
XKISS

• X-KISS définit un service web pour localiser ou
  valider les informations (propriétaire, statut,
  date de validité,…) associées à une clé publique
• Le service de localisation (Locate)
  • permet, à partir d'une des informations contenues
    dans <KeyInfo>, de connaître les autres informations
    attachées
• Le service de validation (Validate)
  • permet de s'assurer qu'une clé est valide, qu'elle n'a
    pas été révoquée et qu'il est possible de l'utiliser pour
    un usage spécifique (signature, encryption…).

                              46
XKRSS

• Définit le protocole permettant la gestion du
  cycle de vie d’une clé
  •   Key   Registration
  •   Key   Reissue
  •   Key   Revocation
  •   Key   Recovery




                           47
XKRSS: Enregistrement d’une clé
<complexType name="KeyBinding">
 <sequence>
  <element name="Status" type="xkms:BindingStatus"/>
  <element name="KeyID" type="string" minOccurs="0"/>
  <element name="KeyInfo" type="ds:KeyInfo"/>
  <element name="PassPhrase" type="string" minOccurs="0"/>
  <element name="ProcessInfo" type="string" minOccurs="0"/>
  <element name="ValidityInterval" type="xkms:ValidityInterval"/>
  <element name="KeyUsage" type="xkms:KeyUsage"
    minOccurs="0" maxOccurs="unbounded"/>
  <s:element name="KeyUsage">
   <s:complexType>
    <s:all>
     <s:element name="string" type="s:string" minOccurs="0"
   maxOccurs="unbounded"/>
    </s:all>
   </s:complexType>
  </s:element>
 </sequence>
</complexType>


                                    48
XKISS: Recherche d’une clé par nom




 Requête "Client"                      Reponse du service XKMS
                                   <SOAP:Envelope>
 <SOAP:Envelope>
                                   <LocateResult>
 <LocateRequest>
                                   <ds:KeyInfo>
 <KeyInfoQuery>
 <ds:KeyName>MyMMM</ds:KeyName>    <ds:KeyName>MyMMM</ds:KeyName>
 </KeyInfoQuery>                   <ds:KeyValue>...AfG7We7...</ds:KeyValue>
 </LocateRequest>                  </dsKeyInfo>
 </SOAP:Envelope>                  </LocateResult>
                                   </SOAP:Envelope>

                                  49
    5.2 XML Signature

    • Qu'est-ce que XML Signature ?
         • Standard du W3C et de l'IETF
         • Signature de message en XML
         • Architecture PKI sous-jacente
    • Principes
         •   Appliquées à des "data objects" arbitraires
         •   Data objects sont placés dans un élément
         •   Cet élément est signé
         •   La signature est placée dans un élément signature



Protocole Sécurité                   50
    Principe des signatures


     A                                                                           B
                     H                                          H
       Résumé            Document                  Document          Résumé
                                     CPB        CsB
                                                                    on compare

         CsA                                                   CPA Résumé
                         Signature                 Signature




    • L'égalité des résumés (digests) garantit que
      l'émetteur connaît la clé secrète de A, donc qu'il
      s'agit de A.

Protocole Sécurité                         51
    Structure du message
                                                                     Englobe l'information signée



       Ouvre la signature
       électronique
                                          <Signature>
                                                 <SignedInfo>
                                                        (CanonicalizationMethod)      Décrit chaque objet à signer,
                                                        (SignatureMethod)             en particulier sa localisation
      Indique la méthode de                             (<Reference (URI=)? >         Définit la liste des transformations appliquées
      canonisation des objets
                                                               (Transforms)?          à l'objet avant calcul du digest
                                                               (DigestMethod)
     Définit l'algorithme utilisé
                                                               (DigestValue)          Référence la méthode de calcul du digest
     pour transformer l'élément SignedInfo              </Reference>)+
                                                                                      Contient la valeur du digest de l'objet
     canonisé en SignatureValue                  </SignedInfo>
                                                                                      Contient la valeur du résumé de
                                                 (SignatureValue)                     l'élément <SignedInfo> chiffré
                                                 (KeyInfo)?
                                                 (Object)*
                                  </Signature>

                                                                                      Définit les clés de chiffrements
                                                                                      nécessaires au calcul de la signature




Protocole Sécurité                                           52
    5.3 XML Encryption

    • Recommandation du W3C
    • Protocole d'échange des données cryptées
       • Clés publique et privée
       • Valeurs des données cryptées
       • Algorithmes de cryptage
    • Chaque élément peut être crypté
       • Possibilité de crypter à tout niveau
         • Une partie ou la totalité d’un document
         • Clé symétrique ou asymétrique



Protocole Sécurité                 53
XML Encryption: Principes

• L’expéditeur utilise la clé publique
• Le destinataire est le propriétaire de la bi-clés
• Permet de décrire la façon dont les données sont
  encodées conformément à XML (Infoset)

• Après « encryption » c’est l’élément <EncryptedData/>
  qui contient les données codées
• Les informations sur la clé utilisé sont encapsulées dans
  un élément <ds:KeyInfo>
• Peut chiffrer une partie ou la totalité d’un document



                              54
Quelques éléments

• CipherData:
   • Contient les données cryptées soit:
      • sous forme d’octets dans <CipherValue>
      • sous forme de référence dans <CipherReference>
• EncryptedData :
   • Elément principal contient CipherData.
• EncryptedKey:
   • Contient la clé cryptée et est utilisé pour les transports de clés
   • Quand il est décrypté, utilisé par EncryptionMethod
• EncryptionMethod:
   • Décrit l'algorithme de cryptage appliqué aux données chiffrées
     (optionnel)


                                     55
Exemple

<EncryptedData xmlns='http://www.w3.org/2001/04/xmlenc#'
   Type='http://www.w3.org/2001/04/xmlenc#Element'/>
   <EncryptionMethod
   Algorithm='http://www.w3.org/2001/04/xmlenc#tripledes-
   cbc'/>
   <ds:KeyInfo xmlns:ds='http://www.w3.org/2000/09/xmldsig#'>
        <ds:KeyName>Marcel DUPOND</ds:KeyName>
   </ds:KeyInfo>
   <CipherData><CipherValue>DEADBEEF</CipherValue></Ci
   pherData>
</EncryptedData>




                               56
5.4 WS-Security

• Modèle d'intégration des dialectes XML pour la
  sécurité à WS-Security, et donc aux messages
  SOAP
• Intégration dans les entêtes SOAP des droits,
  signatures, encryption, ….
• Intégré dans les infrastructures J2EE et .NET




                         57
Jetons de sécurité

• Bases pour une authentification et une autorisation distribuées
• Les jetons de sécurité définissent des affirmations faites au sujet
  d’une identité, d’aptitude ou de privilèges
    • Nom, adresse mèl, clé, groupe, rôle, etc.
    • Attributs/propriétés de sécurité
• Quelques exemples
    • Non signé
        • Jeton Nom d’utilisateur
    • Signé
        • Certificat X.509, ticket Kerberos, assertion SAML, licence XrML, etc.
    • Preuve de possession
        • Clé secrète, mot de passe
        • L’authentification implique la vérification de cette connaissance




                                        58
Exemple (MS)
             <S:Envelope … >
              <S:Header>
                <wsa:ReplyTo>
                 <wsa:Address>http://business456.com/User12</wsa:Address>
Addressing      </wsa:ReplyTo>
                <wsa:To>http://fabrikam123.com/Traffic</wsa:To>
                <wsa:Action>http://fabrikam123.com/Traffic/Status</wsa:Action>
               <wssec:Security>
                  <wssec:BinarySecurityToken
                      ValueType="wssec:X509v3"
 Security             EncodingType=“wssec:Base64Binary">
                  dWJzY3JpYmVyLVBlc…..eFw0wMTEwMTAwMD
                 </wssec:BinarySecurityToken>
               </wssec:Security>
               <wsrm:Sequence>
 Reliable         <wsu:Identifier>http://fabrikam123.com/seq1234</wsu:Identifier>
Messaging         <wsrm:MessageNumber>10</wsrm:MessageNumber>
               </wsrm:Sequence>
              </S:Header>
              <S:Body>
                <app:TrafficStatus
                   xmlns:app="http://highwaymon.org/payloads">
                 <road>520W</road><speed>3MPH</speed>
                </app:TrafficStatus>
              </S:Body>
             </S:Envelope>
                                            59
WS-* Web Service Architecture de MS

• Architecture WS sécurisée de MS (SP3)
   • STAR pour Secure, Transactional, Asynchronous, Reliable

                                                           Service
               BPEL4WS, Management
                                                         Composition

                                                          Composable
   Security           Reliable            Transactions      Service
                     Messaging                            Assurances


      XSD, WSDL, UDDI, Policy, MetadataExchange          Description


                 XML, SOAP, Addressing                   Messaging


               HTTP, HTTPS, SMTP, etc.                   Transports


                                     60
   6. En résumé ...

   • Le front-office vers XML      • Questions ?
        •    Saisie
        •    Interface graphique
        •    Portail d’infos
        •    Bureautique
   • La sécurité renforcée
        • PKI accessible en XML
        • Signature
        • Chiffrement
   • Intégration au WS
        • WS-Security




Conclusion                         61

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:7
posted:9/17/2012
language:Unknown
pages:61