COMMUNICATION AVEC LA BCSS

Documents pareils
Volet Synchrone pour Client Lourd

Classification : public 1/59

Programmation Web Avancée Introduction aux services Web

25 septembre Migration des accès au Registre national en protocole X.25 vers le protocole TCP/IP, pour les utilisateurs du Registre national

MINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE

DESCRIPTION DU COMPOSANT

Urbanisation des SI Conduite du changement IT 20/03/09. Patrick CHAMBET

Identification du module

TP WEBSERVICES. 1 Pré-requis. 1.1 L environnement de développement. 1.2 Les librairies nécessaires 1.3 SOAPUI

Web Services : Beyond the peer-to-peer architecture

Conception de sites web marchands: TP 1

Groupe Eyrolles, 2004 ISBN :

Application des Spécifications détaillées pour la Retraite, architecture portail à portail

ENVOLE 1.5. Calendrier Envole

Accès réseau Banque-Carrefour par l Internet Version /06/2005

UNIVERSITÉ DU QUÉBEC EN OUTAOUAIS

Introduction aux «Services Web»

4. SERVICES WEB REST 46

BPEL Orchestration de Web Services

SITE WEB E-COMMERCE ET VENTE A DISTANCE

Intégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat)

Sécurité des réseaux sans fil

Responsable du cours : Héla Hachicha. Année Universitaire :

Plateforme PAYZEN. Définition de Web-services

Les services web. Plan. Définitions et généralités Architecture et technologies au cœur des services web

Bee Ware. Cible de Sécurité CSPN. Validation Fonctionnelle Validation Fonctionnelle Bon pour application AMOA BEEWARE BEEWARE

Sécurité des Web Services (SOAP vs REST)

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. A308, Université de Paris 13

CQP Développeur Nouvelles Technologies (DNT)

Mieux comprendre les certificats SSL THAWTE EST L UN DES PRINCIPAUX FOURNISSEURS DE CERTIFICATS SSL DANS LE MONDE

FTPS AVEC UNE APPLIANCE FAST360 EN COUPURE. Table des matières

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

CIBLE DE SECURITE CSPN DU PRODUIT PASS. (Product for Advanced SSO)

Solutions d accès sécurisées pour opérer une Market Place Saas multitenante

Introduction. aux architectures web. de Single Sign-On

Qu'est ce qu'une Fédération d'identités? Définitions Fonctionnement de base Fonctionnement détaillé Les principaux composants

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

On Feature Interaction among Web Services Michael Weiss et Babak Esfandiari

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

Innovation technologique dans les établissements scolaires : l ENT, les impacts sur l organisation du travail et les risques associés

CHECKLIST : OUVERTURE DES OFFRES

Protocole NSI Registry de registraire (RRP) version 1.1.0

Valoriser vos bases de connaissances avec AMI Help Desk. AMI Enterprise Discovery version 3.9

Sécurisation des architectures traditionnelles et des SOA

Définition des Webservices Ordre de paiement par . Version 1.0

arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole :

Administration de Citrix NetScaler 10.5 CNS-205-1I

Le cadre d'interopérabilité du DMP. Juillet 2007

Processus 2D-Doc. Version : 1.1 Date : 16/11/2012 Pôle Convergence AGENCE NATIONALE DES TITRES SECURISÉS. Processus 2D-Doc.

Rapport de certification

Cookbook BCE Public Search Webservice. Version 3.0.0

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

1 La visualisation des logs au CNES

Introduction à la sécurité Cours 8 Infrastructure de clés publiques. Catalin Dima

Environnements de Développement

Single Sign-On open source avec CAS (Central Authentication Service)

Note Technique Sécurité. Système d'authentification. Authentification hors APN LuxGSM Authentification 3G/APN. Système de notification

Vulnérabilités et sécurisation des applications Web

LINUX - Sécurité. Déroulé de l'action. - 3 jours - Contenu de formation

Manuel. User Management BUCOM

Configuration d'un annuaire LDAP

PASS v2.0 : solution d authentification unique basée sur les composants Shibboleth Service Provider v2.5.1 et Identity Provider v2.3.

Transport Layer Security (TLS) Guide de mise en œuvre. Version: 1.0

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

RTE Technologies. RTE Geoloc. Configuration avec Proxy ou Firewall

Augmenter l efficacité et la sécurité avec la gestion des identités et le SSO

Appui SIE :Développement de services web ADES/SIE

EXPOSE. La SuisseID, qu est ce que c est? Secrétariat d Etat à l Economie SECO Pierre Hemmer, Chef du développement egovernment

PortWise Access Management Suite

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier

Focus messagerie. Entreprises Serveur de messagerie Logiciel client. Particuliers

OZSSI NORD 4 JUIN LILLE. Conférence thématique: Sécurité des applications

Implémentation libre de Liberty Alliance. Frédéric Péters

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

La sécurité des processus métiers et des transactions. Stéphane Marcassin Bull Services Sécurité

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones.

EJBCA Le futur de la PKI

BCED - WI. Carine D Hamers (ETNIC) Bernard Genin (DTIC) et Laurent Servais (ETNIC) Alexia Antoine (BCED) et Sami Laribi (ETNIC)

ASIP Santé DST des interfaces MSSanté des Clients de messagerie v /02/ / 95

Dispositif e-learning déployé sur les postes de travail

Tour d horizon des différents SSO disponibles

DLTA Deploy. Une offre unique de gestion de flotte mobile pour iphone, ipad & ipod touch. La solution de gestion de flotte mobile pour ios

agility made possible


Marché à Procédure adaptée. Tierce maintenance applicative pour le portail web

Installation de SCCM 2012 (v2)

Introduction aux. services web 2 / 2

WIFI sécurisé en entreprise (sur un Active Directory 2008)

Le 09 et 10 Décembre 09

Logiciel de connexion sécurisée. M2Me_Secure. NOTICE D'UTILISATION Document référence :

NOTE: Pour une meilleure sécurisation, nous vous recommandons de faire l installation des outils web à l intérieur d un serveur virtuel.

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Transcription:

21 janvier 2009 26 mars 2009 1 juillet2009 31 août 2009 COMMUNICATION AVEC LA BCSS La préoccupation de l informatique de la BCSS est d être interopérable avec ses partenaires. Elle a opté en 2006 pour une migration de sa plateforme mainframe (zos) vers une plateforme distribuée (Linux) pour lui permettre d adopter des standards ouverts non liés { un constructeur. L emploi de ces différentes normes nécessite cependant une série de règles et de comportement pour assurer une compatibilité maximum avec les partenaires de son réseau. L objectif de ce document est, en premier lieu, de survoler les différents domaines et, dans une seconde phase, préciser certains détails MÉTHODOLOGIE Nous nous inscrivons dans une approche itérative dans laquelle nous veillons à concilier les besoins du demandeur et ceux de la BCSS. Par exemple, nous voulons disposer d une architecture robuste et consolider les investissements en matériel et en développement. La méthodologie est celle du Two Track Unified Process symbolisé par les deux branches de l Y afin d arriver { une conception qui tient compte des aspects fonctionnels et non fonctionnels. Elle est également itérative. Page 1 of 10

D autre part, nous nous engageons résolument dans une approche orientée services. VUE DU CONTEXTE Les échanges de la plateforme BCSS se subdivisent en deux groupes : le premier comprend ceux développés pour répondre à des besoins exprimés par des clients et le second, ceux que des sources authentiques mettent à sa disposition. Le rôle de la BCSS est de faciliter les échanges et ou les encourager entre les partenaires de la BCSS tout en veillant au respect de proportionnalité, de confidentialité et des autorisations accordées par le comité sectoriel. Page 2 of 10

BESOINS DU CLIENT Nous attendons de notre partenaire l expression de ses besoins fonctionnels vis-à-vis du réseau de la Sécurité Sociale. La base de cette demande est évidemment fondée sur la législation par des textes réglementaires. De plus l accord du comité sectoriel doit être sollicité et obtenu avant toute mise en production. Divers diagrammes permettent de comprendre le périmètre du projet ainsi que ce qu on attend du système. Par exemple, le SYSTEM CONTEXT précise dès lors les différents acteurs, leur mode d interaction (haut niveau) ainsi que leur responsabilité respective. Le diagramme bassin de natation permet de décrire les fonctionnalités sous forme d activités sous le contrôle de chacun des acteurs. LE CONTRAT DE L ÉCHANGE D UN SERVICE À RENDRE Techniquement, après une réflexion itérative, nous aboutirons { l élaboration d un SERVICE comportant une ou plusieurs OPERATIONS, chacune ayant un contenu précis d un REQUEST et d une RESPONSE. C est en fait, le contrat de ce qui sera échangé entre chaque plateforme. La réponse «métier» décrit à la fois les types de réponses positives au service demandé comme celles négatives. Une distinction utile est de séparer les erreurs «métiers» des erreurs «techniques». Une erreur «métier» survient lorsque le service { rendre n a pas pu être rendu pour des raisons métiers. Ce sont des exceptions prévisibles et l application sait comment poursuivre sa logique. Exemple : le SSIN communiqué n est pas connu chez le fournisseur de l information. Une erreur «technique», par contre, devrait être exceptionnelle et couvrir les incidents dont l application peut tenir compte mais n est pas capable de régler. Page 3 of 10

BESOINS DE LA BCSS La BCSS doit pouvoir être capable, suivant les contraintes du comité sectoriel, d authentifier l application cliente et, ou l utilisateur { la base de la demande, de fournir le service demandé tout en filtrant éventuellement les informations hors du champ d application réglementaire. Elle doit également prendre une trace de ce qui est échangé (quand, qui, quoi). ASPECTS TECHNIQUES Nous n oublierons pas de tenir compte, en plus des besoins fonctionnels, des besoins non fonctionnels qui nous permettront de passer d un modèle du maître d ouvrage { celui d un modèle d exécution. En d autres termes, nous devons prévoir un scénario en temps réel qui tient compte des exceptions. On ajoute ainsi pour chaque OPERATION un contenu lié aux exceptions techniques. Par exemple, si le message reçu n est pas conforme au schéma ou que le service n est pas disponible. Remarque importante : le client peut avoir une exception sans ce message lorsque le problème arrive dans une couche inférieure comme lors de l établissement de session http : HTTPCODE 400 / 500 / etc. WSDL La BCSS suit la convention suivante, le WSDL (1.1) contient la définition des opérations sous la forme <verbobjectxxx> et repris au niveau des paramètres. Service operation <verbobject> request <verbobjectrequest> liés au métier (fonctionnel) response <verbobjectresponse> positive ou négative fault <verbobjectfault> Pré-requis non respectés Système indisponible Etc Pour être compliant au WS-I (Web Service compatibility), nous avons opté pour les options suivantes pour ce contrat : Etre au sein d un message SOAP Le style est document et l encoding (use=) litteral L élément <Envelope><Body> ne contient qu un seul élément Suivant le stade de l échange : <verbobjectrequest> <verbobjectresponse> <Fault><Detail><verbObjectFalut> Le message <verbobjectfault> est le fils de l élément <Envelope><Body><Fault><Detail> Page 4 of 10

SCHEMA Le schéma associé au WSDL reprend la définition des éléments sous forme de SimpleType ou ComplexType avec la convention suivante : Le nom de ces «<Type» respecte la casse : «Pascal case» : Exemple <xs :SimpleType name= GenderType > Les noms des éléments et des attributs suivant la casse «camel case» Exemple <gender>f</gender> Le namespace est http://kszbcss.fgov.be/intf/<servicename>/v<n> : Service name en Pascal case. Nous évitons la technique «salami» qui consiste { employer l option ref=. Nous préconisons le premier des deux design patterns : Venitian Blind Design : usage de Complex et Simple Types globaux. Russian Doll Design : usage de déclarations locales. SESSION HTTP VS HTTPS Nous préconisons l usage d une session sécurisée SSL/TLS pour les environnements d acceptation et de production pour se prémunir d appel de serveurs non prévus ou d une interversion d environnement. Au niveau de la BCSS nous vérifions si le certificat reçu du partenaire appartient à la liste de confiance (environnement approprié et autorité d enregistrement de confiance). Pour l environnement de test, le niveau de sécurité peut être réduit car l accent est mis principalement à la mise au point et la validation de la logique métier. AUTHENTIFICATION DE L APPELANT (APPLICATION CLIENTE, ) Nous préconisons l adoption des normes WS-Security [WS-sec v1.1] pour authentifier le client dans un SOAP 1.1 Suivant le cas de figure, nous opterons : Une signature du contenu <Body> et d un timestamp, avec la communication du certificat de l application cliente. [X509v3] Une assertion d authentification [ SAML v2] Cela permet de disposer de l organisation qui nous appelle et, dans le deuxième cas, également, l utilisateur qui s est connecté { l application cliente. Ces informations sont nécessaires pour interroger le système UAM afin de respecter la police d autorisation. Ces informations sont donc glissées sous l élément <Envelope><Header> du message SOAP et la logique métier n est pas impactée par cet ajout d une couche de sécurité. Page 5 of 10

NORMALISATION DES CHAMPS DES CERTIFICATS DE LA BCSS Le certificat «serveur» d identification de la BCSS pour les sessions en SSL (transport) Champ Valeur Commentaire X.509 C BE O Federal Government OU KSZ-BCSS OU 0244640631 Numéro BCE-KBO de la BCSS OU TEST ACPT Une «Organization Unit» supplémentaire pour les deux environnements de test et d acceptation. CN b2b-test.ksz-bcss.fgov.be b2b-acpt.ksz-bcss.fgov.be b2b.ksz-bcss.fgov.be Les points d entrées sont distincts par environnement Le certificat «client» d identification de la BCSS pour les sessions en SSL (transport) Champ Valeur Commentaire X.509 C BE O Federal Government OU KSZ-BCSS OU 0244640631 Numéro BCE-KBO de la BCSS OU TEST ACPT Une «Organization Unit» supplémentaire pour les deux environnements de test et d acceptation. CN c-b2b-test.ksz-bcss.fgov.be c-b2b-acpt.ksz-bcss.fgov.be c-b2b.ksz-bcss.fgov.be Les points d entrées sont distincts par environnement Le certificat d application identifiant la BCSS utilisé pour signer les messages (WS-security x.509 certificate Token Profile 1.1) (niveau message) Champ Valeur Commentaire X.509 C BE O Federal Government OU KSZ-BCSS OU urn:be:fgov:kbo-bce:organization:cbe-number: 0244640631 Numéro BCE-KBO de la BCSS OU TEST ACPT Une «Organization Unit» supplémentaire pour les deux environnements de CN esb-test.ksz-bcss.fgov.be esb-acpt.ksz-bcss.fgov.be esb.ksz-bcss.fgov.be test et d acceptation. Les points d entrées sont distincts par environnement Page 6 of 10

Pour information, voici les données concernant le certificat SSL de la BCSS de production. Page 7 of 10

ADRESSES «INBOUND» ET «OUTBOUND» DES ENVIRONNEMENTS BCSS Environnement Address nat (Inbound) Address nat (Outbound) BCSS Port 4520 (https) Développement 85.91.184.96 85.91.184.96 Acceptation 85.91.184.103 85.91.184.91 85.91.184.92 Production 85.91.184.102 85.91.184.93 85.91.184.94 Remarques : Le port 4520 est destiné aux WS avec WSDL & XSD spécifiques. Le port 4530 accueille les requêtes SOAP avec élément de type string <SendXml> [SSDN- Request] WEBSERVICE POUR TESTER LA CONNEXION HTTPS La définition TestConnectionService.wsdl permet d établir une session SSL avec l environnement désiré. Si la session utilise le certificat client «accepté par la BCSS», le service répond avec le message envoyé ainsi que le «Distinguish Name» du certificat. La requête : https://...:4520/testconnectionserviceservice/sendtestmessage La réponse Page 8 of 10

Aide mémoire Référence La casse signification exemple <name1> Pascal case Le nom exprimant la finalité du service MandatPuHma <operation> camel case Le <verbe-objet> identifiant le besoin checkmandatpuhma demandé <name2> Pascal case Le <operation> en Pascal case CheckMandatPuHma wsdl :definitions namespace s11 = http://schemas.xmlsoap.org/soap/envelope/ wsdl = http://schemas.xmlsoap.org/wsdl/ xsd = http://www.w3.org/2001/xmlschema puo = http://kszbcss.fgov.be/types/<name1>/v1 [Pascal case] tns = http://kszbcss.fgov.be/intf/<name1>service/v1 targetnamespace tns = http://kszbcss.fgov.be/intf/<name1>service/v1 name = <name1>service [Pascal case] wsdl :types xsd :schema attributeformdefault = unqualified elementformdefault = unqualified xmlns :puo=. xmlns=tns= targetnamespace tns xsd :import namespace puo schemalocation= <name1>v1.xsd xsd :element name = <operation>request [camel case] type = puo :<name2>requesttype [Pascal case] même démarche pour Response / Fault, sauf un même type= générique pour les fault si plusieurs opérations wsdl :message name = <operation>requestmsg wsdl :part element=tns :<operation>request name=<operation>requestparameters idem avec suffixes Response, Fault wsdl :porttype name =<name1>porttype [Pascal case] Page 9 of 10

wsdl :operation name= <operation> wsdl:input o message = tns :<operation>requestmsg o name= <operation>request wsdl:output o message = tns :<operation>responsemsg o name= <operation>response wsdl:fault o message = tns :<operation>faultmsg o name= <operation>fault [camel case] pour chaque opération wsdl :binding name = <name1>servicehttpbinding type= tns :<name1>porttype soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> wsdl :operation name= <operation> idem pour chaque opération soap :operation soapaction= http://kszbcss.fgov.be/<name1>service/<operation> wsdl:input name=<operation>request + soap:body use= literal wsdl:output name=<operation>response + soap:body use= literal wsdl:fault name=<operation>fault + soap:fault use= literal name=<operation>fault wsdl :service name = <name1>service wsdl :port binding = tns :<name1>servicehttpbinding name =<name1> soap :address location= https://b2b.kszbcss.fgov.be :4520/<name1>Service/<name1> or <operation> si unique Page 10 of 10