HTTPS 基礎知識(密鑰、對稱加密、非對稱加密、數字簽名、數字證書)

本篇文章首先介紹什么是對稱加密、非對稱加密、數字簽名、HASH 等相關概念。

前言

為什么有加密學、加密算法這個東西的出現那 ...
原因很簡單隱私 ?? 、秘密不想讓其他人知道,涉及到個人隱私、國家利益、戰爭的原因所以把重要信息加密,讓其他攔截到的人看不懂。先舉個例子說明一下什么是密鑰、加密算法這些關鍵詞后面會用到。

古典算法 愷撒密碼

愷撒密碼的原理是,對于明文的各個字母,根據它在 26 個英文字母表中的位置,按某個固定間隔 n 變換字母,即得到對應的密文。這個固定間隔的數字 n 就是加密密鑰,同時也是解密密鑰。例 CRYPTOGRAPHY 是明文,使用密鑰 n = 3,加密過程如圖所示:

明文: C R Y P T O G R A P H Y
| | |
| |................. | 密鑰:n = 3
| | |
密文: F U B S W R J U D S K B

明文的第一個字母 C 在字母表中的位置設為 1,以 n = 3 為間隔,往后第 3 個字母是 F,把 C 置換為 F;依此類推,直到把明文中的字母置換完畢,即得到密文。通信的對方得到密文之后,用同樣的密文 n = 3 ,對密文的每個字母,按往前間隔 3 得到的字母進行置換的原則,即可解密得到明文。

通過凱撒密碼我們應該明白這個簡單的加密解密過程了。
秘鑰:n = 3
加密、解密算法:加減 n 的過程

對稱加密

定義

采用單鑰密碼系統的加密方法,同一個密鑰可以同時用作信息的加密和解密,這種加密方法稱為對稱加密,也稱為單密鑰加密

加密過程

我們可以通過上面的 凱撒密碼 這個簡單模型理解對稱加密。

加密過程

常用算法

常見的對稱加密算法有 DES3DESAESBlowfishIDEARC5RC6

對稱加密的優缺點

  • 優點:稱加密算法的優點是算法公開、計算量小、加密速度快、加密效率高。
  • 缺點:對稱加密算法的缺點是在數據傳送前,發送方和接收方必須商定好秘鑰,然后使雙方都能保存好秘鑰。其次如果一方的秘鑰被泄露,那么加密信息也就不安全了。

非對稱加密

定義

非對稱加密算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那么只有用對應的公開密鑰才能解密。

加密過程

下面通過舉例 畫圖來幫助大家理解這個過程。


非對稱加密
  • 通信雙方用戶 A 、B 都會生成一對 公鑰-私鑰 并且把自己的公鑰交給對方。
  • A 用戶給 B 用戶發信息并且用 B 公鑰進行加密。
  • B 用戶收到消息后用自己本地的 B 私鑰 進行解密。

由于 公鑰 加密的數據只有 與其配對的私鑰 才能解開,所以只要用戶 A、B 牢牢的把自己私鑰保存好就可以啦。這就解決了 對稱加密 在網絡安全不可靠情況下的密鑰傳遞及加密通信。

非對稱加密存在風險

右上圖我們可以發現非對稱加密的公鑰是公開的,當壞人用 公鑰 B 模擬一下消息給 B 用戶發信息 "借我 1 萬元" B 用戶用自己的 私鑰B 解密(成功解密),沒毛病給你 1 萬。。。。
這里有個問題就是 B 用戶要確定給我發消息的一定是 A 用戶,那怎么確定那???下面我們來說一下數字簽名。

數字簽名

定義

數字簽名是非對稱密鑰加密技術數字摘要技術的應用(私鑰和公鑰互相可解)。
數字簽名就是將公鑰密碼反過來使用。簽名者將消息用私鑰加密(這是一種反用,因為通常公鑰密碼中私鑰用于解密),然后公布公鑰 。驗證者使用公鑰將加密訊息解密并比對消息。

作用

  1. 確認消息在傳輸過程中沒有丟位,沒被篡改(完整性)
  2. 確認消息的發送者是發布公鑰的 Alice(認證)
  3. 確認Alice的確發布過該消息(不可否認性)

操作過程

通過用 私鑰 A 對消息進行簽名 ,然后通過 公鑰 A 驗證 后的得到的消息對比解密后的消息一直則確定了這個消息確實是 A 用戶發來的。

簽名過程

摘要算法(HASH)

通過上圖中的簽名可以驗證 發消息者的準確性,但是存在一個問題就是我們的傳輸數據量變大了,這顯然是不合理的。下面我們將用到 摘要算法(HASH)他可以大大減小我們簽名數據的大小。

原理

摘要算法是一個神奇的算法,散列就是通過把一個叫做散列算法的單向數學函數應用于數據,將任意長度的一塊數據轉換為一個定長的、不可逆轉的數字,其長度通常在128~256位之間。所產生的散列值的長度應足夠長,因此使找到兩塊具有相同散列值的數據的機會很少。(可以理解為源文件的指紋

摘要算法具有以下特性

只要源文本不同,計算得到的結果,必然不同(或者說機會很少)。
無法從結果反推出源數據(那是當然的,不然就能量不守恒了)。

常見的摘要算法:

MD5、 SHA-1、MAC、CRC

通過使用 HASH 我們可以很大程度上的減少簽名數據的大小并且可以保證數據的唯一性。

數字證書

現實生活中的證書

在現實生活中,證書顧名思義,就是權限機構頒發的證明。比如英語 6 級證書,就是教育部門頒發給通過了6級考核的個人的證明,證明這個人的英語能力。我們來看一下這個證書的組成:

  • 被證明人:老王
  • 內容:通過了英語六級
  • 蓋章:教育部門的公章或鋼印

當老王用這張證書找工作時,用人單位會通過查看證書的各項內容(尤其是公章),來驗證證書的合法性和老王的能力。在現實生活中經常有假的 6 級證書,這些假證書最重要的就是有一個假公章。現實生活中使用法律法規來約束私刻假公章的行為,但是用人單位可能不能十分準確的判斷公章是真是假。而數字簽字可以來解決該類問題。

數字證書

數字證書就是通過數字簽名實現的數字化的證書,在現實生活中公章可以被偽造,但是在計算數字世界中,數字簽名是沒辦法被偽造的,比如上述證書中,在一個證書文件中寫明了證書內容,頒發證書時,教育部門用他們的私鑰對文件的摘要信息進行簽名,將簽名和證書文件一起發布,這樣就能確保該證書無法被偽造。驗證證書是否合法時,首先用教育部門的公鑰(公鑰是公開的誰都可以獲取到)對簽名進行解密得到一個摘要信息,使用教育部門同樣的摘要算法得到證書的另一個摘要信息,對比兩個摘要信息是否一致就能確定該證書是否合法。在一般的證書組成中部分中,還加入了一些其他信息,比如證書的有效期。

數字證書也有很多的簽發機構,不同的簽發機構簽發的證書,用途也是不一樣的,例如在 Web 訪問中為了防止 Web 內容在網絡中安全傳輸,需要用到的 SSL 證書則需要向幾家公認的機構簽發。這些簽發第三方機構統稱為 CA(Certificate Authority)。

根證書

那么我們如何保證第三方證書的安全行那,那就是需要我們的根證書對他們進行簽發,這是所有的根源了根證書不需要被任何機構簽發了。根證書大部分都是跟著系統一起打包進去的。例如 Android 系統中,則存放在 /system/etc/security/ 目錄下,想要了解看看這篇文章Android 根證書管理與證書驗證。 在訪問網絡的時候我們可以查看這個服務器網站的相關簽發證書機構,如圖。

證書

關于數字證書、數字簽名不明的可以看看這片非常通俗易懂文章 數字簽名、證書是什么?

參考文章:
數字證書的基礎知識
數字簽名是什么?

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,663評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,125評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,506評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,614評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,402評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,934評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,021評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,168評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,690評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,596評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,784評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,288評論 5 357
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,027評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,404評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,662評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,398評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,743評論 2 370