Authentification Directe (via carte CPx)
Authentification directe en utilisant les cartes CPx (CPS/CPE…) et la cryptolib
Ce mode d’authentification nécessite l’installation sur le poste client d’un lecteur de carte CPS ainsi que le composant DevBox-santé. Le professionnel de santé doit posséder une carte CPS.
Scénario possible : Le frontend/client lourd s’exécutant sur le poste client de l’utilisateur accède au DMP grâce à la DevBox-Santé DMP installé sur le poste client._
Version REST
Diagramme de composants
!theme aws-orange
!define DEVBOX_COLOR #278ef5
!define DMP_COLOR #35D9C0
!define MSS_COLOR #DE5D80
!define INS_COLOR #07A2CF
!define CPS_COLOR #D34A3C
!define VITALE_COLOR #5FD67A
!define PSC_COLOR #ff7765
!define APCV_COLOR #c6e66d
!define ANNUAIRE_COLOR #7613e0
!define DATA_COLOR #ffa800
node "Poste Client (Windows/Mac/Linux)" {
[FrontEnd intégrateur] as frontend
package "DevBox-Santé Proxy REST" DEVBOX_COLOR {
component "DevBox-sante DMP" as dmpFacade #35D9C0 {
[DevBox-sante CPS] as cps #D34A3C
}
}
[Cryptolib CPS (ANS)] as cryptolibCPS
}
[BackEnd intégrateur] as backend
cloud "**DMP**" as DMP
frontend -right-> dmpFacade : REST
cps <-up-> cryptolibCPS : appel natif
dmpFacade -down-> DMP : SOAP
frontend -down-> backend
Version Embedded
Diagramme de composants
!theme aws-orange
!define DEVBOX_COLOR #278ef5
!define DMP_COLOR #35D9C0
!define MSS_COLOR #DE5D80
!define INS_COLOR #07A2CF
!define CPS_COLOR #D34A3C
!define VITALE_COLOR #5FD67A
!define PSC_COLOR #ff7765
!define APCV_COLOR #c6e66d
!define ANNUAIRE_COLOR #7613e0
!define DATA_COLOR #ffa800
node "Poste Client (Windows/Mac/Linux)" {
component "Client de l'intégrateur" {
component "DevBox-Santé Proxy REST" DEVBOX_COLOR {
component "DevBox-sante DMP" as dmpFacade #35D9C0 {
[DevBox-sante CPS] as cps #D34A3C
}
}
}
[Cryptolib CPS (ANS)] as cryptolibCPS
}
cloud "**DMP**" as DMP
cps <--> cryptolibCPS : appel natif
dmpFacade --> DMP : SOAP
Diagramme de séquences
!theme aws-orange
!define DEVBOX_COLOR #278ef5
!define CPS_COLOR #D34A3C
!define VITALE_COLOR #5FD67A
!define DMP_COLOR #35D9C0
!define MSS_COLOR #DE5D80
!define INS_COLOR #07A2CF
box "Poste Client"
participant frontend
participant "DevBox-Santé DMP" as dbxdmp DMP_COLOR
participant "DevBox-Santé CPS" as dbxCps CPS_COLOR
end box
participant "**DMP**" as dmp
frontend -> 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 -> dbxCps : readAuthenticationCertificate
dbxCps -> 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 -> dbxCps : signForAuthentication(SHA256WithRSA, hanshake data)
dbxCps -> 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 -> frontend : ok