| Listing 3. CAS+ definition for data retrieval process (without consent). |
| protocol data_retrieval_no_consent; |
| identifiers |
| VO, B, A1, A2, A3 : user; |
| Data : number; |
| Ks : symmetric_key; |
| Ks1,Ks2,Ks3 : number; |
| Kp,Kp1,Kp2,Kp3 : public_key; |
| messages |
| 1. B -> A1 : {Ks1}Kp1 |
| 2. B -> A2 : {Ks2}Kp2 |
| 3. B -> A3 : {Ks3}Kp3 |
| 4. A2 -> A1 : {Ks2}Kp1 |
| 5. A3 -> A1 : {Ks3}Kp1 |
| 6. B -> A1 : {Data}Ks |
| knowledge |
| B : Data,Kp1,Kp2,Kp3,Ks; |
| session_instances |
| [VO:vo,B:b,A1:a1,A2:a2,A3:a3,Data:d,Ks:ks,\\ |
| Kp:kp,Kp1:kp1,Kp2:kp2,Kp3:kp3]; |
| intruder_knowledge |
| vo,b,a1,a2,a3,kp,kp1,kp2,kp3; |
| goals |
| secrecy_of Data |