我要实现:数据从一个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过程
![](https://i-blog.csdnimg.cn/blog_migrate/7f002a520d401b9380a0b86d0de5db38.png)
2.3交换的信息
a)数字证书
b)三个随机数
c)加密通信协议
其实数据包在传输过程中是解不开的。
3.CA(certificate Authority)
CA是负责签发证书、认证证书、管理已颁发证书的机关。制定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,保证证书持有者的身份和公钥的拥有权。
4.抓包工具
https://www.charlesproxy.com/latest-release/