Transcript Pot Pourri

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
•
•
•
•
•
XForms
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: 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
‹#›
Saisie des formulaires
• Génération et contrôle du message XML
• Contrôle sur le client ou le serveur
XForms
User
Interface
XForms
Model
XForms Submit Protocol
XForms
‹#›
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
‹#›
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
‹#›
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
‹#›
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
‹#›
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
•
•
•
•
XUL
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
‹#›
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>
<description>Hello world!</description>
</box>
<button label="Désactivé" disabled="true"/>
</window>
XUL
‹#›
Boite à texte
Bouton désactivé
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
‹#›
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
‹#›
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
‹#›
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
‹#›
RDF: Graphe Sémantique
http://www.exemple.org
ref-article1
http://www.exemple.org/article1
titre
auteur
"Tim Berners-Lee"
RDF
"Semantic Web"
‹#›
date
"30-10-2003"
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
‹#›
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
‹#›
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
‹#›
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
‹#›
Agrégateurs RSS
•
•
•
•
•
•
•
•
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 …)
‹#›
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
‹#›
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>[email protected]</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
‹#›
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
‹#›
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
Web 2.0
‹#›
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 (meshups)
• Partage, collaboration, implication
• valeurs fondamentales du web 2.0
• une évolution des usages au-delà des avancées
techniques
Web 2.0
‹#›
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
‹#›
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
‹#›
Du Web au Web Semantique
W3C Semantic Web Activity
Marja-Riita Koivunen and Eric Miller, Nov. 2001
Web 2.0
‹#›
Pile de travail
Web 2.0
‹#›
Contributions essentielles
• XML Schema
• RDF et RDFS (RDF Schema)
• Ontologie
• RDF Schema
• DAML+OIL (Oasis)
• OWL
Web 2.0
‹#›
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
‹#›
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
‹#›
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
‹#›
Exemple d'Ontologie (OTA)
Web 2.0
‹#›
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
‹#›
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
‹#›
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
‹#›
Import et Export
Import
XSL
Format
XML
Modèle
Format
XML
Export
XSL
DTD
‹#›
OpenDocument
OpenDocument
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
‹#›
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
‹#›
Format OpenDocument
Fichiers XML
content.xml
meta.xml
setting.xml
styles.xml
Autres fichiers
minetype
layout-cache
‹#›
Répertoires
Basic/
META-INF/
Thumbnails/
Pictures/
Configuration2/
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é
‹#›
Les groupes de st andardisation
XML
Encryption
XML
Signature
XKMS
W3C
Architecture
XrML
Provisioning
WS-Security
Biometrics
SAML
XACML
OASIS
Joint Security
‹#›
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)
‹#›
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
‹#›
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…).
‹#›
XKRSS
• Définit le protocole permettant la gestion du
cycle de vie d’une clé
•
•
•
•
Key
Key
Key
Key
Registration
Reissue
Revocation
Recovery
‹#›
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>
‹#›
XKISS: Recherche d’une clé par nom
Requête "Client"
<SOAP:Envelope>
<LocateRequest>
<KeyInfoQuery>
<ds:KeyName>MyMMM</ds:KeyName>
</KeyInfoQuery>
</LocateRequest>
</SOAP:Envelope>
Reponse du service XKMS
<SOAP:Envelope>
<LocateResult>
<ds:KeyInfo>
<ds:KeyName>MyMMM</ds:KeyName>
<ds:KeyValue>...AfG7We7...</ds:KeyValue>
</dsKeyInfo>
</LocateResult>
</SOAP:Envelope>
‹#›
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é
‹#›
Principe des signatures
A
B
H
Résumé
H
Document
Document
CsB
CPB
Résumé
on compare
CsA
Signature
Signature
CPA Résumé
• 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é
‹#›
Structure du message
Englobe l'information signée
Ouvre la signature
électronique
<Signature>
<SignedInfo>
(CanonicalizationMethod)
(SignatureMethod)
Indique la méthode de
(<Reference (URI=)? >
canonisation des objets
(Transforms)?
(DigestMethod)
(DigestValue)
Définit l'algorithme utilisé
</Reference>)+
pour transformer l'élément SignedInfo
canonisé en SignatureValue
</SignedInfo>
(SignatureValue)
(KeyInfo)?
(Object)*
Décrit chaque objet à signer,
en particulier sa localisation
Définit la liste des transformations appliquées
à l'objet avant calcul du digest
Référence la méthode de calcul du digest
Contient la valeur du digest de l'objet
Contient la valeur du résumé de
l'élément <SignedInfo> chiffré
</Signature>
Définit les clés de chiffrements
nécessaires au calcul de la signature
Protocole Sécurité
‹#›
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é
‹#›
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
‹#›
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)
‹#›
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></Cip
herData>
</EncryptedData>
‹#›
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
‹#›
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
‹#›
Exemple (MS)
Addressing
Security
Reliable
Messaging
<S:Envelope … >
<S:Header>
<wsa:ReplyTo>
<wsa:Address>http://business456.com/User12</wsa:Address>
</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"
EncodingType=“wssec:Base64Binary">
dWJzY3JpYmVyLVBlc…..eFw0wMTEwMTAwMD
</wssec:BinarySecurityToken>
</wssec:Security>
<wsrm:Sequence>
<wsu:Identifier>http://fabrikam123.com/seq1234</wsu:Identifier>
<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>
‹#›
WS-* Web Service Architecture de MS
• Architecture WS sécurisée de MS (SP3)
• STAR pour Secure, Transactional, Asynchronous, Reliable
Service
Composition
BPEL4WS, Management
Security
Reliable
Messaging
Transactions
XSD, WSDL, UDDI, Policy, MetadataExchange
Composable
Service
Assurances
Description
XML, SOAP, Addressing
Messaging
HTTP, HTTPS, SMTP, etc.
Transports
‹#›
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
‹#›