首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

对https认识的整理

http有以下安全性问题:

1、使用明文进行通信,内容可能会被窃听;

2、不验证通信方的身份,通信方的身份有可能遭遇伪装;

3、无法证明报文的完整性,报文有可能遭篡改。

https并不是新协议,而是让 http 先和 SSL(Secure Sockets Layer)通信,再由 SSL 和 TCP 通信,也就是说 https 使用了隧道进行通信。

通过使用 SSL,https具有了加密(防窃听)、认证(防伪装)和完整性保护(防篡改)。

加密

1、对称密钥加密

对称密钥加密(Symmetric-Key Encryption),加密和解密使用同一密钥。

*优点:运算速度快;

*缺点:无法安全地将密钥传输给通信方。

2、非对称密钥加密

非对称密钥加密,又称公开密钥加密(Public-Key Encryption),加密和解密使用不同的密钥。

公开密钥所有人都可以获得,通信发送方获得接收方的公开密钥之后,就可以使用公开密钥进行加密,接收方收到通信内容后使用私有密钥解密。

非对称密钥除了用来加密,还可以用来进行签名。因为私有密钥无法被其他人获取,因此通信发送方使用其私有密钥进行签名,通信接收方使用发送方的公开密钥对签名进行解密,就能判断这个签名是否正确。

*优点:可以更安全地将公开密钥传输给通信发送方;

*缺点:运算速度慢。

3、https采用的加密方式

https采用混合的加密机制,使用非对称密钥加密用于传输对称密钥来保证传输过程的安全性,之后使用对称密钥加密进行通信来保证通信过程的效率。

认证

通过使用证书来对通信方进行认证。

数字证书认证机构(CA,Certificate Authority)是客户端与服务器双方都可信赖的第三方机构。

服务器的运营人员向 CA 提出公开密钥的申请,CA 在判明提出申请者的身份之后,会对已申请的公开密钥做数字签名,然后分配这个已签名的公开密钥,并将该公开密钥放入公开密钥证书后绑定在一起。

进行 https 通信时,服务器会把证书发送给客户端。客户端取得其中的公开密钥之后,先使用数字签名进行验证,如果验证通过,就可以开始通信了。

完整性保护

SSL 提供报文摘要功能来进行完整性保护。

http 也提供了 MD5 报文摘要功能,但不是安全的。例如报文内容被篡改之后,同时重新计算 MD5 的值,通信接收方是无法意识到发生了篡改。

https 的报文摘要功能之所以安全,是因为它结合了加密和认证这两个操作。试想一下,加密之后的报文,遭到篡改之后,也很难重新计算报文摘要,因为无法轻易获取明文。

https 的缺点

*因为需要进行加密解密等过程,因此速度会更慢;

*需要支付证书授权的高额费用。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190221A18XCJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券