加密传输保证客户端和服务器之间的信息不是明文传输,保证信息的机密性
身份认证HTTPS协议能够证明服务端的身份,防止假冒网站冒充自己的身份。
对称加密算法
这一部分需要密码学的基础,本段仅做相关总结。对称加密因为密钥只有一个,存在密钥被枚举出来的问题,加密安全性不够高。
常见的对称加密有 DES,3DES,AES
因为性能比非对称加密高,所以用在HTTPS内容加密上,HTTPS通过非对称加密算法做密钥协商生成密钥,用作页面内容的对称加密。
非对称加密算法
常见的非对称加密算法都是基于数学难题,在当前计算能力下破解较难,常见的算法有RSA,ECC等。抽象出几个名词概念:公钥,私钥。
公钥和私钥可以通过数学算法计算相互对明文密文进行数学计算并验证。
加密: 通过公钥(或私钥)对明文计算(如RSA)生成密文
解密: 通过另一个密钥对密文进行计算生成明文
上面加解密的概念是相对的,在日常应用中,常见的两个场景:
发送方通过接收方公钥对明文加密,接收方通过自己的私钥进行解密
需要身份认证的场景下,用自己的私钥对待签名的内容进行电子签章,需要验证的时候,验证者获取签名者的公钥进行验证(公钥对密文进行数学计算解密)
非对称加密算法的场景 – 身份认证和PKI
身份认证
上节提到非对称加密算法的一个场景是数字签名,数字签名是身份认证的手法。因为自己的私钥是别人不知道的也是别人不可复制的,如同人的指纹一样,是能代表自己本人的。但是问题来了?我想让别人拿着我的公钥和我进行加密通信,对方是如何知道这是我的公钥呢?
怎么证明我是我?
证明我是我,只能拿着本人的身份证去派出所查询,然后让官方出具一份“本人证明”,因为有关部门是可信的,所以如果官方说这个是合法的,那就能证明这就是我。
那么电子世界的有这个官方机构吗?有!
PKI 基础设施
PKI是安全世界的基础设施,CA机构是其主要成员,CA机构通过向申请证明“我就是我”的用户颁发证书,用户通过校验证书的有效性,来判断是否是自己需要通信的对方。当然,CA是盈利机构,企业申请证书证明“我就是我”需要花费不少费用的,当然,不差钱!