張順,范鴻麗,仲紅,田苗苗
(安徽大學計算機科學與技術學院,安徽 合肥 230601)
隨著傳感器技術和無線通信技術的不斷發展,無線體域網[1]應運而生,滿足了人們對高質量醫療服務的需求。WBAN由一系列資源受限的穿戴式或嵌入式的傳感器節點組成,這些節點能夠實時收集病人的生理信息,然后通過智能設備將數據發送到遠程應用端進行診斷。圖1是典型的WBAN應用場景,其中 WBAN中節點收集實時生理數據(心跳、血壓等),通過智能設備(個人數字管家、智能手機等)將數據發送到遠程應用端進行分析診斷。由于收集的敏感生理數據在公共信道上傳輸,為了保護生理數據的隱私性以及確保用戶可以得到及時治療,在無線體域網認證協議需要滿足用戶匿名相互認證、不可鏈接性、不可否認性以及會話密鑰建立等安全需求。

圖1 無線體域網應用場景
首個遠程認證協議是由 Lamport[2]提出的,該協議允許移動客戶通過公共信道向遠程服務器進行身份認證,并且雙方可以生成共享會話密鑰以保證后期通信的安全。此后,許多遠程認證協議被相繼提出(如文獻[3~7])。這些協議屬于傳統公鑰密碼協和基于身份的密碼協議。在傳統的公鑰密碼體制中,客戶的公私鑰對都是由它自己隨機生成,為了確保客戶身份和公鑰對應關系的真實性,需要證書授權中心(CA,certificate authority)給客戶頒發相應的公鑰證書。由于證書分發和管理代價較大,因此,這種密碼體制不適用于資源受限的WBAN?;谏矸莨€密碼體制的思想是由 Shamir[8]提出的,其中,客戶的公鑰是身份信息,因此,該體制消除了公鑰證書。但是在基于身份的密碼體制中客戶的私鑰都是由私鑰生成中心(PKG,private key generator)生成的,因此,密鑰托管存在問題。為了解決該問題,Al-Riyami等[9]提出了無證書公鑰密碼體制。在這種密碼體制中客戶的私鑰由它選擇的秘密值和 PKG生成的部分私鑰組成。因此,無證書公鑰密碼體制不僅消除了公鑰證書,還解決了密鑰托管問題。
Liu等[10,11]在2014年首次提出了2個保護隱私的無證書遠程匿名認證協議,由于在協議中服務器需要存儲驗證表,存在偽造客戶的可能性,并且協議不滿足前向安全性等安全需求同時也使用了雙線性對等操作,客戶的計算代價較大。Xiong[12]給出了一種基于無證書加密的遠程匿名認證協議,但該協議在客戶端使用了較多的點乘操作并且沒有考慮到客戶和遠程應用端的撤銷問題,即當客戶或遠程應用端的密鑰泄露或服務到期時,PKG需要將該客戶或遠程應用端撤銷。否則,服務到期的客戶可以繼續享受醫療服務,惡意的遠程應用端也可以非法收集客戶的隱私生理信息。
在無證書公鑰系統中,Xiong等[13]首次提出了在 WBAN中可撤銷的遠程匿名認證協議,但該協議使用了大量雙線性對以及 map-to-point散列操作,客戶的計算代價太大。此外,協議使用KUNode算法[14]進行客戶和遠程應用端的撤銷,樹形結構的撤銷導致客戶的存儲開銷較大。為了降低客戶的開銷,Tseng等[15]提出了一種有效的撤銷算法,在該算法中客戶的私鑰分成3個部分:客戶選取的秘密值、PKG生成的部分私鑰和PKG生成的時間密鑰,其中,時間密鑰是周期性更新的,因此,可能會出現客戶密鑰泄露或服務到期發生在更新周期內的情況,而PKG無法立即將客戶撤銷。
基于以上問題,本文基于無證書簽名思想,采用橢圓曲線和實時更新時間密鑰技術提出了一種高效的可撤銷無證書遠程匿名認證協議。該協議沒有使用雙線性對以及map-to-point散列操作,客戶的計算代價較小。此外,與文獻[13]中的協議相比,本文所提協議實現撤銷的同時大大降低了客戶的存儲代價。最后,安全性分析證明該協議在隨機預言模型下是安全的。
本節給出橢圓曲線密碼的基本概念和相關困難假設。
素數域Fp上的橢圓曲線E是由y2=x3+ax+bmodp上的點集(x,y)和一個稱為無窮遠點O組成的,其中,a,b∈RFp并且4a3+2 7b2≠0 modp。曲線E與點加定律“+”形成一個循環加法群G,無窮遠點O是單位元。具體定義如下。給定P,Q∈G,則P+Q被視為關于x軸的反射點R,其中,R是曲線E和線l之間的交叉點。如果P≠Q,l由P和Q決定;如果P=Q,l表示的切線。一個點P的倍數可以實現為重復的加法,即mP=P+P+…+P。
橢圓曲線的更多信息參考文獻[16]。
本文協議的安全性依賴于以下2個經典的困難假設。
1) 離散對數問題(DL,discrete logarithm problem)。給定元組{P,xP}∈G,在概率多項式時間內找到整數x是困難的。
2) 計算 Diffie-Hellman問題(CDH,computational Diffie-Hellman problem)。給定元組{P,xP,yP}∈G,其中,x,y是中未知的整數,在概率多項式時間內計算xyP是困難的。
本節介紹系統模型、安全性需求、可撤銷的無證書認證協議以及安全模型。
系統模型如圖2所示,協議共有3個參與方:客戶(C)、私鑰生成中心(PKG)和遠程應用端(AP),其中,C和AP都可能有多個而PKG一般只有一個。

圖2 系統模型
私鑰生成中心(PKG)。PKG被視為C和AP的注冊中心,一般是由半可信的盈利組織擔任。為了商業盈利的目的,PKG可能通過偽裝成合法的AP來收集病人隱私數據或通過偽裝成合法的C來獲得醫療服務。
客戶(C)??蛻舸聿』?。C配備了一系列傳感器節點和智能設備。C在請求AP服務之前需要向PKG注冊,由PKG預設公共參數,部分私鑰和時間密鑰,其中,部分私鑰通過安全信道發送,時間密鑰通過公共信道發送。當PKG檢測到C的服務到期或密鑰泄露時,需將C撤銷。
遠程應用端(AP)。遠程應用端是醫療服務中心,如醫院、診所等。在AP給C提供遠程服務之前同樣需要向PKG注冊并由PKG預設公共參數、部分私鑰和時間密鑰,其中,部分私鑰通過安全信道發送,時間密鑰通過公共信道發送。當 PKG檢測到AP的服務到期或密鑰泄露時,需要撤銷該AP。
為了確保 WBAN環境下的通信安全,認證協議通常需要滿足以下安全性需求[11~13]。
1) 客戶匿名。為了保護C的隱私,包括PKG在內的任何第三方都不能通過截獲請求消息獲得C的身份信息。
2) 相互認證。為了確保只有合法的 C可以獲取醫療服務并且只有合法的 AP可以提供醫療服務,協議需要在C和AP之間提供相互認證。
3) 不可鏈接。一個合法的C可以向AP發出多次服務請求消息,但網絡攻擊者不能分辨哪些消息來自同一個C。
4) 會話密鑰安全。在完成相互認證之后,C和AP可以建立會話密鑰。會話密鑰用來保護雙方后續的通信安全,所以協議需要保證會話密鑰的安全。
5) 前向安全。即使參與方的長期密鑰泄露,之前會話中傳輸的數據依然是安全的,即這些數據不會被泄露。
6) 可撤銷。當C/AP的私鑰泄露或服務到期時,PKG應能撤銷該C/AP。
可撤銷的無證書遠程認證協議主要包括以下幾部分,其中,為了敘述方便,將C和AP統稱為用戶。
1) 初始化(1λ)。由PKG運行,輸入安全參數1λ,輸出公共參數params、系統主密鑰s以及系統公鑰。
2)秘密值提取算法(ID)。由用戶運行,輸入用戶身份ID,輸出用戶的秘密值xID。
3) 公鑰提取算法(ID,xID)。由用戶運行,輸入用戶的身份ID和秘密值xID,輸出用戶的公鑰PKID。
4) 部分私鑰提取算法(ID,PKID,params)。由PKG運行,輸入用戶的身份ID、用戶的公鑰PKID、系統參數params,輸出用戶的部分私鑰sID。
5)時間密鑰提取算法(ID,PKID,params,t)。由PKG運行,輸入用戶的身份ID、用戶的公鑰PKID、系統參數params和當前時間t,輸出用戶的時間密鑰sID,t。
6) 私鑰提取(ID,xID,sID,sID,t)。由用戶運行,輸入用戶的身份ID、秘密值xID、部分私鑰sID、時間密鑰sID,t,輸出用戶的私鑰skID。
7) 認證(ID,skID,PKID,params)。由用戶運行,輸入用戶的身份ID、用戶私鑰skID、用戶公鑰PKID和系統參數params,生成請求消息M。然后將M發給AP。AP驗證消息M的有效性,如果有效,輸出Accept;否則,輸出Reject。
8) 撤銷(ID,t,sID,t)。由PKG運行,當用戶ID的密鑰泄露或服務到期時,停止為ID更新時間密鑰sID,t。
本文協議涉及以下3類敵手。
1) 敵手A1。該敵手是外部敵手,他不知道系統主密鑰,但可以替換任意合法用戶的公鑰以及從公共信道得到用戶的時間密鑰。
2) 敵手A2。這類敵手有誠實但是好奇的PKG,他可以知道系統的主密鑰,但是不能替換用戶公鑰。
3) 敵手A3。這類敵手是已經撤銷的用戶,他不知道系統主密鑰和更新的時間密鑰,但可以替換用戶公鑰。
協議的安全性由以下3個游戲表示。
游戲1挑戰者C運行初始化算法,生成系統參數和主密鑰。C保留主密鑰,發送系統參數給A1。A1可以進行詢問。
1) 用戶秘密值詢問。A1發送一個用戶的身份ID,C執行用戶秘密值算法,然后將xID返回。
2) 用戶公鑰詢問。A1詢問身份為ID的用戶公鑰,C執行公鑰提取算法,然后將PKID返回。
3) 部分私鑰詢問。A1發送一個用戶的身份ID,C執行部分私鑰提取算法,然后將sID返回。
4) 時間密鑰詢問。A1詢問身份為ID的用戶在t時刻的時間密鑰,C執行時間密鑰提取算法,然后將sID,t返回。
5) 公鑰替換詢問。A1將身份為ID的用戶公鑰PKID替換成PKI′D。C將記錄該過程。
6) 認證詢問。A1代表身份為ID的用戶在公鑰PKID和時間t下進行認證詢問,C執行認證算法得到認證消息{Xi,Qi},然后將{Xi,Qi} 返回給A1。
A1輸出身份ID*在和t*下的認證消息若滿足以下條件,則A1贏得游戲。
①A1沒有執行過對 (ID*,t*)的認證詢問。
②A1沒有提交過對ID*的部分私鑰詢問。
游戲2C運行初始化算法,產生系統參數和系統主密鑰,然后將參數和主密鑰發送給A2。A2可以進行以下詢問。
1) 用戶秘密值詢問。A2發送一個用戶的身份ID,C執行秘密值提取算法,然后將xID返回。
2) 用戶公鑰詢問。A2詢問身份為ID的用戶公鑰,C執行公鑰提取算法,然后將PKID返回。
3) 認證詢問。A2代表身份為ID的用戶在公鑰PKID和時間t下進行認證詢問,C執行認證算法得到認證消息{Xi,Qi},然后將{Xi,Qi} 返回。
A2輸出身份ID*在和t*下的認證消息若滿足以下條件,則A2贏得游戲。
①A2沒有執行過對 (ID*,t*)的認證詢問。
②A2沒有詢問過對用戶ID*的秘密值詢問。
游戲3C執行初始化算法,產生系統參數和系統主密鑰。C保留主密鑰,但將參數發給A3。A3可以進行以下詢問。
1) 時間密鑰詢問。A3詢問身份為ID的用戶在t時刻的時間密鑰,C執行時間密鑰提取算法,然后將sID,t返回。
2) 公鑰替換詢問。A3將身份為ID的用戶公鑰PKID替換成PKI′D。C將記錄下該過程。
3) 認證詢問。A3代表身份為ID的用戶在公鑰PKID和時間t下進行認證詢問,C執行認證算法得到認證消息{Xi,Qi},然后將{Xi,Qi} 返回給A3。
A3輸出身份ID*在和t*下的認證消息若滿足以下條件,則A3贏得游戲。
①A3沒執行 (ID*,t*)的認證詢問。
②A3沒提交過對 (ID*,t*)的時間密鑰詢問。
定義1 如果敵手A1、A2和A3贏得游戲1、游戲2和游戲3的概率都是可忽略的,那么認證協議是安全的。
為了滿足安全性需求以及實現用戶撤銷,本文提出了一種新的高效可撤銷的無證書遠程匿名認證協議。協議包括4個階段:初始化階段、密鑰生成階段、認證階段和撤銷階段。
給定安全參數λ,PKG執行以下步驟。
1) 根據2.1節內容生成大素數p、q和其中,G的階為q。
當AP提供服務之前,需要先執行以下的步驟向PKG注冊。
2) PKG收到IDAP和PKAP后,執行以下步驟。

圖3 初始化和密鑰生成階段的具體過程
當用戶的服務到期或密鑰泄露時,PKG需要撤銷該用戶。PKG將時間t更新為最新的撤銷時間然后通過公共信道為未撤銷的用戶分發更新的時間密鑰。PKG維持一個列表ITL,記錄撤銷用戶身份和撤銷時間。具體如表1所示。例如,在t2時刻,PKG檢測到身份為IDC1的密鑰泄露或服務到期,PKG將 (IDC1,t1)存儲在ITL表中,然后為未撤銷用戶分發時刻為t2的時間密鑰。

表1 撤銷過程
引理1 在隨機預言模型下,如果A1能在多項式時間內以不可忽略的優勢ε攻破本文的協議,其中,A1最多進行qs次認證詢問、qk次部分私鑰詢問和qt次時間密鑰詢問,則存在S可以以不可忽略的概率解決DL問題。
證明 假定A1是攻擊者,給定{P,aP},構造算法S,利用S解決DL問題,計算a。
設Ppub=aP,其中,a是系統主密鑰。S維護列表L、L1、L2、L3、L4、LK、Lt、LPK分別用于存儲A1對h、h1、h2、h3、h4、部分私鑰、時間密鑰和用戶公鑰詢問的記錄。初始狀態下列表為空。A1可以執行以下詢問。

圖4 認證協議具體過程
h詢問。收到 A1對的h詢問后,S進行以下操作。
1) 若表L存在 {IDC,RC,PKC,aC},則返回 aC給 A1。
h1詢問。收到 A1對 {IDC,t,PKC,WC,bC}的h1詢問后,S進行以下操作。
1) 若列表L1中存在 {IDC,WC,bC,t,PKC},則返回 bC給 A1。
部分私鑰詢問。收到 A1對 {IDC,PKC}的部分私鑰詢問后,S進行以下操作,其中,S隨機選擇 I D*的概率為θ。
1) 若 I DC= I D*,S失敗并終止模擬。
時間密鑰詢問。收到 A1對 {I DC,t,PKC}的時間密鑰詢問后,S執行以下操作。
1) 若表 Lt中存在,則返回給 A1。
用戶秘密值詢問。收到 A1對 I DC的秘密值詢問后,S檢索 I DC的公鑰詢問列表 xC,然后將 xC返回給 A1。
用戶公鑰詢問。收到 A1對 I DC的公鑰詢問后,S進行以下操作。
公鑰替換詢問。收到 A1對 P KC的公鑰替換詢問后,S從表LPK中檢索 {IDC,PKC,xC},令PKC=,并將 {IDC,PKC,⊥}添加到表LPK中。
h1詢問。收到A1對 {IDC,Xi,Xi′,tC}的h2詢問后,S進行以下操作。
1) 當表 L2中有 {IDC,Xi,Xi′,tC,vi},則返回vi給A1。
2) 否則,S隨機選擇 vi∈R,返回vi并將{I DC,Xi,Xi′,tC,vi}加入L2中。
h3詢問。收到A1對 {IDC,RC,WC,tC,PKC}的h3詢問后,S進行以下操作。
1) 當表 L3中有 {IDC,RC,WC,PKC,tC,li},則返回 li給A1。
2) 否則,S選擇 li∈,返回li給A1并將{I DC,RC,WC,PKC,tC,li}加入 L3中。
h4詢問。收到A1對 Xi′的 h4詢問后,S進行以下操作。
1) 當表 L3中有 {h4,Xi′},則返回 h4給A1。
2) 否則S隨機選擇 h4∈ {0,1}l,返回 li給{I DC,RC,WC,tC}并將 {h4,Xi′ }加入 L4中。
認證詢問。收到A1對 {IDC,PKC,t}的認證詢問后,S進行以下操作。
1) 若 (I DC,t) ≠ (I D*,t*)并且公鑰未被替換,S選擇計算并將{Xi,Qi} 返回給A1。
2) 若 (I DC,t) =(I D*,t*)或公鑰已經被替換,S失敗并終止模擬。
最后A1輸出的認證消息
A1選擇計算然后將認證消息返回給S。S收到后,計算,解密得到其中,簽名滿足式(1)

S根據分叉引理[17]選擇不同的h可以得到另一個合法認證消息并且簽名滿足式(2)

根據式(1)和式(2),可以推出

引理2 在隨機預言模型下,如果 A2能在多項式時間內以不可忽略的優勢ε攻破本文的認證協議,其中, A2最多進行 qs次認證詢問, qk次部分私鑰詢問和 qt次時間密鑰詢問,則存在S可以以不可忽略的概率解決DL問題。
證明假定 A2是攻擊者,給定{P,aP},構造算法S,利用S解決DL問題,計算a。
S設 Ppub= s P,其中,s是系統主密鑰。 A2知道系統主密鑰并且 A2不允許執行公鑰替換詢問。其中, h 、 h1、h2、h3、h4詢問可參見引理1。
用戶公鑰詢問。收到 A2對 I DC的公鑰詢問后,S進行以下操作。
用戶秘密值詢問。收到 A2對 I DC的秘密值詢問后,S進行以下操作。
1) 若 I DC= I D*,S失敗并終止模擬。
2) 否則,S檢索 I DC的公鑰詢問列表 xC,然后將 xC返回給 A2。
認證詢問。收到 A2對 {IDC,PKC,t}的認證詢問后,S進行以下操作。
最后 A2輸出的認證消息
A2選擇計算并將返回給S。S收到后,計算解密得到其中,簽名滿足式(3)

S根據分叉引理[17]選擇不同的 h2可以得到另一個認證消息其中,簽名滿足式(4)

根據式(3)和式(4),可以推出

引理3 在隨機預言模型下,如果 A3能在多項式時間內以不可忽略的優勢ε攻破認證協議,其中,A3最多進行 qs次認證詢問, qk次部分私鑰詢問和qt次時間密鑰詢問,則存在S可以以不可忽略的概率解決DL問題。
證明假定 A3是攻擊者,給定{P,aP},構造算法S,利用S解決DL問題,計算a。
S設 Ppub= a P,其中,a是系統主密鑰。 A3是已經撤銷的用戶,知道秘密值和部分私鑰。 A3執行的 h、h1、h2、h3、h4以及秘密值,公鑰替換詢問可參見引理1。
部分私鑰詢問。收到 A3對的部分私鑰詢問后,S進行以下操作。
1) 當表 Lt中有則返回(sC,RC)給 A3。
時間密鑰詢問。收到 A3對的時間密鑰詢問后,S進行以下操作。
1) 若 (I DC,t) ≠ (I D*,t*),S隨機選取sC,t,計算返回 {sC,t,WC} 給A3,并添加到Lt中。
用戶公鑰詢問。收到 A3對 I DC的公鑰詢問后,S進行以下操作。
認證詢問。收到 A3對的認證詢問后,S進行以下操作。
最后,A3輸出的認證消息
A3選擇計算以及然后將返回給 S。S收到后,計算解密后得到其中,簽名滿足式(5)

S根據分叉引理[17]選擇不同的 h1可以得到另一個合法認證消息,并且簽名滿足式(6)

根據式(5)和式(6),可以推出

下面的分析證實本文協議也滿足客戶匿名、相互認證、不可鏈接、會話密鑰安全、前向安全和可撤銷等安全性需求。
2) 相互認證性。在前面的分析中可以得出只有合法的C和AP可以生成合法請求消息和應答因此,C和AP可以通過驗證消息的有效性來確定對方是否合法。所以本文的協議滿足相互認證性。
4) 會話密鑰安全性。相互認證之后,C和AP將建立會話密鑰其中,如果敵手想要偽造會話密鑰,需要解決CDH問題。而CDH問題是難解的,所以本文協議能夠提供會話密鑰安全性。
5) 前向安全性。在協議的執行過程中,C和AP可以生成會話密鑰即使敵手知道C和AP的長期私鑰,計算會話密鑰還需要從中計算出 cidiP,即要解決CDH問題。而CDH問題是難解的,所以本文的協議滿足前向安全性。
6) 可撤銷性。當用戶的密鑰泄露或服務到期時,PKG需要撤銷該用戶。此時PKG將為未撤銷的用戶更新時間密鑰而撤銷用戶的時間密鑰將不更新,所以本文協議可撤銷性。
本節將本文協議與文獻[12,13]的協議進行功能對比。表2中√表示能滿足該性質,×表示不能滿足該性質??梢姳疚膮f議和文獻[13]中的協議滿足所有的常見安全性需求,而文獻[12]中協議未考慮到用戶撤銷問題。

表2 功能對比
本文協議中C端在Inter? Core i7 CPU 3.6 GHZ處理器,內存為512 MB,操作系統為Win7上模擬,AP端在Inter? Core i5CPU 2.4 GHz處理器,內存為4 GB,操作系統為Win10 OS上模擬,并使用JPBC庫[18]量化密碼學操作時間。在模擬實驗中采用超奇異曲線E/FP:y2=x3+x,其中,階q是160 bit的Solonas素數,G1中的元素為512 bit,假定協議中使用的身份信息和時間戳均為 32 bit。此外,對稱加密/解密操作、消息認證碼以及普通散列函數操作的時間較短[19],可以忽略不計。
6.2.1 計算代價分析
通過模擬實驗結果取20次平均值得到C和AP的計算代價。根據模擬實驗結果,給出圖 5和圖6的代價對比。圖5中給出本文協議中C的計算代價隨著AP數量增加的關系,對應多位專家會診等現實情況,圖6中給出本文協議中AP端計算代價隨著C數量增加的關系。本文的協議基于橢圓曲線,沒有使用高代價的雙線性對以及map-to-point散列操作。由圖5和圖6可以看出,與文獻[12]和文獻[13]相比,C端及AP端的計算代價有了大幅降低。

圖5 C端計算代價與AP端數量的關系

圖6 AP端計算代價與C端數量的關系
6.2.2 存儲代價分析
通過模擬實驗選定的參數q、G,可以計算得到協議的存儲代價。
在文獻[12]的協議中,C存儲2m+3 個G中的元素和m個身份信息,其中,m表示AP的數量。所以 C端的存儲代價為 160×(2m+3)+32m=(480+352m) bit;AP存儲3個G中的元素,所以AP端的存儲代價為160×3=480 bit。
在文獻[13]的協議中,WBAN的用戶個數為n= 2a個,C存儲2a+3個G1中的元素和一個隨機數,所以C端的存儲代價為512×(2a+3)+160 =(1 024a+1 696) bit。AP端存儲2a+3 個G1的元素和一個隨機數,所以 AP端存儲代價為 512×(2a+3)+160 =(1 024a+1 696) bit。
在本文協議中,C存儲3m+5個G中的元素和m個身份信息,其中,m表示AP的數量。所以C端的存儲代價為160×(3m+5)+3 2m=(512m+800) bit;AP端存儲5個G中的元素,則AP端的存儲代價為160×5=800 bit。具體比較如表3所示,在實際應用中m遠遠小于n。由于本文協議實現了用戶撤銷,需要多存儲額外的時間密鑰,所以代價比文獻[12]要稍高。但與文獻[13]對比,本文協議的存儲代價大大降低。

表3 存儲代價對比
6.2.3 通信代價分析
通過模擬實驗選定的參數q、G,可以計算得到協議的通信代價。
在文獻[12]的協議中,C發送的消息包括4個G中的元素,一個身份信息和一個時間戳。AP發送的消息包括一個G中元素和一個MAC碼。所以協議的通信代價為160×5+32+32+160=1 024 bit。
在文獻[13]的協議中,C發送的消息包括8個G1中的元素,一個身份信息和一個時間戳。AP發送的消息包括一個G1中元素和一個MAC碼。所以協議的通信代價為512×9+160+32+32=4 832 bit。
在本文的協議中,C發送的消息包括5個G中元素,一個身份信息和一個時間戳,AP發送的消息包括一個G中元素和一個MAC碼。所以協議的通信代價為160×6+32+32+160=1 184 bit。表4給出了詳細的通信代價比較,本文協議比文獻[12]通信代價稍高,因為在傳輸過程中需要發送額外的參數,但是本文考慮了用戶撤銷的問題,代價稍高是可以接受的。

表4 通信代價比較
文獻[13]的協議中使用KUNode算法進行用戶撤銷,PKG計算和分發時間密鑰的代價是n和r的函數,其中,n是用戶個數,r是撤銷用戶的個數。當時,PKG的密鑰更新代價隨著用戶而對數增加;當PKG的密鑰更新代價隨著用戶而線性增加。雖然這種方案可以降低 PKG的更新代價,但是會導致C端存儲大量樹形結構中的內容,存儲代價較大。在本文協議中,PKG的撤銷代價是隨著用戶個數線性增加的。由表5可以看出,在撤銷用戶較少的情況下,本文協議中 PKG的更新代價相對于KUNode算法會較高,但是由表5可以看出本文協議大大減少了 C端的存儲代價。而 PKG的資源比較充足,增加 PKG的代價是可行的。所以本文協議更加適用于WBAN。

表5 PKG撤銷代價對比
本文基于時間密鑰和橢圓曲線提出了可撤銷的無證書遠程匿名認證協議,實驗結果表明本文協議大大降低了用戶端的計算代價和存儲代價。經過安全性證明以及詳細的功能分析說明本文協議是安全有效的,更適用于資源受限的無線體域網。
參考文獻:
[1]ZIMMERMAN T G. Personal area networks: near-field intra body communications[J]. IBM System Journal,1996,35(3/4):609-617.
[2]LAMPORT L. Password authentication with insecure communication[J]. Communications of the ACM,1981,24(24):770-772.
[3]LI M,YU S,LOU W,et al. Group device pairing based secure sensor association and key management for body area networks[C]// Conference on Information Communications. 2010:2651-2659.
[4]LI M,YU S,GUTTMAN J D,et al. Secure ad hoc trust initialization and key management in wireless body area networks[J]. ACM Transactions on Sensor Networks,2013,9(2):1-35.
[5]YANG J H,CHANG C C. An ID-based remote mutual authentication with key agreement scheme for mobile devices on elliptic curve cryptosystem[J]. Computer Security,2009,28 (3-4):138-143.
[6]HE D,CHEN J,HU J. An ID-based client authentication with key agreement protocol for mobile client-server environment on ECC with provable security[J]. Information Fusion,2012,13(3):223-230.
[7]HE D,ZEADALLY S,KUMAR N,et al. Anonymous authentication for wireless body area networks with provable security[J]. IEEE System Journal,2016,(99):1-12.
[8]SHAMIR A. Identity-based cryptosystems and signature schemes[M]//Advances in Cryptology (Lecture Notes in Computer Science).Springer-Verlag,1984,196:47-53.
[9]Al-RIYAMI S S,PATERSON K G. Certificateless public key cryptography[C]//International Conference on the Theory and Application of Cryptology and Information Security. 2003:452-473.
[10]LIU J,ZHANG Z,SUN R,et al. An efficient certificateless remote anonymous authentication scheme for wireless body area networks[C]//IEEE International Conference on Communications.2012:3404-3408.
[11]LIU J,ZHANG Z,CHEN X,et al. Certificateless remote anonymous authentication schemes for wireless body area networks[J]. IEEE Transactions on Parallel & Distributed Systems,2014,25(2):332-342.
[12]XIONG H. Cost-effective scalable and anonymous certificateless remote authentication protocol[J]. IEEE Transactions on Information Forensics & Security,2014,9(12):2327-2339.
[13]XIONG H,QIN Z. Revocable and scalable certificateless remote authentication protocol with anonymity for wireless body area networks[J]. IEEE Transactions on Information Forensics & Security,2015,10(7):1442-1455.
[14]SEO J H,EMURA K. Revocable identity-based cryptosystem revisited:security models and constructions[M]. IEEE Press,2014.
[15]TSAI T T,TSENG Y M. Revocable certificateless public key encryption [J]. IEEE Systems Journal,2015,9(3):824-833.
[16]CILARDO A,COPPOLINO L,MAZZOCCA N,et al. Elliptic curve cryptography engineering[J]. Proceedings of the IEEE,2006,94(2):395-406.
[17]BELLARE M,NEVEN G. Multi-signatures in the plain public-key model and a general forking lemma[C]// ACM Conference on Computer and Communications Security. 2006:390-399.
[18]CARO A D,IOVINO V. jPBC: Java pairing based cryptography[C]//Computers and Communications. 2011:850-855.
[19]CHATTERJEE S,DAS A,SING J. An enhanced access control scheme in wireless sensor networks[J]. Ad-Hoc Sensor Wireless Network,2014,21(1-2):121-149.