1 - User 1 sends his\her Id and EN Kpubuser2 (Data) to the IPFS.
2 - IPFS sends @ IPFS and H IPFS to User2
3 - User 2 sends his\her Id and EN Kpubuser1 (Data) to the IPFS.
4 - IPFS sends @ IPFS and H IPFS to User1
b) Smart contract execution
1 - User 1 signs his\her smart contract with his/her private key K priv (this smart
contract demands @ IPFS and H IPFS from the acceptation smart contract) and
sends it to the Blockchain.
2 - The Blockchain sends the signed Smart Contract to the TEE
3 - TEE extracts the hash H kpub and compares it with the hashes in T ht
4 - User 2 signs his\her contract that contains his\her @ IPFS and H IPFS with his
\her K priv and sends it to the Blockchain.
5 - The Blockchain sends the signed Smart contract to the TEE. The latter
extracts the H Kpub of User 2 and compares it with the hashes in T h. After that,
it builds a file that contain missing data.
6 - TEE sends the file that contains the L DD (List of demanded data), @ IPFS ,
H IPFS and timestamp (from acceptation smart contract) to IPFS
7 - IPFS verifies the TEE request that contains @ IPFS , H IPFS , L DD and timestamp after that it sends missing data to the TEE.
8 - TEE executes the smart contract
9 - TEE sends the executed results to the Blockchain.
3.3 E-Health Use Case
We present in the following the steps of our solution when applied to e-health scenario.
In this use case, we have two actors, the doctor and the patient. Figure 5 shows the
steps of this use case.
1.1, 1.2, 1.3 and 1.4: Both doctor and patient send EN Kpub (data) + ID and receive
@ IPFS + H IPFS
2 - The doctor sends his/her ID and signed smart contract to the Blockchain.
3 - The Blockchain sends this smart contract to TEE
Fig. 5. All the exchanges in e-health scenario
Trust Execution Environment and Multi-party Computation
283
Précédent

- 290/446

Suivant