“通過默默無聞的安全”的做法是否違反了Kerckhoffs的第二個原則?
隱蔽性安全是指依靠設計或實現的保密性作為為系統或系統組件提供安全性的主要方法。
Kerckhoff 的第二個原理:
- “它應該不需要保密,如果它落入敵人手中應該沒有問題”
如“通過默默無聞的安全性”部分所述:
“我認為,這有助於回到 Kerckhoffs 的第二條原則,翻譯為“系統必須不需要保密,並且可以被敵人竊取而不會造成麻煩,”
$$ … $$. Kerckhoffs 說既不“公開一切”也不“保守秘密”;相反,他說即使敵人有副本,系統也應該是安全的。”
但是,通過默默無聞來確保安全的做法是否仍然違反了 Kerckhoffs 的第二條定義?
如果如前所述,如果它不能提供更多安全性,為什麼人們甚至通過默默無聞來實踐安全性呢?
“它應該不需要保密,如果它落入敵人手中應該沒有問題”
“它”是算法設計本身,而不是它的輸入……
但是,通過默默無聞來確保安全的做法是否仍然違反了 Kerckhoffs 的第二條定義?
是的。模糊性幾乎不是一種需要攻擊者付出高昂計算成本才能解決的防禦措施。它使問題變得不方便,而不是計算上難以處理。
但是,應該注意的是,“通過默默無聞的安全”和“安全加上默默無聞”不是一回事。
使用即使對手知道它們的所有資訊也會安全的算法,但另外拒絕讓對手知道它們並不比使用安全算法本身更糟糕。如果它更好,則值得商榷,因為如果它已經“安全”,就沒有“更安全”之類的東西。
如果如前所述,如果它不能提供更多安全性,為什麼人們甚至通過默默無聞來實踐安全性呢?
即使是天真的人也意識到保密對於密碼學的功能至關重要。但:
他們幾乎可以肯定沒有經過多年的失敗和研究(密碼學歷史和現代研究)苦心收集的知識。
- 例如,通過默默無聞的安全性是不夠的
他們可能從未聽說過 Kerckhoff 原理
他們可能沒有聽說過/不了解線性/差分密碼分析/數論/群論和其他現代分析技術。
他們顯然不明白將秘密集中在密鑰中比將整個算法保密要有效得多。
- 對於肉空間的類比:您的前門不安全,因為攻擊者不知道它被鎖定或鎖定了什麼,而是因為他們沒有密鑰~~*~~。
他們可能對經過深入研究和分析的設置沒有信心。
- 如果您檢查一位成功的密碼學家的工作,例如Daniel J Bernstein,那麼您將發現任何地方都沒有晦澀難懂。設計和實現的所有細節都是公開的。
*忽略現實世界的細節,例如開鎖器和鑰匙相同的鎖模型。