作者 : kaiping xue , peilin hong, changsha ma 出處 :journal of computer and system sciences
DESCRIPTION
A lightweight dynamic pseudonym identity based authentication and key agreement protocol without verification tables for multi-server architecture. 作者 : Kaiping Xue , Peilin Hong, Changsha Ma 出處 :Journal of Computer and System Sciences Volume 80, Issue 1, February 2014, Pages 195–206 - PowerPoint PPT PresentationTRANSCRIPT
多媒體網路安全實驗室
A lightweight dynamic pseudonym identity based authentication and key
agreement protocol without verification tables for multi-server
architecture
A lightweight dynamic pseudonym identity based authentication and key
agreement protocol without verification tables for multi-server
architecture
作者 :Kaiping Xue, Peilin Hong, Changsha Ma出處 :Journal of Computer and System Sciences
Volume 80, Issue 1, February 2014, Pages 195–206
報告人 : 陳鈺惠日期 :2014/3/4
多媒體網路安全實驗室
Outline
Introduction1
Overview of Li et al.’s scheme 2
Weaknesses of Li et al.’s scheme33
Proposed scheme44
35
2
Protocol analysis
Conclusions46
多媒體網路安全實驗室
Introduction
3
隨著科技發展透過網路結合多伺服器提供服務,已經普遍被使用。
在身分認證上在近年來也提出了許多增強安全性的方法。2011 年 Sood 等人提出一個用戶匿名性及多項安全性的
方案。2012年 Li等人認為 Sood的方法仍然會受到攻擊,並提
出了改進方法,改善 Sood的弱點並提高安全性。本文發現 Li 等人的方法仍然不安全,進行研究後提出
了新的方法進行改善。
多媒體網路安全實驗室
4
Overview of Li et al.’s scheme
Ui
The ith user
Sj
The service providing server
CS The control serverID
iThe identity of the user U
i
Pi
The password of the user Ui
SIDk
The identity of the server Sk
yi
The random number chosen by CS for user Ui
x The master secret key maintained by CS
b A random number chosen by the user for registrationCID
iThe dynamic identity generated by the user U
i for authentication
SK A session key shared among the user, the service providing server and the CSN
i1A random number generated by the user U
i's smart card
Ni2
A random number generated by the server Sk for the user U
i
Ni3
A random number generated by the CS for the user Ui
h(·) A one-way hash function⊕ Exclusive-OR operation∥ Message concatenation operation
多媒體網路安全實驗室
5
Overview of Li et al.’s scheme
Ui Sj CSChooses IDi 、 Pi 、 b
Ai=h(b||Pi)
(IDi 、 Ai)
Bi=h(IDi||x) , Ci=h(IDi||h(y)||Ai)
Di=Bi h(ID⊕ i||Ai) , Ei=Bi h(y||x)⊕
(Ci 、 Di 、 Ei 、 h(·) 、 h(y))
Smart card
Ui enter b to smart cardsmart card stores (Ci 、 Di 、 Ei 、 h(·) 、 h(y) 、 b)
多媒體網路安全實驗室
6
Overview of Li et al.’s scheme
Ui Sj CSInputs IDi 、 Pi smart card computes
Ai=h(b||Pi) , Ci′=(IDi||h(y)||Ai)
Ci′=Ci?
Smart card generates Ni1
Bi=Di h(ID⊕ i||Ai) , Fi=h(y) N⊕ i1
Pij=Ei h(h(y)||N⊕ i1||SIDj)
CIDi=Ai h(B⊕ i||Fi||Ni1)
Gi=h(Bi||Ai||Ni1)
(Fi 、 Gi 、 Pij 、 CIDi)
多媒體網路安全實驗室
7
3.Proposed scheme(4/5)Authentication and session key agreement phase
Ui Sj CS Sj chooses Ni2
Ki=h(SIDj||y) N⊕ i2
Mi=h(h(x||y)||Ni2))
(Fi 、 Gi 、 Pij 、 CIDi 、 SIDj 、 Ki 、 Mi)
Ni2=Ki h(SID⊕ j||y)
Mi′=h(h(x||y)||Ni2) , Mi′=Mi?
Ni1=Fi h(y)⊕
Bi=Pij h(h(y)||N⊕ i1||SIDj) h(y||x)⊕
Ai=CIDi h(B⊕ i||Fi||Ni1)
Gi′=h(Bi||Ai||Ni1) , Gi′=Gi?
CS generates Ni3
Qi=Ni1 N⊕ i3 h(SID⊕ j||Ni2)
Ri=h(Ai||Bi) h(N⊕ i1 N⊕ i2 N⊕ i3)
Vi=h(h(Ai||Bi)||h(Ni1 N⊕ i2 N⊕ i3))
Ti=Ni2 N⊕ i3 h(A⊕ i||Bi||Ni1)
多媒體網路安全實驗室
8
Overview of Li et al.’s scheme
Ui Sj CS(Qi 、 Ri 、 Vi 、 Ti)
Ni1 N⊕ i3=Qi h(SID⊕ j||Ni2)
h(Ai||Bi)=Ri h(N⊕ i1 N⊕ i3 N⊕ i2)
Vi′=h(h(Ai||Bi)||h(Ni1 N⊕ i3 N⊕ i2)
Vi′=Vi?
(Vi 、 Ti)
Ni2 N⊕ i3=Ti h(A⊕ i||Bi||Ni1)
Vi′=h(h(Ai||Bi)||h(Ni2 N⊕ i3 N⊕ i1))
Vi′=Vi?
SK=h(h(Ai||Bi)||(Ni1 N⊕ i2 N⊕ i3))
多媒體網路安全實驗室
9
Weaknesses of Li et al.’s schemeReplay attack and Denial-of-service attack
Ui Sj CSInputs IDi 、 Pi smart card computes
Ai=h(b||Pi) , Ci′=(IDi||h(y)||Ai)
Ci′=Ci?
Smart card generates Ni1
Bi=Di h(ID⊕ i||Ai) , Fi=h(y) N⊕ i1
Pij=Ei h(h(y)||N⊕ i1||SIDj)
CIDi=Ai h(B⊕ i||Fi||Ni1)
Gi=h(Bi||Ai||Ni1)
(Fi 、 Gi 、 Pij 、 CIDi)
Sj chooses Ni2
重送 Fi 、 Gi 、 Pij 、 CIDi Ki=h(SIDj||y) N⊕ i2
Sk 和 CS 不能辨識重送的消息 Mi=h(h(x||y)||Ni2))
大量的計算會阻斷服務 (Fi 、 Gi 、 Pij 、 CIDi 、 SIDj 、 Ki 、 Mi)
Ni2=Ki h(SID⊕ j||y)
Mi′=h(h(x||y)||Ni2) , Mi′=Mi?
Ni1=Fi h(y)⊕
Bi=Pij h(h(y)||N⊕ i1||SIDj) h(y||x)⊕
Ai=CIDi h(B⊕ i||Fi||Ni1)
Gi′=h(Bi||Ai||Ni1) , Gi′=Gi?
多媒體網路安全實驗室
10
Weaknesses of Li et al.’s schemeInternal attack
因為 CS 持有 X 、 Y ,同一個 CS 底下的 X 、 Y 是相同的,攻擊者與合法使用者註冊同一個 CS ,攻擊者可以透過相同的X 、 Y 來進行 Internal attack 。
Ui
CS UK
多媒體網路安全實驗室
1111
11
Ui Sj CS
Chooses IDi 、 Pi 、 b
Ai=h(b||Pi) (ID i 、 Ai)
Bi=h(IDi||x) , Ci=h(IDi||h(y)||Ai)
Di=Bi h(ID⊕ i||Ai) , Ei=Bi h(y||⊕x)
(Ci 、 Di 、 Ei 、 h(·) 、 h(y))
Inputs IDi 、 Pi smart card computes
Ai=h(b||Pi) , Ci′=(IDi||h(y)||Ai) Ai=Num1 、 Bi=Num2 攻擊者自行產生 Ai 、 Bi 並用h(y) 、 h(x||y)
Ci′=Ci? 來計算 Ci 、 Di 、 Ei 傳給 CS 做認證還是可以成功。Smart card generates Ni1 這個方法是透過已知的 Ai 、 Bi 來計算不同的 Ai 、 Bi 偽冒不同的使用
Bi=Di h(ID⊕ i||Ai) , Fi=h(y) N⊕ i1 者成功通過 CS 。Pij=Ei h(h(y)||N⊕ i1||SIDj)
CIDi=Ai h(B⊕ i||Fi||Ni1)
Gi=h(Bi||Ai||Ni1)
(Fi 、 Gi 、 Pij 、 CIDi)
Weaknesses of Li et al.’s schemesmart card forgery attack
多媒體網路安全實驗室
12
Weaknesses of Li et al.’s schemeeavesdropping attack
Ui Sj CS Ni2=Ki h(SID⊕ j||y)
UK know h(y)、 h(y||x)and get (Fi、 Gi、 Pij、 CIDi) M i′=h(h(x||y)||Ni2) , Mi′=Mi?
Bi=Ei h(y||x) get B⊕ i get Ni1 Ni1=Fi h(y)⊕
CIDi=Ai h(B⊕ i||Fi||Ni1) get Ai get Pij Bi=Pij h(h(y)||N⊕ i1||SIDj) h(y||x)⊕
Ai=CIDi h(B⊕ i||Fi||Ni1)
Gi′=h(Bi||Ai||Ni1) , Gi′=Gi?
CS generates Ni3
Qi=Ni1 N⊕ i3 h(SID⊕ j||Ni2)
Ri=h(Ai||Bi) h(N⊕ i1 N⊕ i2 N⊕ i3)
Vi=h(h(Ai||Bi)||h(Ni1 N⊕ i2 N⊕ i3))
因此可以計算 Ti=Ni2 N⊕ i3 h(A⊕ i||Bi||Ni1)
(Qi 、 Ri 、 Vi 、 Ti)
Ni1 N⊕ i3=Qi h(SID⊕ j||Ni2)
h(Ai||Bi)=Ri h(N⊕ i1 N⊕ i3 N⊕ i2)
Vi′=h(h(Ai||Bi)||h(Ni1 N⊕ i3 N⊕ i2) , Vi′=Vi?
(Vi 、 Ti)
Ni2 N⊕ i3=Ti h(A⊕ i||Bi||Ni1)
Vi′=h(h(Ai||Bi)||h(Ni2 N⊕ i3 N⊕ i1)) , Vi′=Vi?
SK=h(h(Ai||Bi)||(Ni1 N⊕ i2 N⊕ i3))
12
多媒體網路安全實驗室
13
Weaknesses of Li et al.’s schemeMasquerade attack to pose as a legitimate user
Ui Sj CS Ni2=Ki h(SID⊕ j||y)
UK know h(y)、 h(y||x)and get (Fi、 Gi、 Pij、 CIDi) Mi′=h(h(x||y)||Ni2) , Mi′=Mi?
Bi=Ei h(y||x) get B⊕ i get Ni1 Ni1=Fi h(y)⊕
CIDi=Ai h(B⊕ i||Fi||Ni1) get Ai get Pij Bi=Pij h(h(y)||N⊕ i1||SIDj) h(y||x)⊕
Ai=CIDi h(B⊕ i||Fi||Ni1)
get Gi Gi′=h(Bi||Ai||Ni1) , Gi′=Gi?
CS generates Ni3
Qi=Ni1 N⊕ i3 h(SID⊕ j||Ni2)
Ri=h(Ai||Bi) h(N⊕ i1 N⊕ i2 N⊕ i3)
Vi=h(h(Ai||Bi)||h(Ni1 N⊕ i2 N⊕ i3))
因此可以計算 Ti=Ni2 N⊕ i3 h(A⊕ i||Bi||Ni1)
(Qi 、 Ri 、 Vi 、 Ti)
Ni1 N⊕ i3=Qi h(SID⊕ j||Ni2)
h(Ai||Bi)=Ri h(N⊕ i1 N⊕ i3 N⊕ i2)
Vi′=h(h(Ai||Bi)||h(Ni1 N⊕ i3 N⊕ i2) , Vi′=Vi?
(Vi 、 Ti)
Ni2 N⊕ i3=Ti h(A⊕ i||Bi||Ni1)
Vi′=h(h(Ai||Bi)||h(Ni2 N⊕ i3 N⊕ i1)) , Vi′=Vi? 但 CS和 Sj不知道 UK
SK=h(h(Ai||Bi)||(Ni1 N⊕ i2 N⊕ i3))
13
多媒體網路安全實驗室
14
Proposed schemeUi a user
Sj a service providing server
CS the control server
IDi the identity of Ui
SIDj the identity of Sj
TSi timestamp value generated by Ui
x the secret number only known to CS
y the secret number only known to CS
b a random number chosen by the user
d a random number chosen by the service providing server
PIDi the protected pseudonym identity of Ui
PSIDj the protected pseudonym identity of Sj
SK session key shared among the user, the server and CS
Ni1, Ni2, Ni3 random numbers chosen by Ui, Sj and CS
h( )⋅ a one-way hash function
⊕ the bitwise XOR operation
‖ the bitwise concatenation operation
多媒體網路安全實驗室
15
Proposed scheme Initialization and registration phase
Ui Sj CS1.Ui 選擇 Pi 、 b
Ai=h(b||Pi)
(IDi 、 b 、 Ai)
2. 驗證 Ui
PIDi=h(IDi||b)
Bi=h(PIDi||x)
(Bi)
3. 收到 smart card 後 Ci=h(IDi||Ai)
Di=Bi h(PID⊕ i A⊕ i)
Ui 輸入 (Ci 、 Di 、 h( )‧ 、 b)
smart card 包含 (Ci 、 Di 、 h( )‧ 、 b)
Sj 選擇 d 和 SIDj 對 CS 註冊 PSIDj=h(SIDj||d)
BSj=h(PSIDj||y)
(BSj)
多媒體網路安全實驗室
16
Proposed schemelogin phase
Ui Sj CSknows IDi 、 Pi knows BS j 、 d knows x 、 y
Smart card:Ci 、 Di 、 h( )‧ 、 b
輸入 IDi 、 Pi
Ai=h(b||Pi)
Ci*=h(IDi||Ai)
Ci*=Ci 則認定為合法使用者
多媒體網路安全實驗室
17
Proposed schemeauthentication and key agreement phase
Ui Sj CSknows IDi 、 Pi knows BS j 、 d knows x 、 y
Smart card:Ci 、 Di 、 h( )‧ 、 b
Ui 產生 Ni1 和 timestamp TSi
Bi = Di C⊕ i,Fi=Bi N⊕ i1
Pij = h(Bi h(N⊕ i1||SIDj||PIDi||TSi))
CIDi = IDi h(B⊕ i||Ni1||TSi||”00”)
Gi = b h(B⊕ i||Ni1||TSi||”11”)
(Fi,Pij,CIDi,Gi,PIDi,TSi)
Check TSj – TSi<∆T
Ji = BSj N⊕ i2
Ki= h(Ni2||BSj||Pij||TSi)
Li=SIDj h(BS⊕ j||Ni2||TSi||”00”)
Mi=d h(BS⊕ j||Ni2||TSi||”11”)
(Fi,Pij,CIDi,Gi,PIDi,TSi,Ji,
Ki,Li,Mi,PSIDj)
多媒體網路安全實驗室
18
Proposed schemeauthentication and key agreement phase
Ui Sj CSknows IDi 、 Pi knows BS j 、 d knows x 、 y
Smart card:Ci 、 Di 、 h( )‧ 、 b
Check TScs – TSi<∆T
BSj=h(PSIDj||y) ,Ni2 = BSj J⊕ i
Ki* = h(Ni2||BSj||Pij||TSi),Check Ki
*= Ki?
Bi = h(PIDi||x),Ni1 = Fi B⊕ i
IDi = CIDi h(B⊕ i||Ni1||TSi||”00”)
SIDj=Li h(BS⊕ j||Ni2||TSi||”00”)
Pij* = h(Bi h(N⊕ i1||SIDj||PIDi||TSi))
check Pij*= Pij
b=Gi h(B⊕ i||Ni1||TSi||”11”)
d=Mi h(BS⊕ j||Ni2||TSi||”11”)
PIDi*=h(IDi||b), PSIDj
*=h(SIDj||d)
Check PIDi*=PIDi, PSIDj*= PSIDj
P i = Ni1 N⊕ i3 h(SID⊕ j||Ni2||BSj)
Qi = h(Ni1 N⊕ i3)
Ri = Ni2 N⊕ i3 h(ID⊕ j|||Ni1||Bi)
Vi = h(Ni2 N⊕ i3)
(Pi,Qi,Ri,Vi)
多媒體網路安全實驗室
19
Proposed schemeauthentication and key agreement phase
Ui Sj CSknows IDi 、 Pi knows BS j 、 d knows x 、 y
Smart card:Ci 、 Di 、 h( )‧ 、 b
Ni1 N⊕ i3 = Pi h(SID⊕ j||Ni2||BSj)
Qi* = h(Ni1 N⊕ i3)
Check Qi*=Qi
(Ri,Vi)
Ni2 N⊕ i3 = Ri h(ID⊕ j||Ni1||Bi)
Vi* = h(Ni2 N⊕ i3)
Check Vi*= Vi
SK = h((Ni1 N⊕ i2 N⊕ i3)||TSi)
多媒體網路安全實驗室
20
Proposed schemedynamic identity updating phase
Ui Sj CS1.Ui 重新選擇 b#
Ai #=h(b #||Pi)
(IDi 、 b # 、 Ai#)
2. 驗證 Ui
PIDi#=h(IDi||b#)
Bi #=h(PIDi
#||x)
(Bi#)
3. 收到 smart card 後 Ci
#=h(IDi||Ai#)
Di#=Bi
# h(PID⊕ i# A⊕ i
#)
Ui 輸入 (Ci# 、 Di
# 、 h( )‧ 、 b#)
smart card 包含 (Ci# 、 Di
# 、 h( )‧ 、 b#)
Sj 選擇 d 和 SIDj 對 CS 註冊 PSIDj
#=h(SIDj||d#)
BSj#=h(PSIDj
#||y)
(BSj#)
多媒體網路安全實驗室
21
Protocol analysisTraceability
本文和前兩篇所不同的地方在於可追蹤性, CS 可以計算出用戶的真實 IDi ,可以擷取用戶的 CIDi 。
多媒體網路安全實驗室
22
Protocol analysisinsider attack and smart card forgery attack
Ui Sj CS1.Ui 選擇 Pi 、 b
Ai=h(b||Pi)
(IDi 、 b 、 Ai)
2. 驗證 Ui
PIDi=h(IDi||b)
Bi= h(PIDi||x)
(Bi)
3. 收到 smart card 後 Ci=h(IDi||Ai)
Di=Bi h(PID⊕ i A⊕ i)
Ui 輸入 (Ci 、 Di 、 h( )‧ 、 b)
smart card 包含 (Ci 、 Di 、 h( )‧ 、 b)
使用 PIDi而不是使用 h(X||Y)來阻擋內部攻擊
多媒體網路安全實驗室
23
Protocol analysisstolen smart card attack
Uk 可以拿到 (Ci 、 Di 、 h( )‧ 、 b) 但他不知道 Pi 所以無法計算 Ai 去推出 Ci 就不能算出 Bi 。
多媒體網路安全實驗室
24
Protocol analysisreplay attack and Denial-of-Service attack
本文使用 timestamp 所以能阻擋重送攻擊。
多媒體網路安全實驗室
25
Protocol analysiseavesdropping attack
因為 Bi 是使用了 PID 而不是 h(x) 、 h(x||y) ,所以 Uk 不能計算 Ni1 N⊕ i2 N⊕ i3 。
多媒體網路安全實驗室
26
Proposed schememasquerade attack
Ui Sj CSknows IDi 、 Pi knows BS j 、 d knows x 、 y
Smart card:Ci 、 Di 、 h( )‧ 、 b
Ui 產生 Ni1 和 timestamp TSi
Bi = Di C⊕ i,Fi=Bi N⊕ i1
Pij = h(Bi h(N⊕ i1||SIDj||PIDi||TSi))
CIDi = IDi h(B⊕ i||Ni1||TSi||”00”)
Gi = b h(B⊕ i||Ni1||TSi||”11”)
(Fi,Pij,CIDi,Gi,PIDi,TSi)
Check TSj – TSi<∆T
Ji = BSj N⊕ i2
沒有 Pij 及 Tsi 無法計算 Ki Ki= h(Ni2||BSj||Pij||TSi)
Li=SIDj h(BS⊕ j||Ni2||TSi||”00”)
Mi=d h(BS⊕ j||Ni2||TSi||”11”)
(Fi,Pij,CIDi,Gi,PIDi,TSi,Ji,
Ki,Li,Mi,PSIDj)
多媒體網路安全實驗室
27
Conclusions
本文加入 timestamp 後,安全性改善許多。但是 timestamp 既然能增加安全性,為何前幾篇論文都沒有加 timestamp 。
多媒體網路安全實驗室
多媒體網路安全實驗室
29
Weaknesses of Xue’s scheme
Ui Sj CS1.Ui 選擇 Pi 、 b
Ai=h(b||Pi)
(IDi 、 b 、 Ai)
2. 驗證 Ui
PIDi=h(IDi||b)
Bi=h(PIDi||x)
(Bi)
3. 收到 smart card 後 Ci=h(IDi||Ai)
Di=Bi h(PID⊕ i A⊕ i) Bi = Di C⊕ i 不成立 Ui 輸入 (Ci 、 Di 、 h( )‧ 、 b)
smart card 包含 (Ci 、 Di 、 h( )‧ 、 b)
Sj 選擇 d 和 SIDj 對 CS 註冊 PSIDj=h(SIDj||d)
BSj=h(PSIDj||y)
(BSj)
輸入 IDi 、 Pi
Ai=h(b||Pi)
Ci*=h(IDi||Ai)
Ci*=Ci 則認定為合法使用者Ui 產生 Ni1 和 timestamp TSi
Bi = Di C⊕ i,Fi=Bi N⊕ i1 無法算出 Bi 即認證不成功
多媒體網路安全實驗室
30
Weaknesses of Xue’s scheme
Ui Sj CSknows IDi 、 Pi knows BS j 、 d knows x 、 y
Smart card:Ci 、 Di 、 h( )‧ 、 b
Ui 產生 Ni1 和 timestamp TSi
Bi = Di C⊕ i,Fi=Bi N⊕ i1
Pij = h(Bi h(N⊕ i1||SIDj||PIDi||TSi))
CIDi = IDi h(B⊕ i||Ni1||TSi||”00”)
Gi = b h(B⊕ i||Ni1||TSi||”11”)
(Fi,Pij,CIDi,Gi,PIDi,TSi)
Check TSj – TSi<∆T
00,01,10,11 每次沒有存取 , 每次計算 Ji = BSj N⊕ i2
都必須嘗試 4 次,流量的問題。 Ki= h(Ni2||BSj||Pij||TSi)
Li=SIDj h(BS⊕ j||Ni2||TSi||”00”)
Mi=d h(BS⊕ j||Ni2||TSi||”11”)
(Fi,Pij,CIDi,Gi,PIDi,TSi,Ji,
Ki,Li,Mi,PSIDj)
多媒體網路安全實驗室
31
Weaknesses of Xue’s scheme
Ui Sj CSknows IDi 、 Pi knows BS j 、 d knows x 、 y
Smart card:Ci 、 Di 、 h( )‧ 、 b
Check TScs – TSi<∆T
BSj=h(PSIDj||y) ,Ni2 = BSj J⊕ i
Ki* = h(Ni2||BSj||Pij||TSi),Check Ki
*= Ki?
可選擇的操作步驟 , 但如果選擇不做 Bi = h(PIDi||x),Ni1 = Fi B⊕ i
無法算出 Bi,IDi,b,d,PIDi,PSIDj IDi = CIDi h(B⊕ i||Ni1||TSi||”00”)
SIDj=Li h(BS⊕ j||Ni2||TSi||”00”)
Pij* = h(Bi h(N⊕ i1||SIDj||PIDi||TSi))
check Pij*= Pij
b=Gi h(B⊕ i||Ni1||TSi||”11”)
d=Mi h(BS⊕ j||Ni2||TSi||”11”)
PIDi*=h(IDi||b), PSIDj
*=h(SIDj||d)
Check PIDi*=PIDi, PSIDj*= PSIDj
P i = Ni1 N⊕ i3 h(SID⊕ j||Ni2||BSj)
Qi = h(Ni1 N⊕ i3)
Ri = Ni2 N⊕ i3 h(ID⊕ j|||Ni1||Bi)
Vi = h(Ni2 N⊕ i3)
(Pi,Qi,Ri,Vi)