|
User | Public cloud server (PS) | IOT device |
|
IDu, PWu | | |
Computes: |
= rep(BIO, ) |
PIDu = h(IDu|| |
P u = h(PWu|| |
M = h(IDu||PWu|| |
U 1 = DM(U2) |
r u = U3 h(PIDu||Pu) |
MSKups = U1 h(ru||Pu) |
U 4? = h(PIDu||Pu||ru) |
Select TLA1 and r2 |
S 1 = (IDu||r2) MSKups TLA1 |
S 2 = PIDu h(MSKups||r2||TLA1) |
S 3 = h(PIDU||MSKups||r2||TLA1) |
|
| Check TLA1-T T | |
MSKups = h(IDps||SKps) Nu |
(IDi||r2) = S1 MSKups TLA1 |
PIDu = S2 h(MSKups||r2||TLA1) |
S3? = h(PIDu||MSKups||r2||TLA1) |
Select TLA2, r3 |
MSKips = h(IDi||SKps) |
S 4 = (PIDu||IDps||r2||r3) h(IDi||MSKips||TLA2) |
S 5 = h(PIDu||IDps||MSKips||r2||r3||TLA2) |
|
| | Check TLA2-T T |
r i = D1 h(IDi||SKi) |
MSKips = D2 h(SKi||ri) |
(PIDu||IDps||r2||r3) = S4 h(IDi||MSKips||TLA2) |
S5? = h(PIDu||IDps||MSKips||r2||r3||TLA2) |
Select TLA3 and r4 |
S 6 = h(MSKips||PIDi||IDps||TLA3) r4 |
S K = h(r2||r3||r4||PIDu||IDps||IDi) |
S 7 = h(IDi||r4||MSKips||SK||TLA3) |
Message3{S6, S7, TLA3} |
| Check TLA3-T T | |
r 4 = S6 h(MSKips||PIDi||IDps||TLA3) |
S K = h(r2||r3||r4||PIDu||IDps||IDi) |
S7? = h(IDi||r4||MSKips||SK||TLA3) |
Select TLA4 |
S 8= (IDps||r3||r4) h(PIDu||MSKups||r2||TLA4) |
S 9 = h(PIDu||IDps||r2||r3||SK||TLA4) |
Xnew = h(IDu||r3||MSKups) |
|
Check TLA4-T T | | |
(IDps||r3||r4) = S8 h(PIDu||MSKups||r2||TLA4) |
S K = h(r2||r3||r4||PIDu||IDps||IDi) |
S9? = h(PIDu||IDps||r2||r3||SK||TLA4) |
X = h(IDu||r3||MSKups) |
|