崔 巖,黃欣沂,賴建昌,寧建廷
(1. 福建師范大學(xué) 計(jì)算機(jī)與網(wǎng)絡(luò)空間安全學(xué)院,福建 福州 350117;2. 香港科技大學(xué)(廣州),廣東 廣州 511400;3. 東南大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,江蘇 南京 211189)
廣播加密的概念由Fiat等[1]提出,假設(shè)Alice想要向大量接收者發(fā)送相同的消息,若采用多次執(zhí)行加密算法并將密文依次發(fā)送給接收者的方法,雖然可實(shí)現(xiàn)一對(duì)多加密,但加密和解密的計(jì)算代價(jià)高昂且通信代價(jià)隨著接收者的數(shù)量增加而線性增加。隨著付費(fèi)直播、數(shù)字產(chǎn)品、在線會(huì)議的迅速發(fā)展,點(diǎn)對(duì)點(diǎn)的加密方式已經(jīng)逐漸不能滿足互聯(lián)網(wǎng)環(huán)境的通信需求,亟需一對(duì)多或多對(duì)多的安全通信方式。
廣播加密是一種支持在不安全的公開信道上實(shí)現(xiàn)多用戶數(shù)據(jù)安全共享的加密技術(shù),適用于一對(duì)多安全傳輸場(chǎng)景。廣播加密的工作方式為:數(shù)據(jù)擁有者首先選取一組接收者,運(yùn)行廣播加密算法,將加密得到的密文發(fā)布到公開信道,監(jiān)聽該信道的所有用戶均可獲取密文,但只有授權(quán)用戶可利用解密密鑰正確解密,未授權(quán)用戶不能從密文中獲取任何明文信息。廣播加密在付費(fèi)電視、數(shù)字版權(quán)保護(hù)及區(qū)塊鏈等領(lǐng)域廣泛使用。
根據(jù)加密和解密過程中密鑰的不同,廣播加密可分為對(duì)稱廣播加密和公鑰廣播加密。在對(duì)稱廣播加密中,廣播者只能是可信機(jī)構(gòu),該機(jī)構(gòu)負(fù)責(zé)生成并分發(fā)已授權(quán)用戶的解密密鑰,因此,對(duì)稱廣播加密在實(shí)際應(yīng)用中局限性較大,應(yīng)用范圍窄。公鑰廣播加密允許系統(tǒng)內(nèi)任意用戶作為數(shù)據(jù)擁有者,且數(shù)據(jù)擁有者可指定任意系統(tǒng)內(nèi)一個(gè)用戶集合作為數(shù)據(jù)接收者,只有集合內(nèi)的用戶可以解密。由于系統(tǒng)中任意用戶均可作為發(fā)送者運(yùn)行加密算法,更具一般性且靈活。因此,公鑰廣播加密具有更加廣泛的應(yīng)用,得到了專家學(xué)者的廣泛關(guān)注和研究。
公鑰廣播加密為多用戶數(shù)據(jù)安全共享的典型方法技術(shù),其研究方向主要可概括為2個(gè)方向:
(1)根據(jù)廣播加密的應(yīng)用場(chǎng)景需求不同或功能不同,可分為標(biāo)識(shí)廣播加密、匿名廣播加密、叛逆者追蹤廣播加密,以及可撤銷廣播加密等;
(2)從算法本身對(duì)廣播加密方案進(jìn)行優(yōu)化,可分為2類:①對(duì)算法安全性的研究,例如選擇密文攻擊、自適應(yīng)安全性等;②對(duì)算法效率的研究,包括加密和解密算法的時(shí)間復(fù)雜度、公共參數(shù)大小、私鑰長(zhǎng)度以及密文長(zhǎng)度等。
評(píng)估廣播加密方案的優(yōu)劣通常從方案滿足的安全屬性、方案的計(jì)算和通信代價(jià)進(jìn)行分析。一個(gè)健壯的廣播加密系統(tǒng)應(yīng)滿足如下安全屬性:
(1)權(quán)限控制:系統(tǒng)用戶的添加或刪除由可信中心執(zhí)行,用戶的解密權(quán)限由加密者(數(shù)據(jù)擁有者)決定。
(2)抗合謀攻擊:任何數(shù)量的非授權(quán)接收者即使合謀都無法解密獲取加密數(shù)據(jù)的內(nèi)容。
(3)接收者無狀態(tài):在系統(tǒng)的整個(gè)生命周期內(nèi)接收者無需改變自己的設(shè)置,解密操作只能按照系統(tǒng)初始設(shè)置進(jìn)行。
Wong等[2]于2000年基于邏輯層次樹結(jié)構(gòu)提出了組播密鑰管理方案,該方案也稱為有狀態(tài)廣播加密。在該系統(tǒng)中,接收者需利用接收到的組密鑰解密廣播密文。若組內(nèi)成員發(fā)生變化,即有成員新加入系統(tǒng)或離開系統(tǒng),為保證系統(tǒng)安全性,所有用戶的組密鑰必須更新;若利用該方案實(shí)現(xiàn)無狀態(tài)廣播加密,則通信代價(jià)和計(jì)算開銷極高,且可信中心知道每個(gè)接收者的信息,無法實(shí)現(xiàn)匿名等功能,靈活性較差。因此,本文不考慮該類型的廣播加密。
另一種廣播加密稱為靜態(tài)廣播加密[3],該機(jī)制需要在系統(tǒng)建立階段確定接收者集合,每個(gè)用戶的私鑰生成都與其他所有授權(quán)接收者的公鑰相關(guān),應(yīng)用場(chǎng)景較為有限,本文同樣不考慮該類型的廣播加密。
本文著重關(guān)注近年來公鑰廣播加密的研究進(jìn)展,闡述了公鑰廣播加密的研究歷史、形式化定義和典型構(gòu)造,旨在推動(dòng)廣播加密的研究與發(fā)展。
一對(duì)多加密傳輸最早由Berkovits[4]提出,在文獻(xiàn)[4]中,利用拉格朗日插值,可將任意秘密分享方案轉(zhuǎn)換成秘密廣播方案。隨后Fiat等[1]在1993年提出“廣播加密”的概念并給出了廣播加密的形式化定義和安全模型,同時(shí)給出了對(duì)稱廣播加密方案的具體構(gòu)造。
然而由于對(duì)稱廣播加密的局限性較大,近年來對(duì)廣播加密的研究主要圍繞公鑰廣播加密展開。公鑰廣播加密(Public Key Broadcast Encryption,PKBE)的概念由Naor等[5]首次提出,傳統(tǒng)公鑰廣播加密方案通常為基于證書的密碼方案,為確保用戶公鑰的真實(shí)有效性,公鑰基礎(chǔ)設(shè)施(Public Key Infrastructure,PKI)應(yīng)運(yùn)而生。PKI中通常包含一個(gè)證書認(rèn)證機(jī)構(gòu)(Certificate Authority,CA),負(fù)責(zé)為用戶簽發(fā)證書。文獻(xiàn)[5]中的方案利用門限秘密共享技術(shù),實(shí)現(xiàn)了有效叛逆者追蹤,最多撤銷t個(gè)用戶的解密權(quán)限,滿足t-抗合謀攻擊的安全性。
公鑰廣播加密包括3個(gè)過程:
(1)Setup(λ,n):輸入安全參數(shù)λ,廣播接收者人數(shù)n,輸出n個(gè)私鑰k1,k2,…,kn和一個(gè)公鑰PK。
(2)Encrypt (S,PK):以授權(quán)接收者集合S∈{1,2,…,n}和公鑰PK為輸入,輸出二元組(Hdr,K),其中,Hdr稱為首部;K為加密密鑰,用于加密廣播內(nèi)容。已知廣播消息為M,利用會(huì)話密鑰K加密消息M得到密文CM,則整個(gè)廣播內(nèi)容為(S,Hdr,CM),其中,(S,Hdr)通常稱為廣播頭,CM稱為廣播體。
(3)Decrypt (S,i,ki,Hdr,PK):輸入接收者集合S∈{1,2,…,n},用戶i和對(duì)應(yīng)的私鑰ki,首部Hdr和公鑰PK。若i∈S,則算法可正確輸出會(huì)話密鑰K,進(jìn)而解密CM得到消息M,否則不能獲取明文信息。
基于PKI的廣播加密的正確性要求對(duì)任意的消息M,(PK,(k1,…,kn))←Setup(λ,n),(Hdr,K)←Encrypt(S,PK)。若i∈S,那么
Pr[Decrypt(S,i,ki,Hdr,PK)=M]=1。
在廣播加密的安全模型中,根據(jù)敵手的攻擊能力不同可將敵手分為自適應(yīng)敵手和靜態(tài)敵手。靜態(tài)敵手要求在發(fā)起攻擊之前給出要攻擊的接收者集合。顯然,自適應(yīng)敵手具有更強(qiáng)的攻擊能力,敵手無需在攻擊前選取待攻擊的接收者集合。因此,自適應(yīng)敵手模型比靜態(tài)敵手模型安全性更強(qiáng)。
廣播加密最基本的要求是保證數(shù)據(jù)的機(jī)密性,即非授權(quán)用戶不能獲取任何明文信息。針對(duì)數(shù)據(jù)的機(jī)密性,下面給出自適應(yīng)選擇密文攻擊下的不可區(qū)分性(Indistinguishability against Adaptive Chosen-Ciphertext Attacks,IND-CCA)[6],通過敵手和挑戰(zhàn)者的交互游戲定義,安全模型定義如下:
(2)詢問階段1。敵手允許在該階段自適應(yīng)地發(fā)起如下詢問:
a.私鑰詢問:敵手可自適應(yīng)地詢問集合中第u個(gè)位置的私鑰,挑戰(zhàn)者將ku發(fā)送給敵手;
b.解密詢問:敵手可針對(duì)密文發(fā)起解密詢問,詢問的格式為 (u,S,Hdr),挑戰(zhàn)者運(yùn)行算法Decrypt(S,u,ku,Hdr,PK),將解密結(jié)果K返回給敵手。
(3)挑戰(zhàn)階段。敵手輸出挑戰(zhàn)接收者集合S*,要求敵手沒有發(fā)起過對(duì)u∈S*的私鑰詢問。挑戰(zhàn)者運(yùn)行加密算法Encrypt(S*,PK),輸出二元組(Hdr*,K)。接著挑戰(zhàn)者隨機(jī)選取1比特b∈{0,1},令Kb=K,從密鑰空間中選取隨機(jī)密鑰K′∈K,令K1-b=K′,最后將(Hdr*,K0,K1)發(fā)送給敵手。
(4)詢問階段2。敵手可在該階段繼續(xù)發(fā)起私鑰詢問和解密詢問,詢問的限制是不能詢問u∈S*的私鑰,不能發(fā)起Hdr=Hdr*,S=S*的解密詢問。挑戰(zhàn)者的回復(fù)方式與詢問階段1相同。
(5)猜測(cè)。敵手輸出猜測(cè)值b′∈{0,1},若b=b′,則敵手獲勝。
定義1(可忽略) 令||為自然數(shù)集合,對(duì)于任意d∈,若存在λd∈,使得對(duì)于任意λ>λd,ε(λ)≤λ-d始終成立,那么函數(shù)ε:→[0,1]稱為可忽略函數(shù)。
定義2 如果對(duì)于任意的多項(xiàng)式時(shí)間(Probabilistic Polynomial Time,PPT)敵手,在上述游戲中獲勝的優(yōu)勢(shì)是可忽略的,則稱廣播加密方案是IND-CCA安全的。
若在上述IND-CCA模型中,不允許敵手在詢問階段發(fā)起密鑰詢問,則相應(yīng)的模型為IND-CPA模型。
廣播加密與傳統(tǒng)點(diǎn)對(duì)點(diǎn)的公鑰加密在IND-CCA安全模型的不同點(diǎn)主要體現(xiàn)在:前者要求在系統(tǒng)建立階段,挑戰(zhàn)者需要將所有用戶的公鑰信息發(fā)送給敵手,敵手可在詢問階段自適應(yīng)的發(fā)起密鑰詢問。在挑戰(zhàn)階段,敵手可根據(jù)已掌握的信息選取接收者集合進(jìn)行攻擊;后者在系統(tǒng)建立階段只需要向敵手發(fā)送挑戰(zhàn)用戶的公鑰信息即可。
在2002年,Dodis等[7]對(duì)基于對(duì)稱密鑰的廣播加密和公鑰廣播加密展開進(jìn)一步研究,將對(duì)稱廣播加密中的子集差分法(Subset Difference,SD)拓展到公鑰體制廣播加密,給出一種對(duì)稱廣播加密向公鑰廣播加密的轉(zhuǎn)化關(guān)系,提出具有定長(zhǎng)公鑰的公鑰廣播加密方案。
2005年,Boneh等[6]利用雙線性對(duì)技術(shù)提出首個(gè)完全抗合謀攻擊(fully collusion resistant)的無狀態(tài)公鑰廣播加密方案(簡(jiǎn)稱BGW方案),文獻(xiàn)[6]中給出了兩種PKBE構(gòu)造方案,第一個(gè)構(gòu)造中具有定長(zhǎng)的密文長(zhǎng)度,公鑰長(zhǎng)度和解密代價(jià)均隨著接收者線性增長(zhǎng),能夠抵抗選擇明文攻擊(Chosen Plaintext Attack,CPA);第二個(gè)構(gòu)造具有亞線性大小的密文長(zhǎng)度和公鑰長(zhǎng)度。并利用相同的參數(shù)給出一種可抵抗選擇密文攻擊的方案。
Delerablée等[8]在2007年提出了動(dòng)態(tài)廣播加密的概念,在系統(tǒng)建立階段用戶總數(shù)不是固定的,系統(tǒng)參數(shù)的生成也無需用到接收者的公鑰信息,新用戶可隨時(shí)加入廣播系統(tǒng),并獲取之前公布的廣播消息,且無需修改其他用戶的私鑰。該方案適用于付費(fèi)電視等應(yīng)用,當(dāng)新用戶想觀看之前的直播回放時(shí),即可利用自己的私鑰解密。
Gentry等[9]在2009年提出具有抵抗自適應(yīng)性選擇明文攻擊安全的廣播加密方案,安全性基于判定性BDHE(Bilinear Diffie-Hellman Exponent)假設(shè)。文獻(xiàn)[9]中引入半靜態(tài)(semi-static)敵手模型的概念,在半靜態(tài)模型中,敵手在系統(tǒng)建立階段之前要提交一個(gè)集合S,在挑戰(zhàn)階段可以選取集合S的任意子集S′作為攻擊目標(biāo)。該模型比靜態(tài)敵手模型具有更強(qiáng)的靈活性,在靜態(tài)模型中敵手只能攻擊集合S。
在2012年,Phan等[10]基于文獻(xiàn)[6]的CPA方案,提出了一個(gè)定長(zhǎng)密文的公鑰廣播加密方案,可抵抗靜態(tài)選擇密文敵手攻擊,其公鑰長(zhǎng)度在BGW方案的基礎(chǔ)上增加一個(gè)群元素。文獻(xiàn)[10]還提出了一個(gè)具有撤銷功能的廣播加密方案,與第一個(gè)方案采用同樣的參數(shù),安全性基于較為普遍的BDH(Bilinear Diffie-Hellman)困難假設(shè)。
2018年,Gay等[11]在文獻(xiàn)[6]的基礎(chǔ)上做了進(jìn)一步研究,指出文獻(xiàn)[6]的兩點(diǎn)局限性:①BGW方案不能抵抗自適應(yīng)敵手,敵手可根據(jù)獲取到的公共參數(shù)后選擇容易發(fā)起攻擊的用戶;②BGW方案的安全性依賴參數(shù)化假設(shè)(parameterized assumptions),即q-type的安全性假設(shè),其安全性較弱。文獻(xiàn)[11]提出一種更安全高效的公鑰廣播加密方案,實(shí)現(xiàn)了固定大小的密文和用戶私鑰,且滿足自適應(yīng)安全性。
在文獻(xiàn)[6]中提出的兩個(gè)公鑰廣播加密方案,均具有完全抗合謀的安全特性。其中,第一個(gè)方案(簡(jiǎn)稱BGW1)計(jì)算代價(jià)較低,而通信代價(jià)過高,當(dāng)接收者數(shù)量為n時(shí),系統(tǒng)公鑰長(zhǎng)度為2n+1,難以應(yīng)用于大規(guī)模網(wǎng)絡(luò);第二個(gè)方案(簡(jiǎn)稱BGW2)中犧牲了部分計(jì)算量,獲得更短的公鑰長(zhǎng)度。
BGW2為公鑰廣播加密的典型構(gòu)造,后續(xù)大量公鑰廣播加密的研究均基于該方案[10-11],因此,本小節(jié)給出該方案的具體構(gòu)造,方案描述如下:
已知接收者集合為{u1,u2,…,un},將n個(gè)用戶進(jìn)行分組,首先確定每個(gè)分組的最大接收者數(shù)量為B(B (1)Setup(λ,n):輸入安全參數(shù)λ,系統(tǒng)接收者數(shù)量n,令A(yù)=「n/B?。G是階為素?cái)?shù)p的雙線性群,隨機(jī)選取生成元g∈G和一個(gè)隨機(jī)數(shù)α∈p。對(duì)于任意i=1,2,…,B,B+2,…,2B,計(jì)算gi=gαi。接著隨機(jī)選取A個(gè)群元素γ1,γ2,…,γA∈p,設(shè)v1=gγ1,…,vA=gγA∈G,將系統(tǒng)公鑰設(shè)置為 PK=(g,g1,…,gB,gB+2,…,g2B,v1,…,vA)∈G2B+A。 (2)Encrypt(PK,S):對(duì)于任意l=1,…,A,定義子集l和Sl為 l=S∩{(l-1)B+1,…,lB}, Sl={x-lB+B|x∈l}?{1,…,B}。 接著,隨機(jī)選取t∈p,設(shè)會(huì)話密鑰為K=e(gB+1,g)t∈G,其中,e(gB+1,g)可通過e(gn,g)獲得。最后,輸出(Hdr,K),其中, (3)Decrypt(S,i,ki,Hdr,PK):輸入接收者集合S、用戶下標(biāo)i、用戶私鑰ki、密文首部Hdr和系統(tǒng)公鑰PK,其中,i=(a-1)B+b,若用戶為合法接收者,則可以通過利用獲得的私鑰ki計(jì)算出 正確性分析:對(duì)于合法接收者uij,通過輸入kij,有如下等式成立: e(gB+1,g)t。 在公鑰密碼體制的實(shí)際應(yīng)用過程中,用戶公鑰為一串毫無意義的字符串,不便于記憶,對(duì)用戶并不友好。為保證用戶公鑰的有效性,需通過證書綁定用戶,而證書的引入增加了額外的存儲(chǔ)和驗(yàn)證開銷。標(biāo)識(shí)密碼體制[12]可有效解決公鑰密碼中加密存在的證書問題,消除了對(duì)證書的依賴,用戶的公鑰可由能夠唯一標(biāo)識(shí)用戶身份信息的字符串組成,如郵箱地址、手機(jī)號(hào)碼等,使用上述字符串具有便于用戶記憶的優(yōu)點(diǎn)。 隨著雙線性對(duì)實(shí)用且安全算法[13]的提出,標(biāo)識(shí)廣播加密(Identity-Based Broadcast Encryption,IBBE)也得到了廣泛研究。IBBE也稱為基于身份的廣播加密,系統(tǒng)中的密鑰生成中心負(fù)責(zé)為新加入系統(tǒng)的用戶生成并分發(fā)用戶私鑰。 標(biāo)識(shí)廣播加密是公鑰廣播加密的一種特例,用戶的私鑰由額外的可信第三方生成。標(biāo)識(shí)廣播加密工作流程如圖1所示。 圖1 標(biāo)識(shí)廣播加密工作流程Fig.1 The workflow of identity-based broadcast encryption 由圖1可知,密鑰生成中心(Key Generator Center,KGC)首先運(yùn)行Setup算法生成主密鑰msk和主公鑰mpk,接著運(yùn)行KeyGen算法生成用戶私鑰,系統(tǒng)中的任意用戶均可選擇任意接收者集合運(yùn)行加密算法Encrypt并發(fā)布廣播密文。在圖1中,Alice可向Dave和Eric發(fā)送加密消息,授權(quán)接收者Dave可利用自己的用戶私鑰解密廣播密文進(jìn)而獲取數(shù)據(jù)。 IBBE方案由以下4個(gè)可在多項(xiàng)式時(shí)間內(nèi)計(jì)算出的算法組成: (1)Setup(1λ,m)→(mpk,msk):輸入安全參數(shù)λ和系統(tǒng)可容納的最大接收者個(gè)數(shù)m,KGC運(yùn)行Setup算法,輸出系統(tǒng)主私鑰msk、系統(tǒng)主公鑰mpk。系統(tǒng)主私鑰由KGC秘密保存,系統(tǒng)主公鑰公開。 (2)KeyGen(mpk,msk,ID)→skID:輸入系統(tǒng)主公鑰mpk,主私鑰msk,用戶標(biāo)識(shí)ID,KGC運(yùn)行KeyGen算法生成用戶私鑰skID。 (3)Encrypt(mpk,S,M)→CT:輸入系統(tǒng)主公鑰mpk、接收者標(biāo)識(shí)集合S=(ID1,ID2,…,IDn)和待加密消息M,其中,n≤m,加密者運(yùn)行加密算法Encrypt,輸出密文CT并通過公開信道廣播。 (4)Decrypt(mpk,S,CT,ID,skID)→(M/⊥):輸入系統(tǒng)主公鑰mpk、接收者身份集合S、密文CT、接收者標(biāo)識(shí)ID以及對(duì)應(yīng)的私鑰skID,解密者運(yùn)行解密算法Decrypt,輸出正確的明文數(shù)據(jù)M或者⊥代表解密失敗。 標(biāo)識(shí)廣播加密的正確性要求對(duì)任意的消息M,(mpk,msk)←Setup(1λ,m),skID←KeyGen(mpk,msk,ID),CT←Encrypt(mpk,S,M)。若ID∈S,那么 Pr[Decrypt(mpk,S,CT,ID,skID)=M]=1。 IBBE的安全模型與PKBE的安全模型相似,主要區(qū)別體現(xiàn)在私鑰詢問階段,敵手可發(fā)起對(duì)任意身份ID的私鑰詢問,但不能詢問挑戰(zhàn)標(biāo)識(shí)ID*的私鑰,挑戰(zhàn)者運(yùn)行KeyGen(mpk,msk,ID)算法并將產(chǎn)生的密鑰發(fā)送給敵手[14]。 Sakai等[14]在2007年提出了標(biāo)識(shí)廣播加密,可利用任意字符串作為接收者的公鑰,避免了對(duì)公鑰基礎(chǔ)設(shè)施的依賴。在通信代價(jià)方面,該方案優(yōu)于BGW方案,其公鑰大小與最大接收者數(shù)量有關(guān),適用于潛在用戶數(shù)量較多,而實(shí)際接收者數(shù)量比較少時(shí)且接收者不會(huì)經(jīng)常發(fā)生變化的場(chǎng)景;在安全性方面,該方案滿足完全抗合謀攻擊,基于隨機(jī)諭言模型證明了方案滿足CPA安全。 同年,Delerablée[15]提出具有定長(zhǎng)密文和私鑰的IBBE方案,文獻(xiàn)[15]利用多接收者密鑰封裝(multi-receiver Key Encapsulation Mechanism,mKEM)[16]機(jī)制,mKEM是一種高效的多用戶密鑰協(xié)商技術(shù),與多接收者公鑰加密[17-18]不同,文獻(xiàn)[17-18]為一個(gè)發(fā)送者向多個(gè)接收者發(fā)送不同的消息。文獻(xiàn)[16,19]中將多接收者密鑰封裝的概念擴(kuò)展到標(biāo)識(shí)多接收者密鑰封裝(multi-receiver Identity-based Key Encapsulation Mechanism,mID-KEM)。 Boneh等[20]為構(gòu)造標(biāo)識(shí)廣播加密提供了通用的構(gòu)造方案,并使用分層標(biāo)識(shí)加密技術(shù)構(gòu)造了首個(gè)具有短密文的分層標(biāo)識(shí)廣播加密方案,密文由3個(gè)元素組成,私鑰長(zhǎng)度隨系統(tǒng)的復(fù)雜性線性增長(zhǎng)。 劉瀟等[21]基于文獻(xiàn)[15],通過在廣播接收者集合中引入虛擬標(biāo)識(shí),構(gòu)造了一個(gè)具有靜態(tài)(selective)選擇密文安全(Chosen Ciphertext Attack,CCA)的標(biāo)識(shí)廣播加密方案,與文獻(xiàn)[15]相比,公鑰長(zhǎng)度增加一個(gè)群元素。在加密過程中,增加了與接收者集合相關(guān)群元素的哈希值計(jì)算過程,解密過程中也增加了對(duì)該哈希值的計(jì)算,可利用該部分的內(nèi)部關(guān)聯(lián)特性檢驗(yàn)廣播密文是否有效。 Kim等[22]利用混合階群下的對(duì)偶加密(dual system encryption)技術(shù)提出一個(gè)自適應(yīng)(adaptive)選擇密文安全的標(biāo)識(shí)廣播加密方案,該方案的系統(tǒng)公鑰和用戶私鑰均隨著最大接收者個(gè)數(shù)線性增長(zhǎng),密文長(zhǎng)度為定長(zhǎng)。 文獻(xiàn)[23]把內(nèi)積加密技術(shù)融合到廣播加密系統(tǒng)中,提出內(nèi)積型標(biāo)識(shí)廣播加密方案,解密結(jié)果不在是明文,而是與用戶私鑰和明文關(guān)聯(lián)的內(nèi)積值,可用于數(shù)理統(tǒng)計(jì)等應(yīng)用場(chǎng)景。 賴建昌等[24]結(jié)合SM9商用標(biāo)識(shí)密碼的特點(diǎn),提出了首個(gè)基于SM9的標(biāo)識(shí)廣播加密方案,在SM9標(biāo)識(shí)加密算法的基礎(chǔ)上,密文長(zhǎng)度僅增加一個(gè)群元素,并采用與SM9標(biāo)識(shí)加密算法相同的密鑰生成算法。 Yao等[25]也對(duì)內(nèi)積型廣播加密進(jìn)行了深入研究,考慮到廣播加密接收者的身份隱私,提出了具有匿名性質(zhì)的基于證書的內(nèi)積廣播加密,同時(shí)證明了該方案在IND-CCA安全模型下是自適應(yīng)安全的,密文長(zhǎng)度隨著接收者數(shù)量線性增長(zhǎng)。Liu等[26]針對(duì)云場(chǎng)景中重復(fù)數(shù)據(jù)的刪除進(jìn)行研究,利用廣播加密技術(shù)提出了一種無需獨(dú)立密鑰管理服務(wù)器的客戶端重復(fù)數(shù)據(jù)刪除協(xié)議。 在Delerablée[15]提出的方案中,系統(tǒng)公鑰長(zhǎng)度與系統(tǒng)可容納最大接收者個(gè)數(shù)成線性關(guān)系,密文長(zhǎng)度為固定長(zhǎng)度。后續(xù)具有定長(zhǎng)密文的IBBE方案大多采取該方案的構(gòu)造技術(shù),方案的具體描述如下: (4)Decrypt(S,IDi,SKIDi,Hdr,PK):輸入由廣播信道獲取的密文首部Hdr=(C1,C2),接收者標(biāo)識(shí)集合S,用戶自身的標(biāo)識(shí)IDi和標(biāo)識(shí)對(duì)應(yīng)的私鑰SKIDi以及公鑰PK。首先計(jì)算 其中, 方案的正確性分析如下: 若IDi∈S,則 T=(e(C1,hpi,n(γ))·e(SKIDi,C2))= 由廣播加密的定義可知,在解密過程中,每個(gè)用戶需要輸入密文CT,接收者集合S,自己的私鑰skID和主公鑰mpk,所有接收者信息也作為廣播密文的一部分傳輸,這種設(shè)置將造成嚴(yán)重的隱私泄露問題。假設(shè)在付費(fèi)電視中使用的是上述不提供匿名性的廣播加密,授權(quán)用戶集合為某個(gè)頻道所有付費(fèi)用戶的集合,那么用戶必須知道所有購(gòu)買該頻道的用戶才能解密,該做法侵犯了消費(fèi)者隱私,在實(shí)際部署中極為不便。 然而在當(dāng)今互聯(lián)網(wǎng)環(huán)境,保護(hù)用戶的隱私至關(guān)重要,密碼學(xué)幾個(gè)重要研究領(lǐng)域都依賴匿名性,例如數(shù)字簽名中的群簽名和匿名憑證。在很多廣播場(chǎng)景中,授權(quán)用戶的身份信息和廣播消息本身同樣是敏感內(nèi)容。理想情況下,廣播加密方案應(yīng)確保密文不會(huì)泄露任何接收者集合的任何信息,進(jìn)而保護(hù)接收者的隱私。 匿名廣播加密的形式化定義與IBBE類似,區(qū)別在于匿名廣播加密在解密階段無需輸入接收者集合。 匿名廣播加密不僅需要保證消息的機(jī)密性,還要保證接收者的匿名性。接收者的匿名性由選擇密文攻擊下的用戶集合不可區(qū)分性(Anonymous indistinguishability under Chosen-Ciphertext Attacks,ANON-CCA)[27]來定義,該交互游戲確保敵手無法區(qū)分由兩個(gè)不同接收者集合生成的密文。 (1)系統(tǒng)建立階段 已知安全參數(shù)λ和系統(tǒng)可容納的最大接收者個(gè)數(shù)m,挑戰(zhàn)者運(yùn)行Setup(1λ,m)算法,輸出主公鑰mpk及主私鑰msk,將mpk發(fā)送給。 (2)詢問階段1 敵手允許在該階段自適應(yīng)地發(fā)起如下詢問: a.私鑰詢問:輸入標(biāo)識(shí)ID,挑戰(zhàn)者運(yùn)行算法KeyGen(mpk,msk,ID)→skID,將結(jié)果發(fā)送給敵手; b.解密詢問:輸入標(biāo)識(shí)ID和密文CT,挑戰(zhàn)者運(yùn)行解密算法Decrypt(mpk,S,CT,ID,skID)→M,將解密得到的消息M返回給敵手。 (3)挑戰(zhàn)階段 (4)詢問階段2 (5) 猜測(cè)階段 定義3 如果對(duì)于任意的PPT敵手,在上述游戲中獲勝的優(yōu)勢(shì)是可忽略的,則稱廣播加密方案是ANON-CCA安全的。 在以往對(duì)廣播加密的研究中,大多圍繞提高廣播加密系統(tǒng)的抗合謀能力和減少?gòu)V播密文長(zhǎng)度展開,Barth等[28]提出私有廣播加密的概念,首次解決了用戶隱私泄露的問題。并提出一個(gè)私有廣播加密方案的通用構(gòu)造,方案滿足靜態(tài)敵手模型下的匿名性和IND-CCA安全,能夠保證在不泄露接收者身份信息的情況下正確解密。 文獻(xiàn)[29]利用子集覆蓋(subset-cover)技術(shù)提出具有亞線性密文長(zhǎng)度的匿名標(biāo)識(shí)廣播加密方案,并給出了外部匿名性的形式化定義。對(duì)于接收者集合S外的用戶來說是匿名的,但對(duì)于S內(nèi)的用戶不滿足匿名性。 Libert等[30]指出文獻(xiàn)[29]中的匿名性較弱,不能滿足完全匿名性,然而完全匿名性在實(shí)際應(yīng)用中是必要的。文獻(xiàn)[30]給出了匿名廣播加密的形式化定義,并提出兩個(gè)具有CCA安全的匿名廣播加密的一般構(gòu)造。然而,方案的匿名性由多個(gè)對(duì)稱加密的密文構(gòu)成,通信代價(jià)和解密計(jì)算開銷較大。 文獻(xiàn)[31]提出可在不需要解密的情況下匿名撤銷IBBE系統(tǒng)中部分接收者的解密權(quán)限,該方案滿足完全匿名性,只有數(shù)據(jù)發(fā)送方知道接收者的身份信息,并且撤銷過程不會(huì)泄露明文和接收者身份的任何信息。 基于證書(certificate-based)的匿名廣播加密概念在文獻(xiàn)[32]中給出,文獻(xiàn)[32]同時(shí)給出了相應(yīng)的形式化定義和安全模型,并提出一個(gè)自適應(yīng)CCA安全的基于證書的匿名廣播加密方案。基于證書的密碼機(jī)制解決了傳統(tǒng)公鑰密碼體制中的證書管理問題,無需建立安全信道,同時(shí)也避免了標(biāo)識(shí)密碼體制中的密鑰托管問題。 文獻(xiàn)[27]提出了在選擇密文攻擊下可同時(shí)滿足機(jī)密性和完全匿名性的AIBBE方案,且公共參數(shù)和私鑰大小與接收者數(shù)量無關(guān),方案通信代價(jià)較小,具有代表性。該方案描述如下: 符號(hào)定義為[x]表示比特串x的前位,[x]表示比特串x的后位。x‖y表示將比特串x和y連接。 (1)Setup(1λ):以安全參數(shù)λ為輸入,首先生成雙線性群(p,G,GT,e),其中,p是長(zhǎng)度為λ的素?cái)?shù),G,GT為兩個(gè)p階循環(huán)群,e為雙線性映射e:G×G→GT。隨機(jī)選取生成元g,u,v,w∈G,選取一個(gè)隨機(jī)數(shù)α∈p作為主密鑰,計(jì)算g1=gα。接著選取4個(gè)哈希函數(shù):p。公共參數(shù)設(shè)為 paras=(p,G,GT,e,g,g1,u,v,w,H1,H2,H3,H4), 私鑰msk=α。 (3)Encrypt(params,S,m):輸入系統(tǒng)公開參數(shù)params,接收者身份信息集合S={ID1,ID2,…,IDt}和代價(jià)密廣播消息m∈{0,1}l,執(zhí)行以下步驟: 1)選取隨機(jī)數(shù)r,k,τ∈p; 2)計(jì)算G中群元素C0=gr; 3)對(duì)任意IDi∈S,計(jì)算VIDi=H2(e(QIDi,g1)); 4)計(jì)算多項(xiàng)式 5)計(jì)算 C1=[H3(k‖C0)]l-l1‖([H3(k‖C0)]l1)?m, h=H4(C0,C2,a0,a1,…,at-1),C2=(uhvτw)r, 輸出密文CT=(τ,C0,C1,C2,a0,a1,…,at-1)。 [C1]l-l1≠[H3(k‖C0)]l-l1, 則解密失敗,輸出⊥。否則可得到廣播明文m=[C1]l1‖([H3(k‖C0)]l1)。 由上述方案可知,用戶在解密過程中無需輸入接收者集合,有效保護(hù)了接收者的身份信息。方案的正確性分析如下: 若接收者獲得的C0,C2未經(jīng)篡改過,則如下等式成立: e(g,C2)=e(g,(uh,vτ,w)r)= e(gr,uh,vτ,w)= e(C0,uh,vτ,w), 接收者接著可利用自己的私鑰計(jì)算VID: VID=H2(e(skID,C0))= H2(e(QID,g1)r), 帶入f(x)可得到正確的k,進(jìn)而求得正確解密的廣播明文。 在一對(duì)一傳輸場(chǎng)景中,只存在一個(gè)授權(quán)方,若授權(quán)方知曉的某個(gè)秘密泄露出來,顯而易見泄密者就是該授權(quán)方。當(dāng)授權(quán)方有多個(gè)時(shí),找出泄露秘密的授權(quán)方就變得比較復(fù)雜。隨著網(wǎng)絡(luò)服務(wù)的不斷多樣化,越來越多的數(shù)字產(chǎn)品都以廣播的形式進(jìn)行發(fā)放,例如電子圖書、電子軟件及音樂等。通常情況下,數(shù)據(jù)提供商會(huì)向每一個(gè)合法用戶分發(fā)一個(gè)包含用戶私鑰的硬件或軟件“解密盒”,這在付費(fèi)電視和電子商務(wù)中更為常見。然而盜版問題是不可避免的,若某個(gè)惡意的訂閱者將自己的“解密盒”拷貝給其他人,數(shù)據(jù)提供商并不能阻止該做法;另一種惡意用戶是利用自己的私鑰通過共謀生成非法的盜版產(chǎn)品,再進(jìn)行轉(zhuǎn)賣獲取利潤(rùn)。這種行為既侵犯了作者的知識(shí)產(chǎn)權(quán),又破壞了正常市場(chǎng)秩序。為減少數(shù)據(jù)提供商的經(jīng)濟(jì)損失,需盡快找出該惡意用戶(叛逆者)。 叛逆者追蹤廣播加密由以下4個(gè)多項(xiàng)式時(shí)間算法組成: (1)KeyGen(λ,n):密鑰生成算法,又稱為用戶初始化算法,輸入安全參數(shù)λ和接收者個(gè)數(shù)n,算法輸出公鑰e和n個(gè)私鑰d1,d2,…,dn,其中任何的私鑰都可以對(duì)廣播密文解密。 (2)Encryption(e,S,M):輸入公鑰e,接收者集合S和待加密消息M,加密算法輸出廣播密文C并發(fā)送給所有用戶。 (3)Decryption(C,di):輸入廣播密文C和私鑰di,輸出解密后得到明文M。 (4)Tracing(D):輸入一個(gè)盜版解密盒D,若該解密盒在創(chuàng)建時(shí)使用到多個(gè)私鑰d1,d2,…,dk,則叛逆者追蹤算法至少追蹤到其中一個(gè)叛徒。 叛逆者追蹤廣播加密的正確性要求對(duì)任意的消息M,(e,(d1,…,dn))←Setup(λ,n),C←Encrypt(e,S,M)。若i∈S,那么 Pr[Decrypt(S,i,di,Hdr,PK)=M]=1。 叛逆者追蹤技術(shù)由Chor等[33]在1994年的美密會(huì)上首次提出,主要用于對(duì)抗廣播加密中合謀攻擊和重放攻擊。文獻(xiàn)[33]為基于對(duì)稱密鑰的叛逆者可追蹤的廣播加密,采用的方法是為每個(gè)接收者提供不同的密鑰,每一個(gè)密鑰相當(dāng)于一個(gè)水印,可追溯到特定解密盒的所有者。但對(duì)于多個(gè)叛逆者合謀產(chǎn)生的解密盒,該方案無法實(shí)現(xiàn)有效追蹤。隨后,Naor等[34]提出了門限叛逆者追蹤方案,可有效降低存儲(chǔ)代價(jià)與計(jì)算開銷。隨后,研究方向主要集中于基于公鑰的叛逆者追蹤,大量基于公鑰的叛逆者追蹤方案也相繼被提出[35-42]。 Pfitzmann[35]在1996年首次提出了基于公鑰的叛逆者追蹤方案,指出在對(duì)稱叛逆者追蹤加密體制中存在不滿足不可抵賴性的問題,這與對(duì)稱的消息認(rèn)證碼類似,不提供不可抵賴性,也稱為不可否認(rèn)性。系統(tǒng)權(quán)威機(jī)構(gòu)與訂閱用戶共享密鑰,惡意的權(quán)威機(jī)構(gòu)可能利用用戶的密鑰生成盜版解密盒,并且將誠(chéng)實(shí)的用戶控告為叛逆者。而非對(duì)稱的叛逆者追蹤方案可避免該問題。文獻(xiàn)[35]中利用交互式的密鑰分發(fā)協(xié)議實(shí)現(xiàn)叛逆者追蹤廣播加密方案。 Boneh等[43]指出文獻(xiàn)[34,36]中的方案僅能夠?qū)崿F(xiàn)概率性的叛逆者追蹤,提出了改進(jìn)版的公鑰叛逆者追蹤方案,能夠?qū)崿F(xiàn)確定性追蹤且滿足k-抗共謀攻擊,即當(dāng)發(fā)起共謀的惡意用戶(叛逆者)個(gè)數(shù)不超過k時(shí),至少可以有效識(shí)別出其中一個(gè)叛逆者,若個(gè)數(shù)超過k,則不能有效追蹤。該方案同樣具有黑盒追蹤性(無需打開解密盒)。 2008年,Boneh等[44]提出了定長(zhǎng)密文的叛逆者追蹤方案,密文僅由兩個(gè)群元素組成,可滿足t-抗共謀攻擊。與文獻(xiàn)[43]的k-抗共謀攻擊不同的是,t-抗共謀攻擊中允許叛逆者數(shù)量t和接收者數(shù)量n相等。在文獻(xiàn)[44]中t=n時(shí),滿足完全抗共謀攻擊,且不會(huì)增加密文大小。但該方案的私鑰長(zhǎng)度過大,私鑰復(fù)雜度為O(t2logn)。 文獻(xiàn)[40-41]中的方案均利用復(fù)合階(composite order)雙線性群提出,然而復(fù)合階雙線性群存在針對(duì)模數(shù)因式分解的亞指數(shù)攻擊。為保證安全性,必須使用階數(shù)較大的復(fù)合階群。Garg等[45]指出利用復(fù)合階雙線性群效率較低,與素?cái)?shù)階雙線性群相比,在相同的安全級(jí)別下,復(fù)合階雙線性群中的指數(shù)運(yùn)算時(shí)間是素?cái)?shù)階雙線性群中的25倍,在很多實(shí)際應(yīng)用場(chǎng)景不便于使用。Garg基于素?cái)?shù)階雙線性群首次提出了完全抗共謀攻擊的叛逆者追蹤方案,與文獻(xiàn)[43]相比,該方案的加解密效率有大幅提升,且密文長(zhǎng)度更短。 文獻(xiàn)[42]利用多項(xiàng)式插值技術(shù)提出一種具有撤銷能力的公鑰叛逆者追蹤方案,方案滿足黑盒追蹤性。若出現(xiàn)盜版解密盒,可追蹤并撤銷門限值為z的用戶私鑰,而無需更新其他用戶的私鑰,并可以恢復(fù)已撤銷用戶私鑰的解密權(quán)限。該方案還滿足k-彈性追蹤,如果叛逆者的數(shù)量為k或更少,跟蹤算法可以找到所有叛逆者。由于該方案代表性較強(qiáng),此后眾多叛逆者追蹤且可撤銷方案均是基于該方案的構(gòu)造技巧,這里給出文獻(xiàn)[42]的具體構(gòu)造: 令k為最大叛逆者數(shù)量,z為可撤銷的叛逆者數(shù)量門限值,并設(shè)2k-1≤z。 (3)Encryption:輸入待加密廣播消息M,數(shù)據(jù)提供商隨機(jī)選取z個(gè)未使用過的二元份額組(j1,f(j1)),(j2,f(j2)),…,(jz,f(jz))和一次性隨機(jī)數(shù)r∈q,接著計(jì)算聯(lián)合授權(quán)分組 T=(sgra0,gr,(j1,grf(j1)),(j2,grf(j2)),…,(jz,grf(jz))), 其中,s是加密廣播數(shù)據(jù)的會(huì)話密鑰。數(shù)據(jù)提供商將廣播密文設(shè)為E(f(x),M)=(T,E′(s,M)),其中,E()為分組加密算法,例如DES算法。 (4)Decryption:訂閱者獲取到廣播密文(T,E′(s,M)),可利用密文中的T按照如下方式計(jì)算會(huì)話密鑰s, (5)Traitor tracing:假設(shè)可能存在m個(gè)訂閱者{c1,c2,…,cm}(m≤k),利用其份額構(gòu)造了盜版解密盒,為確定這m個(gè)用戶是否確定為叛逆者。數(shù)據(jù)提供商可按如下步驟操作:數(shù)據(jù)提供商隨機(jī)選取z-m個(gè)未使用的份額,如{j1,…,jz-m},利用測(cè)試消息M構(gòu)造測(cè)試密文E(f(x),M)=(T,E′(s,M)),其中 T=(sgra0,gr,(c1,grf(c1)),(c2,grf(c2)),…,(cm,grf(cm)),(j1,grf(j1)),(j2,grf(j2))…,(jz-m,grf(jz-m))), 將(T,E′(s,M))作為盜版解密盒的輸入,若該解密盒無法正確解密輸出測(cè)試消息M,則{c1,c2,…,cm}中存在叛逆者。接著,可縮小集合范圍或?qū)蟵c1,c2,…,cm}的標(biāo)識(shí)元素單獨(dú)運(yùn)行上述算法,以精確求得叛逆者集合。 僅實(shí)現(xiàn)叛逆者追蹤性質(zhì)并不能完全滿足應(yīng)用的需求。一個(gè)健壯的廣播加密系統(tǒng)需滿足追蹤并撤銷功能,當(dāng)出現(xiàn)非法解密設(shè)備時(shí),應(yīng)確保在第一時(shí)間追蹤到該非法設(shè)備所使用密鑰的來源并撤銷密鑰擁有者的解密能力,使撤銷用戶不再能夠解密密文。 在將一個(gè)廣播加密系統(tǒng)部署到付費(fèi)電視等實(shí)際應(yīng)用中時(shí),可能存在如下問題:①用戶的私鑰可能泄露、丟失;②用戶因退訂服務(wù)退出廣播加密系統(tǒng)等;③用戶主動(dòng)離開廣播加密系統(tǒng)等。為保證數(shù)據(jù)機(jī)密性,廣播加密系統(tǒng)需保證上述用戶不再具有解密權(quán)限。用于解決該問題的廣播加密稱為接收者可撤銷廣播加密(Recipient Revocable Identity-Based Broadcast Encryption,RR-IBBE)。 文獻(xiàn)[46]給出的標(biāo)識(shí)可撤銷廣播加密的定義與標(biāo)識(shí)廣播加密的定義類似,區(qū)別在于前者在加密階段輸入為撤銷用戶的標(biāo)識(shí)集合,而后者在加密階段輸入為授權(quán)接收者用戶的標(biāo)識(shí)集合。 在Susilo等[47]提出的方案中,撤銷方式同樣為利用接收者標(biāo)識(shí)集合撤銷,該方案在加密階段輸入的集合為當(dāng)前已授權(quán)用戶的標(biāo)識(shí)集合S,撤銷階段輸入撤銷標(biāo)識(shí)集合R,則解密階段只有S′=S-R中的用戶可正確解密。 Naor等[48]利用子集-覆蓋方法提供了一種經(jīng)典的追蹤可撤銷的廣播加密構(gòu)造方法。子集‐覆蓋算法為每個(gè)不相交的劃分集合分配一個(gè)長(zhǎng)期密鑰,并為每個(gè)子集加密短期密鑰,用短期密鑰加密需要廣播的消息。文獻(xiàn)[48]分別利用完全生成子樹和子集差分給出了2種方案的構(gòu)造。當(dāng)加密者為一些授權(quán)用戶集合S?{1,2,…,N}提供廣播密文時(shí),若存在一個(gè)盜版者利用合謀用戶T?{1,2,…,N}的一組私鑰構(gòu)造了一個(gè)盜版解密盒D,那么,跟蹤算法可以與D進(jìn)行交互,并識(shí)別追蹤到盜版者擁有的一個(gè)活動(dòng)密鑰,即其中一個(gè)用戶的密鑰t∈S∩T。廣播者將授權(quán)用戶集合S′設(shè)置為S′←S{t},再進(jìn)行廣播,其中,S{t}表示刪除集合S中的t元素。如果盜版解密盒依舊可以解密,再次運(yùn)行跟蹤算法并得到另一個(gè)參與共謀的密鑰t′∈S′∩T,將授權(quán)用戶集合S″設(shè)置為S″←S′{t′}。按照此方法進(jìn)行下去,直到盜版解密盒無法解密。 Boneh等[40]提出了增強(qiáng)廣播加密(Augmented Broadcast Encryption,ABE)的概念,并給出了可同時(shí)滿足叛逆者追蹤并撤銷、完全抗合謀性、黑盒追蹤性的方案構(gòu)造,方案具有亞線性大小的密文和私鑰,且可抵抗自適應(yīng)選擇明文攻擊的敵手。 文獻(xiàn)[45]提出了兩個(gè)具有短密鑰的可撤銷廣播加密方案,方案的密文開銷均為O(r),其中,r為被撤銷的用戶數(shù)量。公鑰和私鑰的大小為素?cái)?shù)階橢圓曲線群中的定長(zhǎng)群元素,公鑰的長(zhǎng)度分別為5個(gè)和12個(gè)群元素,私鑰長(zhǎng)度分別為3個(gè)和5個(gè)群元素。與文獻(xiàn)[5,7,9]中的方案不同,該方案允許用戶創(chuàng)建一個(gè)可以撤銷無限數(shù)量用戶的廣播密文。而在其他系統(tǒng)中,公共參數(shù)限制了系統(tǒng)中的可撤銷用戶數(shù)量,必須更新系統(tǒng)公共參數(shù)才能支持撤銷更多用戶。 譚作文等[49]在2005年提出一種完全式的公鑰廣播加密方案,與傳統(tǒng)的公鑰廣播加密方案不同,在完全式廣播加密方案中,由用戶自己生成解密密鑰,而傳統(tǒng)公鑰廣播加密中用戶的解密密鑰由廣播者分發(fā)。文獻(xiàn)[49]還實(shí)現(xiàn)了叛逆者追蹤和非法用戶撤銷的功能,該方案在DDH困難假設(shè)下可抵抗選擇密文攻擊。 文獻(xiàn)[47]首次提出接收者可撤銷的廣播加密,在RR-IBBE中,數(shù)據(jù)提供商將生成的密文內(nèi)容發(fā)送給受信任的第三方,即廣播公司。廣播公司會(huì)周期性的向訂閱者廣播內(nèi)容,也可以從加密內(nèi)容中撤銷一組用戶,而無需對(duì)其進(jìn)行解密。在文獻(xiàn)[47]提出的方案中,首先發(fā)送給廣播公司長(zhǎng)度為m+3個(gè)群元素的廣播密文,其中,m為一次加密中最大撤銷用戶數(shù)量,廣播公司執(zhí)行撤銷算法后生成長(zhǎng)度為3個(gè)群元素的廣播密文發(fā)送給訂閱者。 Lai等[31]基于文件共享的應(yīng)用場(chǎng)景提出了匿名標(biāo)識(shí)可撤銷廣播加密方案,該方案適用于:數(shù)據(jù)擁有者將文件加密后存儲(chǔ)于云服務(wù)器中共享,當(dāng)一個(gè)用戶集合R中的用戶離開公司后,該服務(wù)器必須撤銷R中用戶的訪問權(quán)限。撤銷算法執(zhí)行后,集合R中用戶將不能再利用自己的私鑰解密文件。文獻(xiàn)[31]提出的方案具有恒定大小的公鑰和私鑰,撤銷階段的計(jì)算開銷為O(r),其中,r為撤銷用戶的數(shù)量。 Ge等[50]從密鑰更新的角度出發(fā),實(shí)現(xiàn)了可撤銷廣播加密。文獻(xiàn)[50]基于二叉樹結(jié)構(gòu)和素?cái)?shù)階雙線性群的非對(duì)稱配對(duì),提出了可撤銷IBBE的具體方案。在該方案中,KGC定期發(fā)布一些更新密鑰所需的元素,只有未撤銷的用戶才能更新其解密密鑰,已撤銷用戶無法更新密鑰。在標(biāo)準(zhǔn)模型中,選擇明文攻擊下,該方案被證明是半自適應(yīng)安全的,且實(shí)現(xiàn)了固定長(zhǎng)度的密文。 文獻(xiàn)[46]的方案采用了新型的秘密分享技術(shù),將秘密份額si和撤銷用戶標(biāo)識(shí)IDi一同嵌入到密文中,使得已撤銷用戶無法解密密文。該方案的構(gòu)造技巧后來被廣泛應(yīng)用于屬性基加密方案構(gòu)造中[51-52]。該方案代表性較強(qiáng),其方案構(gòu)造具體描述如下: (1)Setup:定義階為素?cái)?shù)p的雙線性群G,隨機(jī)選取G中2個(gè)生成元g,h∈G和中兩個(gè)隨機(jī)數(shù)α,b∈p將公鑰設(shè)為PK=(g,gb,gb2,hb,e(g,g)α),系統(tǒng)私鑰為MSK=(α,b)。 (2)KeyGen(MSK,ID):首先隨機(jī)選取t∈p,依次計(jì)算D0=gαgb2t,D1=(gb·IDh)t,D2=g-t,將私鑰設(shè)為SKID=(D0,D1,D2)。 (3)Encrypt(PK,M,S):隨機(jī)選取s∈p,令r=|S|,即撤銷用戶數(shù)量。隨機(jī)選取r個(gè)隨機(jī)數(shù)s1,…,sr使得s=s1+…+sr。令I(lǐng)Di表示撤銷集合S中的第i個(gè)身份。接著計(jì)算C′=e(g,g)αsM,C0=gs。對(duì)于任意i=1,2,…,r,計(jì)算 Ci,1=gb,si,Ci,2=(gb2·IDi·hb)si, 密文為CT=(C′,C0,(C1,1,C1,2),…,(Cr,1,Cr,2))。 (4)Decrypt(S,CT,ID,SKID):輸入撤銷用戶身份集合S、密文CT、用戶的身份ID和用戶私鑰SKID,若用戶身份在撤銷集合內(nèi),則解密算法終止解密。否則,解密算法計(jì)算 正確性分析: W=e(C0,D0)/ e(gs,gαgb2t)/ e(gs,gα)·e(gs,gb2t)/ e(gs,gα)·e(gs,gb2t)/ e(gs,gα)·e(gs,gb2t)/ e(gs,gα)。 廣播加密可提供一對(duì)多場(chǎng)景下數(shù)據(jù)安全共享的功能,適用于互聯(lián)網(wǎng)以及物聯(lián)網(wǎng)中眾多場(chǎng)景,如: (1)車載自組織網(wǎng)絡(luò)的安全通信 車載自組織網(wǎng)絡(luò)(Vehicular Ad Hoc Networks,VANETs)也稱車聯(lián)網(wǎng),通過車載智能設(shè)備可實(shí)現(xiàn)云端服務(wù)通訊與本地總線通訊,以及通過手機(jī)應(yīng)用對(duì)車輛進(jìn)行遠(yuǎn)程控制,目前已經(jīng)成為通信領(lǐng)域和無線傳感網(wǎng)領(lǐng)域的一個(gè)研究熱點(diǎn)。VANETs中的信息傳播離不開車輛和基礎(chǔ)設(shè)施的交互。在VANETs中,可信機(jī)構(gòu)(Trust Authority,TA)通常需要與多臺(tái)車輛建立安全連接,并發(fā)揮重要作用。然而,當(dāng)TA向多臺(tái)車輛發(fā)送相同的消息時(shí),會(huì)產(chǎn)生較多的冗余信息,因?yàn)門A需要與每臺(tái)車輛協(xié)商并向每個(gè)車輛發(fā)送不同的密文。目前,VANETs采用的大多為點(diǎn)對(duì)點(diǎn)的通信方式,通信效率較低。因此,廣播加密是VANETs通信中的重要研究方向。文獻(xiàn)[53]針對(duì)車聯(lián)網(wǎng)場(chǎng)景,提出了一種身份基廣播加密方案,適用于車輛到基礎(chǔ)設(shè)施間的通信。 (2)云存儲(chǔ)的訪問控制 云存儲(chǔ)的訪問控制是公鑰廣播加密另一個(gè)重要的研究方向。隨著社交媒體的不斷發(fā)展,眾多基于云存儲(chǔ)的社交網(wǎng)絡(luò)應(yīng)用被廣泛使用,如抖音、微信和微博等。用戶使用這些應(yīng)用會(huì)產(chǎn)生大量數(shù)據(jù)。具體而言,通過社交網(wǎng)絡(luò)應(yīng)用,用戶可獲取網(wǎng)絡(luò)熱點(diǎn)新聞,也可以建立朋友群組,以分享個(gè)人觀點(diǎn)或個(gè)人內(nèi)容,如照片、視頻、文件等。社交應(yīng)用通常會(huì)產(chǎn)生大量的敏感數(shù)據(jù)。一方面,個(gè)人終端設(shè)備的計(jì)算能力和存儲(chǔ)空間通常是有限的,使用一段時(shí)間后不得不將一些敏感數(shù)據(jù)刪掉;另一方面,對(duì)于大多數(shù)維持這些應(yīng)用運(yùn)行的中小企業(yè)來說,隨著用戶規(guī)模的快速增長(zhǎng),企業(yè)也無力承擔(dān)相應(yīng)的計(jì)算和存儲(chǔ)成本。因此,云計(jì)算和云存儲(chǔ)服務(wù)應(yīng)運(yùn)而生,使得計(jì)算資源和存儲(chǔ)資源像水、電一樣利用。企業(yè)用戶可以向云計(jì)算廠商租用計(jì)算資源和存儲(chǔ)資源,既可以將大部分計(jì)算任務(wù)外包給云計(jì)算服務(wù)器,也可以將大量數(shù)據(jù)存儲(chǔ)于云存儲(chǔ)服務(wù)器。 近年來,企業(yè)和個(gè)人用戶越來越依賴云存儲(chǔ)服務(wù),云存儲(chǔ)服務(wù)技術(shù)發(fā)展也逐漸成熟,既有商業(yè)級(jí)的云存儲(chǔ)服務(wù),如亞馬遜S3、Egnyte、和Tresorit等,也有消費(fèi)級(jí)的云存儲(chǔ)服務(wù),如Google Drive、iCloud、微軟OneDrive、Dropbox等。然而,對(duì)于云存儲(chǔ)服務(wù),需要解決隱私保護(hù)問題,即如何確保存儲(chǔ)在云中的照片和視頻等用戶個(gè)人數(shù)據(jù)只能由數(shù)據(jù)所有者授權(quán)的用戶訪問,而所有未經(jīng)授權(quán)的用戶,包括云存儲(chǔ)提供商本身,都不能訪問或恢復(fù)原始的個(gè)人數(shù)據(jù)。因此,針對(duì)上述應(yīng)用場(chǎng)景,提出一種高效安全、低帶寬需求的公鑰廣播加密方案是十分有意義且可行的。文獻(xiàn)[54]針對(duì)云存儲(chǔ)文件共享場(chǎng)景進(jìn)行了研究,提出了功能廣播加密(Functional Broadcast Encryption,FBE)的概念,這是帶訪問控制的公鑰加密的一種表現(xiàn)形式,用于云數(shù)據(jù)的訪問控制。文獻(xiàn)[55]也對(duì)廣播加密在云存儲(chǔ)的應(yīng)用進(jìn)行了研究,提出了自適應(yīng)安全的基于證書的廣播加密。 (3)在物聯(lián)網(wǎng)的應(yīng)用 物聯(lián)網(wǎng)目前與人們的工作和生活息息相關(guān),海量物聯(lián)網(wǎng)設(shè)備紛紛接入到互聯(lián)網(wǎng)中,從智能手表到安全門鎖,物聯(lián)網(wǎng)技術(shù)已經(jīng)成為人們生活中不可缺少的一部分。然而,物聯(lián)網(wǎng)安全并沒有得到足夠重視,安全事件頻發(fā),全球近20%的企業(yè)和相關(guān)機(jī)構(gòu)在過去3年遭遇物聯(lián)網(wǎng)攻擊。例如在2021年,美國(guó)的15萬個(gè)攝像頭被入侵造成個(gè)人隱私泄露,以及利用攝像頭組成僵尸網(wǎng)絡(luò)發(fā)起的分布式拒絕服務(wù)攻擊(Distributed Denial-Of-Service,DDOS)攻擊等。因此,物聯(lián)網(wǎng)的安全問題亟待解決。隨著物聯(lián)網(wǎng)的大規(guī)模部署,為確保整個(gè)網(wǎng)絡(luò)的安全,需及時(shí)進(jìn)行設(shè)備更新以修復(fù)高危安全漏洞。文獻(xiàn)[56]提出一種適用于物聯(lián)網(wǎng)中組密鑰管理的多變量廣播加密方案,可有效減少功耗,并提高物聯(lián)網(wǎng)數(shù)據(jù)傳輸?shù)陌踩?。一種利用區(qū)塊鏈技術(shù)提供軟件更新的機(jī)制在文獻(xiàn)[57]中得到研究,一旦更新作為有效區(qū)塊的一部分添加到區(qū)塊鏈中,那么該區(qū)塊就不可刪除,可抵抗阻止物聯(lián)網(wǎng)設(shè)備更新的惡意實(shí)體發(fā)起的攻擊,確保了更新的可用性。同時(shí),還可抵抗針對(duì)中心化結(jié)構(gòu)的拒絕服務(wù)攻擊。對(duì)于區(qū)塊鏈基礎(chǔ)設(shè)施向物聯(lián)網(wǎng)設(shè)備共享升級(jí)文件、網(wǎng)絡(luò)配置文件等通信環(huán)節(jié),均可采用廣播加密技術(shù)實(shí)現(xiàn)。 (4)基于格密碼的廣播加密 目前,大多數(shù)公鑰加密方案的設(shè)計(jì)通常基于數(shù)學(xué)困難問題,隨著量子技術(shù)的飛速發(fā)展,現(xiàn)有公鑰密碼算法在量子計(jì)算下將不再安全,量子計(jì)算機(jī)的出現(xiàn)可能會(huì)威脅到基于數(shù)學(xué)困難問題的密碼體制。目前,實(shí)用化的密碼體制仍是基于數(shù)學(xué)困難問題的公鑰密碼。格密碼作為抗量子密碼算法,是公認(rèn)的后量子密碼領(lǐng)域中最熱門的研究方向之一。近年來,學(xué)者們已經(jīng)逐步開始研究抗量子廣播加密,提出了一些優(yōu)秀的基于格的廣播加密方案[58-60],基于格密碼的廣播加密研究也將成為未來較為重要的研究方向之一。 近年來,隨著無線傳感網(wǎng)、智能終端、云計(jì)算等新興應(yīng)用的快速發(fā)展,網(wǎng)絡(luò)形態(tài)逐步呈現(xiàn)出層次化、服務(wù)化等特點(diǎn)。面向服務(wù)的計(jì)算通常采用資源共享的工作方式,該工作方式的特點(diǎn)為多個(gè)用戶請(qǐng)求同一個(gè)數(shù)據(jù)。企業(yè)或個(gè)人的數(shù)據(jù)上云首要解決的問題就是數(shù)據(jù)安全與隱私保護(hù)。廣播加密為一對(duì)多場(chǎng)景下數(shù)據(jù)安全且高效的共享提供了解決方案,在物聯(lián)網(wǎng)、云存儲(chǔ)的訪問控制等應(yīng)用中得到廣泛使用。 本文介紹了公鑰廣播加密的概念、定義以及安全模型,針對(duì)不同應(yīng)用場(chǎng)景的安全需求,詳細(xì)論述了公鑰廣播加密、標(biāo)識(shí)廣播加密、匿名廣播加密、叛逆者追蹤廣播加密以及可撤銷廣播加密的原理、特征及研究成果。 雖然目前已經(jīng)存在大量公鑰廣播加密研究的文獻(xiàn),但大多圍繞國(guó)外算法展開,基于國(guó)產(chǎn)密碼的廣播加密算法及其衍生的功能型算法較少。因此,設(shè)計(jì)安全高效的具有不同功能的國(guó)產(chǎn)公鑰廣播加密算法可作為未來的研究方向之一。此外,目前基于格的廣播加密研究較少,也將成為未來的研究熱點(diǎn)。2 標(biāo)識(shí)廣播加密
2.1 標(biāo)識(shí)廣播加密定義
2.2 安全模型
2.3 標(biāo)識(shí)廣播加密研究現(xiàn)狀
2.4 典型方案回顧
3 匿名廣播加密
3.1 匿名廣播加密定義
3.2 匿名廣播加密安全模型
3.3 相關(guān)工作
3.4 典型方案回顧
4 叛逆者追蹤廣播加密
4.1 叛逆者追蹤廣播加密定義
4.2 叛逆者追蹤廣播研究現(xiàn)狀
4.3 典型方案回顧
5 可撤銷廣播加密
5.1 可撤銷廣播加密定義
5.2 可撤銷廣播加密的研究現(xiàn)狀
5.3 典型方案回顧
6 公鑰廣播加密的應(yīng)用研究
7 結(jié)論與展望