有关https的SSL加密方式

2,785 阅读3分钟

在了解SSL加密的方式之前我们先了解一下近代加密的方式,

近代的加密方法中加密的方法是公共的,而密钥却是保密的,通过这种方式得以保持加密方法的安全性。

加密和解密都会用到密钥,没有密钥就没法进行加密和解密,反过来说,任何人只要持有密钥就能解密了。如果密钥被攻击者获取,那么加密就失去了意义。

而SSL采用一种叫做公开密钥加密(Public-Key cryptography)的加密处理方式

1、 共享密钥加密的困境

加密和解密同用一个密钥的方式称为共享密钥加密,也被叫做对称加密。

已共享加密的方式加密时必须将钥匙也发给对方,可究竟怎么样才能安全地转交,在互联网上转发密钥时,如果通信被监听那么密钥就可会落入攻击者之手,同时就失去了加密的意义。另外还得设法安全地保管接收到的密钥。

2 使用两把密钥的公开密钥加密

公开密钥加密方式很好地解决了共享密码加密的困难。

公开密钥加密使用一对非对称的密钥。一把叫做私有密钥(private key),另一把叫做public key 。顾名思义,私有密钥不能让任何人知道,而公有密钥则可以随意发布 ,任何人都可以获得。

使用公有钥匙加密方式,发送密文的一方使用对方的公有密钥进行加密处理,对方收到被加密的信息后,在使用自己私有的钥匙进行解密,这种方式,不需要发送用来解密的私钥,也不必担心密钥被攻击者窃听而盗走。

另外,要想根据密文和公开密钥,恢复到信息原文是异常困难的,因为解密加密工程就是对离散对数进行求值,这并非轻而易举的就能办到的,退一步讲,如果能对一个非常大的整数做到快速地因式分解,那么密钥破解还是存在希望的。但是目前的技术来看是不太现实的。

3 HTTPS采用混合加密

https采用共享密钥加密和公开密钥加密两者并用的混合加密机制,若密钥能够实现安全的交换,那么有可能会考虑仅适用公开密钥加密通信。但是公开密钥加密与共享密钥加密相比,其处理速度要慢。

所以充分利用两者的优势,将方法组合起来用来通信,在交换密码环节使用公开密钥加密方式,之后建立通信交换报文阶段则使用共享密钥方式。

但是这样的也有些问题,就是公钥也有可能被拦截替换,又兴趣的话可以看看证明公开密钥正确性的证书这篇文章

总结这篇文章有些抽象阅读数可以画画图,就能很好理解了