大家好,因为个人水平有限,肯定会有不准确的地方,希望多多指教!
q1:http有啥缺点?
- 通信使用明文,内容可能被窃听;
- 不验证通信双方身份,可能遭遇伪装;
- 无法验证报文的完整性,内容可能被篡改;
q2:https是啥?和http有啥关系?使用场景?
http+加密+认证+完整性保护 = https
https并不是应用层一个新的协议,而是通信接口部份采用ssl或tls协议来处理。
通常使用在登录页面或者购物结算页面。
q3:ssl是啥?有啥用?ssl通信机制?https有啥缺点?
ssl是网景公司提出用于保障通信安全的协议,tsl则是以ssl3.0为基准新制定的协议。
目前主流安全协议版本为ssl3.0和tsl1.0;
ssl通信机制:
https缺点:
- 由于是先建立ssl通信,再进行tcp连接,发送请求,相比http变慢2到100倍。
- ssl必须进行加密处理,服务器,客户端都需要进行加密解密运算,会消耗更多cpu和内存资源。
- 购买证书需要花钱,通常,一年的授权大约在600人民币左右
q4:对称加密与非对称加密的机制?混合加密又是啥?
对称加密
加密和解密同用一个密钥的方式称为共享密钥加密,也被叫做对称密钥加密。与非对称加密相比是效率更高,但无法解决的问题是如何将私钥安全的转交。
非对称加密
公开密钥加密使用一对非对称的密钥。一把叫做私有密钥,另一把叫做公开密钥。发送密文的一方使用对方的公开密钥进行加密处理,对方收到被加密的信息后,再使用自己的私有密钥进行解密。利用这种方式,不需要发送用来解密的私有密钥,也不必担心密钥被攻击者窃听而盗走。
混合加密
https采用共享密钥加密和公开密钥加密两者并用的混合加密机制。在交换密钥环节使用公开密钥加密方式,之后的建立通信交换报文阶段则使用共享密钥加密方式。
遗憾的是,公开密钥加密方式还是存在一些问题的。那就是无法证明公开密钥本身就是货真价实的公开密钥。为了解决上述问题,可以使用由数字证书认证机构(CA,Certificate Authority)和其相关机关颁发的公开密钥证书。其中,比较权威的有威尔信机构。
q4:证书又是啥?长啥样?
证书是由数字认证机构颁发的用于证明公开密钥正确性的凭证。
证书:
混合加密+数字证书: