第二章 背景介紹
2.2 近代密碼學簡介
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
11
2. 完整性:確保接收方得到的資訊內容是完整的
3. 可用性:防止未經授權的第三者獨占系統或使系統當機,使得合法的使 用者無法使用系統
4. 可驗證性:接收方可以確認資訊內容為傳送方所送出 5. 不可否認性:傳送方不可否認自己所發出的資訊
由於古典密碼學只達成機密性的安全性要求,因此近代為了滿足這些安全性 的密碼系統便不斷的提出不同的加密協定,而目前這些密碼系統大致分成「對稱 式金鑰加密系統」、「公開金鑰加密系統」,而在公開金鑰加密系統下,又分為
「傳統公開金鑰加密系統」、「基於身分認證的加密系統」以及「免憑證公鑰加 密系統」。
2.2.1 對稱式金鑰加密系統(Symmetric Key Encryption Cryptography):
在使用這種加密系統前,傳送方與接收方必須先決定一對雙方共同持有的公 共金鑰。在傳送訊息前,傳送方會利用這把金鑰對訊息加密,而接收方接到此加 密後的密文後便利用相同的金鑰對密文解密。如圖二。
在這種加密系統中要確保的就是這把金鑰不能被第三者所取得,而在對稱式 金鑰密碼系統中比較有名的就是 DES 密碼系統[7]及 AES 密碼系統[8]。
圖 二 對稱式金鑰加密系統
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
12
2.2.2 公開金鑰加密系統(Public Key Encryption Cryptography):
公開金鑰加密系統又稱為「非對稱式金鑰加密系統」,這種密碼系統的特色 不同於對稱式金鑰密碼系統,最大的特色就是加密與解密所使用的金鑰為兩種不 同的金鑰。
在 1976 年,Diffie 和 Hellman[1]提出了非對稱式的公開金鑰加密系統[3] 的概 念。這種密碼系統的金鑰是成對的方式存在,雖是一對不同的值但卻具有數學相 關性質的一對金鑰。在這種加密系統中,兩把金鑰分別稱為「公開金鑰」以及「私 密金鑰」。「公開金鑰」顧名思義便是公開給所有的使用者,而「私密金鑰」只 為解密者所有,並且從數學計算中無法從「公開金鑰」推算出「私密金鑰」的數 值。
在公開金鑰加密系統中,公鑰是開放式,可讓系統中所有的參與者皆可取得,
但私鑰的部分只有自己擁有。一般使用此方案的加解密方式為:其他使用者利用 公鑰將訊息加密給接收方,而接收方利用自己的私鑰去對訊息解密,如圖三。較 為著名的系統為 RSA[9]、ElGamal[10] 等。
圖 三 公開金鑰加密系統
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
13
2.2.3 基於身分認證的加密系統(Identity-based Encryption Cryptography):
而在 1984 年,Shamir[4]提出了基於身分認證的加密系統 IBE (identity-based cryptography),此系統以另一種方式使用了公開金鑰加密系統,並且解決了公開 金鑰加密系統中需使用公開金鑰基礎建設 PKI (Public key infrastructure)及需要憑 證管理中心 CA (certificate authority)的條件。在基於身分認證的加密系統中所使 用的公開金鑰的部分是利用使用者本身獨一無二的資訊來產生個別的公開金鑰,
這些資訊像是電子郵件帳號、身分證字號、行動電話號碼…等等。而私鑰的部分 則是由可信任的第三方扮演私鑰產生中心 PKG(Private Key Generator)的角色來 產生相對應公開金鑰的私密金鑰,在此系統架構下的使用者可以減少在傳統公開 金鑰系統中,使用者需對公鑰做認證及取得公鑰憑證的手續。
下列幾點要點為基於身分認證的加密系統(IBE)優於傳統基於公開金鑰基礎 建設(PKI)的公鑰系統優點:
1.不需公鑰憑證,而且公鑰可由較容易計算及取得的資訊中得到,如:電話 號碼,身分證字號,電子郵件地址等。
2.免除了需要憑證機構的麻煩。
3.容易分配所有的使用者公鑰,並且不需額外花費時間交換公鑰,因為所有 的公鑰資訊接可直接取得。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
14
圖 四 基於身分認證加密系統
在基於身分認證的加密系統中,因已知對方的公開身分資訊,而公開金鑰的 部分是公開且可以明顯辨識的型態,所以不需在資料庫中尋找,公開金鑰不需要 利用傳統的基於 PKI 架構中的憑證來讓其他使用者相信這份公開金鑰,也不需 要對公鑰的真實性做驗證,他人直接便可使用其公鑰。因此使用者彼此溝通之前,
就不用再牢記每一位使用者所使用相對應的公鑰。
但在基於身分認證的加密系統中,所有使用者的私鑰都是由私鑰生成中心 PKG (Private key generation center)所產生。私鑰生成中心(PKG)利用系統主要密 鑰(master key)而產生每個使用者的私鑰,因為如此私鑰生成中心(PKG)則知道每 個用戶的私鑰,一旦遇到不誠實的 PKG 或者是針對 PKG 的破壞者或攻擊者,則 所有使用者的私密金鑰則會遭到竊取或盜用,在安全性上也就會產生如中間者攻 擊或 PKG 不可信任時的危險,而這就是所謂的「私鑰託管」問題。
在另外一個部分來看,PKG 對於使用者產生的私密金鑰必須透過一個安全 不會被竊聽的通道來傳遞給使用者。而要在此系統中加入時戳的設計,便需要在 每一個時間間隔中都必須重新建立一個新的安全性通道,如果使用者使用人數增 加,系統則會面臨到效能上的問題。
‧
2.2.4 免憑證公鑰加密系統(Certificateless Public Key Cryptography):
為了解決基於身分認證的加密系統(IBE)所產生私鑰託管的問題,因此由 Al-Riyami 和 Paterson[3]提出了免憑證公鑰加密系統(certificateless public key cryptography)。免憑證公鑰加密系統與需要使用 PKI 的傳統公鑰加密系統相比, generation center),KGC 一樣擁有系統主要密鑰(master key),但是與私鑰生成中 心(PKG)不同的地方在於 KGC 是根據用戶的身分及主要密鑰去計算用戶的部分 私鑰,用戶收到部分私鑰後,再將接收到的部分私鑰與用戶自行挑選的密鑰產生 完整的私鑰,因此 KGC 便無法得到使用者完整的私鑰內容,因而達到克服基於 身分認證的加密系統(IBE)所存在的私鑰託管問題。
而 Al-Riyami 和 Paterson 提出的免憑證公鑰加密系統主要包含了七個演算法,
分別是設定,部分私鑰提取,設定秘密數值,設定私密金鑰,設定公開金鑰,加
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
16
設定私密金鑰:使用者計算完秘密數值後,利用秘密數值及從 KGC 收到的部分 私鑰,共同產生出自己的完整私鑰。
設定公開金鑰:使用者計算出自己的完整私鑰後,接著為計算出自己的公開金 鑰。
加密步驟:在設定完所有的公開金鑰及私密金鑰後,此部分則是針對文件做加密 動作。
解密步驟:這部分則是對加密的文件做相對應的解密動作。
圖 五 免憑證公鑰加密系統
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
17