劉文菊,張俊偉,馬建峰,楊超,李興華
(1. 天津工業(yè)大學(xué) 計算機(jī)科學(xué)與軟件學(xué)院,天津 300160;2. 西安電子科技大學(xué) 計算機(jī)網(wǎng)絡(luò)與信息安全教育部重點(diǎn)實驗室,陜西 西安 710071)
1984年,Shamir首次提出了基于身份(ID-based)的非對稱密碼系統(tǒng)的概念[1]。與傳統(tǒng)的非對稱密碼系統(tǒng)不同,ID-based密碼系統(tǒng)簡化了密鑰管理的過程:用戶的公鑰可以由用戶的身份信息產(chǎn)生,而私鑰由一個可信的密鑰生成中心產(chǎn)生。隨著ID-based密碼學(xué)的發(fā)展,一些基于身份的密鑰交換(ID-based KE)協(xié)議被提出[2,3]。在 AKE 安全模型[4]下,Chen和 Kudla研究了可證安全的 ID-based KE[4]。在Canetti-Krawczyk模型(CK 模型)下,ID-based KE的可證安全模型也被提出[5,6]。但AKE安全模型和CK模型[7]僅僅保證ID-based KE協(xié)議在獨(dú)立運(yùn)行情況下的安全性,而不能保證協(xié)議組合情況下的安全性。
通用可組合安全框架(UC, universally composable framework)[8]可以保證協(xié)議的組合安全性,即在UC框架下證明安全的協(xié)議,在該協(xié)議與其他協(xié)議并發(fā)運(yùn)行的情況下,或者該協(xié)議作為一個系統(tǒng)的組件時,仍能保證協(xié)議的安全性。理想函數(shù)是UC安全框架中十分重要的部分,它扮演著一個不可攻陷的可信角色,能夠完成協(xié)議所執(zhí)行的特定功能。目前已經(jīng)定義了多個理想函數(shù),如認(rèn)證消息傳輸、安全消息傳輸、密鑰交換、公鑰加密、簽名、承諾、不經(jīng)意傳輸[9]等。
在UC框架下設(shè)計協(xié)議的困難和核心內(nèi)容就在于形式化和抽象一個完美的并且可以安全實現(xiàn)的理想函數(shù)。Nishimaki等在 UC框架中提出了ID-based Encryption和ID-based Signature的理想函數(shù)[10,11]。但在UC框架中針對ID-based KE還沒有形式化的定義。
本文在UC框架下提出了基于身份密鑰交換的安全模型。針對ID-based KE的安全需求,在攻擊模型添加了攻陷密鑰生成中心的能力,并設(shè)計了ID-based KE的理想函數(shù)。在新的攻擊模型和理想函數(shù)下,提出的模型既保證了ID-based KE的通用可組合安全性,又保證了一個重要安全屬性——密鑰生成中心前向保密性(KGC-FS, key generation center forward secrecy)。針對理想函數(shù)的實現(xiàn)問題,證明了帶有密鑰確認(rèn)屬性(key confirmation)的 Chen-Kudla協(xié)議能安全實現(xiàn)ID-based KE的理想函數(shù)。
本文剩余部分組織如下:第2節(jié)介紹了UC框架;第3節(jié)在UC框架下給出了滿足ID-based KE安全需求的理想函數(shù);第4節(jié)證明了帶有密鑰確認(rèn)屬性的Chen-Kudla協(xié)議能安全實現(xiàn)ID-based KE的理想函數(shù);第5節(jié)是結(jié)束語。
UC框架如圖1所示。首先,UC框架定義了現(xiàn)實環(huán)境?,F(xiàn)實環(huán)境描述協(xié)議的真實運(yùn)行情況,其中所有參與方在真實敵手攻擊A存在的環(huán)境下運(yùn)行真實協(xié)議。其次,UC框架定義了理想環(huán)境用來描述密碼協(xié)議的理想運(yùn)行。在理想環(huán)境下,存在虛擬參與方,理想敵手S和一個理想函數(shù)F。參與方之間以及敵手S與參與方不直接通信;所有參與方和敵手S均與理想函數(shù)交互。理想函數(shù)本質(zhì)上是一個不可攻陷的可信角色,用來完成協(xié)議所需的理想運(yùn)行和功能。在UC的安全框架中,環(huán)境Z來模擬協(xié)議運(yùn)行的整個外部環(huán)境(包括其他并行的協(xié)議、攻擊者等),Z可以與所有的參與者以及攻擊者 A和 S直接通信,Z不允許直接訪問理想函數(shù)F。
圖1 UC 框架
1) UC仿真
協(xié)議π仿真理想函數(shù)F當(dāng)且僅當(dāng)對于任意現(xiàn)實敵手 A,存在理想敵手 S,使得任意環(huán)境 Z,至多以可忽略的概率來區(qū)分:存在真實敵手A及協(xié)議π的現(xiàn)實環(huán)境和存在理想敵手S及理想函數(shù)F的理想環(huán)境。如果協(xié)議π能UC仿真理想函數(shù)F,就稱協(xié)議π在UC框架下安全實現(xiàn)了理想函數(shù)F,也稱π是UC安全的。
2) UC仿真的傳遞性
如果協(xié)議π1能UC仿真協(xié)議 π2并且協(xié)議π2能UC仿真協(xié)議π3,那么π1可以UC仿真π3。
3) 組合定理[8]
如果協(xié)議ρ實現(xiàn)理想函數(shù)F,且π 是F-混合模型[8]下的協(xié)議,那么協(xié)議 πρ/F(用協(xié)議 ρ 替換協(xié) π中的理想函數(shù)F所得到的組合協(xié)議)UC仿真F-混合模型下的協(xié)議π。特別地,如果協(xié)議π在F-混合模型下實現(xiàn)理想函數(shù) G,那么協(xié)議 πρ/F也實現(xiàn)了理想函數(shù)G。
在UC框架中,給攻擊者增加了攻陷KGC的能力(記為CorruptKGC)。當(dāng)攻擊者發(fā)起CorruptKGC攻擊后,攻擊者可以獲得 KGC的內(nèi)部狀態(tài),即系統(tǒng)主密鑰,這就意味著所有參與方的長期私鑰泄漏。同時,KGC被標(biāo)記為 corrupted;所有參與者被記為compromised(compromised表明該參與方的長期密鑰已經(jīng)泄漏)。需要特別指出的是:由于KGC的特殊性,這里假定 KGC不能被已有的 Corrupt攻陷,只能被CorruptKGC攻陷。
理想函數(shù)KGCidKEF 如下。
Setup
當(dāng)從KGC收到 (Setup, sid, KGC):
· 將(Setup, sid, KGC)發(fā)送給 S;
· 當(dāng)從S收到(Set, sid, PKs), 給KGC輸出(Set,sid, PKs);
· 記錄(KGC, PKs)并標(biāo)記為 fresh。
Extract
當(dāng)從 Pi收到(Extract, sid, IDi, PKs’):
· 如果記錄(KGC, PKs’)存在, IDi是 Pi的身份標(biāo)識, 那么在ID-Reg中記錄(IDi, Pi), 標(biāo)示為fresh.否則, 不記錄;
· 將(Extract, sid, IDi, PKs’)發(fā)送給 S, 隨后從 S收到(Received, sid);
· 將(Extracted, sid, IDi, PKs’)發(fā)送給 Pi和KGC(如果 PKs’沒有被記錄,或者 IDi不是 Pi的身份標(biāo)識, 不發(fā)送這個消息)。
Key Exchange
當(dāng)從Pi收到 (NewSession, sid, Pi, Pj, role, IDi,PKs’):
· 將(NewSession, sid, Pi, Pj, role, IDi, PKs’)發(fā)送給S;
· 如果這是第一個 NewSession 質(zhì)詢并且存在記錄(KGC, PKs’)和(IDi, Pi), 或者這是第二個NewSession 質(zhì)詢且(Pj, Pi, IDj)已被記錄, 存在記錄(KGC, PKs’)和(IDi, Pi), 那么記錄(Pi, Pj, IDi)。
當(dāng)從 S收到 (NewKey, sid, Pi, IDi, sk), 其中|sk|=k, 如果存在記錄(Pi, Pj, IDi)且這是對Pi的第一次NewKey質(zhì)詢, 那么∶
· 如果 Pi或 Pj被攻陷,輸出(sid, sk)給 Pi;
· 否則, 如果存在記錄(Pj, Pi, IDj), 且已經(jīng)給Pj發(fā)送過密鑰 sk’,輸出(sid, sk’)給 Pi;
· 否則, 選取一個新的隨機(jī)數(shù)sk’(長度為k)作為密鑰, 發(fā)送(sid, sk’)給 Pi。
當(dāng)從S收到 (Corrupt, sid, Pi):
如果Pi不是KGC且Pi還沒被攻陷, 那么:
· 將 Pi標(biāo)記為 corrupted;
· 如果記錄(IDi, Pi)未泄露, 標(biāo)示 Pi為compromised。
當(dāng)收到來自敵手 S的消息(CorruptKGC, sid,KGC)∶
如果KGC未被攻陷, 那么:
· 將KGC標(biāo)示為corrupted;
· 如果存在記錄(KGC, PKs’), 那么 ID-Reg 中的所有未泄露記錄標(biāo)示為compromised。
其中Setup:當(dāng)KGC發(fā)送系統(tǒng)建立的請求時,理想函數(shù)將這個請求發(fā)送給敵手S。S決定系統(tǒng)的公共參數(shù)并且將這些參數(shù)發(fā)送給KGC。
Extract:當(dāng)參與方發(fā)出注冊請求時,理想函數(shù)在ID-Reg中記錄這個ID并將這個請求發(fā)送給敵手S。當(dāng)收到S的響應(yīng)時,將結(jié)果發(fā)送給參與方和KGC。
Key Exchange:在會話密鑰產(chǎn)生前,如果任意一方被攻陷,敵人S可以決定會話密鑰的值。否則,F(xiàn)iKdKGEC生成一個隨機(jī)數(shù)作為會話密鑰。
KGC-FS:即使KGC被攻陷(這意味著系統(tǒng)主密鑰泄露,進(jìn)而導(dǎo)致系統(tǒng)中所有參與方的長期私鑰泄露),任何已經(jīng)建立的密鑰仍是安全的。KGC-FS屬性也保證了另一個重要屬性——無密鑰托管(without key escrow)。
KGC-FS對于ID-based KE是一個非常重要的屬性。一方面,如果 ID-based KE協(xié)議不能保證KGC-FS,那么KGC就可以獲得系統(tǒng)中任意兩方協(xié)商的會話密鑰,進(jìn)而得到雙方交換的消息內(nèi)容。如果通信雙方希望保證他們通信的機(jī)密性,甚至也不希望KGC獲得他們之間的通信內(nèi)容,那么ID-based KE協(xié)議就必須滿足KGC-FS,即無密鑰托管。另一方面,如果不能保證KGC-FS,那么,當(dāng)KGC被攻陷時,敵人可以獲得所有系統(tǒng)中已經(jīng)建立的會話密鑰,進(jìn)而得到系統(tǒng)中所有的已經(jīng)通信的消息內(nèi)容。
理想函數(shù) FiKdKGEC滿足KGC-FS。原因如下:FiKdKGEC會對CorruptKGC做出相應(yīng)的響應(yīng)。但是,在僅僅發(fā)生CorruptKGC的情況下,產(chǎn)生的會話密鑰仍然是隨機(jī)的,即敵手不能決定會話密鑰的值,不能威脅會話密鑰的安全。
本節(jié)證明帶有密鑰確認(rèn)屬性的 Chen-Kudla協(xié)議(記為πidKE)能安全實現(xiàn)理想函數(shù) FiKdKGEC。
需要說明的是,在Setup和Extract階段,協(xié)議運(yùn)行在一個安全的信道下。這樣可以確保系統(tǒng)主密鑰和參與方長期私鑰在密鑰交換前的安全性。下面給出了協(xié)議πidKE的詳細(xì)描述。
Setup
當(dāng)KGC輸入(Setup, sid, Ps):
· H是散列函數(shù),f和g是偽隨機(jī)函數(shù);
Extract
當(dāng) Pi輸入(Extract, sid, IDi, PKs’),如果 PKs’存在且IDi是Pi身份標(biāo)識:
· 令Qi=H(IDi), Pi的私鑰為秘密地發(fā)送 Si給 Pi;
· 輸出 (Extracted, sid, IDi, PKs’)。
參與方Pj的注冊過程與Pi的過程類似。
Key Exchange
發(fā)起者Pi輸入(Pi, Pj, sid, ID, initiator),類似地,響應(yīng)者輸入(Pj, Pi, sid, ID’, responder)。
· Pi隨機(jī)選擇 a∈Zq*, 發(fā)送(Pi, sid, μ, α)給 Pj,其中,
· 收到(Pi, sid, μ, α)后, Pj隨機(jī)選擇令Pj計算并刪除b,計算則其中 l為消息計數(shù)器,發(fā)送(Pj, sid,ν, β, l, σj)給 Pi;
· 收到(Pj, sid, ν, β, l, σj)后, Pi計算0)和并刪除 a, 其中,然后, Pi用 κa’驗證 σj的正確性,如果正確, Pi計算l’為消息計數(shù)器,發(fā)送(Pi, sid, l’, σi)給 Pj, 輸出(sid, Pi, Pj, κd’);
· 收到(Pi, sid, l’, σi)后, Pj用 κa驗證 σi的正確性,如果正確, 輸出(sid, Pj, Pi, κd)。
定理1如果BDH假設(shè)和CDH假設(shè)成立,f和 g是偽隨機(jī)函數(shù),則 πidKE安全實現(xiàn)理想函數(shù)FiKdKGEC。
證明令現(xiàn)實敵手為 A。構(gòu)造理想敵手 S,對于任何環(huán)境Z僅能以一個可忽略的概率區(qū)分是:A與πidKE交互的真實環(huán)境(標(biāo)記為REAL)和S與 FiKdKGEC交互的理想環(huán)境(標(biāo)記為IDEAL)。
1) 構(gòu)造S
首先構(gòu)造內(nèi)部狀態(tài)仿真器I (如果g是偽隨機(jī)函數(shù),πidKE具有應(yīng)答屬性)。輸入(κd, s, Pi, Pj),I輸出其中 r 是隨機(jī)數(shù)且|r|=|κa|。有關(guān)應(yīng)答屬性和內(nèi)部狀態(tài)仿真器的詳細(xì)內(nèi)容請參閱文獻(xiàn)[12]。
敵手S運(yùn)行如下。
Setup
當(dāng)S從 FiKdKGEC收到(Setup, sid, KGC)且KGC未被攻陷,S為A仿真πidKE并以(Setup, sid, KGC)為輸入。
πidKE輸出(Set, sid, PKs)后,當(dāng)從 FiKdKGEC收到(Setup, sid, KGC)時,S將(Set, sid, PKs)發(fā)給 FiKdKGEC。
Extract
當(dāng)S從 FiKdKG
EC收到(Extract, sid, IDi, PKs’)且 Pi未被攻陷,S將(Extract, sid, IDi, PKs’)作為輸入運(yùn)行πidKE。
πidKE輸出(Extracted, sid, IDi, PKs’)后,當(dāng) S 從FiKdKGEC收到(Extract, sid, IDi, PKs’)時,發(fā)送(Received,sid)給 FiKdKGEC。
Key Exchange
當(dāng)S從 FiKdKG
EC收到(NewSession, sid, Pi, Pj, role,IDi, PKs’),即 Pi請求與 Pj運(yùn)行密鑰交換協(xié)議(會話標(biāo)識為sid),S以(sid, Pi, Pj, role)為輸入運(yùn)行πidKE。
當(dāng) A 發(fā)送 (Pi, sid, μ, α)給 Pj,S 仿真從 Pi到 Pj的消息(Pi, sid, μ, α)。同樣,當(dāng) A 發(fā)送 (Pj, sid, ν, β, l,σj)給 Pi,σj為 MAC 值,S 仿真從 Pj到 Pi的消息(Pj,sid, ν, β, l, σj)。當(dāng) A 發(fā)送 (Pi, sid, l’, σi)給 Pj,σj為MAC 值,S 仿真從 Pi到 Pj的消息(Pi, sid, l’, σi)。
當(dāng) πidKE輸出(sid, Pi, Pj, κ)時,S 發(fā)送(NewKey,sid, Pi, κ)給 FiKdKGEC。
CorruptKGC
當(dāng) A攻陷 KGC時,S發(fā)送(CorruptKGC, sid,KGC)給 FiKdKGEC。
Corrupt
當(dāng)A攻陷Pi時,S發(fā)送(Corrupt, sid, Pi)給 FiKdKG
EC。在這種情況下,如果 FiKdKGEC已經(jīng)發(fā)送密鑰給Pi,那么S獲得密鑰 κ。另外,如果在發(fā)生攻陷時,Pi和 Pj都沒有輸出密鑰,那么,S將πidKE中Pi的內(nèi)部狀態(tài)發(fā)送給A。如果在發(fā)生攻陷的時刻,Pi或Pj已經(jīng)輸出密鑰,S應(yīng)用內(nèi)部狀態(tài)仿真器I得到仿真的內(nèi)部狀態(tài)τi和τj,并且將τi發(fā)送給A作為Pi的內(nèi)部狀態(tài)(如果Pj被攻陷,那么A將得到τj)。
2) IDEAL和REAL的不可區(qū)分性
根據(jù)仿真器S,證明不可區(qū)分性分為以下3種情況:CORRUPT事件表示Pi或Pj至少有一個被攻陷(事件1);NONE事件表示CORRUPT和CKGC均未發(fā)生(事件2);CKGC表示KGC被攻陷,Pi和 Pj未被攻陷(事件 3)。然后,證明在這 3種事件下,IDEAL和REAL是不可區(qū)分的。
事件1CORRUPT
當(dāng)CORRUPT事件發(fā)生時,S完美仿真了敵手A,因此,IDEAL和REAL是不可區(qū)分的。
事件2NONE
首先定義協(xié)議 π0、π1和 π2。π0:π0隨機(jī)選取 γ1(或γ1’)和 γ2(或 γ2’),然后 π0隨機(jī)產(chǎn)生 κd和 κa,以及 MAC值。π1:與 π0相比,修改了計算 γ1(或 γ1’)和 γ2(或 γ2’)的方法。π1計算和類似地,和π2:與 π1相比,修改了計算和的方法。π2使用偽隨機(jī)函數(shù) f計算 κd和 κd’。類似地,π2使用 f計算 κa和 κa’。
π0隨機(jī)選取 γ1(或 γ1’)和 γ2(或 γ2’)的值,隨機(jī)產(chǎn)生會話密鑰和MAC值,那么π0的輸出為隨機(jī)數(shù)。因此,從環(huán)境Z的角度,IDEAL和π0是不可區(qū)分的,即 IDEAL≈π0。
引理1如果BDH假設(shè)和CDH假設(shè)成立,π1和 π0是不可區(qū)分的,即
假設(shè)存在環(huán)境 Z以不可忽略的概率區(qū)分 π1和π0。在Z的基礎(chǔ)上,能構(gòu)造2個算法D1和D2。D1能在概率多項式時間內(nèi)(PPT)以不可忽略的概率解決BDH問題,這與BDH假設(shè)相矛盾。類似地,D2可以成功解決CDH問題,這與CDH假設(shè)矛盾。
由于篇幅限制,這里簡要地給出 D1算法的核心內(nèi)容來說明D1如何利用Z來解決BDH問題。
D1選擇x作為系統(tǒng)主密鑰,xP作為系統(tǒng)公鑰。
D1令 Pi的公鑰為Pj的公鑰為
D1激活 Z,運(yùn)行協(xié)議 π0和 A,其中 μ=aP,ν=bP。
當(dāng)Z輸出1時,D1計算
因此,如果Z能以不可忽略的概率區(qū)分π0和π1,D1也能以不可忽略的概率解決 BDH問題。這與BDH假設(shè)相矛盾。D2與D1類似,這里不做贅述。
引理2如果函數(shù)f是偽隨機(jī)函數(shù),π2和π1是不可區(qū)分的,即
如果Z能以不可忽略的概率區(qū)分 π2和 π1,則能構(gòu)造一個區(qū)分器區(qū)分偽隨機(jī)函數(shù)f生成的數(shù)和隨機(jī)數(shù)。這與函數(shù)f是偽隨機(jī)函數(shù)相矛盾。
引理3如果函數(shù)g是偽隨機(jī)函數(shù),REAL和π2是不可區(qū)分的,即
證明過程與引理2類似。
根據(jù) UC-仿真的傳遞性,如果 BDH假設(shè)和CDH假設(shè)成立,f和 g是偽隨機(jī)函數(shù),那么。即事件NONE發(fā)生時,Z僅能以可忽略的概率區(qū)分REAL和IDEAL。
事件3CKGC
事件CKGC發(fā)生時,Z只能以可忽略的概率區(qū)分REAL 和IDEAL。這與發(fā)生NONE事件的證明類似。唯一的區(qū)別在于π1≈π0的證明。在這里,π1和 π0的不可區(qū)分性僅僅依靠 CDH假設(shè),而不是BDH 假設(shè),因為 Z 可以計算
根據(jù)以上3種情況的分析,定理2得證。 □
本文在UC框架下提出了基于身份密鑰交換的可組合安全模型。在攻擊模型中添加了CorruptKGC,設(shè)計了ID-based KE理想函數(shù)KGCidKEF 。提出的模型滿足了ID-based KE的通用可組合安全性和KGC-FS。同時,證明了帶有密鑰確認(rèn)性質(zhì)的Chen-Kudla協(xié)議可以安全實現(xiàn)理想函數(shù)KGCidKEF 。
[1] SHAMIR A. Identity-based cryptosystems and signature schemes[A].Advances in Cryptology-CRYPTO’84[C]. Springer-Verlag, 1984.47-53.
[2] CHEN L, KUDLA C. Identity based authenticated key agreement protocols from pairings[A]. CSFW'03[C]. 2003.219-236.
[3] 汪小芬, 陳原, 肖國鎮(zhèn). 基于身份的認(rèn)證密鑰協(xié)商協(xié)議的安全分析與改進(jìn)[J]. 通信學(xué)報, 2008, 29(12)∶16-21.WANG X F, CHEN Y, XIAO G Z. Analysis and improvement of an ID-based key agreement protocol[J]. Journal on Communications,2008, 29(12)∶ 16-21.
[4] BELLARE M, ROGAWAY P. Entity authentication and key distribution[A]. Advances in Cryptology-Crypto’93[C]. 1993. 232-249.
[5] LI X H, MA J F, MOON S J. Security extension for the canetti-krawczyk model in identity-based system[J]. Science in China(F series), 2005, 48(1)∶ 117-124.
[6] ZHU R W, TIAN X J, WONG D S. A suite of enhanced security models for key compromise impersonation resilience and ID-based key exchange[EB/OL]. http∶//eprint.iacr. org/2005/ 455, 2005.
[7] CANETTI R, KRAWCZYK H. Analysis of key-exchange protocols and their use for building secure channels[A]. Proc EUROCRYPT 2001[C]. Springer-Verlag, 2001. 453-474.
[8] CANETTI R. Universally composable security∶ a new paradigm for cryptographic protocols[EB/OL]. http∶//eccc.uni-trier.de/eccc-reports/2001/ TR01-016/, 2001.
[9] 李鳳華,馮濤,馬建峰. 基于 VSPH的UC不經(jīng)意傳輸協(xié)議[J]. 通信學(xué)報, 2007, 28(7)∶28-34.LI F H, FENG T, MA J F. Universally composable oblivious transfer protocol based on VSPH[J]. Journal on Communications, 2007,28(7)∶28-34.
[10] NISHIMAKI R, MANABE Y, OKAMOTO T. Universally composable identity-based encryption[A]. The 2006 Symposium on Cryptography and Information Security Hiroshima[C]. Japan, 2006.17-20.
[11] NISHIMAKI R, MANABE Y, OKAMOTO T. Universally composable identity-based encryption[J]. IEICE Trans Fundamentals, 2008,(E91-A) (1)∶ 262-271.
[12] CANETTI R, KRAWCZYK H. Universally composable key exchange and secure channels[A]. Eurocrypt 02[C]. 2002. 337-351.