免憑證代理簽名及其代理盲簽名擴張 - 政大學術集成
全文
(2) 免憑證代理簽名及其代理盲簽名擴張 Certificateless Proxy Signature and Its Extension to Blind Signature. 研究生:陳力瑋. Student:LI WEI CHEN. 指導教授:左瑞麟. Advisor:RAY LIN TSO. 立. 政 治 大 國立政治大學. ‧ 國. 學. 資訊科學系 碩士論文. ‧ sit. y. Nat. er. io. A Thesis. n. submittedato Department of Computer v Science. l. i. C h Chengchi University National Un engchi. in partial fulfillment of the Requirements for the degree of Master in Computer Science. 中華民國一百年二月 February 2011.
(3) 免憑證代理簽名及其代理盲簽名擴張. 摘要. 在傳統的公開金鑰簽章系統中,用戶的公鑰需要一個可信第三方(Trusted Third Party-TTP)發給憑證來保證其可靠性。其後 Shamir 提出基於使用者身. 政 治 大. 分的簽名機制(ID-Based Signature) 儘管不需要憑證,但此種系統的概念中,. 立. ‧ 國. 學. TTP 仍然扮演著強大的角色,隨之而來的是金鑰託管(Key Escrow)的問題。 而在 2003 年時提出的免憑證簽章系統 Certificateless Signature Scheme(CL-S). ‧. sit. y. Nat. 概念中,不僅不需要憑證也同時解決了 Key Escrow 的問題。本篇文章便是. a. er. io. 基於 CL-S 的概念下,發展出一套免憑證的可代理簽章系統(CL-Proxy. n. v l Signature)。並且可利用簡單的方式使我們的系統擴張成為一個支援盲簽名 ni Ch. engchi U. (Blind Signature)的免憑證代理盲簽章系統。. I.
(4) Certificateless Proxy Signature and Its Extension to Blind Signature. Abstract. 政 治 大 Traditional public key cryptosystem (PKC) requires a Trusted-Third-Party(TTP) 立. ‧ 國. 學. for the management of certificates of users’ public keys. To solve this problem, Shamir introduced the concept of ID based signature scheme. Although the ID. ‧. based signature scheme doesn't require the certificate management, TTP still. sit. y. Nat. plays an important role here. In addition, ID-based schemes have the key escrow problem. In 2003, a certificateless signature scheme has been introduced. In a. er. io. n. certificateless signature scheme, certificates are not required on one hand and a v. i l C n U can solve the key escrow problem the other h eonn g c h i hand. In this paper, based on the concept of certificateless, we introduce a certificateless proxy signature scheme. A remarkable feature of our scheme is that it can be extended into a certificateless proxy blind signature.. II.
(5) 致謝 本篇論文得以順利完成,首先要感謝我的指導教授-左瑞麟老師。在 政大兩年的研究生涯,左老師給予我們許多寶貴的意見,讓原本對密碼學 懵懵懂懂的我們,體會到研究的樂趣,並且得以在這領域上,努力做出貢 獻。. 政 治 大. 同時也相當感謝辛苦的兩位口試委員,李正卲教授及胡毓忠教授。由. 立. 於兩位老師的寶貴建議,讓我的論文可以更為完備。. ‧ 國. 學. 另外,我也要感謝實驗室草創時期的幾位成員,ISLAB 的詹省三和陳. ‧. 淵順同學、CGLAB 的王玉炫和詹毓君同學,我不會忘記這些一起努力,一起. er. io. sit. y. Nat. 玩樂的日子。. 當然我在這裡也要感謝我親愛的父母、姐姐以及姊夫,你們是我最強大 a. n. iv l C n hengchi U 的後盾,讓我在做研究的路上不用為了其他的事情而分心,謝謝你們。. 最後我要感謝 Plurk 上和 Facebook 上的所有好夥伴,在做研究路上不 順遂時,因為你們,我才能衝破藩籬,得以堅持到最後。尤其是陳維麒、 黃炳勛、何佳芸這幾位朋友,謝謝你們一路來的容忍與支持。 Dear all I love you.. III.
(6) 目錄. 摘要 .............................................................................................................................................I Abstract ...................................................................................................................................... II 致謝 .......................................................................................................................................... III 目錄 .......................................................................................................................................... IV. 政 治 大. 圖目錄 ...................................................................................................................................... VI. 立. ‧ 國. 學. 表目錄 .................................................................................................................................... VII 前言 ........................................................................................................................ 1. 第二章. 相關研究 ................................................................................................................ 4. y. Nat. io. sit. 雙線性配對 ................................................................................................................ 4. er. 2.1. ‧. 第一章. a). 雙線性配對 (Bilinear Pairing) .................................................................................. 4. b). 難問題假設 ................................................................................................................ 5. n. 2.2. al. Ch. engchi. i Un. v. 近代密碼學簡介 ........................................................................................................ 6. 1.. 對稱式金鑰密碼系統 (Symmetric Key Cryptosystem): ....................................... 7. 2.. 非對稱式金鑰密碼系統(Asymmetric Key Cryptosystem): ................................... 8. 2.3. 數位簽章 .................................................................................................................. 10. 2.4. PKI 簽章系統 ........................................................................................................... 12. 2.4.1. RSA 密碼系統 ..................................................................................................... 12. 2.4.2. ElGamal 數位簽章法 ........................................................................................... 13. 2.4.3. Schnorr 數位簽章法 ............................................................................................ 14. IV.
(7) 2.4.4 2.5 2.5.1 2.6. PKI 簽章系統下的缺點 ....................................................................................... 15 ID-BASED 簽章系統 .............................................................................................. 16 Shamir 的 ID-based Cryptosystem and Signature Schemes ................................ 16 CERTIFICATELESS 簽章系統 .............................................................................. 19. 2.6.1. Certificateless Public Key Cryptography ............................................................. 19. 2.6.2. Certificateless Public Key Signature .................................................................... 21. 2.6.3. 系統安全性 .......................................................................................................... 22. 2.7.1. 2.8.1. 立. Mambo 等人的代理簽章法 ................................................................................. 26 盲簽章 ...................................................................................................................... 28. 學. 2.8. 政 治 大. 代理簽章法 .............................................................................................................. 24. ‧ 國. 2.7. D. Chaum 的 Blind Signature .............................................................................. 29. ‧. 研究方法與步驟 .................................................................................................. 30. 第四章. 安全性分析與效能比較 ...................................................................................... 36. 第五章. sit. al. iv n C hengchi U 效能比較 .................................................................................................................. 53 安全性分析 .............................................................................................................. 36. n. 4.2. er. io. 4.1. y. Nat. 第三章. 提案方式擴張至盲簽名 ...................................................................................... 54. 安全性 .................................................................................................................................. 55 第六章. 結論 ...................................................................................................................... 56. 參考文獻 .................................................................................................................................. 57. V.
(8) 圖目錄 Figure 1 密碼系統. ..................................................................................................................... 6 Figure 2 對稱式金鑰密碼系統. ................................................................................................ 8 Figure 3 非對稱式金鑰密碼系統. ............................................................................................ 9 Figure 4 數位簽章系統架構. .................................................................................................. 11. 政 治 大. Figure 5 ID-BASED 金鑰產生基本流程. .............................................................................. 16. 立. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. VI. i Un. v.
(9) 表目錄 表 5.1 效能分析與比較表…………………………………………………….........................53. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. VII. i Un. v.
(10) 第一章. 前言. 這幾年來,資訊科技的發展一日千里,在這種發展趨勢下,帶來的就是數位化時代 的來臨。在這種現況中,我們可以發現各式各樣的數位化應用如雨後春筍般地冒出頭來。 也因為如此,相當多傳統化的作業方式逐漸式微,慢慢地向數位的形式靠攏。原因是數 位化的作業流程,可以有效地降低人為疏失的可能,進而提升產品的良率與產能,生產 的效率可謂大幅提升。. 政 治 大. 思考到,數位化對人類最大的影響是?我想網際網路應該就是最貼切的答案,這答. 立. 案應該不會有人反對。因為網際網路的不斷發展,人們生活型態改變,不用出門便可以. ‧ 國. 學. 利用其來做到許多事。其中最重要的發展,便是電子商務產業因應人們購物的需求而出. ‧. 現。利用網際網路的商務型式,店家可以有效地降低開設店面所需的成本以及人事開銷, 而且販售的產品在網路上可以多元化地呈現。而且可以利用美觀的網站、界面招攬更多. y. Nat. er. io. sit. 顧客消費,利用最小成本來達成最大的利潤。當然,這種型態的購物機制並不只是只有 店家受惠,對於使用者而言,目前行動網路的技術十分活躍,使用者在這種環境下,可. n. al. Ch. i Un. v. 以透過無線上網的技術,隨時隨地皆可利用具有瀏覽器的筆記型電腦或者是智慧型手機,. engchi. 輕鬆瀏覽網路店家的網頁,只需要簡單幾個步驟,便可以完成購物的手續。如此多的好 處使得傳統購物模式的消費者,紛紛轉向以網路型態購物。 除了電子商務的應用以外,網際網路的發展對於政府單位或各種機構而言,也有了 革命性的影響,像是公文的處理也逐漸的數位化。曾經在數位化還不普及的時代裡,大 部分處理文件的方法是以人為的方式逐一傳遞至每單位,一旦互送單位距離稍遠,就會 浪費許多時間在傳遞上。舉一個較為極端的例子而言,如果一份文件要從綠島送交至台 北,中間經過了陸運以及水運,花費的時間可想而知,而且多了這趟運送的過程,可能 發生的不確定性就更多了。. 1.
(11) 如今藉由網路的發展,大部分書信或公文,員工們可以先以電腦方式輸入,經過特 定主管的批准簽章後,再以如電子郵件般的特定方式傳送到各單位。這樣不僅大大了加 速處理行政業務的速度,也減少因人為而產生的過失與疏忽,雖然其中也有著被人攔截 的危險,但是只要利用數位加密的技術,對文件加以加密,即便是有人竊取也無法破解, 大大降低了安全上的疑慮。 不過在這種環境中,另外一個值得注意的問題是,當重要公文傳遞且須相關主管立 刻做處裡時,碰巧遇到主管不在,使得主管無法自行簽署公文,為了處理這種狀況,管. 政 治 大. 理者可以在離開崗位之前找出一位代理人替他完成對文件簽屬的工作,這種角色可能是. 立. 秘書,也有可能是其他部門的主管。這種情況下,拿到文件的人必須要知道這份文件的. ‧ 國. 學. 簽屬人,究竟是主管所簽屬,亦或是代理人所簽屬。如何完善地交付簽章權限能力,並 且滿足安全性,這些問題就是屬於代理簽章方案的研究範疇,這是一個相當值得討論的. ‧. 議題。. Nat. sit. y. 而像是電子付費、電子投票等等,都是網際網路幾個相當重要的應用,但透過網路. n. al. er. io. 方式從事商業行為的門檻較低,使得參與其中的使用者眾多且組成複雜,因而消費者的 自我保護意識與隱私問題是個隱憂。. Ch. engchi. i Un. v. 而在電子投票系統中,可想而知的就是,除了投票者本身之外,沒有人可以知道票 是投給了哪位候選人,而該如何解決達成這個條件呢?通常我們會運用盲簽章的方案來 處理,在經過盲簽章的處理後,認證中心可以在不知道投票者身分的條件下,做一個正 確的計票動作。 另外,一般使用電子形式交易的使用者,通常希望保護自己的隱私,不願意讓別人 知道他在那消費、購買何種商品、又花了多少錢。這些細節上的事情皆不願對外公佈。 所以在電子現金的交易過程中,同樣的也會運用到盲簽章的步驟,使得電子現金中心得 以在不知道使用者身分的條件下,對電子現金做一個簽發的動作,由此可知盲簽章在現 今的一些數位方案中,佔有一定程度的重要性。 2.
(12) 我們本篇論文最主要的想法,是在免憑證簽章架構下,進而發展出一套具有代理簽 名以及盲簽名的電子簽章系統,以將之適用於更多層面的應用。 至於甚麼樣的情境下可以使用我們的方案來處理呢?我以一個電子現金的使用情 境來當作例子:一名使用者在使用電子現金的過程中,向電子現金中心的地方分行申請 使用。在這種情況之下,地方分行必定得經過總行的授權,也就是說,電子現金總行必 須將其對於電子現金的簽章能力轉交給地方分行去執行,在這個部份我們可以使用方案 中的代理簽章部分來完成。而且我們剛剛已經提過,由於使用者在使用電子現金的過程. 政 治 大. 中,並不希望電子現金中心知道自己的身分以及交易內容,這個部分便可以利用我們設. 立. 計的盲簽章來完成。由此可看出,我們的代理盲簽章方案,可以徹底的在這種情境中扮. ‧ 國. 學. 演一個稱職的角色。. 論文架構如下。在第二章節的部分介紹與我們較為相關的研究。而第三章節的部份. ‧. 是我們的研究方法與步驟,包含簽名的步驟與演算法,第四章節是安全性分析的部分,. Nat. n. al. er. io. sit. y. 最後則是與類似的簽章演算法做比較以及結論。. Ch. engchi. 3. i Un. v.
(13) 第二章. 相關研究. 由於現今許多的簽章方案,都是基於雙線性配對下的運算去實作,因此在本節中, 我們將會簡單地從雙線性配對的基本概念介紹起,接著介紹由密碼學發展出的數位簽章 的原理,並且一併介紹到各種電子簽章的應用與變化。. 2.1. 雙線性配對 a) 雙線性配對 (Bilinear Pairing). 政 治 大. 本篇文章中的演算法部分,我們是運用「雙線性配對」的計算來完成,故這裡介紹. 立. 一些相關的基本運算。. ‧ 國. . 學. 雙線性配對是一線性映射函數(Bilinear Map),由一個群對應到另外一個群: G 為一加法群(Additive Group),序(Order)為一質數 q。. ‧. 其中 P 是G 的生成元(Generator). G 為一乘法群(Multiplicative Group),序(Order)也為一質數q。. er. io. 而在G 中,Discrete Logarithm Problem 是困難的。. sit. y. Nat. . al. v. n. 具體來說,我們可以將G 視為 Elliptic Curve over F 上的點集合所形成的群。 而G 視為一個在有限體F. i n C U hengchi 下乘法群的一個子群。. 我們將雙線性配對表示為 ê:G. G. G 。在這雙線性配對的運算下,使其. 具有下列三種性質:. (1) 雙線性(Bilinear): 如果說一個 Bilinear Pairing 計算符合 Bilinear 性質,意思是 ∀P, Q ∈ G 及. ∈. ,ê(. ). ê(. ) 。. (2) 非退化性(Non-Degenerate): 符合這性質的 Bilinear Pairing 不會使滿足G. G 的所有配對,都對應到G 中的單位. 元素。且從G G 的序(Order)皆為質數可以發現,如果 P 是G 中的生成元,那ê( 4. )也.
(14) 會是G 的生成元。 P, Q∈ G ,滿足ê(. ). 。. (3) 可計算性(Computable): P, Q∈ G ,存在有效率的演算法可計算ê(. )。. 由於利用雙線性配對設計的演算法,具有設計簡單以及效率上的優勢,所以我們便 利用其作演算法上的設計。. b) 難問題假設. 政 治 大. 立. 根據 A.中設定的G group,我們可以在其中定義出一些難問題:. ‧ 國. 學. Elliptic Curve Discrete Logarithm Problem(ECDLP):. Nat. ϵ. ,計算. 。. io. Decisional Diffie-Hellman Problem(DDHP):. al. n. 給( 4.. )ϵG ,. y. Computational Diffie-Hellman Problem (CDHP): 給(. 3.. 是困難的。. sit. 2.. 中的 ϵ. c ) ϵG ,. ‧. 給定 P, QϵG ,找到 =. er. 1.. iv n C h ,決定c= mod q 是否成立。 engchi U. cϵ. Gap Diffie-Hellman (GDH) group:. 若在G 中求 DDHP 是簡單但求 CDHP 是困難的,便稱此 group 為 GDH group。. 5.
(15) 2.2. 近代密碼學簡介 密碼學主要是研究如何秘密地傳送訊息的科學。直到近代以前的密碼學純粹專指加. 密演算法,是將可理解的信息轉換成難以理解的信息。而收到訊息的接收者,則可以利 用解密演算法將其轉換回原本的形式。 一個用來加解密的系統,我們就稱其為一個密碼系統(Cryptosystem)。加密前的普通 文件,稱之為明文(Plaintext),加密後的文件稱為密文(Ciphertext) [23]。其大致上的架構 如下圖:. 政 治 大. 立 加密演算法. 密文. Figure 1 密碼系統.. 解密演算法. 明文. 學. ‧ 國. 明文. ‧ sit. y. Nat. 在古典密碼學中,有兩個比較著名加密方式,其一是包含藉由改變字母順序達到加. io. er. 密效果的加密法,例如將「Hello World」改寫成「weldohllor」。而接收方在收到這份訊. al. iv n C h e n g c h「Hello 另外像是替換字母的凱薩加密法,可能會將 i U World」改寫成「JgmmqYqtmf」, n. 息後,利用解密本,可以查到字母的調換順序,由此達到解密的效果。. 全部的字母都用下兩個字母代替,只有接收方知道如何解密,在收到訊息後便可以輕易 地得回原本的訊息。 這兩種加解密方式都是前人為了確保訊息的秘密性而發展出的一些加密方式。但是 其實都不是十分的安全,都不足以提供足夠的機密性(Confidentiality),意指可能在傳送 過程中,除了傳送端與接收端外,還有第三者可能破解文件的內容。 而通常在一個密碼系統中,除了機密性外,大致上還包含了三種安全性的條件必須 符合: 1. 可認證性 (Authentication):收件者必須可以確認文件的出處。 6.
(16) 2. 不可否認性 (Non-Repudiation):發送者不可以否認自己發出的密文。 3. 完整性 (Integrity):要確保接收端收到的文件內容是完整的。 達到了這幾種要求,便可以確保在這種基本的密碼系統中的安全性。 由於古典的密碼學較不容易達成以上這幾點安全性的要求,近幾年來各種為了滿足 上述四種安全性的密碼系統不斷的被提出,而這些密碼系統主要可以分為兩大類,分別 是「對稱式金鑰密碼系統」以及「非對稱金鑰密碼系統」。. 政 治 大. 1. 對稱式金鑰密碼系統 (Symmetric Key Cryptosystem):. 立. 在這種加密系統中,發送端與接收端在彼此的安全通訊開始之前,必須先決定一對. ‧ 國. 學. 雙方都持有的共同金鑰。確定後,發送端便利用這把金鑰對明文做加密,而接收端也利 用同一把金鑰對密文做解密。這類型的加密演算法,通常利用 k 來表示這份金鑰,而加. ‧. 密演算法會利用Ek (m). sit. n. al. er. m。. y. m來表示對密文 C 解密產生原始文件 m 的過程。這兩個演算法必定滿足. io. Dk (Ek (m)). Nat. 是利用Dk (C). C來表示對文件 m 作加密產生 C 這份密文,而解密演算法通常. i Un. v. 由此可見,在這種密碼系統中,首要保證的就是這把金鑰不會有外漏的疑慮。採用. Ch. engchi. 這種方式的密碼系統,比較有名的就是 DES 密碼系統 [29]、AES 密碼系統 [30]。. 在這種密碼系統中,有幾種問題是我們要注意的,像是: 1. 密鑰 K 要怎麼要安全的傳送給接收者? 2. 如果系統中的使用者有 n 個,那每個使用者就需要 n 對金鑰,每個使用者所持有的 金鑰數量會相當可觀。. 7.
(17) Figure 2 對稱式金鑰密碼系統.. 立. 政 治 大. 2. 非對稱式金鑰密碼系統(Asymmetric Key Cryptosystem):. ‧ 國. 學. 非對稱式金鑰密碼系統又稱為「公開金鑰密碼系統」 ,這種密碼系統的特色相對於對. ‧. 稱金鑰密碼系統,最大的差異就是加密和解密使用不同的金鑰。 1976 年,Diffie 和 Hellman 這兩位學者提出了「公開金鑰密碼系統」的概念 [7]。這. y. Nat. er. io. sit. 種密碼系統的金鑰是以成對的方式存在,是一對不同的值但卻有數學相關的金鑰。分別 稱為「公開金鑰」以及「私密金鑰」。並且從「公開金鑰」推算「私密金鑰」是不可行. n. al. 的。. Ch. engchi. i Un. v. 在公開金鑰密碼系統中,公鑰是開放式的,系統中所有的參與者都可以取得,但私 鑰部分只有自己擁有。一般的加解密方案是:其他使用者利用公鑰來加密給接收者,而 接收者利用自己的私鑰去解密。比較著名的系統有 RSA [27]、ElGamal [31]。 而公開金鑰密碼系統也實現了數位簽章系統。使用者對文件的數位簽章利用使用者 專屬的私鑰產生,而任意接收者可以用使用者的公鑰來驗證此數位簽章的正確性。. 8.
(18) Figure 3 非對稱式金鑰密碼系統.. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 9. i Un. v.
(19) 2.3. 數位簽章 在日常生活中,為了要向他人證明自己對文件負責,或是證明該文件是由自己所. 發出的,通常會在文件上親筆簽名或者是利用印鑑來作為證明。同樣地,在數位化的環 境當中,則必須仰賴電子文件與數位簽章來作為代替方案。 數位簽章依附於電子文件上,辨識及確認電子文件簽署者之身分及文件真偽。由此 可知,數位簽章的功能與印章或親筆簽名的功能相似,只是它所針對的文件是電子文件, 而非實體文件。. 政 治 大. 在目前的數位簽章實作上,是以公開金鑰密碼系統為基礎來實作,也就是說在該系. 立. 統中,使用者必須自行產生自己所擁有的金鑰配對:分別是一把密鑰與一把公鑰。其中. ‧ 國. 學. 使用者必須持有自己的密鑰,並且將其公鑰公佈。使用者利用自己的密鑰對文件進行簽. ‧. 署,簽屬的動作為:將文件先以一個單向雜湊函數製作出文件的摘要,接著利用使用者 的密鑰對這份文件摘要作數位簽章的運算,以便得到一份對應至文件的數位簽章,在完. y. Nat. er. io. sit. 成這動作後,使用者會將數位簽章訊息連同這份簽章訊息一併傳送給接收者。而數位簽 章的接收者可以利用該簽署者的公鑰來驗證文件和數位簽章的有效性。. n. al. Ch. i Un. v. 一般來說,數位簽章具有以下三種特性,方可稱為安全的數位簽章系統: 1.. 不可否認性(Non-Repudiation). engchi. 數位簽章須具有不可否認性,發送方不得否認簽章的產生。 2.. 完整性(Integrity) 接收者可以利用數位簽章,確認文件的完整性,可防止被人竄改。. 3.. 確認性(Authentication) 接收者可以利用數位簽章,確認發送者的身分。. 而除了以上三點以外,如果文件可以經過加密的過程,會更為安全。. 10.
(20) 在過去,因應各種不同的應用而有不同類型的簽章系統被提出,接下來我們會介紹 本篇論文會使用到的一些數位簽章架構。. 立. 政 治 大. Nat. n. al. er. io. sit. y. ‧. ‧ 國. 學 Figure 4 數位簽章系統架構.. Ch. engchi. 11. i Un. v.
(21) PKI 簽章系統. 2.4. PKI 簽章系統,又稱為傳統的公開金鑰基礎架構(Public Key Infrastructure-PKI),這 類型的電子簽名系統是由管理電子憑證的許多機構所組成,在公開金鑰簽章系統中需要 有一個可信任的第三方(Trusted Third Party-TTP)來發給使用者公鑰的憑證,而這可信任 的第三方就是「驗證中心」(Certificate Authority-CA)。認證者得到對方公鑰的時候,其 中必有附一個關於公鑰的憑證,藉此憑證才可以使認證者確認此公鑰是真正的簽屬者發 給的。CA 的主要工作就是簽發金鑰憑證,以提供系統使用者能取得所需他人的認證資. 政 治 大. 料。此外,CA 亦需維護憑證資料庫以及定期發佈憑證註銷清單(Certification Revocation. 立. List-CRL)。. ‧ 國. 學. 基於PKI系統架構下的簽名演算法,比較著名的是在1978年時,由麻省理工的三位. RSA 密碼系統. y. Nat. 2.4.1. ‧. 學者R. Rivest, A. Shamir以及L. Adelman三人提出的RSA密碼系統 [27]。. er. io. sit. RSA 是個以因數分解困難度為基礎的密碼系統,也是現今使用最廣泛的公開金匙密 碼系統。RSA 是一個區段加密法,其中明文和密文是介於 0 與 n −1 的整數。以下是流. n. al. 程簡介: . Ch. 金鑰計算. engchi. i Un. v. (1) 隨機選取兩個大質數,p 、q (2) 計算 N = p ×q (3) 計算出私密金鑰 e,而 e 必須和 (p-1) ×(q-1) 互質 (4) 最後計算出公鑰 d,d 必須符合 e × d ≡ 1 mod((p - 1) ×(q - 1)) 換句話說就是d. 𝑒. (. 𝑑(. ). (. 12. )).
(22) 要注意的是 d 和 N 也是互質的兩個數,而在完成這些步驟後,e 和 N 就是公開金鑰的 部分,而 d 是私密金鑰。 . 文件加解密. 密文 C 是由明文 M 對 e 做指數運算後求 mod N 而來: C = M^ e (mod N) 0 ≤ M <N M = C^ d (mod N)0 ≤ C <N . 政 治 大. 簽章與認證. 立. 如果使用者 Bob 要對一份文件做簽章,他會利用私密金鑰對文件做加密的動作. ‧ 國. 學. S = D(M) ≡ M ^ d mod N 0 ≤ M <N. ‧. 產生的 S 便視作文件 M 的簽章。接著將(S,M)傳送給其他使用者,而其他使用者便可. sit. y. Nat. 以利用. n. al. er. io. Bob 的公開金鑰去對 S 做解密的動作 M’= E(S) ≡ S^ e mod N. Ch. engchi. i Un. v. 得到 M’後,是否 M’=M,若是則這份簽章是合法的。 而除了 RSA 外,利用 PKI 密碼系統架構發展出的簽章法還有數種,分別像是 ElGamal 數位簽章法 [31]以及 Schnorr 數位簽章法 [25]。. ElGamal 數位簽章法. 2.4.2. 在 1985 年,ElGamal [31] 提出一種利用解離散對數之困難度上的數位簽章方法,屬於 一種機率式的簽章方式,即便對同一份明文簽名,每一次的簽名過程都會產生不同的數 位簽章。 13.
(23) . 金鑰計算. (1) 隨機選取一個大質數p以及mod p之生成元(Generator) a。 (2) 簽章者任意選取一個亂數X做為私密金鑰。接著計算相對應的公開金鑰Y mod p . 簽章與認證 mod p,並且利用自己的私鑰、r和t 來對文件. 簽章者首先選取亂數t ,並且計算r M做簽名 r. t. s mod p. 。. 立. 政 治 大. 簽章者將(r, s)做為M的簽章,一併送給接收者. ‧ 國. 學. 接收者利用簽章者的公開金鑰去對這份簽名作驗證 r mod p. ‧. 檢驗此式是否成立. io. sit. y. Nat Schnorr 數位簽章法. n. al. er. 2.4.3. Ch. i Un. v. 1989 年,Schnorr [25] 提出ㄧ個數位簽章演算法,相較於 ElGamal 數位簽章法則. engchi. 增進了其在計算上的速度。Schnorr 是由 ElGamal 數位簽章演算法加以改進而來,因此 兩者非常相似,但是相較於 ElGamal 數位簽章演算法,Schnorr 的數位簽章演算法對於 其運算上所使用的資料有著較多的限制。. 金鑰計算 首先假設存在大質數 p、q,其中滿足q p. ,並且隨機選取 q 之一原根 g。. p、q、g 都是公開參數。 簽章者任選一整數 X,當作其私密金鑰。並且計算相對應的公開金鑰 Y 14.
(24) mod p. . 簽章與認證. 簽章者若想要簽署一明文M,首先會任意選一亂數k。計算 r. k. e. (r. mod p )其中 ( )為一個單向雜湊函數。. 最後計算 s. 政 治 大. e(mod p). 立. 傳送(m, e, s)給接收者. ‧ 國. (mod p). ). y. (r. Nat. e. ‧. 在試算. sit. r. 學. 接收者在收到(m, e, s)後,首先計算. n. al. er. io. 如果等號成立,便驗證成功. 2.4.4. Ch. PKI 簽章系統下的缺點. engchi. i Un. v. PKI 架構下的簽章系統,雖然看似直觀且方便,但在實作及運用上衍生出了許多 問題,如金鑰憑證數量易於過度激增及憑證註銷清單過大等問題。這些問題不只降低 PKI 運作的效率,也增加了管理的成本。此外,在現今越來越要求頻寬的環境下,勢 必是需要更省傳送空間的方式。. 15.
(25) ID-BASED 簽章系統. 2.5. 在 1984 年時,Shamir 提出了基於身分的數位簽章系統(ID-Based Signature Scheme) [22],大大減少了傳統公開金鑰系統中金鑰管理上的麻煩。在基於身分的簽章系統,使 用者的公開金鑰部分是依據使用者本身獨一無二的資訊來產生個別的公開金鑰。這些資 訊諸如:電子郵件帳號、身分證字號…等等。而在私鑰的部分,是經由可信任的第三方 扮演一個 PKG(Private Key Generator)的角色來產生與公開金鑰相配對的私鑰。在此系統 架構中的使用者,可以減少在傳統公鑰系統中,使用者公鑰需要認證的手續。. 政 治 大. 在2001年時,Boneh和Franklin提出第一個可行的基於身分之密碼及簽章系統 [3],. 立. 並且此技術是基於Weil Pairing運算下完成。此後大量的發展出了許多相關的研究. ‧ 國. 學. [6][10][21],及其他方面的應用,例如電子投票、電子現金一類的運用。而Boneh提出的. ‧. 系統中,比較值得一提的部分是,這份密碼系統中,PKG的部分會利用時戳(Timestamp) 來對金鑰的配對做時效性的限制,意思就是PKG利用使用者ID產生的私密金鑰部分,會. y. Nat. er. io. sit. 每隔一段時間做一次改變,最新的密文必須由最新的私鑰來改變。這樣的方式可以防止 破壞者對於私鑰的破解,可以完成撤銷非法使用者的目標。. n. al. Ch. engchi. i Un. v. Figure 5 ID-BASED 金鑰產生基本流程.. 2.5.1. Shamir 的 ID-based Cryptosystem and Signature Schemes 16.
(26) 這邊介紹的是 Shamir 在 1984 年時,提出的第一個 IBS 方法,主要是由下列演算法 所組成:. Sign: 𝑟𝑒 (. t. 𝑑 𝑛) 𝑟𝑓(. s. ). (mod n). Verification: s𝑒. 𝑖. 𝑓( 𝑚). (. 𝑑 𝑛). 政 治 大. 其中 m 是訊息. 立. ‧ 國. 學. s, t 是簽章. i 是 user 的 ID. ‧. n 是兩個大質數的乘積. sit. y. Nat. e 是和φ(n)互質的一個大質數. io. n. al. er. f 是單向的函數. Ch. i Un. v. 又其中的參數 n, e 和函數 f,這三者是由 Key Generation-Center 所選擇。系統中所. engchi. 有的使用者都會持有相同的 n, e 和函數 f,這三者都會存在使用者持有的智慧卡中,而 這三者都可以是公開的,但是 n 的因數分解式只有 Key Generation-Center 可以知道。 每位使用者手頭上的資料,不同的地方就是使用者的 ID i,還有跟 i 相對應的私密 金鑰 𝑔𝑒. 𝑖(. 𝑑 𝑛)。私密金鑰也是由 Key Generation-Center 所算出,除此之外沒有人. 可以知道。 以上步驟,便是Shamir當年提出的ID-Based簽章系統。而在Shamir提出了這個概念 之後,很多學者也提出了其他的ID-Based簽章系統:例如Boneh、Lynn及Shacham寫的 Short Signatures from Weil-Paring [4],也是一個很好的ID-based簽章系統。. 17.
(27) 我們可以發現,因為在ID-Based的系統中,公開金鑰的部分是公開且可識別的型態, 所以公開金鑰不需要利用傳統PKI密碼系統中的憑證來讓其他使用者相信這份公開金鑰, 這份過程的省略不論對PKG或者是使用者都減輕了許多負擔,使用者和彼此溝通之前, 不用再牢記每一位使用者相對應的金鑰,在一定程度上解決了現行PKI所遇到的問題。 但是這種基於身分認證的系統架構中,還是會面臨一定程度的問題。因為 ID-Based 系統中的私密金鑰部分都是由 PKG 產生,一旦遇到不誠實的 PKG 或者是對於 PKG 的 破壞者,則所有使用者的私密金鑰都會遭到竊取,這就是所謂「金鑰託管」(Key Escrow) 的問題。. 立. 政 治 大. 而另外一點就是,PKG 對於使用者產生的私密金鑰,必須透過一個安全不會被竊聽. ‧ 國. 學. 的通道來傳遞給使用者。可以發現,如果要在此種系統中加入時戳的設計,便在每一個 時間間隔中都必須重新建立一個新的安全通道。如果使用者人數上升,系統很快就會面. ‧. 臨到效能上的挑戰。. n. er. io. sit. y. Nat. al. Ch. engchi. 18. i Un. v.
(28) CERTIFICATELESS 簽章系統. 2.6. Al-Riyami 和 Paterson 在 2003 年發表了一種新的密碼系統:免憑證密碼系統 (Certificateless Public Key Cryptography) [1]。這種密碼系統的主要概念便是希望除去傳 統公開金鑰系統中的認證過程。 在免憑證密碼系統中,就如同 ID-Based 密碼系統一般,不再需要有 CA 對使用者公 鑰發送憑證。除此之外,此系統還解決了 ID-Based 中的 Key Escrow 問題。因為 Certificateless 系統融合了 PKI 和 ID-BASED 系統的優點,因此在 Al-Riyami 之後,許多. 政 治 大. 學者也發表了 Certificateless 的密碼系統。 [2,11,12,17,18]. 立. 在免憑證密碼系統中同樣必須有個公正的第三方,在這裡稱為 KGC,全名是 Key. ‧ 國. 學. Generator Center。KGC 最主要的工作就是產生「系統參數」以及使用者的「部分私鑰」,. ‧. KGC 並不會提供使用者一個完整的私鑰,取而代之的是利用使用者 ID 產生一個部分私 鑰,使用者接受這個部分私鑰後,可選取一個只有使用者自己知道的私密亂數來和部分. y. Nat. er. io. sit. 私鑰結合,進而產生只有自己知道的一組完整私密金鑰,並且使用者也會利用此亂數結 合 KGC 所發佈的系統參數來產生一相對應的公鑰,從以上的步驟可以發現,完整的私. n. al. Ch. i Un. v. 密金鑰只有使用者自己擁有,因此解決了 Key Escrow 問題。結合以上幾種方法,便可. engchi. 以達成擁有傳統公開金鑰簽章以及基於身分認證密碼系統的優點。免憑證密碼系統因為 不需驗證金鑰憑證,節省了許多複雜的計算,預計將可廣泛的應用於計算能力有限的電 子機器像是手機或是 PDA 上。. 2.6.1. Certificateless Public Key Cryptography. Al-Riyami 和 Paterson 在 2003 年發表的 CL-PKC 系統中,主要包含了七個演算法 ,分別是Setup,Partial-Private-Key-Extract, Set-Secret-Value,Set-Private-Key, Set-Public-Key,Encrypt 以及 Decrypt。. 19.
(29) 1. Setup: 這個演算法主要是由KGC所執行,目的是產生系統參數以及KGC的master key部分: 以安全係數k為輸入 1. 產生. G G ê ,其中G 和G 為序(Order)為q的兩個群,而且ê G. G. G 為一個. Admissible Pairing。 2. 選擇一個G 中的生成元P。 3. 選擇一個master key s ∈. s 。. ,並且設定. 4. 選擇兩個hash function : H *. 立. 治G * + G 和H 政 大. 經過這四個步驟之後,產生的系統參數為:. + ,其中n是明文的長度。. G G ê n. H H. G. ‧ 國. 是C. 學. 所有使用者,而 KGC 的 master-key 為 s。定義出的文件空間是 *. 並傳送給系統中 *. + ,密文的空間. +。. ‧. 2. Partial-Private-Key-Extract:. Nat. al. n. 1. 計算. A. H (IDA ) ∈ G. 2. 輸出 Partial-Private-Key DA 將. +. er. io. 輸入的部分是使用者的IDA ∈ *. sit. y. 此演算法依舊是由 KGC 所執行,主要的工作是產生每個使用者的部分私密金鑰。. Ch s. eA ∈nGg c h i. i Un. v. A 及DA 傳送給使用者。. 3. Set-Secret-Value 此演算法主要是由使用者執行,產生屬於自己一個 Secret Value xA ,且這個 Secret Value 只有使用者自己知道。 4. Set-Private-Key 使用者在計算出自己的 Secret Value xA 後,利用xA 及從 KGC 收到的 Partial Private Key SA. A 及DA 計算出自己的. Private Key. xA DA ∈ G 20.
(30) 5. Set-Public-Key 使用者計算出自己的 Private Key 後,接著要計算出自己的 Public Key A. A. 其中. A. xA ,. A. xA. A. 6. Encrypt 在設定完使用者的 Private Key 和 Public Key 後,此演算法便是設計為對於符合文件 空間的 M 文件進行加密。 1. 先判斷ê(. A. 2. 計算. H (IDA )∈G. A. ). ê(. 政 治 大. )是否成立,若成立表示(. A. 立. Public Key。. ‧ 國. 學. 3. 選取一亂數r ∈ 4. 計算出密文C. A )為合法的. A. 𝑟𝑃 𝑀⨁𝐻2(ê(. A. A). )>. ‧. 利用免憑證密碼系統發展而成的簽章系統,其主要架構演算法通常分為六個步驟。. sit. n. al. er. io. 7. Decrypt. y. Nat. 分別是:. 使用者收到密文 C 後,先判斷C V⨁H2(𝑒̂ (SA U)). 2.6.2. Ch. 𝑈𝑉. i Un. v. 是否符合密文的形式,若成立則計算. engchi. Certificateless Public Key Signature. Al-Riyami 和 Paterson 同樣地改寫了原本的 CL-PKC 系統,使其用於電子簽章系統, 而此簽章系統一樣包含了七個演算法:Setup,Partial-Private-Key-Extract,Set-Secret-Value, Set-Private-Key,Set-Public-Key,Sign,Verify 其中 Setup,Partial-Private-Key-Extract,Set-Secret-Value,Set-Private-Key, Set-Public-Key 這幾個演算法部分和 CL-PKC 中的一樣,但 Setup 中只需要產生一個 Hash Function H *. +. G. ,除此之外只需要設計 Sign 和 Verify 這兩個演算法: 21.
(31) 1. Sign: 在使用者得到簽章用的私鑰後,簽章用的演算法。 對一份文件 M 作簽名,且私鑰為SA ,執行以下步驟 1.. 選取亂數 ∈. 2.. 計算r. 3.. v. H(. 4.. U. uSA. ∈G. 5.. 輸出簽名為. 𝑈v. ê(. )∈G. r) ∈. 政 治 大. 立. 2. Verify:. ‧ 國. 𝑈𝑣. 後利用簽章者的 public key. 學. 驗證者收到簽章者 ID、文件 M 及簽章. A. A. 以此演算法做簽章的驗證。. ê(U ) ê(. 3. 檢視v. H(. A. Nat. A. )是否成立,如果成立便執行下一個步驟。 v A). y. 2. 計算r. ê(. io. r)是否成立,如果成立表示簽名為真。. n. al. er. ). sit. A. ‧. 1. 檢視ê(. 2.6.3 系統安全性. Ch. engchi. i Un. v. 在免憑證簽章系統中,破壞者可能企圖去偽造簽章,而根據Al-Riyami和K. Paterson的. 文獻[1] 將可能的破壞者分為兩種,我們在分析免憑證簽章演算法安全性的時候,將會 分兩種攻擊者來做個別討論,如下所述:. 1. Type I 攻擊者: 此種攻擊者沒有能力取得KGC的master-key部分。但A1在向KGC要求公鑰、部分私 鑰後,會想辦法更換簽章者公鑰的部分來達到破壞的目的。. 22.
(32) 2. Type II 攻擊者: 我們稱這種類型的攻擊者為 A2,此種攻擊者可以取得 KGC 的 Master Key,但是能 力以內沒有辦法去替換使用者的公鑰部分。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 23. i Un. v.
(33) 2.7 代理簽章法 代理簽章法(Proxy Signature)的概念是在 1996 年由日本的學者 Mambo 提出 [20], 在代理簽章的系統下,系統中的原簽章者可將簽章的動作賦予一代理簽章者執行。舉例 而言,若公司經理有事必須外出,但手邊卻有急需簽屬的文件,這時代裡簽章便可以派 上很好的用場,經理可以將簽屬文件的權力交付給他信任的下屬,便可以放心的外出處 理事務。由此可見,Proxy Signature 在實際上的運用範圍,可以說是相當廣泛,而且 Proxy Signature 可以由一般的簽章方式改寫而成。基於這些原因,許多學者致力於 Proxy. 政 治 大. Signature 的發展,並且為了因應各種不同的情況生成許多不同的 Proxy Signature,像是. 立. Proxy Multi-Signature [34]、Designated Verifier Proxy Signature [17]、ID-Based Proxy. ‧ 國. 學. Signature [35]等等。. ‧. 在 Mambo 的代理簽章方法[20]中,只有代理簽章者可以產生合法的代理簽章,並且 使用者可以輕易地分辨簽章是由原簽章者亦或是代理者簽出,這個概念可以保障使用者. y. Nat. er. io. sit. 一種公平性的保護。在 Mambo 的代理簽章法概念提出後,得到相當多的迴響以及研究 [14][15][24],在現今很多重要的應用都有使用到代理簽章的系統。. n. al. Ch. i Un. v. Mambo 所提出代理簽章系統中,主張了七個代理簽章系統應該具備的條件:. 1. Unforgeability. engchi. 只有原始簽章者所指派的代理者可以產生合法的代理簽章,除此之外其他人皆不能 產生合法的代理簽章。. 2. Proxy signer deviation 代理簽章者無法在原始簽章者不知情的情況下產生一份代理簽章。. 3. Secret key dependence 代理簽章者的代理簽章金鑰必須和原簽章者的私鑰有一定的關連性。. 4. Verifiability. 24.
(34) 驗證者可以確定原簽章者同意代理簽章者簽屬這份文件。. 5. Distinguishability 代理簽章者產生的簽名,和原簽章者產生的簽章不同。驗證者可以區分兩者的不同。. 6. Identifiability 原始簽章者可以從代理簽章者作出的簽名中,判斷出代理簽章者的身分。 驗證者可以從簽章及授權書中,知道原始簽章者和代理簽章者的身分。. 7. Undeniability. 政 治 大. 代理簽章者不能否認自己曾經作出過的代理簽名。. 立. ‧. ‧ 國. 為三種類型:. 學. 在 Mambo 他們提出的代理簽章中,原簽章者給予代理簽章者權力的方式,可以分. 1. Full delegation. Nat. sit. y. 這種授權方式中,原始簽章者將其所擁有的簽章用的祕密金鑰完全交付給代理簽章. n. al. er. io. 者,代理簽章者利用這個秘密金鑰簽屬文件。在這種授權中,代理簽章者產生的簽. i Un. v. 名將會和原簽章者所產生的簽名完全一樣。此種簽名方式,通常稱 Proxy-unprotected,. Ch. engchi. 驗證者無法得知此份簽名是由何者產生。. 2. Partial Delegation 在這種授權方式中,代理簽章者用來簽章的金鑰,是由原始簽章者和代理簽章者合 作產生。假設原始簽章者的私密金鑰 s,原始簽章者會利用 s 和認證演算法的改變, 產生一個新的私密金鑰 d,並且利用安全的管道傳送給代理簽章者。代理簽章者便利 用 d 來對文件簽章,因此簽章的結果,將會和原始簽章者的簽章不同,如此可以讓 驗證者作出代理簽章以及原始簽章的區隔,也稱為 Proxy-Protected。. 3. Delegation With Warrant 原始簽章者簽屬一份授權書給代理簽章者,經過代理簽章者驗證授權書的真偽後, 25.
(35) 才執行代理簽章的動作。驗證者也可利用授權書來確認代理簽章者的身分、文件內 容或者是代理簽章的使用期限。如此可以證明代理簽章的確是由原始簽章者授權而 來。. 在 1997 年時,Kim 等人提出一個代理簽章的方案 [19],並且制定了一種新的授權方 式,此授權方式包含了原本 Mambo 等人的方案中的 Partial delegation 以及 Delegation with Warrant,一般稱為 Partial Delegation with Warrant 在這種授權方式中,原始簽章者先設. 政 治 大. 定好該代理簽章者的簽屬權力,之後會利用秘密金鑰連同規範的簽暑權力計算後的結果,. 立. 將之交給代理簽章者。代理簽章者在接收到這一份訊息後,會利用自己的秘密金鑰去計. ‧ 國. 學. 算出代理金鑰,可以有效的防止原始簽章者和代理簽章者的混淆。我們的方案便是利用 此種授權方式完成。. ‧ y. Nat. Mambo 等人的代理簽章法. sit. 2.7.1. n. al. er. io. Mambo 等人提出的這個代理簽章法,是基於 Schnorr 的簽名系統來加以改寫成代理. i Un. v. 用的數位簽章方案。以下我們就來介紹 Mambo 等人提出的這套方案:. Ch. engchi. A 為原始簽章者,而 B 為代理簽章者。系統中原始簽章者 A 會將簽名的能力交付 給代理簽章者 B。系統執行以下的步驟: 1. Setup: . 選擇 p、q 兩個大質數,且滿足q p. . G ∈. . 是一個 Order 為 q 的乘法群,選取 G1 中一生成元 g. ( ):Hash-Function. 2. Proxy Phase: . A 選擇一亂數 ∈. 26.
(36) k. . 計算. . sA. . A 將(. mod p. xA. mod p,其中xA 為 A 的私密金鑰 sA )傳送給代理簽章者 B. 3. Proxy Key Generation . B 收到( sA )後,計算. k. A. mod p是否成立,其中. A 是原始簽章者. A 的公. 開金鑰,若此式成立則確認其為真正的原始簽章者 A 發給。 . B 計算: x. sA. x. x. 立. (x. x y. 政 治 大. k ) x y. x. k. 產生代理用的金鑰後,代理簽章者 B 可利用此金鑰對文件 m 作代理簽名. y. Nat. 表示為:. sit. . y. ‧. ‧ 國. 4. Sign. A. 學. 其中x 就是代理簽章者 B 的代理金鑰. x y. n. al. er. io. S(x m),其中 S( ) 代表為一般簽名用的演算法。 對文件 m 產生的簽名表示為:(m 5. Verify. Ch. A. engchi. ). i Un. v. 使用者在得到簽章後,會對此簽章做驗證的動作。 使用者利用(. A. )計算出 ,接著利用 這份公開金鑰來對簽章作驗證的工作。. 27.
(37) 2.8 盲簽章 D.Chaumn 在 1982 年時所提出的基於 RSA 加密系統的盲簽章 [4]首先介紹了盲簽章 (Blind Signature)的概念。D.Chaumn 在文章中提到,盲簽章的基本想法就是:使用者將 文件放入信封中,並且在信封跟文件中間放了一層複寫紙,封存好後將信封交給簽章者, 簽章者直接在這信封上指定的位置作簽名的動作。利用複寫的功能,文件上也有了簽章 者的簽名。經過如此的手續,簽章者在無法得知文件內容的情況下,依然對文件做好了 簽章的動作。簽章者在信封上做完簽名的動作後,將信封回寄給使用者,使用者收到信. 政 治 大. 封後便把外層信封和複寫紙拿掉,得到一份對文件的簽名。. 立. 盲簽章是個共同作用的簽章協定,文件的簽章是由使用者以及簽章者合作產生,主. ‧ 國. 學. 要是在讓簽章者(Signer)對訊息做簽章,該訊息無法洩漏簽章的需求者(Requester) 和. ‧. 訊息之關係,如此可以有效的保護使用者需要簽章的文件。. 現在是數位化的時代,現行的一些盲簽章的運用非常充足,像是電子現金、電子投. y. Nat. n. al. er. io. 非常的廣泛。. sit. 票系統、電子樂透系統…等等都有使用到盲簽章的概念 [8,9],由此可見盲簽章的用途. Ch. i Un. v. 一般盲簽章的基本流程可以分成四個部分:盲化過程、簽章階段、解盲化過程、驗 證階段。分別介紹如下:. engchi. 1. 盲化過程: 使用者先利用只有自己知道的「盲化因子(Blind Factor)」對文件做運算後,產生一份 盲化的文件,並且傳送這份文件給簽章者。. 2. 簽章過程: 簽章者拿到這份盲化後的文件,對其做簽名,並且回傳給使用者。 3. 去盲化過程: 使用者得到這份簽名後,對簽名執行「解盲化」的運算,得到一份真正的簽名。. 28.
(38) 4. 驗證階段: 每個人皆可以利用公開金鑰對這份文件做驗證。. 2.8.1. D. Chaum 的 Blind Signature. 在 D. Chaum 的 Blind Signature 中,Signing function 除了 Signer 知道以外,沒有別 人可以得知。我們用S 代表 Signing function,S 代表S 的 Inverse,而 S(S (x))=x。其中無 法從S 得知 S。. 政 治 大. 而使用者掌握的是盲化用的 Blinding function,我們用 C 表示 Blinding function,而. 立. C 表示為 Unblinding function,C 及C 都只有使用者知道。. m. ‧. ‧ 國. 1. 使用者文件為 m,利用C(m). 學. Blind Signature 的過程為:. m 即為盲化後的文件,寄送至 Signer. Nat. n. al. sit. S(m). er. io. 3. 使用者收到S(m )後,作C (S(m )). y. 2. Signer 對m 以 S 作簽名,得S(m ). i Un. v. 在完成簽章後,有幾個條件是 Blind Signature 必須符合的:. Ch. engchi. 1.. 每個人都可以確認簽章的正確性。. 2.. Signer 不能知道S(m )和S(m)之間的關連性。. 29.
(39) 第三章. 研究方法與步驟. 本篇研究之主要目的,是希望在「免憑證系統架構(Certificateless Signature)」 下, 發展出具有「代理數位簽章(Proxy Signature)」的演算法,並且進一步的使演算法適用於 「盲簽章(Blind Signature)」的應用。而我們設計的代理簽章演算法中,原簽章者將會採 用「Partial Delegation with Warrant」的方式授權給代理簽章者。因為此種授權方式最符 合安全性的需求。 我們首先要介紹的是本篇研究設計出的免憑證代理簽章系統。而在完成這份演算法. 政 治 大. 之前,首先我們要介紹的是在我們的系統中,主要包括了四個角色,分別是:. 立. 1. KGC(Key Generation Center):. ‧ 國. 學. 這是一個公平、公正且公開的第三方管理系統,功能類似 PKI 系統中的 CA 以及. ‧. ID-Based 系統中的 PKG。主要的工作是監視整個系統的運行,以及產生系統中的公 開參數,並且掌握有系統的 Master-Key 及 Public-Key 部分。. y. Nat. er. io. sit. 2. 原始簽章者(Original Signer): 系統中原始的簽章者,可賦予簽章的權限予代理者。. n. al. C 3. 代理簽章者(Proxy Signer):. hengchi. i Un. v. 得到原始簽章者的授權,進行代理簽章的動作。. 4. 使用者(User): 持有文件,希望簽章者對文件作簽章,並且自己可驗證簽章的正確性。. 了解了系統中所有的成員之後,我們便依據每個參與者在簽章過程中所扮演的角色, 分別設計其演算法的部分。而這份代理簽章用的演算法,我們主要可以分成十個步驟:. 1. Setup: 這部分的演算法是由 KGC 所執行的一套線性時間演算法,主要目的是產生 KGC 自. 30.
(40) 有的 Public-Key 以及提供給使用者的公開系統參數(Parameters)。 此演算法的輸入部分為安全系數:λ。. 演算法中,KGC 會執行下列幾個步驟: . 指 定 G 、G 兩 個 Bilinear Group , 兩 者 Order 皆 為 一 質 數 q (q ≥ 2λ ) 。 G 的 Generator 為 P 在G 中 CDHP 是困難的。 取 Bilinear Paring : ê G. . 選擇一個亂數s ∈. . 選擇三個 Hash function,分別是. ‧ 國 +. G. . H *. +. G. . H *. s 。. ‧. H *. u. 學. . sit. y. +. er. io. 以上步驟皆完成後,KGC 會將系統參數傳送給使用者. n. al. Cêh𝑃 u H H HU n i engchi Partial-Private-Key-Extract: r ms. . 2.. 為 KGC 的 Master-Key,並且設定 KGC 的公鑰. Nat. . 立. G. 政G 治 大. . 𝜆 𝐺 𝐺2. v. 同樣是由 KGC 執行的線性時間演算法,假設原始簽章者 A 的身分資訊為IDA ,代 理簽章者的身分資訊為ID ,此驗算法計算並且得出: . A. H (ID ). . . H (IDA ). 接著 KGC 會利用自己的 Master-Key s,產生: . DA. s. . D. s. KGC 將(. A. A. DA )及(. D )分別傳送給原始簽章者 A 及代理簽章者 B,其中DA 及D 31.
(41) 的部分即為他們的 Partial-Private-Key。. 3. Set-Secret-Value: 系統使用者在得到 KGC 產生的部分私鑰後,會執行此演算法以得到屬於自己的金鑰 配對。 原始簽章者 A 及代理簽章者 B 會先分別選一亂數: . xA ∈. . x ∈. 並且分別計算 xA. . S. x. 立. A. ‧ 國. SA. 學. . 政 治 大. SA 及S 分別為原始簽章者 A 和代理簽章者 B 的 Secret-Value。. ‧. 4.. Set-Private-Key. Nat. (D S ). al. sit. s. (DA SA ). er. . A. n. s. io. . y. 此演算法設定 A、B 的 Private-Key. Ch. engchi. i Un. v. 分別為原始簽章者 A 和代理簽章者 B 的 Private-Key. 5.. Set-Public-Key 簽章者 A、代理簽章者 B 設定各自的公鑰 . 6.. A. xA x. Delegation-Generation: 原簽章者產生授權給代理簽章者的步驟。 . mw 為 Original Signer A 要簽發給 Proxy Signer B 的授權書 通常授權書裡會包含:授權合法的時間、何種類型的文件可以經由 Proxy Signer 32.
(42) 代簽、Original Signer 和 Proxy Signer 的 ID 資訊以及兩者的 Public Keys。 . A 選亂數. . 並且計算: rA. e(. ). H (mw rA IDA ID. A d l. . 7.. ∈. A. (DA. A. A). SA ). 接著傳送(mw rA. A. )給 Proxy Signer B. d l. 政 治 大. Delegation-Verification. 立. Proxy Signer B 收到授權(mw rA. d l. )後,必須確認此份授權的確是從 Original. ‧ 國. 學. Signer A 發給。. 執行以下計算加以驗證: H (mw rA IDA ID. . A. H (IDA ). ‧. A. A). ê(. ). d l. al. n. . ê(. A. Correctness ê(. d l. ). ê(. A. (DA. ê(DA ê(. 8.. A. C h u ) rA U n i engchi. (s. h. A. SA ) SA ). er. io. 接著驗算下列等式是否成立,若成立則得證:. sit. y. Nat. . A. xA ) ). A. ). rA. ê(s. A. rA. ê(. ê(. A. (DA. A. xA. A. A. v. SA ) ) ê( A. u. ) )h. A. A. rA rA. Proxy-Key-Generation 確認合法後,代理簽章者利用原簽章者的授權產生代理簽章金鑰。 . 9.. d. oxy. A. (S. D ). d l. Proxy-Sign 33. . ).
(43) 代理簽章者 B 產生代理簽章用的金鑰 d. 後,便可以對文件執行代理簽名的動作。. oxy. 假設使用者 C 想要對一份文件 M 做簽章,Proxy Signer B 會執行以下步驟來對 M 做 出一份代理 A 的簽章: ∈. . V. . U. . S. H (. U. ). 𝑃𝑝𝑢𝑏 d. V. oxy. (r m S治 U) 政 大. 最後產生對 M 的簽名為:. A. 立. w. 10. Proxy-Signature-Verification. (rA mw S U)後,先驗證文件 M 是否合乎授權mw 中的規範。. ‧ 國. 學. 使用者 C 在得到簽名. 接著驗證下列等式是否成立,可得此簽名是否為合法: (ê(. A. ) ê(. rA ê(H (. oxy. (S. D ). C) h e(. d l. e(S. D. )h. e(. A. A. h. u. ). u. ) e(. e(. i Un. e)ne(V g c h) i. d l. )h. A. 𝑃𝑝𝑢𝑏 ). y. ) e(V. D. e(. )U. U. sit. al. n. A. ). e(S. (e(. ))h. u. er. oxy. e(d e(. V. io. e(d. u. Nat. Correctness e(S ). A. ‧. ê(S ). ) e(V A. A. u. A. ) ). h. u u. v. rA e(V ). ))h. h. ). rA e(. H (. U. ) ). rA e(H (. U. )U. 𝑃𝑝𝑢𝑏 ). 這六個步驟的演算法設計完成後,已經適用於免憑證代理簽章,之後我們會更進一 步的改寫演算法的部分,因為我們提出的方法不只適用於一般的免憑證代理簽名方案, 更可以提升至適用於盲簽名的部分。 34.
(44) 要做到這點,只需要在原本的架構下改變一些作法。主要的想法就是在原本的簽名步 驟中,先將文件利用盲化因子做盲化的動作,再傳送這份盲化文件給簽章者做簽名。另外 在使用者端加入解盲化的步驟,我們便可以完成利用在盲簽章的運用了。我們會在第五章 講解這部分。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 35. i Un. v.
(45) 第四章. 安全性分析與效能比較. 安全性分析. 4.1. 在完成免憑證代理簽章部分的演算法後,我們必須對這份簽章系統做一個安全性的 分析,以確定這份演算法的可行性。 而在免憑證簽章系統中,破壞者可能企圖去偽造簽章,而根據Al-Riyami和K. Paterson 的文獻 [1] 將可能的破壞者分為兩種,我們在分析演算法安全性的時候,將會分兩種攻 擊者來做個別討論,如下所述:. 1. Type I 攻擊者:. 立. 政 治 大. ‧ 國. a. 沒有能力取得KGC的Master-Key部分。. 學. 我們通常假設這種攻擊者為A1,而這種攻擊者有幾種特點:. ‧. b. A1不能得到目標ID的Partial-Private-Key和Secret-Value. sit. y. Nat. c. 如果ID的Public Key被更改過,A1無法得到此ID的Secret-Value. io. er. d. 在Challenge Phase之前,A1不能替換目標ID的Public-Key. al. iv n C h e n gA2c通常有以下幾種特點 我們通常假設這種攻擊者為 A2,而 hi U n. 2. Type II 攻擊者:. a. A2 可以取得 KGC 的 Master-Key b. A2 沒有辦法去替換使用者的公鑰部分。 c. A2 無法得到目標 ID 的 Partial-Private-Key 和 Secret-Value. 在定義出這兩種主要的攻擊者之後,現在要分析我們提出的方案,是否在攻擊者之下, 可以成功的抵禦攻擊。而我們的方案必須符合本文章節2.7中所提到的幾種代理簽章法下 的安全性法則: 1.. Unforgeability: 36.
(46) . 要證明我們的方法符合 Unforgeability,首先必須假設一 Type I 及 TypeII 攻擊者, 稱其為AI、AII。我們考慮一種最嚴重的情況,在這種情況下AI 和AII 想要偽裝成代理 簽章者ID ,針對文件. 做出偽造代理簽名。. Theorem1 如果有一個 (t q CU q. q. R. q SV q S ) 的 Type 1 Adaptively Chosen Message and. Chosen Identity Adversary A1,其可以對 Random Oracle 𝐻 作q H 次 qurey,對𝐻 、𝐻 分 別作q H 和q H 次。 並且在 t ≤ t qH tH. qH tH. qH tH. q CU t CU. q. t. q. Rt. 治 政 這個時間下,有著 大. q St. R. q SV t SV. S. 立. 𝑒3. 𝐻. (. 𝑐. ). 𝑃𝑆. 學. Succ𝐵𝐶𝐷𝐻 𝐺 ≥. 𝑐𝑖𝑑. Succ𝐶𝐿𝑆𝑃 𝐴. ‧. ‧ 國. 𝑐𝑚𝑎 𝑐𝑖𝑑𝑎 Succ𝐶𝐿𝑆𝑃 𝐴 的機率,可偽造簽名,那麼便存在一個演算法 B,可以在線性時間下,以. 的機率,解決 Computational Diffie-Hellman Problem。. n. al. er. io. sit. y. Nat. 證明: Setup:. Ch. i Un. engchi. v. 1. P 是 Group G 的生成元 2. Challenger B is given (. ∈ G , 其中. ,. )是一組 Random Instance of the CDHP. B 的目標是算出 3. 演算法 B 會模擬出所有 A1 會使用到的 Oracles. 37. 。.
(47) 並且我們將用到的 Hash function 都視為 Random Oracle. 4. B設. u. 並且將(. 𝐇𝟎. u. )傳送給A. 𝐎𝐫𝐚𝐜𝐥𝐞. 政 治 大. 在任何時間,A1 都可以對H 作 Query,而H 是由 B 模擬成的一個 Random Oracle。. 立. ‧ 國. 學. 1.. B 會持有一份H -List,形式為(IDi H (IDi ) xi ). ‧ xi. n. al. 且要確定 H0-list 中沒有xi. Ch. sit. 並且設定 H (IDi ). io. B 選擇亂數 xi ∈. engchi. er. Nat. 2.. y. 而這份 list 一開始是空的. i Un. v. 最後 B 將H (IDi )回傳給A ,並且將(IDi H (IDi ) xi )放入H. list中。. Create-User A1 在隨時都可以對 Create-User 這個 Oracle 作 query 以產生IDi 1. Create-User 的 Input 為IDi 2. 收到 input 後,首先 B 會選取π ∈ * 2 ⋯. 𝐻0 +,接著. 38. B 會檢查H. list中是否有.
(48) (IDi H (IDi ) xi ) 如果沒有,便先以IDi 為 input,執行H -oracle。. 如果IDi. IDπ. B 選擇亂數xi ,並且計算. xi. IDi. 相對應的 secret value 為 SIDi. xi xi. Partial-private-key 設定為 DIDi. . 如果IDi. 政 治 大. 立. IDπ. ⊥. Partial-private-key 為 DIDπ. ⊥. y. Nat. io. 最後 B 將(IDi xi DIDi SIDi. ‧. ‧ 國. xπ. IDπ. 學. B 選擇一亂數xπ ,並且計算 B 設定 secret value 為SIDπ. xi. L-list 中,並且將. n. al. IDi )加到. Ch. engchi. i Un. Partial-Private-Key-Extract 當 B 收到一個. (IDi )的 Query 時,B 會確認 L-list:. . 如果IDi. IDπ ,B returns failure 終止模擬。. . 如果IDi. IDπ ,B returns DIDi 給A. Public-Key-Replace 1. input 為(IDi. sit. . list中有(IDi H (IDi ) xi )後執行以下:. IDi 回傳給A. er. 確定H. IDi ). 2. 39. v.
(49) B 會將 L-list 中的(IDi xi DIDi SIDi. IDi ). 改寫成 (IDi xi DIDi SIDi. Secret-Value-Extract . 如果SIDi. ⊥,B return failure 終止模擬。. . 如果SIDi. ⊥,B return SIDi 給A. 𝐇𝟐 -Oracle:. 立. 政 治 大. 在任何時刻裡,A1 可以 input ξ𝑖 向H 作 query. ‧ 國. 學. 為了回應這個 Query,B 手上持有一份H -list,型態為(ξ𝑖 H (ξ𝑖 ) 𝑐𝑖 )。 如果ξ𝑖 已經存在 H2-list 中,B 直接回應H (ξ𝑖 ). ‧. Nat. B 會計算H2(ξ𝑖 ). n. al. er. io. B 回傳𝑖 並且將之紀錄在 H2-List 中. 𝐇𝟏 -Oracle:. Ch. engchi. 1. input 為(. i. Ui. i ID ). B 會隨機選擇𝑐𝑖 ∈ * . +,其中 r,𝑐𝑖. -. 如果𝑐𝑖 B 選擇亂數βi ϵ 要確定H -list 中沒有βi Oi. y. 𝑖 ∈𝑅 𝑧𝑞 ,且 H2-list 中沒有𝑖. sit. 若否. βi. 40. 𝛿. i Un. v. IDi. ).
(50) . 如果𝑐𝑖 B 選擇一亂數βi ϵ 要確定 H1-list 中沒有βi Oi. βi. 最後 B 回傳Oi ,並將(. i. i ID. Oi βi 𝑐𝑖 )放入 H1-List 中. 政 治 大. 立. Proxy-Sign: IDj ). Input 為(. i. 如果IDj. IDπ ,那麼SIDπ. ⊥且DIDπ. ⊥. ‧. ‧ 國. 學. . Ui. 便可以輕易地模擬出一份合法的簽章。. y. sit. n. al. er. IDπ ,B 會先確認𝐻 -list 中是否已經有(miw rAi IDiA IDi. io. 如果IDj. Nat. . i Un. i A. δi Vi )如果沒. v. 有,B 會生成以上𝐻 -list 中的這份 tuple。完成後,B 會隨機選取 c𝑖 1.. Ch. engchi. /. c𝑖 B 回報錯誤,並且終止模擬。 2. c𝑖 已知H (miw rAi IDiA IDi. i A). i. B 產生一份簽章為. S. i. (SID. DID. x. x. x. 𝑃 41. x. 𝑃). A. (β. ).
(51) U. 𝑘𝐵 𝑃. 𝑃. (𝑟𝐴. 完成後,B 將. 𝑤. 𝑆 𝑈)回傳給 A1,且經過驗證,這是一份合法的簽章。. FORGERY 在所有的 query 之後,A1 製作出一份 Forgery Signature (𝑀 𝑆 𝐼𝐷 ). 政 治 大. 如果這份簽章是合法的,將會通過認證,又其中: . 立. 𝐼𝐷𝜋. 如果𝐼𝐷. 𝐼𝐷𝜋. Nat V. oxy. y. d. ‧. 且從其中的. sit. 如果𝐼𝐷. S. ‧ 國. . 學. B 會終止程序,宣告失敗。. A. al. n. DID. (S. d l. V ). er. io. 經導算之後,可以發現. SID C h. A. (S. (. engchi. 而A 偽造簽名,成功的條件是: ID. i Un. v. A (DID. SID ). A. ). V ). SID. IDπ ,且c𝑖. 在IDπ 下 DIDπ. xπ. SIDπ. xπ xπ 𝑃. xπ. xπ. 𝑏𝑃. 將三式結合可以得到 2 (. A. (S. (. A (DID. SID ). A. ). V ). xπ xπ 𝑃. xπ. ) 以上完成了演算法 B 的部分,接著要計算 B 可以成功破解 CHDP 的機率。 42. xπ. xπ.
(52) 而 B 要成功,必須符合以下幾種條件: 1. ε :B 在模擬過程中沒有終止。 2. ε :A1 最後生成的偽造簽章是可以通過認證的 3. ε3 :偽造簽章中的𝐼𝐷. 𝐼𝐷𝜋 且𝑐. B 只有在三種情況都成立才會成功,而這種條件下的機率為: r,ε ⋀ε ⋀ε -. r,ε -. r,ε ε -. r,ε3 ε ⋀ε -. 以下這幾種情況是ε 發生的必要條件: 1. ε. 政 治 大. B 不會在 Partial-Private-key-Extract 終止程序,其機率為 r,ε -. 立. 𝐻0. )𝑞𝑝𝑝𝑘 ≥ (. 𝑝𝑝𝑘. )𝑞𝑝𝑝𝑘 ≥. 𝑒. 學. ‧ 國. (. 其中 e 為自然對數 2. ε. B 不會在 Proxy-Sign 終止程序,其機率為. al. n. r,ε 3 -. (. 𝐻0. 從以上三式可以得到 而. 𝛿)𝑞𝑃𝑆. Ch. r,ε - ≥ 𝑒 (. engchi 𝛿)𝑞𝑃𝑆. 𝑐𝑚𝑎 𝑐𝑖𝑑𝑎 Succ𝐶𝐿𝑆𝑃 𝐴 ,又 r,ε3 ε ⋀ε - ≥ 𝑞. r,ε ε -. 因此,我們得到 Succ𝐵𝐶𝐷𝐻 𝐺 ≥. y. 𝑒. 𝑒. (. 𝛿)𝑞𝑃𝑆. 𝛿 𝐻0. 𝑐𝑚𝑎 𝑐𝑖𝑑𝑎 Succ𝐶𝐿𝑆𝑃 𝐴. 因為. 43. 𝛿 𝐻0. sit. 𝑆𝑉. )𝑞𝑆𝑉 ≥. er. 3. 𝐻0. )𝑞𝑆𝑉 ≥ (. io. 3. ε. (. Nat. r,ε -. ‧. B 不會在 Secret-Value-Extract 終止程序,其機率為. i Un. v.
(53) 𝛿)𝑞𝑃𝑆 在 𝛿. 𝛿(. 時有最大值. 𝑞𝑃𝑆. 因此 B 可以在 Succ𝐵𝐶𝐷𝐻 𝐺 ≥. 𝑒3. 𝐻0 ( 𝑃𝑆. 𝑐𝑚𝑎 𝑐𝑖𝑑𝑎 Succ𝐶𝐿𝑆𝑃 𝐴. ). 的機率下破解 CHDP 而演算法 B 的執行時間,將會等於 A1 的執行時間 t 加上回覆. : Create-User queries. 𝑃𝐾𝑅 :Public-Key-Extract. 立. queries. 學. queries. 𝑆𝑉. :Secret-Value Queries. 𝑃𝑆. :Proxy-Sign Queries. ‧. ‧ 國. 𝑃𝑃𝐾 :Partial-Private-Key. 政 治 大. Nat. io. er. 這幾種 Oracle 的時間,最後加上從𝑆 算出 abP 的時間。 因此,全部的執行時間最多是. n. al. t. q CU t CU. q. t. q. Rt. y. 𝐶𝑈. q H ):Random Oracle queries. sit. qH. (q H. CRh. q SV t SV. iqv t n U H H. qH tH. engchi. qH tH. q St. S. 這是一個線性時間,證明了 Theorem 。. 而面對 Type II 攻擊者,我們利用相同的方式去證明,也可以得知,基於 CDHP 下, A2 並沒有辦法偽造一份合法的代理簽名。. Theorem2: 如果有一個 (t q CU q. q. R. q SV q S ) 的 Type 2 Adaptively Chosen Message and. Chosen Identity Adversary A2,其可以對 Random Oracle 𝐻 作q H 次 qurey,對𝐻 、𝐻 分 別作q H 和q H 次。 並且在 t ≤ t qH tH. q St. S. q CU t CU. 這個時間下,有著. 44. q. Rt. R. q SV t SV. qH tH. qH tH.
(54) 𝑐𝑚𝑎 𝑐𝑖𝑑𝑎 Succ𝐶𝐿𝑆𝑃 𝐴 的機率,可偽造簽名,那麼便存在一個演算法 B,可以在線性時間下,以. Succ𝐵𝐶𝐷𝐻 𝐺 ≥. 𝐶𝑈. 𝑒. 𝑐𝑚𝑎 𝑐𝑖𝑑𝑎 Succ𝐶𝐿𝑆𝑃 𝐴. 𝐻. 的機率,解決 Computational Diffie-Hellman Problem in Polynomial Time. Setup: 1.. 政 治 大. P 是 Group G 的生成元. 立. 2.. ‧ 國. 。. )是一組 Random Instance of the CDHP. y. Nat. 3.. ‧. B 的目標是算出. sit. (. ,. 學. ∈ G , 其中. Challenger B is given. io. al. er. 演算法 B 會模擬出所有A 會使用到的 Oracles. n. 並且我們將用到的 Hash Function 都視為 Random Oracle 4.. Ch. B 設定 the Master Public Key 為 並且將(. u. u. engchi. i Un. v. s s ∈ 𝑍𝑝. s)傳送給A. H -Oracle: 在任何時間,A 都可以對H 作 Query,而H 是由 B 模擬成的一個 Random Oracle。. 1. B 會持有一份H -List,形式為(IDi H (IDi ) xi ci) 45.
(55) 而這份 List 一開始是空的。 1. 首先 B 會隨機選取π ∈ * 2 ⋯. 𝐻0 +. 2. . 如果i. π ,並且設定 H (IDi ). B 選擇亂數 xi ∈. xi. 且要確定H -List 中沒有xi . 如果i. 政 治 大. π. 立. ,並且設定H (IDπ ). B 選擇亂數xπ ∈. xπ. ‧. ‧ 國. 學. 最後 B 將H (IDi )回傳給A ,並且將(IDi H (IDi ) xi 𝑐𝑖 )放入H -List 中。. Create-User Oracle:. Nat. sit. n. al. er. io. 1.. y. A 在隨時都可以對 Create-User 這個 Oracle 作 query 以產生IDi. Input 為IDi 2.. Ch. engchi. i Un. v. 收到 input 後,B 會先檢查H -List 中是否有(IDi H (IDi ) xi ) 如果沒有,便先以IDi 為 input,執行H -oracle。 確定H -List 中有(IDi H (IDi ) xi )後執行以下: . 如果IDi. IDπ. B 選擇亂數xi ,並且計算. IDi. 相對應的 secret value 為 SIDi Partial-Private-Key 設定為 DIDi. xi xi xi s H (IDi ). 46.
(56) . 如果IDi. IDπ. B 選擇一亂數xπ ,並且計算. Partial-Private-Key 為 DIDπ. 立. 1.. s H (IDπ ). IDi )加到. Public-Key-Replace. xπ. ⊥. B 設定 Secret Value 為SIDπ. 最後 B 將(IDi xi DIDi SIDi. IDπ. L-list 中,並且將. 政 治 大. 2.. B 會將 L-List 中的(IDi xi DIDi SIDi. IDi ). ‧. ‧ 國. 學. ID ). Input 為(IDi. 改寫成 (IDi ⊥ DIDi ⊥. IDi. n. al. er. io. sit. y. Nat Secret-Value-Extract. IDi 回傳給A. Ch. engchi. . 如果SIDi. ⊥,B return failure 終止模擬。. . 如果SIDi. ⊥,B return SIDi 給A. i Un. v. H -Oracle: 在任何時刻裡,A1 可以 input ξ𝑖 向H 作 query 為了回應這個 Query,B 手上持有一份H -List,型態為(ξ𝑖 H2(ξ𝑖 ) 𝑐𝑖 )。 如果ξ𝑖 已經存在 H2-list 中,B 直接回應H (ξ𝑖 ) 若否 B 會計算H (ξ𝑖 ). 𝑖 ∈𝑅 𝑧𝑞 ,且H -list 中沒有𝑖 47. ).
(57) B 回傳𝑖 並且將之紀錄在H -List 中. H -Oracle: input 為(. i. i ID ). Ui. B 選擇亂數βi ϵ 要確定H -list 中沒有βi βi. Ui. Oi βi )放入H -List 中. ‧ sit. io. IDj ). y. Nat. Proxy-Sign: Input 為(. i. 如果IDj. IDπ ,那麼SIDπ. al. n. . i ID. er. i. 學. 最後 B 將(. 立. 政 治 大. ‧ 國. Oi. i s H (ID C⊥且D ID i )n U hengchi π. 便可模擬出一份合法的簽章。. . 如果IDj. IDπ , B 回報錯誤,並且終止模擬。. FORGERY 在所有的 query 之後,A1 製作出一份 Forgery Signature (𝑀 𝑆 𝐼𝐷 ) 且. 48. v.
(58) S. d. 𝑖 (𝑆𝐵. V. oxy. 𝐷𝐵 ). 𝜎𝑑𝑒𝑙𝑒. 𝑘𝐵 𝐻 (𝑀 𝑈 𝑃𝐾𝐵 ). 其中 H (ξ𝑖 ),ξ𝑖. 𝑖 D. (. 𝑟𝐴 𝐼𝐷𝐴 𝐼𝐷𝐵 𝑃𝐾𝐴 ). 𝑤. s H (ID ). 𝐻 (𝑀 𝑈 𝑃𝐾𝐵 ). β. 而A 偽造簽名,成功的條件是: ID. IDπ. 政 治 大. 在IDπ 下 SIDπ. xπ xπ. 立. 𝑏𝑃. ‧ 國. 𝑏𝑃. 學. 將以上各式結合可得 (xπ xπ ) ,𝑖. (S. 𝜎𝑑𝑒𝑙𝑒. 𝑘𝐵 𝐻 (𝑀 𝑈 𝑃𝐾𝐵 )). 𝑫𝑩 -. ‧. Nat. sit. y. 以上完成了演算法 B 的部分,接著要計算 B 可以成功破解 CHDP 的機率。. n. al. er. io. 而 B 要成功,必須符合以下幾種條件: 1. ε :B 在模擬過程中沒有終止。. Ch. engchi. i Un. v. 2. ε :A 最後生成的偽造簽章是可以通過認證的 3. ε3 :偽造簽章中的𝐼𝐷. 𝐼𝐷𝜋. B 只有在三種情況都成立才會成功,而這種條件下的機率為: r,ε ⋀ε ⋀ε -. r,ε -. r,ε ε -. r,ε3 ε ⋀ε -. 以下這幾種情況是ε 發生的必要條件: 1. ε. B 不會在 Secret-Value-Extract 終止程序,其機率為. r,ε -. (. 𝐶𝑈. )𝑞𝑆𝑉 ≥ (. 𝑆𝑉. )𝑞𝑆𝑉 ≥. 其中 e 為自然對數 49. 𝑒.
(59) 2. ε. B 不會在 Proxy-Sign 終止程序,其機率為. r,ε -. (. 𝐻0. r,ε - ≥. 從以上三式可以得到 而. )𝑞𝑃𝑆 ≥ (. 𝑒 𝑞. 𝐻0. 因此,我們得到 𝐶𝑈. 𝑒. 𝐻. 𝑐𝑚𝑎 𝑐𝑖𝑑𝑎 Succ𝐶𝐿𝑆𝑃 𝐴. 立. 政 治 大. 學. ‧ 國. ≥. 𝑒. 𝑐𝑚𝑎 𝑐𝑖𝑑𝑎 𝐶𝑈 Succ𝐶𝐿𝑆𝑃 𝐴 ,又 r,ε3 ε ⋀ε - ≥ 𝑞. r,ε ε -. Succ𝐵𝐶𝐷𝐻 𝐺. 𝑃𝑆. )𝑞𝑃𝑆 ≥. 的機率下破解 CHDP. q H ):Random Oracle queries. y. sit. al. queries. n. 𝑃𝐾𝑅 :Public-Key-Replace. er. : Create-User queries. io. 𝐶𝑈. qH. Nat. (q H. ‧. 而演算法 B 的執行時間,將會等於A 的執行時間 t 加上回覆. 𝑆𝑉. :Secret-Value Queries. 𝑃𝑆. :Proxy-Sign Queries. Ch. engchi. i Un. v. 這幾種 Oracle 的時間,最後加上從𝑆 算出 abP 的時間。 因此,全部的執行時間最多是 t. q CU t CU. q. Rt. R. q SV t SV. qH tH. qH tH. qH tH. q St. S. 這是一個線性時間,證明了 Theorem 2。. 2.. Verifiability: 在簽名經過認證後,任何人皆可以很明確的驗證並確定這份Proxy Signature的確是 50.
(60) 由Original Signer所授權給proxy Signer簽訂的。而且簽章的文件,必須符合授權書裡面 規定的形式。 . 根據Unforgeability性質,得知我們的方案中,簽名並沒有辦法被攻擊者所偽造,因 此Verifier可以確認原始簽章者對授權書mw 的簽章,進而確定此份授權書的完整性。 而根據mw 便可以從中得知Original Signer、Proxy Signer的ID,以及對文件M的限制。 如此便可以確定Verifiability性質的符合。. 3.. Secret Key Dependencies:. 立. 政 治 大. Delegation只能由Original Signer利用自己的私密金鑰產生,別人無法偽造。 d l. 偽造的。. ‧ y. Nat. Distinguishability:. sit. 4.. mw )是對授權書mw 的一份免憑證簽名。我們可以證明,其簽章是無法被. ‧ 國. (rA. 學. . n. al. er. io. 接收者可以區分Signature是由Original Signer或者是Proxy Signer所簽發,而且可以找 到Proxy Signer和Original Signer之間的關係。 . 接收者所收到的簽名為. Ch. engchi. i Un. v. (rA mw S U),從包含其中的授權書mw 可以很輕易地分. 辨原始簽章者和代理簽章者的ID,而且從Proxy-Signature-Verification演算法中可以發 現,原始簽章者的公開金鑰 公開金鑰. A 是H. Hash Function中的一個輸入,而代理簽章者的. 是H Hash Function的一個輸入。從以上幾點可以證明. Distinguishability的正確性。. 5.. Identifiability: 接收者可以很輕易地知道Original Signer跟Proxy Signer的身分ID。. . 因為接收者所收到的簽名為. (rA mw S U),其中包含授權書mw,從中可以輕易 51.
(61) 地查出Original Signer以及Proxy Signer的ID。 6.. Undeniability: 因為授權資訊是由Original Signer簽發,而且Proxy Signature只能用Proxy Signer利用 其Secret Key生成,所以兩者皆不可以否認自己做過簽名。. . 因為接收者得到的簽名為. (rA mw S U),其中授權書mw 中包含了Original Signer. 所給予的授權條件。根據Unforgeability得知,Proxy Signature是不可偽造的,因 此可以得知此份Proxy Signature必定是由Proxy Signer所簽發,Undeniability可以直覺 地觀察出來。 7.. Non Repudiation:. 立. 政 治 大. ‧ 國. 從Undeniability可以知道,這安全性必定成立。. ‧. io. sit. y. Nat. n. al. er. . 學. Proxy Signer無法生出Original Signer的簽章,反之亦如此。. Ch. engchi. 52. i Un. v.
數據
相關文件
4.支出憑證如有遺失或供其他用途者,應檢附與原本相符之影本,或其他
"Extensions to the k-Means Algorithm for Clustering Large Data Sets with Categorical Values," Data Mining and Knowledge Discovery, Vol. “Density-Based Clustering in
因本校開、閉幕式會場(校史館大講堂)座位有限,故開放各報名學校行政人 員或師長代表每校 1 名、社團評選報名社團代表每社團各 1
Know how to implement the data structure using computer programs... What are we
• Recorded video will be available on NTU COOL after the class..
Discovering the City by Mining Diverse and Multimodal Data Streams – IBM Grand Challenge: New York City 360. § Exploring and Integrating Multiple Contents and Sources for
In our AI term project, all chosen machine learning tools will be use to diagnose cancer Wisconsin dataset.. To be consistent with the literature [1, 2] we removed the 16
由於自簽的電子證書並非由知名憑證授權單位簽署,因此當使用者進入網 站時會被瀏覽器標注為不安全(例如使用 Google Chrome