[TCP/IP] SSL的通讯原理
2023-02-18 15:41:33 时间
SSL:位于传输层和应用层之间,专门实现在传输之前加密,在接收端给应用层之前解密;使用非对称加密技术
SSL原理
1.客户端与服务端建立连接
2.互相Hello(包含支持的版本、算法;加上随机数)
3.服务端发送公钥
客户端发送公钥(双向验证才需要,单向跳过)
服务端验证客户端公钥(双向验证才需要,单向跳过)
4.客户端验证服务端公钥
5.交换DH参数(如果用DH密钥交换算法)
6.客户端使用公钥生成PreMaster Secret,并发送给服务端(DH根据随机数和参数直接算)
7.服务端使用私钥解密PreMaster Secret,得到对称密钥(DH根据随机数和参数直接算)
8.使用对称密钥通讯
SSL客户端(也是TCP的客户端)在TCP链接建立之后,发出一个ClientHello来发起握手,这个消息里面包含了自己可实现的算法列表和其它一些需要的消息,SSL的服务器端会回应一个ServerHello,这里面确定了这次通信所需要的算法,然后发过去自己的证书(里面包含了身份和自己的公钥)。Client在收到这个消息后会生成一个秘密消息,用SSL服务器的公钥加密后传过去,SSL服务器端用自己的私钥解密后,会话密钥协商成功,双方可以用同一份会话密钥来通信了。
TLS(传输层安全)是更为安全的升级版 SSL,TLS是升级版的SSL,但是还有按照传统称为了SSL
相关文章
- ASP.NET 访问共享文件夹
- 一首老歌
- ASP.NET 5 WebApi 返回 HttpResponseMessage
- EntityFramework 7 Migrations 迁移命令
- EntityFramework 外键值映射
- 读书记录(持续更新...)
- ASP.NET Web API 创建帮助页
- EF Code First 主键对应多个外键
- 【记录】ASP.NET MVC MapRoute .htm 不起作用
- EntityFramework 7 Left Join Where is error(Test record)
- 写点东西来吐槽一下自己,真是无语了。
- EntityFramework 分页问题探讨之 OrderBy
- ASP.NET MVC Web API Post FromBody(Web API 如何正确 Post)
- 【记录】Install-Package : “Unity”已拥有为“CommonServiceLocator”定义的依赖项。
- 【记录】VS2012新建MVC3/MVC4项目时,报:此模板尝试加载组件程序集“NuGet.VisualStudio.Interop...”
- II7.0 发布 MVC 4.0 三个小问题记录
- position:fixed和scroll实现div浮动【示例】
- 小菜学习Winform(五)窗体间传递数据
- 基于Lumisoft.NET组件的SMTP账号登陆检测
- 基于DevExpress开发的GridView如何实现一列显示不同的控件类型