SlideShare a Scribd company logo
1 of 80
Download to read offline
金鑰管理
netman@study-area.org
V1.2.3
2012/12/24
•電子憑證的功用
•CA 的功能角色
•電子憑證製作與簽署
•電子憑證申請例釋
•自建 CA 例釋
大綱
電子憑證的功用
•真實世界的身份識別方法
•電子憑證的功能
•數位簽名用到的實體設備
•電腦系統身分認證問題
綱要
在真實世界中辨識身份的方法之一,是以證書為
基礎的身份證照系統,例如:
• 護照
• 駕照
• 身份證
• 健保卡
• 等等
良好的身份證書應該不能或很難被塗改或偽造。
真實世界的身份識別方法
然而在傳統的電腦系統則很難正確利用書面證照
來辨識使用者的身份。
常用方法如下:
• 只有您所知( know )的事情
• 只有您擁有( have )的物件
• 只有你才是( are )的部分
電腦系統的身份識別方法
•只有您所知( know )的事情
最常見的方法就是使用密碼。在使用系統之前要先輸入
帳號與密碼,如果兩者比對的結果與系統所儲存的資料
一致,及代表身分無誤。
密碼是目前在資訊系統上用來識別身份最常用到的手
段,因為其運用非常簡單,且不需要特別的硬體設備。
然而密碼系統也存在許多問題:
• 系統必須先儲存密碼
• 密碼容易遭到攔截
• 密碼可能會忘記
• 人們常使用脆弱易猜的密碼
• 使用者常有意無意將密碼告訴人
電腦系統的身份識別方法
•只有您擁有( have )的物件
只要持有人出示某個物件就能表明身份。比方門
禁卡是最常見的實體標記( token )。
這方式主要是對“物”授權而非對“人”授
權,因此常會與密碼系統一起使用。
但是這種方法也有其弊端:
• 持有人不見得就是物件真正的主人
• 如果遺失標記,就算身份正確也無法通過確認
• 標記有可能被複製或偽造
電腦系統的身份識別方法
•只有你才是( are )的部分
這通常是透過生物辨識技術( Biometrics )來驗證使用者身份。 透過
對生理特徵測量結果跟事先儲存的資料進行比對,來進行身分判斷。
常用來判斷身分的特徵有這些:
• 臉部
• 指紋/掌紋
• 足印
• 瞳孔掃描
• DNA
• 語音
• 筆跡
此類技術常會混用多重特徵或與密碼及標記併用,以降低誤辯成度。
生物辨識方法也有其不足之處:
• 生物特徵資料必須先儲存在系統裡面
• 所使用的設備成本非常高昂
• 設備有可能遭到破壞或欺騙
電腦系統的身份識別方法
以上身份認證系統若能配合數位簽名( digital
signature ),就能獲得極大的改善空間。
這需要使用者產生一對 key :
–私鑰( private key ),施行簽名
–公鑰( public key ),進行驗證
電子憑證的功能
電子憑證的功能
數位簽名用到的實體設備常見如下:
•將私鑰編碼後儲於硬碟
•將私鑰編碼後儲於可攜式媒體
•把私鑰儲存在智慧卡裝置
數位簽名用到的實體設備
•將私鑰編碼後儲於硬碟
用密語( passphrase )對私鑰進行編碼並存於
電腦內。
缺點之ㄧ就是系統被入侵後有可能被盜用,只
要入侵者知道密語就行。
此外,如密語忘記的話那私鑰也等同作廢。而
且解碼的過程也可能被木馬或病毒攻擊。
數位簽名用到的實體設備
•將私鑰編碼後儲於可攜式媒體
這方式比存於硬碟更安全些。攻擊者必須同時取得密
語與媒體才能拿到私鑰。
不過解碼過程還是有機會遭到木馬或病毒的攻擊。
數位簽名用到的實體設備
•把私鑰儲存在智慧卡裝置
這是三種方法最安全的。智慧卡內建微處理器
可以產生公鑰 / 私鑰序對,再將公鑰傳送給電
腦主機使用,私鑰永遠不會離開智慧卡。
而且進行數位簽名或資料解密的過程也是在智
慧卡裡面完成,才將結果傳回電腦。
除非攻擊者取得智慧卡否則無法盜用私鑰,而
且也能免受木馬或病毒攻擊。
但如果智慧卡遺失,則裡面的 key 也就無法尋
回,除非事先複製或交由第三者保管機制以防
遺失。
數位簽名用到的實體設備
電腦系統使用的身份認證系統存在一個共通問題:
只能用於特定系統,不能適用於公共認證系統。
電腦系統身分認證問題
CA 的功能角色
•甚麼是 CA
•電子憑證的用途
•CA 的運作模式
•電子憑證之吊銷
•甚麼是 X.509 憑證
•X.509 憑證種類
綱要
憑證機構( Certificate Authority, CA )是一種專
門負責發行電子憑證的機構。
憑證內含某人或機構的名字、公鑰、序號、以及
相關資訊。
理想情況下, CA 會建立一套適用所有申請者的完
善查核制度以驗證他們的身份。
甚麼是 CA
電子憑證今天在網際網路上讓個人、組織、及企
業可以相互驗證對方的身份。
電子憑證的用途
中間人 (Man-In-the-Middle) 問題
– 所獲的 key 是假的
身份驗證問題
下載的 key 需要說明身份
身份驗證問題
但是說明內容的真偽也難確定
身份驗證問題
解決之道 :
– 委請有公信力的機構背書證明內容與 key
身份驗證問題
然而證書也有可能造假
身份驗證問題
所以我們需要 CA 的公鑰驗證證書真偽
身份驗證問題
但問題是 CA 的 public key 也可能被攔截仿冒
身份驗證問題
因此 , CA 的 public key 不能透過網路來傳遞
, 而是內建在系統獲合法軟體裡面
身份驗證問題
反推結論 :
– 只要 CA 的 public key 是可信任的
– 那就可以確定 CA 的證書是可信任的
– 那麼證書的內容與 public key 就是可信任的
– 所用的 public key 加密的 secret key 就能確保
由正確的 server 解開
– 那麼資料就能安全地在 Internet 上交換
身份驗證問題
CA 通常有不同的運作模式:
•內部 CA ( Internal CA )
•委外員工 CA ( outsourced employee CA )
•委外客戶 CA ( outsourced customer CA )
•可信任的第三者 CA ( trusted third-party CA )
CA 的運作模式
•內部 CA ( Internal CA )
企業機構內部設立 CA 為內部員工發行憑證,辨
識員工職位、授權等級等資料正確性。
藉此建立階級,管制內部資源或資料流向。
CA 的運作模式
•委外員工 CA ( outsourced employee CA )
委請其他公司為內部員工發行憑證。
CA 的運作模式
•委外客戶 CA ( outsourced customer CA )
委請其他公司為現有或潛在客戶擔任 CA 的工
作。
CA 的運作模式
•可信任的第三者 CA ( trusted third-party CA )
具公信力的機構擔任 CA 的工作,發行憑證證明
某人或某公司的公鑰身份。
CA 的運作模式
在如下情形之下, CA 可能會吊銷憑證
( revocation ):
–持有人的私鑰被洩露
–憑證發行給錯誤的對象
–持有者喪失其許可
–CA 本身系統遭到入侵
電子憑證之吊銷
人們可以透過憑證吊銷清單( Certificate
Revocation List, CRL )稽查憑證是否已經被吊
銷。
電子憑證之吊銷
X.509 v3 憑證是一種廣泛應用在許多現代加密協
定中的公鑰憑證標準,包括 SSL 、 PGP email 等
等。
甚麼是 X.509 憑證
X.509 v3 憑證保證某個公鑰由特定機構來擔保,
其效力來自該機構的數位簽名。目前在網際網路
上使用的電子憑證共有四種:
–憑證機構憑證
–伺服器憑證
–個人憑證
–軟體發行商憑證
X.509 憑證種類
X.509 憑證種類
電子憑證的製作與簽署
•甚麼是個人電子憑證
•個人憑證的運用要素
•個人憑證發行限制
•個人憑證之註銷
•伺服器電子憑證
綱要
個人電子憑證也稱為用戶端憑證( client
certificate )。
由憑證機構負責發行,用來識別個人身份、擔保
私鑰與名稱之間的關係。
個人電子憑證內含個人身份資訊及其公鑰,可以
用來寄送加密郵件,或用來管制線上服務等級。
甚麼是個人電子憑證
個人電子憑證的運用包括四大基本要素:
– 產生 key
– 取得憑證
– 質詢/回應
– 安全儲存
個人憑證的運用要素
個人身份電子憑證之前有數家 CA 提供付費服務,
不過目前較難有信用機構個別進行擔保。
可由個人自我發行公鑰( public key )再經信任
網路( trusted network )進行散佈:
– 主動寄發
– 上傳至 keyserver :
• wwwkeys.pgp.net
• www.keyserver.net
• pgp.mit.edu
個人憑證發行限制
若在某些情況下注銷個人公鑰,則需自行通知所
有使用人或至 keyserver 取消。
個人憑證之註銷
現在較為普遍的經由 CA 簽署的電子憑證,是伺服
器憑證。伺服器憑證的製作過程大致如下:
1. 產上 RSA/DSA key
2. 產生憑證申請( CSR )
3. 由 CA 簽署發回憑證( CRT )
4. 散佈憑證
若在某些情況下需要注消伺服器憑證,亦需到 CA
提出申請。
伺服器電子憑證
1. 下載證書
SSL 加密流程 :
2. 驗證證書
SSL 加密流程 :
3. 產生 session key
SSL 加密流程 :
4. 加密傳送 session key
SSL 加密流程 :
5. 開始加密資料
SSL 加密流程 :
電子憑證申請例釋
我們以台灣的“網際威信”網站為例子,為大家
示範一個伺服器電子憑證的申請流程。
電子憑證申請例釋
步驟一:產生 RSA key
電子憑證申請例釋
步驟二:產生憑證申請
電子憑證申請例釋
步驟三:查看及複製申請內容
電子憑證申請例釋
步驟四:連線 CA 網站並選擇憑證試用
電子憑證申請例釋
步驟五:按“下一步”開始
電子憑證申請例釋
步驟六:將憑證申請內容貼上,並按“下一步”繼續
電子憑證申請例釋
步驟七:確認申請內容
電子憑證申請例釋
步驟七:並填寫申請人資料
電子憑證申請例釋
步驟七:最後按“確定”提交
電子憑證申請例釋
步驟八:完成並“下載”憑證
電子憑證申請例釋
步驟九:在要求信任 CA 查證時按下“確定”
電子憑證申請例釋
步驟十:檢查 email 接收憑證,並複製憑證內容
電子憑證申請例釋
步驟十一:
將複製憑證內容貼進以 .crt 結尾的檔案中即可使
用。
電子憑證申請例釋
自建 CA 例釋
步驟一:產生新 PEM 格式的 CA 憑證
自建 CA 例釋 ( 以 RedHat 為例 )
步驟二:填寫 CA 憑證內容
自建 CA 例釋
步驟二結果:新的 CA 憑證 (cacert.pem) 將存於
自建 CA 例釋
步驟三:產生新的憑證
自建 CA 例釋
步驟三的結果:
自建 CA 例釋
步驟四:簽署新的憑證
自建 CA 例釋
并確認憑證內容:
自建 CA 例釋
步驟四結果:
自建 CA 例釋
步驟五:修改憑證名稱(並取消密碼)
自建 CA 例釋
建立 CA :
● -newca
製作憑證申請書:
● -newreq
簽署憑證
● -sign
CA 腳本操作要點
CA 必須修改 openssl.cnf
● basicConstraints=CA:true
Server 端必須同時具備三份檔案:
● Server Key
● Server Cert ( 由 CA 簽署 )
● CA Cert ( 從 CA 複製過來 )
Client 端必須具備檔案:
● CA Cert ( 從 CA 複製過來 )
TLS 設定要點
CA 必須修改 openssl.cnf
● basicConstraints=CA:true
Server 端必須同時具備三份檔案:
● Server Key
● Server Cert ( 由 CA 簽署 )
● CA Cert
Client 端必須具備檔案:
● CA Cert
TLS 設定要點
如何製作 SSL X.509 憑證?
http://www.study-area.org/tips/certs/certs.html
建議閱讀

More Related Content

Similar to 金鑰管理 (PKI)

PKI Introduction / 公钥基础设施介绍
PKI Introduction / 公钥基础设施介绍PKI Introduction / 公钥基础设施介绍
PKI Introduction / 公钥基础设施介绍Zac John
 
利用OpenSSL创建并验证证书
利用OpenSSL创建并验证证书利用OpenSSL创建并验证证书
利用OpenSSL创建并验证证书Water Sky
 
申請 Let's Encrypt 免費 SSL 憑證一次就上手
申請 Let's Encrypt 免費 SSL 憑證一次就上手申請 Let's Encrypt 免費 SSL 憑證一次就上手
申請 Let's Encrypt 免費 SSL 憑證一次就上手Will Huang
 
數位身份識別發展建議與工研院實務經驗分享
數位身份識別發展建議與工研院實務經驗分享數位身份識別發展建議與工研院實務經驗分享
數位身份識別發展建議與工研院實務經驗分享legislative yuan
 
Digital identitymgmt 1704132309
Digital identitymgmt 1704132309Digital identitymgmt 1704132309
Digital identitymgmt 1704132309Chang Yie
 
大會手冊摘要文件
大會手冊摘要文件大會手冊摘要文件
大會手冊摘要文件Sayhong Wen
 

Similar to 金鑰管理 (PKI) (8)

PKI Introduction / 公钥基础设施介绍
PKI Introduction / 公钥基础设施介绍PKI Introduction / 公钥基础设施介绍
PKI Introduction / 公钥基础设施介绍
 
Ca
CaCa
Ca
 
利用OpenSSL创建并验证证书
利用OpenSSL创建并验证证书利用OpenSSL创建并验证证书
利用OpenSSL创建并验证证书
 
申請 Let's Encrypt 免費 SSL 憑證一次就上手
申請 Let's Encrypt 免費 SSL 憑證一次就上手申請 Let's Encrypt 免費 SSL 憑證一次就上手
申請 Let's Encrypt 免費 SSL 憑證一次就上手
 
Apk explorer1
Apk explorer1Apk explorer1
Apk explorer1
 
數位身份識別發展建議與工研院實務經驗分享
數位身份識別發展建議與工研院實務經驗分享數位身份識別發展建議與工研院實務經驗分享
數位身份識別發展建議與工研院實務經驗分享
 
Digital identitymgmt 1704132309
Digital identitymgmt 1704132309Digital identitymgmt 1704132309
Digital identitymgmt 1704132309
 
大會手冊摘要文件
大會手冊摘要文件大會手冊摘要文件
大會手冊摘要文件
 

More from Kenny (netman)

rpi_audio configuration steps
rpi_audio configuration stepsrpi_audio configuration steps
rpi_audio configuration stepsKenny (netman)
 
Importance of linux system fundamental in technical documentation reading
Importance of linux system fundamental in technical documentation readingImportance of linux system fundamental in technical documentation reading
Importance of linux system fundamental in technical documentation readingKenny (netman)
 
Linux fundamental - Chap 16 System Rescue
Linux fundamental - Chap 16 System RescueLinux fundamental - Chap 16 System Rescue
Linux fundamental - Chap 16 System RescueKenny (netman)
 
Linux fundamental - Chap 15 Job Scheduling
Linux fundamental - Chap 15 Job SchedulingLinux fundamental - Chap 15 Job Scheduling
Linux fundamental - Chap 15 Job SchedulingKenny (netman)
 
Linux fundamental - Chap 14 shell script
Linux fundamental - Chap 14 shell scriptLinux fundamental - Chap 14 shell script
Linux fundamental - Chap 14 shell scriptKenny (netman)
 
Linux fundamental - Chap 13 account management
Linux fundamental - Chap 13 account managementLinux fundamental - Chap 13 account management
Linux fundamental - Chap 13 account managementKenny (netman)
 
Linux fundamental - Chap 12 Hardware Management
Linux fundamental - Chap 12 Hardware ManagementLinux fundamental - Chap 12 Hardware Management
Linux fundamental - Chap 12 Hardware ManagementKenny (netman)
 
Linux fundamental - Chap 11 boot
Linux fundamental - Chap 11 bootLinux fundamental - Chap 11 boot
Linux fundamental - Chap 11 bootKenny (netman)
 
Linux fundamental - Chap 10 fs
Linux fundamental - Chap 10 fsLinux fundamental - Chap 10 fs
Linux fundamental - Chap 10 fsKenny (netman)
 
Linux fundamental - Chap 09 pkg
Linux fundamental - Chap 09 pkgLinux fundamental - Chap 09 pkg
Linux fundamental - Chap 09 pkgKenny (netman)
 
Linux fundamental - Chap 08 proc
Linux fundamental - Chap 08 procLinux fundamental - Chap 08 proc
Linux fundamental - Chap 08 procKenny (netman)
 
Linux fundamental - Chap 07 vi
Linux fundamental - Chap 07 viLinux fundamental - Chap 07 vi
Linux fundamental - Chap 07 viKenny (netman)
 
Linux fundamental - Chap 06 regx
Linux fundamental - Chap 06 regxLinux fundamental - Chap 06 regx
Linux fundamental - Chap 06 regxKenny (netman)
 
Linux fundamental - Chap 05 filter
Linux fundamental - Chap 05 filterLinux fundamental - Chap 05 filter
Linux fundamental - Chap 05 filterKenny (netman)
 

More from Kenny (netman) (20)

rpi_audio configuration steps
rpi_audio configuration stepsrpi_audio configuration steps
rpi_audio configuration steps
 
Rpi audio
Rpi audioRpi audio
Rpi audio
 
Importance of linux system fundamental in technical documentation reading
Importance of linux system fundamental in technical documentation readingImportance of linux system fundamental in technical documentation reading
Importance of linux system fundamental in technical documentation reading
 
Ha opensuse
Ha opensuseHa opensuse
Ha opensuse
 
Chap 19 web
Chap 19 webChap 19 web
Chap 19 web
 
Chap 18 net
Chap 18 netChap 18 net
Chap 18 net
 
Chap 17 advfs
Chap 17 advfsChap 17 advfs
Chap 17 advfs
 
About the Course
About the CourseAbout the Course
About the Course
 
Linux fundamental - Chap 16 System Rescue
Linux fundamental - Chap 16 System RescueLinux fundamental - Chap 16 System Rescue
Linux fundamental - Chap 16 System Rescue
 
Linux fundamental - Chap 15 Job Scheduling
Linux fundamental - Chap 15 Job SchedulingLinux fundamental - Chap 15 Job Scheduling
Linux fundamental - Chap 15 Job Scheduling
 
Linux fundamental - Chap 14 shell script
Linux fundamental - Chap 14 shell scriptLinux fundamental - Chap 14 shell script
Linux fundamental - Chap 14 shell script
 
Linux fundamental - Chap 13 account management
Linux fundamental - Chap 13 account managementLinux fundamental - Chap 13 account management
Linux fundamental - Chap 13 account management
 
Linux fundamental - Chap 12 Hardware Management
Linux fundamental - Chap 12 Hardware ManagementLinux fundamental - Chap 12 Hardware Management
Linux fundamental - Chap 12 Hardware Management
 
Linux fundamental - Chap 11 boot
Linux fundamental - Chap 11 bootLinux fundamental - Chap 11 boot
Linux fundamental - Chap 11 boot
 
Linux fundamental - Chap 10 fs
Linux fundamental - Chap 10 fsLinux fundamental - Chap 10 fs
Linux fundamental - Chap 10 fs
 
Linux fundamental - Chap 09 pkg
Linux fundamental - Chap 09 pkgLinux fundamental - Chap 09 pkg
Linux fundamental - Chap 09 pkg
 
Linux fundamental - Chap 08 proc
Linux fundamental - Chap 08 procLinux fundamental - Chap 08 proc
Linux fundamental - Chap 08 proc
 
Linux fundamental - Chap 07 vi
Linux fundamental - Chap 07 viLinux fundamental - Chap 07 vi
Linux fundamental - Chap 07 vi
 
Linux fundamental - Chap 06 regx
Linux fundamental - Chap 06 regxLinux fundamental - Chap 06 regx
Linux fundamental - Chap 06 regx
 
Linux fundamental - Chap 05 filter
Linux fundamental - Chap 05 filterLinux fundamental - Chap 05 filter
Linux fundamental - Chap 05 filter
 

金鑰管理 (PKI)