ECQV自簽名憑證及其延伸應用之研究 - 政大學術集成
全文
(2) ECQV 自簽名憑證及其延伸應用之研究 A Study on ECQV Self-singed Certificate and Its Extensions 研 究 生 : 蘇勤文. Student:. Ching-Wen Su. 指 導 教 授 : 左瑞麟. Advisor:. Raylin Tso. 國立政治大學. 立. 政 治 大 資訊科學系. ‧. ‧ 國. 學. 碩士論文 A Thesis. y. Nat. er. io. sit. Submitted to Department of Computer Science. n. National Chengchi University a v. i l C n U h e n g cofh the i Requirements In partial fulfillment For the degree of Master in Computer Science 中華民國一百零七年九月 September 2018 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(3) ECQV 自簽名憑證及其延伸應用之研究. 摘要 Elliptic curve Qu-Vanstone(ECQV)由 Daniel 等人於 2001 年提出,為目前眾多系統及 標準使用的隱式憑證。隱式憑證確保只有憑證的原始擁有者可以算出相應私鑰,且隱 式憑證並不包含簽章,因此可以快速計算,適合用於能力受限的系統設備上。但是我 們發現 ECQV 存在兩個問題。第一個問題,由於隱式憑證不包含簽章的特性,在與對 方溝通之前無法驗證用戶是否是正確的對象。第二個問題,由於證書和公鑰是一對一 的對應關係,當用戶需要多個密鑰時,他們必須頻繁地與證書頒發機構(CA)溝通, 這可能增加傳輸溝通成本。因此本研究提出兩種機制來解決上述問題。代理憑證機制 以及憑證更新機制,兩種機制皆可基於原始憑證,自行產生多組公私鑰。代理憑證機 制產生的公私鑰可分與他人做使用;憑證更新機制不可分與他人做使用,且生成的憑 證具有可驗證性,可證實為原憑證擁有者生成,因此兩個機制可滿足不同的情境。另 外我們也針對私鑰的機密性和證書的不可偽造性進行安全性證明。同時我們也透過實 作證實,相較 RSA 或是 ECQV 我們提出的機制確實可以利用較少的時間、較低的成本 生成憑證,因此適用於能力受限系統。 關鍵字:Elliptic curve Qu-Vanstone(ECQV)、隱式憑證、憑證更新. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. i DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(4) A Study on ECQV Self-singed Certificate and Its Extensions. Abstract Elliptic curve Qu-Vanstone (ECQV) is now the most commonly used implicit certificate. However, we noticed that ECQV presents two main problems. First, due to the characteristics of the implicit certificate, it is not possible to verify whether the user is the. 政 治 大. correct object until we communicate with. Second, the certificate and the public key are in. 立. a one-to-one correspondence; hence, when users need multiple keys, they have to. ‧ 國. 學. frequently communicate with the Certificate Authority (CA), which may increase the communication transmission costs. Therefore, we propose two schemes to solve the above. ‧. issues. The proxy certificate scheme allows users to update their public/private keys. y. Nat. sit. without asking for a new certificate from the CA. The certificate update scheme allows. n. al. er. io. users to update their keys and verifiers to check their identities. Then we also make sure. i Un. v. that our scheme satisfy the confidentiality of the private key and the unforgeability of the. Ch. engchi. certificate. In addition, we also implement the scheme we proposed and proved that it took a short time. Therefore, the mechanism we propose can indeed reduce the cost and suitable for power-limited systems. Keywords:Elliptic curve Qu-Vanstone(ECQV) 、Implicit certificate、Certificate update. ii DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(5) 誌謝 隨著碩論的完成,也代表我的學生生涯即將畫下句點。在這兩年多的時間裡, 要感謝許多老師、同學的指導與幫助及指引。首先,誠摯的感謝指導教授左瑞麟老 師,謝謝老師的指導與鼓勵,讓原本對資訊安全、密碼學似懂非懂的我,對此有較 深的瞭解,體會到研究的樂趣,並且順利完成碩士論文的撰寫。除了學業上的指導 與幫助,老師亦教導學生謙和待人處事的道理,獲益良多。同時也要感謝口試委員 陳昱圻教授及王紹睿研究員,對於我的論文給予寶貴的建議,使我的論文更加完備。. 政 治 大. 感謝實驗室夥伴子源、禾暘、仁傑和亞哲給予的協助與諮詢,讓我的論文能更. 立. 加順利。而我也要特別感謝子源和禾暘,這兩年互相扶持、相互砥礪,不論是課業. ‧ 國. 學. 或是生活,都得到很大的幫助,謝謝你們的陪伴感謝你們。. ‧. 最後,感激我摯愛的家人,你們是我最強大的後盾,因為有你們的包容與支持, 讓我可以無後顧之憂的做研究讀書。當我遭遇挫折,你們總是給我最大的鼓勵與關. y. Nat. n. al. er. io. 傲。. sit. 懷,陪我度過難關,讓我得以拿到碩士學位。希望我的努力能令你們感到欣慰與驕. Ch. engchi. i Un. v. iii DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(6) 目錄 摘要 ..................................................................................................................................... i Abstract ............................................................................................................................. ii 誌謝 ...................................................................................................................................iii 目錄 ................................................................................................................................... iv 表目錄 ............................................................................................................................... vi 圖目錄 .............................................................................................................................. vii 1.. 政 治 大. 緒論 ............................................................................................................................ 1. 立. 1.1. 研究動機 ................................................................................................................ 1. ‧ 國. 學. 1.2. 研究背景 ................................................................................................................ 2. ‧. 1.3. 研究目的 ................................................................................................................ 4 1.4. 論文架構 ................................................................................................................ 4. y. Nat. io. sit. 背景知識 .................................................................................................................... 5. er. 2.. 2.1. 橢圓曲線密碼系統(Elliptic Curve Cryptosystem,ECC) .................................... 5. n. al. Ch. i Un. v. 2.1.1.. 定義橢圓曲線 ............................................................................................ 5. 2.1.2.. 橢圓曲線上的運算 .................................................................................... 5. 2.1.3.. ECC 應用 ................................................................................................... 6. 2.1.4.. 安全性 ........................................................................................................ 7. engchi. 2.2. Elliptic Curve Qu-Vanstone(ECQV) ...................................................................... 8 2.2.1.. OMC ........................................................................................................... 8. 2.2.2.. ECQV ......................................................................................................... 9. 2.2.3.. 安全性 ...................................................................................................... 11. 2.3. Schnorr 協議 ........................................................................................................ 12 iv DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(7) 3.. 2.3.1.. Schnorr 身分驗證協議 (Schnorr Identification Protocol) ...................... 12. 2.3.2.. Schnorr 簽名協議(Schnorr Signature Protocol) ...................................... 13. 2.3.3.. 安全性 ...................................................................................................... 15. 基於 ECQV 之多重金鑰生成機制......................................................................... 17 3.1. 定義 ...................................................................................................................... 17 3.1.1.. 符號定義 .................................................................................................. 17. 3.1.2.. 方法定義 .................................................................................................. 17. 政 治 大. 3.2. 安全模型 .............................................................................................................. 18. 立. 私鑰安全性之安全模型 .......................................................................... 18. 3.2.2.. 憑證更新機制不可偽造性之安全模型 .................................................. 19. ‧ 國. 學. 3.2.1.. 3.3. 代理憑證機制 ...................................................................................................... 20. ‧. 3.4. 憑證更新機制 ...................................................................................................... 21. Nat. y. 安全性證明 .............................................................................................................. 24. sit. 4.. n. al. er. io. 4.1. 私鑰安全性證明 .................................................................................................. 24. i Un. v. 4.2. 憑證更新機制之不可偽造性證明 ...................................................................... 27. Ch. engchi. 5.. 效能比較 .................................................................................................................. 30. 6.. 結論 .......................................................................................................................... 33. 參考文獻 .......................................................................................................................... 34. v DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(8) 表目錄 表 1:ECC/RSA 金鑰長度比較表 ...................................................................................... 3 表 2:ECQV 生成時間 ...................................................................................................... 31 表 3 : ECQV 與 RSA 憑證生成時間比較表 ..................................................................... 31 表 4 我們提出的機制憑證生成時間表 ............................................................................. 32. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. vi DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(9) 圖目錄 圖 1:橢圓曲線上的加法 𝑅𝑅 = 𝑃𝑃 + 𝑄𝑄 .............................................................................. 6 圖 2:OMC 憑證生成及驗證流程 ...................................................................................... 8 圖 3:ECQV 憑證產生流程圖 ......................................................................................... 10 圖 4:隱式憑證之安全模型 .............................................................................................. 12 圖 5:Schnorr 身分驗證協議 ............................................................................................ 13 圖 6:Schnorr 簽名協議 .................................................................................................... 14. 政 治 大. 圖 7:分叉引理 .................................................................................................................. 15. 立. 圖 8:代理憑證流程圖 ...................................................................................................... 20. ‧ 國. 學. 圖 9:憑證更新流程圖 ...................................................................................................... 22. ‧. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. vii DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(10) 1. 緒論 1.1. 研究動機 隨著資訊科技的日新月異,資訊的機密性變得越來越重要,而資訊需在開放性網路 上傳送,因此需確保資訊為安全傳送(secure communication)。通常傳送資訊的雙方 會使用金鑰協商 (key agreement)或金鑰分配(key distribution )協定以進行資訊加密、 解密;而不論是金鑰分配或是金鑰協商,公開金鑰的分配都是重要議題,也就是公. 政 治 大 公開金鑰分配可以透過四種方法實現,公開聲明、公用目錄、公開金鑰管理中 立. 開金鑰該怎麼安全的傳輸到他人手中,並確保金鑰的擁有者身分正確。. ‧ 國. 學. 心及公開金鑰憑證。公開聲明為使用者將其公開金鑰送給其他接收者、或是將其金 鑰廣播給全部的人知道,然而這個方法存在偽造的風險,任何人皆可以製造一把金. ‧. 鑰並聲稱是其他人的,藉此偽裝成其他人;公用目錄保存使用者向目錄註冊的姓名. sit. y. Nat. 及公開金鑰,週期性公布目錄並以電子的方式儲存,達到較高安全性,但仍需注意. io. er. 竊聽的威脅;因此大多會使用較安全的公開金鑰管理中心或是公開金鑰憑證的方式. al. iv n C hengchi U 下來交換金鑰。憑證將使用者與公開金鑰連結在一起通常還包括其他資訊,像是有 n. 來進行金鑰分配,而藉由憑證,我們可以在不需即時存取公開金鑰管理中心的情況. 效期限、使用者的權力等等,憑證的內容必須由可靠的數位憑證認證機構(Certificate Authority , CA)來簽署。任何知道 CA 公開金鑰的人,都可以驗證此憑證。 公 開 金 鑰 憑 證 一 般 可分 為 兩 種 , 顯 式 憑 證 (Explicit certificate) 及 隱 式 憑 證 (Implicit certificate)。顯式憑證包含公鑰、擁有者身分證明碼以及驗證機構的簽章, 其中簽章用來證明此憑證內容是否正確。擁有者可以傳送此憑證給電腦系統或其他 使用者,電腦系統或其他使用者可以透過一定的流程來驗證憑證的有效性,若合法 則信任此憑證擁有者之身分,反之,則拒絕。目前已在 TLS 實作並在全球資訊網的 HTTP 以 HTTPS、在電子郵件的 SMTP 以 STARTTLS 引入並廣泛應用。業界現行 1 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(11) 的標準是國際電信聯盟電信標準化部門制定的 X.509,並 Internet Engineering Task Force (IETF)發行的 RFC 5280 詳細述明。而在不少先進國家,都已立法承認使用數 位憑證所作的數位簽章擁有等同親筆簽名的法律效力,如歐洲聯盟、香港、台灣。 但隨著物聯網的出現,物聯網設備五花八門依據設備功能的不同,其計算或儲存能 力業有所差異,當我們將顯式憑證用於物聯網設備上時,可能出現耗時產生效率慢 等問題,因此我們需要能快速產生且驗證方便的憑證,而隱式憑證正好滿足此特性。 隱式憑證由身分證明碼和公鑰重建數據組成,藉由公鑰重建數據計算出公鑰,. 政 治 大. 而因為只有憑證擁有者有相對應的私鑰,因此我們可藉由驗證公鑰,間接證明使用. 立. 者身分的合法性。而和傳統顯式憑證不同,憑證中並沒有包含驗證機構的簽章,因. ‧ 國. 學. 此不需驗證簽章,相較顯式憑證,長度較短、速度較快。Elliptic Curve Qu-Vanstone (ECQV)為基於橢圓曲線密碼學之隱式憑證[2],具備了兩者的特性,適合用於儲存. ‧. 計算能力受限之設備上,因此目前也越來越多系統或是標準採用,像是 ZigBee Smart. Nat. n. al. er. io. 1609.2[3],都是使用 ECQV 做為其憑證標準。. sit. y. Energy 1.0 低速短距離傳輸的無線網路協定或是用於車聯網的協定,如:IEEE. i Un. v. ECQV 快速的特性固然適用於物聯網裝置上,但仍有兩個問題值得探討。第一. Ch. engchi. 個問題,隱式憑證的特性,須等到溝通時才能確認是否為正確欲溝通的對象;第二 個問題,一個憑證只能對應一組公私鑰,若需要多組公私鑰,則需頻繁的向 CA 溝 通,溝通傳輸成本也因此增加。本研究計畫在保有 ECQV 本身快速產生方便計算且 安全的特性下,針對這兩個問題提出相對應的解決辦法。. 1.2. 研究背景 1978 年 RSA 被提出後就被廣泛的應用直到 1985 年橢圓曲線密碼學(Elliptic curve cryptography, ECC)[4][5]被提出,由於 ECC 和 RSA 相比,能以較短的金鑰達到相同 的安全性(表 1)[6],能節省儲存空間節計算資源,因此被大量提倡使用,如美國政 2 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(12) 府制定的 NSA Suite B Cryptography 即規定若要簽章則使用 ECDSA;若要密鑰交換 則用 ECDH 或是 ECMQV[7]。 基於 ECC 的密碼系統有很多,如上述 ECDSA 用於簽章、ECDH 用於金鑰交 換,而 Optimal Mail Certificate (OMC)[8]則為適用於憑證的機制。OMC 最早用於郵 件中,一般郵件中會需要憑證、公鑰及數位簽章,而 OMC 可以減少憑證所需的空 間,節省頻寬和計算時間。但當我們使用兩個可證明安全的機制,即 OMC 憑證和 ECDSA 的簽章,卻會產生一個不安全的郵件系統[9](OMC 憑證的安全性可見於[7];. 政 治 大. ECDSA 簽章的安全性可見於[10][11][12])。因此由 Brown,Gallant 和 Vanstone [13]. 立. 提出了 OMC 隱式證書的修改版本 ECQV,並給出了隱式證書方案的安全性定義,. ‧ 國. 學. 及安全性證明。. 表 1:ECC/RSA 金鑰長度比較表. ‧. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. ECQV 快速計算產生的性質,使得眾多物聯網設備或是計算能力儲存能力有限 的設備逐漸採用 ECQV 為其憑證標準。但針對整體應用情境,我們發現兩個問題。 首先,隱式憑證本身的特性,憑證中並沒有包含完整的公鑰及簽章,因此我們得到 隱式憑證計算出公鑰後,我們需於與對方溝通的當下,才可以確認對方是否為正確 的對象,因此我們希望能提出一套在保持原先計算產生快速的特性下,和顯式憑證 一樣,可以驗證公鑰的正確性的機制。第二個問題屬於應用情境下的問題,一個憑 證只能對應一組公私鑰,今天若是階層式的組織,每個單位皆需要一個憑證的話, 3 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(13) 則需頻繁的向 CA 申請憑證,一來一回溝通傳輸成本也因此增加,因此我們希望能 提出一套多重金鑰產生機制,使得使用者可自行產生多組憑證,減少傳輸溝通成本。. 1.3. 研究目的 本研究針對上述兩個問題,設計並且實作基於 ECQV 隱式憑證之多重金鑰生成系 統,並且具有以下特性。 1.. 適用能力受限的系統:本機制基於橢圓曲線,因此不需大量的儲存空間及強大 的運算能力。. 2.. 立. 對。. ‧ 國. 學. 3.. 政 治 大. 節省傳輸溝通成本:本機制不需再與 CA 進行溝通,自己即可產生多組公私鑰. 多元的應用:本機制基於 ECC,而 ECC 目前應用於多種不同的系統中,如物. 4.. ‧. 聯網裝置、區塊鏈等,因此可以與其結合。. 安全性:本機制基於 ECQV 本身的安全性達到密鑰安全性、憑證的不可偽造. y. Nat. er. io. 1.4. 論文架構. sit. 性,並且利用零知識證明的方式達到確認使用者身分的功能。. al. n. iv n C hengchi U 本論文共分為六個章節作探討。第一章為緒論,完整的介紹研究動機、研究背景及 研究目的;第二章為背景知識,將橢圓曲線密碼學、ECQV 及 Schnorr 協議基本架 構作完整的說明,另外也詳細敘述其安全性;第三章為本論文所提出之基於 ECQV 之多重金鑰生成機制;第四章針對所提出之機制進行安全性分析;第五章將所提出 之機制與 RSA 進行效能分析;第六章為結論與未來展望。. 4 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(14) 2. 背景知識 2.1. 橢圓曲線密碼系統(Elliptic Curve Cryptosystem,ECC) 橢圓曲線密碼系統是一種基於橢圓曲線的公開金鑰密碼系統,橢圓曲線的數學理論 早在百年前就已經很完備了,而第一次應用於密碼學上是於 1985 年由 Neal Koblitz[4] 與 Victor Miller[5]分別提出,之後於 2000 年由 Standard for Efficient Cryptography Group 正式編寫為標準[14]。. 2.1.1. 定義橢圓曲線 橢圓曲線可定義為𝐸𝐸:𝑦𝑦 2. 立. 政 治 大 ≡ 𝑥𝑥 + 𝑎𝑎𝑎𝑎 + 𝑏𝑏 。在有限體 3. 𝔽𝔽𝑝𝑝 下包含以下設定值 𝑇𝑇 =. ‧ 國. 學. (𝑝𝑝, 𝑎𝑎, 𝑏𝑏, 𝐺𝐺, 𝑛𝑛),𝑝𝑝為質數,𝑎𝑎, 𝑏𝑏 ∈ 𝔽𝔽𝑝𝑝 且4𝑎𝑎3 + 27𝑏𝑏 2 ≠ 0,並且有一階(order)為𝑛𝑛的生成. 元G(𝑥𝑥𝐺𝐺 , 𝑦𝑦𝐺𝐺 )和一個無窮遠點𝒪𝒪在𝐸𝐸(𝔽𝔽𝑝𝑝 )上,通常以𝐸𝐸𝑝𝑝 (𝑎𝑎, 𝑏𝑏)表示。. ‧. 點𝑃𝑃 = (𝑥𝑥1 , 𝑦𝑦1 )為橢圓曲線上的一點,點𝑃𝑃的反元素為−𝑃𝑃 = (𝑥𝑥1 , −𝑦𝑦1 ),也就是橢. 而𝑃𝑃和−𝑃𝑃互為橢圓曲線上的加法反元素。. er. io. sit. y. Nat. 圓曲線上對稱於 y 軸的點。若𝑃𝑃 + (−𝑃𝑃) = 𝒪𝒪,則𝒪𝒪為橢圓曲線上的加法單位元素,. 2.1.2. 橢圓曲線上的運算 a. n. iv l C n hengchi U 橢圓曲線上的加法運算基本規則如下,若有已知屬於橢圓曲線上的兩點做相加,則 先取兩點連線與橢圓曲線的交點,再將交點對稱 x 軸所得出的第三點,即為兩點之 和。如圖 1 所示,當我們將橢圓曲線上已知兩點做相加,得出的第三點也會在橢圓 曲線上。 𝐸𝐸𝑝𝑝 (𝑎𝑎, 𝑏𝑏)上的加法如下:假設𝑃𝑃 = (𝑥𝑥1 , 𝑦𝑦1 )、Q = (x2 , 𝑦𝑦2 )且 𝑃𝑃, 𝑄𝑄 ∈ 𝐸𝐸𝑝𝑝 (𝑎𝑎, 𝑏𝑏),令. 𝑅𝑅 = P + Q = (𝑥𝑥3 , 𝑦𝑦3 )。底下分成𝑃𝑃 = 𝑄𝑄以及𝑃𝑃 ≠ 𝑄𝑄的情況作介紹,則. 5 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(15) 政 治 大. 圖 1:橢圓曲線上的加法 𝑅𝑅 = 𝑃𝑃 + 𝑄𝑄 [15]. (1) 若𝑃𝑃 = 𝑄𝑄. 立. 2. ‧ 國. 學. 𝑥𝑥3 = 𝜆𝜆 − 𝑥𝑥1 − 𝑥𝑥2. 𝑦𝑦3 = 𝜆𝜆(𝑥𝑥1 − 𝑥𝑥3 )−𝑦𝑦1. ‧. 3𝑥𝑥1 2 +𝑎𝑎 2𝑦𝑦1. sit. (2) 若 P≠Q. y. Nat. 其中𝜆𝜆 =. n. al. er. io. 𝑥𝑥3 = 𝜆𝜆2 − 𝑥𝑥1 − 𝑥𝑥2. 𝑦𝑦3 = 𝜆𝜆(𝑥𝑥1 − 𝑥𝑥3 )−𝑦𝑦1 y −y. 其中λ = x2 −x1 2. Ch. engchi. i Un. v. 1. 由於橢圓曲線為交換群,因此若要計算 4P,可拆為4P = 1P + 3P或是4P = 2P +. 2P,通常以4P = 2P + 2P方式計算,較為快速。. 2.1.3. ECC 應用 加解密. 假設 Alice 欲傳送訊息 m 給 Bob,則加解密流程如下: 前置階段:Alice 和 Bob 會共同定義橢圓曲線的參數𝑇𝑇 = (𝑝𝑝, 𝑎𝑎, 𝑏𝑏, 𝐺𝐺, 𝑛𝑛),並各自. 產生公私鑰對。Alice 選擇一隨機亂數𝑑𝑑𝐴𝐴 ∈𝑅𝑅 [1, … , 𝑛𝑛 − 1]作為私鑰,則公鑰為𝑄𝑄𝐴𝐴 = 6. DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(16) 𝑑𝑑𝐴𝐴 𝐺𝐺。Bob 選擇一隨機亂數𝑑𝑑𝐵𝐵 ∈𝑅𝑅 [1, … , 𝑛𝑛 − 1]作為私鑰,則公鑰為𝑄𝑄𝐵𝐵 = 𝑑𝑑𝐵𝐵 𝐺𝐺。. 加密階段:Alice 先將訊息 m 轉換成橢圓曲線上的點,在此假設為𝑃𝑃𝑚𝑚 ,再隨機. 選擇一亂數𝑘𝑘,計算𝐶𝐶1 = 𝑘𝑘𝑘𝑘;計算𝐶𝐶2 = 𝑃𝑃𝑚𝑚 + 𝑘𝑘𝑄𝑄𝐵𝐵 。則密文𝐶𝐶𝑚𝑚 = {𝐶𝐶1 , 𝐶𝐶2 }。 解密階段:Bob 接收到𝐶𝐶𝑚𝑚 即可計算𝑃𝑃𝑚𝑚 ,𝑃𝑃𝑚𝑚 = 𝐶𝐶2 − 𝑑𝑑𝐵𝐵 𝐶𝐶1 。 金鑰交換. 金鑰交換前,Alice 和 Bob 會共同定義橢圓曲線的參數T = (p, a, b, G, n),接著可用 類似於 Diffie-Hellman 的金鑰交換方式建立共同密鑰:. 政 治 大. (1) Alice 選擇一隨機亂數dA ∈R [1, … , n − 1]作為私鑰,則公鑰為QA = dA G。. 立. 將𝑄𝑄𝐴𝐴 傳送給 Bob。. ‧ 國. 學. (2) Bob 選擇一隨機亂數𝑑𝑑𝐵𝐵 ∈𝑅𝑅 [1, … , 𝑛𝑛 − 1]作為私鑰,則公鑰為𝑄𝑄𝐵𝐵 = 𝑑𝑑𝐵𝐵 𝐺𝐺。將. ‧. 𝑄𝑄𝐵𝐵 傳送給 Alice。. sit. (4) Bob 計算共同密鑰 𝐾𝐾 = 𝑑𝑑𝐵𝐵 𝑄𝑄𝐴𝐴 。. y. Nat. (3) Alice 計算共同密鑰 𝐾𝐾 = 𝑑𝑑𝐴𝐴 𝑄𝑄𝐵𝐵 。. 2.1.4. 安全性. al. n. 或是簽章等動作。. Ch. engchi. er. io. 雙方皆利用自己的私鑰乘上對方的公鑰建立共同密鑰後,即可進行後續加解密. i Un. v. 一般的公開金鑰密碼系統,其安全性都是基於數學難題之上,讓攻擊者很難在 可接受的時間內求出關鍵值,例如 RSA 就是建構於大整數因數分解難題上的公開 金鑰密碼系統。而橢圓曲線密碼系統,其安全性是建立在橢圓曲線離散對數問題 (Elliptic Curve Discrete Logarithm Problem,ECDLP)之上,即假設一橢圓曲線上有兩 點𝑃𝑃及𝑄𝑄,𝑄𝑄 = 𝑘𝑘𝑘𝑘,在給定𝑘𝑘及𝑃𝑃下計算𝑄𝑄很容易;然而,再給定𝑃𝑃及𝑄𝑄下,要求得𝑘𝑘則 很困難。而 ECDLP 已被證實為一種 NP-Complete 問題[16]。. 而橢圓曲線密碼系統最大的優點則是在同樣的安全性下,所需的金鑰長度較其 他密碼系統如 RSA 短,例如金鑰長度為 160 位元的 ECC,其安全性相當於金鑰長 7 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(17) 度為 1024 位元的 RSA,因此特別適用在運算能力及記憶體有限的系統上[17]。. 2.2. Elliptic Curve Qu-Vanstone(ECQV) Optimal Mail Certificate (OMC)為一套用於郵政的隱式憑證系統,ECQV 為 OMC 的 改良,使其更加安全,底下將詳細介紹兩種系統架構及 ECQV 的安全性證明。. 2.2.1. OMC OMC 是基於橢圓曲線的隱式憑證系統,由 Leon A. Pintsov 與 Scott A. Vanstone 所 提出[8]。. 政 治 大. 初始階段:CA 會選定以下參數. 立. (1) 橢圓曲線參數𝑇𝑇 = (𝑝𝑝, 𝑎𝑎, 𝑏𝑏, 𝐺𝐺, 𝑛𝑛)。. ‧ 國. 學. (2) 雜湊函數𝐻𝐻(∙),如 SHA-2。. ‧. (3) 產生公私鑰對(𝑑𝑑𝐶𝐶𝐶𝐶 , 𝑄𝑄𝐶𝐶𝐶𝐶 ):選擇一隨機亂數𝑑𝑑𝐶𝐶𝐶𝐶 ∈𝑅𝑅 [1, … , 𝑛𝑛 − 1],計算公鑰. sit. n. er. io. al. y. Nat. 𝑄𝑄𝐶𝐶𝐶𝐶 = 𝑑𝑑𝐶𝐶𝐶𝐶 𝐺𝐺。. Ch. engchi. i Un. v. 圖 2:OMC 憑證生成及驗證流程 憑證請求階段:使用者會執行以下動作 (1) 選擇一隨機亂數𝑘𝑘𝑈𝑈 ∈𝑅𝑅 [1, … , 𝑛𝑛 − 1]。. (2) 計算𝑅𝑅𝑈𝑈 = 𝑘𝑘𝑈𝑈 𝐺𝐺,𝑅𝑅𝑈𝑈 為橢圓曲線上的點。. (3) 傳送憑證申請請求(𝐼𝐼𝐼𝐼𝑈𝑈 , 𝑅𝑅𝑈𝑈 )給𝐶𝐶𝐶𝐶,𝐼𝐼𝐼𝐼𝑈𝑈 為使用者的身分證明碼。 8. DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(18) 憑證產生階段:𝐶𝐶𝐶𝐶接收申請後會執行以下動作 (1) 驗證𝑅𝑅𝑈𝑈 是否合法,驗證方式為確認𝑅𝑅𝑈𝑈 不等於𝒪𝒪,𝑅𝑅𝑈𝑈 為橢圓曲線上的一點且 𝑛𝑛𝑅𝑅𝐴𝐴 等於𝒪𝒪,上述三個條件皆成立則合法。若合法則執行步驟 2。. (2) 選擇一隨機亂數𝑘𝑘 ∈𝑅𝑅 [1, … , 𝑛𝑛 − 1]。 (3) 計算公鑰重建數據𝑃𝑃𝑈𝑈 = 𝑅𝑅𝑈𝑈 + 𝑘𝑘𝑘𝑘。. (4) 計算私鑰重建數據𝑟𝑟 = 𝐻𝐻(𝑃𝑃𝑈𝑈 , 𝐼𝐼𝐼𝐼𝑈𝑈 ) ∗ 𝑑𝑑𝐶𝐶𝐶𝐶 + 𝑘𝑘。 (5) 將(𝑃𝑃𝑈𝑈 、𝐼𝐼𝐼𝐼𝑈𝑈 、𝑟𝑟)回傳給使用者。. 政 治 大. 憑證確認階段:使用者收到訊息後會執行以下動作. 立. (1) 利用私鑰重建數據計算私鑰𝑑𝑑𝑈𝑈 = 𝑘𝑘𝑈𝑈 + 𝑟𝑟 (𝑚𝑚𝑚𝑚𝑚𝑚 𝑛𝑛)。. ‧ 國. 學. (2) 計算由憑證產生的公鑰𝑄𝑄𝑈𝑈 = 𝐻𝐻(𝑃𝑃𝑈𝑈 , 𝐼𝐼𝐼𝐼𝑈𝑈 ) ∗ 𝑄𝑄𝐶𝐶𝐶𝐶 + 𝑃𝑃𝑈𝑈 。. ‧. (3) 計算由自己私鑰產生的公鑰𝑄𝑄′𝑈𝑈 = 𝑑𝑑𝑈𝑈 ∗ 𝐺𝐺。. y. sit. 2.2.2. ECQV. Nat. (4) 確認𝑄𝑄𝑈𝑈 和𝑄𝑄′𝑈𝑈 是否相等,若相等則表示該憑證確實由CA發送。. n. al. er. io. ECQV 最早由 Daniel R. L. Brown、Robert Gallant、Scott A. Vanstone 三人於 2001 年. i Un. v. 提出[2][18],為 OMC 的改良版本。圖 3 為 ECQV 憑證產生之流程。憑證產生的架. Ch. engchi. 構主要有兩個參與者,驗證機構(Certificate Authority ,CA)和憑證申請者(𝑈𝑈𝑠𝑠𝑠𝑠𝑠𝑠),使 用者會從𝐶𝐶𝐴𝐴取得憑證。 初始階段:𝐶𝐶𝐶𝐶會選定以下參數 (1) 橢圓曲線參數𝑇𝑇 = (𝑝𝑝, 𝑎𝑎, 𝑏𝑏, 𝐺𝐺, 𝑛𝑛)。. (2) 雜湊函數𝐻𝐻𝑛𝑛 (∙) ∶ {0,1, … ,255}∗ → [0, … , 𝑛𝑛 − 1]。 (3) 編碼模式:如 ASN.1。. (4) 產生金鑰對(𝑑𝑑𝐶𝐶𝐶𝐶 , 𝑄𝑄𝐶𝐶𝐶𝐶 ):選擇一隨機亂數𝑑𝑑𝐴𝐴 ∈𝑅𝑅 [1, … , 𝑛𝑛 − 1],計算公鑰 𝑄𝑄𝐶𝐶𝐶𝐶 = 𝑑𝑑𝐶𝐶𝐶𝐶 𝐺𝐺。. 9 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(19) 政 治 大. 立 圖 3:ECQV 憑證產生流程圖. ‧ 國. 學. 憑證請求階段:使用者會執行以下動作. ‧. (1) 選擇一隨機亂數𝑘𝑘𝑈𝑈 ∈𝑅𝑅 [1, … , 𝑛𝑛 − 1]。. y. Nat. (2) 計算𝑅𝑅𝑈𝑈 = 𝑘𝑘𝑈𝑈 𝐺𝐺,𝑅𝑅𝑈𝑈 為橢圓曲線上的點。. n. al. er. 憑證產生階段:𝐶𝐶𝐶𝐶接收申請後會執行以下動作. sit. io. (3) 傳送憑證申請請求(𝐼𝐼𝐼𝐼𝑈𝑈 , 𝑅𝑅𝑈𝑈 )給𝐶𝐶𝐶𝐶,𝐼𝐼𝐼𝐼𝑈𝑈 為使用者的身分證明碼。. Ch. i Un. v. (1) 驗證𝑅𝑅𝑈𝑈 是否合法,驗證方式為確認𝑅𝑅𝑈𝑈 不等於𝒪𝒪,𝑅𝑅𝑈𝑈 為橢圓曲線上的一點且. engchi. 𝑛𝑛𝑅𝑅𝐴𝐴 等於𝒪𝒪,上述三個條件皆成立則合法。若合法則執行步驟 2。. (2) 選擇一隨機亂數𝑘𝑘 ∈𝑅𝑅 [1, … , 𝑛𝑛 − 1]。 (3) 計算公鑰重建數據𝑃𝑃𝑈𝑈 = 𝑅𝑅𝑈𝑈 + 𝑘𝑘𝑘𝑘。. (4) 計算𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈 = 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸(𝑃𝑃𝑈𝑈 , 𝐼𝐼𝐼𝐼𝑈𝑈 ,∗),將𝑃𝑃𝑈𝑈 和𝐼𝐼𝐼𝐼𝑈𝑈 以及憑證所需之資料一起編 碼,所產生的值即 ECQV 憑證。. (5) 計算𝑒𝑒 = 𝐻𝐻𝑛𝑛 (𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈 ),將憑證丟入雜湊函數中產生介於 0 到 n-1 的整數𝑒𝑒。 (6) 計算私鑰重建數據𝑟𝑟 = 𝑒𝑒 ∗ 𝑘𝑘 + 𝑑𝑑𝐶𝐶𝐶𝐶 。 (7) 將(𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈 、𝑟𝑟)回傳給使用者。. 10 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(20) 憑證確認階段:使用者收到訊息後會執行以下動作 (1) 利用私鑰重建數據計算私鑰𝑑𝑑𝑈𝑈 = 𝑒𝑒 ∗ 𝑘𝑘𝑈𝑈 + 𝑟𝑟 (𝑚𝑚𝑚𝑚𝑚𝑚 𝑛𝑛)。 (2) 計算由憑證產生的公鑰𝑄𝑄𝑈𝑈 = 𝑟𝑟 ∗ 𝑃𝑃𝑈𝑈 + 𝑄𝑄𝐶𝐶𝐶𝐶 。 (3) 計算由自己私鑰產生的公鑰𝑄𝑄′𝑈𝑈 = 𝑑𝑑𝑈𝑈 ∗ 𝐺𝐺。. (4) 確認𝑄𝑄𝐴𝐴 和𝑄𝑄′𝐴𝐴 是否相等,若相等則表示該憑證確實由CA發送。. 2.2.3. 安全性. 安全模型[2]. 政 治 大. 首先要建立一個 ECQV 隱式憑證的安全模型。在此模型中,我們將合法使用者定義. 立. 為𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈1 , 𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈2 , … , 𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑘𝑘;憑證認證機構定義為𝐶𝐶𝐶𝐶1 , 𝐶𝐶𝐶𝐶2 , … , 𝐶𝐶𝐶𝐶𝑙𝑙,其中𝐶𝐶𝐶𝐶𝑗𝑗 的公鑰為. ‧ 國. 學. 𝐶𝐶𝑗𝑗 ,且假設使用者知道所有憑證認證機構的公鑰。協議中使用者𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑖𝑖 向𝐶𝐶𝐶𝐶𝑗𝑗 申請憑. ‧. 證的請求訊息定義為(𝑅𝑅𝑖𝑖 , 𝑗𝑗),𝐶𝐶𝐶𝐶𝑗𝑗 的回覆定義為(𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑖𝑖 、𝑟𝑟),𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑖𝑖 即可利用𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑖𝑖 中的. Nat. 公鑰重建數據建立自己的公鑰𝑄𝑄𝑈𝑈𝑈𝑈 和相對應的私鑰𝑑𝑑𝑈𝑈𝑈𝑈 。. sit. y. 定義 2.2.3.1.[2]. n. al. er. io. 有一為隨機圖靈機的攻擊者 (𝜏𝜏, 𝜖𝜖) -攻擊者𝒜𝒜 如圖 4 所示,會在τ內分別和. 使用者及𝐶𝐶𝐶𝐶執行以下互動:. Ch. engchi. i Un. v. (1) 從𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑖𝑖 那接收向𝐶𝐶𝐶𝐶𝑗𝑗 申請隱式憑證的請求(𝑅𝑅𝑖𝑖 , 𝑗𝑗);. (2) 產生一個請求(𝑅𝑅′𝑖𝑖 , 𝑗𝑗′) 並傳送給𝐶𝐶𝐶𝐶𝑗𝑗′ , 且從𝐶𝐶𝐶𝐶𝑗𝑗′ 那接收回覆(𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶′𝑖𝑖 , 𝑟𝑟′𝑖𝑖 )。. 且𝒜𝒜有至少𝜖𝜖的機率, 會輸出(𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑖𝑖 , 𝑑𝑑𝑈𝑈𝑈𝑈 ) ,其中𝑑𝑑𝑈𝑈𝑈𝑈 為𝑄𝑄𝑈𝑈𝑈𝑈 所對應的私鑰,而𝒜𝒜. 所輸出的𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑖𝑖 有兩種可能:. (1) 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑖𝑖 不是𝐶𝐶𝐶𝐶𝑘𝑘 回傳的訊息; 或. (2) 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑖𝑖 為𝐶𝐶𝐶𝐶𝑘𝑘 針對原本從𝑈𝑈𝑠𝑠𝑠𝑠𝑠𝑠i那接收到的申請訊息(𝑅𝑅𝑖𝑖 , 𝑗𝑗),所產生的憑證。. 則(𝜏𝜏, 𝜖𝜖)-攻擊者𝒜𝒜是成功的攻擊者。. 定義 2.2.3.2.[2]. 若不存在定義 1 中所定義的攻擊者,則 ECQV 安全 11 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(21) 圖 4:隱式憑證之安全模型 安全性 在[2]中提出可證明安全性之隱式憑證機制,並提出安全性證明,因此我們可以得到 下兩個理論。. 政 治 大. 理論 1 [2]在 Random Oracle Model 下,如果離散對數問題在⟨𝔾𝔾⟩下是難解的,則. 立. ECQV 機制為安全的隱式憑證生成機制. ‧ 國. 學. 2.3. Schnorr 協議. ‧. 2.3.1. Schnorr 身分驗證協議 (Schnorr Identification Protocol). Nat. sit. y. Schnorr 身分驗證協議[19]裡面需要一個金鑰鑑別中心(Key Authentication Center ,. n. al. er. io. KAC),詳細流程如下 初始階段:KAC 需選定以下參數. Ch. engchi. i Un. v. (1) 兩個質數 𝑝𝑝 , 𝑞𝑞,且𝑝𝑝 ≥ 2512 , 𝑞𝑞 ≥ 2140 , 𝑞𝑞|(𝑝𝑝 − 1). (2) 𝛼𝛼 𝑞𝑞 ∈ ℤ𝑝𝑝 ,也就是 𝛼𝛼 𝑞𝑞 = 1 (mod p),且 α ≠ 1 (3) 單向雜湊函數 ℎ: ℤ𝑝𝑝 × ℤ → {0, … , 2𝑡𝑡 − 1} (4) KAC 的公私鑰對. (5) KAC 會將 𝑝𝑝 , 𝑞𝑞, 𝛼𝛼, ℎ 和公鑰公開. 註冊階段:使用者擁有公私鑰對 (𝑠𝑠, 𝑣𝑣), 𝑣𝑣 = 𝛼𝛼 𝑠𝑠 (𝑚𝑚𝑚𝑚𝑚𝑚 𝑝𝑝)向 KAC 進行註冊,. KAC 辨別身分後,會產生識別碼 𝐼𝐼,以及對識別碼 𝐼𝐼以及使用者公鑰 𝑣𝑣 簽署 的簽章 𝑆𝑆。並將 𝐼𝐼 以及 𝑆𝑆 回傳給使用者。. 鑑別階段:使用者欲向驗證者證明自己的身分,如圖 5 所示。 12 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(22) (1) 使用者選 定一 隨機亂數𝑟𝑟 ∈𝑅𝑅 [1, … , 𝑞𝑞 − 1] ,並計算𝑥𝑥 = 𝛼𝛼 𝑟𝑟 (𝑚𝑚𝑚𝑚𝑚𝑚 𝑝𝑝), 將 𝐼𝐼, 𝑣𝑣, 𝑆𝑆, 𝑥𝑥 傳送給驗證者。. (2) 驗證者驗證簽章𝑆𝑆後,選一隨機亂數𝑒𝑒 ∈𝑅𝑅 [1, … , 2𝑡𝑡 − 1],將 𝑒𝑒 傳送給使用 者。. (3) 使用者接收到𝑒𝑒之後,計算𝑦𝑦 = 𝑟𝑟 + 𝑠𝑠𝑠𝑠(𝑚𝑚𝑚𝑚𝑚𝑚 𝑞𝑞),將𝑦𝑦傳送給驗證者。. (4) 驗證者驗證𝑥𝑥 == 𝛼𝛼 𝑦𝑦 𝑣𝑣 𝑒𝑒 是否成立,成立則驗證通過。[𝑥𝑥 = 𝛼𝛼 𝑟𝑟 (𝑚𝑚𝑚𝑚𝑚𝑚 𝑝𝑝), 𝛼𝛼 𝑦𝑦 𝑣𝑣 𝑒𝑒 = 𝛼𝛼 𝑟𝑟+𝑠𝑠𝑠𝑠 𝛼𝛼 𝑠𝑠𝑠𝑠 = 𝛼𝛼 𝑟𝑟 (𝑚𝑚𝑚𝑚𝑚𝑚 𝑝𝑝)]。. 立. 政 治 大. ‧. ‧ 國. 學. n. al. er. io. sit. y. Nat. 圖 5:Schnorr 身分驗證協議. i Un. v. Schnorr 身分驗證協議為零知識證明的一種,利用只有自己擁有的參數以. Ch. engchi. 及對方回傳的參數𝑒𝑒作為驗證根據,即可在不洩漏自己私鑰的情況下,讓對方 相信自己擁有相應的私鑰。. 2.3.2. Schnorr 簽名協議(Schnorr Signature Protocol) Schnorr 簽名協議[19][20]和上述 Schnorr 身分驗證協議相似,但不需先向 KAC 註 冊,而是使用者本身的公私鑰去進行簽章的動作。Schnorr 簽名協議同樣為零知識 證明的一種,利用雜湊值作為驗證根據,即可在不洩漏自己私鑰的情況下,讓對方 驗證簽章,確認訊息的正確性。詳細流程如下。. 13 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(23) 圖 6:Schnorr 簽名協議. 政 治 大. 初始階段:使用者需要選定以下參數,並將(𝑔𝑔, 𝑞𝑞, 𝐻𝐻, 𝑦𝑦)公開. 立. ‧ 國. 學. (1) 選擇一個群:𝔾𝔾(ℤ𝑞𝑞 ,∗),⟨𝔾𝔾⟩ = 𝑔𝑔。. (2) 單向雜湊函數:𝐻𝐻: {0,1} ∗× 𝔾𝔾 → ℤ𝑞𝑞 。. ‧. (3) 產生公私鑰對:𝑆𝑆𝑆𝑆 : 𝑥𝑥 ∈ ℤ𝑞𝑞 , 𝑃𝑃𝑃𝑃 : 𝑦𝑦 = 𝑔𝑔 𝑥𝑥 。. y. Nat. 簽章階段:使用者欲將訊息𝑚𝑚 ∈ {0,1}∗傳送給驗證者,並對訊息𝑚𝑚進行簽章,證. io. sit. 明訊息𝑚𝑚為使用者所傳送,且未被更改。則使用者會進行以下步驟. n. al. er. (1) 選擇一隨機亂數𝑎𝑎 ∈𝑅𝑅 [1, … , 𝑞𝑞 − 1],並計算𝑟𝑟 = 𝑔𝑔𝑎𝑎 (𝑚𝑚𝑚𝑚𝑚𝑚 𝑝𝑝)。. Ch. i Un. v. (2) 計算 𝑐𝑐 = 𝐻𝐻(𝑚𝑚, 𝑟𝑟),將訊息𝑚𝑚和亂數𝑟𝑟丟入雜湊函數中產生𝑐𝑐,𝑐𝑐為簽章驗證 的依據。. engchi. (3) 計算 𝑠𝑠 = 𝑎𝑎 + 𝑐𝑐𝑐𝑐(𝑚𝑚𝑚𝑚𝑚𝑚 𝑞𝑞)。. (4) 將訊息𝑚𝑚及簽章(𝑠𝑠, 𝑐𝑐)傳送給驗證者。. 驗證階段:驗證者接收到簽章後,即可執行以下動作確認簽章是否正確. (1) 計算 𝑟𝑟 ′ = 𝑔𝑔 𝑠𝑠 𝑦𝑦 −𝑐𝑐 。. (2) 計算 𝑐𝑐′ = 𝐻𝐻(𝑚𝑚, 𝑟𝑟′)。. (3) 確認 c == 𝑐𝑐′ 是否成立,若成立則表示簽章正確,訊息𝑚𝑚為使用者傳送且 未被竄改。. 14 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(24) 2.3.3. 安全性 叉分引理 (Forking lemma) 叉分引理:若有一攻擊者(隨機機率圖靈機)從任一種分布中選取一個值作為輸入, 且輸出具有某種特性,則當我們以相同的分布不同輸入的值再次執行這個攻擊者時, 輸出也具有該特性[21][22]。 叉分引理通常用於簽章的安全性證明中,底下以一個基本的簽章模式為例。假 設𝒜𝒜為一個隨機機率多項式時間的圖靈機,輸入為所有簽章系統中的公開參數及資. 政 治 大. 料,若𝒜𝒜有不可忽略的機率可以找到一個合法的簽章(𝑚𝑚, 𝜎𝜎1, ℎ, 𝜎𝜎2),則當我們以相. 立. 同的參數再次執行這個圖靈機時,有不可忽略的機率我們可以找到第二個合法的簽. ‧. ‧ 國. 學. 章(𝑚𝑚, 𝜎𝜎1, ℎ′ , 𝜎𝜎2′),其中ℎ ≠ ℎ′ 。. n 安全性證明. er. io. sit. y. Nat. al. ni C h 圖 7:分叉引理[23] U engchi. v. 定義 2.3.3.1 [24] 定義有一偽造者ℱ,是一個機率圖靈機,會在𝑡𝑡𝐹𝐹 時間內將訊息𝑚𝑚和簽章的公開參數. 作為輸入, ℱ最多可以詢問𝑞𝑞ℎ 次,且ℱ有至少εF 的機率會輸出合法的簽章(𝑠𝑠, 𝑐𝑐),則 (𝑡𝑡𝐹𝐹 , 𝑞𝑞ℎ , 𝜀𝜀𝐹𝐹 )-偽造者 ℱ為成功的偽造者。 理論 2.3.3.1[24]. 假設有一個(𝑡𝑡𝐹𝐹 , 𝑞𝑞ℎ , 𝜀𝜀𝐹𝐹 )-偽造者ℱ,可以在隨機預言模型下(Random Oracle Model)下 2. 破解在群(𝔾𝔾, 𝑞𝑞, 𝑝𝑝)下的 Schnorr 簽章架構,再假設𝜀𝜀𝐹𝐹 ≥ 𝑚𝑚𝑚𝑚𝑚𝑚(𝑞𝑞+1 ,. 16𝑞𝑞ℎ 𝑞𝑞. )。 則有一個. 15 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(25) (𝑡𝑡𝑅𝑅 , 𝜀𝜀𝑅𝑅 )𝒮𝒮可以破解在相同群下的離散對數問題,其中𝑡𝑡𝑅𝑅 ≅ (16𝑞𝑞ℎ + 2)𝑡𝑡𝐹𝐹 /𝜀𝜀𝐹𝐹 ,𝜀𝜀𝑅𝑅 > 0.099。. 證明[24] 𝒮𝒮的輸入為𝑦𝑦 ∈ 𝔾𝔾, 輸出為𝑦𝑦的離散對數解。首先固定一不定長度的訊息𝑚𝑚 ∈ {0,1}∗, 接著分成兩個階段執行. (1) 𝒮𝒮的公鑰y = g x ,並隨機選擇一個隨機紙帶(random tape)ω,將𝑚𝑚、 𝑦𝑦以及 ω作為ℱ的輸入值。ℱ會一直重複執行,直到輸出正確的偽造值(ℓ, s, c),其. 政 治 大. 中ℓ ∈ [1, … , 𝑞𝑞ℎ ],最多執行N1 次。. 立. (2) ℱ會以相同的y、ω以及相同的前ℓ − 1詢問值(c1 , … , cℓ−1 )和不同的詢問值. ‧ 國. 學. (cℓ , … , cqh )再重新執 行,ℱ 會一直重複執行,直到輸出正確的偽造 值. ‧. (ℓ, s′, c′),其中𝑐𝑐 ≠ 𝑐𝑐′。. Nat. 則𝒮𝒮可以計算𝑥𝑥 = (𝑠𝑠 − 𝑠𝑠′)/(𝑐𝑐 − 𝑐𝑐′) 𝑚𝑚𝑚𝑚𝑚𝑚 𝑞𝑞。. sit. y. 如果ℱ在多項式時間內執行,且有不可忽略的機率會成功的話,則𝒮𝒮也會有不可. al. n. 存在。. er. io. 忽略的機率成功,因此破解離散對數問題,但此結果和前提矛盾,因此攻擊者ℱ不. Ch. engchi. i Un. v. 16 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(26) 3. 基於 ECQV 之多重金鑰生成機制 在本章節,我們提出兩個機制,分別解決前述問題。憑證代理機制以及憑證更新機 制,憑證代理機制可基於原始憑證生成多個代理憑證,產生多組公私鑰;憑證更新 機制提供可驗證身分的新憑證。底下分別介紹各符號方法定義、安全模型以及機制 說明及應用。. 3.1. 定義. 政 治 大 關於 ECQV 生成及驗證的部分,符號沿用第二章所定義的符號來表示。 立 3.1.1. 符號定義. 代理憑證機制生成之憑證. 𝑡𝑡, 𝑇𝑇. er. 憑證更新機制生成之憑證. a新的憑證相應公私鑰 iv l C n hengchi U 代理憑證機制生成新憑證所用之亂數. n. 𝑑𝑑𝑈𝑈′ , 𝑄𝑄𝑈𝑈′. io. 𝑈𝑈𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝐶𝐶𝑒𝑒𝑟𝑟𝑟𝑟. 𝑧𝑧. 原始憑證相應公私鑰. Nat. 𝑃𝑃𝑃𝑃𝑃𝑃𝑥𝑥𝑦𝑦𝑦𝑦𝑒𝑒𝑟𝑟𝑟𝑟. ‧. 𝑑𝑑𝑈𝑈 , 𝑄𝑄𝑈𝑈. User 的 ECQV 隱式憑證. y. 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈. sit. ‧ 國. 定義. 學. 符號. 憑證更新機制中驗證身分用之參數. 3.1.2. 方法定義 代理憑證產生階段(𝑃𝑃𝑃𝑃𝑃𝑃𝑥𝑥𝑦𝑦𝑦𝑦𝑒𝑒𝑟𝑟𝑟𝑟𝐺𝐺𝐺𝐺𝐺𝐺):輸入為𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈 ,輸出為𝑃𝑃𝑃𝑃𝑃𝑃𝑥𝑥𝑦𝑦𝑦𝑦𝑒𝑒𝑟𝑟𝑟𝑟。. 代理憑證公鑰生成階段(𝑃𝑃𝑃𝑃𝑃𝑃𝑥𝑥𝑦𝑦𝑦𝑦𝑒𝑒𝑟𝑟𝑟𝑟𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃):輸入為𝑃𝑃𝑃𝑃𝑃𝑃𝑥𝑥𝑦𝑦𝑦𝑦𝑒𝑒𝑟𝑟𝑟𝑟,輸出為𝑄𝑄𝑈𝑈′ 。. 更新憑證產生階段(𝑈𝑈𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝐶𝐶𝑒𝑒𝑟𝑟𝑟𝑟𝐺𝐺𝐺𝐺𝐺𝐺):輸入為𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈 ,輸出為𝑈𝑈𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝐶𝐶𝑒𝑒𝑟𝑟𝑟𝑟。. 更新憑證驗證階段(𝑈𝑈𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝐶𝐶𝑒𝑒𝑟𝑟𝑟𝑟𝑉𝑉𝑉𝑉𝑉𝑉):輸入為𝑈𝑈𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝐶𝐶𝑒𝑒𝑟𝑟𝑟𝑟,輸出為 true 或是 false。. 17 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(27) 3.2. 安全模型 3.2.1. 私鑰安全性之安全模型 私鑰安全性代表在攻擊者擁有代理憑證和更新憑證,以及擁有詢問雜湊值和代理憑 證相應私鑰的能力下,無法找出新的憑證所相應的私鑰。 共有兩位參與者,挑戰者𝒮𝒮以及攻擊者𝒜𝒜,總共包含三個階段,分別為前置階 段、請求階段和猜測階段。詳細流程如下: •. 前置階段: 𝒮𝒮擁有一個 ECQV 隱式憑證𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈 ,且𝒮𝒮會模擬代理憑證機制或是. 政 治 大. 憑證更新機制的環境,以及回答𝒜𝒜的請求。. 立. 請求階段:𝒜𝒜可詢問三樣東西,新的憑證、雜湊值以及代理憑證相應私鑰。. 學. ‧ 國. •. (1) 新的憑證:可請求代理憑證或是更新憑證最多𝑞𝑞𝑐𝑐 次, 𝒮𝒮會根據𝒜𝒜的請求回. ‧. 傳 𝑃𝑃𝑃𝑃𝑃𝑃𝑥𝑥𝑦𝑦𝑦𝑦𝑒𝑒𝑟𝑟𝑟𝑟𝑖𝑖 = (𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈 , 𝑇𝑇𝑖𝑖 ) 或 是 𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑖𝑖 = (𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈 , 𝑇𝑇𝑖𝑖 , 𝑧𝑧𝑖𝑖 ) , 其 中 𝑖𝑖 ∈. y. Nat. [1, … , 𝑞𝑞𝑐𝑐 ]。. io. sit. (2) 代理憑證私鑰:在詢問代理憑證私鑰前一定要先請求代理憑證。𝒜𝒜可請求. er. ′ ′ ′ ′ 代理憑證𝑃𝑃𝑃𝑃𝑃𝑃𝑥𝑥𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑖𝑖 所產生之公鑰𝑄𝑄𝑈𝑈𝑖𝑖 的相應私鑰𝑑𝑑𝑈𝑈𝑖𝑖 ,𝑄𝑄𝑈𝑈𝑖𝑖 = 𝑑𝑑𝑈𝑈𝑖𝑖 𝐺𝐺,最多. n. al. •. 𝑞𝑞𝑑𝑑 次,且𝑞𝑞𝑑𝑑 <. 𝑞𝑞𝑐𝑐 2. Ch 。. engchi. i Un. v. ′ ′ ′ 猜測階段: 𝒜𝒜輸出非私鑰請求階段所得之私鑰𝑑𝑑𝑈𝑈𝑖𝑖 ,且通過驗證𝑄𝑄𝑈𝑈𝑖𝑖 == 𝑑𝑑𝑈𝑈𝑖𝑖 𝐺𝐺,. 則攻擊成功。. 定義 3.1.1 假設存在一攻擊者𝒜𝒜,是一個機率圖靈機,且𝒜𝒜成功的機率為ϵ。若ϵ為極 小的機率的話,則我們所提出的機制符合私鑰安全性。. 18 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(28) 3.2.2. 憑證更新機制不可偽造性之安全模型 不可偽造性代表在攻擊者擁有原始憑證及公開參數的情況下,無法產生可通過驗證 的更新憑證。 共有兩位參與者,挑戰者𝒮𝒮以及偽造者ℱ,詳細流程如下: •. 前置階段:𝒮𝒮擁有一憑證𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈 、變數𝑡𝑡𝑖𝑖 以及隨機磁帶(random tape)𝜔𝜔,且𝒮𝒮會模. 擬憑證更新機制的環境,以及回答ℱ的請求。 •. 詢問階段:ℱ可向請求𝒮𝒮最多𝑞𝑞𝐹𝐹 個更新憑證,𝒮𝒮會將更新憑證 (𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈 , 𝑇𝑇𝑖𝑖 , 𝑧𝑧𝑖𝑖 )回傳 給ℱ。. 立. 功。. 定義 3.1.2. 學. 偽造階段:若ℱ可產生一個更新憑證 (𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈 , 𝑇𝑇ℓ , 𝑧𝑧ℓ ),且通過驗證,則ℱ偽造成. ‧. ‧ 國. •. 政 治 大. Nat. 假設存在一偽造者ℱ,是一個機率圖靈機,且ℱ成功的機率為為𝜀𝜀𝐹𝐹。若𝜀𝜀𝐹𝐹 為極小. n. al. er. io. sit. y. 的機率的話,則憑證更新機制符合不可偽造性。. Ch. engchi. i Un. v. 19 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(29) 3.3. 代理憑證機制 在一般情況下憑證是不可修改的,因此一組憑證僅對應一組公私鑰,以學校或是公 司這類階層式組織架構來說,若每個部門皆須自己申請產生憑證,可能會造成傳輸 成本過高或是生產效率太低的問題。因此我們設計了一個代理憑證機制,基於原先 ECQV 憑證產生公私鑰的方式,再添加亂數,使得使用者可自行產生多組公私鑰, 而這些公私鑰對可分發給他人使用,且表示為同一個人之身分。舉例來說一個組織 申請了一個憑證,則它可以自行產生多組公私鑰,並發送給組織底下的部門使用,. 政 治 大. 而這些公私鑰皆可代表該組織之身分。. 立. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. iv n C h圖 8:代理憑證流程圖 engchi U. 當使用者要向驗證者更新公鑰,使用者必須執行底下步驟: 前置階段 使用者需先向 CA 申請一個 ECQV 憑證𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈,𝐶𝐶𝑒𝑒𝑒𝑒𝑒𝑒𝑈𝑈 中包含公鑰重建數據. 𝑃𝑃𝑈𝑈 及使用者身分證明碼𝐼𝐼𝐼𝐼𝑈𝑈 ,並採用該 CA 的公開參數去執行以下流程。 代理憑證產生階段. (1) 使用者選擇一隨機亂數𝑡𝑡 ∈𝑅𝑅 [1, … , 𝑛𝑛 − 1],並計算𝑇𝑇 = 𝑡𝑡𝑡𝑡 : 這個步驟產生 一點 𝑇𝑇,用來產生新的公私鑰。. (2) 計算𝑒𝑒 ′ = 𝐻𝐻𝑛𝑛 (𝑒𝑒, 𝑇𝑇, 𝑄𝑄𝑈𝑈 )。. 20 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(30) (3) 新的私鑰為𝑑𝑑′𝑈𝑈 = 𝑑𝑑𝑈𝑈 + 𝑒𝑒 ′ 𝑡𝑡 (𝑚𝑚𝑚𝑚𝑚𝑚 𝑛𝑛)。. (4) 新的公鑰為𝑄𝑄𝑈𝑈′ = 𝑑𝑑′𝑈𝑈 ∗ 𝐺𝐺 : 如 ECC 所規定,公鑰𝑄𝑄為私鑰𝑑𝑑乘上基點𝐺𝐺。. (5) 代理憑證𝑃𝑃𝑃𝑃𝑃𝑃𝑥𝑥𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦 = (𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈 , 𝑇𝑇),將𝑃𝑃𝑃𝑃𝑃𝑃𝑥𝑥𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦傳給驗證者。 代理憑證公鑰生成階段. 當驗證者收到訊息後,可用以下步驟計算新的公鑰: (1) 計算舊的公鑰𝑄𝑄𝑈𝑈 = 𝑒𝑒𝑃𝑃𝑈𝑈 + 𝑄𝑄𝐶𝐶𝐶𝐶:先計算𝑒𝑒 = 𝐻𝐻𝑛𝑛 (𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈 ),將𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈 進行解碼 後, 取得𝑃𝑃𝑈𝑈 ,並計算舊的公鑰𝑄𝑄𝑈𝑈 。. 政 治 大. (2) 計算 𝑒𝑒 ′ = 𝐻𝐻𝑛𝑛 (𝑒𝑒, 𝑇𝑇, 𝑄𝑄𝑈𝑈 )。. 立. (3) 新的公鑰為𝑄𝑄𝑈𝑈′ = 𝑄𝑄𝑈𝑈 + 𝑒𝑒′𝑇𝑇。. ‧ 國. 學. 此機制和顯式憑證(RSA)相比,RSA 也可以利用加上亂數的方式產生所謂的代 理憑證,但和 RSA 比起來,我們所提出的機制基於 ECQV,有著橢圓曲線密碼學. ‧. 中可快速計算的特性,因此可以節省生成時間,計算時間。. y. Nat. er. io. sit. 3.4. 憑證更新機制. 憑證更新一般來說都需要重新向 CA 申請,再次向 CA 溝通,且生成和傳輸時間較. n. al. Ch. i Un. v. 長。另外隱式憑證本身的特性使然,我們無法在驗證憑證時,確認對方的身分,必. engchi. 須在進行溝通時,才能確認對方身分。因此我們設計了一個憑證更新機制,同樣基 於原先 ECQV 憑證產生公私鑰的方式,再添加亂數,另外為了使更新後的憑證可以 驗證憑證擁有者的身分,我們也將 Schnorr 簽章架構在保有原先安全性的情況下改 為單向,並且改為基於橢圓曲線離散對數問題的協定,將其與 ECQV 機制結合。使 得使用者可以自行生成多組公私鑰,僅供個人使用,無法分發給他人,也就是單一 憑證對應多組公私鑰,且每個公私鑰對都為本人所使用。舉例來說一個使用者擁有 多組帳號密碼,而他不需要多次申請憑證來證明每組帳號代表他本人,僅須透過單 一憑證,即可為每個帳號產生相對應的公私鑰對,且每個公私鑰對都為本人所使用。 21 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(31) 又或者是可以和區塊鏈結合,區塊鏈上每個使用者可以擁有多個帳戶,而每個帳戶 都對應到一組公私鑰,. 政 治 大. 立. ‧ 國. 學 圖 9:憑證更新流程圖. ‧. 當使用者要向驗證者更新自己的公鑰,並向對方證明自己確實擁有原始私鑰。. y. Nat. n. al. er. io. 前置階段. sit. 使用者必須執行以下步驟:. Ch. i Un. v. 使用者需先向 CA 申請一個 ECQV 憑證𝐶𝐶𝑒𝑒𝑒𝑒𝑒𝑒𝑈𝑈,𝐶𝐶𝑒𝑒𝑒𝑒𝑒𝑒𝑈𝑈 中包含公鑰重建數據. engchi. 𝑃𝑃𝑈𝑈 及使用者身分證明碼𝐼𝐼𝐼𝐼𝑈𝑈 ,並採用該 CA 的公開參數去執行以下流程。 憑證更新階段. (1) 使用者選擇一隨機亂數𝑡𝑡 ∈𝑅𝑅 [1, … , 𝑛𝑛 − 1],並計算𝑇𝑇 = 𝑡𝑡𝑡𝑡:這個步驟產生 一點 𝑇𝑇,用來產生新的公私鑰。. (2) 計算𝑒𝑒 ′ = 𝐻𝐻𝑛𝑛 (𝑒𝑒, 𝑇𝑇, 𝑄𝑄𝑈𝑈 ). (3) 新的私鑰為𝑑𝑑′𝑈𝑈 = 𝑑𝑑𝑈𝑈 + 𝑒𝑒 ′ 𝑡𝑡 (𝑚𝑚𝑚𝑚𝑚𝑚 𝑛𝑛). (4) 新的公鑰為𝑄𝑄𝑈𝑈′ = 𝑑𝑑′𝑈𝑈 ∗ 𝐺𝐺:如 ECC 所規定,公鑰𝑄𝑄為私鑰𝑑𝑑乘上基點𝐺𝐺。 (5) 計算𝑐𝑐 = 𝐻𝐻𝑛𝑛 (𝑒𝑒′, 𝑇𝑇, 𝑄𝑄𝑈𝑈′ )。. 22 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(32) (6) 計算𝑧𝑧 = 𝑡𝑡 + 𝑑𝑑𝑈𝑈 𝑐𝑐。. (7) 更新後的憑證𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 = (𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈 , 𝑇𝑇, 𝑧𝑧),將𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶傳給驗證者。 憑證驗證階段:當驗證者收到訊息後,可用以下步驟計算新的公鑰. (1) 計算舊的公鑰:先計算𝑒𝑒 ′ = 𝐻𝐻𝑛𝑛 (𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈 ),將𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈 進行解碼後取得𝑃𝑃𝑈𝑈,並計 算舊的公鑰𝑄𝑄𝑈𝑈 = 𝑒𝑒𝑃𝑃𝑈𝑈 + 𝑄𝑄𝐶𝐶𝐶𝐶 。. (2) 計算 𝑒𝑒 ′ = 𝐻𝐻𝑛𝑛 (𝑒𝑒, 𝑇𝑇, 𝑄𝑄𝑈𝑈 )。. (3) 新的公鑰為𝑄𝑄𝑈𝑈′ = 𝑄𝑄𝑈𝑈 + 𝑒𝑒′𝑇𝑇 。. 政 治 大. (4) 計算𝑐𝑐 = 𝐻𝐻𝑛𝑛 (𝑒𝑒′, 𝑇𝑇, 𝑄𝑄𝑈𝑈′ )。. 立. (5) 驗證𝑧𝑧𝑧𝑧 == 𝑇𝑇 + 𝑐𝑐𝑄𝑄𝑈𝑈 。. ‧ 國. 學. 此機制和顯式憑證(RSA)相比,RSA 本身即可驗證身分,而我們的機制使得隱 式憑證達到顯式驗證的效果,但在同樣皆可驗證身分的情況下,我們所提出的機制. ‧. 能以更快的時間達到目的。. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 23 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(33) 4. 安全性證明 4.1. 私鑰安全性證明 定理 4.1 在隨機預言模型下,如果存在一攻擊者可以破解代理憑證機制或是憑證更新機 制,即可找到新的公鑰所對應的私鑰,則有一演算法𝒮𝒮可以破解 ECQV。. 證明. 政 治 大 則我們建構一多項式時間演算法𝒮𝒮可以破解 ECQV,即𝒮𝒮以𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 作為輸入,可以輸 立. 假設存在一攻擊者𝒜𝒜 有至少ϵ的機率可成功破解代理憑證機制或憑證更新機制, 𝑈𝑈. ‧ 國. 學. 出其相對應之私鑰。𝒮𝒮為了以隨機預言的方式因應𝒜𝒜的詢問,𝒮𝒮必須有清單𝒫𝒫𝒫𝒫 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙. 儲存所有代理憑證、ℋ𝒫𝒫𝒫𝒫 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙儲存雜湊值𝐻𝐻𝑛𝑛 (𝑒𝑒, 𝑇𝑇, 𝑄𝑄𝑈𝑈 )、𝒩𝒩𝒩𝒩 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙儲存所有更新憑 前置階段:𝒮𝒮擁有一個 ECQV 隱式憑證𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈,其對應的公鑰為𝑄𝑄𝑈𝑈,且𝒮𝒮會模擬. sit. y. Nat. •. ‧. 證及ℋ𝒩𝒩𝒩𝒩 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙儲存雜湊值𝐻𝐻𝑛𝑛 (𝑒𝑒 ′ , 𝑇𝑇, 𝑄𝑄𝑈𝑈′ )的值。詳細流程如下:. . al. n. 請求階段:. io. •. er. 代理憑證機制或是憑證更新機制的環境,以及回答𝒜𝒜的請求。. i n C U hengchi 𝒜𝒜發出申請新憑證的請求。. v. (1) 若申請代理憑證,則 𝒮𝒮要回傳𝑃𝑃𝑃𝑃𝑃𝑃𝑥𝑥𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑖𝑖 = (𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈 , 𝑇𝑇𝑖𝑖 )給攻擊者𝒜𝒜。 在產生𝑃𝑃𝑃𝑃𝑃𝑃𝑥𝑥𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑖𝑖 前,𝒮𝒮會擲一枚公平的硬幣,結果為𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑖𝑖 ∈ {0,1}, 且𝑃𝑃 𝑟𝑟[𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑖𝑖 = 0] = 𝑃𝑃 𝑟𝑟[𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑖𝑖 = 1] = 1/2。. A.. 若𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑖𝑖 = 0,則𝒮𝒮需執行以下步驟. i. ii.. iii.. 隨機選一𝑡𝑡𝑖𝑖 ∈𝑅𝑅 [0, 𝑛𝑛 − 1]。. 計算𝑇𝑇𝑖𝑖 = 𝑡𝑡𝑖𝑖 𝐺𝐺。. 隨機選一𝑒𝑒𝑖𝑖′ ∈𝑅𝑅 [0, 𝑛𝑛 − 1],且不存在於清單ℋ𝒫𝒫𝒫𝒫 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙中,則 令𝐻𝐻𝑛𝑛 (𝑒𝑒𝑖𝑖 , 𝑇𝑇𝑖𝑖 , 𝑄𝑄𝑈𝑈 ) = 𝑒𝑒 ′ 。 24. DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(34) 將(𝑃𝑃𝑃𝑃𝑃𝑃𝑥𝑥𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑖𝑖 , 𝑡𝑡𝑖𝑖 , 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑖𝑖 )存入清單𝒫𝒫𝒫𝒫 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙中。. iv.. 將(𝑒𝑒𝑖𝑖 , 𝑇𝑇𝑖𝑖 , 𝑄𝑄𝑈𝑈 , 𝑒𝑒𝑖𝑖′ , 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑖𝑖 ) 存入清單ℋ𝒫𝒫𝒫𝒫 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙中。. v. B. i.. 若coini = 1,則𝒮𝒮需執行以下步驟 ′ 隨機選一𝑑𝑑𝑢𝑢𝑢𝑢 ∈𝑅𝑅 [0, 𝑛𝑛 − 1]。. 隨機選一𝑒𝑒𝑖𝑖′ ∈𝑅𝑅 [0, 𝑛𝑛 − 1],且不存在於清單ℋ𝒫𝒫𝒫𝒫 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙中,則. ii.. 令𝐻𝐻𝑛𝑛 (𝑒𝑒𝑖𝑖 , 𝑇𝑇𝑖𝑖 , 𝑄𝑄𝑈𝑈 ) = 𝑒𝑒 ′ 。. ′ 計算𝑇𝑇𝑖𝑖 = 𝑒𝑒𝑖𝑖 −1 (𝑑𝑑𝑢𝑢𝑢𝑢 𝐺𝐺 − 𝑄𝑄𝑈𝑈 )。. iii.. 政 治 大. ′ 將(𝑃𝑃𝑃𝑃𝑃𝑃𝑥𝑥𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑖𝑖 , 𝑇𝑇𝑖𝑖 , 𝑑𝑑𝑢𝑢𝑢𝑢 , 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑖𝑖 )存入清單𝒫𝒫𝒫𝒫 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙中。. iv.. 立將(𝑒𝑒 , 𝑇𝑇 , 𝑄𝑄 , 𝑒𝑒 , 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 )存入清單ℋ. v.. 𝑖𝑖. 𝑈𝑈. ′ 𝑖𝑖. 𝑖𝑖. ‧ 國. 最後𝒮𝒮將𝑃𝑃𝑃𝑃𝑃𝑃𝑥𝑥𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑖𝑖 傳給𝒜𝒜。. 𝒫𝒫𝒫𝒫. 學. 𝑖𝑖. − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙中。. io. ii.. 隨機選一𝑧𝑧𝑖𝑖 , 𝑐𝑐𝑖𝑖 ∈𝑅𝑅 [0, 𝑛𝑛 − 1]。 計算𝑇𝑇𝑖𝑖 = 𝑧𝑧𝑖𝑖 𝐺𝐺 − 𝑐𝑐𝑖𝑖 𝑄𝑄𝑈𝑈 。. a隨機選一𝑒𝑒 iv l C 𝑖𝑖′ ∈𝑅𝑅 [0, 𝑛𝑛 − 1],且不存在於清單ℋ 𝒩𝒩𝒩𝒩 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙中,則 n U h e g c h′i 令𝐻𝐻𝑛𝑛 (𝑒𝑒𝑖𝑖 , 𝑇𝑇𝑖𝑖n , 𝑄𝑄𝑈𝑈 ) = 𝑒𝑒 。. n iii.. iv. v.. er. Nat i.. sit. 以下步驟:. y. ‧. (2) 若申請更新憑證, 𝒮𝒮需回傳合法可通過驗證的𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑖𝑖。𝒮𝒮需執行. 定義𝐻𝐻𝑛𝑛 (𝑒𝑒 ′ , 𝑇𝑇, 𝑄𝑄𝑈𝑈′ ) = 𝑐𝑐𝑖𝑖 。. 將 (𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑖𝑖 , 𝑇𝑇𝑖𝑖 , 𝒸𝒸𝑖𝑖 , 𝑧𝑧𝑖𝑖 ) 存 入 清 單 𝒩𝒩𝒩𝒩 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙 中 , 以 及 (𝑒𝑒 ′ , 𝑇𝑇, 𝑄𝑄𝑈𝑈′ , 𝑐𝑐)存入清單ℋ𝒩𝒩𝒩𝒩 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙中。. . 最後𝒮𝒮將𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑖𝑖 傳給𝒜𝒜。. 雜湊值:𝒜𝒜可詢問雜湊值𝑒𝑒𝑖𝑖′ 最多𝑞𝑞ℎ𝑒𝑒𝑒𝑒 次,。. (1) 若申請代理憑證,則 𝒮𝒮需於清單ℋ𝒫𝒫𝒫𝒫 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙中尋找𝑒𝑒𝑖𝑖 , 𝑇𝑇𝑖𝑖 相應的𝑒𝑒𝑖𝑖′,並將 𝑒𝑒𝑖𝑖′ 回傳給𝒜𝒜。. (2) 若申請更新憑證,則𝒮𝒮需於清單ℋ𝒩𝒩𝒩𝒩 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙中尋找𝑒𝑒 ′ , 𝑇𝑇, 𝑄𝑄𝑈𝑈′ 相應的𝑐𝑐𝑖𝑖,並 25. DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(35) . 將𝑐𝑐𝑖𝑖 回傳給𝒜𝒜。. ′ 代理憑證私鑰:若𝒜𝒜請求代理憑證,則𝒜𝒜可再向𝒮𝒮請求其所相應的私鑰𝑑𝑑𝑈𝑈𝑖𝑖. 最多𝑞𝑞𝑑𝑑 次,𝒮𝒮會於清單𝒫𝒫𝒫𝒫 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙中尋找𝑇𝑇𝑖𝑖 相應的𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑖𝑖 (1) 若𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑖𝑖 = 0,則𝒮𝒮輸出空值並終止模擬。. •. ′ (2) 若𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑖𝑖 = 1,則𝒮𝒮需輸出存於清單𝒫𝒫𝒫𝒫 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙中之相應𝑑𝑑𝑢𝑢𝑢𝑢 。. ′ ′ ′ 猜測階段:𝒜𝒜經過上述步驟後,輸出非請求過的私鑰𝑑𝑑𝑈𝑈𝑖𝑖 ,且通過驗證𝑄𝑄𝑈𝑈𝑖𝑖 = 𝑑𝑑𝑈𝑈𝑖𝑖 𝐺𝐺,. 則𝒜𝒜攻擊成功。. 政 治 大. 在𝒜𝒜攻擊成功的情況下,我們可分為三個情況作討論:. 立. (1) 若輸出代理憑證相應私鑰且𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑖𝑖 = 0,由於𝑑𝑑𝑈𝑈′ = 𝑒𝑒 ′ 𝑡𝑡 + 𝑑𝑑𝑈𝑈 (𝑚𝑚𝑚𝑚𝑚𝑚 𝑛𝑛),. ‧ 國. 學. 𝒮𝒮已知𝑡𝑡和𝑒𝑒 ′ ,而利用𝒜𝒜可得到𝑑𝑑𝑈𝑈′ ,因此𝒮𝒮可成功破解 ECQV 得到原始. ‧. 私鑰𝑑𝑑𝑈𝑈 = 𝑑𝑑𝑈𝑈′ − 𝑒𝑒 ′ 𝑡𝑡。. Nat. (2) 若輸出代理憑證相應私鑰且𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑖𝑖 = 1,由於𝒜𝒜所輸出的私鑰為𝒮𝒮本來. sit. y. 就擁有的,因此𝒮𝒮無法破解 ECQV 找到私鑰。. n. al. er. io. (3) 若輸出更新憑證相應私鑰,由於𝑑𝑑𝑈𝑈′ = 𝑒𝑒 ′ 𝑡𝑡 + 𝑑𝑑𝑈𝑈 (𝑚𝑚𝑚𝑚𝑚𝑚 𝑛𝑛),𝒮𝒮已知𝑒𝑒 ′、𝑧𝑧. i Un. v. 和 𝑐𝑐 , 而 利 用 𝒜𝒜 可 得 到 d′U , 其 中 𝑡𝑡 = 𝑧𝑧 − 𝑑𝑑𝑈𝑈 𝑐𝑐 (𝑚𝑚𝑚𝑚𝑚𝑚 𝑛𝑛) , 將 其 帶 入. Ch. engchi. 𝑑𝑑𝑈𝑈′ = 𝑒𝑒 ′ 𝑡𝑡 + 𝑑𝑑𝑈𝑈 (𝑚𝑚𝑚𝑚𝑚𝑚 𝑛𝑛)中,因此𝒮𝒮可成功破解 ECQV 得到原始私鑰 𝑑𝑑𝑈𝑈 = (1 − 𝑒𝑒 ′ 𝑐𝑐)−1 (𝑑𝑑𝑈𝑈′ − 𝑒𝑒 ′ 𝑧𝑧)(𝑚𝑚𝑚𝑚𝑚𝑚 𝑛𝑛)。. ′ ′ 𝐸𝐸1 :𝒜𝒜成功輸出代理憑證相應私鑰𝑑𝑑𝑈𝑈′ ,且𝑄𝑄𝑈𝑈𝑖𝑖 = 𝑑𝑑𝑈𝑈𝑖𝑖 𝐺𝐺。. 𝐸𝐸2 :𝒜𝒜直到模擬結束都沒有輸出失敗,且𝒜𝒜成功輸出𝑑𝑑𝑈𝑈′ 時,𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑖𝑖 ≠ 1。 ′ ′ 𝐸𝐸1′ :𝒜𝒜成功輸出更新憑證相應私鑰𝑑𝑑𝑈𝑈′ ,且𝑄𝑄𝑈𝑈𝑖𝑖 = 𝑑𝑑𝑈𝑈𝑖𝑖 𝐺𝐺。. 𝐸𝐸2′ :𝒜𝒜直到模擬結束都沒有輸出失敗。. 𝒮𝒮 的 優 勢 𝐴𝐴𝑑𝑑𝑑𝑑𝒜𝒜 = 𝑃𝑃 𝑟𝑟[𝐸𝐸1 ⋀𝐸𝐸2 ] + 𝑃𝑃 𝑟𝑟[𝐸𝐸1′ ⋀𝐸𝐸2′ ] = 𝑃𝑃 𝑟𝑟[𝐸𝐸1 ] ⋅ 𝑃𝑃 𝑟𝑟[𝐸𝐸2 |𝐸𝐸1 ] + 𝑃𝑃 𝑟𝑟[𝐸𝐸1′ ] ⋅ 1. 1. 𝑃𝑃 𝑟𝑟[𝐸𝐸2′ |𝐸𝐸1′ ]。假設𝑃𝑃 𝑟𝑟[𝐸𝐸1 ] = 𝑃𝑃 𝑟𝑟[𝐸𝐸1′ ] = ϵ,且𝑃𝑃 𝑟𝑟[𝐸𝐸2 |𝐸𝐸1 ] = (2)𝑞𝑞𝑑𝑑 +1 、𝑃𝑃 𝑟𝑟[𝐸𝐸2′ |𝐸𝐸1′ ] = (2)𝑞𝑞𝑑𝑑+1, 26 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(36) 1. 1. 則𝐴𝐴𝑑𝑑𝑑𝑑𝒜𝒜 = ((2)𝑞𝑞𝑑𝑑 +1 + (2)𝑞𝑞𝑑𝑑 ) ⋅ ϵ。. 如果𝒜𝒜在多項式時間內執行,且有不可忽略的機率ϵ會成功的話,則𝒮𝒮也有不可 2. 忽略的機率((1 − 𝑞𝑞 )𝑞𝑞𝑑𝑑 ⋅ 2(𝑞𝑞. 𝑞𝑞𝑐𝑐1. 𝑐𝑐1 −𝑞𝑞𝑑𝑑 ). 𝑐𝑐1. + (1 − 𝑞𝑞. 2. 𝑐𝑐 −𝑞𝑞𝑐𝑐1. )𝑞𝑞𝑑𝑑 ) ⋅ ϵ會成功破解 ECQV,但 ECQV. 為安全不可被破解的,因此代理憑證機制及憑證更新機制安全。. 4.2. 憑證更新機制之不可偽造性證明 定理 4.2. 政 治 大. 假設有一個偽造者ℱ,可以在隨機預言模型下破解在群(𝔾𝔾, 𝑞𝑞, 𝑝𝑝)下的憑證更新機. 立. 制。則有一個演算法𝒮𝒮可以破解在相同群下的 ECQV。. ‧ 國. 學. 證明. ‧. 假設有一個偽造者ℱ在隨機預言模型下,有ϵ的機率破解在群(𝔾𝔾, 𝑞𝑞, 𝑝𝑝)下的憑證. 更新機制。則我們可以建構一個演算法𝒮𝒮破解在相同群下的 ECQV,也就是以原始. Nat. sit. y. 憑證𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈 作為輸入,可輸出憑證公鑰所對應之私鑰𝑑𝑑𝑈𝑈。𝒮𝒮為了以隨機預言的方式因. n. 存雜湊值。 •. al. er. io. 應ℱ的詢問,𝒮𝒮必須有清單𝒩𝒩𝒩𝒩 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙儲存所有更新憑證以及一個清單ℋ𝒩𝒩𝒩𝒩 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙儲. Ch. engchi. i Un. v. 前置階段:𝒮𝒮擁有一憑證𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈 以及隨機磁帶(random tape)𝜔𝜔,且𝒮𝒮會模擬憑證更. 新機制的環境,以及回答ℱ的請求。 •. 詢問階段:ℱ可以詢問憑證或是用來偽造憑證的雜湊值。 (1) 若ℱ發出申請新憑證的請求,𝒮𝒮會執行以下步驟: i.. 隨機選一𝑧𝑧𝑖𝑖 , 𝑐𝑐𝑖𝑖 ∈𝑅𝑅 [0, 𝑛𝑛 − 1]。. iii.. 計算𝑇𝑇𝑖𝑖 = 𝑧𝑧𝑖𝑖 𝐺𝐺 − 𝑐𝑐𝑖𝑖 𝑄𝑄𝑈𝑈 。. iv.. 令𝐻𝐻𝑛𝑛 (𝑒𝑒𝑖𝑖 , 𝑇𝑇𝑖𝑖 , 𝑄𝑄𝑈𝑈 ) = 𝑒𝑒 ′ 。. ii.. 隨機選一𝑒𝑒𝑖𝑖′ ∈𝑅𝑅 [0, 𝑛𝑛 − 1],且不存在於清單ℋ𝒩𝒩𝒩𝒩 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙中,則. 定義𝐻𝐻𝑛𝑛 (𝑒𝑒 ′ , 𝑇𝑇, 𝑄𝑄𝑈𝑈′ ) = 𝑐𝑐𝑖𝑖 。 27. DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(37) 將(𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑖𝑖 , 𝑇𝑇𝑖𝑖 , 𝒸𝒸𝑖𝑖 , 𝑧𝑧𝑖𝑖 )存入清單𝒩𝒩𝒩𝒩 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙中。. v.. 最後𝒮𝒮將𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝑈𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑖𝑖 傳給ℱ。. (2) 若ℱ發出雜湊值的請求,可發出請求最多𝑞𝑞ℎ 次,可分為兩個階段 階段一:輸入(𝑒𝑒𝑖𝑖 , 𝑇𝑇𝑖𝑖 , 𝑄𝑄𝑈𝑈 ),𝒮𝒮會執行以下步驟: 隨機選一𝑒𝑒′𝑖𝑖 ∈𝑅𝑅 [0, 𝑛𝑛 − 1]。. i.. 定義𝐻𝐻𝑛𝑛 (𝑒𝑒𝑖𝑖 , 𝑇𝑇𝑖𝑖 , 𝑄𝑄𝑈𝑈 ) = 𝑒𝑒′𝑖𝑖 。. ii.. 將(𝑒𝑒𝑖𝑖 , 𝑇𝑇𝑖𝑖 , 𝑄𝑄𝑈𝑈 , 𝑒𝑒′𝑖𝑖 )存入清單ℋ𝒩𝒩𝒩𝒩 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙中。. iii.. 政 治 大. 最後將𝑒𝑒′𝑖𝑖 回傳給ℱ. iv.. 立. ′ )作為輸入,𝒮𝒮會執行以下步驟: 階段二:ℱ接收到𝑒𝑒′𝑖𝑖 後,將(𝑒𝑒 ′ , 𝑇𝑇𝑖𝑖 , 𝑄𝑄𝑈𝑈𝑈𝑈. ‧ 國. 學. 檢查𝑒𝑒 ′ 、𝑇𝑇𝑖𝑖 是否已存在於清單ℋ𝒩𝒩𝒩𝒩 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙中。若存在則執行. i.. 下一步驟;否則執行階段一的動作。. y. ′ 將(𝑒𝑒′𝑖𝑖 , 𝑇𝑇𝑖𝑖 , 𝑄𝑄𝑈𝑈𝑈𝑈 , 𝑐𝑐𝑖𝑖 )存入清單ℋ𝒩𝒩𝒩𝒩 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙中。. n. a最後將𝑐𝑐 iv l C 𝑖𝑖 回傳給ℱ n hengchi U 偽造階段:ℱ可利用請求到的雜湊值進行更新憑證偽造,ℱ偽造出通過驗證的 v.. •. sit. io. iv.. ′ ) = 𝑐𝑐𝑖𝑖 。 定義𝐻𝐻𝑛𝑛 (𝑒𝑒 ′ , 𝑇𝑇𝑖𝑖 , 𝑄𝑄𝑈𝑈𝑈𝑈. er. Nat iii.. 隨機選一𝑐𝑐𝑖𝑖 ∈𝑅𝑅 [0, 𝑛𝑛 − 1]。. ‧. ii.. (𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈 , 𝑇𝑇ℓ , 𝑧𝑧ℓ ),其中1 < ℓ < 𝑞𝑞ℎ 。若ℱ偽造出通過驗證的更新憑證,則𝒮𝒮以相同. 的輸入重新執行前置階段的動作。在詢問階段,前ℓ − 1次𝒮𝒮會回覆和前一次相. 同的值,而第ℓ次之後回覆的值則和前一次不同。ℱ可再針對第二次的回覆進行 更新憑證為造,ℱ偽造出通過驗證的更新憑證(𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈 , 𝑇𝑇ℓ′ , 𝑧𝑧′ℓ′ ),則根據叉分引理,. 𝒮𝒮 以 相 同 的 隨 機 磁 帶 執 行 , 則 有 很 大 的 機 率 ℱ 第 二 次 所 偽 造 出 的 憑 證. (𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑈𝑈 , 𝑇𝑇ℓ′ , 𝑧𝑧′ℓ′ ),和第一次偽造出的憑證位置相同,也就是ℓ = ℓ′。若zℓ ≠ z′ℓ, 則𝒮𝒮可以計算𝑑𝑑𝑈𝑈 = (𝑧𝑧 − 𝑧𝑧 ′ )/(𝑐𝑐 − 𝑐𝑐 ′ ) 𝑚𝑚𝑚𝑚𝑚𝑚 𝑞𝑞。. 如果ℱ在多項式時間內執行,且有不可忽略的機率會成功的話,則𝒮𝒮也有不可忽 28 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(38) 略的機率會成功破解 ECQV,但 ECQV 為安全不可被破解的,因此憑證更新機制安 全。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 29 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(39) 5. 效能比較 在本章節我們將平時常見的 RSA、原本的 ECQV 與我們所提出的機制分別實作出 來,並進行比較。電腦環境是以 Windows 做為開發環境,並用 JAVA 進行實作, 詳細規格如下: (1) 硬體環境-電腦規格: •. Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz. •. RAM 為 8 GB. •. 硬碟空間為 256G. 政 治 大. 立. 學. •. 作業系統:Windows 10. •. Java SE Development Kit 7u60. ‧. ‧ 國. (2) 軟體環境. 在 ECQV 實作前我們須先建立一個自簽名憑證發行伺服器,須先建立一個信. y. Nat. er. io. sit. 任鏈(Chain of trust)。CA 於前置階段需選擇橢圓曲線參數以及編碼模式,在這邊 我們選擇 SECP256K1 這條橢圓曲線,以及 ASN.1 的編碼模式。在這部分大約會. n. al. Ch. 花費 0.8 秒的時間來進行。. engchi. i Un. v. ECQV 實作的部分,我們利用 Bouncy Castle 套件將 ECQV 依照標準的流程產 生出來,在標準中有 X.509 格式 ECQV 憑證的生成規範,但在這邊我們採用 M2M 的憑證格式,相較 X.509 的憑證標準來說,更加適用於能力受限的機器上。我們 組共執行了 10 次,實作結果如表 2 所示,各個階段皆只須花費極少的時間即可完 成,整個流程只需不到 0.2 秒的時間,即可產生一個 ECQV 隱式憑證。. 30 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(40) 表 2:ECQV 生成時間 平均所花時間. 申請. 產生. 公私鑰. 驗證. 總計. (單位:毫秒). 階段. 階段. 產生階段. 階段. 時間. ECQV. 2. 130.2. 18.6. 3.7. 154.5. 同時我們也將 RSA 進行實作,若將 ECQV 與 RSA 相比較,我們可以看到如表 3 所示,RSA 的生成時間幾乎是 ECQV 的 7 倍。. 政 治 大. 表 3 : ECQV 與 RSA 憑證生成時間比較表 憑證生成機制. 立. ‧ 國. 學. RSA. (單位:毫秒). 1072.1. io. n. al. Ch. engchi. y. 總時間. sit. 12. er. 驗證時間. ‧. 1060.1. Nat. 產生時間. i Un. ECQV. 130.2 22.3 152.5. v. 而我們將所提出之代理憑證機制及憑證更新機制實作出來後,結果如表 3,而 我們所提出的機制,生成時間的部分都大幅減少,而驗證的部分,我們的機制相較 原始 ECQV 都需額外計算產生驗證參數,因此時間較長,但差距搭約只有 0.016 秒 左右,整體來說時間還是縮短許多的。而表中所述之時間尚未包含傳送時間,因此 當我們真的實際架設伺服器運作時,RSA 和 ECQV 的生成時間就會被拉長,而我 們所設計之機制則不需再加上額外的傳輸時間。因此確實可以適用於能力受限的設 備上,減少計算及傳送的成本。. 31 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(41) 表 4 我們提出的機制憑證生成時間表 憑證生成機制 代理憑證. 更新憑證. 產生時間. 11. 13.1. 驗證時間. 12.4. 15.7. 總時間. 22.4. 28.8. (單位:毫秒). 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 32 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
(42) 6. 結論 本論文提出兩套機制。基於 ECQV 之代理憑證機制使得使用者不須與 CA 進行溝 通,即可自行產生多組公私鑰,節省傳輸成本及生成時間,而每個代理憑證皆代表 原使用者之身分。透過安全性證明我們確保產生之公私鑰可供給他人使用,並且不 會洩漏私鑰。基於 ECQV 之憑證更新機制和基於 ECQV 之代理憑證機制相同,但 其產生之公私鑰不可供予他人僅供個人使用,因為若供予他人使用即可能洩漏個人 私鑰,同時我們也透過安全性證明,證明憑證更新機制的不可偽造性。另外我們也. 政 治 大. 進行實作,以數據證實我們所提出的機制生成所花時間較短,確實可以減少成本花. 立. 費,適用能力受限設備上。. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 33 DOI:10.6814/THE.NCCU.CS.021.2018.B02.
Outline
相關文件
This is to inform kindergartens and primary schools of the “Library Cards for All School Children” scheme and the arrangement of bulk application for library cards of the
由於自簽的電子證書並非由知名憑證授權單位簽署,因此當使用者進入網 站時會被瀏覽器標注為不安全(例如使用 Google Chrome
Presents a metric selection framew ork for online anomaly detection i n utility cloud.. ◦ Select most essential metrics by appl ying metric selection and
4:00-4:20pm 全港至大至好玩自「研」世界: 中小學多元研習旅程 Hong Kong's Biggest & Best Nature Playground:.. Diversified Study Journey for Primary and Secondary
表 2.1 停車場經營管理模型之之實證應用相關文獻整理 學者 內容 研究方法 結論
本研究以 2.4 小節中之時程延遲分析技術相關研究成果為基礎,針對 Global Impact Technique、Net Impact Technique、As-Planned Expanded Technique、Collapsed
Sugii, “Junction profile engineering with a novel multiple laser spike annealing scheme for 45-nm node high performance and low leakage CMOS technology,” in IEDM
譚志忠 (1999)利用 DEA 模式研究投資組合效率指數-應用