非对称加密——解决对称加密密钥无法加密发送的问题
有了对称加密,那么为什么还需要非对称加密呢?这是因为在每一次链接通道建立的时候,通信双方都需要沟通确定对称加密的方法,和密钥;那么这次的传输安全就需要得到保证,所以就需要非对称加密来建立;
非对称加密算法,会生产一个公钥,一个私钥;公钥是公开,私钥是私有的。在使用的时候,发送密文的一方使用对方公开密钥进行加密处理,接收方收到信息之后使用私钥解密处理;利用这种方式4,就可以在不发送密钥的情况下进行数据加密传输 。常见的非对对称加密有RSA算法;
非对称加密的优缺点:
公钥是公开的,所以针对私钥加密的信息,黑客截获后可以使用公钥进行解密,获取其中的内容;
公钥并不包含服务器的信息,使用非对称加密算法无法确保服务器身份的合法性,存在中间人攻击的风险,服务器发送给客户端的公钥可能在传送过程中被中间人截获并篡改;
使用非对称加密在数据加密解密过程需要消耗一定时间,降低了数据传输效率;
RSA算法
RSA加密算法原理
阿鲤之前写过RSA加密算法的代码,有兴趣的同学可以看看:含有清晰注释的RSA实现
数字证书——解决通信方身份可能被伪装的问题
数字证书是指在互联网通讯中标志通讯各方身份信息的一个数字认证,人们可以在网上用它来识别对方的身份。 [1]
因此数字证书又称为数字标识。数字证书对网络用户在计算机网络交流中的信息和数据等以加密或解密的形式保证了信息和数据的完整性和安全性。
数字证书流程
服务器的运营人员向第三方机构CA提交公钥、组织信息、个人信息(域名)等信息并申请认证;
<