數字證書與通信安全

在想知道數字證書是什麼之前,我們先了解什麼是數字簽名,以及數字簽名和數字證書的關係。

數字簽名

數字簽名的原理

基本原理:用私鑰去加密,用公鑰去解密。即簽發人用不公開的私鑰去簽署文件即生成數字簽名,全世界任何人都可以用簽發人公佈的公鑰去驗證它的數字簽名,如果驗證解密成功,就認定這個數字簽名的確是簽發人簽署的。

數字簽名的應用

數字簽名是公鑰加密技術的兩大應用之一。這兩大技術分別是數字簽名和加密通信,而且它們有一定的對稱性。

加密通信下,公鑰加密(加密算法),私鑰解密(解密算法)。私鑰也叫解密key。

而在數字簽名下,私鑰加密(簽名算法),公鑰解密(驗證算法)。公鑰叫驗證key。

非對稱加密:

一對公鑰私鑰,公鑰加密的信息只有私鑰才能解密。私鑰加密的信息只有公鑰可以驗證(確認是被私鑰加密過的)

 

數字簽名的作用

數字簽名的作用是用來認證簽署人身份。

String  SignFile(File file , PrivateKey  pk);    //簽名算法

bool   CheckFile(File file, String signature ,PublicKey key);  //驗證算法

數字簽名的三大作用

1、認證(確認身份)

2、防止抵賴

3、防止篡改(保證文件完整性)

 

比特幣就是數字簽名

 

數字證書

       數字簽名存在的漏洞問題,即公鑰的安全問題。黑客截獲了文件和數字簽名後,用假文件和黑客的數字簽名替換後,發送給被攻擊的對象,黑客事先已經發布黑客的公鑰,如果被攻擊對象收到被黑客替換過的文件和簽名後,又取到了黑客的公鑰,就會驗證通過。這就是公鑰安全漏洞。

       數字證書是由可信的第三方機構(權威機構CA)頒發的用來證明所有人身份 和所有人公鑰的電子文件。

       簽發人把自己的信息和公鑰發送給CA,申請數字證書,CA驗證簽發人身份信息和其公鑰,驗證通過後把公鑰和簽發人信息打包在一起,生成一個叫做數字證書的電子文件。(這裏CA爲保證數字證書的可信,CA會用自己的私鑰對數字證書加密,生成這個數字證書的數字簽名,接着CA把CA的數字簽名也放進數字證書裏,CA還會把自己的公鑰打進數字證書),CA把數字證書製作好了後就發送給簽發人。現在有了數字證書,簽發人就可以把包含簽發人公鑰的由CA製作的數字證書,公佈給全世界,需要簽發人公鑰的人可以去取數字證書,從數字證書裏得到簽發人的公鑰,從而確信這個公鑰就是簽發人的公鑰。

       數字證書是互聯網通訊中標誌通訊各方身份信息的電子文件,提供了一種在Internet上驗證人們身份的方式,其作用類似於日常生活中的身份證。它是由權威機構——CA機構,即證書授權(Certificate Authorit y)中心發行的。數字證書是在Internet上進行身份驗證的一種權威性電子文件,人們可以在互聯網交往中用它來證明自己的身份和識別對方的身份。

人們可以在網上用數字證書來識別對方的身份。數字證書是一個經證書授權中心簽名的(包含公開密鑰擁有者信息以及公開密鑰的)文件。最簡單的證書包含一 個公開密鑰、名稱以及證書授權中心的數字簽名。一般情況下證書中還包括密鑰的有效時間,發證機關(證書授權中心)的名稱,以及該證書的序列號等信息,證書的格式遵循 ITUT X.509國際標準


  一個標準的數字證書包含以下一些內容:

       證書的 發行機構名稱,
       證書 所有人的名稱,

  證書所有人的公開密鑰;以及公鑰的有效期,它的計時範圍爲1950-2049;  
  證書發行者對證書的簽名(CA的數字簽名)


  證書的 版本信息;
  證書的 序列號,每個證書都有一個唯一的證書序列號;
  證書所使用的 簽名算法;

        

      CA用自己的信用爲數字證書做背書,證書上同時帶有所有人信息和公鑰,數字簽名保證了簽名是不可篡改的。只要大家信任CA,就可以信任數字證書和所有人的綁定關係,主要用來證明你的公鑰的確是屬於你的,實際也就是證明你是你自己。

數字證書是由證書授權(Certificate Authority)中心頒發的,人們可以在網上用它來識別對方的身份。數字證書至少要包含申請人的公鑰、申請人的信息、證書授權中心(CA)名稱,CA的數字簽名。

 

數字證書裏存有很多數字和英文,當使用數字證書進行身份認證時,它將隨機生成128位的身份碼,每份數字證書都能生成相應但每次都不可能相同的數碼,從而保證數據傳輸的保密性,即相當於生成一個複雜的密碼。  

公鑰是沒有辦法證明自己的主人的,所以爲了避免“中間人攻擊”就要使用數字證書。

 

數字證書的作用

常用於兩個場合:數字簽名和HTTPS

公開的公鑰,在被人們下載後,公鑰是無法證明自己的主人的。因此就需要使用數字證書。源服務器在下發公鑰的同時發送數字證書(數字證書包含公鑰),用戶在得到數字證書後就可以確信證書中的公鑰的確是源服務器的了。

1、認證所有人和公鑰的關係

2、避免中間人攻擊

3、基於第三方的信任

 

爲了保證互聯網上電子交易及支付的安全性,保密性等,防範交易及支付過程中的欺詐行爲,必須在網上建立一種信任機制。這就要求參加電子商務的買方和賣方都必須擁有合法的身份,並且在網上能夠有效無誤的被進行驗證。  

數字證書可用於:發送安全電子郵件、訪問安全站點、網上證券交易、網上招標採購、網上辦公、網上保險、網上稅務、網上籤約和網上銀行等安全電子事務處理和安全電子交易活動。

數字證書綁定了公鑰及其持有者的真實身份,它類似於現實生活中的居民身份證,所不同的是數字證書不再是紙質的證照,而是一段含有證書持有者身份信息並經過認證中心審覈簽發的電子數據,可以更加方便靈活地運用在電子商務和電子政務中。
 

HTTPS

SSL證書是用在HTTPS下的數字證書,它也是由可信的CA來頒發,不同於其他數字證書,它不是用來驗證客戶端的身份,而是驗證服務器的身份。目的是建立瀏覽器和服務器之間的信任。

例如我現在用瀏覽器去訪問谷歌服務器,就需要建立加密通道,而建立加密通道,首先第一步是要把公鑰傳遞給瀏覽器,這裏特別注意如果傳遞的公鑰在中間過程中被第三方篡改過,那麼就毫無安全性可言了,爲了保證安全,谷歌服務器先去CA申請SSL證書,放到自己的服務器上。這樣我在瀏覽器裏訪問谷歌網址的時候,谷歌服務器會首先向我的瀏覽器發送SSL證書,(注意:各大瀏覽器都已經內置了全球各大CA的證書驗證機制,其底層的原理就是這些瀏覽器它們都擁有各大CA的公鑰,可以驗證證書上CA的簽名,如果證書沒有問題,瀏覽器就可以斷定證書中攜帶過來的公鑰就是谷歌的,此時瀏覽器會生成一個祕鑰,(注意這就是對稱加密的思想)發送給谷歌服務器,這樣瀏覽器就擁有了瀏覽器的加密祕鑰,然後就用對稱加密的思路來和瀏覽器通信了),這樣一個雙向加密的通道就建立了。

對稱加密的加密效率要比非對稱加密的效率高很多。所以,對大量數據進行加密還是首選對稱加密。

加密通信過程中,證書的作用是判斷公鑰所有人。HTTPS通信的整個過程中,同時涉及到了數字簽名和加密通信。還用到了對稱加密和公鑰加密兩種不同的加密方式,是一個比較綜合的知識點了。 

免費的SSL 證書,對於申請人的身份沒有很嚴格的檢查,所以CA只能保證申請人擁有這個域名和這個服務器,而這個公鑰是跟這個服務器綁定的,究竟申請人是不是一個“好人”,服務器是不是會去幹壞事CA機構也不知道。所以瀏覽器裏用了HTTPS訪問網站,瀏覽器顯示了一個小鎖,也不代表完全可以信任這個網站。


發證機構

CA是大機構的,是權威的,政府的,例如:GlobalSign 機構。區塊鏈去中心化,實現了無CA的證書。

數字證書認證中心(CA)作爲權威的、公正的、可信賴的第三方,其作用是至關重要的。如何判斷數字認證中心公正第三方的地位是權威可信的,國家工業和信息化部以資質合規的方式,陸續30家數字認證中心相關機構頒發了從業資質。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章