金鑰管理 (PKI)

80

Click here to load reader

description

介紹金鑰系統(PKI)的基本管理,以及 CA 與憑證製作。

Transcript of 金鑰管理 (PKI)

Page 1: 金鑰管理 (PKI)

金鑰管理

[email protected]/12/24

Page 2: 金鑰管理 (PKI)

•電子憑證的功用•CA 的功能角色•電子憑證製作與簽署•電子憑證申請例釋•自建 CA 例釋

大綱

Page 3: 金鑰管理 (PKI)

電子憑證的功用

Page 4: 金鑰管理 (PKI)

•真實世界的身份識別方法•電子憑證的功能•數位簽名用到的實體設備•電腦系統身分認證問題

綱要

Page 5: 金鑰管理 (PKI)

在真實世界中辨識身份的方法之一,是以證書為基礎的身份證照系統,例如:

• 護照• 駕照• 身份證• 健保卡• 等等

良好的身份證書應該不能或很難被塗改或偽造。

真實世界的身份識別方法

Page 6: 金鑰管理 (PKI)

然而在傳統的電腦系統則很難正確利用書面證照來辨識使用者的身份。常用方法如下:

• 只有您所知( know )的事情• 只有您擁有( have )的物件• 只有你才是( are )的部分

電腦系統的身份識別方法

Page 7: 金鑰管理 (PKI)

•只有您所知( know )的事情最常見的方法就是使用密碼。在使用系統之前要先輸入帳號與密碼,如果兩者比對的結果與系統所儲存的資料一致,及代表身分無誤。密碼是目前在資訊系統上用來識別身份最常用到的手段,因為其運用非常簡單,且不需要特別的硬體設備。然而密碼系統也存在許多問題:

• 系統必須先儲存密碼• 密碼容易遭到攔截• 密碼可能會忘記• 人們常使用脆弱易猜的密碼• 使用者常有意無意將密碼告訴人

電腦系統的身份識別方法

Page 8: 金鑰管理 (PKI)

•只有您擁有( have )的物件只要持有人出示某個物件就能表明身份。比方門禁卡是最常見的實體標記( token )。這方式主要是對“物”授權而非對“人”授權,因此常會與密碼系統一起使用。但是這種方法也有其弊端:

• 持有人不見得就是物件真正的主人• 如果遺失標記,就算身份正確也無法通過確認• 標記有可能被複製或偽造

電腦系統的身份識別方法

Page 9: 金鑰管理 (PKI)

•只有你才是( are )的部分這通常是透過生物辨識技術( Biometrics )來驗證使用者身份。 透過對生理特徵測量結果跟事先儲存的資料進行比對,來進行身分判斷。常用來判斷身分的特徵有這些:

• 臉部• 指紋/掌紋• 足印• 瞳孔掃描• DNA• 語音• 筆跡

此類技術常會混用多重特徵或與密碼及標記併用,以降低誤辯成度。生物辨識方法也有其不足之處:

• 生物特徵資料必須先儲存在系統裡面• 所使用的設備成本非常高昂• 設備有可能遭到破壞或欺騙

電腦系統的身份識別方法

Page 10: 金鑰管理 (PKI)

以上身份認證系統若能配合數位簽名( digital signature ),就能獲得極大的改善空間。這需要使用者產生一對 key :

–私鑰( private key ),施行簽名–公鑰( public key ),進行驗證

電子憑證的功能

Page 11: 金鑰管理 (PKI)

電子憑證的功能

Page 12: 金鑰管理 (PKI)

數位簽名用到的實體設備常見如下:•將私鑰編碼後儲於硬碟•將私鑰編碼後儲於可攜式媒體•把私鑰儲存在智慧卡裝置

數位簽名用到的實體設備

Page 13: 金鑰管理 (PKI)

•將私鑰編碼後儲於硬碟用密語( passphrase )對私鑰進行編碼並存於電腦內。缺點之ㄧ就是系統被入侵後有可能被盜用,只要入侵者知道密語就行。此外,如密語忘記的話那私鑰也等同作廢。而且解碼的過程也可能被木馬或病毒攻擊。

數位簽名用到的實體設備

Page 14: 金鑰管理 (PKI)

•將私鑰編碼後儲於可攜式媒體這方式比存於硬碟更安全些。攻擊者必須同時取得密語與媒體才能拿到私鑰。不過解碼過程還是有機會遭到木馬或病毒的攻擊。

數位簽名用到的實體設備

Page 15: 金鑰管理 (PKI)

•把私鑰儲存在智慧卡裝置 這是三種方法最安全的。智慧卡內建微處理器可以產生公鑰 /私鑰序對,再將公鑰傳送給電腦主機使用,私鑰永遠不會離開智慧卡。而且進行數位簽名或資料解密的過程也是在智慧卡裡面完成,才將結果傳回電腦。除非攻擊者取得智慧卡否則無法盜用私鑰,而且也能免受木馬或病毒攻擊。但如果智慧卡遺失,則裡面的 key 也就無法尋回,除非事先複製或交由第三者保管機制以防遺失。

數位簽名用到的實體設備

Page 16: 金鑰管理 (PKI)

電腦系統使用的身份認證系統存在一個共通問題:只能用於特定系統,不能適用於公共認證系統。

電腦系統身分認證問題

Page 17: 金鑰管理 (PKI)

CA 的功能角色

Page 18: 金鑰管理 (PKI)

•甚麼是 CA•電子憑證的用途•CA 的運作模式•電子憑證之吊銷•甚麼是 X.509 憑證•X.509 憑證種類

綱要

Page 19: 金鑰管理 (PKI)

憑證機構( Certificate Authority, CA )是一種專門負責發行電子憑證的機構。憑證內含某人或機構的名字、公鑰、序號、以及相關資訊。理想情況下, CA 會建立一套適用所有申請者的完善查核制度以驗證他們的身份。

甚麼是 CA

Page 20: 金鑰管理 (PKI)

電子憑證今天在網際網路上讓個人、組織、及企業可以相互驗證對方的身份。

電子憑證的用途

Page 21: 金鑰管理 (PKI)

中間人 (Man-In-the-Middle) 問題– 所獲的 key 是假的

身份驗證問題

Page 22: 金鑰管理 (PKI)

下載的 key 需要說明身份

身份驗證問題

Page 23: 金鑰管理 (PKI)

但是說明內容的真偽也難確定

身份驗證問題

Page 24: 金鑰管理 (PKI)

解決之道 :– 委請有公信力的機構背書證明內容與 key

身份驗證問題

Page 25: 金鑰管理 (PKI)

然而證書也有可能造假

身份驗證問題

Page 26: 金鑰管理 (PKI)

所以我們需要 CA 的公鑰驗證證書真偽

身份驗證問題

Page 27: 金鑰管理 (PKI)

但問題是 CA 的 public key 也可能被攔截仿冒

身份驗證問題

Page 28: 金鑰管理 (PKI)

因此 , CA 的 public key 不能透過網路來傳遞

, 而是內建在系統獲合法軟體裡面

身份驗證問題

Page 29: 金鑰管理 (PKI)

反推結論 :– 只要 CA 的 public key 是可信任的– 那就可以確定 CA 的證書是可信任的– 那麼證書的內容與 public key 就是可信任的– 所用的 public key 加密的 secret key 就能確保由正確的 server 解開–那麼資料就能安全地在 Internet 上交換

身份驗證問題

Page 30: 金鑰管理 (PKI)

CA 通常有不同的運作模式:•內部 CA ( Internal CA )•委外員工CA ( outsourced employee CA )•委外客戶CA ( outsourced customer CA )•可信任的第三者 CA ( trusted third-party CA )

CA的運作模式

Page 31: 金鑰管理 (PKI)

•內部 CA ( Internal CA )企業機構內部設立 CA 為內部員工發行憑證,辨識員工職位、授權等級等資料正確性。藉此建立階級,管制內部資源或資料流向。

CA的運作模式

Page 32: 金鑰管理 (PKI)

•委外員工CA ( outsourced employee CA )委請其他公司為內部員工發行憑證。

CA的運作模式

Page 33: 金鑰管理 (PKI)

•委外客戶 CA ( outsourced customer CA )委請其他公司為現有或潛在客戶擔任 CA 的工作。

CA的運作模式

Page 34: 金鑰管理 (PKI)

•可信任的第三者 CA ( trusted third-party CA )具公信力的機構擔任CA 的工作,發行憑證證明某人或某公司的公鑰身份。

CA的運作模式

Page 35: 金鑰管理 (PKI)

在如下情形之下, CA 可能會吊銷憑證( revocation ):

–持有人的私鑰被洩露–憑證發行給錯誤的對象–持有者喪失其許可–CA 本身系統遭到入侵

電子憑證之吊銷

Page 36: 金鑰管理 (PKI)

人們可以透過憑證吊銷清單( Certificate Revocation List, CRL )稽查憑證是否已經被吊銷。

電子憑證之吊銷

Page 37: 金鑰管理 (PKI)

X.509 v3 憑證是一種廣泛應用在許多現代加密協定中的公鑰憑證標準,包括 SSL 、 PGP email 等等。

甚麼是 X.509憑證

Page 38: 金鑰管理 (PKI)

X.509 v3 憑證保證某個公鑰由特定機構來擔保,其效力來自該機構的數位簽名。目前在網際網路上使用的電子憑證共有四種:

–憑證機構憑證–伺服器憑證–個人憑證–軟體發行商憑證

X.509憑證種類

Page 39: 金鑰管理 (PKI)

X.509憑證種類

Page 40: 金鑰管理 (PKI)

電子憑證的製作與簽署

Page 41: 金鑰管理 (PKI)

•甚麼是個人電子憑證•個人憑證的運用要素•個人憑證發行限制•個人憑證之註銷•伺服器電子憑證

綱要

Page 42: 金鑰管理 (PKI)

個人電子憑證也稱為用戶端憑證( client certificate )。

由憑證機構負責發行,用來識別個人身份、擔保私鑰與名稱之間的關係。

個人電子憑證內含個人身份資訊及其公鑰,可以用來寄送加密郵件,或用來管制線上服務等級。

甚麼是個人電子憑證

Page 43: 金鑰管理 (PKI)

個人電子憑證的運用包括四大基本要素:– 產生 key– 取得憑證– 質詢/回應– 安全儲存

個人憑證的運用要素

Page 44: 金鑰管理 (PKI)

個人身份電子憑證之前有數家CA 提供付費服務,不過目前較難有信用機構個別進行擔保。可由個人自我發行公鑰( public key )再經信任網路( trusted network )進行散佈:

– 主動寄發– 上傳至 keyserver :

• wwwkeys.pgp.net• www.keyserver.net• pgp.mit.edu

個人憑證發行限制

Page 45: 金鑰管理 (PKI)

若在某些情況下注銷個人公鑰,則需自行通知所有使用人或至 keyserver 取消。

個人憑證之註銷

Page 46: 金鑰管理 (PKI)

現在較為普遍的經由CA 簽署的電子憑證,是伺服器憑證。伺服器憑證的製作過程大致如下:

1. 產上 RSA/DSA key2. 產生憑證申請( CSR )3. 由 CA 簽署發回憑證( CRT )4. 散佈憑證

若在某些情況下需要注消伺服器憑證,亦需到 CA提出申請。

伺服器電子憑證

Page 47: 金鑰管理 (PKI)

1. 下載證書

SSL 加密流程 :

Page 48: 金鑰管理 (PKI)

2. 驗證證書

SSL 加密流程 :

Page 49: 金鑰管理 (PKI)

3. 產生 session key

SSL 加密流程 :

Page 50: 金鑰管理 (PKI)

4. 加密傳送 session key

SSL 加密流程 :

Page 51: 金鑰管理 (PKI)

5. 開始加密資料

SSL 加密流程 :

Page 52: 金鑰管理 (PKI)

電子憑證申請例釋

Page 53: 金鑰管理 (PKI)

我們以台灣的“網際威信”網站為例子,為大家示範一個伺服器電子憑證的申請流程。

電子憑證申請例釋

Page 54: 金鑰管理 (PKI)

步驟一:產生 RSA key

電子憑證申請例釋

Page 55: 金鑰管理 (PKI)

步驟二:產生憑證申請

電子憑證申請例釋

Page 56: 金鑰管理 (PKI)

步驟三:查看及複製申請內容

電子憑證申請例釋

Page 57: 金鑰管理 (PKI)

步驟四:連線CA 網站並選擇憑證試用

電子憑證申請例釋

Page 58: 金鑰管理 (PKI)

步驟五:按“下一步”開始

電子憑證申請例釋

Page 59: 金鑰管理 (PKI)

步驟六:將憑證申請內容貼上,並按“下一步”繼續

電子憑證申請例釋

Page 60: 金鑰管理 (PKI)

步驟七:確認申請內容

電子憑證申請例釋

Page 61: 金鑰管理 (PKI)

步驟七:並填寫申請人資料

電子憑證申請例釋

Page 62: 金鑰管理 (PKI)

步驟七:最後按“確定”提交

電子憑證申請例釋

Page 63: 金鑰管理 (PKI)

步驟八:完成並“下載”憑證

電子憑證申請例釋

Page 64: 金鑰管理 (PKI)

步驟九:在要求信任CA 查證時按下“確定”

電子憑證申請例釋

Page 65: 金鑰管理 (PKI)

步驟十:檢查 email 接收憑證,並複製憑證內容

電子憑證申請例釋

Page 66: 金鑰管理 (PKI)

步驟十一:將複製憑證內容貼進以 .crt 結尾的檔案中即可使用。

電子憑證申請例釋

Page 67: 金鑰管理 (PKI)

自建 CA 例釋

Page 68: 金鑰管理 (PKI)

步驟一:產生新 PEM格式的 CA 憑證

自建 CA例釋 (以 RedHat為例 )

Page 69: 金鑰管理 (PKI)

步驟二:填寫 CA 憑證內容

自建 CA例釋

Page 70: 金鑰管理 (PKI)

步驟二結果:新的 CA 憑證 (cacert.pem) 將存於

自建 CA例釋

Page 71: 金鑰管理 (PKI)

步驟三:產生新的憑證

自建 CA例釋

Page 72: 金鑰管理 (PKI)

步驟三的結果:

自建 CA例釋

Page 73: 金鑰管理 (PKI)

步驟四:簽署新的憑證

自建 CA例釋

Page 74: 金鑰管理 (PKI)

并確認憑證內容:

自建 CA例釋

Page 75: 金鑰管理 (PKI)

步驟四結果:

自建 CA例釋

Page 76: 金鑰管理 (PKI)

步驟五:修改憑證名稱(並取消密碼)

自建 CA例釋

Page 77: 金鑰管理 (PKI)

建立CA :● -newca

製作憑證申請書:● -newreq

簽署憑證● -sign

CA 腳本操作要點

Page 78: 金鑰管理 (PKI)

CA 必須修改 openssl.cnf ● basicConstraints=CA:trueServer 端必須同時具備三份檔案:● Server Key● Server Cert ( 由 CA 簽署 )● CA Cert (從 CA 複製過來 )Client 端必須具備檔案:● CA Cert (從 CA 複製過來 )

TLS 設定要點

Page 79: 金鑰管理 (PKI)

CA 必須修改 openssl.cnf ● basicConstraints=CA:trueServer 端必須同時具備三份檔案:● Server Key● Server Cert ( 由 CA 簽署 )● CA CertClient 端必須具備檔案:● CA Cert

TLS 設定要點

Page 80: 金鑰管理 (PKI)

如何製作 SSL X.509 憑證?http://www.study-area.org/tips/certs/certs.html

建議閱讀