概述
近代的加密方法中加密算法是公开的,而密钥却是保密的。通过这种方式得以保持加密方法的安全性。
加密和解密都会用到密钥。没有密钥就无法对密码解密,反过来说,任何人只要持有密钥就能解密了。如果密钥被攻击者获得,那加密也就失去了意义。
共享密钥加密技术
加密和解密同用一个密钥的方式称为共享密钥加密
,也被叫做对称密钥加密
。
此种加密技术简单说发送数据的同时,将自己的加密的密码发送给对方,然后对方用我发送过去的密钥进行解密,然而在互联网上转发密钥,如果通信被监听那么密钥就可会落入攻击者之手,同时也就失去了加密的意义。另外还得设法安全地保管接收到的密钥。
用一个生活场景来举个例子:
小智想要快递一份加密盒子发给小霞,小智把盒子上锁,然后把盒子和钥匙一起快递给小霞,那么小红接到快递后,就可以用一起发来的钥匙打开锁上的盒子。
然而,任何人只要有钥匙都能打开盒子,并且快递物流会经过很多的转发站,其中如果有人想要打开盒子,只要截下这个快递就可以了。
公开密钥加密
方式很好地解决了 共享密钥加密
的困难,下面我来介绍一下这种加密方式。
公开密钥加密
公开密钥加密使用一对非对称的密钥。一把叫做 私有密钥
,另一把叫做 公开密钥
。顾名思义,私有密钥不能让其他任何人知道,而公开密钥则可以随意发布,任何人都可以获得。
流程:
发送密文的一方使用对方的公开密钥进行加密处理,对方收到被加密的信息后,再使用自己的私有密钥进行解密。利用这种方式,不需要发送用来解密的私有密钥,也不必担心密钥被攻击者窃听而盗走。
这里继续用寄快递这个例子,不过要加一些设定:
1. 每个人有两把钥匙,一把上锁,一把用来开锁;
2. 每个人都可以获取别人的上锁钥匙(互联网使这个过程变得容易);
3. 自己的开锁钥匙只能开自己用上锁钥匙锁上的箱子。
小智想要快递一份加密盒子发给小霞,在发快递前小智用小霞的上锁钥匙将盒子上锁,那么小红在收到快递后,就可以用自己的解锁钥匙打开箱子。
另外,要想根据密文和公开密钥,恢复到信息原文是异常困难的,因为解密过程就是在对离散对数进行求值,这并非轻而易举就能办到。退一步讲,如果能对一个非常大的整数做到快速地因式分解,那么密码破解还是存在希望的。但就目前的技术来看是不太现实的。
所以说,公开密钥加密的方式是一种相对安全的加密手段(不依赖线路本身),此外,公开密钥加密与共享密钥加密相比,其对大容量信息加密速度慢。
所以应充分利用两者各自的优势,将多种方法组合起来用于通信,这就是 HTTPS
采用的加密机制。
混合加密机制
HTTPS 采用共享密钥加密和公开密钥加密两者并用的混合加密机制。我们先来总结下上面两种加密方式的优缺点,再想想怎么两者并用吧。
- 共享密钥加密
- 优点:传输速度快
- 缺点:只要拿到密钥,任何人都可以破解密码
- 公开密钥加密
- 优点:传输相对安全(不依赖线路本身)
- 缺点:对大容量信息加密速度慢
来来来,想出来了没有,揭晓答案了。简单说,因为共享密钥加密方式
怕密钥被窃取,那么使用公开密钥加密方式
交换密钥;因为公开密钥加密方式
加密速度慢,那么仅用来加密密钥,然后使用共享密钥加密方式
进行通信。
不过 公开密钥加密
仍有问题。那就是无法证明公开密钥本身就是真正的公开密钥。因为在传输过程中,纵使是通过 公开密钥加密
加密过的信息,对于攻击者直接将信息进行替换也束手无策。
为了解决上述问题,可以使用由数字证书认证机构(CA,Certificate Authority)和其相关机关颁发的公开密钥证书
,这是下一篇要介绍的内容。
最后
以上就是冷酷水蜜桃为你收集整理的了解 HTTPS(二) —— 通信加密的全部内容,希望文章能够帮你解决了解 HTTPS(二) —— 通信加密所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复