--- title: 安全加密協定及憑證頒發機構筆記 tags: Security disqus: hackmd Editor: roy.wang176@gmail.com --- # 安全加密協定及憑證頒發機構筆記 ## 前言 憑證是一種數位證書,用於加密通信和身分認證。憑證包含了證書持有人的基本身分訊息和公鑰憑證,並由憑證頒發機構 ( 又名:CA中心 ) 進行簽發和加密。 因此,在講到憑證之前,我們必須對安全加密協定(SSL、TLS和HTTPS)和憑證頒發機構(CA中心、憑證申請書、憑證公鑰、憑證私鑰)有一些基本的認識。 ## 什麼是SSL/TLS? ### 什麼是SSL? - SSL全名是Secure Sockets Layer,即安全通訊層。是一個用於保護網路通信安全的協議。 - SSL協議使用非對稱性加密技術,通過數字證書驗證服務器的身份,並加密在客戶端和服務器之間傳輸的數據。 - SSL連線流程如下圖:  - SSL連線流程: 1. 訪問:Client端訪問一個使用SSL保護的Server端。 2. 回應:Server端給予回應並發送數字證書、公鑰給Client端。 3. 驗證:Client端會使用Server端公鑰解密數字證書,以驗證Server端的身份。 4. 加密:Client端創建一個稱為"會話密鑰"的加密密鑰,並使用Server端傳來的公鑰加密此密鑰。 5. 回傳:Client端回傳加密後的密鑰給Server端 6. 解密:Server端使用自己的私鑰解密加密密鑰,取得會話密鑰。 7. 後續資料傳輸:後續將使用會話密鑰相互通訊。 ### 什麼是TLS? - TLS全名是Tranport Layer Security,即傳輸層安全性。 - TLS是SSL的最新版本,提供更好的安全性和加密技術(就像是SSL pro max)。因習慣使然,我們時常常在講SSL加密,但實際上,現今的加密技術使用的都是TLS加密。 ### 什麼是HTTPS? - HTTPS全名是Hypertext Transfer Protocol Secure,即超文本傳輸安全協議。使用SSL/TLS進行加密。 - HTTPS能夠確保: - 資料傳輸是安全的。 - 連線正常,未被竄改。 例如:想要連線至google網頁,卻因為連線至假網站導致個資外洩等等。 正確網址:```https://www.google.com.tw``` 假冒網址:```https://www.gooogle.com.tw```(多了一個o) 介紹完加密協議後,接下來,我們需要了解憑證的簽發流程及其架構。 ## 什麼是CA中心? - CA中心全名是Certificate Authority center,即憑證管理中心、數位憑證頒發機構。 - CA是具有<u>**公信力**</u>和<u>**被信任的第三方**</u>,可以對個人和機關團體<u>**提供驗證**</u>及<u>**憑證簽發**</u>等服務,承擔檢驗公鑰合法性的責任。因此,CA主要有兩大特性: - CA是受國際認可的。 - CA給受信任的對象簽發憑證。 ### 架構圖  - 通過上方的概念圖,我們可以了解: 1. CA中心:對Root CA證書申請者進行身分驗證,並頒發數位證書。CA中心是一個第三方機構,負責產生、分配並管理所有參與網路訊息交換。 2. Root CA:用於驗證其它Root CA機構所頒發的數位證書的有效性。 大多數的作業系統和瀏覽器都會<u>**預先安裝一些受信任的Root CA證書**</u>[[1]](#1)。 3. CA是一個<u>**中間機構**</u>,由Root CA授權,頒發數位證書給證書申請者。 補充:2和3有可能是同一個憑證供應廠商[[2]](#2) 4. 當個人/網站/公司想要數位證書時,會先向中間機構申請證書,並提供身分相關資訊。此時中間CA會對其資訊進行驗證,驗證通過便會頒發證書。 舉個生活化的例子給大家參考:  我們可以把加密憑證想像成我們的個人護照,今天我們想要去申請護照,首先需要到外交部領事事務局(以下簡稱外交部)填寫申請表單。表單中包含多項必要的基本資訊填寫完成後將申請單交給外交部。待申請核可後,便可以拿到我們的護照。當我們出國通過海關時,海關都會查核護照,確保是本人。如下圖。 這時你會發現,咦? 怎麼軟體裡面的申請跟現實中很多事情很像,是因為軟體都是由「人」開發出來的,因此許多的流程都會相互借鏡。 上一章:[基礎密碼學筆記](https://hackmd.io/9bAsuy4-T5O0veIsxHVZaQ) 下一章:[Openssl介紹與實作筆記](https://hackmd.io/VAQRrdE_QeC0XjLuwjsKDw) ## 補充 [1] <span id="1"></span>: 預先安裝一些受信任的Root CA證書 1. 作業系統:Windows(包含Microsoft公司及各組織的證書)、MacOS(包含Apple公司及各組織的證書)、Linux(包含RHEL、Ubuntu等等發行版各自受信任的證書)。 2. 瀏覽器:Chrome(包含Google公司及各組織的證書)、Safari(包含Apple公司及各組織的證書)、Firefox(包含Mozilla公司及各組織的證書)。 [2] <span id="2"></span>: 憑證供應廠商 1. 民營機構:網際威信、台灣網路認證公司、中華電信等等。 2. 政府機構:研考會、經濟部、內政部等等。 ## 參考網址 [Openssl Tutorial](http://www.cs.toronto.edu/~arnold/427/19s/427_19S/tool/ssl/notes.pdf) [Openssl生成證書流程](https://blog.csdn.net/qq_42549122/article/details/90266920) [什麼是SSL、TLS和HTTPS?](https://www.websecurity.digicert.com/zh/hk/security-topics/what-is-ssl-tls-https) [網站SSL加密原理簡介](https://www.netadmin.com.tw/netadmin/zh-tw/technology/6F6D669EB83E4DC9BEA42F1C94636D46)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up