1
可訊息回復之免憑證簽章機制之研究
Certificateless Signatures with Message Recovery
左瑞麟
National Chengchi University, Taiwan, ROC
詹省三
National Chengchi University, Taiwan, ROC
陳淵順
National Chengchi University, Taiwan, ROC
陳力瑋
National Chengchi University, Taiwan, ROC
摘要(Abstract)
在傳統的簽章機制中,我們需要一個具有公 信力的第三方 (Trusted Third Party,TTP) 來核發 數位憑證,以驗證公開金鑰確實屬於簽章者所擁 有,為了減少 TTP 的負擔,於是就有學者提出了 免憑證簽章 (Certificateless Signature) 機制。另 一方面,具有訊息回復 (Message Recovery) 功能 的數位簽章是指原始訊息不需要與簽章一起傳 送 給 接 收者 以 簡化 訊息 及簽 章在 傳送 時 的 長 度。本論文中我們提出了一個具有訊息回復功能 的免憑證簽章機制,和一般簽章方式相比,我們 的方法不僅具有免憑證簽章的優點,訊息回復功 能也減少了訊息和簽章的總長度,提昇了訊息的 傳送效率 (Communication Cost),在效能方面也 表現的不錯,因此非常適用於以頻寬為主要考量 的公司組織以及對短訊息作簽章的應用,本研究 也是第一個提出具有訊息回復功能之免憑證簽 章方法。
In traditional digital signature systems, a trusted third party (TTP) is required in order to issue a digital certificate. The certificate is to assure that the public key actually belongs to the person of the signature. The management of certificates
including revocation, storage and distribution is considered to be costly. ID-based signatures do not need a certificate but has the key escrow problem. In 2003, the concept of certificateless signature scheme was introduced. It successfully removed the necessity of certificates and the key escrow problem. On the other hand, a digital signature with message recovery is a signature that the message itself is not required to be transmitted together with the signature. It has the advantage of small data size of communication. In this paper, a certificateless signature with message recovery is proposed. It inherits both the advantages of certificateless signatures and signatures providing message recovery. The performance of our scheme is compared with other schemes which shows that our scheme is quite efficient. We emphasize that this is the first work that proposing the certificateless signatures with message recovery.
關鍵詞:雙線性配對(Bilinear Paring)、免憑證簽 章(Certificateless Signature)、訊息回復 (Message Recovery)
2
一、緒論
在現今的電子化社會裡,數位簽章一直都扮 演極為重要的角色,而我們主要是利用它的訊息 完整性來達到防止接收到的訊 息被更改以及利 用其可驗證性來檢驗使用者是否合法。在傳統的 簽章機制中,為了驗證公開金鑰確實屬於簽章者 所擁有,我們需要一個具有公信力的 TTP 來核 發數位憑證,藉由驗證此數位憑證來驗證使用者 的 公 開 金 鑰 。 但 憑 證 的 註 銷 (Certificate Revocation) 等等的問題會造成 TTP 過多的負 擔。另外,對簽名的驗證者來說,憑證的驗證也 增加了許多的計算成本(Computation Cost)。 在 1984 年的時候,Shamir[7]提出了第一個 基於身份認證的簽章方法 (ID-based Signature), ID-based signature 的優點是允許簽名者以個人訊 息來當作他的公開金鑰,例如 email address、姓 名、電話號碼等,如此接收者就不需要透過憑證 去驗證公開金鑰的合法性,也大幅地減少了 TTP 的計算量與記憶體空間,在這裡我們稱 TTP 為 PKG (Private Key Generator) ,然而,由於所有簽 名 者 的 私 密 金 鑰 皆 是 由 PKG 所 生 成 , 所 以 ID-based signature 可 能 會 有 金 鑰 託 管 ( Key escrow)的問題,這會導致 PKG 的權限過大,PKG 可假冒簽名者對任意訊息做簽名,因此簽名者也 可以否認之前所簽過的訊息,這並不符合數位簽 章中的不可否認性。 為了解決金鑰託管的問題,在2003年的時 候,Al-Riyami等學者[1]提出了免憑證簽章的概 念,它同時具有傳統簽章與ID-based signature的 優 點, 既 可解 決 金鑰控 管的問 題 ,也可 保 有 ID-based signature免憑證的特點,其主要的差異 在於簽名者的私密金鑰並不是完全由PKG所生 成,所以PKG無法得知簽名者的私密金鑰。 在1993年的時候,Nyberg等學者[6]提出了第 一個具有訊息回復之數位簽章,此方法是基於離散對數問題(Discrete Logarithm Problem),自此以 後,關於這方面的研究也如雨後春筍般的出現, 直到2005年的時候,Zhang等學者[10]提出了第一 個具有訊息回復之ID-based signature,基於Zhang 等學者以及Barreto等學者[3]的概念,在2007年的 時候,Tso等學者[8]提出了更有效率的方法,而 我們的方法則是基於Tso等學者的概念下去做延 伸。 具有訊息回復功能的數位簽章是指原始訊 息不需要與簽章一起傳送給接收者,且接收者可 在驗證階段利用一些公開參數與簽章去回復原 始的訊息,這類型的簽章其目的是為了簡化簽章 在傳送時的長度,因此非常適用於以頻寬為主要 考量的公司組織以及對短訊息作簽章的應用。 本研究擷取免憑證簽名系統及訊息回復功 能數位簽章的優點,提出免憑證簽章結合訊息回 復的概念。本研究是第一個提出此概念的文章, 另外,提案方式在效能方面也有不錯的表現。 關於本篇文章的章節,在接下來第二部份我 們會介紹一些相關的背景知識,第三部份則是我 們提出的方法,第四部份我們會針對一些安全性 問題去做分析,第五部份則是效能分析與比較, 最後一部分則是我們對本研究的結論。
二、相關背景知識
1. 雙線性配對 (Bilinear Pairing) 1 G 為一加法群 (Additive Group),序 (Order)為q,G 為一乘法群 (Multiplicative 2 Group) , 序 也 為 q 。 P 是 G 的 生 成 元1 (Generator),則一個雙線性配對表示為 e: 1 G ×G →1 G ,具有以下三種性質[4,9]: 2 (1) 雙線性(Bilinear):P, Q∈G 及 a,b1 ∈Z ,∗q e(aP,bQ)=e(P,Q)ab。3 (2) 非退化性(Non-degenerate):P, Q∈G ,1 滿足 e(P,Q)≠ 1。 (3) 可計算性(Computable):P, Q∈G ,存1 在一有效率的演算法可計算 e(P,Q)。 在密碼學的研究領域,為符合系統安全 的需求,通常會有許多計算難問題的假設, 以下是對本研究相關的難問題做定義[2,5]: (1) 橢圓曲線離散對數問題(ECDLP) 橢圓曲線離散對數問題(Elliptic Curve Discrete Logarithm Problem,ECDLP),在
有限體 Fp之下,給定橢圓曲線 E 上的 兩個相異點 P 和 Q,要求得整數 k 並滿 足 Q=kP 是很困難的。 (2) 雙線性 Diffie-Hellman 問題(BDHP) 雙 線 性 Diffie-Hellman 問 題 (Bilinear Diffie-Hellman Problem,BDHP) , a,b,c∈ Z 為未知數,給定 P,aP,bP,cP ∗q ∈G ,要求得 e(P,Q)1 abc ∈ 2 G 是非常難 解的。 2. 基本架構(Scheme Model) 本研究中,關於我們提出的免憑證簽章 大致可以定義成七個階段,如下所述: (1) Setup 此階段 PKG 會生成一對金鑰,且會公 開一些系統參數。 (2) Partial-Private-Key-Extract 此階段 PKG 會根據使用者的身份識別 ID 生成部份的私密金鑰與公開金鑰並 將部份私密金鑰傳送給使用者。 (3) Set-Secret-Value 此階段使用者會隨機選取一秘密參數。 (4) Set-Private-Key 此階段使用者會利用秘密參數做一些 運算,得到的結果為使用者的私密金 鑰。 (5) Set-Public-Key 此階段使用者會利用秘密參數做一些 運算,得到的結果為使用者的公開金 鑰。 (6) Sign 此階段使用者會利用私密金鑰與公開 的系統參數去對訊息做簽章。 (7) Verify 此階段使用者可透過一決定型的演算 法去驗證簽章的合法性。 3. 安全性定義(Security Definition) 由於 PKG 不再是公正的 TTP,再加上 簽名者持有自己生成的私密金鑰,所以免憑 證簽章的安全性通常會分兩種情況討論,如 下所述: Type I 攻擊者 此種情況是假設 PKG 是公正的 TTP,攻擊者無法從 PKG 那裡得到 PKG 所生成的部份私密金鑰,但攻擊者會嘗 試偽造簽名者的私密金鑰去做攻擊,此 種攻擊者我們歸為 Type I 攻擊者。 Type II 攻擊者 此種情況是假設在 PKG 不是公正 的 TTP 且 PKG 不可替換簽名者生成的 金鑰下,攻擊者可輕易地從 PKG 那裡 得到 PKG 所生成的部份私密金鑰,但 無 法 得 到 與 簽 名 者 相 對 應 的 私 密 金 鑰,基於這種假設的攻擊者我們歸為 Type II 攻擊者。 若免憑證簽章系統可以抵擋此兩種攻擊者 的攻擊,則我們可以說此系統是安全的。
4 4. 符號標記 本研究中我們會使用到一些符號,其定義如 下: a :a 字串與 b 字串結合的連續字串。 b ⊕:二進位系統中的 X-OR 運算。
[ ]
x10:x 的十進位表示法且 x∈{ }
∗ 1 , 0 。 [ ]
y :y 的二進位表示法且 y2 ∈Z。 β 1 l :從β 左側開始算起的l 位元(最高1 有效l 位元)。1 2 l β :從 β 右側開始算起的l 位元(最低2 有效l 位元)。2三、可訊息回復之免憑證簽章方法
在此章節我們將會提出可訊息回復之免憑 證簽章的方法,關於訊息回復在我們的方法中我 們分兩點討論,第一點就是訊息長度有限制,但 可以回復完整的訊息,例如,m∈{ }
0,1l1即 m 的 長度限制為l ,第二點則是訊息長度不限制,但1 只能回復部份的訊息,以下我們會個別提到。 I. 限制訊息長度之免憑證簽章 我們需要七個步驟來達到本系統設計的方 法及目的,其分述如下: [Setup] 首先 PKG 隨機選取一亂數 s∈Z 為 PKG 的q∗ 私密金鑰,接著計算Ppub=sP 為 PKG 的公開金鑰。 最後 PKG 公開系統參數給使用者: <G ,1 G ,q,e,P, 2 Ppub,µ ,H ,1 H ,2 F ,1 F ,2 l ,1 l > 2 且系統參數的定義分別如下: G ,1 G 皆為相同序2 q的循環群,且 q =l +1 l 2 e:G1×G →1 G 2 µ =e(P,P) H1:{ }
0,1∗ →G1,輸入為{ }
0,1∗的字串,輸出 為G 中的元素的單向雜湊函數 (one way 1 hash function) H2 :{ }
0,1∗ →Zq∗,輸入為{ }
∗ 1 , 0 的字串,輸出 為Z 中的元素的單向雜湊函數 q∗ F :1{ }
0,1l1 →{ }
0,1l2,輸入為{ }
0,1l1的字串, 輸出為{ }
0,1l2的字串的單向雜湊函數 F :2{ }
0,1l2 →{ }
0,1l1,輸入為{ }
0,1l2的字串, 輸出為{ }
0,1l1的字串的單向雜湊函數 [Partial-Private-Key-Extract] PKG 會根據簽名者 A 的身份識別ID 計算A = A Q H1( )
IDA 為簽名者 A 的部份公開金鑰。接 著 PKG 會計算DA =sQA為簽名者 A 的部份私密 金鑰,並將部份私密金鑰傳送給簽名者 A。 [Set-Secret-Value] 簽名者 A 隨機選取一亂數XA∈Z 。 q∗ [Set-Private-Key] 簽名者 A 計算SA =XAQA為自己的私密金 鑰。5 [Set-Public-Key] 簽名者 A 計算 pkA = XAP為自己的公開金 鑰。 [Sign] 針對一欲簽名的訊息m∈
{ }
0,1l1,簽名者 A 會執行以下步驟來對 m 做簽名: (1) 計算β = F1( )
m(
F2(
F1( )
m)
⊕m)
,接著定 義α =[ ]
β 10。 (2) 隨 機 挑 選 一 亂 數 r∈Zq∗ , 接 著 計 算( )
µ +α = r H V 2 。 (3) 計算U =rP+V(
DA +SA)
。 最後得到對 m 的簽名為σ =(
U ,V)
。 [Verify] 針對簽名σ,使用者可依以下步驟驗證σ 是 否合法: (1) 使用者根據簽名σ =(
U ,V)
及公開的參 數可計算出:(
)
(
)
(
v)
pub A A pk P Q e P U e H V − ⋅ + − = 2 , , α 。 (2) 接著可推算出β =[ ]
α 2。 (3) 回復訊息( )
1 2 2 l l F m′= β ⊕ β 。 (4) 若 F( )
m l2 β = 1 ′ 則表示此簽章σ 為合法 簽章。 此方法的正確性可被證明如下: 因為 V H(
e(
U P)
e(
QA pkA Ppub)
v)
− + ⋅ − = 2 , , α( )
(
(
)
(
A A pub)
v)
r P pk Q e P U e H H + − ⋅ + − = 2 µ α 2 , , 所 以 我 們 只 需 證µ =r(
)
(
)
v pub A A pk P Q e P U e , ⋅ , + − 的等式是否成立即可:(
)
(
)
v pub A A pk P Q e P U e , ⋅ , + − =e(
rP+V(
DA+SA)
,P)
⋅(
)
v pub A A pk P Q e , + − =e(
rP,P) (
⋅e DA +SA,P)
V ⋅(
)
v pub A A X P P Q e , + − = e(
P,P)
r ⋅ e(
DA,P) (
V ⋅e SA,P) (
V ⋅eQA,XAP)
−V ⋅(
)
V A sP Q e , − = e(
P,P)
r ⋅ e(
DA,P) (
V ⋅e SA,P) (
V ⋅e XAQA,P)
−V ⋅(
)
V A P sQ e , − = e(
P,P)
r ⋅ e(
DA,P) (
V ⋅e SA,P) (
V ⋅e SA,P)
−V ⋅(
)
V A P D e , − =e(
P,P)
r =µr 若 σ 是 合 法 的 簽 名 , 則[ ]
β 10 =α 且( )
m(
F(
F( )
m)
m)
F ⊕ = 1 2 1 β =β =[ ]
α 2。 因此,我們可以得到:( )
2 1 2 l l F β ⊕ β =F2(
F1( )
m)
⊕(
F2(
F1( )
m)
⊕m)
=m 最後,若 F( )
m l2 β = 1 ,則即可驗證訊息的正 確性。6 II. 不限制訊息長度之免憑證簽章 針對長訊息,簽名的步驟與方法大致上跟前 面所提的一樣,因此這裡我們只針對有修改的部 份做討論: [Setup] 在這個步驟我們只修改了F ,新的定義如1 下: F :1
{ }
0,1∗ →{ }
0,1l2 [Sign] 此階段針對一欲簽名的訊息m∈ 1{ }
0, ∗,簽名 者 A 會執行以下步驟來對 m 做簽名: (1) 計算β = F1( )
m(
F2(
F1( )
m)
⊕m)
,接著定 義α =[ ]
β 10。 (2) 將訊息 m 劃分為m2 m1且{ }
1 1 , 0 1 l m ∈ 。 (3) 隨 機 挑 選 一 亂 數 r∈Zq∗ , 接 著 計 算( )
µ +α = r H V 2 。 (4) 計算U =rP+V(
DA +SA)
。 最後我們將 m 的簽名σ =(
U ,V)
及部份訊息 2 m 送給驗證者。 [Verify] 針對簽名σ,使用者可依以下步驟驗證σ 是 否合法: (1) 使用者根據簽名σ =(
U ,V)
及公開的參 數可計算出:(
)
(
)
(
v)
pub A A pk P Q e P U e H V − ⋅ + − = 2 , , α 。 (1) 接著可推算出β =[ ]
α 2。 (2) 回復部份訊息( )
1 2 2 1 F l l m′= β ⊕β 。 (3) 若 1(
2 1)
2 m m F l β = ′ 則表示此簽章σ 為合 法簽章。 (4) 若簽章σ 為合法簽章,我們可以回復訊 息m=m2 m1′。 關於此改良方法的正確性,其證明與前面所 述差不多,故這裡就不多做介紹。四、安全性分析
因為上一章節中所提到的兩種簽名方法很 類似,所以在此章節我們只針對有限制訊息長度 之免憑證簽章做安全性分析,且我們會分兩種攻 擊者來做個別討論,如下所述: Type I 攻擊者 因為 PKG 是公正的 TTP,所以攻擊者 F 沒有辦法從 PKG 那得知簽名者 A 的D ,雖A 然攻擊者 F 知道Ppub,但基於 ECDLP 也無 法推算出 s,因此攻擊者 F 沒有辦法去計算 出簽名者 A 的D ,即使攻擊者 F 嘗試隨機A 選取一隨機亂數s′來計算出D′ ,且隨機選A 取一亂數X ′ 來偽造簽名者 A 的A S ′ 與A p ′ ,kA 則攻擊者 F 可以利用偽造的金鑰來得到 U ′,最後得到的簽章為σ′=(
U ,′V)
,但在驗 證階段,驗證者利用σ′與一些公開參數算出 的α′,並不能推算出正確的β 值,所以驗證 者進行驗證時,利用α′推算出的β′去做驗 證 F( )
m l2 = 1 ′ β 是不會成立的,因此本研究 所提出的免憑證簽章具有不可偽造性,所以 我們認為這個方法是安全的。7 Type II 攻擊者 因為 PKG 不是公正的 TTP,所以攻擊 者 F 可以輕易地得知簽名者 A 的D ,但沒A 辦法得知簽名者 A 相對映的S ,雖然攻擊A 者 F 知道pk ,但基於 ECDLP 也無法推算A 出X ,因此攻擊者 F 沒有辦法去計算出簽A 名者 A 的S ,簽名時與 Type I 攻擊者遇到A 的問題一樣,即使攻擊者 F 偽造出簽名者 A 的S ′ 與A p ′ ,但由於不知道真正的kA S ,所A 以 利 用 最 後 得 到 的 簽 章σ′=
(
U ,′V)
去 做( )
m F l2 = 1 ′ β 的驗證也是不會成立的,因此 基於 Type II 攻擊者的假設下,本研究所提 出的免憑證簽章也是具有不可偽造性的,所 以我們認為這個方法是安全的。五、效能分析
根據表 1,由於 ZSM[10]與 Tso[8]的方法皆 是 ID-based signature,所以都會有金鑰控管的問 題,然而,我們提出的方法是基於 Certificateless 的概念,所以我們不會有此問題。效能運算方 面,1Exp 代表一次的指數運算,1EC 代表一次 的橢圓曲線運算,1e 代表一次的雙線性配對運 算,所以由表 1 我們可以發現我們的方法在簽章 跟驗證階段的效能運算都不會太差,甚至還要更 好,但我們最主要的優勢就是沒有金鑰控管的問 題。 表 1、效能分析與比較 Key escrow Sign Verify Scheme1* N 1Exp+2EC 1e+1Exp Scheme2 N 1Exp+2EC 1e+1Exp ZSM[10]1* Y 1Exp+2EC 2e+1Exp+1EC ZSM[10]2 Y 1Exp+2EC 2e+1Exp+1EC Tso[8]1* Y 1Exp+1EC 1e+1Exp+1EC Tso[8]2 Y 1Exp+1EC 1e+1Exp+1EC註:*為有限制訊息長度之簽章方法
六、結論
本研究為第一個利用免憑證簽章的概念去 實現訊息回復的功能,我們的方法不只在效能上 有不錯的表現,而且也沒有金鑰控管的問題,同 時又能簡化簽章和訊息在傳送時的總長度,因此 我們的方法非常適用於以頻寬為主要考量的行 動網路服務以及需要大量對短訊息做簽章的相 關應用,未來我們希望可以再降低其運算量以及 增加其安全性,使這些優點更適合應用在行動通 訊網路上。七、參考文獻
[1] S. Al-Riyami, K. Paterson, “Certificateless
public key cryptography”, Advances in Cryptology-Asiacrypt’03, Springer-Verlag, LNCS 2894, 2003, pp.452-473.
[2] F. Bao, R. Deng, and H. Zhu, “Variations of
Diffie-Hellman Problem,” In Proceedings of ICICS 2003, LNCS 2836, Springer-Verlag, 2003, pp. 301-312.
[3] P. S. L. M. Barreto, B. Libert, N. McCullagh, and J. Quisquater, “Efficient and provably-secure identity-based signatures and signcryption from bilinear maps”, Advances in cryptology –ASIACRYPT’05, Lecture Notes in Computer Science 3778, pp.515–532, 2005.
[4] D. Boneh, B. Lynn, and H. Shacham, “Short
Signatures from the Weil Pairing,” Advances in Cryptology - ASIACRYPT 2001, LNCS 2248, 2001, pp. 516-534.
[5] IEEE Standard Specifications for Public-Key
Cryptography, IEEE 1363-2000, 2000.
[6] K. Nyberg and R. A. Tuepple, “A new
signature scheme based on the DSA giving message recovery”, Proceedings of the 1st ACM conference on communication and Computer security, pp.58–61, 1993
8 [7] A. Shamir, “Identity-based cryptosystems and
signature schemes”, Advances in cryptology –CRYPTO’84, Lecture Notes in Computer Science 0196, pp.47–53, 1984.
[8] R. Tso, C. Gu, T. Okamoto, and E. Okamoto, “Efficient ID-based digital signatures with message recovery”, in Proceedings of the 6th International Conference on Cryptology and Network Security (CANS2007), Springer, Lecture Notes in Computer Science, Vol. 4856, pp. 47-59, 2007.
[9] F. Zhang, and K. Kim, “Efficient ID-based
Blind Signature and Proxy Signature from Bilinear Pairings,” The 8th Australasian Conference on Information Security and Privacy, 2003, pp. 312-323.
[10] F. Zhang, W. Susilo, and Y. Mu,
“ Identity-based partial message recovery signatures (or How to shorten ID-based signatures) ”, FC’05, Lecture Notes in Computer Science 3570, pp.45–56, 2005.