是否有一種標準化的方法來評估密鑰交換算法的安全性?
我現在正在嘗試設計一種更安全的密鑰更改算法來取代廣泛使用的 DH。
但是,我只能證明我的算法在邏輯上更安全,這意味著我只能從推理而不是數學角度來證明它。
因此,我想知道是否有一個標準化的程序可以用來評估我的工作。
如果不幸的是沒有,我可以收集對 DH 的所有現有攻擊並嘗試使用這些方法來攻擊我自己的方法嗎?這是證明我的算法安全的合理方法嗎?
不,如果您的系統在 DH 密鑰交換方面確實不同,那麼注意到專門針對 Diffie-Hellman 協議設計的攻擊對您的攻擊無效,這並不重要。
有三種方法可以將您的協議與另一種進行比較:
- 首先,最好通過編寫安全證明來證明您的協議至少與某些已知算法問題一樣安全。如果這個問題比 Diffie-Hellman 問題更廣為人知,它可能會很有趣。但是您必須注意 Diffie-Hellman(決策或計算)問題是一個參數化問題。並且這些問題的難度很大程度上取決於參數的選擇(稱為安全參數和名稱 $ \lambda $ 在研究論文中)。因此,如果您要誠實,則必須選擇相關的參數來比較兩個問題(例如,您可以與參數進行比較,以使兩種協議的效率相同)。
- 另一種可能性是,您聲稱您的協議驗證了比 DH 密鑰交換更強大的屬性。那麼最好用安全證明來論證你的主張,並表明 DH-KE 沒有驗證這個屬性(例如通過展示攻擊)。
- 如果沒有安全證明(對於標準財產和更強的財產)。您可以在學術會議上公開展示您的協議,並讓研究人員有可能在您的協議中發現攻擊。然後也許,如果多年來有很多可見性,你的安全聲明沒有被打破,人們會認為你的協議是安全的,並將比較兩種協議之間已知的最佳攻擊,以選擇最安全的攻擊。
levgeni 給出了一個很好的答案;我想我可以補充幾點:
我現在正在嘗試設計一種更安全的密鑰更改算法來取代廣泛使用的 DH。
首先,您的新“密鑰交換算法”很可能很弱。我不是說只是為了卑鄙
$$ 1 $$,但也基於所提出的密碼算法(包括密鑰交換)的歷史——其中大多數已經證明是弱的,對於密碼新手所做的設計尤其如此。而且,即使有經驗的密碼學家提出了一個新系統,他們也永遠不會聲稱它是安全的$$ 2 $$- 我們總是說它需要審查。 另一個問題是我們無論如何都要替換(或補充)DH(和ECDH)。這樣做的原因是因為即將到來的加密相關量子電腦的威脅——如果有人能夠建造一台,那麼他們可能會破壞 DH 和 ECDH。而且,雖然我們不相信現在有人擁有,但他們可能會在 10 或 20 年後——一旦有人擁有,他們可以回去開始打破記錄的會話(包括 DH/ECDH 交換)——因此,我們’現在正在解決這個問題。
所以,除非你的算法是抗量子的,也就是說,即使攻擊者使用量子電腦也無法破解,那麼,即使你可以證明它對只有正常的攻擊者是安全的,也不太可能有人會注意它電腦。而且,查看算法不是“抗量子”的一種方法是考慮一個具有可以分解和計算離散日誌的魔盒的對手——如果這樣的對手可以破壞你的系統,那麼你就不是抗量子的。當然,它不會反過來——僅僅因為你的算法不受因式分解和計算離散日誌攻擊的影響,並不意味著它是抗量子的——量子電腦也可以做其他事情。
但是,我只能證明我的算法在邏輯上更安全,這意味著我只能從推理而不是數學角度來證明它。
你的意思是你有一個合理的論據,你的算法是安全的。有一個合理的論據總比沒有好;然而,這也不是很好。數學證明是預期的……
因此,我想知道是否有一個標準化的程序可以用來評估我的工作。
正如 levgeni 所說,標準方法是辨識“難題”(或可能是幾個難題),然後生成一個證明,證明您是否可以破壞您的密鑰交換
$$ 3 $$,那麼他就可以解決難題$$ 4 $$. 完成此操作後,您可以嘗試評估您的“難題”有多難(以及它是否比 DH 所基於的難題(CDH 或 DDH 問題)更難)。 除非你這樣做了,否則很難讓任何人認真對待你的工作。
當然,即使你已經做到了(是的,這是很多工作),這仍然是一場艱苦的鬥爭——你仍然需要讓密碼分析員來研究它。如果你把所有的東西都寫好了,你可以把它放在 eprint 上(所以它就在那裡);你也可以把它送出給一個會議(如果它是新的和後量子,PQC https://pqcrypto.org/conferences.html可能是你最好的選擇)——即使論文沒有被接受,你得到的評論可能會很有啟發性.
$$ 1 $$: 嗯,這不是唯一的原因… $$ 2 $$: 一個例外是,如果他手頭有證據證明系統的強度可以簡化為一個公認的難題。但是,即使在那種情況下,他也可能會建議某人徹底檢查證明…… $$ 3 $$:理想情況下,破解它意味著“如果你能給攻擊者交換的密鑰份額和一個假定的‘共享秘密’,他就有一個優勢來區分那個‘共享秘密’是實際值,還是從適當的隨機分佈" $$ 4 $$: 注意順序——破壞你的系統意味著破壞難題。我看過試圖朝另一個方向發展的論文——“如果你能解決這個難題,你就可以破壞我的系統”——實際上並沒有顯示任何東西。