2017-05-11 24 views
0

在符號加密符號(電子郵件)設置中是否可以使用相同的證書進行簽名操作,還是應該選擇兩個單獨的證書? 使用預期收件人公共證書執行加密操作。登錄加密簽名電子郵件時使用多少個證書?

最好的問候, 布賴恩

+0

爲什麼要在第一次簽名加密操作後簽署此電子郵件? –

+0

看看這個主題:https://crypto.stackexchange.com/questions/5458/should-we-sign-then-encrypt-or-encrypt-then-sign – bschau

+0

謝謝,我知道這個線程,這就是爲什麼我問,因爲在這個線程中,有人在實踐中說*兩者都不夠*,但他沒有給出任何解釋(我認爲沒有)=>查看我的答案 –

回答

0

首先,在直接回答你的問題,我需要談談登錄然後加密與加密,然後點登錄,這是加密一個非常普遍的問題,這並不是正確的答案。我的意思是沒有一個簡單的答案,正確的答案取決於你遇到的情況

首先,請注意,當雙方之間進行實時交換時,加密後符號可以防止基於私鑰和加密時間之間的相關性的攻擊。這是因爲在檢查簽名之前解密時,中間人攻擊者可以讓你解密他想要的任何內容。然後,他可以衡量延遲解密的時間,因爲您的響應會在您解密已修改的內容之後出現(響應通常會是「錯誤」,因爲在解密密文後,您會看到內容沒有正確簽名)。所以,一個主要的規則是在檢查簽名之前永遠不會解密某些東西,對於擁有實時交換的雙方之間的協議。爲防止此類時序方面的信道攻擊,奧克蘭大學的P. Gutmann於2013年末提出了一個drafted RFC。該RFC開始聲明:本文檔描述了一種協商使用加密 - 然後MAC安全機制的方法TLS'/ DTLS'現有MAC-then-encrypt的地方,這已成爲多年來多年安全漏洞的主題。

現在,當您進行異步交換時,就像在SMTP之上使用PGP或S/MIME一樣,這種時間攻擊無法完成。所以,你應該更喜歡Sign-then-encrypt,因爲D.W.所解釋的其他原因。您在評論中提到的線索:https://crypto.stackexchange.com/questions/5458/should-we-sign-then-encrypt-or-encrypt-then-sign(這主要是爲了避免密碼文本被其他人比發射器簽名)。

所以,讓我們回答你的問題:

難道是可以接受的一個標誌,加密符號(電子郵件)設置爲使用相同的證書兩個符號運算或一個應該選擇兩個不同的證書嗎?使用預期的收件人公共證書執行加密操作。

你說這是一個電子郵件上下文。所以沒有時序方面的頻道攻擊應該是可能的。因此,您應該只簽署然後加密。

但是既然你想要Sign-then-encrypt-then-sign,我想你想避免任何其他原因的邊信道攻擊。

因此,使用相同的證書(和私鑰)兩個符號的操作,對您的Exchange的安全級別沒有影響:因爲你能理解,最後的籤運來確保沒有人會解密修改後的內容並測量延遲,並且crypt之前的第一個符號用於檢查密文不能被不能解密的人簽名。因此,這兩種操作都沒有鏈接,所以對兩種操作使用或不使用相同的證書都不會改變任何內容。

相關問題