HTTPS中CA证书的签发及使用过程

简单来讲,HTTPS (Secure Hypertext Transfer Protocol)安全超文本传输协议就是安全的HTTP,我们知道HTTP是运行在TCP层之上的,HTTPS在HTTP层和TCP层之间加了一个SSL层,SSL向上提供加密和解密的服务,对HTTP比较透明,这样也便于服务器和客户端的实现以及升级。

HTTP是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议。HTTP是采用明文形式进行数据传输,极易被不法份子窃取和篡改。

HTTPS中CA证书的签发及使用过程

HTTPS中CA证书的签发及使用过程

HTTPS为什么安全?

HTTPS安全是由一套安全机制来保证的,主要包含这4个特性:机密性、完整性、真实性和不可否认性。 

机密性是指传输的数据是采用Session Key(会话密钥)加密的,在网络上是看不到明文的。

完整性是指为了避免网络中传输的数据被非法篡改,使用MAC算法来保证消息的完整性。

真实性是指通信的对方是可信的,利用了PKI(Public Key Infrastructure 即『公钥基础设施』)来保证公钥的真实性。

不可否认性是这个消息就是你给我发的,无法伪装和否认,是因为使用了签名的技术来保证的。

2,TLS/SSL

TLS/SSL的功能实现主要依赖于三类基本算法散列(哈希)函数 Hash对称加密非对称加密,其利用非对称加密实现身份认证和密钥协商,对称加密算法采用协商的密钥对数据加密,基于散列(哈希)函数验证信息的完整性。

HTTPS中CA证书的签发及使用过程

散列函数Hash

  常见的有 MD5、SHA1、SHA256,该类函数特点是函数单向不可逆、对输入非常敏感、输出长度固定,针对数据的任何修改都会改变散列函数的结果,用于防止信息篡改并验证数据的完整性;
  在信息传输过程中,散列函数不能单独实现信息防篡改,因为明文传输,中间人可以修改信息之后重新计算信息摘要,因此需要对传输的信息以及信息摘要进行加密;

对称加密和非对称加密

HTTPS中CA证书的签发及使用过程

对称加密是一把密钥,这把密钥可以加密明文,也可以解密加密后的密文,常见的对称加密算法有AES、DES、RC4,目前最常用的是AES。

非对称加密是两把密钥,分别是公钥和私钥,公钥加密的密文只有相对应的私钥才能解密,私钥加密的内容也只有相对应的公钥才能解密,其中公钥是公开的,私钥是自己保存,不能公开,常见的非对称加密算法有RSA和ECC(椭圆曲线算法)。

SSL结合了这两种加密算法的优点,通过非对称加密来协商对称加密的密钥,握手成功之后便可使用对称加密来做加密通信对于RSA来说,客户端是用RSA的公钥把预主密钥加密后传给服务器,服务器再用私钥来解密,双方再通过相同的算法来生成会话密钥,之后的应用层数据就可以通过会话密钥来加密通信。

签名

SSL中还有一个使用非对称加密的地方就是签名,签名的目的是让对方相信这个数据是我发送的,而不是其他人发送的。

HTTPS中CA证书的签发及使用过程

密钥安全强度与性能对比

加密之后的数据破解难度就体现在密钥的长度上,密钥越长,破解难度也越大,但是运算的时间也越长,性能也就越差。相同安全强度下,对称密钥长度在最短,ECC次之,RSA密钥长度则最长。

目前比较常用的密钥长度是:对称密钥128位、ECC 256位、RSA 2048位。

HTTPS中CA证书的签发及使用过程

RSA和ECC在SSL中更多的是用来签名,通过测试发现,ECC 的签名性能比RSA好很多,但是RSA的验签性能比ECC更好,所以RSA更适合于验证签名频繁而签名频度较低的场景,ECC更适合于签名频繁的场景,在SSL场景中,ECC算法性能更好。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwgwjx.html