徐寧,楊庚
(1. 南京郵電大學(xué) 光電工程學(xué)院,江蘇 南京 210003;2. 南京郵電大學(xué) 寬帶無(wú)線通信與傳感網(wǎng)技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,江蘇 南京210003)
近幾年來(lái),作為信息安全研究的一個(gè)分支,一種基于光學(xué)原理與技術(shù)的非數(shù)學(xué)密碼理論與技術(shù)顯示出了極大的潛力,已成為當(dāng)前研究的熱點(diǎn)之一[1~8]??刹⑿袑?shí)現(xiàn)數(shù)據(jù)處理是光學(xué)系統(tǒng)中所固有的能力,由于光學(xué)信息處理技術(shù)本身還具有高速度、光的波長(zhǎng)短、信息容量大等特點(diǎn),同時(shí)又具有振幅、相位、波長(zhǎng)、偏振等多種屬性,是一種多維的信息載體,從而也為光學(xué)加密系統(tǒng)的密鑰空間提供了更為寬廣的選擇,使其具有更高的安全性。另一方面,近來(lái)物聯(lián)網(wǎng)技術(shù)的發(fā)展,進(jìn)一步推動(dòng)了基于RFID和光學(xué)標(biāo)簽的應(yīng)用,如無(wú)源二維碼,可以將信息編碼到二維碼中,再對(duì)其進(jìn)行加密。目前,一個(gè)二維碼的信息容量可達(dá)到1 850個(gè)大寫(xiě)字母,或500多個(gè)漢字。條碼也可以把圖片、聲音、文字、簽字、指紋等可以數(shù)字化的信息進(jìn)行編碼,目前即使在二維條碼因穿孔、污損等損毀面積達(dá)50%情況下,照樣可以恢復(fù)信息,獲取正確的信息。二維條碼可以使用激光或 CCD閱讀器識(shí)讀。在商品標(biāo)簽、票據(jù)等方面已經(jīng)得到了廣泛的應(yīng)用。特別是火車(chē)票上的二維碼可含有個(gè)人的身份證號(hào)等信息,需要進(jìn)行加密等處理,以達(dá)到保護(hù)個(gè)人隱私的目的。
從密碼學(xué)觀點(diǎn)來(lái)看,目前國(guó)內(nèi)外對(duì)光學(xué)加密方法的研究還局限于對(duì)稱(chēng)密鑰系統(tǒng),即在加密解密過(guò)程中采用同樣的光學(xué)參數(shù)進(jìn)行運(yùn)算。這種密碼系統(tǒng)由于密鑰的分發(fā)、更新、刪除、傳輸?shù)裙芾韱?wèn)題需要進(jìn)一步研究解決,使其實(shí)際應(yīng)用受到了影響。而非對(duì)稱(chēng)密鑰系統(tǒng)采用一對(duì)公、私密鑰的思路,用戶(hù)保存自己的私鑰,公鑰對(duì)外公布公開(kāi)。非對(duì)稱(chēng)密鑰系統(tǒng)在密鑰的管理方面顯示了良好的適應(yīng)性,但與對(duì)稱(chēng)密鑰系統(tǒng)相比,在加密和解密算法的復(fù)雜性方面仍然有差距,加密解密時(shí)間長(zhǎng)。為此,文獻(xiàn)[9]將公開(kāi)密鑰系統(tǒng)的算法應(yīng)用于雙相位隨機(jī)編碼的光學(xué)數(shù)據(jù)加密方案中,解決了加密中對(duì)稱(chēng)密鑰的傳輸問(wèn)題,但在方法的可應(yīng)用性方面仍需要完善。文獻(xiàn)[4]從認(rèn)證、加密等多角度分析了光學(xué)信息安全問(wèn)題,提出了一種基于公鑰密碼學(xué)的混合密鑰加密系統(tǒng),并加入認(rèn)證技術(shù)構(gòu)建了一個(gè)網(wǎng)絡(luò)環(huán)境下的虛擬光學(xué)信息安全系統(tǒng)模型。
與非對(duì)稱(chēng)密鑰相比,對(duì)稱(chēng)密鑰的最大優(yōu)點(diǎn)是計(jì)算量小。但是其明顯的缺點(diǎn)是必須有一個(gè)密鑰預(yù)分配過(guò)程,即要通過(guò)一個(gè)安全途徑將對(duì)稱(chēng)密鑰傳送給用戶(hù),并能安全有效地進(jìn)行密鑰的更新,以及用戶(hù)的增加和離。所以,人們一直在試圖尋求非對(duì)稱(chēng)密鑰系統(tǒng)在虛擬光學(xué)密鑰系統(tǒng)中的應(yīng)用。
作為一種非對(duì)稱(chēng)密鑰系統(tǒng),基于身份標(biāo)識(shí)的加密(IBE, identity-based encryption)算法于1984年首先提出[10],但直到 2001年研究人員才設(shè)計(jì)出一個(gè)可實(shí)際應(yīng)用的實(shí)現(xiàn)方法[11]。這種加密算法的優(yōu)點(diǎn)之一是,公鑰可以是任何唯一的字符串,如身份證號(hào)、E-mail地址、標(biāo)簽的標(biāo)枳、IP地址等。由于通??梢允惯@個(gè)標(biāo)識(shí)具有一定的含義,是可識(shí)別的,從而不需要PKI系統(tǒng)的證書(shū)發(fā)放,就省去了對(duì)用戶(hù)的認(rèn)證過(guò)程。另一方面,IBE算法可以采用橢圓曲線形式實(shí)現(xiàn),在 2001年可實(shí)現(xiàn)算法提出后,引起了人們的高度重視,根據(jù)不同的應(yīng)用方向,相繼提出了一些列基于身份標(biāo)識(shí)的加密算法[12~14]。
由于身份標(biāo)識(shí)的加密算法可以是橢圓曲線類(lèi)型的算法,在安全性和密鑰分配等管理方面顯示出一些良好的特點(diǎn)。同時(shí)諸如光學(xué)標(biāo)簽的身份標(biāo)識(shí)性,使探索IBE算法在虛擬光學(xué)加密系統(tǒng)中的應(yīng)用顯得具有重要的意義和可能性,這也是本文的研究出發(fā)點(diǎn)。本文將首先介紹光學(xué)加密系統(tǒng)和IBE加密機(jī)制的基本概念和算法;然后提出一種基于IBE的光學(xué)加密系統(tǒng)的密鑰管理方法,設(shè)計(jì)相關(guān)的算法,包括密鑰的分配、更新、刪除等算法,以及用戶(hù)的加入和退出過(guò)程中的密鑰管理問(wèn)題,以保證密鑰系統(tǒng)的前向和后向安全性,同時(shí)從內(nèi)存需求、算法復(fù)雜性和安全等方面分析了方法的性能;最后通過(guò)對(duì)二維碼等實(shí)際光學(xué)標(biāo)簽的應(yīng)用,驗(yàn)證方法的正確性和有效性,并討論了可進(jìn)一步研究的工作。
本節(jié)主要簡(jiǎn)要介紹IBE算法。在IBE算法中,公鑰是用戶(hù)的身份標(biāo)識(shí),密鑰的生成與傳送需要由可信第三方完成,記可信第三方為PKG(private key generator)。下面給出文獻(xiàn)[11]中的IBE算法。
1) 安全假設(shè)
IBE加密算法的數(shù)學(xué)基礎(chǔ)是可計(jì)算 Diffie-Hellman問(wèn)題的一個(gè)變化形式,其安全性是建立在雙線性 Diffie-Hellman困難問(wèn)題的之上一,即Bilinear-Diffie-Hellman(BDH)問(wèn)題。IBE實(shí)現(xiàn)算法的核心是采用了超奇異橢圓曲線上的一個(gè)雙線性映射(如Weil pairing)。記Zq為q階的加法群,Zq={0, …,q-1},q為素?cái)?shù),Z+為正整數(shù)集合。
設(shè)G1和G2為q階的群,則雙線性映射滿(mǎn)足如下性質(zhì):
③可計(jì)算性(computable):對(duì)于任意有一個(gè)多項(xiàng)式時(shí)間算法來(lái)計(jì)算>。則BDH問(wèn)題可以描述為,設(shè)P是1G的生成元。已知,計(jì)算稱(chēng)為中的BDH問(wèn)題。
2) Boneh-Franklin IBE 算法
算法有2種實(shí)現(xiàn)形式,一種是包含4個(gè)散列函數(shù)的完全算法,另一個(gè)是只包含2個(gè)散列函數(shù)的基本算法,這里主要敘述基本的 Boneh-Franklin IBE算法,它由 4個(gè)函數(shù):Setup、Extract、Encrypt和Decrypt組成,分別完成IBE算法中的參數(shù)建立、密鑰提取、加密和解密的功能。設(shè)消息的明文空間為M= { 0,1}n,密文空間為C=G1× { 0,1}n。
算法1 基本Boneh-Franklin (BBF) 算法。
1) Setup的步驟如下。
步驟1 給定安全參數(shù)k∈Z+,PKG選擇kbit長(zhǎng)的素?cái)?shù)q,2個(gè)q階群G1和G2,同時(shí)選擇一雙線性映射e? :G1×G1→G2,隨機(jī)選擇G1的生成元P。
2) Extract: 對(duì)給定的身份標(biāo)識(shí)的字符串ID∈{0,1}*,生成密鑰。
3) Encrypt: 對(duì)原文m∈M和公鑰ID,加密步驟如下。
4) Decrypt: 設(shè)密文為c= <U,V> ,解密步驟如下。
應(yīng)用密鑰KID∈E/GF(p),計(jì)算原文
IBE加密算法的安全性建立在 Diffie-Hellman問(wèn)題復(fù)雜性基礎(chǔ)上。文獻(xiàn)[15]的成果表明,BBF算法是單向身份加密算法(one-way identity-based encryption scheme),詳細(xì)的結(jié)論參見(jiàn)文獻(xiàn)[15]。
作為一種非數(shù)學(xué)形式的加密系統(tǒng),基于光學(xué)成像技術(shù)的光學(xué)加密技術(shù)近年來(lái)引起了人們的極大興趣,成為現(xiàn)代加密技術(shù)的重要研究領(lǐng)域。主要的加密技術(shù)有基于菲涅耳變換的加密算法和基于雙隨機(jī)相位編碼方法的加密算法等。光學(xué)加密系統(tǒng)的密鑰空間維數(shù)高,可以從振幅、相位、波長(zhǎng)、偏振等多種屬性入手,使加密信息的安全性更高。但如何在系統(tǒng)中建立密鑰管理機(jī)制仍是需要解決的問(wèn)題,包括密鑰的產(chǎn)生、分配、更新、刪除等過(guò)程。本節(jié)給出一種可應(yīng)用于基于光學(xué)加密技術(shù)的密鑰管理方法,其基本思想是應(yīng)用IBE算法進(jìn)行光學(xué)加密參數(shù)的交換,再應(yīng)用該對(duì)稱(chēng)密鑰進(jìn)行正常的數(shù)據(jù)通信。本方法的優(yōu)點(diǎn)是采用IBE的非對(duì)稱(chēng)系統(tǒng)進(jìn)行參數(shù)交換,采用對(duì)稱(chēng)系統(tǒng)進(jìn)行通信的數(shù)據(jù)加密,充分利用了兩者的優(yōu)點(diǎn);同時(shí)不存儲(chǔ)多余的密鑰,對(duì)內(nèi)存需求小。采用IBE算法交換參數(shù),簡(jiǎn)單安全,不需要認(rèn)證過(guò)程,詳細(xì)的分析將在后面討論。為了便于算法的描述,先給出方法的一般形式,然后在定義其具體的計(jì)算方法。
1) 系統(tǒng)初始化
初始化過(guò)程就是要生成系統(tǒng)的公共參數(shù)ψ以及各個(gè)節(jié)點(diǎn)的非對(duì)稱(chēng)密鑰系統(tǒng)的私鑰,以便為后面的光學(xué)系統(tǒng)的加密參數(shù)提供安全的傳輸途徑。對(duì)一個(gè)存在類(lèi)似于服務(wù)器或PKG的系統(tǒng),由于PKG和用戶(hù)節(jié)點(diǎn)之間可以建立一個(gè)安全的會(huì)話通道,即生成一個(gè)會(huì)話密鑰實(shí)現(xiàn)初始化參數(shù)的安全分發(fā)。而對(duì)光學(xué)標(biāo)簽在傳感網(wǎng)與物聯(lián)網(wǎng)中的應(yīng)用系統(tǒng),由于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的不斷變化,以及有可能系統(tǒng)就不存在類(lèi)似于服務(wù)器或PKG,可以在節(jié)點(diǎn)系統(tǒng)生成階段,將有關(guān)的參數(shù)存入節(jié)點(diǎn),對(duì)節(jié)點(diǎn)進(jìn)行初始化。例如可以以傳感器網(wǎng)絡(luò)的具體使用范圍進(jìn)行節(jié)點(diǎn)公共參數(shù)初始化管理,如物流系統(tǒng)、票務(wù)系統(tǒng)等。系統(tǒng)中的節(jié)點(diǎn)管理系統(tǒng)完成對(duì)節(jié)點(diǎn)的公共參數(shù)初始化,然后供現(xiàn)場(chǎng)實(shí)際使用。系統(tǒng)的主密鑰s只存在于節(jié)點(diǎn)參數(shù)的初始化管理系統(tǒng)中,這樣使通信密鑰系統(tǒng)更為安全。若應(yīng)用系統(tǒng)中需增加新的節(jié)點(diǎn),就用初始化管理系統(tǒng)根據(jù)主密鑰計(jì)算該節(jié)點(diǎn)的密鑰,再對(duì)新節(jié)點(diǎn)進(jìn)行初始化,這樣能很好地解決新增節(jié)點(diǎn)和替換節(jié)點(diǎn)的問(wèn)題。初始化算法在具體的應(yīng)用中只執(zhí)行一次。下面給出系統(tǒng)初始化算法。
算法2 系統(tǒng)初始化算法。
輸入:密鑰空間長(zhǎng)度k,群的階q。
輸出:公共參數(shù)π,各用戶(hù)的密鑰。
步驟 1 生成公共參數(shù): 根據(jù)密鑰長(zhǎng)度k和參數(shù)q,PKG執(zhí)行算法1中的Setup算法,生成公共參數(shù)
步驟2 用戶(hù)密鑰生成KeyGen: 根據(jù)節(jié)點(diǎn)標(biāo)識(shí)ID和公共參數(shù)ψ,PKG執(zhí)行IBE算法中的Extract算法,生成用戶(hù)的通信密鑰KID。采用上面討論的2種方法將參數(shù)ψ,以及通信密鑰分配到相應(yīng)的節(jié)點(diǎn),完成節(jié)點(diǎn)的初始化過(guò)程。
2) 光學(xué)加密系統(tǒng)密鑰參數(shù)對(duì)的生成
在系統(tǒng)初始化過(guò)程后,每個(gè)節(jié)點(diǎn)都生成了與其節(jié)點(diǎn)標(biāo)識(shí)相對(duì)應(yīng)的通信密鑰KID。為了使通信的雙方能夠采用光學(xué)加密系統(tǒng)進(jìn)行傳輸數(shù)據(jù)的加密,必須要將光學(xué)加密參數(shù)安全地傳送到接收方。基于在初始化過(guò)程中建立的非對(duì)稱(chēng)密鑰對(duì),就可以采用基于 IBE的加密算法將光學(xué)加密參數(shù)安全傳送給對(duì)方。
設(shè)數(shù)據(jù)發(fā)送方生成的光學(xué)加密參數(shù)為Θ,如對(duì)典型的基于4f系統(tǒng)的雙隨機(jī)相位編碼方法,參數(shù)Θ包含 2個(gè)相位函數(shù)N(x,y)和B(α,β),以及一個(gè)透鏡的焦距f;對(duì)基于菲涅耳變換的雙隨機(jī)相位編碼,參數(shù)Θ包含2個(gè)相位隨機(jī)函數(shù)R1(x,y)和R2(x,y),以及2個(gè)菲涅耳衍射D1和D2。光學(xué)加密系統(tǒng)可以根據(jù)這些加密參數(shù)設(shè)計(jì)對(duì)具體的數(shù)據(jù)的加密,特別是圖像的加密。因?yàn)樵谶@種情況下,光學(xué)加密系統(tǒng)可以并行運(yùn)行加密、解密過(guò)程,密鑰空間是多維的,在性能上比傳統(tǒng)的加密系統(tǒng)更為優(yōu)越。圖1給出了一個(gè)二維的基于虛擬成像的多維數(shù)據(jù)加密系統(tǒng)的理論模型結(jié)構(gòu)。
該系統(tǒng)是一個(gè)加入了隨機(jī)模板的單透鏡光學(xué)成像系統(tǒng),其中,d0是信息平面(即需要加密的信息)到成像透鏡前表面的距離,di是透鏡后表面到像平面的距離,像平面就是加密后的信息平面,即密文。設(shè)U0(x0,y0)、UL1(ζ,η)、UL2(ζ,η)和Ur(x,y)分別為信息平面、透鏡前表面、透鏡后表面以及隨機(jī)模板的復(fù)振幅。根據(jù)傅里葉光學(xué)原理,光波從信息平面到透鏡前表面的傳播過(guò)程和光波從透鏡后表面到像平面的傳播過(guò)程都可以利用菲涅耳衍射變換來(lái)描述。記Ud0(k,l)為信息平面U0(x0,y0)在衍射距離d0下的菲涅耳衍射,Urd(k, l)為隨機(jī)模板Ur(x,y)在衍射距離d下的菲涅耳衍射。
為了能采用計(jì)算機(jī)仿真手段實(shí)現(xiàn)虛擬光學(xué)加密系統(tǒng),需要對(duì)所有連續(xù)函數(shù)進(jìn)行離散。設(shè)對(duì)正方形的信息平面進(jìn)行等距離劃分,步長(zhǎng)分別為 Δx和Δy,劃分?jǐn)?shù)為N。首先對(duì)信息平面U0(x0,y0)進(jìn)行N×N的離散采樣,得到菲涅耳變換的離散表達(dá)形式,記為離散菲涅耳變換(DFD, discrete Fresnel diffraction),則信息平面U0(x0,y0)的DFD如式(1)所示,即
其中,λ為波長(zhǎng),k,l,m,n=0, 1, …,N-1。
采用同樣的離散處理方法對(duì)透鏡的復(fù)振幅透過(guò)率函數(shù)進(jìn)行離散計(jì)算,得到其離散形式:
其中,f為透鏡焦距,波數(shù)K=2π/λ。
在加密過(guò)程中,可以用 DFD分別計(jì)算信息平面到透鏡前表面的衍射和隨機(jī)模板到透鏡前表面的衍射,衍射距離分別為d0和d,其中,d=d1+d2。它們?cè)谕哥R前表面就產(chǎn)生了有干涉的菲涅耳衍射圖,干涉圖又經(jīng)透鏡的復(fù)振幅透過(guò)率函數(shù)的轉(zhuǎn)換到達(dá)透鏡的后表面。而密文就是成像透鏡后表面的復(fù)振幅分布UL2,加密過(guò)程可以簡(jiǎn)單地用式(3)描述。
圖1 虛擬光學(xué)加密系統(tǒng)的理論模型結(jié)構(gòu)
解密過(guò)程為上述加密過(guò)程的逆運(yùn)算過(guò)程,事實(shí)上,有:其中,IDFD為逆菲涅耳變換。
從解密過(guò)程可以看出,要想完全解密出原信息,除了隨機(jī)模板外,還需要知道4個(gè)參數(shù),即d0、d、f、λ,這些密鑰參數(shù)需要從發(fā)送端安全傳送到接收端。下面的算法給出了這些參數(shù)具體的傳輸過(guò)程。
算法3 加密/解密參數(shù)傳輸算法。
輸入:發(fā)送端選擇的光學(xué)加密參數(shù)Θ,接收端標(biāo)識(shí)IDr
輸出:接收端獲取光學(xué)加密參數(shù)Θ。
步驟 1 加密光學(xué)參數(shù):根據(jù)接收端的標(biāo)識(shí)IDr,執(zhí)行算法1中的Encrypt算法,其輸入為光學(xué)加密參數(shù)Θ和接收端標(biāo)識(shí)IDr,生成加密密文c,并發(fā)送給接收端。
步驟 2 獲取光學(xué)參數(shù):接收端獲取密文c,執(zhí)行算法1中的Decrypt算法,解密得到光學(xué)加密參數(shù)Θ。
3) 新加入用戶(hù)的密鑰生成
一個(gè)完整的密鑰管理系統(tǒng)應(yīng)該包含對(duì)新用戶(hù)加入的密鑰生成算法,以實(shí)現(xiàn)系統(tǒng)的可擴(kuò)展性。設(shè)新用戶(hù)的標(biāo)識(shí)為IDn,基于IBE算法,算法4為新用戶(hù)生成非對(duì)稱(chēng)密鑰系統(tǒng)的私鑰,使新用戶(hù)在該密鑰的基礎(chǔ)上獲取光學(xué)加密參數(shù),或其他機(jī)密信息。具體算法如下。
算法4 新用戶(hù)密鑰分配算法。
輸入:新用戶(hù)標(biāo)識(shí)IDn。
輸出:新用戶(hù)的密鑰。
步驟1 新用戶(hù)向PKG發(fā)送加入請(qǐng)求,并發(fā)送標(biāo)識(shí)IDn。
步驟 2 PKG執(zhí)行算法 2中密鑰生成算法KeyGen,新用戶(hù)IDn獲得非對(duì)稱(chēng)密鑰系統(tǒng)的私鑰,將用于光學(xué)參數(shù)的傳輸?shù)取?/p>
4) 密鑰更新
為了系統(tǒng)的安全,密鑰管理系統(tǒng)有時(shí)需要對(duì)系統(tǒng)的密鑰進(jìn)行更新,算法5給出了系統(tǒng)密鑰更新過(guò)程。
算法5 系統(tǒng)密鑰更新算法。
輸入:密鑰空間長(zhǎng)度k,群的階q。
輸出:公共參數(shù)π,各用戶(hù)的密鑰。
情況1 采用已有的公共參數(shù)。
步驟1 PKG取ψ= {q,p,,n,P,Ppub,H1,H2},及新的主密鑰s′,根據(jù)節(jié)點(diǎn)標(biāo)識(shí)ID和公共參數(shù)ψ,PKG執(zhí)行IBE算法中的Extract算法,生成用戶(hù)的新密鑰KID’。
步驟2 PKG取新密鑰KID’為明文,用舊密鑰KID執(zhí)行IBE算法中的Encrypt算法,得到密文c。
步驟3 PKG將密文c發(fā)送用戶(hù)ID,該用戶(hù)根據(jù)自己的私鑰執(zhí)行IBE算法中的Decrypt算法,得到新的密鑰KID’,并更新密鑰。
情況2 采用新的公共參數(shù)。
步驟1 根據(jù)密鑰長(zhǎng)度k和參數(shù)q,PKG執(zhí)行IBE算法中的Setup算法,生成新的公共參數(shù)ψ’= {q,p,,n,P,Ppub,H1,H2}和選取新的主密鑰s′。
步驟 2 根據(jù)節(jié)點(diǎn)標(biāo)識(shí) ID和新公共參數(shù)ψ’,PKG執(zhí)行算法1中的Extract算法,生成用戶(hù)的新密鑰KID’。
步驟3 PKG取新密鑰KID’為明文,用舊密鑰KID執(zhí)行算法1中的Encrypt算法,得到密文c。
步驟4 PKG將密文c發(fā)送用戶(hù)ID,該用戶(hù)根據(jù)自己的私鑰執(zhí)行算法1中的Decrypt算法,得到新的密鑰KID’,并更新密鑰。
在密鑰的更新過(guò)程中,一般情況下采用已有的公共參數(shù)能夠滿(mǎn)足密鑰更新的安全,除非對(duì)安全性要求特別嚴(yán)格的系統(tǒng),可以在每次更新時(shí),重新計(jì)算公共參數(shù)。因?yàn)槭聦?shí)上公共參數(shù)是公開(kāi)的信息,所以對(duì)攻擊者來(lái)說(shuō),安全性不依賴(lài)于這些公共參數(shù)。
本節(jié)將分析上節(jié)提出的密鑰管理方案的效益和安全性,主要討論方法復(fù)雜性和安全性等。
1) 復(fù)雜性分析
在本文的方案中,使用IBE算法1產(chǎn)生非對(duì)稱(chēng)密鑰對(duì),并利用該密鑰對(duì)進(jìn)行光學(xué)加密參數(shù)的安全傳輸。在非對(duì)稱(chēng)密鑰對(duì)中,公鑰是用戶(hù)的標(biāo)識(shí),所以不需要計(jì)算公鑰,計(jì)算量主要在計(jì)算私鑰過(guò)程中。同時(shí),公共參數(shù)ψ的計(jì)算由PKG完成,且主要在系統(tǒng)生產(chǎn)階段或更新階段才需計(jì)算,所以,可以不討論計(jì)算公共參數(shù)的復(fù)雜性,而主要考慮基于IBE算法的加密解密過(guò)程的復(fù)雜性。必須指出的是,在一些光學(xué)標(biāo)簽的應(yīng)用中,由于標(biāo)簽節(jié)點(diǎn)的資源相對(duì)有限,如內(nèi)存、計(jì)算能力、電源等的限制,希望密鑰管理系統(tǒng)的計(jì)算量相對(duì)小。
本文的方法包含了4個(gè)算法,實(shí)現(xiàn)非對(duì)稱(chēng)密鑰對(duì)的生產(chǎn)、對(duì)光學(xué)加密參數(shù)的加密傳輸、新用戶(hù)加入后的密鑰分配和密鑰對(duì)的更新等。算法2負(fù)責(zé)生成公共參數(shù),一般在系統(tǒng)初始化時(shí)執(zhí)行一次,同時(shí)計(jì)算主要為群的乘法和散列函數(shù)運(yùn)算,涉及IBE算法中的Setup和Extract部分,算法4主要調(diào)用算法2中的密鑰生成算法KeyGen,所以與算法2具有同等的復(fù)雜性;算法5是對(duì)系統(tǒng)的密鑰對(duì)進(jìn)行更新,除涉及IBE算法中的Setup和Extract外,還應(yīng)用Encrypt和Decrypt完成新密鑰的加密傳輸;算法3主要執(zhí)行IBE算法中的Encrypt和Decrypt算法。在IBE算法中Encrypt和Decrypt算法的復(fù)雜性最高,因?yàn)橐M(jìn)行雙線性對(duì)的計(jì)算。所以在本文的方法中,算法3和算法5的計(jì)算復(fù)雜性較高。
事實(shí)上,Encrypt和Decrypt算法主要需要進(jìn)行散列函數(shù)、 XOR運(yùn)算和雙線性映射運(yùn)算等,具體復(fù)雜性如表1所示。
表1 計(jì)算復(fù)雜性
2) 安全性分析
基于身份標(biāo)識(shí)的加密算法是橢圓曲線類(lèi)型的算法 ECC(elliptic curve cryptography),文獻(xiàn)[16]就不同的密鑰長(zhǎng)度分別對(duì)橢圓曲線算法和 RAS算法進(jìn)行了比較,結(jié)果表明,非對(duì)稱(chēng)密鑰算法在無(wú)需硬件加速條件下,也可以在微處理器上實(shí)現(xiàn)。同時(shí)在安全性能相當(dāng)?shù)那闆r下,橢圓曲線算法的密鑰長(zhǎng)度也只是對(duì)稱(chēng)密鑰算法密鑰長(zhǎng)度的一倍。表2給出了在同等安全條件下,ECC、RSA和對(duì)稱(chēng)密鑰算法密鑰長(zhǎng)度的比較。
表2 ECC、RSA和對(duì)稱(chēng)密碼算法密鑰長(zhǎng)度的比較
從表2可以看出,ECC算法的160bit與RAS的 1 024bit處于同一安全水平,但密碼長(zhǎng)度要短得多。
另一方面,由于采用基于身份標(biāo)識(shí)的密鑰機(jī)制,其公鑰可以是任何唯一的字符串,如 E-mail地址、身份證號(hào)、二維條碼標(biāo)識(shí)或其他標(biāo)枳。它的優(yōu)點(diǎn)是公鑰是可識(shí)別的,不需要通常PKI系統(tǒng)的證書(shū)發(fā)放,也就省去了用戶(hù)的認(rèn)證過(guò)程,使非對(duì)稱(chēng)密鑰對(duì)的分配更為安全可靠,增強(qiáng)了本文方法的安全性,也減低了密鑰管理系統(tǒng)的計(jì)算復(fù)雜性。
3) 與其他方法的分析比較
在基于虛擬成像光學(xué)的加密系統(tǒng)中如何實(shí)現(xiàn)對(duì)稱(chēng)加密參數(shù)的分發(fā)、更新、刪除等管理是系統(tǒng)理論與應(yīng)用研究的關(guān)鍵問(wèn)題之一。利用非對(duì)稱(chēng)密鑰系統(tǒng)進(jìn)行對(duì)稱(chēng)密鑰的分配是常用的有效手段,文獻(xiàn)[4]對(duì)此問(wèn)題進(jìn)行了研究,提出了一種分配光學(xué)加密參數(shù)的方法,與本文的方法比較有以下不同點(diǎn)。一是對(duì)初始的非對(duì)稱(chēng)密鑰系統(tǒng)的形成,文獻(xiàn)[4]沒(méi)有給出具體的方法,這是后繼發(fā)送光學(xué)加密參數(shù)的基礎(chǔ),本文給出了如何建立具體的基于身份標(biāo)識(shí)的加密系統(tǒng)進(jìn)行光學(xué)加密參數(shù)的分發(fā);二是一般的非對(duì)稱(chēng)密鑰系統(tǒng)需要可信第三方的認(rèn)證,包括文獻(xiàn)[4]提出了方法。而基于身份標(biāo)識(shí)的加密系統(tǒng)不需要進(jìn)行身份認(rèn)證,共鑰本身就是接收方的身份標(biāo)識(shí),使光學(xué)加密參數(shù)的發(fā)送算法可簡(jiǎn)單化,也是本文的創(chuàng)新點(diǎn)。當(dāng)然,目前基于身份標(biāo)識(shí)加密系統(tǒng)的實(shí)現(xiàn)算法比較單一復(fù)雜,有待進(jìn)一步尋求新的雙線性對(duì)的計(jì)算方法。
為檢測(cè)基于身份密鑰機(jī)制的光學(xué)加密的密鑰管理系統(tǒng)模型的性能,利用 MATLAB軟件對(duì)基于虛擬成像的多維數(shù)據(jù)加密系統(tǒng)系統(tǒng)和基于 4f系統(tǒng)的雙隨機(jī)相位編碼進(jìn)行數(shù)字仿真。設(shè)置一個(gè) PKG負(fù)責(zé)非對(duì)稱(chēng)密鑰的生成與管理,IBE算法的密鑰空間長(zhǎng)度k=112,群的階q為一個(gè)112bit的素?cái)?shù),光學(xué)原信息為二維碼。
1) 虛擬光學(xué)加密系統(tǒng)
圖2是基于虛擬成像的密碼系統(tǒng)對(duì)于二維碼的加密和解密的仿真實(shí)驗(yàn)結(jié)果,所用的圖像信息為132×132的二維碼。圖 2(a)是原始二維碼,該二維碼經(jīng)系統(tǒng)加密后的結(jié)果如圖2(b)所示。用于模擬隨機(jī)光場(chǎng)的隨機(jī)模板是在MATLAB中用rand()函數(shù)生成的(132×132)二維偽隨機(jī)陣列,如圖2(c)所示。在解密過(guò)程中,如果沒(méi)有加密時(shí)所用的隨機(jī)模板密鑰,解密得到的圖像還是可以看到原始圖像的大概輪廓,尤其對(duì)于二維碼而言,這樣就會(huì)得出隱藏其中的信息,如圖2(d)所示。只有當(dāng)所有的密鑰參數(shù)全部正確,又知道隨機(jī)模板密鑰,才可以得到清晰的解密結(jié)果,如圖2(e)所示。通過(guò)仿真可以看出,如果除了隨機(jī)模板,其他參數(shù)信息(包括信息平面和隨機(jī)模板到透鏡前表面的衍射距離d0和d,透鏡焦距f,光波波長(zhǎng)λ)一旦泄露,那么加密的信息就有攻破的可能性,圖3給出了衍射距離d0對(duì)信息加密的影響,當(dāng)d0與其實(shí)際值只有0.000 001cm偏差時(shí),解密的結(jié)果已接近明文。因此,對(duì)光學(xué)加密參數(shù)需要進(jìn)行安全的傳輸,才能使其加密的功能得到體現(xiàn),本文提出的基于IBE的加密機(jī)制為此提供了一個(gè)解決方案。
2) 基于4f系統(tǒng)的雙隨機(jī)相位編碼加密系統(tǒng)
基于 4f系統(tǒng)的雙隨機(jī)相位編碼的加密過(guò)程只涉及傅里葉變換和逆傅里葉變換。圖 4是基于 4f系統(tǒng)的雙隨機(jī)相位編碼對(duì)于二維碼的加密和解密的仿真實(shí)驗(yàn)結(jié)果,所用的圖像信息為132×132的二維碼。從圖4中可以看出,該系統(tǒng)也可以正確還原出原信息。但若解密密鑰不正確,就無(wú)法還原二維碼圖像,解密結(jié)果如同是隨機(jī)的白噪聲。
圖2 基于虛擬成像的密碼系統(tǒng)的二維碼加密和解密實(shí)驗(yàn)結(jié)果
圖3 信息平面到透鏡前表面的衍射距離d0對(duì)信息加密的影響
圖4 基于4f系統(tǒng)的雙隨機(jī)相位編碼對(duì)二維碼的加密和解密結(jié)果
基于光學(xué)理論與方法的密碼技術(shù)近年來(lái)引起了人們的高度重視,與傳統(tǒng)基于數(shù)學(xué)的計(jì)算機(jī)密碼學(xué)相比,光學(xué)密碼技術(shù)具有多維、大信息量、多自由度、固有的并行數(shù)據(jù)處理能力等諸多優(yōu)點(diǎn),特別是光學(xué)二維碼等方面的應(yīng)用,為光學(xué)加密技術(shù)提出了新的挑戰(zhàn),如光學(xué)加密參數(shù)的選擇、傳輸、更新等問(wèn)題。非對(duì)稱(chēng)密碼技術(shù)具有通信雙方不必事先建立關(guān)系、能有效進(jìn)行數(shù)據(jù)完整性檢驗(yàn)、密鑰管理容易等優(yōu)點(diǎn),特別是基于身份標(biāo)識(shí)的加密機(jī)制無(wú)需進(jìn)行認(rèn)證過(guò)程,它是基于橢圓曲線的密鑰系統(tǒng),與傳統(tǒng)了非對(duì)稱(chēng)密鑰系統(tǒng)相比,如 RSA等,在同等密鑰長(zhǎng)度情況下,其安全強(qiáng)度高等特點(diǎn)。
本文利用 IBE的高安全性和身份為公鑰的特征,將非對(duì)稱(chēng)密鑰系統(tǒng)與光線加密系統(tǒng)有效地結(jié)合起來(lái),提出了一個(gè)基于 IBE加密機(jī)制的光學(xué)加密系統(tǒng)的密鑰管理方案,給出了具體的密鑰生成、更新、加入等算法,解決了光學(xué)加密系統(tǒng)的加密參數(shù)的安全傳輸和管理等問(wèn)題。理論分析表明,方案能實(shí)現(xiàn)通信雙方的密鑰生成和更新等功能,其安全性建立在Diffie-Hellman問(wèn)題復(fù)雜性基礎(chǔ)上,為光線加密參數(shù)的安全傳輸提供了手段。針對(duì)當(dāng)前應(yīng)用日益廣泛的二維碼加密問(wèn)題,通過(guò)對(duì)虛擬光學(xué)加密系統(tǒng)和基于4f系統(tǒng)的雙隨機(jī)相位編碼的加密系統(tǒng)的仿真實(shí)驗(yàn),結(jié)果表明了方案的正確性和有效性。實(shí)驗(yàn)同時(shí)也表明了光學(xué)加密參數(shù)對(duì)原圖像信息恢復(fù)的影響,由于目前的光學(xué)加密系統(tǒng)大多采用對(duì)稱(chēng)加密形式實(shí)現(xiàn),因此,用來(lái)進(jìn)行加密的光學(xué)參數(shù)就必須以一個(gè)極其安全的傳輸渠道發(fā)送給對(duì)方,以保證加密信息的安全,而本文基于 IBE密鑰管理系統(tǒng)的高安全性能夠很好地解決這一問(wèn)題。另外尋求該方法在實(shí)際中的應(yīng)用,特別是在物聯(lián)網(wǎng)中的應(yīng)用將是很有意義的工作。
[1] 張鵬, 彭翔, 牛憨笨. 一種虛擬光學(xué)數(shù)據(jù)加密的系統(tǒng)實(shí)現(xiàn)[J].電子學(xué)報(bào),2004,32(10):1585-1588.ZHANG P, PENG X, LIU H B. An implementation scheme of virtual optics based data encryption system[J]. Chinese Journal of Electronics,2004,32(10):1585-1588.
[2] 高麗娟,楊曉蘋(píng),李智磊等.一種單通道彩色圖像加密方法[J].物理學(xué)報(bào),2009,58(2):1053-1056.GAO X L, YANG X P, LI Z R,et al. A encryption algorithm for single channel color picture[J]. Acta Physica Sinica, 2009,58(2):1053-1056.
[3] 袁建國(guó),梁天宇,李柚等.基于雙密鑰分割合成濾波的相位編碼的密鑰恢復(fù)算法[J]. 光電子·激光,2011,22(4):607-611.YUAN J G, LIANG T Y, LI Y,et al. A key retriveal algorithm for the phase-coding based on segmented composite filtering[J]. Journal of Optoelectronicos·Laser, 2011,22(4):607-611.
[4] 張鵬,彭翔. 基于公鑰的虛擬光學(xué)信息安全系統(tǒng)[J].系統(tǒng)仿真學(xué)報(bào),2006,18(1):176-180.ZHANG P, PENG X. Information security system based on public key and virtual-optics encryption[J]. Journal of System Simulation,2006,18(1):176-180.
[5] 吳克難,胡家升,烏旭. 信息安全中的光學(xué)加密技術(shù)[J]. 激光與光電子學(xué)進(jìn)展,2008,45(7):30-38.WU K N, HU J S, WU X. Optical encryption in information security[J]. Laser & Optoelectronics Progress, 2008,45(7):30-38.
[6] CHEN W, CHEN X D. Space-based optical image encryption[J].Optics Express, 2010, 18(26): 27095-27104.
[7] HAN Y J, ZHANG Y H. Optical image encryption based on two beams’ interference[J]. Optics Communications, 2010,283(9): 1690-1692.
[8] ISLAM M M, KARIM M A. Optical encryption system employing orthogonal code and multiple reference-based joint transform correlation[A]. Computer and Information Technology (ICCIT), 13th International Conference[C]. 2010. 470-475.
[9] LIN G S, CHANG H T, LIE W N,et al. Public-key-based optical image cryptosystem based on data embedding techniques[J]. SPIE Digital Library, 2003, 42(8): 2331-2339.
[10] SHAMIR A. Identity-based cryptography and signature schemes[A].CRYPTO’84, Lecture Notes in Computer Science[C]. Berlin,Springer-Verlag, 1985. 47-53.
[11] BONEH D, FRANKLIN M. Identity-based encryption from the Weil pairing[A]. CRYPTO 2001, Lecture Notes in Computer Science[C].Berlin, Springer-Verlag, 2001. 213-229.
[12] ANIKET K, IAN G. Distributed private-key generators for identity-based cryptography[A]. Security and Cryptography for Networks[C]. 2010.436-453.
[13] ABDALLA M, BIRKETT J, CATALANO D,et al. Wildcarded identity-based encryption[J]. Journal of Cryptology, 2011, 24(1): 42-82.
[14] 楊庚,陳偉,曹曉梅.無(wú)線傳感器網(wǎng)絡(luò)安全[M]. 北京: 科學(xué)出版社,2010.YANG G, CHEN W, CAO X M. Security in Wireless Sensor Network[M]. Beijing: Science Press, 2010.
[15] BOYEN X. Multipurpose identity-based signcryption, a Swiss army knife for identity-based cryptography[A]. Lecture Notes in Computer Science[C]. Berlin, Springer-Verlag, 2003. 383-399.
[16] GURA N, PATEL A, WANDER A,et al. Comparing elliptic curve cryptography and RSA on 8-bit CPU[A]. Proceedings of the Workshop on Cryptography Hardware and Embedded Systems (CHES 2004)[C]. Boston, 2004. 11-13.