Authentification Directe via OLAQIN TAAS (Terminal As A Service)
Un autre moyen d’authentification OLAQIN TAAS (Terminal As A Service) via les APIs des serveurs HDS Stellair
OLAQIN TAAS (Terminal As A Service) est une technologie développée par la société OLAQIN qui permet aux APIs de la DevBox-Santé DMP d’accéder à des terminaux OLAQIN via le réseau Internet.
Les terminaux OLAQIN compatibles avec la technologie OLAQIN TAAS fournit des accès aux cartes Vitale et CPS au travers d’API.
Pour l’accès aux cartes Vitale, Olaqin s’appuie sur son homologation « Lecture Vitale » (via l’option API). Pour l’accès aux cartes des Professionnels de Santé, Olaqin s’appuie sur les développements réalisés dans le cadre de son homologation « Dispositif Intégré ».
Intégration dans la DevBox-santé
Vous pouvez donc installer votre solution DevBox-santé DMP dans votre environnement serveur HDS et utiliser les terminaux Olaqin.
!include https://bitbucket.org/devbox-sante/plantuml/raw/current/themes/theme-devbox-sante.puml
node "Environnement Utilisateur" {
package "Poste client / mobile" {
[FrontEnd intégrateur] as frontend
}
[Lecteur Neo] as lecteur
}
node "Environnement intégrateur HDS" {
[BackEnd intégrateur] as backend
package "DevBox-Santé Proxy REST" DEVBOX_COLOR {
component "DevBox-sante DMP" as dmpFacade #35D9C0 {
[DevBox-sante CPS security Stellair] as cpsStellair #D34A3C
}
}
}
cloud "**Stellair** API" as stellair
cloud "**DMP**" as DMP
frontend -up-> backend : REST
backend -> dmpFacade : REST
cpsStellair -> stellair: REST
stellair <-> lecteur : Demande d'autorisation d'accès aux cartes via le SSO Stellair
dmpFacade -> DMP : SOAP
Diagramme de séquences
!include https://bitbucket.org/devbox-sante/plantuml/raw/current/themes/theme-devbox-sante.puml
box "Environnement utilisateur"
participant "Poste client" as frontend
participant "Lecteur Neo" as lecteur
end box
box "Environnement intégrateur" #white
participant backend
participant "DevBox-Santé DMP" as dbxdmp DMP_COLOR
end box
participant "**DMP**" as dmp
participant "**Stellair**" as stellair
frontend -> backend : storeDocumentPatient
backend -> dbxdmp : /dmp/td21SubmitDocuments
== initialisation d'une connexion SSL en authentification mutuelle avec le DMP ==
dbxdmp -> "DMP" as dmp : [SSL] 1. Client Hello
dmp -> dbxdmp : [SSL] 2. Server Hello (certificat du DMP server inclus)
dmp -> dbxdmp : [SSL] 3. Client certificate request
dbxdmp -> stellair : HTTP GET /cps/certificate/auth
...
stellair <-> lecteur
...
stellair -> dbxdmp : {certificate authentification}
dbxdmp -> dmp : [SSL] 4. Client certificate
dbxdmp -> dmp : [SSL] 5. Client sends key info \n(encrypted with DMP server public's key)
dbxdmp -> stellair : HTTP POST /cps/certificate/auth body : {handshake data}
...
stellair <-> lecteur
...
stellair -> dbxdmp : {signed handshake data}
dbxdmp -> dmp : [SSL] 6. Certificate verify \n (with Digital Signature)
dbxdmp -> dmp : [SSL] 7. Finnished message \n (encrypted with symmetric key)
dmp -> dbxdmp : [SSL] 8. Finnished message \n (encrypted with symmetric key)
== fin de l'initialisation de la connexion ssl avec le DMP ==
dbxdmp -> dmp : POST SOAP message de soumission (XDS/CDA)
dmp -> dbxdmp : SOAP response OK
dbxdmp -> backend : HTTP 200 Ok
backend -> frontend : ok