现在的位置: 首页 > 程序人生 > Linux > 正文
https学习总结
2013年07月12日 Linux, 程序人生 ⁄ 共 930字 暂无评论 ⁄ 被围观 2,028 views+

1、https简介

HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,RFC2818文档中https也称作TLS之上的HTTP。因此加密的详细内容请看SSL。 https所用的端口号是443。见下图:
11111

22222

从上面两张图中可知,https协议是基于SSL协议的。

2、https的实现原理

有两种基本的加解密算法类型:

1)对称加密:密钥只有一个,加密解密为同一个密码,且加解密速度快,典型的对称加密算法有DES、AES等;

2)非对称加密:密钥成对出现(且根据公钥无法推知私钥,根据私钥也无法推知公钥),加密解密使用不同密钥(公钥加密需要私钥解密,私钥加密需要公钥解密),相对对称加密速度较慢,典型的非对称加密算法有RSA、DSA等。

下面看一下https的通信过程:

33333

https通信的优点:

1)客户端产生的密钥只有客户端和服务器端能得到;

2)加密的数据只有客户端和服务器端才能得到明文;

3)客户端到服务端的通信是安全的。

3、服务器验证客户端

如果服务器要求客户的身份认证,服务器必须检验客户证书和签名随机数的合法性,具体的合法性验证过程包括:

①客户的证书使用日期是否有效

②为客户提供证书的CA 是否可靠

③发行CA 的公钥能否正确解开客户证书的发行CA 的数字签名

④检查客户的证书是否在证书废止列表(CRL)中

4、加密

在https的通信过程中,组合使用了公用密钥方式加密和共享密钥方式加密这两种技术。

公用密钥方式要比共享密钥方式慢得多,因此使用公用密钥来完成共享密钥的交换。公用密钥是从证书中获得的。

拿到共享密钥之后,所有的内容之间的通信都会使用共享密钥来进行加密和解密。

公用密钥的作用就是为了安全的交换共享密钥,共享密钥是用来通信内容的加密和解密。这样既确保了通信之间的安全,也确保了加密和解密的效率。

5、SSL的连接

   连接分为两个阶段,即握手和数据传输阶段。

握手阶段对服务器进行认证并确立用于保护数据传输的加密密钥。必须在传输任何应用数据之前完成握手。一旦握手完成,数据就被分成一系列经过保护的记录进行传输。

原创文章,转载请注明: 转载自成长的企鹅

本文链接地址: https学习总结

关于我:成长的企鹅简介

给我留言

留言无头像?


×