CA數字證書
數字證書(Certificate Authority)是由權威機構——CA機構發行的,是互聯網通訊中標志通訊各方身份信息的一串數字,提供了一種在Internet上驗證通信實體身份的方式,最簡單的證書包含一個公開密鑰、名稱以及證書授權中心的數字簽名。
特點:
安全性、唯一性、方便性
分類:
服務器證書、電子郵件證書、個人證書
格式:
數字證書的格式普遍采用的是X.509V3國際標準,X.509是由國際電信聯盟(ITU-T)制定的數字證書標準。數字證書標準包括:X.509版本號、證書持有人的公鑰、證書的序列號、主題信息、證書的有效期、認證機構、發布者的數字簽名、簽名算法標識符。
頒發過程和原理
我們在申請數字證書時一般是由CA中心首先生成用戶的密匙對,每個用戶都有自有的獨一無二的兩個相互驗證配合的電子文件即公匙和私匙,他們可以對數據進行加密、解密工作。私匙僅為本人所知,用戶自己設定的,用它進行解密和簽名,是用戶私有文件。公匙是經過服務器驗證過的用戶可以公開展示給他人,是一組多個用戶的共享文件,主要作用是加密和驗證私匙的簽名。如果發送一份需要保密文件,用戶事先將公匙從文件接收方拷貝過來,然后使用公鑰對即將發送的電子郵件或其他需要加密文件用私匙進行加密,再通過郵件或其他手段發送給別人,信息就可以安全無誤地到達目的地了,而且只有收件人擁有公匙才能解密。用戶將確定自己身份的標示文件用私匙加密,只有擁有公匙的用戶才能正確識別,數字加密的手段保證加密是一個不可逆過程,只有用私有密鑰相與之配對才能解密,這樣來維護互聯網上用戶身份的唯一性。
X.509標準
X.509標準是ITU-T設計的PKI (Public Key Infrastructure: 公鑰基礎設施) 標準,它是為了解決X.500目錄中的身份鑒別和訪問控制問題而設計的。為了提供公用網絡用戶目錄信息服務,ITU于1988年制定了X.500系列標準。其中X.500和X.509是安全認證系統的核心,
X.500 定義了一種區別命名規則,以命名樹來確保用戶名稱的唯一性;X.509則為X.500 用戶名稱提供了通信實體鑒別機制,并規定了實體鑒別過程中廣泛適用的證書語法和數據接口, X.509 稱之為證書。
在X.509系統中,CA簽發的證書依照X.500的管理,綁定了一個唯一識別名,主流瀏覽器會預先安裝一部分證書,這些根證書都是受信任的證書認證機構CA。如果簽發證書的根證書在瀏覽器的根信任列表中,瀏覽器就會主動識別該證書是安全的,反之,瀏覽器就會提出一個警告。
在X.509方案中,默認的加密體制是公鑰密碼體制。目前版本X.509V1、X.509 V2、X.509 v3和X.509 V4, 目前普遍采用的格式版本是國際電信聯盟(ITU)制定的ITU-Trec.X.509V3標準。都在原有版本基礎上進行功能的擴充,其廣泛使用于web瀏覽器中。
要申請X.509證書,請求CA頒發證書。用戶提供自己的公鑰,證明自己擁有相應的私鑰,并提供有關自己的某些特定信息。然后在這些信息上數字簽名,并將整個數據包(稱為證書請求)發給CA。CA來驗證用戶提供的信息是正確的,然后就生成證書并返回給用戶。如圖數字證書的頒發過程。
SSL證書
SSL證書是數字證書的一種,遵守SSL協議,由受信任的數字證書頒發機構CA,在驗證服務器身份后頒發,具有服務器身份驗證和數據傳輸加密功能,彌補HTTP協議是明文傳輸的缺點。
SSL協議(Secure Sockets Layer):安全套接層
1)認證用戶和服務器,確保數據發送到正確的客戶機和服務器;
2)加密數據以防止數據中途被竊取;
3)維護數據的完整性,確保數據在傳輸過程中不被改變。
SSL協議提供的安全通道有以下三個特性
1)機密性:SSL協議使用密鑰加密通信數據。
2)可靠性:服務器和客戶都會被認證,客戶的認證是可選的。
3)完整性:SSL協議會對傳送的數據進行完整性檢查
當前為SSL3.0版本,可通過數字簽名和數字證書可實現瀏覽器和Web服務器雙方的身份驗證。最新的高端SSL證書產品是擴展驗證(EV)SSL證書。在IE7.0、FireFox3.0、Opera 9.5等新一代高安全瀏覽器下,使用擴展驗證VeriSign(EV)SSL證書的網站的瀏覽器地址欄會自動呈現綠色,從而清晰地告訴用戶正在訪問的網站是經過嚴格認證的。
其SSL的客戶端與服務器端的認證握手如下:
HTTPS協議
HTTPS(Hypertext Transfer Protocol Secure)安全超文本傳輸協議
HTTPS內置于其瀏覽器中,用于對數據進行壓縮和解壓操作,并返回網絡上傳送回的結果。HTTPS應用了完全套接字層(SSL)作為HTTP應用層的子層(HTTPS使用端口443,而不是象HTTP那樣使用端口80來和TCP/IP進行通信)。SSL使用40位關鍵字作為RC4流加密算法,很適合于商業信息的加密。HTTPS和SSL支持使用X.509數字認證。
HTTPS是以安全為目標的HTTP通道,是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容請看SSL。
整個通信過程即HTTPS加密過程如下:
Java Web使用Httpst通信
步驟:
1)經第三方認證頒發證書
2)配置Tomcat服務器
3)服務器加載證書
4)web客戶端進行https登陸
參考資料
1 SSL協議詳解
2 數字證書
3 CA基本常識X.509標準
4 HTTPS和SSL/TLS協議
5 Java WEB HTTPS使用詳解
6 架設CA服務器實現https通信,web服務器使用CA自簽證書與https通信