Research Article

Formal Security Analysis and Improvement Based on LonTalk Authentication Protocol

Algorithm 3

Send_MSG4.
(1)id2, msg2sendb = Split (msg3), where msg3 is sent from Server
(2)ida, idb = Split (ida, idb), and new id2 = Combine (idb, ida)
(3)msg2sendb = {msg2sendbcon, kbs}
if kbs = = kbs’ then
 msg2sendbcon = Decrypt (msg2sendb, kbs’)
else return Fail
(4)x, na, timestamp, msg3con = Split (msg2sendbcon)
if timestamp >= CurrentTime ()-5 AND timestamp <= CurrentTime () + 5 then
 msg4con = Combine (id2, nb, na, y)
 msg4send = Encrypt (msg4con, kbs)
 Send (msg4), where msg4 = {idb, msg4send}
else return Fail