HTTPS原理解析

原理

步驟一

  • 客戶端
    • 行為操作:
      • 生成隨機(jī)數(shù)randoms
      • 加密算法清單
      • 傳輸:randoms,加密算法清單
    • 已有數(shù)據(jù):randoms

步驟二

  • 服務(wù)端
    • 行為操作:

      • 生成隨機(jī)數(shù)randomc
      • 從客戶端提交的加密算法清單選擇加密算法
      • 傳輸:randomc,算法,ca證書(shū)(公鑰,服務(wù)器地址,ca頒布機(jī)構(gòu))
    • 已有數(shù)據(jù):randoms,randomc,ca的秘鑰

步驟三

  • 客戶端
    • 行為操作:
      • ca證書(shū)合法性認(rèn)證:ca證書(shū)頒發(fā),服務(wù)器地址與證書(shū)是否一致
      • pre-master(c):客戶端生成隨機(jī)數(shù)
      • enc-pre-master:利用ca證書(shū)的公鑰加密
      • enc-key(c)協(xié)商密鑰:fun(randoms+randomc+pre-master)
      • hash值(c):隨機(jī)的文本信息通過(guò)hash算法進(jìn)行壓縮加密,獲得hash值
      • 握手消息(c):hash值(c)被enc-key加密獲得握手消息
      • 傳輸:enc-premaster(c),握手消息(c),hash(c)
    • 已有數(shù)據(jù):randoms,randomc,公鑰

步驟四

  • 服務(wù)端
    • 行為操作:
      • pre-master(s):客戶端傳遞的enc-pre-master使用ca證書(shū)密鑰解密,獲得pre-master(s)
      • enc-key(s):計(jì)算服務(wù)端的協(xié)商密鑰func(randoms,randomc, pre-master(s))
      • hash(s):客戶端傳遞的握手信息(c)用enc-key(s)解密,獲得hash(s)
      • hash值比較:hash(c) == hash(s)
      • 握手信息(s):截取一段hash值為hash1(s),利用enc-key(s)加密計(jì)算的握手信息(s)
      • 傳遞信息:hash1(s),握手信息(s)
    • 已有數(shù)據(jù):randoms,randomc,密鑰,hash(s),握手信息(c)

步驟五

  • 客戶端
    • 行為操作:
      • hash1(c):服務(wù)端返回的握手信息(s)使用enc-key(c)解密,獲得hash1(s)
      • hash比較:hash1(1) == hash(2),若相等表明握手成功,后面的數(shù)據(jù)傳輸都使用enc-key來(lái)加密數(shù)據(jù)

整理:

客戶端

  • 隨機(jī)生成:randomc,pre-master,
  • 加密:enc-pre-master=fun(pre-master,公鑰)
  • 計(jì)算enc-key =fun(randomc,randoms,pre-master)
  • 握手信息=fun(hash值,enc-key)

服務(wù)端

  • 隨機(jī)生成:randoms
  • 計(jì)算pre-master:pre-master = fun(enc-pre-master,密鑰)
  • 計(jì)算enc-key = fun(random,randoms,pre-master)
  • 握手信息=fun(hash值,enc-key)

其中pre-master只有一份,且是對(duì)非對(duì)稱(chēng)算法加密后從客戶端傳遞給服務(wù)端,然后通過(guò)隨機(jī)生成的randomc,randoms計(jì)算得到enc-key,接著通過(guò)enc-key對(duì)hash算法處理后的文本進(jìn)行加密及解密來(lái)比較,完成驗(yàn)證工作。

31031f564bf3d4585a26629740fe6524.jpg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容