aaa视频网站,国产最新进精品视频,国产主播一区二区,999热精品视频,а√天堂资源8在线官网在线,国产免费不卡av,麻豆国产视频

一種基于Hash函數(shù)和動態(tài)共享密鑰的強匿名RFID認證協(xié)議的制作方法

文檔序號:11234396閱讀:722來源:國知局
一種基于Hash函數(shù)和動態(tài)共享密鑰的強匿名RFID認證協(xié)議的制造方法與工藝

現(xiàn)有的基于hash函數(shù)的輕量級rfid認證協(xié)議中的大部分在被截取消息后很容易被追蹤,泄露標簽隱私,并沒有真正實現(xiàn)標簽的強匿名性。本發(fā)明基于hash函數(shù)和動態(tài)共享密鑰機制,提出了一種真正滿足標簽強匿名性的輕量級rfid認證協(xié)議。



背景技術:

射頻識別(rfid)是一種非接觸式的自動識別技術,它是公認的物聯(lián)網(wǎng)的核心技術之一?,F(xiàn)在的rfid技術能夠并行地識別多個對象,即使處于移動狀態(tài)的物體也能夠準確識別,此項技術已經(jīng)應用于各種復雜環(huán)境之中,如物流,圖書館以及制造業(yè)等。射頻識別通過無線電信號進行通信并識別物體,在rfid系統(tǒng)中,標簽與讀寫器通過無線信號進行信息交換,標簽附著在物體上,內(nèi)部保存著物體的信息;讀寫器通過天線與附近的標簽進行數(shù)據(jù)交換,從而實現(xiàn)對目標的識別,讀寫器不需要看到標簽,而是通過電磁場建立通信,將相應數(shù)據(jù)轉發(fā)到后臺系統(tǒng),人們通過互聯(lián)網(wǎng)連接服務器,即可獲取相應物品的即時信息,并對其進行管理和追蹤。

rfid應用領域在不斷地擴展和深入,隨之而來安全問題也逐漸成為rfid技術發(fā)展的重點。作為rfid系統(tǒng)中的重要組成部分,標簽tag通常為一種被稱作cld的非接觸式裝置,由于長期暴露在外界,面臨著遠程竊聽、偽造攻擊、標簽定位以及采取不正當手段獲得數(shù)據(jù),去同步攻擊等諸多威脅。標簽內(nèi)部數(shù)據(jù)可能包含著隱私信息,如果發(fā)生消息泄露將引起難以估量的損失。因此為了安全地識別標簽,識別協(xié)議必須滿足一系列安全準則,特別是保證攻擊人不能竊取合法的rfid標簽信息。綜合目前rfid技術的發(fā)展情況,現(xiàn)有的rfid安全研究都不夠完善,存在著大量的不足和漏洞。目前rfid安全技術可以分為物理保護方法和邏輯加密方法;邏輯方法按加密方式可以分為基于對稱加密的協(xié)議,基于非對稱加密的協(xié)議和基于物理特性的協(xié)議,而物理保護受到成本和實施的制約,應用范圍較窄,可以用作輔助保護機制。高成本的標簽具有較強的計算和存儲能力,但不利于rfid系統(tǒng)的大范圍應用。而低成本標簽的計算和存儲能力受到一定的限制,重量級的加密算法并不適用,因此具有較多的安全問題。目前,設計一個低復雜性兼具強安全性的輕量級rfid安全認證協(xié)議是需要急需解決的問題。



技術實現(xiàn)要素:

本發(fā)明的一個目的是解決至少上述問題和/或缺陷,并提供至少后面將說明的優(yōu)點。

本發(fā)明還有一個目的是提供一種基于hash函數(shù)和動態(tài)共享密鑰的強匿名rfid認證方法,能夠使標簽驗證階段具有強匿名性。

本發(fā)明還有一個目的是基于動態(tài)共享密鑰的強匿名rfid認證的動態(tài)過濾方法。

本發(fā)明還有一個目的是提供一種傳遞信息基于hash函數(shù)加密方法。

一種用于rfid認證過程中傳遞信息的加密方法,標簽能夠通信地連接讀寫器,所述加密方法包括:

所述標簽接收到所述讀寫器的查詢指令后,產(chǎn)生第一隨機數(shù)并且對該第一隨機數(shù)和公共密鑰做異或運算得到第一輸出;

將標簽標識、第一輸出、所述第一隨機數(shù)和動態(tài)序列值作為輸入提供給單向hash函數(shù)從而產(chǎn)生第二輸出;

將第二輸出、公共密鑰、第一輸出和讀寫器標識提供給單向hash函數(shù)從而產(chǎn)生第三輸出;

將讀寫器標識、標簽標識和公共密鑰提供給單向hash函數(shù)從而產(chǎn)生過濾標識;

所述標簽向所述讀寫器發(fā)送第一消息,所述第一消息包括:第二輸出、第三輸出、過濾標識和動態(tài)序列值。

優(yōu)選的是,還包括:

所述讀寫器接收所述第一消息后,產(chǎn)生第二隨機數(shù)并與公共密鑰做異或運算得到第四輸出;

將第一消息、第二隨機數(shù)和公共密鑰提供給單向hash函數(shù)從而產(chǎn)生第五輸出;

所述讀寫器向后臺服務器發(fā)送第二消息,所述第二消息包括:第四輸出、第五輸出、第一消息和讀寫器標識。

一種基于hash函數(shù)和動態(tài)共享密鑰的強匿名rfid認證方法,標簽能夠通信地連接讀寫器,所述認證方法包括:

標簽收到讀寫器的發(fā)出的查詢指令之后,生成一個隨機數(shù)nt,計算

α=h(pidt||kts||nx||idr),fid=h(idt||idr||kts);

然后標簽向讀寫器發(fā)送消息,其包括:α,pidt,seq,fid;其中,seq為最后一次接收到的服務器更新的動態(tài)追蹤序列;

讀寫器在收到來自標簽的信息之后,生成一個隨機數(shù)nr,計算β=h(m2||nr||krs);讀寫器將ny,β和所述標簽的信息,idr發(fā)送都后端服務器進行處理;

后端服務器收到來自讀寫器的消息后,首先驗證seq是否相等,如果不相等,中斷此次認證;否則,計算判斷β是否等于h(m2||nr||krs),如果β驗證成功,讀寫器驗證完畢;

驗證是否存在一個合法的kts使得h(pidt||kts||nx||idr)等于標簽發(fā)送來的消息α,若α驗證失敗,則終止認證過程;否則,計算驗證后端服務器是存在滿足h(idt||kts||seq||nt)等于接收到的pidt的idt;如果pidt也驗證成功,標簽驗證階段完成,否則終止認證過程。

優(yōu)選的是,還包括:讀寫器和標簽都認證成功后,所述后端服務器生成一個新的seq動態(tài)追蹤序列seqnew=n,n為所述后端服務器生成的隨機數(shù),然后計算

γ=h(pseqt||kts||idt||nt),

δ=h(idr||nr||krs);

更新下一輪的共享密鑰ktsnew=h(kts||idt||seqnew),后端服務器的動態(tài)追蹤序列和共享密鑰數(shù)據(jù)更新為seqnew和ktsnew。

優(yōu)選的是,還包括:

所述讀寫器接收到所述標簽的信息后,讀寫器判斷過濾表中是否存在對應的fid,若存在則判斷為上次已經(jīng)通過的驗證;再判斷如果是短時間內(nèi)的再次申請則視為重復申請,不轉發(fā)此消息給服務器;若不是短時間內(nèi)的重復申請,則轉發(fā)信息到后臺服務器。

優(yōu)選的是,還包括:

如果過濾表中沒有對應的fid,然后直接轉發(fā)到后臺服務器進行認證;后端服務器對其完成認證后將相應的信息返回給讀寫器,讀寫器更新動態(tài)過濾表,并將信息轉發(fā)給標簽。

優(yōu)選的是,還包括:

驗證seq是不相等時,標簽會使用standby備用表中的未使用過的(sidj,skeyj)鍵值對用于驗證;從服務器的sid集合中尋找有沒有滿足的sidj=pidt,若存在,則找出對應的skeyj,計算h(sidj||skeyj||nx||idr)是否等于來自標簽的α,不相等則中斷連接,相等則生成一個新的seqnew,更新共享密鑰的ktsnew。

優(yōu)選的是,還包括:

在讀寫器收到后端服務器返回的的消息后,驗證讀寫器是否滿足h(idr||nr||krs)=δ,驗證失敗則中斷驗證;若δ驗證成功,則轉發(fā)pseqt,γ到標簽。

優(yōu)選的是,還包括:

標簽收到消息后,計算然后驗證標簽是否滿足h(pseqt||kts||idt||nt)=γ,驗證成功的話,標簽和后端服務器認證成功。

優(yōu)選的是,所述過濾表占用所述讀寫器空間的5~10。

有益效果:

本申請基于hash函數(shù)和動態(tài)共享密鑰機制,提出了一種真正滿足標簽強匿名性的rfid認證協(xié)議,在標簽和服務器之間實現(xiàn)滿足標簽強匿名性的雙向認證協(xié)議。實現(xiàn)抵御偽造攻擊和克隆攻擊,尤其是能正確處理去同步和dos攻擊,實現(xiàn)減少服務器負載,加快認證過程。

本申請協(xié)議通過在標簽和服務器之間提前注冊standby備用表的方法解決了共享密鑰不同步問題。在基于動態(tài)更新密鑰的rfid認證協(xié)議中,非常容易受到去同步攻擊,它使得標簽和服務器更新不同步從而無法完成下一步驗證。本申請針對失去同步問題,采取在注冊階段在標簽和服務器間注冊standby備用表的方法,在發(fā)生不同步時,通過預先保存的standby備用表內(nèi)的鍵值對進行協(xié)議認證,因此本文提出的協(xié)議能夠很好的抵御dos和去同步攻擊。

附圖說明

圖1是基于分布式網(wǎng)絡布局的rfid系統(tǒng)模型。

圖2是協(xié)議認證過程。

圖3協(xié)議合法認證過程實例圖。

圖4讀寫器執(zhí)行過濾操作流程圖。

圖5是ban邏輯形式化分析流程。

具體實施方式

下面結合附圖對本發(fā)明做進一步的詳細說明,以令本領域技術人員參照說明書文字能夠據(jù)以實施。

應當理解,本文所使用的諸如“具有”、“包含”以及“包括”術語并不配出一個或多個其它元件或其組合的存在或添加。

基于hash函數(shù)和動態(tài)共享密鑰對認證過程進行加密,提出一種滿足強匿名性的輕量級rfid安全認證協(xié)議。本協(xié)議的協(xié)議會話的消息都是以單向哈希函數(shù)結合動態(tài)更新的共享密鑰和隨機數(shù)生成器進行加密,消息即使被截取后也不會有暴露原始數(shù)據(jù)的危險。認證過程中id以一次性假名pid的形式傳輸,讀寫器也不能得到或者推算出真正的標簽id,嚴格保證了標簽的強匿名性。

作為進一步的實施例,針對dos和去同步攻擊,本協(xié)議專門建立了standby表(一種備用認證機制)來應對。

作為進一步的實施例,在本協(xié)議中還應用了自定義的動態(tài)過濾表,有效地利用了讀寫器的存儲和計算功能,使其不再是一個簡單的轉發(fā)中介,從而減輕服務器負載,完善了整個認證過程。

表1相關協(xié)議符號定義

本申請涉及的rfid系統(tǒng)模型都是基于分布式網(wǎng)絡系統(tǒng)布局的,結構模型如圖1所示。在基于分布式網(wǎng)絡布局的rfid系統(tǒng)中,不同類型的標簽屬于不同的簇,每個簇對應一個讀寫器,rfid標簽所有權可以從一個簇轉移到另一個中去,但是這需要對應簇的讀寫器通過后臺安全通道在后端服務器上重新注冊。假設在初始條件下,每個簇對應的讀寫器與后端服務器通過安全信道共享一個密鑰krs。

讀寫器與標簽進行交互的信道都是不安全的,協(xié)議中的標簽是低成本的,計算能力和存儲能力都很有限,本申請?zhí)岢龅膮f(xié)議中,標簽進行單向hash函數(shù)和簡單的連接和異或運算。協(xié)議所使用的單向hash函數(shù)對于任何攻擊者的暴力破解都足夠有效。

認證協(xié)議包含兩個階段:第一階段,后端服務器s通過安全信道,將一系列安全碼發(fā)送到標簽t中,我們稱這一階段為注冊階段。第二階段是真正的認證階段,標簽t和讀寫器r都需要向后臺服務器s提供自己合法的證明才能夠進行通信,同時作為優(yōu)選讀寫器在認證過程中會動態(tài)在用戶內(nèi)存區(qū)中建立過濾表,用來過濾重復的無效申請和抵御重放攻擊。

一個rfid標簽在投入使用前,通過安全信道向服務器提交其標簽標識在收到標簽的提交請求后,后端服務器生成一個隨機數(shù)ns,計算kts為標簽t和服務器s之間的共享密鑰,分別存儲在標簽t和服務器s中,在后續(xù)驗證時候使用。然后,后端服務器生成一個集合sid,sid={sid1,sid2,...,sidj}(0<j<n,n為預設上限),對每一個sidj∈sid,計算對應每個sidj,計算skeyj∈skey。這樣就生成了一個的對應sid的skey集合,(sid,skey)作為standby備用鍵值對,用來應對失去同步的情況。nj和n′j分別是每輪計算時生成的一次性隨機數(shù)。然后后端服務器生成一個32-bit的隨機數(shù)n,令動態(tài)追蹤序列seq=n。seq的目的是用于檢測認證過程是否失去同步,同時還有加快認證過程,抵御重放攻擊的作用。每次認證之后,都會更新seq的值。對于sid和skey的設計是針對在失去同步的前提下,即seq發(fā)生不匹配,服務器直接終止認證,而這時標簽可以用內(nèi)部沒有使用過的(sidj,skeyj)的備用鍵值對進行認證,使用過的鍵值對,要在后臺服務器和標簽中刪除,防止中間人攻擊和偽造攻擊。

服務器再通過安全信道發(fā)送kts,seq,(sid,skey)和h()給標簽t,在服務器中保存對應詞的kts和seq還有(sid,skey)的復制,用于下一步在認證執(zhí)行過程中使用。在分布式rfid系統(tǒng)中,服務器對應于固定讀寫器的共享密鑰krs是通過安全通道預設的,不需要每次驗證都動態(tài)更新。

認證執(zhí)行階段:

step1.r→t:m1{query}

讀寫器將query命令發(fā)送到標簽t。

step2.t→r:m2{α,pidt,nx,seq(ifreq),fid(optional)}

收到讀寫器的發(fā)出的消息之后,生成一個隨機數(shù)nt,計算

pidt=h(idt||kts||seq||nt),α=h(pidt||kts||nx||idr,fid=h(idt||idr||kts)。

然后標簽t向讀寫器r發(fā)送消息m1,發(fā)送內(nèi)容為:α,pidt,seq,fid。其中seq為最后一次接收到的服務器更新的動態(tài)追蹤序列。

fid代替標簽id的作為過濾信息的唯一標識,用來在讀寫器的動態(tài)過濾表中判斷是否進行過濾??梢杂行Ю米x寫器的計算和存儲能力,減輕服務器的負擔。

在遭受攻擊或者意外情況導致失去同步的情況下,seq驗證失敗,標簽自動啟用內(nèi)部的standby表備用鍵值對進行驗證,使得pidt=sidj,kts=skeyj。這種失去同步再次驗證的情況下,不需要再次發(fā)送seq進行驗證,所以也不是每次驗證標簽都會發(fā)送seq。

step3.r→s:m3{ny,β,m2,idr}

在收到來自標簽的信息m2之后,如果fid不為空,則在最新的過濾表中,查詢是否存在fid,然后根據(jù)動態(tài)過濾表執(zhí)行過濾操作來判斷是否過濾本次驗證申請。若此次申請并未被過濾,則進行下一步驗證。生成一個隨機數(shù)nr,計算β=h(m2||nr||krs)。讀寫器將ny,β和m2,idr發(fā)送都后端服務器進行處理。

step4.s→r:m4{pseqt,γ,δ,pfid(optional)}

收到來自讀寫器的消息m3后,首先驗證seq是否相等,不相等則可能發(fā)生不同步現(xiàn)象,中斷此次認證。若是合法標簽且有提前注冊的standby備用表可以再次申請,更新seq后解決不同步現(xiàn)象。如果通過了第一步的動態(tài)追蹤序列認證,計算判斷β是否等于h(m2||nr||krs),如果β驗證成功,讀寫器驗證完畢。開始驗證是否存在一個合法的kts使得h(pidt||kts||nx||idr)等于標簽發(fā)送來的消息α,若α驗證失敗,則終止認證過程。如果α驗證成功,計算驗證后端服務器是存在滿足h(idt||kts||seq||nt)等于接受到的pidt的idt。如果pidt也驗證成功,標簽驗證階段完成,否則終止認證過程。

讀寫器和標簽都認證成功后,服務器生成一個新的seq動態(tài)追蹤序列seqnew=n,n為服務器生成的隨機數(shù),然后計算γ=h(pseqt||kts||idt||nt),δ=h(idr||nr||krs)。然后更新下一輪的共享密鑰ktsnew=h(kts||idt||seqnew),此時后端數(shù)據(jù)庫的動態(tài)追蹤序列和共享密鑰數(shù)據(jù)已經(jīng)更新為seqnew和ktsnew。

特別地,作為進一步的優(yōu)選實施例,如果本次認證啟用了動態(tài)過濾表機制的話,在此步驟中,無論驗證成功還是失敗,我們都需要計算pfid,如果認證不成功,則將失敗數(shù)據(jù)返回給讀寫器,用于防止來攻擊者的重防攻擊。如果成功則需要計算最后將pseqt,γ,δ和pfid發(fā)送給讀寫器。

特殊情況下,作為進一步的優(yōu)選,在失去同步時,標簽會使用standby備用表中的未使用過的(sidj,skeyj)鍵值對用于驗證,消息中不包含seq的請求。此時,從服務器的sid集合中尋找有沒有滿足的sidj=pidt。若存在,則找出對應的skeyj,計算h(sidj||skeyj||nx||idr)是否等于來自標簽的α。不相等則中斷連接,相等則生成一個新的seqnew,分別計算pseqt,γ,δ的值,更新共享密鑰的ktsnew,步驟與上述情況相同。

step5.r→t:m5{pseqt,γ}

在收到服務器返回的的消息m4后,首先驗證讀寫器是否滿足h(idr||nr||krs)=δ,驗證失敗則中斷驗證。若δ驗證成功,則轉發(fā)pseqt,γ到標簽。特別地,若m4消息中含有pfid標志,接受pfid,計算得到需要更新在動態(tài)過濾表中的fid信息,記錄相應的時間和次數(shù)以及成功或失敗標志,更新動態(tài)過濾表。

標簽收到消息后,計算然后驗證標簽是否滿足h(pseqt||kts||idt||nt)=γ,驗證成功的話,此次協(xié)議驗證完畢,標簽和后端服務器認證成功。

但是,標簽還需要同步后端服務器更新seq和kts,其中新的seq=seqnew,新的kts更新為h(kts||idt||seqnew)。這樣標簽中的共享密鑰和動態(tài)追蹤序列更新到與服務器同步,在下次認證中使用。需要特殊說明的是,在失去同步的情況下,標簽啟用standby表中的鍵值對發(fā)出認證申請,認證成功后,需要用同樣的方法同步后端服務器更新seq和kts,同時刪除使用過的鍵值對,這樣就解決了不同步問題。

作為進一步的實施例,如果失去同步情況下,使用的standby備用表驗證方式和正常情況下使用一次性假名與動態(tài)序列的方法都具有強匿名性。為保證備用驗證方式的安全性,備用驗證方式的standby表也是在注冊階段通過安全信道由服務器發(fā)送到標簽的。standby驗證只是用來處理去同步攻擊和dos攻擊的。而且每次使用過的standby鍵值對,要在標簽和服務器中同時刪除,可以防止偽造攻擊和中間人攻擊。另外,動態(tài)追蹤序列seq很好的判斷了當前標簽認證是否和服務器失去同步,而且也相當于第一層基本驗證,大大增加了驗證速度,能夠防止重放攻擊和中間人攻擊等。讀寫器中的動態(tài)過濾表在多次驗證中動態(tài)生成,動態(tài)過濾表最大化的利用了讀寫器的存儲和計算功能,減輕了后端服務器短時間內(nèi)進行大批量運算的負擔。

作為進一步的實施例,動態(tài)過濾表存儲到讀寫器的內(nèi)部。讀寫器內(nèi)部的存儲器可以分為系統(tǒng)存儲區(qū)和用戶存儲區(qū)兩部分。在用戶存儲區(qū)上建立數(shù)據(jù)表,優(yōu)選的是,,選取用戶存儲區(qū)的10%作為過濾表存儲較為合適。在認證過程中,讀寫器通過接受后臺服務器返回的信息對用戶存儲區(qū)內(nèi)的過濾表進行更新,為了防止動態(tài)過濾表被填滿,系統(tǒng)定期自動執(zhí)行擦除,合理釋放內(nèi)存空間并對保留的記錄進行排序。

動態(tài)過濾表通過在認證過程中接受來自服務器返回的認證信息,保存相應標簽的認證成功或失敗的記錄,用以對標簽申請執(zhí)行過濾操作。動態(tài)過濾表的建立是動態(tài)的,隨著驗證次數(shù)的增加而不斷更新。對于來自攻擊者重復的非法認證申請,讀寫器將執(zhí)行過濾操作;短時間內(nèi)的重復申請和超過認證上限次數(shù)的申請都會被作為無效申請執(zhí)行過濾操作;對于有效的合法申請或者第一次認證申請,讀寫器將轉發(fā)相應信息至服務器。動態(tài)過濾表對于面臨較多重放攻擊和無效申請的rfid系統(tǒng)環(huán)境,有著降低服務器計算負荷,提高rfid系統(tǒng)的運行效率的作用。

表2動態(tài)過濾表結構

“fid”是過濾表的主鍵,為了保持動態(tài)的共享密鑰和保持安全協(xié)議的強匿名性,與基于靜態(tài)id機制下的索引內(nèi)表的實現(xiàn)有所不同,它并不時真正的標簽id,而是用過濾標識fid代替,fid是單向hash函數(shù)的加密后的信息fid=h(idt||idr||k)來進行唯一標識,fid只能用于讀寫器上的過濾判斷,因即使它被截獲,它也不可能被追蹤或者利用,這保證了原協(xié)議的強匿名性。

h(),表示輕量級hash函數(shù),即單向散列函數(shù)。

k為動態(tài)共享密鑰,會在每次驗證結束后動態(tài)更新。

idt和idr分別為標簽和讀寫器的唯一標識。

flag是驗證成功與否的標識,如果成功令flag=1,否則flag=0;

n是記錄短時間內(nèi)同一fid申請驗證的次數(shù),對應的n自動加1,初始值為0。

maxn是允許同一個fid在一定時間內(nèi)的最大驗證次數(shù)。與n對比,這樣既可以過濾短期內(nèi)的重復申請,也可以有效地防止重放攻擊。

lastt是記錄從該fid的最后一次經(jīng)過驗證判斷從服務器返回的時間。

首先在讀寫器中建立一個上表所示數(shù)據(jù)結構的空表,具體大小根據(jù)標簽數(shù)量和用戶存儲區(qū)判斷,一般占用5%到10%的存儲區(qū)空間,同時能夠站總標簽數(shù)的5%左右最為合適,這樣既不會使得空間太大造成浪費和額外的計算量,也不會使得表太小,達不到好的過濾效果。遵循上一節(jié)提到的動態(tài)過濾表的結構,在讀寫器的用戶內(nèi)存區(qū)上初始化一個對應結構的空表,表3展示了動態(tài)過濾表的一個示例。

表3動態(tài)過濾表的示例

在強匿名rfid安全協(xié)議中,不能直接使用靜態(tài)的索引內(nèi)表,而是動態(tài)建立過濾表,主要有兩方面的原因:一是基于動態(tài)共享密鑰的強匿名安全協(xié)議,它是一種基于動態(tài)id機制的安全協(xié)議,密鑰在每次結束認證都需要更新,另外,標簽標識idt是包含在哈希函數(shù)里結合動態(tài)密鑰和隨機數(shù)作為參數(shù)進行加密,利用加密后的一次性假名進行傳輸,為了保持它的強匿名性,在整個認證過程中,即使是讀寫器也無法推算真正的idt。因此動態(tài)過濾表在初始化以后,每次服務器驗證結束將驗證消息(失敗或者成功)加密返回給讀寫器,讀寫器解密后更新動態(tài)過濾表,隨著認證次數(shù)的增多,動態(tài)過濾表會隨之變化。

針對基于動態(tài)共享密鑰的強匿名rfid安全協(xié)議,使用fid作為過濾標識,fid=h(idt||idr||k),它本身的值不會暴露任何信息,符合標簽強匿名性的需求。k是在每次驗證結束后動態(tài)更新的,如果驗證失敗,那么fid=h(idt||idr||kold),如果成功則使fid=h(idt||idr||knew),即如果驗證成果共享密鑰會由kold更新為knew,然后計算過濾標識fid返回給讀寫器,如果驗證失敗,將失敗信息值返回給讀寫器。這樣既可以防范已經(jīng)驗證為非合法標簽的重放攻擊,也能過濾合法標簽短期內(nèi)無效的重復申請。

第一次標簽發(fā)送申請,經(jīng)過讀寫器,此時過濾表為空,轉發(fā)到后臺服務器,進行驗證,返回其它加密消息和fid,fid插入到過濾表最上一行,同時根據(jù)實際情況更新flag,成功flag=1,失敗flag=0。更新lastt為最新時間。經(jīng)過多次標簽的驗證,讀寫器根據(jù)服務器返回的數(shù)據(jù)執(zhí)行更新算法,循環(huán)往復執(zhí)行這一過程,實現(xiàn)動態(tài)過濾表就的建立。但是過濾表是固定大小的,如果過濾表滿了,再次有記錄想要插入到過濾表中,那么則刪除時間最早的一條記錄,并由之替換,過濾表中的數(shù)據(jù)記錄按照排序算法進行排序,最新的放在表的上面,當進行過濾的時候優(yōu)先比對排位較高的記錄,提高執(zhí)行效率。

標簽發(fā)送fid=h(idt||idr||k),及其他加密驗證信息到讀寫器,讀寫器判斷過濾表中是否存在對應的fid,若存在,如果flag=1,則判斷為上次已經(jīng)通過的驗證。根據(jù)lastt的值進行下一步判斷,如果是短時間內(nèi)(根據(jù)標簽的頻率和實際情況定義)的再次申請則視為重復申請,執(zhí)行過濾操作,不轉發(fā)此消息給服務器。若不是短時間內(nèi)的重復申請,如果n+1<maxn,則令n=n+1并且轉發(fā)其它加密信息到后臺服務器,否則n+1=maxn,超出一段時間內(nèi)允許申請的最大次數(shù),則過濾此次認證申請。如果flag=0,是已經(jīng)驗證為非法的申請,當時從服務器返回給讀寫器的fid中的共享密鑰仍為kold,即舊的共享密鑰。一般為攻擊者利用截獲的過期加密信息進行攻擊,則直接執(zhí)行過濾,這樣可以有效地防止重放攻擊。

如果過濾表中沒有對應的fid,然后直接轉發(fā)其它加密信息到后臺服務器進行認證。后端服務器對其完成認證后將相應的信息返回給讀寫器,讀寫器更新動態(tài)過濾表,并將信息轉發(fā)給標簽。

對于來自非法攻擊者的重復攻擊,通過過濾表中的非法記錄直接執(zhí)行過濾操作。來自合法標簽的申請,根據(jù)預設的maxn判斷申請次數(shù)未達上限而且判斷為不是短時間(定義為l)內(nèi)重復的無效申請,讀寫器將轉發(fā)申請信息至后端服務器。對于失敗的申請,則返回失敗信息,同時是更新動態(tài)過濾表。

通過模擬協(xié)議認證過程,通過對協(xié)議中的計算、加密、認證和更新過程進行模擬數(shù)值實例分析,以驗證其可行性。

認證參數(shù)初始化:

待認證標簽:a5314071f5cbb8d44d6758aa8e02384a

待認證讀寫器:7e6f98c91e59ea8291f0e081f92a3b77

標簽注冊階段數(shù)據(jù)生成:

動態(tài)共享密鑰kts=a37bda413d67a3a5a0a2f1e82d56872d,動態(tài)追蹤序列seq=313da11632475a8d9520f5cac00103e4。

發(fā)起認證:

讀寫器發(fā)送請求消息m1到標簽。

標簽生成一次性隨機數(shù)nt=038dedc09caad674d8404da287e3948d,標簽計算pidt=h(idt||kts||seq||nt)=5765f19dd9e282a1644f6429455ed2f1,α=h(pidt||kts||nx||idr)=00ee5beb965c41810f08103e1318dbe7,fid=h(idt||idr||kts)=861c2e4182f1b42377a574b088cfc2a6,標簽發(fā)送消息m2={nx,pidt,α,fid(可選)}到讀寫器。

讀寫器首先匹配后臺過濾表,由于是第一次申請,不執(zhí)行過濾。讀寫器生成一次性隨機數(shù)nr=fa18e2567b1eb7c00896d1010ada6bf8。讀寫器計算β=h(m2||nr||krs)=92428b5c3046699029982305113cb7a0,讀寫器發(fā)送消息m3={ny,β,m2,idr}到后端服務器進行認證。

后端服務器認證:

服務器收到來自讀寫器的消息m3,服務器驗證動態(tài)追蹤序列seq,由于本次認證實例使用的是合法標簽和讀寫器,故驗證成功。讀寫器異或計算計算h(m2||nr||krs)=92428b5c3046699029982305113cb7a0=β,β驗證成功。計算h(pidt||kts||nxidr)=00ee5beb965c41810f08103e1318dbe7=α,α驗證成功。異或計算最后服務器驗證標簽假名pid=861c2e4182f1b42377a574b088cfc2a6,pid驗證成功。讀寫器和標簽均成功認證,服務器認證過程結束。

服務器密鑰更新:

服務器開始執(zhí)行更新操作,生成新的動態(tài)追蹤seqnew=99e41363fd2ee0e00d4b37627c763521,計算γ=h(pseqt||kts||idt||nt)=7c0a41b3e59e845f860c00dc0cad2e51,δ=h(idr||nr||krs)=ef32a47d3b6172491a0cbe353fb1ccb6。服務器后端更新下一輪認證的kts為5bc44a901a947b67855be81bfced68a6,最后生成過濾信息

服務器發(fā)送消m4={pseqt,γ,δ,pfid(可選)}到讀寫器。

讀寫器認證:

讀寫器收到服務器返回的消息m4,讀寫器通過hash函數(shù)計算h(idr||nr||krs)=ef32a47d3b6172491a0cbe353fb1ccb6,與來自服務器的δ相等,δ驗證成功。通過異或計算提取pfid中過濾信息,更新動態(tài)過濾表。讀寫器轉發(fā)信息m5={pseqt,γ}到標簽。

標簽認證和密鑰更新:

標簽收到來自讀寫器返回的消息m5,標簽計算h(pseqt||kts||idt||nt)=ef32a47d3b6172491a0cbe353fb1ccb6,γ驗證成功。標簽通過異或運算得到更新后的動態(tài)追蹤序列并在標簽端更新seqnew=99e41363fd2ee0e00d4b37627c763521,標簽計算并更新下一輪的共享密鑰kts=5bc44a901a947b67855be81bfced68a6,此時標簽、讀寫器和后端服務器相互認證成功,認證結束。

安全協(xié)議的形式化分析將安全協(xié)議的非形式化描述轉換為規(guī)范的邏輯符號表示,根據(jù)邏輯推理得到協(xié)議可能存在的安全缺陷,使用最為廣泛的方法是由burrows,abadi和needham三人一起提出的ban邏輯,它是一種基于推理的模態(tài)邏輯方法。采用這種方法,對申請協(xié)議進行安全性證明。

ban邏輯包括協(xié)議參與者(主體),密鑰和公式三種基本對象。通常使用字母p,q表示主體,x,y表示公式,k表示密鑰。用到的一些主要的ban邏輯基本結構如表4所示。

表4ban邏輯基本結構

ban邏輯分析共有六個基本推理規(guī)則,本申請在分析過程中主要引用了其中的4個:

消息含義規(guī)則:p相信p和q之間的共享密鑰k,且p收到過q發(fā)送的以

密鑰k進行加密的消息{x}k,則p相信q發(fā)送的公式x。

控制權規(guī)則:若p相信q具有x有控制權,同時p相信q相信x,則有p相信x。

新鮮規(guī)則:p相信x是新鮮的,那么x和y的組合消息整體對于p來說也是新鮮的。

信念規(guī)則:如果p相信x和y組成的級聯(lián)信息,則p也相信x。

使用ban邏輯進行形式化分析需要遵從一定的步驟,首先確認初始狀態(tài)建立起協(xié)議的假設集合,然后進行協(xié)議理想化描述,對協(xié)議會話進行解釋,最后使用推理規(guī)則進行推導,ban邏輯形式化分析的基本步驟如圖5所示。

根據(jù)ban邏輯形式化分析的基本規(guī)則和步驟,下面提出的基于動態(tài)共享密鑰和hash函數(shù)的強匿名安全協(xié)議進行安全性證明。為了更好的分析我們提出的協(xié)議,針對本文提出的基于動態(tài)共享密鑰和hash函數(shù)的強匿名認證協(xié)議,由于共享密鑰會動態(tài)更新,對規(guī)則1進行更為詳細的表述,原始規(guī)則1中不能表現(xiàn)出密鑰的實時性,在協(xié)議中,使用過期密鑰也視為非法驗證申請。因此將規(guī)則1進行擴展,使用函數(shù)f()保證加密信息x使用密鑰和動態(tài)序列是最新的,且不是重復的,新的規(guī)則表述如下,將其稱為擴展規(guī)則:

第一次消息m1省略,因為它對協(xié)議沒有實際作用,協(xié)議形式化如下:

1.

2.

3.

4.

協(xié)議的初始化假設集合如下:

1.

2.

3.s|≡t|~m2

4.

5.

協(xié)議的理想化模型如下:

1.s|≡m3,s|≡r|~β,s|≡t|~pidt

2.r|≡m4,r|≡s|~δ

3.t|≡m5,t|≡s|~γ

應用上文提到的基本規(guī)則以及擴展規(guī)則進行邏輯推理,最終達到證明協(xié)議安全性的目的。

根據(jù)協(xié)議流程,服務器若滿足和s|=t|~m2應用規(guī)則5可以寫為

可以得到,然后根據(jù)規(guī)則3和規(guī)則4,可以寫出:

應用規(guī)則5得到

繼續(xù)應用規(guī)則3和規(guī)則4有:

同樣地,針對讀寫器若有可以寫出

應用規(guī)則5可以寫出

然后利用規(guī)則3和規(guī)則2,能夠寫出

以及

對于標簽t來說,若有可以寫出

應用規(guī)則5得到如下詳細描述

通過上述ban邏輯推導,可以看出,標簽,讀寫器和后端服務器各自都具有足夠的認證能力來保證安全,達到了協(xié)議的安全目標。通過ban邏輯分析證明了提出的協(xié)議在標簽讀寫器和后端服務器進行雙向認證的安全性。

盡管本發(fā)明/發(fā)明的實施方案已公開如上,但其并不僅僅限于說明書和實施方式中所列運用。它完全可以被適用于各種適合本發(fā)明的領域。對于熟悉本領域的人員而言,可容易地實現(xiàn)另外的修改。因此在不背離權利要求及等同范圍所限定的一般概念下,本發(fā)明并不限于特定的細節(jié)和這里示出與描述的圖例。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1