Research Article

A Two-Factor RSA-Based Robust Authentication System for Multiserver Environments

Algorithm 4

Role specification for the goal, session, and environment of our protocol in HLPSL.
role session(Ui, RC, ASj: agent,
SKey1  : symmetric_key,
SKey2  : symmetric_key,
H, MUL,SUB: hash_func)
def=
local SI, SJ, RI, RJ, PI, PJ: channel (dy)
composition
user(Ui, RC, ASj, SKey1, SKey2, H, MUL, SUB, SI, RI)
∧ rserver(Ui, RC, ASj, SKey1, SKey2, H, MUL, SUB, SJ, RJ)
∧ aserver(Ui, RC, ASj, SKey1, SKey2, H, MUL, SUB, PI, PJ)
end role
role environment()
def=
const ui, rc, asj: agent,
skey1  : symmetric_key,
skey2  : symmetric_key,
h,mul, sub: hash_func,
idi, pwi, idj, ai, bi, ci, di, ei, fi, m1, m2, m3, m4, m5, m6, ri, rj,
rij, ski, skj, n  : text,
user_aserver_Ri, aserver_user_Rj, sec1, sec2, sec3, sec4, sec5,
sec6: protocol_id
intruder_knowledge = ui, rc, asj, h, mul, m6, rij, m5, m3, di,
ei, fi, n, m1, m2, idj}
composition
session(rc, ui, asj, skey1, skey2, h, mul, sub)
∧ session(ui, rc, asj, skey1, skey2, h, mul, sub)
∧ session(asj, ui, rc, skey1, skey2, h, mul, sub)
end role
goal
secrecy_of sec1
secrecy_of sec2
secrecy_of sec3
secrecy_of sec4
secrecy_of sec5
secrecy_of sec6
authentication_on user_aserver_Ri
authentication_on aserver_user_Rj
end goal
environment()