1. 什么是Https
HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL
2. Https的作用
- 内容加密 建立一个信息安全通道,来保证数据传输的安全;
- 身份验证 确认网站的真实性;
- 数据完整性 防止内容被第三方冒充或者篡改。
3. HTTPS协议的劣势
(出于安全考虑,浏览器不会在本地保存HTTPS缓存。实际上,只要在HTTP头中使用特定命令,HTTPS是可以缓存的。Firefox默认只在内存中缓存HTTPS。但是,只要头命令中有Cache-Control: Public,缓存就会被写到硬盘上。IE只要http头允许就可以缓存https内容,缓存策略与是否使用HTTPS协议无关。)
4. HTTPS和HTTP的区别
- https协议需要到CA申请证书
- http是信息时明文传输;https则是具有安全性的ssl加密传输协议
- http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443
- http的连接很简单,是无状态的;https协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全
二、加解密相关知识
1. 对称加密
对称加密(也叫私钥加密
)指加密和解密使用相同密钥的加密算法。有时又叫传统密码算法
,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。而在大多数的对称算法中,加密秘钥和解密密钥是相同的,所以也称这种加密算法为秘密密钥算法
或者单密钥算法
。
常见的对称加密有:DES(Data Encryption Standard)、AES(Advanced Encryption Standard)、RC4、IDEA
2. 非对称加密
与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey);并且加密密钥和解密密钥是成对出现的。非对称加密算法在加密和解密过程使用了不同的密钥,非对称加密也称为公钥加密,在密钥对中,其中一个密钥是对外公开的,所有人都可以获取到,称为公钥,另一个密钥是不公开的称为私钥。
非对称加密算法对加密内容的长度有限制,不能超过公钥长度。比如现在常用的公钥长度是2048位,意味着加密内容不能超过256个字节。
3. 摘要算法
数字摘要是采用单项Hash函数将需要加密的明文“摘要”成一串固定长度(128位)的密文,这一串密文又称为数字指纹
,它有固定的长度,而且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致。“数字摘要”是https能确保数据完整性和防篡改的根本原因。
4. 数字签名
数字签名技术就和对“非对称密钥加解密”和“数字摘要”两项技术的应用,它将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。
参考文献:https://www.jianshu.com/p/304674bd0618