專利名稱:一種新型的基于身份的保密郵件轉(zhuǎn)發(fā)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及用于郵件系統(tǒng)的加密、重加密、轉(zhuǎn)發(fā)及解密,更具體地說,涉及使
用基于身份的代理重加密體制作為密碼學(xué)工具進(jìn)而實(shí)現(xiàn)保密郵件的轉(zhuǎn)發(fā)。 術(shù)語解釋 保密郵件的含義郵件內(nèi)容是經(jīng)過加密的。 基于身份的含義加密密鑰就是目標(biāo)郵件地址本身(正因?yàn)槿绱?,該系統(tǒng)不需要 公鑰基礎(chǔ)設(shè)施PKI),但是解密密鑰則是由一個(gè)可信任的私鑰生成中心(PKG)為每個(gè)注冊(cè)用 戶生成的。 保密郵件轉(zhuǎn)發(fā)的含義本來是發(fā)給用戶A(比如經(jīng)理)的保密郵件,由于某些原因 (比如出差等),A顧不上解密并處理此郵件;但是A在此之前開啟了自動(dòng)轉(zhuǎn)發(fā)服務(wù),希望將 自己的秘密郵件轉(zhuǎn)發(fā)給另外一個(gè)用戶B(比如副經(jīng)理)進(jìn)行處理。同時(shí),該系統(tǒng)有以下要 求 第一,A并不希望將自己的解密密鑰直接交給B,也不希望給B生成代理解密密 鑰; 第二,該郵件必須仍然以某種密文的形式轉(zhuǎn)發(fā); 第三,該轉(zhuǎn)發(fā)工作可以由一個(gè)半可信機(jī)構(gòu)(比如A的秘書或者郵件服務(wù)器本身) 來完成,該半可信機(jī)構(gòu)稱為代理Proxy 。
背景技術(shù):
1984年,shamir提出了基于身份的公鑰加密(IBE)系統(tǒng)的思想,其核心目的就是 去除對(duì)公鑰基礎(chǔ)設(shè)置PKI的依賴。 1998年,Barak等人提出了代理重加密(PRE)的設(shè)想,其核心目標(biāo)就是由一個(gè)半可 信的機(jī)構(gòu)Proxy將用戶A的密文轉(zhuǎn)換為用戶B的密文,從而用戶B可以直接用自己的私鑰 來解密。代理重加密要求執(zhí)行這個(gè)轉(zhuǎn)換工作的Proxy既不能或者所轉(zhuǎn)換的密文對(duì)應(yīng)的明文 信息,也不能獲知A或者B的私鑰信息。因此,先用A的私鑰進(jìn)行解密再用B的公鑰進(jìn)行加 密的途徑是無效的實(shí)現(xiàn)。 2001年,Boneh等人基于雙線性配對(duì)設(shè)計(jì)了第一個(gè)高效實(shí)用的基于身份的加密方 案。 2007年,Green等人設(shè)計(jì)了基于身份的代理重加密方案。 正是在這樣的背景下,我們提出本發(fā)明。旨在提出一種基于身份的保密郵件轉(zhuǎn)發(fā) 方法和系統(tǒng)。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種基于身份的保密郵件轉(zhuǎn)發(fā)方法和系統(tǒng)。所述技術(shù)方案如 下 (1)根據(jù)系統(tǒng)安全性要求選擇系統(tǒng)參數(shù),并根據(jù)所述系統(tǒng)參數(shù)生成PKG所需參數(shù)〈G15 G2, U, H, p, q, P, P。, s>,包括兩個(gè)工作群G丄(生成元P)和G2,雙線性映射g (定義從 G丄XG丄到G2上的),抗碰撞的Hash函數(shù)h, Map-to-point函數(shù)H,大素?cái)?shù)p和q, PKG的主私 鑰s及其公鑰P。。 (2)用戶在PKG處注冊(cè)自己郵件地址IDu,通過離線的物理方式確定用戶的真實(shí)身
份,然后生成所對(duì)應(yīng)的解密密鑰,再通過離線的安全的方式發(fā)送給用戶; (3)用戶x發(fā)送郵件給A,首先獲得A的郵件地址ID^計(jì)算A的公鑰,把郵件內(nèi)容
與生成的隨機(jī)數(shù)字串連后用公鑰加密后發(fā)送。 (4)用戶A希望發(fā)給自己的密碼郵件轉(zhuǎn)發(fā)給系統(tǒng)內(nèi)的另外一個(gè)用戶B去處理,用 戶A還要根據(jù)自己的私鑰和用戶B的公鑰生成重加密密鑰,把該密鑰發(fā)送給一個(gè)半可信機(jī) 構(gòu)Proxy。 (5)當(dāng)系統(tǒng)內(nèi)某用戶A開啟郵件轉(zhuǎn)發(fā)服務(wù)后,凡是發(fā)給A的秘密郵件都直接轉(zhuǎn)發(fā)給 Proxy (例如A的秘書或者郵件服務(wù)器)。擁有重加密密鑰Proxy在獲得用戶A的原始秘密 郵件后,進(jìn)行二次加密,然后通過公開信道轉(zhuǎn)發(fā)給系統(tǒng)內(nèi)用戶B。 (6)若系統(tǒng)內(nèi)某用戶收到密碼郵件是一級(jí)加密郵件,用自己的解密密鑰進(jìn)行解 密; (7)若是二級(jí)加密郵件,首先驗(yàn)證是否有效的二級(jí)密文,再對(duì)其進(jìn)行解密。
本發(fā)明實(shí)施例還提供了一種基于辮群的傳遞數(shù)字簽名系統(tǒng),所述系統(tǒng)包括
(1)系統(tǒng)參數(shù)生成模塊,用于根據(jù)系統(tǒng)安全性要求選擇合適的系統(tǒng)參數(shù),并根據(jù)所 述系統(tǒng)參數(shù)生成PKG所需參數(shù)〈Gn G2, g, h, H, p, q, P, P。, s> ;
(2)用戶注冊(cè)模塊,注冊(cè)用戶,并獲得用戶郵件地址相對(duì)應(yīng)的解密密鑰;
(3) 郵件加密模塊,計(jì)算郵件接收者的公鑰,生成郵件和附加信息,加密后發(fā)送;
(4) 重加密密鑰生成模塊,計(jì)算進(jìn)行二次加密時(shí)的重加密密鑰,并發(fā)送給半信任的
Proxy
(5) 郵件重加密及轉(zhuǎn)發(fā)模塊,對(duì)需要進(jìn)行轉(zhuǎn)發(fā)的秘密郵件進(jìn)行加密并轉(zhuǎn)發(fā);
(6) 加密郵件解密模塊,根據(jù)郵件加密的次數(shù),選擇不同的解密方法對(duì)其解密。 本發(fā)明實(shí)施例提供的技術(shù)方案的有益效果是
適合一個(gè)高度機(jī)密的機(jī)構(gòu)之內(nèi)的工作郵件系統(tǒng)。PKG可以是該機(jī)構(gòu)的最高指揮官
(比如總裁等),Proxy可以有一個(gè)(比如郵件服務(wù)器),或者多個(gè)(比如每個(gè)領(lǐng)導(dǎo)的秘書)。
圖1是本發(fā)明實(shí)施例提供的一種基于身份的保密郵件轉(zhuǎn)發(fā)方法流程圖;
圖2是本發(fā)明實(shí)施例提供的一種基于身份的保密郵件轉(zhuǎn)發(fā)系統(tǒng)示意圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方 式作進(jìn)一步地詳細(xì)描述。 參見圖l,本實(shí)施例提供了一種基于身份的保密郵件轉(zhuǎn)發(fā)方法,該方法包括以下步 驟 步驟101 :選擇系統(tǒng)參數(shù),具體選擇的系統(tǒng)參數(shù)如下
首先,由密鑰的生成中心,即PKG,按照如下方式選定工作群^和G2,^的某個(gè)生成 元P,以及定義從到G2上的雙線性映射§ : (1)選一個(gè)大素?cái)?shù)p滿足p = 2 mod 3并且p = 6q_l,對(duì)某個(gè)素?cái)?shù)q。令E是由方 程/二^+l定義在有限域GL(p)上的橢圓曲線,令P是E/GL(p)中的一個(gè)q階元素,令群 G工=〈P>,即由P生成的橢圓曲線上的加法群。 (2)令1 - 4 G GL(p2)是方程x3-1 = 0 mod p的一個(gè)解,令映射小(x, y)= Ux,y)。記由〈P,小(P)〉生成的群為E[q]。再令^是GL(p2)中所有階為q的元素組成 的集合(可以證明該集合為GL(p2)的乘法子群),e:E[q]XE[q] — G2是定義在E/GL(p2) 上的Weil配對(duì),則修正的Weil配對(duì)g定義為g(P,Q) =e(P,(^(Q))。易證,如此定義的g 滿足雙線性性、非退化性和可計(jì)算性。 其次,PKG從Zq*中隨機(jī)選擇主密鑰s,并令P。 = [s]P。
再次,PKG選定如下兩個(gè)Hash函數(shù)h和H (l)h是任意一個(gè)抗碰撞的Hash函數(shù)??紤]到目前MD5和SHA-1的碰撞均已發(fā)現(xiàn), 建議取h為SHA-256。 (2)H : {0, 1}* — Gi為Map-to-point函數(shù),它映任意身份ID為G:中的某個(gè)元素, 其計(jì)算過程如下先計(jì)算y = h(ID)mod p,這里ID為表示用戶身份的二進(jìn)制串;如果y = 0或1,則在ID后面添加一個(gè)比特0,再次進(jìn)行上述計(jì)算,直到出現(xiàn)的y不等于0也不等于1 為止。再計(jì)算x二 (y2-l) (2p-1)/3 mod p。然后令H(ID) = (x,y)為^中的點(diǎn)。
最后,PKG公布〈G" G2, g, h, H, p, q, P, P。>,系統(tǒng)參數(shù)設(shè)定結(jié)束。
步驟102 :用戶注冊(cè),具體過程為 首先,需要注冊(cè)的用戶U,選擇自己喜歡的郵件地址IDu。然后通過公開信道發(fā)送 IDu給PKG,請(qǐng)求注冊(cè),并請(qǐng)求PKG為其頒發(fā)解密密鑰。 其次,PKG在收到用戶U的IDu之后,先通過離線的物理的方式確認(rèn)用戶U的真實(shí) 身份。然后,PKG現(xiàn)計(jì)算Qu二H(IDu),再計(jì)算Su二 [s]Qu,最后又以離線的并且是安全的方 式將Su發(fā)送給用戶U。
步驟103 :郵件加密,具體過程為 假設(shè)系統(tǒng)內(nèi)或者系統(tǒng)外的某個(gè)用戶X想發(fā)送一封秘密郵件M給系統(tǒng)內(nèi)某個(gè)用戶A, 則X首先要獲得A的郵件地址IDA。然后,X按照如下方式生成秘密郵件C :
(l)X計(jì)算用戶A的公鑰QA = H(IDA); (2)X選擇一個(gè)隨即數(shù)D,這里要求D的二進(jìn)制長(zhǎng)度L固定,且不能太小,要求1/
(2'L)為一個(gè)可忽略的量,比如取L = 80 ; (3)X將郵件M和d串接起來,即E = M| |D ; (4) X計(jì)算r = h (E) mod q ; (5) X計(jì)算Q = [r]P, Q = [r] QA ; (6) X計(jì)算f = g (P。, Q) mod q ; (7) X計(jì)算C2 = Ef mod p ; (8) X令C = (Q, C2),并把C通過公開信道發(fā)送給用戶A。
步驟104 :重加密密鑰生成,具體過程為 假設(shè)系統(tǒng)內(nèi)的某個(gè)用戶A希望發(fā)給自己的秘密郵件轉(zhuǎn)發(fā)給系統(tǒng)內(nèi)的另外一個(gè)用
7戶B去處理。用戶A按照如下方式生成重加密密鑰 (l)A計(jì)算B的公鑰QB = H(IDB); (2) A選擇一個(gè)隨機(jī)數(shù)X ; (3) A計(jì)算r = h (X) mod q ; (4) A計(jì)算& = [r]P, Q = [r] QB ; (5) A計(jì)算f = g (P。, Q) mod q ; (6)A計(jì)算R2 = Xf mod p ; (7) A計(jì)算rx = h (X) mod q ; (8) A計(jì)算R3 = [rj P_SA ; (9) A令重加密密鑰RM2B = R2, R3),并將RKA2B通過安全信道發(fā)送給半可信機(jī)構(gòu)
Proxy (例如A的秘書或者郵件服務(wù)器)。
步驟105 :郵件重加密及轉(zhuǎn)發(fā),具體過程為 當(dāng)系統(tǒng)內(nèi)某用戶A開啟郵件轉(zhuǎn)發(fā)服務(wù)后,凡是發(fā)給A的秘密郵件都直接轉(zhuǎn)發(fā)給 Proxy (例如A的秘書或者郵件服務(wù)器)。擁有重加密密鑰RKA2B的Proxy在獲得用戶A的 原始秘密郵件(稱為一級(jí)加密郵件)C = (&, C2)后,執(zhí)行下列操作
(1)計(jì)算f = g (Q, R3)mod q ;
(2)計(jì)算C2, = (C2)f mod p ; (3)令C' = (Q, C2' , R15 R2)為二級(jí)加密郵件,并將其通過公開信道轉(zhuǎn)發(fā)給系統(tǒng)內(nèi) 用戶B。
步驟106 :—級(jí)加密郵件解密,具體過程為 如果系統(tǒng)內(nèi)某用戶U收到的秘密郵件是一級(jí)加密郵件,即未經(jīng)過重加密的郵件C =(C" C2),則執(zhí)行如下解密步驟: (l)U計(jì)算f = MQ, Su)mod q,其中Su是用戶U自己的解密密鑰; (2)U計(jì)算E = (C2)—fmodq mod p ; (3)U從E中先取出后面L位,記為D,其余記為M ; (4) U計(jì)算r = h (E) mod q ; (5)U計(jì)算并驗(yàn)證等式[r]P = Q是否成立如果不成立,則說明C是一個(gè)無效的一 級(jí)密文(可能發(fā)送途中被篡改或者有傳輸錯(cuò)誤發(fā)生);否則,說明C是有效的一級(jí)密文,而 對(duì)應(yīng)計(jì)算出的M就是有效的解密后的原始郵件。
步驟107 :二級(jí)加密郵件解密,具體過程為 如果系統(tǒng)內(nèi)某用戶U收到的秘密郵件是二級(jí)加密郵件,即經(jīng)過重加密的郵件C =
(Q, C2' , Rn R2),則執(zhí)行如下加密步驟 (1)計(jì)算f = g (R" Su)mod q ; (2)計(jì)算X = (R2) 1/fm°dq mod p ; (3)計(jì)算rx = h(X)mod q ; (4)計(jì)算P' = [-rJP ; (5)計(jì)算g = MQ, P' )mod q ; (6)計(jì)算E = (C2, )g mod p ; (7)從E中先取出后面L位,記為D,其余記為M ;
8
(8)計(jì)算r = h(E)mod q ; (9)計(jì)算并驗(yàn)證等式[r]P = CI是否成立如果不成立,則說明C是一個(gè)無效的二
級(jí)密文(可能發(fā)送途中被篡改或者有傳輸錯(cuò)誤發(fā)生或者重加密不正確);否則,說明C是有
效的二級(jí)密文,而對(duì)應(yīng)計(jì)算出的M就是有效的解密后的原始郵件。 參見圖2,本實(shí)施例提供了一種基于身份的保密郵件轉(zhuǎn)發(fā)系統(tǒng),包括 系統(tǒng)參數(shù)生成模塊201,用于根據(jù)系統(tǒng)安全性要求選擇合適的系統(tǒng)參數(shù),并根據(jù)所
述系統(tǒng)參數(shù)生成PKG(即私鑰生成中心)所需的參數(shù); 用戶注冊(cè)模塊202,注冊(cè)用戶,并獲得用戶郵件地址相對(duì)應(yīng)的解密密鑰;
郵件加密模塊203,計(jì)算郵件接收者的公鑰,生成郵件和附加信息,加密后發(fā)送;
重加密密鑰生成模塊204,計(jì)算進(jìn)行二次加密時(shí)的重加密密鑰,并發(fā)送給半信任的 Proxy ^ 郵件重加密及轉(zhuǎn)發(fā)模塊205,對(duì)需要進(jìn)行轉(zhuǎn)發(fā)的秘密郵件進(jìn)行加密并轉(zhuǎn)發(fā);
—級(jí)加密郵件解密模塊206,對(duì)未經(jīng)過重加密轉(zhuǎn)發(fā)的加密郵件進(jìn)行解密;
二級(jí)加密郵件解密模塊207,對(duì)經(jīng)過重加密轉(zhuǎn)發(fā)的加密郵件進(jìn)行解密。
其中,系統(tǒng)參數(shù)生成模塊201包括 系統(tǒng)參數(shù)選擇單元,用于根據(jù)系統(tǒng)安全性要求選擇合適的系統(tǒng)參數(shù)。這些參數(shù)均 是需要公開的,主要包括兩個(gè)工作群& (生成元P)和G2,雙線性映射§ (定義從^ 到G2 上的),抗碰撞的Hash函數(shù)h, Map-to-point函數(shù)H,大素?cái)?shù)p和q,以及PKG的公鑰P。(由 下面的主私鑰選擇單元生成); 主私鑰選擇單元,用于根據(jù)所述系統(tǒng)參數(shù),選擇主私鑰(即私鑰生成中心PKG的私 鑰)s,并根據(jù)主私鑰計(jì)算PKG的公鑰P。。主私鑰s要保密,而PKG的公鑰P。則作為系統(tǒng)參 數(shù)之一而公開。 用戶注冊(cè)模塊202包括 注冊(cè)申請(qǐng)單元,用于讓需要注冊(cè)的用戶隨意選擇自己喜歡的郵件地址,并通過公 開信道發(fā)生給PKG,請(qǐng)求注冊(cè); 用戶身份鑒別單元,用于讓PKG在收到用戶的注冊(cè)申請(qǐng)之后,通過離線的物理的 方式確認(rèn)用戶的真實(shí)身份; 解密密鑰生成單元,用戶讓PKG在確認(rèn)用戶的注冊(cè)申請(qǐng)和相應(yīng)的身份后,根據(jù)用 戶選擇的郵件地址為用戶生成解密密鑰; 解密密鑰頒發(fā)單元,用于讓PKG將解密密鑰生成單元所生產(chǎn)的解密密鑰通過離線
的安全的方式發(fā)送給用戶。 郵件加密模塊203包括 公鑰生成單元,用于讓欲發(fā)送加密郵件的用戶(簡(jiǎn)稱發(fā)送者,下同)根據(jù)郵件接收 者(堅(jiān)持接收者,下同)的郵件地址生成相應(yīng)的加密公鑰; 填充因子選擇單元,用于讓發(fā)送者根據(jù)所述系統(tǒng)參數(shù),隨機(jī)選擇一個(gè)固定長(zhǎng)度的 二進(jìn)制串做為本次郵件加密的填充因子; 郵件封裝單元,用于讓發(fā)送者將欲加密的郵件跟所述填充因子封裝起來; 密文生成單元,用于讓發(fā)送者根據(jù)所述系統(tǒng)參數(shù)、所述公鑰、所述封裝起來的郵
件,生成相應(yīng)密文;
密文發(fā)送單元,用戶讓發(fā)送者將所述,密文通過公開信道發(fā)生給接收者。
重加密密鑰生成模塊204包括 代理公鑰計(jì)算單元,用于讓欲授權(quán)用戶(即一級(jí)加密郵件的解密者)根據(jù)所述系 統(tǒng)參數(shù)計(jì)算其所選中的被授權(quán)用戶(即二級(jí)加密郵件的解密者)的公鑰;
重加密密鑰生成單元,用于讓欲授權(quán)用戶計(jì)算郵件重加密密鑰; 重加密密鑰發(fā)生單元,用于讓欲授權(quán)用戶將所述重加密密鑰通過安全信道發(fā)送給 其所選中的一個(gè)半可信代理(例如欲授權(quán)用戶的秘書或者郵件服務(wù)器等)。
郵件重加密及轉(zhuǎn)發(fā)模塊205包括 郵件重加密單元,用于讓半可信代理將接收到的加密郵件進(jìn)行重加密; 重加密郵件轉(zhuǎn)發(fā)單元,用于讓所述半可信代理將所述重加密后的郵件通過公開信
道轉(zhuǎn)發(fā)給被授權(quán)的用戶(即二級(jí)加密郵件解密者)。 —級(jí)加密郵件解密模塊206包括 —級(jí)密文解密單元,用于讓用戶根據(jù)自己的私鑰,對(duì)所接收到的一級(jí)加密郵件進(jìn) 行試解密,得到帶填充的郵件明文; 驗(yàn)證單元,用于讓用戶根據(jù)所述系統(tǒng)參數(shù)和所述帶填充的郵件明文,驗(yàn)證原加密 郵件的完整性; 郵件解封單元,用于讓用戶根據(jù)所述帶有填充的郵件明文和所述填充方式,分離
出填充因子和不帶填充的郵件明文。 二級(jí)加密郵件解密模塊207包括 二級(jí)密文解密單元,用于讓用戶根據(jù)自己的私鑰,對(duì)所接收到的二級(jí)加密郵件進(jìn) 行試解密,得到帶填充的郵件明文; 驗(yàn)證單元,用于讓用戶根據(jù)所述系統(tǒng)參數(shù)和所述帶填充的郵件明文,驗(yàn)證二級(jí)加 密郵件的完整性; 郵件解封單元,用于讓用戶根據(jù)所述帶有填充的郵件明文和所述填充方式,分離 出填充因子和不帶填充的郵件明文。 上述方案中的全部或部分步驟可以通過指令控制相應(yīng)的硬件完成,該指令可以存 儲(chǔ)于存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì),如計(jì)算機(jī)或服務(wù)器的硬盤和內(nèi)存中。 以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
10
權(quán)利要求
一種基于身份的保密郵件轉(zhuǎn)發(fā)方法,其特征在于,所述方法包括根據(jù)系統(tǒng)安全性要求選擇系統(tǒng)參數(shù),并根據(jù)所述系統(tǒng)參數(shù)生成系統(tǒng)主私鑰(即私鑰生成中心PKG的私鑰);根據(jù)所述系統(tǒng)參數(shù)和所述主私鑰,為每個(gè)注冊(cè)用戶生成公鑰和私鑰;根據(jù)所述系統(tǒng)參數(shù)、所述公鑰和待發(fā)送郵件,生成一級(jí)加密郵件;根據(jù)所述系統(tǒng)參數(shù)和欲授權(quán)用戶的私鑰、被授權(quán)用戶的公鑰,生成重加密密鑰;根據(jù)所述一級(jí)加密郵件和所述重加密密鑰,生成二級(jí)加密郵件;根據(jù)所述用戶私鑰和所述一級(jí)或二級(jí)加密郵件,分別進(jìn)行解密。
2. 如權(quán)利要求1所述的一種基于身份的保密郵件轉(zhuǎn)發(fā)方法,其特征在于,所述根據(jù)系統(tǒng)安全性要求選擇系統(tǒng)參數(shù),并根據(jù)所述系統(tǒng)參數(shù)生成系統(tǒng)主私鑰(即私鑰生成中心PKG 的私鑰)的步驟包括首先,根據(jù)系統(tǒng)安全性要求選擇系統(tǒng)參數(shù),包括選擇合適的橢圓曲線以及定義在該曲線上的雙線性映射等;其次,為私鑰生成中心PKG選擇主私鑰,并計(jì)算相應(yīng)的公鑰;最后,選擇兩個(gè)哈希函數(shù)一個(gè)用于將任意二進(jìn)制串映射為所述橢圓曲線上的點(diǎn);另一個(gè)為一任意抗碰撞的哈希函數(shù)。
3. 如權(quán)利要求1所述的一種基于身份的保密郵件轉(zhuǎn)發(fā)方法,其特征在于,所述根據(jù)所述系統(tǒng)參數(shù)和所述主私鑰,為每個(gè)注冊(cè)用戶生成公鑰和私鑰的步驟包括首先,用戶選擇自己的郵件地址,并向PKG提出注冊(cè)申請(qǐng);其次,PKG接受用戶的注冊(cè)申請(qǐng),通過離線方式確認(rèn)用戶真實(shí)身份,并為用戶生成解密密鑰;最后,PKG將用戶的解密密鑰以離線的安全的方式發(fā)送給用戶。
4. 如權(quán)利要求1所述的一種基于身份的保密郵件轉(zhuǎn)發(fā)方法,其特征在于,所述根據(jù)所述系統(tǒng)參數(shù)、所述公鑰和待發(fā)送郵件,生成一級(jí)加密郵件的步驟包括首先,根據(jù)所述系統(tǒng)參數(shù)和接收郵件地址,生成加密公鑰;其次,根據(jù)所述系統(tǒng)參數(shù),對(duì)欲加密郵件進(jìn)行隨機(jī)填充;再次,根據(jù)所述系統(tǒng)參數(shù)、所述公鑰、所述填充后的郵件,生成一級(jí)加密郵件;最后,將所述一級(jí)加密郵件通過公開信道發(fā)送給接收方。
5. 如權(quán)利要求1所述的一種基于身份的保密郵件轉(zhuǎn)發(fā)方法,其特征在于,所述根據(jù)所述系統(tǒng)參數(shù)和欲授權(quán)用戶的私鑰、被授權(quán)用戶的公鑰,生成重加密密鑰的步驟包括首先,欲授權(quán)用戶根據(jù)所述系統(tǒng)參數(shù)和被授權(quán)用戶的郵件地址,生成被授權(quán)用戶的公鑰;其次,欲授權(quán)用戶根據(jù)所述系統(tǒng)參數(shù)和自己的私鑰以及所述被授權(quán)用戶的公鑰,為半可信代理生成重加密密鑰;最后,欲授權(quán)用戶將所述重加密密鑰通過安全信道發(fā)送給半可信代理。
6. 如權(quán)利要求1所述的一種基于身份的保密郵件轉(zhuǎn)發(fā)方法,其特征在于,所述根據(jù)所述一級(jí)加密郵件和所述重加密密鑰,生成二級(jí)加密郵件的步驟包括首先,根據(jù)所述系統(tǒng)參數(shù)、所述一級(jí)加密郵件和所述重加密密鑰,生成二級(jí)加密郵件;其次,將所述二級(jí)加密郵件通過公開信道轉(zhuǎn)發(fā)給被授權(quán)用戶。
7. 如權(quán)利要求1所述的一種基于身份的保密郵件轉(zhuǎn)發(fā)方法,其特征在于,所述根據(jù)所 述用戶私鑰和所述一級(jí)或二級(jí)加密郵件,分別進(jìn)行解密的步驟包括首先,根據(jù)所述加密郵件的結(jié)構(gòu)特征區(qū)分為一級(jí)或二級(jí)加密郵件; 其次,根據(jù)所述系統(tǒng)參數(shù)、所述一級(jí)(或二級(jí))加密郵件和郵件接收者的私鑰,進(jìn)行試解密,得到帶有隨機(jī)填充的郵件明文;再次,根據(jù)所述系統(tǒng)參數(shù)和所述帶有填充的郵件明文,驗(yàn)證一級(jí)(或二級(jí))加密郵件的完整性;最后,根據(jù)所述系統(tǒng)參數(shù)、所述填充方式分離出填充因子和不帶填充的郵件明文。
8. —種基于身份的保密郵件轉(zhuǎn)發(fā)系統(tǒng),其特征在于,所述系統(tǒng)包括系統(tǒng)參數(shù)生成模塊,用于根據(jù)系統(tǒng)安全性要求選擇合適的系統(tǒng)參數(shù),并根據(jù)所述系統(tǒng)生成PKG(即私鑰生成中心)所需的參數(shù);用戶注冊(cè)模塊,用于讓用戶進(jìn)行注冊(cè),并獲得用戶郵件地址相對(duì)應(yīng)的私鑰; 郵件加密模塊,用于讓郵件發(fā)送方根據(jù)接收方的郵件地址生成加密公鑰及相應(yīng)的加密郵件;重加密密鑰生成模塊,用于讓欲授權(quán)用戶根據(jù)自己的私鑰和被授權(quán)用戶郵件地址計(jì)算 相應(yīng)重加密密鑰;郵件重加密及轉(zhuǎn)發(fā)模塊,用于讓半可信代理根據(jù)一級(jí)加密郵件和所述重加密密鑰生成 二級(jí)加密郵件,并轉(zhuǎn)發(fā)給被授權(quán)用戶;一級(jí)加密郵件解密模塊,用于讓郵件的接收者根據(jù)自己的私鑰解密一級(jí)加密郵件; 二級(jí)加密郵件解密模塊,用于讓郵件的接收者根據(jù)自己的私鑰解密二級(jí)加密郵件。
9. 如權(quán)利要求8所述的基于身份的保密郵件轉(zhuǎn)發(fā)系統(tǒng),其特征在于,所述系統(tǒng)參數(shù)生 成模塊包括系統(tǒng)參數(shù)選擇單元,用于根據(jù)系統(tǒng)安全性要求選擇合適的系統(tǒng)參數(shù); 主私鑰選擇單元,用于根據(jù)所述系統(tǒng)參數(shù),選擇PKG的主私鑰。
10. 如權(quán)利要求8所述的基于身份的保密郵件轉(zhuǎn)發(fā)系統(tǒng),其特征在于,所述用戶注冊(cè)模 塊包括注冊(cè)申請(qǐng)單元,用于讓用戶選擇自己的郵件地址,并進(jìn)行注冊(cè)申請(qǐng); 用戶身份鑒別單元,用于讓PKG驗(yàn)證用戶的真實(shí)身份;解密密鑰生成單元,用戶讓PKG在確認(rèn)用戶的身份后,為用戶生成解密密鑰; 解密密鑰頒發(fā)單元,用于讓PKG將用戶的解密密鑰通過安全信道發(fā)送給用戶。
11. 如權(quán)利要求8所述的基于身份的保密郵件轉(zhuǎn)發(fā)系統(tǒng),其特征在于,所述郵件加密模 塊包括公鑰生成單元,用于根據(jù)郵件地址生成相應(yīng)的加密公鑰; 填充因子選擇單元,用于選擇本次郵件加密的填充因子; 郵件封裝單元,用于將欲加密的郵件跟所述填充因子封裝起來;密文生成單元,用于根據(jù)所述系統(tǒng)參數(shù)、所述公鑰、所述封裝起來的郵件,生成相應(yīng)加 密郵件;密文發(fā)送單元,用于將所述加密郵件通過公開信道發(fā)送給接收者。
12. 如權(quán)利要求8所述的基于身份的保密郵件轉(zhuǎn)發(fā)系統(tǒng),其特征在于,所述重加密密鑰生成模塊包括代理公鑰計(jì)算單元,用于根據(jù)所述系統(tǒng)參數(shù)計(jì)算其所選中的被授權(quán)用戶的公鑰; 重加密密鑰生成單元,用于計(jì)算重加密密鑰;重加密密鑰發(fā)生單元,用于將所述重加密密鑰通過安全信道發(fā)送給半可信代理。
13. 如權(quán)利要求8所述的基于身份的保密郵件轉(zhuǎn)發(fā)系統(tǒng),其特征在于,所述郵件重加密 及轉(zhuǎn)發(fā)模塊包括郵件重加密單元,用于將接收到的加密郵件進(jìn)行重加密;重加密郵件轉(zhuǎn)發(fā)單元,用于將所述重加密后的郵件通過公開信道轉(zhuǎn)發(fā)給被授權(quán)的用戶。
14. 如權(quán)利要求8所述的基于身份的保密郵件轉(zhuǎn)發(fā)系統(tǒng),其特征在于,所述一級(jí)加密郵 件解密模塊包括一級(jí)密文解密單元,用于對(duì)所接收到的一級(jí)加密郵件進(jìn)行試解密,得到帶填充的郵件 明文;驗(yàn)證單元,用于根據(jù)所述系統(tǒng)參數(shù)和所述帶填充的郵件明文,驗(yàn)證原加密郵件的完整性;郵件解封單元,用于根據(jù)所述帶有填充的郵件明文和所述填充方式,分離出填充因子和不帶填充的郵件明文。
15. 如權(quán)利要求8所述的基于身份的保密郵件轉(zhuǎn)發(fā)系統(tǒng),其特征在于,所述二級(jí)加密郵 件解密模塊包括二級(jí)密文解密單元,用于對(duì)所接收到的二級(jí)加密郵件進(jìn)行試解密,得到帶填充的郵件 明文;驗(yàn)證單元,用于根據(jù)所述系統(tǒng)參數(shù)和所述帶填充的郵件明文,驗(yàn)證二級(jí)加密郵件的完 整性;郵件解封單元,用于根據(jù)所述帶有填充的郵件明文和所述填充方式,分離出填充因子 和不帶填充的郵件明文。
全文摘要
本發(fā)明公開了一種新型的基于身份的保密郵件轉(zhuǎn)發(fā)系統(tǒng),屬于通信領(lǐng)域。所述方法包括根據(jù)系統(tǒng)安全要求選擇系統(tǒng)參數(shù)并生成系統(tǒng)主私鑰(即私鑰生成中心PKG的私鑰);PKG接收用戶注冊(cè)申請(qǐng)并根據(jù)用戶自己選擇的郵件地址為用戶生成私鑰;根據(jù)用戶郵件地址生成一級(jí)加密郵件;根據(jù)系統(tǒng)參數(shù)生成重加密密鑰;根據(jù)一級(jí)加密郵件和重加密密鑰生成二級(jí)加密郵件并轉(zhuǎn)發(fā);根據(jù)用戶私鑰分別對(duì)一級(jí)或二級(jí)加密郵件解密。本發(fā)明基于定義在橢圓曲線上的雙線性配對(duì)實(shí)現(xiàn),使用了新型的隨機(jī)填充模式來保證了密文的非延展性,增強(qiáng)了一級(jí)和二級(jí)加密郵件的安全性。
文檔編號(hào)H04L29/06GK101710879SQ20091000069
公開日2010年5月19日 申請(qǐng)日期2009年1月14日 優(yōu)先權(quán)日2009年1月14日
發(fā)明者周世正, 周菁, 梁輝, 汪立寶, 潘平, 潘耘 申請(qǐng)人:中國(guó)傳媒大學(xué)