日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HTTPS验证流程

發(fā)布時(shí)間:2024/1/18 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HTTPS验证流程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

HTTPS驗(yàn)證流程

1.HTTPS簡介

? 由于HTTP在網(wǎng)絡(luò)中是明文傳輸?shù)?#xff0c;所以數(shù)據(jù)在傳輸過程中很容易被截取,這時(shí)就會有一些加密算法及方式出來,比如對稱加密、非對稱加密等方式,在HTTPS中加密其實(shí)是在TCP和HTTP之間加了一層SSL/TLS協(xié)議用于加密。

2.對稱加密

2.1 對稱加密的工作流程

? 對稱加密其實(shí)就是發(fā)送方和接收方都擁有一把相同的密鑰,發(fā)送方在發(fā)送之前會對數(shù)據(jù)通過密鑰進(jìn)行加密,然后傳輸?shù)浇邮辗?#xff0c;接收方會通過密鑰進(jìn)行解密獲取數(shù)據(jù)。

? 在瀏覽器和服務(wù)器之間交互也是這樣的,服務(wù)端擁有這把密鑰,客戶端需要請求服務(wù)端獲取這個(gè)密鑰,獲取到密鑰之后就會按照對稱密鑰加密流程進(jìn)行工作,以下為正常運(yùn)行過程:

2.2 對稱加密的問題

? 在對稱加密中,瀏覽器需要先向服務(wù)器請求獲取密鑰,在獲取密鑰的過程中就需要傳輸密鑰,而HTTP本身就是銘文的,密鑰就會暴露在網(wǎng)絡(luò)傳輸當(dāng)中,黑客就會截取這個(gè)密鑰竊取數(shù)據(jù)甚至篡改數(shù)據(jù),如下圖:

3.非對稱加密

3.1 非對稱加密的工作流程

? 非對稱加密是有兩個(gè)密鑰,分別是公鑰私鑰,公鑰會暴露在網(wǎng)絡(luò)傳輸當(dāng)中,而私鑰只能存在于發(fā)送方,并且非對稱加密中的加密及解密規(guī)則如下:

  • 私鑰加密,公鑰可以解密
  • 公鑰加密,私鑰可以解密
  • 私鑰加密,私鑰可以解密

【注意】:公鑰加密,公鑰不可以解密

? 在瀏覽器和服務(wù)器中,公鑰和私鑰都在服務(wù)器中,瀏覽器需要先請求服務(wù)器獲取公鑰,服務(wù)器發(fā)送數(shù)據(jù)通過私鑰進(jìn)行加密,瀏覽器通過公鑰進(jìn)行解密獲取數(shù)據(jù)。

3.2 非對稱加密的問題
3.2.1 效率低

? 在非對稱加密中需要使用兩個(gè)密鑰,公鑰和私鑰,在非對稱加密中效率就會變得很低,所以一般會選擇先用非對稱加密傳的形式傳輸對稱加密的密鑰,后面使用對稱加密來傳輸。

3.2.2 不安全

? 在非對稱加密中,服務(wù)器公鑰和服務(wù)器私鑰都存在于服務(wù)器端,所以客戶端先要請求服務(wù)器獲取服務(wù)器公鑰,但是,HTTP是明文傳輸?shù)?/strong>,所以在獲取服務(wù)器公鑰時(shí)會被黑客截取,造成安全問題,如下圖:

4.CA機(jī)構(gòu)

? 在非對稱加密中,安全問題主要是服務(wù)器如何向客戶端傳輸服務(wù)器公鑰,所以就有了CA機(jī)構(gòu),這些機(jī)構(gòu)是被信任的,CA機(jī)構(gòu)也是擁有其CA公鑰及CA私鑰的,并且CA公鑰存在于操作系統(tǒng)內(nèi),即當(dāng)安裝操作系統(tǒng)時(shí)就會帶有CA公鑰,因此會使用CA機(jī)構(gòu)來進(jìn)行非對稱加密的驗(yàn)證,如下圖:

4.1 證書

? 服務(wù)器將自己的服務(wù)器公鑰給CA機(jī)構(gòu),CA機(jī)構(gòu)會使用服務(wù)器公鑰及服務(wù)器信息制作證書,證書中幾個(gè)重要信息如下:

  • 數(shù)字簽名:CA機(jī)構(gòu)使用CA私鑰對服務(wù)器公鑰進(jìn)行加密,生成數(shù)字簽名

  • 摘要:CA機(jī)構(gòu)使用hash算法對服務(wù)器公鑰進(jìn)行加密,生成摘要

  • 哈希算法:生成摘要的哈希算法也保存在證書中

    證書制作完成之后,CA機(jī)構(gòu)會使用CA私鑰對證書進(jìn)行加密,將加密后的證書發(fā)送給服務(wù)器,流程如下圖:

4.2 服務(wù)器和客戶端驗(yàn)證過程

? 有了CA機(jī)構(gòu)后,服務(wù)器就會把服務(wù)器公鑰存在證書中,通過證書進(jìn)行傳輸,客戶端拿到證書之后會對其進(jìn)行驗(yàn)證,驗(yàn)證過程如下:

  • 使用CA公鑰對證書解密,獲取證書中的信息
  • 使用CA公鑰對數(shù)字簽名解密,獲得服務(wù)器公鑰
  • 使用第二步獲得的服務(wù)器公鑰通過哈希算法加密,生成摘要
  • 將第三步的摘要和證書中的摘要進(jìn)行比對驗(yàn)證
  • 驗(yàn)證成功之后,客戶端會隨機(jī)生成字符串(即對稱密鑰),通過服務(wù)器公鑰進(jìn)行加密成密文,發(fā)送給服務(wù)器
  • 服務(wù)器使用服務(wù)器私鑰進(jìn)行解密,獲得對稱密鑰,此后發(fā)送數(shù)據(jù)就是用這個(gè)對稱密鑰加密
  • 5.HTTPS真的安全嗎?

    ? 根據(jù)上圖可以看到最開始訪問的jd.com是一個(gè)http請求,會被重定向到https的一個(gè)網(wǎng)站,那如果在重定向之前攔截這個(gè)請求,然后仿照一個(gè)和京東一模一樣的網(wǎng)站,是不是就可以釣魚了呢?

    【注意】:對于本文的任何意見和建議,歡迎大家在評論區(qū)批評指正。

    總結(jié)

    以上是生活随笔為你收集整理的HTTPS验证流程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。