http協議:五 (1)https是什么?ssl/tls又是什么?


HTTP 明文不安全,什么樣的通信過程才是安全的?

通信過程具備四個特性就可以認為是安全的:機密性、完整性、身份認證、不可否認

機密性:數據保密,只能可信的人訪問,對其他人是不可見的秘密(對稱加密算法)

完整性:數據在傳輸過程中沒有被篡改,不多不少,完完整整,保持原狀(摘要算法)

身份認證:確認對方的真實身份,保證消息只能發給可信的人(如果通信時另一方是假冒的網站,那么數據再保密也沒有用,黑客完全可以使用冒充的身份“套”出各種信息,加密和沒加密一樣)、(ca證書)

不可否認:不可抵賴,不能否認已經發生過的行為(非對稱加密算法)

HTTPS 名字里的“S”,它把 HTTP 下層的傳輸協議由 TCP/IP 換成了 SSL/TLS,由“HTTP over TCP/IP”變成了“HTTP over SSL/TLS”,讓 HTTP 運行在了安全的 SSL/TLS 協議上(可參考第 4 講和第 5 講),收發報文不再使用 Socket API,而是調用專門的安全接口

 

 HTTPS:即HTTP over SSL/TLS,用來解決HTTP明文傳輸導致的不安全問題。流程大致為:
使用對稱加密算法加解密報文,保證機密性;使用摘要算法保證數據完整性;使用證書CA來進行身份認證;而不可否認則由非對稱加密算法來實現。由於非對稱加密算法耗時比對稱加密算法長,所以用非對稱加密算法來加解密給報文加密的對稱算法的秘鑰:即使用公鑰對對稱加密算法秘鑰進行加密,私鑰用來相應地解密。

 

客戶端和服務器都支持非常多的密碼套件,而最后協商選定的是“ECDHE-RSA-AES256-GCM-SHA384”

基本的形式是“密鑰交換算法 + 簽名算法 + 對稱加密算法 + 摘要算法”,

“握手時使用 ECDHE 算法進行密鑰交換,用 RSA 簽名和身份認證,握手后的通信使用 AES 對稱算法,密鑰長度 256 位,分組模式是 GCM,摘要算法 SHA384 用於消息認證和產生隨機數。”

 

1、因為 HTTP 是明文傳輸,所以不安全,容易被黑客竊聽或篡改;

2、通信安全必須同時具備機密性、完整性、身份認證和不可否認這四個特性;

3、HTTPS 的語法、語義仍然是 HTTP,但把下層的協議由 TCP/IP 換成了 SSL/TLS;

4、SSL/TLS 是信息安全領域中的權威標准,采用多種先進的加密技術保證通信安全;

5、OpenSSL 是著名的開源密碼學工具包,是 SSL/TLS 的具體實現。

 

問題:

1、你能說出 HTTPS 與 HTTP 有哪些區別嗎?

HTTPS相對於HTTP具有機密性,完整性,身份認證和不可否認的特性,HTTPS是HTTP over SSL/TLS,HTTP> HTTP over TCP/IP

明文 加密  https 可以鑒別網絡安全

 

2、你知道有哪些方法能夠實現機密性、完整性等安全特性呢?

機密性由對稱加密AES保證,完整性由SHA384摘要算法保證,身份認證和不可否認由RSA非對稱加密保證

機密性主要用對稱加密實現,非對稱加密雖然也可以,但是效率太低,不實用。

 

3、之前調用第三方的支付走https協議都需要本地配置一個證書。為啥最近有個項目也是用的https協議(url里會放token)。直接和http一樣調用就好了,不需要本地配置證書了呢?

回復:

本地證書是用來做雙向認證的,服務器用客戶端的證書來驗證客戶端的證書。
通常我們上網是單向認證,只驗證服務器的身份,客戶端(也就是用戶)的身份不用證書驗證。

 

4、我們現在正在申請SSL證書,SSL證書有專門的機構頒發,文中老師提到HTTPS能夠鑒別危險網站,防止黑客篡改,這些具體是怎么做到的呢?由專門機構頒發的原因是什么?

回復:

如果網站是http而不是https,那么瀏覽器就會認為網站不安全,有風險。
如果證書內容不完善,或者被列入了黑名單,那么瀏覽器也可以提示用戶有危險。
這些的關鍵都是證書,用證書里的信息,來驗證網站的有效性、真實性。
因為證書用來證明網站的身份,就像身份證、學位證一樣,如果隨便頒發,那么它的可靠性就得不到保證,所以必須要由指定信任的專門機構來頒發,由ca來“背書”,保證證書和它關聯的網站是安全可靠的。

 

5、HTTPS能夠鑒別危險的網站?這個僅僅從瀏覽器彈出不安全的提示來說的嘛?或者說怎么個鑒別法?網站是否真實也無法驗證。加了https的網站也有可能是釣魚網站吧?也沒法驗證啊?

回復:
1.如果網站的證書不可信(過期、失效、被廢除、偽造),那么就可以說明網站是不安全的,而http不能對網站有任何的認證措施。
2.證書有dv、ov、ev三種,能從ca的層面證明網站的所有者。
3.當然,如果網站故意作惡,https也無法制止,它只能證明網站確實是如證書所聲明的,不是假冒的。

 

6、 https能有效防止抓包然后篡改報文數據,防止xxs攻擊嗎?

回復:

https傳輸的內容是加密的,所以抓包后看不到明文,是無法竄改數據的。
但xss屬於內容攻擊,報文本身是合法的,所以它不能防止。
https只能保證數據傳輸安全,但在鏈接的兩端不能提供保護

 

7、“收發報文不再使用 Socket API,而是調用專門的安全接口。”這個安全接口是什么呢?

回復:

可以看一下https的協議棧,它的下面還是tcp/ip。
拿OpenSSL來說,它提供了一系列的接口函數,比如SSL_read、SSL_write,加密后封裝成tls記錄,再交給tcp傳輸。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM