柯克霍夫原則

维基百科,自由的百科全书
跳转至: 导航搜索

密碼學上的柯克霍夫原則(也稱為柯克霍夫假說、公理、或定律)係由奧古斯特‧柯克霍夫Auguste Kerckhoffs在19世紀提出:即使密碼系統的任何細節已為人悉知,只要密匙(key,又稱金鑰或密鑰)未洩漏,它也應是安全的。 資訊理論的發明者克勞德‧艾爾伍德‧香農Claude Shannon)則改成說:「敵人瞭解系統」,這樣的說法則稱為香農箴言。 它和傳統上使用隱密的設計、實作、或其他等等來提供加密的隱晦式安全(Security through obscurity)想法相對。

依據柯克霍夫原則,大多數民用保密都使用公開的演算法。 但相對地,用於政府或軍事機密的保密器通常也是保密的。

柯克霍夫為軍用保密器所設計的這六個原則是:

  1. 即使非數學上不可破解,系統也應在實質(實用)程度上無法破解。
  2. 系統內不應含任何機密物,即使落入敵人手中也不會造成困擾。
  3. 密匙必須易於溝通和記憶,而不須寫下;且雙方可以容易的改變密匙。
  4. 系統應可以用於電訊
  5. 系統應可以攜帶,不應需要兩個人或以上才能使用(應只要一個人就能使用)。
  6. 系統應容易使用,不致讓使用者的腦力過份操勞,也無需記得長串的規則。

布魯斯‧施奈爾將這個想法延伸,認為除了密碼系統之外,任何保安系統都是這樣:試圖使用隱密物來保密一些東西,都會製造了失敗的根源。(筆者註:若以依賴隱密物或隱密方式的隱密性為主,一旦被公開或複製後即可能有遭到破解的危險)

埃裡克‧斯蒂芬‧雷蒙則將它引伸到開放源代碼軟體,稱一套未假定敵人可獲得源代碼的資安軟體並不可靠,因此,「永無可信的封閉源碼」。[1]反過來說,開放源碼比封閉源碼更安全。此種論點稱為透明式的安全(security through transparency)。

外部連結[编辑]