張玉磊,駱廣萍,張永潔,張雪微,劉祥震,王彩芬
(1.西北師范大學計算機科學與工程學院,甘肅 蘭州 730070;2.甘肅衛生職業學院,甘肅 蘭州 730000; 3.深圳技術大學,廣東 深圳 518000)
隨著大數據技術的成熟,大量敏感信息的安全問題引起了各方關注,如密碼、地址、手機號等在未授權下不得公開的信息都屬于敏感信息。研究者提出了一系列的加密方案確保安全傳輸網絡信息。現有的數據信息加密方案大多在加密后會對數據進行擴展,使得數據長度和數據類型發生改變[1]。對敏感信息進行加密,需要保證加密后不僅維持敏感數據的基本格式,還應確保不破壞數據用戶定義的完整性約束,主要包含數據類型不能改變、不能被擴充等。格式保留加密FPE(Format-Preserving Encryption)能夠保持明文的原有格式,把某種格式的明文加密成具有同樣格式的密文。
格式保留加密問題在1981年由美國標準局[2]首次提出,2009年,Bellare等[3]將格式保留加密與數據庫中的敏感信息保護相關聯,提出了基于FPE保護個人信息的方案。2010年,Bellare等[4]提出了基于Feistel網絡[5]的格式保留FFX(Feistel-based Format-Preserving)模型。該模型在Feistel網絡類型和輪運算方面對Feistel有限集加密模型進行了擴展,可以解決長度為n的字符串構成的消息空間上的FPE問題。2009年,Morris等[6]改進了FFX模型,說明了調整因子的使用方法,設計了一種基于分組密碼的模型,通過分組鏈接CBC(Cipher-Block Chaining)模式可以對字符串進行加密并保持其原有格式。2012年,劉哲理等[7]在已有的格式保留加密模型研究的基礎上,提出了先編碼后加密的新模型。2012年,李經緯等[8]設計了基于k-分割的Feistel網絡保留格式加密方案,支持對任意數據進行FPE加密。同年,李敏等[9]設計了2種可變長度編碼字符數據的FPE方案。2016年,Bellare等[10]提出基于Feistel的格式保留加密的消息恢復攻擊。2017年,王鵬[11]提出了通過FPE對多類型數據進行加密。2018年,張百惠[12]提出面向大數據發布的保留格式加密技術研究。
在傳統格式保留加密方案中,密鑰K存儲在不同設備中,每個設備直接在K下加密。但是,設備因物理因素處于邊信道攻擊的風險中。本文基于Bellare等[13]提出的格式保留加密方案,提出了基于身份的敏感信息格式保留加密IBSIFPE(Identity-Based Sensitive Information Format-Preserving Encryption)方案。該方案能夠對數據存儲、網絡傳輸等應用環境中的敏感信息進行加密保護,同時減少公鑰證書的存儲和合法性驗證,提高信息傳輸安全性,減少密鑰管理系統所需的設施。
本文提出的IBSIFPE方案具有以下幾個特點:
(1)與已有的FPE方案相比,本文IBSIFPE方案在混合加密體制下進行,簡化了密鑰管理,避免了通信前傳輸密鑰的安全風險。
(2)引入身份加密,因此不需要頒發證書。通過密鑰派生函數KDF(Key Derivation Functions)生成加密密鑰和解密密鑰,即使敵手截獲了密文和公鑰也無法破解。
(3)本方案的安全目標是偽隨機置換式安全PRP(Pseudo Random Permutation),在密鑰生成過程中加入身份ID,可以唯一識別其身份信息。
(1)系統建立(Setup):使用安全參數λ,獲得系統參數。
(2)公鑰派生(PKDF):通過密鑰派生函數輸入公鑰Ppub身份ID,生成公鑰QID。
(3)密鑰生成SKG(Symmetric Key Generation):計算生成用戶密鑰dID。
(4)加密密鑰派生(EKDF):使用密鑰派生函數得到加密密鑰K。
(5)IBSIFPE加密(Enc):發送方使用加密密鑰對信息加密,并輸出密文c。
(6)解密密鑰派生(DKDF):使用密鑰派生函數得到解密密鑰K。
(7)IBSIFPE解密(Dec):接收方使用解密密鑰對密文解密,并輸出明文m。
格式保留加密標準的安全目標是偽隨機置換安全[14],即要求攻擊者無法區分是保留格式加密方案,還是某個隨機置換。IBSIFPE方案同樣需要滿足PRP安全,即要求即使敵手可以截獲密文和公鑰,也無法破解加密信息。并且,密鑰與身份ID相關聯,即使解密密鑰丟失,造成的損害僅保持在該身份下,不會影響其他身份的通信安全性。
定義1假設A是基于身份的偽隨機置換式安全IB-PRP(Identity-Based Pseudo Random Permutation)敵手,C是挑戰者,(F,KDF)是1個IBSIFPE方案,若敵手A以不可忽略的優勢在游戲中獲勝,則稱該方案滿足適應性偽隨機置換安全性。
初始階段:輸入安全參數λ,隨機挑選b個比特,把生成的系統參數傳送給A,保留系統主密鑰s。
階段1:A適應性地執行下列詢問。
加密預言詢問:A輸入消息m,C使用相應算法,得到密文c。
解密預言詢問:A輸入密文c,C使用相應算法,得到消息m。
身份查詢:A詢問身份ID,C運行算法,并將對應用戶密鑰傳送給A。
挑戰:A生成2個明文消息m0和m1,以及要挑戰的接收者的身份IDr。C隨機選擇b∈{0,1},得到密文c并傳送給A。
階段2:A繼續執行多項式詢問。約束條件是:(1)不能詢問目標用戶ID的密鑰;(2)A無法對密文c執行解密詢問。


定義3假設存在1個適應性選擇挑戰ID和選擇明文攻擊下的語義不可區分安全IND-ID-CPA(IDentity-based INDistinguishable under Chosen-Plaintext Attack)敵手A以ε(k)的優勢攻破本方案,A最多進行q1>0次身份詢問,對加密預言機至多進行q2>0次詢問。那么一定存在1個算法B至少以Advg,B(k)≥(2ε(k))/(e(1+q1)·q2)的優勢解決g生成群中的雙線性Diffie-Hellman問題。

(2)公鑰派生算法(PKDF):定義PKDF用于生成用戶公鑰QID。發送方輸入公鑰Ppub和身份IDs生成Qs=KDF(Ppub,IDs),作為發送方的公鑰。
(3)用戶密鑰生成算法(SKG):輸入ID和系統參數,計算身份ID的私鑰dID=sQID。
(5)IBSIFPE加密算法(Enc):給定m和身份IDs,計算QIDs=KDF(Ppub,IDs),通過加密密鑰派生算法計算的K對m執行加密,得到密文c=(C1,C2),其中C1=U,C2=Enc(K,T,m)。
(6)解密密鑰派生算法(DKDF):接收方輸入身份IDr和系統參數,使用密鑰派生函數得到解密密鑰K=KDF(Ppub,e(dIDr+QIDr,C1))。
(7)IBSIFPE解密算法(Dec):接收方利用解密密鑰對密文c=(C1,C2)解密,獲得消息m=Dec(K,T,C2)。
正確性接收方對于得到的密文可以正確解密,根據格式保留加密的要求,加密前后消息格式不變,即發送方和接收方計算的密鑰K一致。

□

證明敵手APRP首先挑選1個比特b∈{0,1}。在自適應敵手A切換挑戰位前,APRP總是使用它的加密、解密預言來回復A的加密、解密查詢。在A進入挑戰階段后,如果b=1,那么APRP繼續使用它的加密、解密預言來回復A的加密、解密查詢。如果b=0,那么APRP給出的答案從先前的查詢答案中隨機選擇。當A輸出其猜測b′時,若b′=b則輸出1,否則輸出0。我們要求:



□


□

定理4假設基于身份的適應性選擇明文攻擊的敵手A,以ε(k)優勢成功攻擊本方案,假設敵手A最多進行q>0次密鑰提取詢問。那么存在1個不可區分的選擇明文攻擊IND-CPA(Indistinguishability under Chosen-Plaintext Attack)敵手B,以至少ε(k)/[e(1+q)]的概率成功擊破非基于身份的公鑰加密方案,運行時間是O(time(A))。那么就有算法B′,以2ε(k)/q的優勢和O(time(A))的運行時間解決g生成群中的雙線性Diffie-Hellman BDH(Bilinear Diffie-Hellman)問題。
證明由A定義得|Pr[c=c′]-1/2|≥ε,整個過程中算法B′不間斷的概率為δq(1-δ),當δ=1-1/(1+q)時最大,即最大值為ε(k)/[e(1+q)]。存在IND-CPA敵手B以至少ε1=ε(k)/[e(1+q)]的概率成功攻擊非基于身份的公鑰加密方案,Pr[c=c′|B]=1/2,則Pr[c=c′]=Pr[c=c′|B]·Pr[B]+Pr[c=c′|A]·Pr[A]≤Pr[c=c′|B]·Pr[B]+Pr[A]=1/2Pr[B]+Pr[A]=1/2+1/2Pr[A],得ε≤|Pr[c=c′]-1/2|≤1/2Pr[A],即Pr[A]≥2ε。B以至少2ε1/q=2ε(k)/[e(1+q)·q]的優勢解決g生成群中的BDH問題。
□
公開文獻顯示目前沒有基于身份的格式保留加密方案,因此無法與同類方案進行效率比較。從表1可以看出,文獻[12]中方案是基于對稱加密的FPE方案,通過密鑰分發中心KDC(Key Distribution Center)產生密鑰后,在傳輸密鑰后進行通信。文獻[13]在對稱加密的基礎上引入身份ID,但仍使用該機制。本文方案與這2篇文獻中的方案相比,實現了公鑰密碼體制與格式保留加密的結合,避免了通信前傳輸密鑰的風險,通過派生函數生成加解密密鑰,并且保證了PRP安全。

Table 1 Performance comparison 表1 性能對比
格式保留加密不僅可以保證敏感數據的機密性,而且加密前后數據長度和數據格式不變,降低了改造數據格式的成本。本文設計了1個混合加密環境下基于身份的格式保留的敏感信息加密方案。該方案結合了基于身份的公鑰加密和格式保留加密的優勢,能夠對敏感信息進行加密傳輸,并確保加密前后格式不變。同時,提高了通信安全性,減少了密鑰系統的相關設施。本文方案保證了基于身份的PRP安全并滿足IND-ID-CPA安全。