1 / 31

作者 : Kaiping Xue , Peilin Hong, Changsha Ma 出處 :Journal of Computer and System Sciences

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

steel-rivas
Download Presentation

作者 : Kaiping Xue , Peilin Hong, Changsha Ma 出處 :Journal of Computer and System Sciences

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. Introduction • 隨著科技發展透過網路結合多伺服器提供服務,已經普遍被使用。 • 在身分認證上在近年來也提出了許多增強安全性的方法。 • 2011年Sood等人提出一個用戶匿名性及多項安全性的方案。 • 2012年Li等人認為Sood的方法仍然會受到攻擊,並提出了改進方法,改善Sood的弱點並提高安全性。 • 本文發現Li等人的方法仍然不安全,進行研究後提出了新的方法進行改善。

  4. Overview of Li et al.’s scheme

  5. 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)

  6. 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)

  7. 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)

  8. 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))

  9. 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?

  10. Weaknesses of Li et al.’s schemeInternal attack 因為CS持有X、Y,同一個CS底下的X、Y是相同的,攻擊者與合法使用者註冊同一個CS ,攻擊者可以透過相同的X、Y來進行Internal attack。 Ui CS UK

  11. 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

  12. 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

  13. 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

  14. Proposed scheme

  15. 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)

  16. 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則認定為合法使用者

  17. 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)

  18. 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)

  19. 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)

  20. 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#)

  21. Protocol analysisTraceability 本文和前兩篇所不同的地方在於可追蹤性,CS可以計算出用戶的真實IDi,可以擷取用戶的CIDi。

  22. 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)來阻擋內部攻擊

  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⊕Ni2⊕Ni3。

  26. 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)

  27. Conclusions 本文加入timestamp後,安全性改善許多。但是timestamp既然能增加安全性,為何前幾篇論文都沒有加timestamp。

  28. Thank You !

  29. 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即認證不成功

  30. 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)

  31. 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)

More Related