2011-03-01 73 views
3

我還沒有做過很多關於HTTPS的研究,所以我對此有疑問。HTTPS和數據完整性

是使用HTTPS保存數據完整性還是僅保密?例如,在文件上傳中,HTTPS確保沒有人能夠更改上傳的數據,或只保證沒有人能夠讀取它?

+0

我認爲這個問題已經回答了:http://stackoverflow.com/questions/3655516/does-encryption-guarantee-integrity – kojiro 2011-03-01 00:24:20

+0

@kojiro:這兩者是相關的,但我認爲可能值得有兩個單獨的問題給出這個是特定於HTTPS的。 – andersoj 2011-03-01 00:28:14

+0

@kojiro:在鏈接問題中的答案與此問題的答案完全相反。 – martin 2016-08-31 10:17:44

回答

1

在大多數情況下,是的,但最大的安全性,我建議除了使用HTTPS,我會建議配置您的服務器的SSL配置使用簽名的證書,並使用以下SSL配置:

SSLProtocol -ALL +SSLv3 +TLSv1 
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:!LOW:!SSLv2:!EXPORT 

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

+0

+1,很好的答案。我刪除了我的名字,並把我的頭埋在恥辱之中。 ;-) – andersoj 2011-03-01 00:35:40

+0

我需要這種密鑰管理系統(私鑰將被存儲在服務器上),所以我就這麼問。你認爲這應該足夠安全嗎?謝謝! – 2011-03-01 12:56:02

+0

我強烈推薦使用上面提到的SSL方法,如果你使用這種方法,你應該很安全。 – Eli 2011-03-01 13:18:56

1

簡短的回答:

要求:

  • 的加密套件使用像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(檢查this answer更多細節)是很重要的。