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