对称/非对称加密、数字签名、证书

对称/非对称加密、数字签名、证书

本文主要介绍对称/非对称加密、数字签名、证书的概述与优缺点等,相关HTTPS的中的实现可查看应用层协议:HTTPS协议

一、对称加密

概述

对称密钥算法也可以称为私钥加密共享密钥加密,是密码学中的一类加密算法。顾名思义,这种加密方式用相同的密钥进行加密和解密。

应用

常见的对称加密算法有AES、ChaCha20、3DES、Salsa20、DES、Blowfish、IDEA、RC5、RC6、Camellia。

优缺点

优点:对称加密的速度比非对称加密快很多,在很多场合都需要对称加密。
缺点一切对称加密算法的软肋在于密钥的配送。加密和解密用同一个密钥,发送方必须设法把密钥发送给接收方。如果窃听者有能力窃取密文,肯定也可以窃取密钥,那么再无懈可击的算法依然不攻自破。存在密钥配送问题

二、非对称加密

概述

非对称式加密也称公开密钥密码学,是密码学的一种算法,它需要两个密钥,一个是公开密钥,另一个是私有密钥;公钥用作加密,私钥则用作解密。使用公钥把明文加密后所得的密文,只能用相对应的私钥才能解密并得到原本的明文。由于加密和解密需要两个不同的密钥,故被称为非对称加密;不同于加密和解密都使用同一个密钥的对称加密。公钥可以公开,可任意向外发布;私钥不可以公开,必须由用户自行严格秘密保管,绝不透过任何途径向任何人提供,也不会透露给被信任的要通信的另一方。也就是私钥是钥匙,而公钥是锁,可以把锁公开出去,让别人把数据锁起来发给我;而钥匙一定要留在自己手里,用于解锁

应用

常见的公钥加密算法有:RSA、ElGamal、Rabin(RSA的特例)、DSA、ECDSA。使用最广泛的是RSA算法(由发明者Rivest、Shmir和Adleman姓氏首字母缩写而来)是著名的公开秘钥加密算法。

优缺点

优点:一定程度上解决密钥配送的问题
缺点非对称加密算法也无法确定通信双方的身份,依然会遭到中间人攻击。非对称加密解决了加密安全的问题,但是数据的加密安全只是数据安全的一个方面数据的真实性同样非常重要。经常可以看到这样的案例,骗子在同学参加四、六级考试的时候,给同学的家长打电话或发短信,声称自己是学校的辅导员,并表示同学病重急需用钱,要求家长汇钱,同学家长汇钱给骗子而遭受巨大损失的情况。这就是数据/信息真实性没有得到足够验证而产生的问题。

三、数字签名

概述

如果某一用户使用他的私钥加密明文,任何人都可以用该用户的公钥解密密文;由于私钥只由该用户自己持有,故可以肯定该文件必定出自于该用户;公众可以验证该用户发布的数据或文件是否完整、中途有否曾被篡改,接收者可信赖这些数据、文件确实来自于该用户,这被称作数字签名

数字签名的作用本来就不是保证数据的机密性,而是证明你的身份,证明这些数据确实是由你本人发出的。

优缺点

优点数字签名可以一定程度上认证数据的来源
缺点无法鉴别别人给你的公钥是不是对的。会不会有中间人冒充,发给你一个它的公钥。

四、公钥证书

概述

证书其实就是公钥 + 签名,由第三方认证机构颁发。引入可信任的第三方,是终结信任循环的一种可行方案。

应用

证书认证的流程大致如下:
1、Bob 去可信任的认证机构证实本人真实身份,并提供自己的公钥。
2、Alice 想跟 Bob 通信,首先向认证机构请求 Bob 的公钥,认证机构会把一张证书(Bob 的公钥以及对其公钥的签名)发送给 Alice。
3、Alice 检查签名,确定该公钥确实由这家认证机构发送,中途未被篡改。
4、Alice 通过这个公钥加密数据,开始和 Bob 通信。

PS:以上只是为了说明,证书只需要安装一次,并不需要每次都向认证机构请求;一般是服务器直接给客户端发送证书,而不是认证机构。

优缺点

优点:有效避免了沟通过程中的信息泄露,成功规避了传统的中间人攻击;

缺点任何人都可以申请证书,导致存在很多不正规的认证机构证书,这些不正规证书很可能造成安全隐患

五、参考链接

  1. 什么是对称/非对称加密、密钥交换、数字签名、证书
  2. 公开密钥加密
  3. 趣谈网络协议

你可能感兴趣的:(安全,网络,https,网络协议,ssl)