计算机网络 https安全

参考博客:
深入HTTPS系列
https://www.jianshu.com/p/a677fecec927
数字证书PKI原理
https://cshihong.github.io/2019/04/15/%E6%95%B0%E5%AD%97%E8%AF%81%E4%B9%A6PKI%E5%8E%9F%E7%90%86/
HTTPS为什么安全 &分析 HTTPS 连接建立全过程
https://www.jianshu.com/p/0d8575b132a8
图解 HTTPS
https://github.com/youngwind/blog/issues/108
SSL/TLS协议运行机制的概述
http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html
一文读懂对称加密算法、非对称加密算法和 Hash 算法
https://www.chainnews.com/articles/222021126804.htm
Https单向认证和双向认证
https://blog.csdn.net/duanbokan/article/details/50847612
扯一扯HTTPS单向认证、双向认证、抓包原理、反抓包策略
https://juejin.im/post/5c9cbf1df265da60f6731f0a
HTTPS实战之单向验证和双向验证
https://mp.weixin.qq.com/s/UiGEzXoCn3F66NRz_T9crA
苹果核 - Android App 安全的HTTPS 通信
http://pingguohe.net/2016/02/26/Android-App-secure-ssl.html
Java SSL 证书细节
https://www.jianshu.com/p/5fcc6a219c8b
Difference between KeyStore and KeyManager/TrustManager
https://stackoverflow.com/questions/13997419/difference-between-keystore-and-keymanager-trustmanager

对这块内容的学习源于项目中安全性的讨论时自己提了一个低级问题:md5公钥。。。之前自己对加密方法、签名、https不够深入,项目中要升级安全性,学习这块内容刻不容缓了,同时也很惭愧,很多知识连知其然都没有做到,更不要提知其所以然了。。学习技术如果只是浅尝辄止,不纵向横向展开学习,很难有所提高,所以,要让自己离开学习的舒适区,进入“衣带渐宽终不悔”的区域才行啊

双向认证处的逻辑还待补充

对称加密

AES DES
使用同一个密钥进行数据的加密、解密;可逆
优点:运算速度快
缺点:密钥需要分发给数据的加密方和解密方,易泄漏

非对称加密

RSA
由公钥和私钥组成;可逆
优点:解决对称加密的分发问题
缺点:运算速度远远慢于对称加密

公钥:由客户端保存 允许公开

  • 加密传输信息
  • 对签名进行解密

私钥:有服务端保存 不允许公开

  • 解密传输信息
  • 签名

哈希算法

md5 sha1
不可逆,一般用于数据完整性的校验、数据是否被篡改的校验
通过hash算法对目标信息生成一段特定长度的唯一的哈希值,通过此哈希值无法推导出目标信息

数字签名

哈希算法+非对称加密
在这里插入图片描述

https验证过程

对称加密+非对称加密+哈希算法
在这里插入图片描述
客户端使用CA公钥解密后验证数字证书:

  • 验证证书是否过期
  • 颁发证书的机构是否可靠
  • 证书中的公钥是否能正确解开证书中的数字签名
  • 证书中的域名是否匹配目标域名

单向验证

只有客户端对服务端下发的数字证书的校验

多应用于web应用,用户数目广泛

为什么需要对服务端下发的数字证书校验?
如果在客户端和服务端之前存在中间人,且如果中间人也拥有CA证书,客户端在发起ssl请求时,被中间人截获,中间人将自己的CA证书返回给客户端,如果客户端不做证书中域名与目标域名的校验,则会信任中间人的CA证书,对称加密的私钥安全性无法保证,则之后数据传输的安全性也无法得到保证。

双向验证

既有客户端对服务端下发的数字证书的校验,也有服务端对客户端上传证书的校验

多应用于金融项目,安全级别高

两个证书:

  • 服务端下发的数字证书:CA机构认证
  • 客户端上传的证书:不需要CA机构认证,需要与服务端约定认证规则

相关名词:

  • X509 是密码学里公钥证书的格式标准,包含公钥、身份信息(组织或个人信息/主机名)和签名信息(自签名还是CA签名)等信息,是一套格式标准。
  • KeyManager 用于在客户端请求时向服务端发送证书
  • TrustManager
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值