关于SSL的一些总结
HTTPS
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
HTTPS和HTTP的区别
1.https协议需要到ca申请证书,一般免费证书很少,需要交费。
2.http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
3.http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4.http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
https的实现原理
有两种基本的加解密算法类型
1. 对称加密:密钥只有一个,加密解密为同一个密码,且加解密速度快,典型的对称加密算法有DES、AES等;
2. 非对称加密:密钥成对出现(且根据公钥无法推知私钥,根据私钥也无法推知公钥),加密解密使用不同密钥(公钥加密需要私钥解密,私钥加密需要公钥解密),相对对称加密速度较慢,典型的非对称加密算法有RSA、DSA等。
https通信的优点
1. 客户端产生的密钥只有客户端和服务器端能得到;
2. 加密的数据只有客户端和服务器端才能得到明文;
3. 客户端到服务端的通信是安全的。
SSL
SSL介绍
SSL安全套接层协议(Secure Socket Layer)
SSL协议工作的基本流程
1.接通阶段:客户机通过网络向服务器打招呼,服务器回应
2.密码交换阶段:客户机与服务器之间交换双方认可的密码,一般选用RSA密码算法
3.会谈密码阶段:客户机器与服务器间产生彼此交谈的会谈密码
4.检验阶段:客户机检验服务器取得的密码
5.客户认证阶段:服务器验证客户机的可信度
6.结束阶段:客户机与服务器之间相互交换结束的信息
通俗的讲:
1. 首先服务器去CA机构申请一个整证书,这个证书就是非对称加密算法RSA,有公钥和私钥;
2. 客户端手里掌握着对称加密算法AES,DES, 客户端给服务器发送hello消息;
3. 服务器给客户端回复消息hello,并且返回一个服务器掌握的公钥给客户端;
4. 客户端生成一个随机数,这个随机数就是对称加密的密钥,然后把密钥用服务器给的公钥进行非对称加密,加密完成后发送给把结果发送给服务器;
5. 此时服务器得到客户端发送给它的结果,然后用非对称解密,拿到客户端的对称密钥;
6. 客户端发送加密的数据,服务器得到就可以解密.
网友评论