面試官:說說http https的區(qū)別,https如何保證安全的?
http https的區(qū)別?
一、傳輸信息安全性不同
1、http協(xié)議:是超文本傳輸協(xié)議,信息是明文傳輸。如果攻擊者截取了Web瀏覽器和網(wǎng)站服務(wù)器之間的傳輸報(bào)文,就可以直接讀懂其中的信息。 2、https協(xié)議:是具有安全性的ssl加密傳輸協(xié)議,為瀏覽器和服務(wù)器之間的通信加密,確保數(shù)據(jù)傳輸?shù)陌踩?/section>
二、連接方式不同
1、http協(xié)議:http的連接很簡(jiǎn)單,是無狀態(tài)的。 2、https協(xié)議:是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議。
三、端口不同
1、http協(xié)議:使用的端口是80。 2、https協(xié)議:使用的端口是443.
四、證書申請(qǐng)方式不同
1、http協(xié)議:免費(fèi)申請(qǐng)。2、https協(xié)議:需要到ca申請(qǐng)證書,一般免費(fèi)證書很少,需要交費(fèi)。傳輸信息安全性不同、連接方式不同、端口不同、證書申請(qǐng)方式不同
一、傳輸信息安全性不同
1、http協(xié)議:是超文本傳輸協(xié)議,信息是明文傳輸。如果攻擊者截取了Web瀏覽器和網(wǎng)站服務(wù)器之間的傳輸報(bào)文,就可以直接讀懂其中的信息。 2、https協(xié)議:是具有安全性的ssl加密傳輸協(xié)議,為瀏覽器和服務(wù)器之間的通信加密,確保數(shù)據(jù)傳輸?shù)陌踩?/section>
二、連接方式不同
1、http協(xié)議:http的連接很簡(jiǎn)單,是無狀態(tài)的。 2、https協(xié)議:是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議。
三、端口不同
1、http協(xié)議:使用的端口是80。 2、https協(xié)議:使用的端口是443.
https做了什么保證它是安全的?
使用,SSL/TLS協(xié)議來保證https的安全。
SSL/TLS協(xié)議的基本思路是采用公鑰加密法,也就是說,客戶端先向服務(wù)器端索要公鑰,然后用公鑰加密信息,服務(wù)器收到密文后,用自己的私鑰解密。
(1)客戶端向服務(wù)器端發(fā)起SSL連接請(qǐng)求; (2) 服務(wù)器把公鑰發(fā)送給客戶端,并且服務(wù)器端保存著唯一的私鑰 (3)客戶端用公鑰對(duì)雙方通信的對(duì)稱秘鑰進(jìn)行加密,并發(fā)送給服務(wù)器端 (4)服務(wù)器利用自己唯一的私鑰對(duì)客戶端發(fā)來的對(duì)稱秘鑰進(jìn)行解密, (5)進(jìn)行數(shù)據(jù)傳輸,服務(wù)器和客戶端雙方用公有的相同的對(duì)稱秘鑰對(duì)數(shù)據(jù)進(jìn)行加密解密,可以保證在數(shù)據(jù)收發(fā)過程中的安全,即是第三方獲得數(shù)據(jù)包,也無法對(duì)其進(jìn)行加密,解密和篡改。
如何保證公鑰不被篡改?
將公鑰放在數(shù)字證書中。只要證書是可信的,公鑰就是可信的。
公鑰加密計(jì)算量太大,如何減少耗用的時(shí)間?
每一次對(duì)話(session),客戶端和服務(wù)器端都生成一個(gè)”對(duì)話密鑰”(session key),用它來加密信息。
由于”對(duì)話密鑰”是對(duì)稱加密,所以運(yùn)算速度非常快,而服務(wù)器公鑰只用于加密”對(duì)話密鑰”本身,這樣就減少了加密運(yùn)算的消耗時(shí)間。
(1) 客戶端向服務(wù)器端索要并驗(yàn)證公鑰。 (2) 雙方協(xié)商生成”對(duì)話密鑰”。 (3) 雙方采用”對(duì)話密鑰”進(jìn)行加密通信。上面過程的前兩步,又稱為”握手階段”(handshake)。
參考資料
https://zhuanlan.zhihu.com/p/354021419 https://segmentfault.com/a/1190000039683023 http://blog.itblood.com/1116.html
推薦閱讀: 一款開源的Java完整停車場(chǎng)系統(tǒng)項(xiàng)目(附源碼) MySQL與Redis緩存的同步方案 基于Spring+SpringMVC+Mybatis分布式敏捷開發(fā)系統(tǒng) 不要再滿屏寫 try...catch 了!這個(gè)更香! 最近面試BAT,整理一份面試資料《Java面試BAT通關(guān)手冊(cè)》,覆蓋了Java核心技術(shù)、JVM、Java并發(fā)、SSM、微服務(wù)、數(shù)據(jù)庫、數(shù)據(jù)結(jié)構(gòu)等等。 獲取方式:關(guān)注公眾號(hào)并回復(fù) java 領(lǐng)取,更多內(nèi)容陸續(xù)奉上。 明天見(??ω??)??
評(píng)論
圖片
表情
