Patient asks his cryptographic USB to create a key pair and attaches it to DID |
D.1 Patient USB—Patient : DID D.2 USB—Patient Patient : kb |
Patient sends his identifier k0 to HAP requests his attributes and asks him to link them do DID and kb |
D.3 Patient HAP : k0, DID, kb, |
HAP challenges patient to prove that he is the owner of k0 and kb |
D.4 HAP Patient : k0, Np D.5 Patient USB—Patient : HAP, H(k0, Np) D.6 USB—Patient Patient : D.7 Patient USB—Patient : DID, H(kb, Np) D.8 USB—Patient Patient : D.9 Patient HAP : |
HAP asks his USB to sign the link between DID and kb and stores the result in Indy |
D.10 HAP USB—HAP : HAP, H(DID, kb) D.11 USB—HAP HAP : D.12 HAP Indy : DID, kb, |
HAP looks for the address of the EMR in his database and requests it from IPFS |
D.13 HAP HAP—DB : k0 D.14 HAP—DB HAP : k0, H(F), D.15 HAP IPFS : H(F) D.16 IPFS HAP : |
HAP attaches EMR to DID and saves it in IPFS |
D.17 HAP IPFS : |
HAP sends to Patient the IPFS address of the requested EMR with its protection key |
D.18 HAP Patient : H(F1), |
Patient saves the name of attributes, the address of their EMR and their protection key in his Wallet |
D.19 Patient Wallet : , H(F1), |