国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于帶智能卡的移動終端實現(xiàn)的隱私保護(hù)的屬性票據(jù)方案

2023-01-09 12:33史瑞封化民謝惠琴史國振劉飚楊旸
通信學(xué)報 2022年10期
關(guān)鍵詞:智能卡賣方票據(jù)

史瑞,封化民,謝惠琴,史國振,劉飚,楊旸

(1.北京郵電大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,北京 100876;2.北京電子科技學(xué)院,北京 100070;3.福州大學(xué)數(shù)學(xué)與計算機科學(xué)學(xué)院,福建 福州 350108)

0 引言

電子票據(jù)是用戶屬性信息、紙質(zhì)票據(jù)和實體證件的電子化版本。隨著智能移動終端(如智能手機、平板電腦)的普及和高速互聯(lián)網(wǎng)絡(luò)(如5G、Wi-Fi)的應(yīng)用,電子票據(jù)正逐步取代紙質(zhì)票據(jù)和實體卡成為人們?nèi)粘I畹谋匦杵?。例如,我國已?jīng)廣泛使用電子醫(yī)??ù鎸嶓w醫(yī)保卡就醫(yī),人們可在移動端完成掛號、取號和繳費等流程。在一些國家,航空、地鐵和出入境票據(jù)的管理已全面電子化,人們可在手機上自助完成買票、檢票和退票流程。此外,在購物、住宿、娛樂等領(lǐng)域,會員卡、年卡、優(yōu)惠券和電影票等各種票據(jù)也已逐步電子化。

雖然關(guān)于電子票據(jù)的研究已有許多成果[1-17],但是在移動應(yīng)用場景中部署電子票據(jù)系統(tǒng)仍然面臨著一些至今沒有解決的問題。1) 無法將電子票據(jù)系統(tǒng)部署在資源受限的設(shè)備中(如智能卡)。智能卡設(shè)備由于功耗低、存儲安全和攜帶方便等優(yōu)點成為部署電子票據(jù)的最合適的平臺。已有的屬性票據(jù)方案[6,17]雖然可以在功能強大的設(shè)備(如個人計算機)中使用,但是這些方案使用了耗時的雙線性映射運算,而目前標(biāo)準(zhǔn)的智能卡設(shè)備不支持這類運算,因此它們無法在輕量級設(shè)備中部署。2) 無法防止電子票據(jù)在未授權(quán)設(shè)備(用戶)之間共享。在交通、購物、娛樂等商業(yè)領(lǐng)域中部署電子票據(jù)系統(tǒng)所帶來的一個重要問題是無法阻止未付費(未授權(quán))設(shè)備(用戶)訪問服務(wù)。解決這個問題的最直接方法是將票據(jù)的秘密信息存儲在安全硬件設(shè)備中(如具有安全存儲和防復(fù)制功能的智能卡),使沒有安全硬件的參與就無法完成票據(jù)購買和消費協(xié)議。這不僅可以解決惡意用戶不受限制地共享票據(jù)的問題,而且為誠實用戶增加了額外的安全防護(hù)。

智能卡設(shè)備雖然有很多優(yōu)點,但是其沒有完整的電源和通信裝置,因此需要借助外部輔助設(shè)備,通過接觸或非接觸方式才能完成讀寫和運算操作。因此,不依賴輔助設(shè)備而單獨在智能卡上實現(xiàn)用戶端的電子票據(jù)協(xié)議是不可能的。移動終端(如智能手機)由于部署面廣、使用頻率高、外部接口豐富、計算和通信效率高等優(yōu)點是目前作為輔助設(shè)備的最優(yōu)選擇。這種以智能卡作為核心設(shè)備,移動終端作為輔助設(shè)備的模式已得到廣泛應(yīng)用。例如,在與銀行的認(rèn)證協(xié)議中,用戶的硬件部分由U 盾(智能卡)和智能手機(移動終端)組成,其中,U 盾是可信的并負(fù)責(zé)存儲用戶私鑰和執(zhí)行數(shù)字簽名,智能手機負(fù)責(zé)執(zhí)行賬號管理和網(wǎng)絡(luò)通信;銀行在線轉(zhuǎn)賬的安全性由U 盾保障而不依賴于智能手機,即使智能手機是惡意的也無法通過獲取U 盾中用戶私鑰的方式偽造轉(zhuǎn)賬。為了解決電子票據(jù)系統(tǒng)面臨的上述問題,本文提出了一個基于帶智能卡的移動終端(如帶U 盾的智能手機)部署的屬性票據(jù)方案。

在本文的系統(tǒng)架構(gòu)中,用戶的硬件部分由一張資源受限但安全可信的智能卡和一部功能強大的移動終端組成。其核心思想是將智能卡作為用戶的核心設(shè)備,存儲用戶的所有秘密信息,并執(zhí)行與密鑰有關(guān)但輕量化的運算;將移動終端作為用戶的輔助設(shè)備,執(zhí)行與密鑰無關(guān)但耗時的運算;每個用戶的智能卡唯一,而移動終端可以隨時替換,且沒有智能卡的參與移動終端無法完成任何協(xié)議。

本文給出了基于帶智能卡的移動終端實現(xiàn)的屬性票據(jù)方案的系統(tǒng)模型和安全模型,并結(jié)合偽隨機函數(shù)、匿名的臨時身份方案、帶隨機化標(biāo)簽的可聚合簽名和Pointcheval-Sanders(PS)簽名提出了一個高效的構(gòu)造實例,證明了所提方案滿足不可偽造性和不可鏈接性的安全需求。

在所提方案的用戶運算中,除了用戶的注冊驗證和票據(jù)驗證操作需要移動終端參與外,剩余的用戶注冊請求、票據(jù)購買請求和票據(jù)消費請求都可由智能卡單獨完成,且移動終端參與的操作不需要任何用戶秘密信息的參與。此外,用戶的私鑰和票據(jù)秘密信息不出卡,用戶的身份、公鑰、屬性和證書等公開信息也可存儲在智能卡中。因此,即使移動終端是惡意的,也無法在沒有智能卡的參與下完成電子票據(jù)的任何協(xié)議。

所提方案支持基于屬性泄露的購票策略,可在最小化信息泄露的原則下完成票據(jù)購買,最大程度地保護(hù)了用戶隱私。例如,學(xué)生購買優(yōu)惠票據(jù)時只需泄露“學(xué)生”屬性,而學(xué)號、學(xué)院、住址、電話等敏感信息都應(yīng)保密。與最新的屬性票據(jù)方案[6,17]使用耗時的零知識證明和基于屬性的隨機化簽名實現(xiàn)支持屬性泄露策略的票據(jù)購買協(xié)議不同,所提方案使用一種聚合的方法構(gòu)造用戶屬性證書,顯著降低了票據(jù)購買算法的計算復(fù)雜度。

在票據(jù)購買協(xié)議中,智能卡發(fā)送完票據(jù)購買請求后,可能由于意外或惡意的行為導(dǎo)致其在沒有收到賣方返回的票據(jù)驗證信息的情況下被強制斷電,如智能卡從移動終端上被突然拔出或移動終端突然掉電。在這種情況下,即使智能卡重新上電,由于不能實時保存協(xié)議執(zhí)行的上下文信息,將會導(dǎo)致用戶購票失敗。為了解決這個問題,在所提方案中使用帶密鑰的偽隨機函數(shù)產(chǎn)生票據(jù)購買請求和賣方票據(jù)驗證都需要的上下文信息。這意味著用戶可以在智能卡上電后重新恢復(fù)上下文再驗證票據(jù)的正確性。

通過與最新的屬性票據(jù)方案[6,17]在個人計算機(華為Matebook)上的實驗對比,所提方案實現(xiàn)了最優(yōu)的效率。通過在國產(chǎn)智能卡(愛信諾ACH512)和智能手機(華為榮耀9i)上的實驗顯示,所提方案完成一次票據(jù)購買算法需要在智能卡上消耗約369 ms,在移動終端上消耗約196 ms;完成一次票據(jù)消費算法只需要在智能卡上消耗約197 ms。

Mut-Puigserver 等[1]按照功能需求(有效期、靈活性等)和安全需求(不可鏈接性、不可偽造性、傳遞性、不可雙花等)將電子票據(jù)方案分為可傳遞票據(jù)[2-3]、不可傳遞票據(jù)[4]、一次性票據(jù)[2-5]和可多次使用的票據(jù)[1,4]。此外,Han 等[6]還提出了支持屬性策略的電子票據(jù)。本文的研究內(nèi)容是不可傳遞、一次性和支持屬性策略的電子票據(jù)方案。

Fan 等[7]、Song 等[8]、Quercia 等[9]、Rupp 等[10],以及Milutinovice 等[4]分別利用不同的盲簽名[11]提出了保護(hù)用戶隱私的電子票據(jù)方案,但是他們的方案都不支持票據(jù)的不可傳遞性。Nakanishi 等[12]和Vives-Guasch 等[13]分別使用不同的群簽名[14]提出了電子票據(jù)方案,雖然他們的方案支持不可鏈接性和不可傳遞性,但是不支持屬性策略。Heydt-Benjamin 等[3]和Arfaoui 等[15]分別利用匿名證書[16]提出了電子票據(jù)方案,但是他們的方案不支持屬性策略,也沒有正式的安全證明。Han 等[6]使用隨機化簽名和零知識證明提出了首個支持屬性策略的電子票據(jù)方案,但是該方案使用了大量的雙線性對運算實現(xiàn)票據(jù)購買和票據(jù)消費算法,因此無法應(yīng)用在智能卡設(shè)備中使用。封化民等[17]使用結(jié)構(gòu)保持簽名和可延展簽名等提出了一個可轉(zhuǎn)讓的強隱私保護(hù)的屬性票據(jù)方案,該方案首次在票據(jù)驗證協(xié)議中同時實現(xiàn)了用戶和賣方的匿名性,但是票據(jù)購買算法仍然需要4 個雙線性映射運算,因此無法在智能卡設(shè)備中部署。

Mostowski 等[18]在智能卡上實現(xiàn)了U-prove 匿名證書方案;Camenisch 等[19]提出了一個適用于智能卡實現(xiàn)的帶密鑰驗證的匿名證書方案;Verheul等[20]提出了一個在智能卡上實現(xiàn)的可自盲化的匿名證書方案。這些不同類型的證書方案雖然可在智能卡上部署,但是它們都不是屬性票據(jù)方案。Hanzlik 等[21]提出了一種在核心輔助環(huán)境下部署的匿名證書方案,該方案中用戶由核心設(shè)備(如智能卡)和輔助設(shè)備(如智能手機組成)組成,為在移動環(huán)境下部署匿名證書提供了一種新的方法。

1 預(yù)備知識

1.1 雙線性對

設(shè) G1,G2,GT是階為素數(shù)p的循環(huán)群,g和分別是 G1和G2的生成元。TYPE-3 型雙線性[22]映射e:G1×G2→GT滿足雙線性、非退化性和可計算性,且 G1和G2之間不存在同態(tài)映射。

1.2 零知識的知識簽名

對于任意的多項式時間非確定性(NP,non-deterministic polynomial)關(guān)系R,NP 語言LR={y: ?x,(x,y)∈R}的零知識的知識簽名(ZKSoK,zero knowledge signature of knowledge)[23]定義為。如果知識簽名滿足正確性、可模擬性和可提取性,則知識簽名是模擬提取安全的。

1.3 平方離散對數(shù)假設(shè)

設(shè)G 是階為素數(shù)p的循環(huán)群,g'是G 的生成元。平方離散對數(shù)(SDL,square discrete logarithm)假設(shè)是指給定三元組,其 中,任意概率多項式時間(PPT,probabilistic polynomial time)敵手求解x的概率是可忽略的。

1.4 判定性平方Diffie-Hellman 假設(shè)

設(shè)G 是階為素數(shù)p的循環(huán)群,g'是G 的生成元。判定性平方Diffie-Hellman(DSqDH,decisional square diffie-hellman)假設(shè)[24]是指給定三元組其中,任意PPT 敵手區(qū)分出下面2 種情形的概率是可忽略的:y=x2;y從中隨機選取。

1.5 偽隨機函數(shù)

偽隨機函數(shù)(PRF,pseudorandom function)由密鑰生成和偽隨機數(shù)生成2 個算法組成。

1) 密鑰生成:PRF.KeyGen(1λ) → psk,產(chǎn)生一個密鑰。

2) 偽隨機數(shù)生成:對于一個有限的集合S 和任意字符串x∈ {0,1}*,輸出隨機數(shù)y=PRF.Evalpsk(x),其中y∈S。

1.6 匿名的臨時身份

匿名的臨時身份(AET,anonymous ephemeral tag)方案[24]由初始化、標(biāo)簽生成、標(biāo)簽隨機化、標(biāo)簽證明和標(biāo)簽驗證算法組成。

1.7 帶隨機化標(biāo)簽的可聚合簽名

帶隨機化標(biāo)簽的可聚合簽名(ASRT,aggregatable signature with randomizable tag)[24]由初始化、密鑰生成、簽名、聚合并隨機化簽名和驗簽算法組成。在一般群模型下[25],如果對每一個標(biāo)簽-索引對簽名預(yù)言機只能被詢問一次,那么帶隨機化標(biāo)簽的可聚合簽名是不可偽造的。如果DSqDH 問題是難解的,那么帶隨機化標(biāo)簽的可聚合簽名是不可鏈接的。

1.8 Pointcheval-Sanders 簽名

支持隱藏消息簽發(fā)的PS(Pointcheval-Sanders)簽名[26]由初始化、密鑰生成、簽名協(xié)議和驗簽算法組成。在一般群模型下,PS 簽名[26]在選擇消息攻擊模型下是不可偽造的。

2 系統(tǒng)模型和安全模型

2.1 系統(tǒng)架構(gòu)

系統(tǒng)架構(gòu)如圖1 所示?;趲е悄芸ǖ囊苿咏K端實現(xiàn)的隱私保護(hù)的屬性票據(jù)方案由4 類實體組成:證書中心(CA)、賣方(S)、用戶(U)和驗證方(V),用戶的硬件部分由一張智能卡(如U 盾)和一部移動終端設(shè)備(如智能手機)組成。智能卡存儲用戶的所有密鑰信息并執(zhí)行與密鑰相關(guān)的運算,移動終端執(zhí)行與密鑰無關(guān)但耗時的運算。智能卡是安全可信的,敵手無法復(fù)制智能卡或從智能卡導(dǎo)出用戶的秘密信息。移動終端是誠實但好奇的,一方面它誠實地與智能卡協(xié)作完成電子票據(jù)協(xié)議;另一方面它好奇用戶的密鑰和票據(jù)秘密信息。驗證方維護(hù)一個只能添加的公開數(shù)據(jù)庫用于存儲已消費票據(jù)的標(biāo)識。

圖1 系統(tǒng)架構(gòu)

方案的工作流程如下所述。

步驟1系統(tǒng)初始化。CA 執(zhí)行系統(tǒng)初始化操作,產(chǎn)生系統(tǒng)公共參數(shù)、主公私鑰對和一個票據(jù)策略集合。其中,系統(tǒng)公共參數(shù)、主公鑰和票據(jù)策略集合公開,使其他參與實體可以獲得。

步驟2賣方注冊。2.1) S 產(chǎn)生賣方公私鑰對,并向CA 發(fā)起賣方注冊請求;2.2) CA 驗證S 的請求后為S 簽發(fā)賣方證書;2.3) S 驗證CA 返回的賣方證書后將其保存在本地。

步驟3用戶注冊。3.1) U 的智能卡設(shè)備生成用戶公私鑰對(私鑰不出卡),并通過移動終端設(shè)備的信道向CA 發(fā)起注冊請求;3.2) CA 驗證U 的注冊請求后為U 簽發(fā)用戶屬性證書;3.3) U 的移動終端設(shè)備收到CA 返回的用戶證書后與智能卡設(shè)備協(xié)作驗證其正確性后將其保存在本地。

步驟4票據(jù)購買和發(fā)布。4.1) 為了向S 證明U 已被CA 認(rèn)證且其泄露的屬性集合符合票據(jù)策略集合中的一條屬性策略,U 的智能卡設(shè)備計算一個屬性泄露證明,并通過移動終端設(shè)備的信道向S 發(fā)起票據(jù)購買請求;4.2) S 驗證U 的購買請求后為U 簽發(fā)票據(jù);4.3) U 的移動終端設(shè)備收到票據(jù)并與智能卡設(shè)備協(xié)作驗證其正確性后將其保存在本地。

步驟5票據(jù)消費和驗證。5.1) U 的智能卡設(shè)備產(chǎn)生票據(jù)消費證明并通過移動終端設(shè)備向V 發(fā)送票據(jù)消費請求;5.2) V 收到消費請求后,首先檢查票據(jù)是否雙重消費,然后驗證其合法性。

2.2 威脅模型

CA 是誠實可信的。它誠實地產(chǎn)生安全的系統(tǒng)參數(shù)、主公私鑰對和一個票據(jù)策略集合;它誠實地驗證賣方和用戶的身份和屬性信息,并為合法賣方和用戶簽發(fā)證書。

S 是誠實且好奇的。它誠實地驗證用戶的合法性以及用戶泄露的屬性子集與票據(jù)策略的一致性;它誠實地為合法用戶簽發(fā)票據(jù),但好奇用戶的真實身份和隱藏的屬性信息。

U 是惡意的。惡意的用戶通過偽造用戶的證書購買合法票據(jù),或者直接偽造一個票據(jù)試圖通過V的驗證,或者雙重消費一個合法票據(jù)。

V 是誠實且好奇的。它誠實地維護(hù)公開數(shù)據(jù)庫,檢查票據(jù)消費請求是否是雙重消費,驗證票據(jù)消費請求是否合法,但好奇用戶的真實身份信息。

2.3 形式化定義

安全的智能卡設(shè)備具有防復(fù)制和安全存儲功能,可以有效地阻止移動終端讀取用戶密鑰的行為,從硬件層面確保了好奇的移動終端無法獲得智能卡中的密鑰,也就不會影響用戶側(cè)的安全性,因此在本節(jié)中將用戶的智能卡和移動終端設(shè)備統(tǒng)稱為用戶而不再加以區(qū)分。表1 給出了所提方案常用的符號定義。隱私保護(hù)的屬性票據(jù)方案由5 個算法組成。

表1 符號定義

1) 系統(tǒng)初始化算法:Setup(1λ,n) → (pp,P,msk,mpk)。此算法由CA 執(zhí)行。CA 輸入一個安全參數(shù)1λ和一個正整數(shù)n,輸出系統(tǒng)參數(shù)pp、主私鑰msk 和主公鑰mpk。

2) 賣方注冊算法:SReg(S(pp) ?CA(pp,msk,mpk)) →((ssk,spk,creds)/ ⊥)。此算法由S 和CA 交互執(zhí)行。S 輸入pp,CA 輸入pp、msk和mpk。若算法執(zhí)行成功,S 輸出賣方私鑰ssk、賣方公鑰spk和賣方證書 creds,否則算法輸出⊥。

2.4 安全性定義

為了在防止惡意用戶偽造票據(jù)的同時保護(hù)誠實用戶的隱私,屬性票據(jù)方案應(yīng)該同時滿足不可偽造性和不可鏈接性。所提方案的安全性定義遵循文獻(xiàn)[6,17]的工作,不同之處是為了使安全性的定義更準(zhǔn)確地反映威脅模型,本文將不可偽造性分為證書的不可偽造性和票據(jù)的不可偽造性,將不可鏈接性分為證書的不可鏈接性和票據(jù)的不可鏈接性。

首先,給出安全性定義需要調(diào)用的全局變量和預(yù)言機。定義A 為PPT 敵手,C 為挑戰(zhàn)者。在實驗中,C 向A 模擬所有預(yù)言機,所有預(yù)言機都可以訪問全局變量。

全局變量介紹如下。

1) HU:存儲誠實用戶身份的列表。

2) CU:存儲惡意用戶身份的列表。

3) HS:存儲誠實賣方身份的列表。

4) CS:存儲惡意賣方身份的列表。

5) SR:存儲賣方私鑰、公鑰和證書的列表。

6) UR:存儲用戶身份、私鑰、公鑰、屬性和證書的列表;

7) TKT:存儲用戶身份、賣方身份、票據(jù)、票據(jù)有效期和票據(jù)唯一標(biāo)識的列表。

8) TOK:存儲用戶身份、賣方身份、票據(jù)和票據(jù)消費請求的列表。

預(yù)言機介紹如下。

3) OCU(i):此預(yù)言機用于描述A 獲得一個誠實用戶i的秘密信息。如果i?HU,則返回⊥;否則,查詢UR[i],從HU 刪除i,添加CU←i,返回

4) OSReg(j):此預(yù)言機用于描述一個誠實賣方j(luò)和CA 執(zhí)行賣方注冊算法。如果j∈ HS ∪ CS,則返回⊥;否則,CA 和j執(zhí)行算法SReg(S(pp)?CA(pp,msk,mpk) →((ssk,spk,creds)/ ⊥)。如果算法輸出⊥,則返回⊥;否則,設(shè)置HS←j,SR[j] ← (j,ssk,spk,creds)。

5) OSReg.CA(j):此預(yù)言機用于描述一個惡意賣方j(luò)和CA 執(zhí)行賣方注冊算法。如果j∈ HS ∪ CS,則返回⊥;否則,CA 和A 執(zhí)行算法:SReg(A(·) ?CA(pp,msk,mpk) →((ssk,spk,creds)/ ⊥),其中賣方j(luò)的運算部分由A 執(zhí)行。如果算法輸出⊥,則返回⊥;否則,設(shè)置HS←j,SR[j] ← (j,*,spk,creds),其中*為未知私鑰。

6) OCS(j):此預(yù)言機用于描述A 獲得一個誠實賣方j(luò)的秘密信息。如果j?HS,則返回⊥;否則,查詢SR[j],從HS 刪除j,添加CS←j,返回(j,ssk,spk,creds)。

7) OObtIss(i,j,I):此預(yù)言機用于描述一個誠實用戶i和一個誠實賣方j(luò)執(zhí)行票據(jù)購買和發(fā)布算法。如果i? HU,j? HS,I? [1,n],則返回⊥;否則,查詢 UR[i]和 SR[j],并執(zhí)行算法如果算法輸出⊥,則返回⊥;否則,設(shè)置TKT[i][j]←(i,j,tkt,VP,sn)。

8) OObtain(i,j,I):此預(yù)言機用于描述一個誠實用戶i和一個惡意賣方j(luò)執(zhí)行票據(jù)購買和發(fā)布算法。如果i? HU,j? CS,I? [1,n],則返回⊥;否則,查詢 UR[i],并和 A 執(zhí)行算法,其中賣方j(luò)的運算部分由A 執(zhí)行。如果算法輸出⊥,則返回⊥;否則,設(shè)置TKT[i][j] ←(i,j,tkt,VP,sn)。

9) OIssue(i,j,I):此預(yù)言機用于描述一個惡意用戶i和一個誠實賣方j(luò)執(zhí)行票據(jù)購買和發(fā)布算法。如果i? CU,j? HS,I? [1,n],則返回⊥;否則,查詢 SR[j],并和 A 執(zhí)行算法。如果算法輸出⊥,則返回⊥;否則,設(shè)置TKT[i][j] ←(i,j,*,VP,*),其中*為未知票據(jù)和未知票據(jù)標(biāo)識。

10) OShow(i,j,k):此預(yù)言機用于描述一個誠實用戶i和一個惡意驗證方k執(zhí)行票據(jù)消費和驗證算法。如果i?HU,則返回⊥;否則,查詢UR[i]、SR[j]和TKT[i][j],并和 A 執(zhí)行算法,其中驗證方的計算部分由A 執(zhí)行。如果算法輸出0,則返回0;否則,設(shè)置TOK[i][j] ←(i,j,tkt,tok),并返回1。

證書的不可偽造性確保惡意的用戶無法通過偽造證書從賣方購買票據(jù)。在證書不可偽造性實驗中,敵手模擬惡意用戶的行為且允許敵手詢問CA和誠實賣方的預(yù)言機。如果在實驗結(jié)束時,敵手在票據(jù)購買算法中輸出了一個未注冊用戶或已注冊誠實用戶的合法購買請求,則敵手贏得了實驗。

定義1證書的不可偽造性。在 EXPunf-cred(A,λ,n)中,如果對任意的PPT 敵手A,存在可忽略函數(shù)ε(λ),使,則屬性票據(jù)方案滿足證書的不可偽造性。

4) 如果b=⊥或i*∈CU或j*?HS,返回0;

5) 返回1。

票據(jù)的不可偽造性確保了惡意用戶無法通過偽造票據(jù)通過驗證方的驗證。在票據(jù)的不可偽造性實驗中,敵手模擬惡意用戶的行為且允許敵手詢問CA 和誠實賣方的預(yù)言機。如果在實驗結(jié)束時,敵手在票據(jù)消費算法中輸出了一個未注冊用戶或已注冊誠實用戶的合法的票據(jù)消費請求,則敵手贏得了實驗。

定義 2票據(jù)的不可偽造性。在 EXPunf-tkt(A,λ,n)中,如果對任意的PPT 敵手A,存在可忽略函數(shù)ε(λ),使則屬性票據(jù)方案滿足票據(jù)的不可偽造性。

4) 如果b=0或i*∈CU或j*?HS,返回0;

5) 返回1。

證書的不可鏈接性確保了好奇的賣方無法通過為用戶簽發(fā)票據(jù)獲取用戶的任何身份和隱藏的屬性信息,具體指賣方無法將任意的2 個票據(jù)購買請求鏈接。

定義 3證書的不可鏈接性。在(A,λ,n)中,如果對任意的PPT 敵手A,存在可忽略函數(shù)ε(λ),使ε(λ),則屬性票據(jù)方案滿足證書的不可鏈接性。

4) 如果b*=b,返回1;

5) 返回0。

票據(jù)的不可鏈接性確保了好奇的驗證方(也同時是賣方)無法通過驗證票據(jù)消費請求獲取用戶的任何身份信息,具體指驗證方無法將任意的2 個票據(jù)消費請求鏈接。

定義 4票據(jù)的不可鏈接性。在(A,λ,n)中,如果對任意的PPT 敵手A,存在可忽略函數(shù)ε(λ),使ε(λ),則屬性票據(jù)方案滿足票據(jù)的不可鏈接性。

5) 如果b*=b,返回1;

6) 返回0。

3 方案設(shè)計

3.1 設(shè)計思想

構(gòu)造電子票據(jù)方案面臨的主要挑戰(zhàn)是在滿足上文定義的系統(tǒng)模型和安全模型下將用戶的所有運算輕量化,使其可在智能卡上高效實現(xiàn)。

為了在票據(jù)購買算法中實現(xiàn)高效的屬性泄露證明,所提方案將匿名的臨時身份作為用戶公鑰,使用戶公鑰成為一個可隨機化的標(biāo)簽;在用戶注冊時,CA 對每個用戶屬性分別簽發(fā)一個帶隨機化標(biāo)簽(用戶公鑰)的簽名;在購買票據(jù)時,用戶只需按照票據(jù)策略將需泄露的屬性對應(yīng)的多個簽名聚合,然后將用戶公鑰和聚合后的簽名隨機化后發(fā)送給賣方。這種方法避免了將大量不需要泄露的屬性隱藏在簽名中,且聚合簽名和用戶公鑰的隨機化操作只需 G1上的冪運算,提高了票據(jù)購買的效率。

為了阻止雙花消費,在票據(jù)購買時為每個票據(jù)產(chǎn)生唯一的標(biāo)識;當(dāng)消費票據(jù)時,驗證方可根據(jù)票據(jù)唯一標(biāo)識檢查票據(jù)是否為雙重消費。在票據(jù)購買和發(fā)布算法中,票據(jù)的唯一標(biāo)識不能泄露給賣方(如果泄露將破壞票據(jù)的不可鏈接性),因此票據(jù)發(fā)布算法需支持隱私屬性的票據(jù)簽發(fā)。為此,所提方案使用支持高效協(xié)議的PS 簽名構(gòu)造用戶票據(jù)。在票據(jù)購買時,用戶產(chǎn)生一個票據(jù)標(biāo)識的承諾;在票據(jù)發(fā)布時,賣方在承諾上簽名;在票據(jù)消費時,所提方案使用了文獻(xiàn)[27]的方法,避免了用戶執(zhí)行耗時的雙線性映射運算。此外,為了防止智能卡突然斷電導(dǎo)致的購票失敗,所提方案利用帶密鑰的偽隨機函數(shù)生成票據(jù)購買算法的上下文信息,使智能卡重新上電后仍可驗證賣方返回的票據(jù)。

3.2 方案構(gòu)造

2) 賣方注冊:SReg(S(pp) ?CA(pp,msk,mpk)) →((ssk,spk,creds)/ ⊥)。

如圖2 所示,為了獲得賣方證書,首先,S 產(chǎn)生PS 簽名私鑰ssk 和公鑰spk;然后,S 計算知識簽名π1證明其擁有ssk 的知識;最后將注冊請求信息 (spk,π1)發(fā)送CA。CA 驗證S 的身份和π1后,計算PS 簽名 creds,并返回S。S 驗證 creds的正確性后,將 creds作為證書保存。

圖2 賣方注冊算法

如圖3 所示,為了獲得賣方證書,首先,智能卡產(chǎn)生偽隨機函數(shù)的密鑰ρ和私鑰μ,并設(shè)置用戶密鑰usk=(ρ,μ);然后,智能卡計算與用戶身份id綁定的隨機元素h,并計算公鑰upk;最后,智能卡計算知識簽名π2證明其擁有μ的知識,并將注冊請求發(fā)送給移動終端。移動終端收到智能卡的注冊請求后轉(zhuǎn)發(fā)給CA。CA 驗證U的身份、屬性信息和π2后,分別為每個屬性-標(biāo)簽對(mi,upk)計算ASRT 簽名σi,并將返回U。移動終端驗證 credu的正確性后,將其發(fā)送給智能卡。智能卡將 credu作為證書保存。

圖3 用戶注冊算法

如圖4 所示,為了獲得票據(jù),首先,智能卡從移動終端收到一個S 產(chǎn)生的挑戰(zhàn)隨機數(shù)nounce;然后,智能卡將需泄露的屬性集合對應(yīng)的簽名{σi}i∈I聚合為一個簽名σ,并將用戶公鑰和聚合簽名隨機化為(upk',σ');為了防止雙重消費,智能卡使用偽隨機函數(shù)生成票據(jù)唯一標(biāo)識sn 和加密密鑰t,并使用ElGamal[28]算法將μ和sn 的承諾加密為T;最后,智能卡計算知識簽名π3證明其擁有秘密信息 (μ,t,sn),并將票據(jù)購買請求(upk',σ',T,{mi}i∈I,π3)發(fā)送給移動終端。移動終端收到智能卡的票據(jù)購買請求后轉(zhuǎn)發(fā)給S。S 首先驗證π3、upk'和σ'后,然后設(shè)置票據(jù)有效期VP,最后計算 PS 簽名(α,β),并將票據(jù)驗證信息(α,β,VP)返回用戶。移動終端收到票據(jù)驗證信息后將其轉(zhuǎn)發(fā)給智能卡,智能卡使用密鑰t解密后獲得票據(jù) (T1,T2);為了不泄露票據(jù)秘密信息的同時驗證票據(jù)的正確性,智能卡計算T~,并將 (T1,T2,T)發(fā)送移動終端;移動終端驗證通過后,智能卡設(shè)置票據(jù) tkt=(T1,T2),并將(tkt,VP,sn)保存。

圖4 票據(jù)購買和發(fā)布算法

如圖4 所示,在票據(jù)購買算法中,用戶使用臨時產(chǎn)生的加密密鑰t和票據(jù)唯一標(biāo)識sn 參與計算票據(jù)購買請求,同時t和sn 作為協(xié)議的上下文信息也用于驗證賣方簽發(fā)的票據(jù)。如果用戶發(fā)送完票據(jù)購買請求后設(shè)備意外斷電,用戶(智能卡)可使用偽隨機函數(shù)重新恢復(fù)t和sn,從而繼續(xù)完成票據(jù)驗證而不需要重新發(fā)起購票請求。

如圖5 所示,為了消費票據(jù),首先,智能卡將票據(jù)tkt 隨機化為tkt';然后,為了在泄露票據(jù)唯一標(biāo)識sn 和票據(jù)有效期VP 的同時證明tkt'的正確性,智能卡計算κ和ν;最后,智能卡計算知識簽名π4證明其擁有用戶密鑰的知識,并將票據(jù)消費請求tok=(tkt',κ,ν,π4,sn,VP)發(fā)送V。V 收到票據(jù)消費請求后,首先驗證其有效期和是否為雙重消費,然后驗證π4和tkt'的正確性,若驗證通過,V 輸出1,否則輸出0。

圖5 票據(jù)消費和驗證算法

4 安全性分析

4.1 證書的不可偽造性

定理1如果SDL 問題在 G1上是難解的且ASRT 簽名是不可偽造的,那么所提方案滿足證書的不可偽造性。

證明如果敵手贏得了證書的不可偽造性實驗 EXPunf-cred(A,λ,n),敵手或者偽造了一個未注冊用戶或者偽造了一個已注冊誠實用戶的票據(jù)購買請求。

引理1如果敵手A 在證書的不可偽造性實驗中以不可忽略的概率ε(λ)偽造了一個誠實用戶的購買請求,那么存在挑戰(zhàn)者C 以的概率求解SDL 問題,其中q為誠實用戶數(shù)量。

證明假設(shè)是一個SDL 挑戰(zhàn),C使 用(g,G1)作為參數(shù),執(zhí)行(pp,P,msk,mpk)←Setup(1λ,n)產(chǎn)生剩余參數(shù),并將(pp,P,mpk)發(fā)送 A。C 猜測一個誠實用戶i*∈HU,使得實驗結(jié)束時,A 偽造了i*的一個票據(jù)購買請求。

2) OCU(i):如果i≠i*,C 的模擬與真實的執(zhí)行一致;否則,返回⊥。

4) OUReg.CA,OSReg,OIssue:因為C 擁有CA 和S的密鑰,所以可以完美地模擬這些預(yù)言機。

如果A在票據(jù)購買算法中偽造了誠實用戶i*的票據(jù)購買請求(概率為因為知識簽名π3是模擬提取安全的,那么C 可提取i*的密鑰μ*,且成功的概率為。證畢。

引理2如果敵手A 在證書的不可偽造性實驗中以不可忽略的概率ε(λ)偽造了一個未注冊用戶的購買請求,那么存在挑戰(zhàn)者C 以相同的概率偽造ASRT 簽名。

4.2 票據(jù)的不可偽造性

定理2如果SDL 問題在 G1上是難解的且PS簽名是不可偽造的,那么所提方案滿足票據(jù)的不可偽造性。

證明如果敵手贏得了票據(jù)的不可偽造性實驗 EXPunf-tkt(A,λ,n),敵手或者偽造了一個未注冊用戶或者偽造了一個已注冊誠實用戶的票據(jù)消費請求。

引理3如果敵手A 在票據(jù)的不可偽造性實驗中以不可忽略的概率ε(λ)偽造了一個誠實用戶的購買請求,那么存在挑戰(zhàn)者C 以的概率求解SDL 問題,其中q為誠實用戶數(shù)量。

證明假設(shè)是一個SDL 挑戰(zhàn),C使用(g,G1)作為參數(shù),執(zhí)行(pp,P,msk,mpk)←Setup(1λ,n)產(chǎn)生剩余?參數(shù),并將(pp,P,mpk)發(fā)送A。C 猜測一個誠實用戶i*∈HU,使得實驗結(jié)束時,A 偽造了i*的一個票據(jù)購買請求。

C 可向A 模擬如下預(yù)言機。

1) OUReg,OCU,OObtIss,OUReg.CA,OSReg,OIssue:C 的模擬與引理1 一致。

2) OShow(i,j,k):如果i≠i*,C 的模擬與真實的執(zhí)行一致;否則,C 計算,并通過模擬知識簽名π4完成票據(jù)消費。

如果A在票據(jù)消費算法中偽造了誠實用戶i*的票據(jù)消費請求(概率為),因為知識簽名π4是模擬提取安全的,那么C 可提取i*的密鑰μ*,且成功的概率為。證畢。

引理4如果敵手A 在票據(jù)的不可偽造性實驗中以不可忽略的概率ε(λ)偽造了一個未注冊用戶的消費請求,那么存在挑戰(zhàn)者C 以的概率偽造PS 簽名,其中q為誠實賣方的數(shù)量。

證明C 執(zhí)行PS 簽名的不可偽造性實驗,獲得公共參數(shù)pp 和簽名公鑰F2,F3),且C 可以不限次數(shù)的詢問PS 簽名預(yù)言機使用pp 作為參數(shù),執(zhí)行(pp,P,msk,mpk) ←Setup(1λ,n)產(chǎn)生剩余參數(shù),并將(pp,P,mpk)發(fā)送A。

C 猜測A 將偽造賣方j(luò)*簽發(fā)的票據(jù),并向A模擬如下預(yù)言機。

1) OSReg(j):如果j≠j*,C 的模擬與真實的執(zhí)行一致;否則,C 設(shè)置 spkj*=spkps,并通過模擬知識簽名π1完成賣方注冊。

2) OIssue(i,j,I):如果j≠j*,C 的模擬與真實的執(zhí)行一致;否則,C 將(T,VP)發(fā)送,然后將輸出的簽名(α,β)和VP 都返回A。

3) OObtIss(i,j,I):如果j≠j*,C 的模擬與真實的執(zhí)行一致;否則,C 隨機選擇,將(μi,sn,VP)發(fā)送,然后將輸出的簽名 (T1,T2)作為票據(jù)保存在全局變量。

4) OUReg,OUReg.CA,OCU,OShow:因為C 擁有用戶、CA 的私鑰和S 的公鑰,因此可以完美地模擬這些預(yù)言機。

4.3 證書的不可鏈接性

定理3如果DsqDH 問題在 G1上是難解的,那么所提方案滿足證書的不可鏈接性。

證明如果敵手以不可忽略的概率ε(λ)贏得證書的不可鏈接性實驗,那么存在挑戰(zhàn)者C 以的概率求解 G1上的DsqDH 問題,其中q為誠實用戶數(shù)量。

在實驗的第一階段,C 向A 模擬如下預(yù)言機。

2) OObtIss,OObtain:C 的模擬與引理 1 中的OObtIss(i,j,I)一致。

3) OSReg,OSReg.CA,OCS:因為C 擁有CA 和S 的密鑰,所以可以完美地模擬這些預(yù)言機。

在實驗的某個階段,A 輸出2 個誠實用戶身份i0,i1和一個賣方身份j。如果ib≠i*(概率為那么C 中止實驗,否則繼續(xù)模擬如下預(yù)言機。

如果η=μ2,C 的模擬是完美的;否則,(upk',σ',T)都是隨機元素,此時A 無法以不可忽略的概率贏得實驗。除非實驗中止,A 的任何輸出都可以被C 用于解決DsqDH 問題,因此C 成功的概率為。證畢。

4.4 票據(jù)的不可鏈接性

定理4如果DsqDH 問題在 G1上是難解的,那么所提方案滿足票據(jù)的不可鏈接性。

證明如果敵手以不可忽略的概率ε(λ)贏得票據(jù)的不可鏈接性實驗,那么存在挑戰(zhàn)者C 以的概率求解 G1上的DsqDH 問題,其中q為誠實用戶數(shù)量。

實驗設(shè)置與第一階段預(yù)言機的模擬與定理3 相同,除了下面的預(yù)言機。

1) OShow(i,j,k):如果i≠i*,C 的模擬與真實的執(zhí)行一致;否則,C 計算,并通過模擬知識簽名π4完成票據(jù)消費。

在實驗的某個階段,A 輸出2 個誠實用戶身份i0,i1和一個賣方身份j。如果ib≠i*(概率為),那么C 中止實驗,否則繼續(xù)模擬如下預(yù)言機。

5 效率分析

5.1 理論分析

表2 將所提方案與最新的電子票據(jù)方案在功能上進(jìn)行了比較,其中√表示支持此項,×表示不支持此項。核心輔助設(shè)置指是否支持將用戶的計算安全地分割為智能卡和移動終端實現(xiàn);屬性票據(jù)指是否支持屬性泄露策略;不可轉(zhuǎn)讓指是否支持不可轉(zhuǎn)讓性;安全證明指是否有形式化的安全性證明;雙花檢測指是否能夠檢測雙重消費;不可鏈接性和不可偽造性指是否支持此類安全需求。由表2 可知,文獻(xiàn)[4,7-10]方案不支持核心輔助設(shè)置、屬性票據(jù)和票據(jù)的不可轉(zhuǎn)讓性;文獻(xiàn)[12-13]方案不支持核心輔助設(shè)置和屬性票據(jù);文獻(xiàn)[3,15]方案不支持核心輔助設(shè)置和屬性票據(jù),也沒有安全性證明;文獻(xiàn)[6,17]方案和所提方案都支持屬性票據(jù)、雙花檢測、不可鏈接性和不可偽造性,且都有形式化的安全證明,但是文獻(xiàn)[6,17]方案都不支持核心輔助設(shè)置,且文獻(xiàn)[17]方案不支持不可轉(zhuǎn)讓性。表3將所提方案與最新的2個屬性票據(jù)方案[6,17]在效率上進(jìn)行了比較,其中P1,P2,PT,Pe分別表示G1,G2,GT上的冪運算和雙線性映射運算。相比文獻(xiàn)[6,17]中的方案,所提方案顯著降低了用戶的運算量。在所提方案中,票據(jù)購買算法需用戶執(zhí)行13 個 G1上的運算、3 個G2上的運算和2 個雙線性映射運算;票據(jù)消費算法需用戶執(zhí)行6 個 G1上的運算和2 個G2上的運算。所提方案中用戶注冊的計算量明顯高于文獻(xiàn)[17]方案,但是新用戶僅需執(zhí)行一次注冊用戶算法。

表2 功能比較

表3 效率比較

5.2 實驗分析

為了準(zhǔn)確地比較和評估所提方案的效率,使用MIRACL、Barreto-Naehrig 曲線(BN-256)[29]和SHA-256 實現(xiàn)了所提方案。

5.2.1 在個人計算機上的實現(xiàn)和對比

使用華為MateBook 作為實驗平臺,CPU 為AMD Ryzen-54 600 H,時鐘頻率為3.0 GHz;操作系統(tǒng)為64 位Ubuntu Kylin 16.04,運行內(nèi)存為16 GB,實現(xiàn)語言為 C/C++,編譯器為 GCC/G++。在AES-100 比特安全級別和相同實驗環(huán)境下,將所提方案與最新的屬性票據(jù)方案[6,17]進(jìn)行了性能比較。不同之處是文獻(xiàn)[6]方案只能使用TYPE-1 型雙線性對實現(xiàn),而所提方案和文獻(xiàn)[17]方案使用了計算效率更高的TYPE-3 型雙線性對實現(xiàn)。

表4 將所提方案與文獻(xiàn)[6,17]方案在算法運行時間上進(jìn)行了對比,其中測試時設(shè)置n=20,m=5。所提方案各個算法的運行時間顯著小于文獻(xiàn)[6]方案。與文獻(xiàn)[17]方案相比,所提方案的票據(jù)購買、票據(jù)發(fā)布、票據(jù)消費和票據(jù)驗證算法的運行效率分別提高了約200%、100%、700%、300%;所提方案的用戶注冊和證書發(fā)布算法的運行時間高于文獻(xiàn)[17],但是新用戶只執(zhí)行一次用戶注冊算法。

表4 算法運行時間(單位:ms)對比

表5 是隨著用戶屬性數(shù)量的增多,用戶注冊算法的運行時間對比。3 種方案的運行時間都隨著用戶屬性數(shù)量的增加而增長。所提方案的運行時間比文獻(xiàn)[6]方案小,比文獻(xiàn)[17]方案大,但是新用戶只執(zhí)行一次用戶注冊算法。

表5 用戶注冊算法的運行時間(單位:ms)對比

表6 是隨著用戶屬性數(shù)量的增多,票據(jù)購買算法的運行時間對比。在文獻(xiàn)[6,17]方案中,運行時間都隨著用戶屬性數(shù)量的增加而增長。所提方案實現(xiàn)了常數(shù)復(fù)雜度的票據(jù)購買算法,與文獻(xiàn)[17]方案相比,所提方案的票據(jù)購買算法的運行效率在用戶屬性數(shù)量為10、20、30、40、50 時分別提高了約180%、200%、230%、250%、280%。

表6 票據(jù)購買算法的運行時間(單位:ms)對比

表7 是隨著用戶屬性數(shù)量的增多,票據(jù)消費算法的運行時間對比。3 個方案都實現(xiàn)了常數(shù)復(fù)雜度的票據(jù)消費算法,所提方案的運行時間顯著小于文獻(xiàn)[6]方案。與文獻(xiàn)[17]方案相比,所提方案的票據(jù)購買算法的運行效率提高了約700%。

表7 票據(jù)消費算法的運行時間(單位:ms)對比

5.2.2 在智能卡和移動手機上的實現(xiàn)

為了評估所提方案在帶智能卡的移動終端上的運行效率,本節(jié)使用智能手機作為用戶的移動終端,使用個人計算機作為CA、賣方和驗證方的實現(xiàn)平臺,并在國產(chǎn)智能卡上測試了所提方案。其中,智能卡為愛信諾ACH512 智能卡芯片,運行內(nèi)存為128 KB,設(shè)置時鐘頻率為40 MHz;智能手機為華為榮耀9i,CPU 為Hisilicon kirin 659 (ARMv8-A),運行內(nèi)存為4 GB,主頻為2.36 GHz,操作系統(tǒng)為Andriod 9.0;個人計算機為華為Matebook。其中,測試時設(shè)置n=20,m=5。

如圖6 所示,在所提方案中執(zhí)行用戶注冊算法需在智能卡上消耗116.7 ms,在移動終端上消耗8 250 ms,在個人計算機(執(zhí)行CA 的運算)上消耗40.1 ms。

圖6 用戶注冊算法執(zhí)行時間

如圖7 所示,在所提方案中執(zhí)行票據(jù)購買和發(fā)布算法需在智能卡上消耗368.5 ms,在移動終端上消耗195 ms,在個人計算機(執(zhí)行S 的運算)上消耗51 ms。

圖7 票據(jù)購買和發(fā)布算法執(zhí)行時間

如圖8 所示,在所提方案中執(zhí)行票據(jù)消費和驗證算法需在智能卡上消耗196.6 ms,在個人計算機(執(zhí)行V 的運算)上消耗38.4 ms,不需要移動終端參與任何運算。

圖8 票據(jù)消費和驗證算法執(zhí)行時間

6 結(jié)束語

本文提出了一個適合在帶智能卡的移動終端上部署的隱私保護(hù)的屬性票據(jù)方案。所提方案滿足不可鏈接性和不可偽造性的安全需求,并解決了現(xiàn)有電子票據(jù)系統(tǒng)難以在資源受限設(shè)備中部署,以及無法防止票據(jù)在未授權(quán)設(shè)備之間共享的問題。本文在個人計算機、智能卡和智能手機上測試了所提方案,測試結(jié)果證明了所提方案的高效性。

猜你喜歡
智能卡賣方票據(jù)
論CISG中的賣方補救權(quán)
國際貨物買賣合同賣方違約的救濟措施適用研究
第十四屆(2020)賣方分析師水晶球獎合并榜單
基于智能卡的匿名認(rèn)證方案
東方磁卡李曉東:進(jìn)擊的智能卡研發(fā)巨子
基于STC89 單片機的非接觸智能卡讀寫機設(shè)計
二手房買賣之賣方違約糾紛解析
2016年11月底中短期票據(jù)與央票收益率點差圖
2016年10月底中短期票據(jù)與央票收益率點差圖
2016年9月底中短期票據(jù)與央票收益率點差圖
涟源市| 和田市| 平乡县| 溧水县| 新昌县| 花莲市| 德阳市| 吉水县| 本溪| 永清县| 高青县| 安乡县| 康马县| SHOW| 长治县| 土默特右旗| 资阳市| 铁岭市| 老河口市| 襄城县| 东宁县| 泾川县| 扶沟县| 开原市| 弥勒县| 郴州市| 磴口县| 丰宁| 鄂州市| 大埔区| 厦门市| 清水河县| 饶平县| 历史| 濉溪县| 双柏县| 忻州市| 鄂尔多斯市| 武义县| 东明县| 濉溪县|