Download presentation
Presentation is loading. Please wait.
1
公開金鑰基礎結構與憑證服務 羅英嘉 2007年5月
2
PKI 何謂 PKI PKI 是一種利用數位憑證和公開金鑰技術或標準的整合性安全性服務與架構。
憑證管 理中心 支援 PKI 應用程式 PKI 密碼學 技術 目錄服務
3
PKI 為何需要 PKI 資訊環境下需要更多層面和更高安全性的交易機制。 PKI 提供了分送公開金鑰的實務技術
需要比傳統密碼系統更嚴謹的驗證機制 需要提供不可否認機制 PKI 提供了分送公開金鑰的實務技術 PKI 美工加入插圖美化版面
4
PKI 目的 提供安全性的網路傳送機制: 私密性(Confidentiality) 完整性(Integrity)
資料來源辨識與身份驗證 (Authentication) 不可否認性(Non-repudiation)
5
PKI 的組成模組 資訊安全政策 註冊管理中心 (Registration Authority,RA)
註冊管理中心負責受理憑證申請、廢止與相關資料審核,並將審核通過之資料傳送至憑證管理中心,進行憑證簽發、廢止等作業。 憑證管理中心 (Certificate Authority,CA) 負責憑證簽發(Certificate Issuance)、憑證廢止(Certificate Revocation)、憑證管理等核心工作,並將所簽發之憑證及憑證廢止清冊公佈於目錄伺服器以備外界查詢或下載。 目錄服務(Directory Service) 目錄服務除提供外界目錄查詢服務,如憑證及憑證廢止清冊之公佈,並提供憑證廢止訊息、新版、舊版憑證實作準則之查詢及憑證相關軟體下載等服務。 PKI應用程式
6
公開金鑰加密原理 2 已加密的資料經由網路傳送 張三使用王五的公開金鑰(public Key)將傳送的資料加密 3
8A48 Data 張三使用王五的公開金鑰(public Key)將傳送的資料加密 1 3A78 Data 王五使用自己的私密金鑰(Private Key)解除加密的資料 3
7
公開金鑰驗證原理 2 簽章的資料經由網路傳送 ~*~*~*~ 1 張三使用自己的私密金鑰簽章需要傳遞的訊息 3
王五利用張三的公開金鑰確認信息是發自張三 3
8
憑證管理中心(Certification Authority)
為了使公開金鑰密碼系統得以順利運作,必需設法緊密結合並證明某一把公開金鑰確實為某人或某單位所擁有,讓他人無法假冒、偽造。解決方法是模仿印鑑證明的方式,由可信賴的第三者或機構(Trusted Third Parity)來當作公鑰授權單位,以簽發公鑰電子憑證的方式來證明公鑰的效力。 CA就是一個用來提供發行、撤銷管理憑證的服務單位。 可由政府、商業機構(如verisign、Thawte Consulting)或組織內自行架設以提供各項憑證相關的服務。
9
憑證 (Certificates) 數位憑證是一份經由CA 私密金鑰簽章的電子文件。
用來證明公開金鑰和特定的個人或單位(擁有者)的連繫關係。 標準:ITU-T X.509格式 憑證內容包括使用者名稱、公開金鑰、發證者(issuer)、生效和到期日期、擁有者….等資訊。 version Serial Number Subject Issuer Public Key Validity Period Extensions CA Signature
10
憑證內容 版本 憑證發行者 憑證的 有效期限 憑證持有者 公開金鑰
11
X.509數位憑證格式 X.509數位憑證乃以ASN.1符號表示法 (Abstract Syntax Notation 1)定義,詳細記載了組成該數位憑證的二進位資料。 ASN.1可以用多種方式加以編碼,現今標準多為使用簡單的DER (Distinguished Encoding Rules),可以產生二進位數位憑證,BASE64產生文字模式編碼格式。
12
數位憑證的編碼內容 數位憑證通常以Base64編碼,產生出如下所列的ASCII內容文件:
-----BEGIN CERTIFICATE----- MIICWDCCAgICAQAwDQYJKoZIhvcNAQEEBQAwgbYxCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsGA1UEChMUVGhhd3RlIENvbnN1bHRpbmcgY2MxHzAdBgNVBAsTFkNlcnRpZmljYXRpb24gU2VydmljZXMxFzAVBgNVBAMTDnd3dy50aGF3dGUuY29tMSMwIQYJKoZIhvcNAQkBFhR3ZWJtYXN0ZXJAdGhhd3RlLmNvbTAeFw05NjExMTQxNzE1MjVaFw05NjEyMTQxNzE1MjVaMIG2MQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYD VQQHEwlDYXBlIFRvd24xHTAbBgNVBAoTFFRoYXd0ZSBDb25zdWx0aW5nIGNjMR8wHQYDVQQLExZDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzMRcwFQYDVQQDEw53d3cudGhhd3RlLmNvbTEjMCEGCSqGSIb3DQEJARYUd2VibWFzdGVyQHRoYXd0ZS5jb20wXDANBgkqhkiG9w0BAQEFAANLADBIAkEAmpIl7aR3aSPUUwUrHzpVMrsm3gpI2PzIwMh39l1h/RszI0/0qC2WRMlfwm5FapohoyjTJ6ZyGUUenICllKyKZwIDAQABMA0GCSqGSIb3DQEBBAUAA0EAfI57WLkOKEyQqyCDYZ6reCukVDmAe7nZSbOyKv6KUvTCiQ5ce5L4y3c/ViKdlou5BcQYAbxA7rwO/vz4m51w4w== -----END CERTIFICATE-----
13
憑證管理中心發行憑證 由請者向註冊中心提供身份及申請證明
1 3 註冊中心驗證憑證請求人之身分,並授權 CA 來簽發憑證,同時也將憑證請求安全地傳給 CA 2 2 憑證管理中心 (Certificate Authority) 4 註冊中心 (Registration Authority) 憑證管理中心產生並簽署申請人憑證 3 1 Repository 憑證管理中心安全的將憑證傳送給申請人並將它儲存於資料庫中 4 申請者
14
規劃 PKI 環境之流程 PKI服務的企業需求評估 憑證政策(CP)與憑證作業準則(CPS)的制訂 決定 CA 之階層架構
制訂憑證之申請、核發、更新及撤銷流程 制訂CA 管理維護計畫
15
PKI 服務的企需求評估 PKI 應用的環境與範圍 建構PKI 服務的成本利益分析 PKI 環境對企業運作的衝擊
企業內部、外部或企業間的合作環境 企業應用的安全性範圍 建構PKI 服務的成本利益分析 短、長期的成本 優點、缺點評估 平衡取捨 PKI 環境對企業運作的衝擊
16
制訂憑證政策與憑證作業準則 1 4 2 3 制定安全政策 建立憑證政策 建立憑證作業準則 Root CA Plicy CA 安全政策
憑證作業 準則 Root CA Plicy CA Issuing CA 4 於 Policy CA 上設定憑證作業準則 建立憑證政策 2 憑證政策
17
憑證作業準則 (Certification Practice Statement)
CPS是一個包含「安全政策需要如何支援與實作」運作程序的詳細文件 CPS包括: 定義CA如何建構與運作 憑證如何發行、取得和收回 金鑰如何產生、註冊、檢定、維護、儲存 如何讓使用者能夠正常運用
18
CA 階層架構之考量 1. 單一階層 Root CA Root CA Policy CA Root CA Issuing CA
根 CA 與次級 CA 根 CA 為獨立 CA 且保持離線 次級 CA 為發行 CA 負責核發憑證,並可為企業 CA 或獨立 CA 適合小至中型環境 Policy CA Root CA Issuing CA Issuing CA 3. 三層CA架構 1. 單一階層 根 CA 也是發行 CA 適合小型環境 優點:簡單、容易管理 缺點:安全性、可用性與延展性較差 根 CA、中繼 CA 與發行 CA 根 CA 為獨立 CA 且保持離線 中繼 CA /政策 CA為獨立 CA 且保持離線 發行 CA 負責核發憑證 可為企業 CA 或獨立 CA 適合中至大型環境
19
CA多層架構的類型 以組織地區建立CA架構 以組織功能建立CA架構 上海 台北 美國 Root CA Root CA Policy CA
主機板 電腦通訊 消費設備 以組織地區建立CA架構 以組織功能建立CA架構
20
Windows PKI 主要元件 憑證服務 (Certificate Service) Active Directory
PKI的核心服務,允許企業扮演自己的CA,自行發行和管理憑證。 Active Directory 提供PKI的存放及發佈服務 PKI enabled 應用程式 Microsoft Internet Explorer、IIS、Microsoft Outlook、Microsoft Outlook Express、Microsoft Money….
21
Windows Server 2003憑證服務特性 提供二種架構類型:獨立CA與企業CA 支援金鑰還原(Key recovery)
支援自動註冊 (User auto-enrollment) 支援高安全性的加密技術:3DES、AES、FIPS 180-2 使用新版的憑證範本以協助簡化憑證要求者在要求憑證時,依據 CA 所訂定之原則來決定如何發行 支援 Delta CRL 利用 Active Directory目錄服務來發行受信任的根憑證、已簽發的憑證及 CRL。 可更新CA 根憑證
22
Windows CA 類型 (獨立 CA vs. 企業 CA)
需要 Active Directory 不需要使用 Active Directory 預設上所有傳送到企業 CA 的憑證請求,會依據所要求的憑證類型的原則及安全性使用權限設定,來決定接受或者拒絕,故企業 CA 預設並不會將憑證請求設定成擱置,它們會立即發行憑證或拒絕要求。 基於安全性考量,所有傳送到獨立 CA 的憑證要求,預設上會設定為擱置,直到獨立 CA 系統管理員確認請求者身份及請求為止。 因為企業使用者的資訊已經在 Active Directory 中,且憑證類型由憑證範本描述,所以向企業 CA 請求時,並不需提供識別資訊 使用者向獨立 CA請求憑證時,必須明確提供所有關於自己的識別資訊,以及憑證要求中希望的憑證類型 使用憑證範本, 可自動發行(Auto-enrollment) 未使用憑證範本 可以發行使用智慧卡來登入Windows 2000的憑證 無法提供此項功能 可以使用網頁或憑證請求精靈請求憑證 只能使用網頁方式請求憑證
23
Windows 四種類型CA 憑證授權單位類型 描述 企業根 CA 企業次級 CA 獨立根 CA 獨立次級 CA
企業根 CA 是憑證階層的最上層 CA。企業根 CA 需要 Active Directory 目錄服務。它會自動簽署所擁有的 CA 憑證,並使用 [群組原則] 將此憑證公佈給網域中所有伺服器和工作站的 [受信任的根憑證授權單位] 存放區。在正常情況下,企業根 CA 不直接提供資源給使用者和電腦憑證,而是作為憑證階層的基礎。 企業次級 CA 企業次級 CA 必須從其他的 CA 取得 CA 憑證。企業次級 CA 需要 Active Directory。當您想要善加利用下列技術時您就會用到企業次級 CA:Active Directory、憑證範本以及使用智慧卡登入 Windows XP 和執行 Windows Server 2003 系列作業系統的電腦。 獨立根 CA 獨立根 CA 是憑證階層的最上層 CA。因為獨立根 CA 不一定是網域成員,所以不需要 Active Directory ,因為獨立根 CA 不需要 Active Directory,所以可方便地與網路中斷連線並放在安全的地方,這在建立安全離線的根 CA 時很有用。 獨立次級 CA 立次級 CA 必須從其他的 CA 取得 CA 憑證。因為獨立次級 CA 可以作為或不作為網域成員,所以不需要 Active Directory ,它必須從其他的 CA 取得 CA 憑證。
24
Windows 環境之憑證應用 數位簽章 智慧卡 加密型 檔案系統 電子郵件 加密簽章 Internet 身份驗證
軟體簽章 伺服器憑證 IP Security 802.1x
25
建構與維護Windows憑證服務 安裝憑證服務 檢視並處理擱置的憑證要求 撤銷憑證與公佈 CRL 備份與還原憑證服務 稽核憑證
金鑰保存與修復 教育使用者如何運用憑證
26
準備佈署Windows憑證服務 Active Directory 目錄服務(若架設企業 CA) 安裝IIS WWW服務與ASP元件
Windows 伺服機器(Windows 2000/2003) 靜態的IP組態 NTFS磁區
27
DEMO 安裝憑證服務 利用[控制台新增/移除程式新增/移除Windows 元件Certificate Services]途徑安裝憑證服務,建立CA 選擇憑證授權類型 (並核選進階選項) 選擇進階選項 -- CSP、Hash Algorithm、Key Length
28
安裝憑證服務 (續) 輸入CA名稱及其它識別資訊 輸入憑證資料存放位置 安裝完成
29
憑證服務的安裝元件 憑證請求網頁: 提供用戶端請求憑證的網頁目錄 「憑證授權單元」嵌入式管理單元 提供管理員管理CA的工具 命令列管理工具
certutil certreq certsrv
30
用戶端請求憑證方法 使用憑證請求精靈 (僅適用於企業CA) 使用憑證授權網頁
31
自動註冊 (Autoenrollment)
憑證註冊是請求、接收及安裝憑證的處理程序。 在公開金鑰原則中使用自動憑證設定,可以使得與 [群組原則] 物件相關聯的電腦使用者,自動註冊憑證,簡化使用憑證之步驟。 作法:利用群組原則 於[使用者設定Windows 設定安全性設定公開金鑰原則自動註冊設定值]的內容對話方塊
32
處理憑證請求 管理憑證授權單位上的憑證要求 定期檢視擱置的憑證要求決定是否發行 設定處理憑證要求時的預設動作
33
備份與還原CA CA伺服器備份策略 備份整部伺服器 備份系統狀態資料 備份其它重要資料
IIS Metabase、 憑證服務之系統登錄檔與AD中之憑證相關物件
34
備份憑證服務步驟 DEMO 使用「憑證授權單位」 啟用憑證授權單位備份精靈程式 選擇要備份的項目和備份的目錄
檢查備份目錄 -- .p12檔案和database目錄 指令工具: certutil –backup <Folder>
35
CA 的還原 一旦CA發生意外毀損如何快速還原需取決於備份的策略 回復整部伺服器 回復系統狀態資料 手動還原
如 CA 為 DC,則需進入目錄還原模式 手動還原 CA 資料庫與金鑰對 IIS Metabase 憑證授權單位之登錄設定
36
撤銷憑證 (Certification Revocation)
常見的憑證撤銷原因: 金鑰洩漏 金鑰遺失 員工離職 聯盟關係變更
37
Windows Server 2003憑證撤銷 CA需要維護一份撤銷清單(CRL) ,撤銷清單內需包含已撤銷憑證的序號
CA需要將撤銷清單拷貝一份至特定的位置,以便讓用戶端可以下載取得,稱為CRL 發佈點 (CDPs) 。 企業CA的CDP在Active Directory 的下列DN: cn=<ServerName>,cn=CDP,cn=Public Key Services, cn=Services,cn=configuration, dc=<domain>,dc=<root> 獨立CA的CRL在下列磁碟位置: %systemroot%\system32\certsrv\CertEnroll CA 每隔一段時間會發佈CRL以讓用戶端可順利下載最新的CRL,稱為公佈間隔(publication Interval) ,而用戶端也會快取這份CRL,直到公佈間隔過期才會再至CDP下載,如此可降低流量 為了避免CRL過大而造成效能問題,您可以發佈所的Delta CRLs,這是一份只包括Base CRL後有所變更的撤銷清單,將可降低網路傳遞的頻寬耗用。
38
管理憑證廢止 撤消發佈的憑證 排定公佈憑證廢止清單的時間 在發佈的憑證中指定憑證廢止清單發佈點 以手動方式發行憑證廢止清單 檢視憑證廢止清單
CA 名稱 在 [執行] 功能表上,按一下 [內容]。 在 [原則模組] 索引標籤上按一下 [設定]。 在 [X.509 延伸區] 索引標籤的 [CRL 分送點] 下,請指定分送點。 ※ CRL管理需考慮發佈週期、發佈類型、 CRL 發佈點
39
撤消憑證與檢視 CRL 1. 將己發行的憑證撤消 DEMO 2. 檢視憑證廢止清單
40
排定CRL的公佈間隔 DEMO 3. 設定公佈間隔原則為基本的CRL公佈時間會比Delta CRL來得長
41
立即公佈憑證廢止清單 DEMO 4. 如有必要可執行手動發行憑證廢止清單 5. 選擇公佈的CRL類型
42
稽核憑證 DEMO 為了有效的掌握CA運作狀況或安全性查核,應啟用憑證服務的稽核功能: 啟用機器的『稽核物件存取』項目 啟用CA稽核功能
檢視安全記錄檔 DEMO
43
金鑰保存與修復 (Key Archival and Recovery)
憑證服務可以設定保存使用者金鑰 只能用在企業CA 目的:一旦使用者遺失或刪除金鑰而又無預先備份時,可重新發行給使用者 此功能預設上並未啟用,啟用步驟為: 建立金鑰修復代理人 設定CA儲存金鑰並允許金鑰修復 發行新的憑證範本以產生保存的憑證
44
建立金鑰修復代理人 DEMO 1. 啟用金鑰修復代理憑證範本 3. CA 管理員發行憑證
2. 使用者利用『憑證』工具請求一個『金鑰修復代理』憑證 3. CA 管理員發行憑證
45
設定CA保存金鑰並允許金鑰修復 1. 啟用保存金鑰並加入金鑰復原代理憑證,然後重新啟動服務 2.重新啟動服務後,代理憑證呈現有效狀況
46
發行新的憑證範本以產生保存的憑證 2. 變更範本名稱 1. 複製一個標準範本
47
發行新的憑證範本以產生保存的憑證(續) 3. 啟用備份私密金鑰並允許匯出 4. 清除註冊需管理員批准功能
48
新增備份金鑰欄位
49
修復保存的金鑰 1. 取得需要修復的憑證序號 2. 利用 certutil -getkey <序號> <檔案> 指令恢復金鑰
50
修復保存的金鑰(續) 3. 將 PKCS#7格式檔案轉換成PFX檔 (certutil -recoverkey -f recovery)
C:\>certutil -recoverkey -f recovery recovery.pfx dwFlags = CA_VERIFY_FLAGS_ALLOW_UNTRUSTED_ROOT (0x1) dwFlags = CA_VERIFY_FLAGS_IGNORE_OFFLINE (0x2) dwFlags = CA_VERIFY_FLAGS_FULL_CHAIN_REVOCATION (0x8) ………………………………………………………………………………… 已解密的 PKCS7 訊息內容 使用者憑證: 序號: 61130aa b 發行者: CN=TaoZiLab, DC=yyh, DC=local 主體: CN=yahui, CN=Users, DC=yyh, DC=local Cert 雜湊(sha1): cd f d1 0f 0f c8 8c 3e 6a 49 請輸入新的密碼: 確認新密碼: CertUtil: -RecoverKey 命令成功完成。
51
用戶端使用憑證 如何使用『憑證』嵌入式管理單元執行 匯出與匯入憑證 新增信任的根憑證授權 DEMO
52
匯出憑證 DEMO 目的 備份憑證及其相關私密金鑰(提供保護密碼) 將憑證複製或搬移到其他電腦使用
53
匯入憑證 使用憑證匯入精靈 選擇存放位置 選擇匯入的檔案
54
新增信任的根憑證授權 1. 下載CA 憑證 (.cer檔) 3. 匯入CA憑證檔 匯入憑證
55
結論 PKI 為現代電子商務的安全性基礎,善用 PKI技術可以有效的提升網路通訊安全性 企業建構或使用CA常遭遇的問題
複雜度高 成本過高 教育訓練不易 應用程式不一定支援 仔細評估自行架設CA的優劣及必要性 建構企業CA時需有專業人員可以管理金鑰、憑證等相關業務 管理員需定期備份憑證資料庫和相關資料 教育使用者如何使用備份憑證與金鑰
56
問題與討論
57
© 2007 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Similar presentations