HTTPS和数据完整性

Neb*_*ron 7 https integrity

我还没有对HTTPS做过很多研究,所以我对此有疑问.

是使用HTTPS保护数据完整性还是仅保密?例如,在文件上传时,HTTPS是否保证没有人可以在上传时更改数据,或者只保证没有人可以读取它?

ATo*_*ATo 5

简短回答:是的

要求:

  • 密码套件使用 SHA、SHA-2(256 或 394)或 MD5(请避免使用!)等摘要算法来计算基于哈希的消息身份验证代码 ( HMAC )。然后,该消息用于检查每条记录的数据完整性。

示例:TLS_RSA_WITH_AES_128_CBC_SHA256

  • 密码套件支持带有附加数据的身份验证加密( AEAD ),例如 AES-GCM(AES-CCM、AES-EAX 存在,但不太常见)或 CHACHA20-POLY1305(推荐)。

示例:TLS_ECDHE_RSA_WITH_ CHACHA20_POLY1305 _SHA256

关于第二个示例,需要注意的是 SHA256 不是 HMAC 算法,而是用作 PRF(查看此答案以获取更多详细信息)。


Eli*_*Eli -2

大多数情况下是的,但为了获得最大的安全性,除了使用 HTTPS 之外,我还建议将服务器的 SSL 配置配置为使用签名证书并使用以下 SSL 配置:

SSLProtocol -ALL +SSLv3 +TLSv1
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:!LOW:!SSLv2:!EXPORT
Run Code Online (Sandbox Code Playgroud)

另外,如果可能,请使用 SSL 版本 3。