我要實現:數據從一個app傳到另一個app。
防止兩件事的發生:
1.傳輸的過程中,某個環節,數據被截取了. 針對此,我們用SSL/TLS協議4次握手的方法來規避。
2.傳輸的結果上,數據內容被篡改。針對此,我們用加密的方式來規避。
1.https,安全傳輸,對稱加密與非對稱加密
1.1 網絡傳輸,我們一般用https.
https=頭+體;
非對稱加密:頭,交換證書(頭url ieagent之類的);加密解密祕鑰不同
對稱加密: 體,數據包;加密解密祕鑰相同
過程:app->server 443端口 得到加密算法
app->server 80端口 得到數據或者叫服務器返回數據
1.2公鑰私鑰
公鑰:解密,不傳,不能加密,兩邊都有。
私鑰:加密。
過程:算法 、數據是否被攔截。最好的方法:不傳算法。
2.SSL/TLS協議4次握手
針對於過程中數據容易被截取的問題,一般我們通過SSL/TLS協議的4次握手來解決.
2.1SSL/TLS
SSL已經過時,現在一般用TLS。
2.2過程
2.3交換的信息
a)數字證書
b)三個隨機數
c)加密通信協議
其實數據包在傳輸過程中是解不開的。
3.CA(certificate Authority)
CA是負責簽發證書、認證證書、管理已頒發證書的機關。制定政策和具體步驟來驗證、識別用戶身份,並對用戶證書進行簽名,保證證書持有者的身份和公鑰的擁有權。
4.抓包工具
https://www.charlesproxy.com/latest-release/