Comité technique XFT
11/01/2011
Authentification, identification et gestion des dossiers
Ordre du jour
1. Authentification et identification2. Gestion des dossiers3. Prochains comités
1. Authentification et identification
2.1. Authentification simple
<Requester Channel="Internet" Application="…">
<Agency Uid="…" Pwd="…">
<Agent>
<Name>
<LastName><![CDATA[…]]></LastName>
</Name>
</Agent>
</Agency>
</Requester>
• Cryptage : Du message en entier D’un fragment XML
Crypter tout le message
• XFT est une enveloppe, dans une enveloppe, dans une enveloppe
Entête HTTP
Corps HTTP
Entête SOAP
Corps SOAP Message XFT
Crypter tout le message
• Au niveau HTTP : HTTPS (HTPP + TLS/SSL) Pour : Solution simple, éprouvée et performante pour
sécuriser de point à point. Contre : Trop technique et non métier. Pas de gestion
des intermédiaires autres que les machines relais.• Au niveau SOAP : WS-Security
Pour : Riche et souple, adapté aux contraintes métier. Contre : Solution complexe, lourde et lente. XFT est-il à
l’aise avec l’utilisation de l’en-tête SOAP ?• Au niveau XFT : Que pouvons nous proposer ?
• Crypter un élément XML particulier• La solution XFT :
@EncryptionKey & @Encrypted (Hkey, xxxPolynom, Public, Secret)
• Exemple : ….
• Conçu mais jamais implémentée.
• Crypter un élément XML particulier• La solution du W3C :
http://www.w3.org/TR/xmlenc-core/• Exemple :
<Requester Channel="Internet" Application="…“><EncryptedData Type='http://www.w3.org/2001/04/xmlenc#Element‘ xmlns='http://www.w3.org/2001/04/xmlenc#'> <CipherData>
<CipherValue>A23B45C56</CipherValue> </CipherData></EncryptedData></Requester>
• Limite : pas de cryptage des attributs seuls
2.2. Traçabilité
• Un requester par intermédiare ? Requester juxtaposés ou emboîtés ? Avec Timestamp ?
• S’inspirer de WS-Routing ? <path xmlns:m=http://schemas.xmlsoap.org/rp/>
<from>Distributeur</from> <to>Fournisseur</to><fwd>
<via>Intermédiaire 1</via><via>Intermédiaire 2</via>
</fwd></path>
• Identifier les portions du message modifiées par un intermédiaire.
Est-ce utile ? Comment le fait-on ?
• Des éléments de types <del> et <ins>, comme en HTML<p>Je vais skier aux <del>Alpes</del><ins>Pyrénées</ins></p>
• Des attributs ?
2.3. SSO & UID
• SSO : Avec des serveurs d’ID.
SSO
• Transactions dédiées : authenticateUser createUser getUser searchUser sendPassword updateUser upperSearchUser
SSO
• getUser :
<Transaction xsi:type="TransactionDataRequestType”<Control /><Action Purpose="Get" Code="User"/><Agent>
<Code Role="Key" Value="12"/></Agent>
</Transaction>
• Gestion des accréditations Selectour
• UID, généré comment : Nombre/texte de série (incrémentiel) ? Nombre/texte aléatoire ? A partir d’un identifiant existant ?
• Exigence : L’UID doit être compréhensible et mnémotechnique Ou il peut être opaque si on peut le générer de façon
compréhensible et mnémotechnique
• « A partir d’un identifiant existant », lequel ? Des URL/NDD :
• Tous : URL complètes Comme OpenID
• Entreprises : hash à partir des noms de domaines. Comme TinyURL ou les UUID V3
D’un identifiant étatique ?• Entreprises : TVA intracommunataire ?• Agence : SIRET et autres ?• Entreprises : hash à partir du numéro de SS ?
Attention à l’usage du numéro de SS
• Utiliser des UID pour générer des UID• Exemple :
NDD hashé => UID Entreprise UID Entreprise + identifiant d’agence => UID Agence UID Entreprise + identifiant d’employé => UID Agent
2. Gestion des dossiers
• …
• Alerte et notifications :
• Alertes et notifications, comment ? WS inversé où le fournisseur consomme « ping » en SMTP, FTP, HTTP ? Enrichissement de transactions
• Par exemple : référence dans une réponse de createBooking
Transaction dédiée :• getUpdatedBooking
3. Prochains comités
Prochains comités
Sujet : Package dynamique ?
Où ?
Quand ?
Merci de votre attention