310 likes | 395 Views
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
E N D
A lightweight dynamic pseudonym identity based authentication and key agreement protocol without verification tables for multi-server architecture 作者:KaipingXue, Peilin Hong, Changsha Ma 出處:Journal of Computer and System Sciences Volume 80, Issue 1, February 2014, Pages 195–206 報告人:陳鈺惠 日期:2014/3/4
Introduction 1 Overview of Li et al.’s scheme 2 Weaknesses of Li et al.’s scheme 5 3 3 3 Proposed scheme Conclusions 6 4 4 4 Outline Protocol analysis
Introduction • 隨著科技發展透過網路結合多伺服器提供服務,已經普遍被使用。 • 在身分認證上在近年來也提出了許多增強安全性的方法。 • 2011年Sood等人提出一個用戶匿名性及多項安全性的方案。 • 2012年Li等人認為Sood的方法仍然會受到攻擊,並提出了改進方法,改善Sood的弱點並提高安全性。 • 本文發現Li等人的方法仍然不安全,進行研究後提出了新的方法進行改善。
Overview of Li et al.’s scheme UiSjCS Chooses IDi、Pi、b Ai=h(b||Pi) (IDi、Ai) Bi=h(IDi||x),Ci=h(IDi||h(y)||Ai) Di=Bi⊕h(IDi||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)
Overview of Li et al.’s scheme UiSjCS Inputs IDi、Pismart card computes Ai=h(b||Pi),Ci′=(IDi||h(y)||Ai) Ci′=Ci? Smart card generates Ni1 Bi=Di⊕h(IDi||Ai),Fi=h(y)⊕Ni1 Pij=Ei⊕h(h(y)||Ni1||SIDj) CIDi=Ai⊕h(Bi||Fi||Ni1) Gi=h(Bi||Ai||Ni1) (Fi、Gi、Pij、CIDi)
3.Proposed scheme(4/5)Authentication and session key agreement phase UiSjCS Sjchooses Ni2 Ki=h(SIDj||y)⊕Ni2 Mi=h(h(x||y)||Ni2)) (Fi、Gi、Pij、CIDi、SIDj、Ki、Mi) Ni2=Ki⊕h(SIDj||y) Mi′=h(h(x||y)||Ni2),Mi′=Mi? Ni1=Fi⊕h(y) Bi=Pij⊕h(h(y)||Ni1||SIDj)⊕h(y||x) Ai=CIDi⊕h(Bi||Fi||Ni1) Gi′=h(Bi||Ai||Ni1),Gi′=Gi? CSgenerates Ni3 Qi=Ni1⊕Ni3⊕h(SIDj||Ni2) Ri=h(Ai||Bi)⊕h(Ni1⊕Ni2⊕Ni3) Vi=h(h(Ai||Bi)||h(Ni1⊕Ni2⊕Ni3)) Ti=Ni2⊕Ni3⊕h(Ai||Bi||Ni1)
Overview of Li et al.’s scheme UiSjCS (Qi、Ri 、Vi 、Ti) Ni1⊕Ni3=Qi⊕h(SIDj||Ni2) h(Ai||Bi)=Ri⊕h(Ni1⊕Ni3⊕Ni2) Vi′=h(h(Ai||Bi)||h(Ni1⊕Ni3⊕Ni2) Vi′=Vi? (Vi、Ti) Ni2⊕Ni3=Ti⊕h(Ai||Bi||Ni1) Vi′=h(h(Ai||Bi)||h(Ni2⊕Ni3⊕Ni1)) Vi′=Vi? SK=h(h(Ai||Bi)||(Ni1⊕Ni2⊕Ni3))
Weaknesses of Li et al.’s schemeReplay attack and Denial-of-service attack UiSj CS Inputs IDi、Pi smart card computes Ai=h(b||Pi),Ci′=(IDi||h(y)||Ai) Ci′=Ci? Smart card generates Ni1 Bi=Di⊕h(IDi||Ai),Fi=h(y)⊕Ni1 Pij=Ei⊕h(h(y)||Ni1||SIDj) CIDi=Ai⊕h(Bi||Fi||Ni1) Gi=h(Bi||Ai||Ni1) (Fi、Gi、Pij、CIDi) Sjchooses Ni2 重送Fi、Gi、Pij、CIDiKi=h(SIDj||y)⊕Ni2 Sk和CS不能辨識重送的消息Mi=h(h(x||y)||Ni2)) 大量的計算會阻斷服務 (Fi、Gi、Pij、CIDi、SIDj、Ki、Mi) Ni2=Ki⊕h(SIDj||y) Mi′=h(h(x||y)||Ni2),Mi′=Mi? Ni1=Fi⊕h(y) Bi=Pij⊕h(h(y)||Ni1||SIDj)⊕h(y||x) Ai=CIDi⊕h(Bi||Fi||Ni1) Gi′=h(Bi||Ai||Ni1),Gi′=Gi?
Weaknesses of Li et al.’s schemeInternal attack 因為CS持有X、Y,同一個CS底下的X、Y是相同的,攻擊者與合法使用者註冊同一個CS ,攻擊者可以透過相同的X、Y來進行Internal attack。 Ui CS UK
Weaknesses of Li et al.’s schemesmart card forgery attack UiSjCS Chooses IDi、Pi、b Ai=h(b||Pi) (IDi、Ai) Bi=h(IDi||x),Ci=h(IDi||h(y)||Ai) Di=Bi⊕h(IDi||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(IDi||Ai),Fi=h(y)⊕Ni1 者成功通過CS。 Pij=Ei⊕h(h(y)||Ni1||SIDj) CIDi=Ai⊕h(Bi||Fi||Ni1) Gi=h(Bi||Ai||Ni1) (Fi、Gi、Pij、CIDi) 10 10
Weaknesses of Li et al.’s schemeeavesdropping attack UiSj CS Ni2=Ki⊕h(SIDj||y) UKknow 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 Biget Ni1Ni1=Fi⊕h(y) CIDi=Ai⊕h(Bi||Fi||Ni1) get Aiget PijBi=Pij⊕h(h(y)||Ni1||SIDj)⊕h(y||x) Ai=CIDi⊕h(Bi||Fi||Ni1) Gi′=h(Bi||Ai||Ni1),Gi′=Gi? CSgenerates Ni3 Qi=Ni1⊕Ni3⊕h(SIDj||Ni2) Ri=h(Ai||Bi)⊕h(Ni1⊕Ni2⊕Ni3) Vi=h(h(Ai||Bi)||h(Ni1⊕Ni2⊕Ni3)) 因此可以計算Ti=Ni2⊕Ni3⊕h(Ai||Bi||Ni1) (Qi、Ri 、Vi 、Ti) Ni1⊕Ni3=Qi⊕h(SIDj||Ni2) h(Ai||Bi)=Ri⊕h(Ni1⊕Ni3⊕Ni2) Vi′=h(h(Ai||Bi)||h(Ni1⊕Ni3⊕Ni2) , Vi′=Vi? (Vi、Ti) Ni2⊕Ni3=Ti⊕h(Ai||Bi||Ni1) Vi′=h(h(Ai||Bi)||h(Ni2⊕Ni3⊕Ni1)),Vi′=Vi? SK=h(h(Ai||Bi)||(Ni1⊕Ni2⊕Ni3)) 11
Weaknesses of Li et al.’s schemeMasquerade attack to pose as a legitimate user UiSj CS Ni2=Ki⊕h(SIDj||y) UKknow 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 Biget Ni1Ni1=Fi⊕h(y) CIDi=Ai⊕h(Bi||Fi||Ni1) get Aiget PijBi=Pij⊕h(h(y)||Ni1||SIDj)⊕h(y||x) Ai=CIDi⊕h(Bi||Fi||Ni1) get GiGi′=h(Bi||Ai||Ni1),Gi′=Gi? CSgenerates Ni3 Qi=Ni1⊕Ni3⊕h(SIDj||Ni2) Ri=h(Ai||Bi)⊕h(Ni1⊕Ni2⊕Ni3) Vi=h(h(Ai||Bi)||h(Ni1⊕Ni2⊕Ni3)) 因此可以計算Ti=Ni2⊕Ni3⊕h(Ai||Bi||Ni1) (Qi、Ri 、Vi 、Ti) Ni1⊕Ni3=Qi⊕h(SIDj||Ni2) h(Ai||Bi)=Ri⊕h(Ni1⊕Ni3⊕Ni2) Vi′=h(h(Ai||Bi)||h(Ni1⊕Ni3⊕Ni2) , Vi′=Vi? (Vi、Ti) Ni2⊕Ni3=Ti⊕h(Ai||Bi||Ni1) Vi′=h(h(Ai||Bi)||h(Ni2⊕Ni3⊕Ni1)),Vi′=Vi? 但CS和Sj不知道UK SK=h(h(Ai||Bi)||(Ni1⊕Ni2⊕Ni3)) 12
Proposed scheme Initialization and registration phase UiSjCS 1.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(PIDi⊕Ai) Ui輸入(Ci 、Di 、h(‧)、b) smart card 包含(Ci 、Di、h(‧)、b) Sj選擇d和SIDj對CS註冊 PSIDj=h(SIDj||d) BSj=h(PSIDj||y) (BSj)
Proposed schemelogin phase UiSjCS knows IDi、Pi knows BSj、d knows x、y Smart card:Ci 、Di、h(‧)、b 輸入IDi、Pi Ai=h(b||Pi) Ci*=h(IDi||Ai) Ci*=Ci則認定為合法使用者
Proposed schemeauthentication and key agreement phase UiSjCS knows IDi、Pi knows BSj、d knows x、y Smart card:Ci 、Di、h(‧)、b Ui產生Ni1和timestampTSi Bi = Di⊕Ci,Fi=Bi ⊕Ni1 Pij= h(Bi ⊕h(Ni1||SIDj||PIDi||TSi)) CIDi= IDi⊕h(Bi||Ni1||TSi||”00”) Gi= b ⊕h(Bi||Ni1||TSi||”11”) (Fi,Pij,CIDi,Gi,PIDi,TSi) Check TSj– TSi<∆T Ji= BSj ⊕Ni2 Ki= h(Ni2||BSj||Pij||TSi) Li=SIDj⊕h(BSj||Ni2||TSi||”00”) Mi=d⊕h(BSj||Ni2||TSi||”11”) (Fi,Pij,CIDi,Gi,PIDi,TSi,Ji, Ki,Li,Mi,PSIDj)
Proposed schemeauthentication and key agreement phase UiSjCS knows IDi、Pi knows BSj、d knows x、y Smart card:Ci 、Di、h(‧)、b Check TScs – TSi<∆T BSj=h(PSIDj||y),Ni2 = BSj ⊕Ji Ki* = h(Ni2||BSj||Pij||TSi),Check Ki*= Ki? Bi= h(PIDi||x),Ni1= Fi ⊕Bi IDi= CIDi ⊕h(Bi||Ni1||TSi||”00”) SIDj=Li⊕h(BSj||Ni2||TSi||”00”) Pij* = h(Bi ⊕h(Ni1||SIDj||PIDi||TSi)) check Pij*=Pij b=Gi⊕h(Bi||Ni1||TSi||”11”) d=Mi⊕h(BSj||Ni2||TSi||”11”) PIDi*=h(IDi||b), PSIDj*=h(SIDj||d) Check PIDi*=PIDi,PSIDj*=PSIDj Pi= Ni1 ⊕Ni3 ⊕h(SIDj||Ni2||BSj) Qi= h(Ni1 ⊕Ni3) Ri= Ni2 ⊕Ni3 ⊕h(IDj|||Ni1||Bi) Vi = h(Ni2 ⊕Ni3) (Pi,Qi,Ri,Vi)
Proposed schemeauthentication and key agreement phase UiSjCS knows IDi、Pi knows BSj、d knows x、y Smart card:Ci 、Di、h(‧)、b Ni1⊕Ni3 = Pi ⊕h(SIDj||Ni2||BSj) Qi* = h(Ni1 ⊕Ni3) Check Qi*=Qi (Ri,Vi) Ni2⊕Ni3 = Ri ⊕h(IDj||Ni1||Bi) Vi* = h(Ni2 ⊕Ni3) Check Vi*= Vi SK = h((Ni1 ⊕Ni2 ⊕Ni3)||TSi)
Proposed schemedynamic identity updating phase UiSjCS 1.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(PIDi#⊕Ai#) Ui輸入(Ci#、Di#、h(‧)、b#) smart card包含(Ci#、Di#、h(‧)、b#) Sj選擇d和SIDj對CS註冊 PSIDj#=h(SIDj||d#) BSj#=h(PSIDj#||y) (BSj#)
Protocol analysisTraceability 本文和前兩篇所不同的地方在於可追蹤性,CS可以計算出用戶的真實IDi,可以擷取用戶的CIDi。
Protocol analysisinsider attack and smart card forgery attack UiSjCS 1.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(PIDi⊕Ai) Ui輸入(Ci 、Di 、h(‧)、b) smart card 包含(Ci 、Di、h(‧)、b) 使用PIDi而不是使用h(X||Y)來阻擋內部攻擊
Protocol analysisstolen smart card attack Uk可以拿到(Ci 、Di 、h(‧)、b)但他不知道Pi所以無法計算Ai去推出Ci 就不能算出Bi。
Protocol analysisreplay attack and Denial-of-Service attack 本文使用timestamp所以能阻擋重送攻擊。
Protocol analysiseavesdropping attack 因為Bi是使用了PID而不是h(x)、h(x||y),所以Uk不能計算Ni1⊕Ni2⊕Ni3。
Proposed schememasquerade attack UiSjCS knows IDi、Pi knows BSj、d knows x、y Smart card:Ci 、Di、h(‧)、b Ui產生Ni1和timestampTSi Bi = Di⊕Ci,Fi=Bi ⊕Ni1 Pij= h(Bi ⊕h(Ni1||SIDj||PIDi||TSi)) CIDi= IDi⊕h(Bi||Ni1||TSi||”00”) Gi= b ⊕h(Bi||Ni1||TSi||”11”) (Fi,Pij,CIDi,Gi,PIDi,TSi) Check TSj– TSi<∆T Ji= BSj ⊕Ni2 沒有Pij及Tsi無法計算Ki Ki= h(Ni2||BSj||Pij||TSi) Li=SIDj⊕h(BSj||Ni2||TSi||”00”) Mi=d⊕h(BSj||Ni2||TSi||”11”) (Fi,Pij,CIDi,Gi,PIDi,TSi,Ji, Ki,Li,Mi,PSIDj)
Conclusions 本文加入timestamp後,安全性改善許多。但是timestamp既然能增加安全性,為何前幾篇論文都沒有加timestamp。
Weaknesses of Xue’s scheme UiSjCS 1.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(PIDi⊕Ai) Bi = Di⊕Ci不成立 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和timestampTSi Bi = Di⊕Ci,Fi=Bi ⊕Ni1無法算出Bi即認證不成功
Weaknesses of Xue’s scheme UiSjCS knows IDi、Pi knows BSj、d knows x、y Smart card:Ci 、Di、h(‧)、b Ui產生Ni1和timestampTSi Bi = Di⊕Ci,Fi=Bi ⊕Ni1 Pij= h(Bi ⊕h(Ni1||SIDj||PIDi||TSi)) CIDi= IDi⊕h(Bi||Ni1||TSi||”00”) Gi= b ⊕h(Bi||Ni1||TSi||”11”) (Fi,Pij,CIDi,Gi,PIDi,TSi) Check TSj– TSi<∆T 00,01,10,11每次沒有存取,每次計算Ji= BSj ⊕Ni2 都必須嘗試4次,流量的問題。Ki= h(Ni2||BSj||Pij||TSi) Li=SIDj⊕h(BSj||Ni2||TSi||”00”) Mi=d⊕h(BSj||Ni2||TSi||”11”) (Fi,Pij,CIDi,Gi,PIDi,TSi,Ji, Ki,Li,Mi,PSIDj)
Weaknesses of Xue’s scheme UiSjCS knows IDi、Pi knows BSj、d knows x、y Smart card:Ci 、Di、h(‧)、b Check TScs – TSi<∆T BSj=h(PSIDj||y),Ni2 = BSj ⊕Ji Ki* = h(Ni2||BSj||Pij||TSi),Check Ki*= Ki? 可選擇的操作步驟,但如果選擇不做 Bi= h(PIDi||x),Ni1= Fi ⊕Bi 無法算出Bi,IDi,b,d,PIDi,PSIDjIDi= CIDi ⊕h(Bi||Ni1||TSi||”00”) SIDj=Li⊕h(BSj||Ni2||TSi||”00”) Pij* = h(Bi ⊕h(Ni1||SIDj||PIDi||TSi)) check Pij*=Pij b=Gi⊕h(Bi||Ni1||TSi||”11”) d=Mi⊕h(BSj||Ni2||TSi||”11”) PIDi*=h(IDi||b), PSIDj*=h(SIDj||d) Check PIDi*=PIDi,PSIDj*=PSIDj Pi= Ni1 ⊕Ni3 ⊕h(SIDj||Ni2||BSj) Qi= h(Ni1 ⊕Ni3) Ri= Ni2 ⊕Ni3 ⊕h(IDj|||Ni1||Bi) Vi = h(Ni2 ⊕Ni3) (Pi,Qi,Ri,Vi)