网站程可以自己做吗,秦皇岛网站开发费用,二维码生成器软件下载,市城乡规划建设局网站HTTPS单向认证
HTTPS在单向认证传输的过程中会涉及到三个密钥#xff1a;
服务端的公钥和私钥#xff0c;用来进行非对称加密交换密钥
客户端生成的随机密钥#xff0c;用来进行对称加密传输数据 认证过程
1.客户端向服务器发起HTTPS请求#xff0c;连接到服务器的443端…HTTPS单向认证
HTTPS在单向认证传输的过程中会涉及到三个密钥
服务端的公钥和私钥用来进行非对称加密交换密钥
客户端生成的随机密钥用来进行对称加密传输数据 认证过程
1.客户端向服务器发起HTTPS请求连接到服务器的443端口
2.服务器将自己的CA证书发送给客户端证书中包含如下信息 公钥密钥对中的公钥发送给客户端而私钥只有服务端知道 持有者信息 证书认证机构CA的信息 CA 对这份文件的数字签名及使用的算法 证书有效期 还有一些其他额外信息 3.客户端收到服务器端的CA证书之后会对证书进行检查验证其合法性注①如果证书合法客户端随机产生一个密钥然后用证书中的公钥加密这个随机密钥发送给服务端这里交换密钥的过程是使用公私钥对进行非对称加密传输
4.服务器接收到客户端发来的加密密钥后用自己的私钥进行非对称解密获得客户端密钥然后用客户端密钥对数据进行对称加密进行传输
5.客户端收到服务端发送来的加密数据用客户端密钥对其进行对称解密得到服务器发送的数据整个HTTPS传输完成交换密钥之后的传输过程为对称加密传输
借网上的图 HTTPS双向认证
HTTPS在单向认证传输的过程中会涉及到三个密钥
服务端的公钥和私钥用来进行非对称加密交换密钥
客户端的公钥和私钥用来进行非对称加密协商加密方式
客户端生成的随机密钥用来进行对称加密传输数据
认证过程
1.客户端向服务器发起HTTPS请求连接到服务器的443端口
2.服务器将自己的CA证书发送给客户端证书中包含信息与单项认证一致
3.客户端验证CA证书合法性获得服务端公钥
4.客户端将自己的客户端证书发送给服务端证书中包含客户端公钥
5.服务端接收到客户端证书获得客户端公钥
6.客户端发送自己支持的对称加密方案给服务端让服务端从中选择
7.服务端选择一个加密方案后将该加密方案使用客户端公钥加密后返回给客户端
8.客户端接收到加密后的加密方案后使用客户端私钥解密获得服务端选择的加密方案
9.客户端用服务端公钥加密客户端随机产生的一个密钥发送给服务端
10.服务端接收后使用服务端私钥解密加密后的密钥协商交换完成
11.双方使用客户端产生的密钥进行数据加密传输对称加密
借网上的图 双向认证和单项认证的区别
双向认证中的以下几步
4.客户端将自己的客户端证书发送给服务端证书中包含客户端公钥
5.服务端接收到客户端证书获得客户端公钥
6.客户端发送自己支持的对称加密方案给服务端让服务端从中选择
7.服务端选择一个加密方案后将该加密方案使用客户端公钥加密后返回给客户端
8.客户端接收到加密后的加密方案后使用客户端私钥解密获得服务端选择的加密方案
这一部分是服务端验证客户端证书使用客户端公钥加密选择的加密方案发送给客户端这一过程和单项认证的流程一样保证了所选择的加密方案是只能被客户端解开的这一过程是协商加密方案的过程其他认证过程与单向认证一致。
关于客户端验证服务端CA证书合法性
CA 机构
为了让服务端的公钥被大家信任就产生了这样一种机构Certificate Authority——证书认证机构CA机构必须是具有极高可信度的以保证签发的证书也是可信的
客户端验证CA证书合法性
客户端的证书管理目录中会存在一些操作系统默认的受信任的根证书颁发机构例如下图中这些 客户端也可以自己添加一些机构进去例如使用BurpSuite进行抓包就需要自己添加PortSwigger CA为受信任的跟证书颁发机构 这样在服务端向客户端返回证书之后客户端可以根据服务端证书是否由受信任的根证书颁发机构颁发的证书来验证CA证书是否合法。
但并不是所有的证书都是由根证书颁发机构来颁发的相反大多数证书是层级颁发的其中验证流程是层级验证是否可信以我个人博客的证书来举例 证书颁发者是R3但是我的证书管理目录中并没有这个机构那么客户端会向上一层验证R3这个中间证书的颁发机构是否可信。 R3的颁发机构为ISRG Root X1此时客户端在受信任的根证书颁发机构中可以找到这个机构那么就可以认证此证书为可信证书。 以上就是客户端验证服务端CA证书是否可信的大致流程相应的当我设置浏览器上级代理为BurpSuite时那么客户端浏览器认为BurpSuite就是服务端认证的证书就会变成。 而我已经将PortSwigger CA添加至我的受信任的根证书颁发机构目录中所以浏览器也会认为证书是可信的这也是为什么使用Burp抓包前需要先配置添加证书然后BurpSuite再伪装成客户端与真正的服务端进行通讯再将接收到的数据返回给真正的客户端从而起到了代理的作用。
APP的HTTPS双向认证防止抓包
在app抓包中使用了https双向认证的app在验证服务端时Burp可以伪造成服务端与app进行通讯但是在Burp伪造成客户端时服务端要求客户端提供客户端自己的CA证书但是此时BurpSuite伪造的客户端CA证书服务端是不认的因为app将证书内置在了app内部作为客户端证书所以可以通过逆向app程序获得CA证书再将app中的CA证书导入到Burp中即可来突破https双向认证防止抓包的限制 总结
理解HTTPS协议的认证流程可以增加对安全的理解HTTPS认证的过程核心思想与Kerberos协议的认证也是互通的是具有相似性的。
网络安全学习资源分享:
给大家分享一份全套的网络安全学习资料给那些想学习 网络安全的小伙伴们一点帮助
对于从来没有接触过网络安全的同学我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线大家跟着这个大的方向学习准没问题。
因篇幅有限仅展示部分资料朋友们如果有需要全套《网络安全入门进阶学习资源包》需要点击下方链接即可前往获取
读者福利 | CSDN大礼包《网络安全入门进阶学习资源包》免费分享安全链接放心点击 同时每个成长路线对应的板块都有配套的视频提供 大厂面试题 视频配套资料国内外网安书籍、文档
当然除了有配套的视频同时也为大家整理了各种文档和书籍资料 所有资料共282G朋友们如果有需要全套《网络安全入门进阶学习资源包》可以扫描下方二维码或链接免费领取~
读者福利 | CSDN大礼包《网络安全入门进阶学习资源包》免费分享安全链接放心点击 特别声明
此教程为纯技术分享本教程的目的决不是为那些怀有不良动机的人提供及技术支持也不承担因为技术被滥用所产生的连带责任本教程的目的在于最大限度地唤醒大家对网络安全的重视并采取相应的安全措施从而减少由网络安全而带来的经济损失。