深入理解https進行SSL單向認證的全過程
HTTPS是如何進行SSL單向認證的?帶著這個問題我們來了解HTTPS原理:
HTTPS是工作於SSL層之上的HTTP協議,SSL(安全套接層)工作於TCP層之上,嚮應用層提供了兩個基本安全服務:認證和保密。SSL有三個子協議:握手協議,記錄協議和警報協議。其中握手協議實現伺服器與客戶端的認證與金鑰交換,記錄協議進行資料加密並保證資料的完整性,警報協議則規定了錯誤型別和處理機制。
客戶端通訊過程
1.客戶端向伺服器請求HTTPS連線
2.伺服器確認並返回證照(證照含有公鑰)
3.客戶端驗證伺服器發來的證照
4.確認成功,生成隨機金鑰A,用公鑰進行加密後發給伺服器
5.伺服器用私鑰解密出隨機金鑰A,併發出確認,握手完成
使用握手時協商好的共享金鑰進行保密通訊
使用握手時協商好的共享金鑰進行保密通訊
單向認證 SSL 協議不需要客戶擁有CA證照。雙方具體的通訊內容,是加過密的資料,如果有第三方攻擊,獲得的只是加密的資料,第三方要獲得有用的資訊,就需要對加密的資料進行解密,這時候的安全就依賴於密碼方案的安全。而幸運的是,目前所用的密碼方案,只要通訊金鑰長度足夠的長,就足夠的安全。這也是我們強調要求使用128位加密通訊的原因。
一般Web應用都是採用SSL單向認證的,原因很簡單,使用者數目廣泛,且無需在通訊層對使用者身份進行驗證,一般都在應用邏輯層來保證使用者的合法登入。但如果是企業應用對接,情況就不一樣,可能會要求對客戶端(相對而言)做身份驗證。這時就需要做SSL雙向認證。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70017559/viewspace-2903088/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- nginx配置ssl加密(單/雙向認證、部分https) – HTTPS SSL 教程Nginx加密HTTP
- Windows下IIS部署自建CA證書進行雙向認證的過程Windows
- https雙向認證HTTP
- HTTPS連線建立過程(單向&雙向)HTTP
- Openssl 設定 雙向認證證書的過程
- 聊一聊HTTPS雙向認證的簡單應用HTTP
- Jmeter進行HTTPS介面壓測及SSL證書驗證JMeterHTTP
- 扯一扯HTTPS單向認證、雙向認證、抓包原理、反抓包策略HTTP
- Keytool配置 Tomcat的HTTPS雙向認證TomcatHTTP
- NodeJS Https HSM雙向認證實現NodeJSHTTP
- 關於HttpClient繞過SSL認證以及NTLM認證HTTPclient
- HTTPS的SSL證書配置HTTP
- SSL認證 request.getScheme() 獲取不到https的問題SchemeHTTP
- Https雙向認證Android客戶端配置HTTPAndroid客戶端
- 關於SSL證書雙向認證該怎麼操作
- 深入理解Https如何保證通訊安全HTTP
- HTTPS協議詳解(四):TLS/SSL握手過程HTTP協議TLS
- HTTPS加密過程和TLS證書驗證HTTP加密TLS
- phpStudy安裝ssl證照 – HTTPS SSL 教程PHPHTTP
- Tomcat 安裝SSL證書 – HTTPS SSL 教程TomcatHTTP
- SSL證書轉PEM格式 – HTTPS SSL 教程HTTP
- SSL證書格式轉換 – HTTPS SSL 教程HTTP
- SSL證書生成,完成HTTPS驗證HTTP
- Spring security(三)---認證過程Spring
- 一個簡單java程式的執行全過程Java
- 深入理解 iOS App 的啟動過程iOSAPP
- SSL證書安裝指引教程 – HTTPS SSL 教程HTTP
- SSL證書申請問題 – HTTPS SSL 教程HTTP
- Https原理解析及詳細推演過程HTTP
- IdentityServer4 - V4 概念理解及認證授權過程IDEServer
- 本地簽發ssl證書(https)HTTP
- 【翻譯】ES modules:通過漫畫進行深入理解
- 深入理解HTTPS工作原理HTTP
- SpringBoot服務間使用自簽名證書實現https雙向認證Spring BootHTTP
- Spring Security系列之認證過程(六)Spring
- https的通訊過程HTTP
- https加密過程HTTP加密
- 理解 Android 程式啟動之全過程Android