成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Https的介紹和使用

testbird / 953人閱讀

摘要:的握手階段是采用的是非對(duì)稱加密。愛麗絲確認(rèn)數(shù)字證書有效,然后生成一個(gè)新的隨機(jī)數(shù),并使用數(shù)字證書中的公鑰,加密這個(gè)隨機(jī)數(shù),發(fā)給鮑勃。愛麗絲和鮑勃根據(jù)約定的加密方法,使用前面的三個(gè)隨機(jī)數(shù),生成對(duì)話密鑰,用來加密接下來的整個(gè)對(duì)話過程。

簡(jiǎn)介

超文本傳輸安全協(xié)議(英語(yǔ):Hypertext Transfer Protocol Secure,縮寫:HTTPS,常稱為HTTP over TLS,HTTP over SSL或HTTP Secure)。
SSL,Secure Sockets Layer 的縮寫,1994年由網(wǎng)景設(shè)計(jì)的,1999 年,互聯(lián)網(wǎng)標(biāo)準(zhǔn)化組織接替網(wǎng)景公司,發(fā)布了 Transport Sockets Layer 即 TSL。
所謂 HTTPS 就是在 TCP 傳輸層和 HTTP 應(yīng)用層之間加入了 TSL/SSL 層,用于加密和解密。

加密

對(duì)稱加密

對(duì)稱加密是一種最簡(jiǎn)答,也最快的加密解密方式。對(duì)稱,即加密和解密都是用的相同的秘鑰。常見的對(duì)稱加密方法有 DES、3DES、AES、RC5、RC6 等。 https 的傳輸階段就是采用對(duì)稱加密的 http 傳輸。

非對(duì)稱加密

加密和解密需要兩個(gè)不同的秘鑰。一般分為公鑰和私鑰,公鑰用于加密,能夠提供數(shù)字簽名的功能,可以任意向外發(fā)布;私鑰只有持有者保管,通過公鑰加密的密文在不安全的網(wǎng)絡(luò)上傳輸,只有私鑰持有者可以解開獲得明文(即使獲得了密文和公鑰,也無法數(shù)以年記的時(shí)間內(nèi)解開)。常見的非對(duì)稱加密算法有 RSA、ElGamal、背包算法、Rabin、迪菲-赫爾曼算法、橢圓曲線加密算法。 https 的握手階段是采用的是非對(duì)稱加密。

數(shù)字證書

wiki定義

用于公開密鑰基礎(chǔ)建設(shè)的電子文件,用來證明公開密鑰擁有者的身份。此文件包含了公鑰信息、擁有者身份信息(主體)、以及數(shù)字證書認(rèn)證機(jī)構(gòu)(發(fā)行者)對(duì)這份文件的數(shù)字簽名,以保證這個(gè)文件的整體內(nèi)容正確無誤。電腦系統(tǒng)或其他用戶可以通過一定的程序核實(shí)證書上的內(nèi)容,包括證書有否過期、數(shù)字簽名是否有效,如果信任簽發(fā)的機(jī)構(gòu),就可以信任證書上的密鑰,憑公鑰加密與擁有者進(jìn)行可靠的通信。

申請(qǐng)數(shù)字證書

服務(wù)端通過非對(duì)稱加密算法生成一對(duì)公鑰和私鑰,向 Certificate Authority 即證書認(rèn)證中心,簡(jiǎn)稱 CA 提供擁有者身份信息和服務(wù)端公鑰,通過后 CA 會(huì)頒發(fā)包含服務(wù)端公鑰,擁有著身份信息和使用 CA 私鑰對(duì)證書內(nèi)容的摘要進(jìn)行加密的密文,即數(shù)據(jù)簽名。

如何確認(rèn)數(shù)字證書有效

驗(yàn)證證書是否有效

客戶端通過查看證書的有效時(shí)間,以及域名等來判斷內(nèi)容是否有效。

驗(yàn)證證書是否可信

客戶端通過預(yù)存的相對(duì)應(yīng)的 CA 根證書的公鑰,對(duì)數(shù)字簽名進(jìn)行解密獲取證書的摘要與通過對(duì)證書內(nèi)容進(jìn)行哈希運(yùn)算得到的摘要進(jìn)行對(duì)比,相等的話則證明數(shù)字證書是該 CA 頒發(fā)的是可信的。不相等,則客戶端會(huì)提示證書不可信。

原理

開始加密通信之前,客戶端和服務(wù)器首先必須建立連接和交換參數(shù),這個(gè)過程叫做握手handshake
假定客戶端叫做愛麗絲,服務(wù)器叫做鮑勃,整個(gè)握手過程可以用下圖說明。

握手階段分成五步。

愛麗絲給出協(xié)議版本號(hào)、一個(gè)客戶端生成的隨機(jī)數(shù)Client random,以及客戶端支持的加密方法。

鮑勃確認(rèn)雙方使用的加密方法,并給出數(shù)字證書、以及一個(gè)服務(wù)器生成的隨機(jī)數(shù)Server random。

愛麗絲確認(rèn)數(shù)字證書有效,然后生成一個(gè)新的隨機(jī)數(shù)Premaster secret,并使用數(shù)字證書中的公鑰,加密這個(gè)隨機(jī)數(shù),發(fā)給鮑勃。

鮑勃使用自己的私鑰,獲取愛麗絲發(fā)來的隨機(jī)數(shù),即Premaster secret。

愛麗絲和鮑勃根據(jù)約定的加密方法,使用前面的三個(gè)隨機(jī)數(shù),生成對(duì)話密鑰 session key,用來加密接下來的整個(gè)對(duì)話過程。

為什么一定要用三個(gè)隨機(jī)數(shù)來生成對(duì)話密鑰,我們來看下面的解釋

不管是客戶端還是服務(wù)器,都需要隨機(jī)數(shù),這樣生成的密鑰才不會(huì)每次都一樣。由于SSL協(xié)議中證書是靜態(tài)的,因此十分有必要引入一種隨機(jī)因素來保證協(xié)商出來的密鑰的隨機(jī)性。

對(duì)于RSA密鑰交換算法來說,Premaster secret本身就是一個(gè)隨機(jī)數(shù),再加上hello消息中的隨機(jī),三個(gè)隨機(jī)數(shù)通過一個(gè)密鑰導(dǎo)出器最終導(dǎo)出一個(gè)對(duì)稱密鑰。
Premaster secret的存在在于SSL協(xié)議不信任每個(gè)主機(jī)都能產(chǎn)生完全隨機(jī)的隨機(jī)數(shù),如果隨機(jī)數(shù)不隨機(jī),那么cPremaster secret就有可能被猜出來,那么僅適用 Premaster secret 作為密鑰就不合適了,因此必須引入新的隨機(jī)因素,那么客戶端和服務(wù)器加上Premaster secret 三個(gè)隨機(jī)數(shù)一同生成的密鑰就不容易被猜出了,一個(gè)偽隨機(jī)可能完全不隨機(jī),可是是三個(gè)偽隨機(jī)就十分接近隨機(jī)了,每增加一個(gè)自由度,隨機(jī)性增加的可不是一。

部署

Let"s Encrypt 是一個(gè)免費(fèi)的,自動(dòng)化的,開放的 CA 機(jī)構(gòu)。通過 certbot ,選擇相應(yīng)的web服務(wù)和服務(wù)器版本,就可以很快的安裝 nginx 的插件和證書。下面以 ubuntu 和 nginx 為例。

安裝源及軟件

$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-nginx 

安裝證書

$ sudo certbot --nginx certonly # 不加 certonly,可以自動(dòng)配置 nginx,省略下一步

配置 NGINX
在相應(yīng)的 server 模塊中加入如下配置

{ 
#省略部分配置...;
listen 443;
ssl on; 
ssl_certificate /path/to/server.crt; # 證書路徑
ssl_certificate_key /path/to/server.key; # 私鑰路徑
}

重新生成證書

$ sudo certbot renew --dry-run

參考

wikipedia https
wikipedia ssl/tsl
SSL/TLS協(xié)議運(yùn)行機(jī)制的概述
圖解SSL/TLS協(xié)議

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/11253.html

相關(guān)文章

  • 超全App 測(cè)試工具大全,收藏這篇就夠了【附帶官網(wǎng)|GitHub地址】

    摘要:三性能測(cè)試工具官網(wǎng)介紹騰訊開源的的隨身調(diào)測(cè)平臺(tái),支持和。官網(wǎng)介紹騰訊游戲部門開發(fā)的移動(dòng)全平臺(tái)性能測(cè)試分析工具平臺(tái)。百度的服務(wù)目前主要為收費(fèi)服務(wù)。 隨著移動(dòng)互聯(lián)網(wǎng)的高速發(fā)展,App 應(yīng)用非?;?,測(cè)試工程師也會(huì)接觸到各種 app 應(yīng)用。除了人工測(cè)試之外,也可以通過一些測(cè)試工具來提高我們的測(cè)試效率...

    MRZYD 評(píng)論0 收藏0
  • 前端每周清單半年盤點(diǎn)之 JavaScript 篇

    摘要:前端每周清單專注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點(diǎn)分為新聞熱點(diǎn)開發(fā)教程工程實(shí)踐深度閱讀開源項(xiàng)目巔峰人生等欄目。背后的故事本文是對(duì)于年之間世界發(fā)生的大事件的詳細(xì)介紹,闡述了從提出到角力到流產(chǎn)的前世今生。 前端每周清單專注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點(diǎn);分為新聞熱點(diǎn)、開發(fā)教程、工程實(shí)踐、深度閱讀、開源項(xiàng)目、巔峰人生等欄目。歡迎...

    Vixb 評(píng)論0 收藏0
  • TiKV 源碼解析系列文章(一)序

    摘要:而源碼解析系列文章則是會(huì)從源碼層面給大家抽絲剝繭,讓大家知道我們內(nèi)部到底是如何實(shí)現(xiàn)的。我們希望通過該源碼解析系列,能讓大家對(duì)有一個(gè)更深刻的理解。 作者:唐劉 TiKV 是一個(gè)支持事務(wù)的分布式 Key-Value 數(shù)據(jù)庫(kù),有很多社區(qū)開發(fā)者基于 TiKV 來開發(fā)自己的應(yīng)用,譬如 titan、tidis。尤其是在 TiKV 成為 CNCF 的 Sandbox 項(xiàng)目之后,吸引了越來越多開發(fā)者的...

    LeviDing 評(píng)論0 收藏0
  • 前端每周清單半年盤點(diǎn)之 CSS 篇

    摘要:前端每周清單專注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點(diǎn)分為新聞熱點(diǎn)開發(fā)教程工程實(shí)踐深度閱讀開源項(xiàng)目巔峰人生等欄目。它能夠?yàn)槲覀兲峁╊愃朴陬A(yù)處理器命名空間等多方面的輔助。 前端每周清單專注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點(diǎn);分為新聞熱點(diǎn)、開發(fā)教程、工程實(shí)踐、深度閱讀、開源項(xiàng)目、巔峰人生等欄目。歡迎關(guān)注【前端之巔】微信公眾號(hào)(ID:f...

    RaoMeng 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<