隱晦式安全(Security through obscurity)是指用設計的或是實現細節的隱晦,來達成系統或是元件的安全性(security),是一種安全工程(security engineering)的設計方式。
歷史
鎖匠曾反對用隱晦來達到安全性,他在1851年示範如何撬開當時最先進的鎖。有人認為,若公開鎖的設計缺陷,會讓罪犯更容易破壞鎖,霍布斯的回應是:「盜賊對他們的專業非常熱衷,他們知道的已經比我們可以教他們的多太多了。」
正式文件中很少提到隱晦式安全。有安全工程的書藉在1883年時記錄了柯克霍夫原則。例如在一個有關核子指揮與控制安全性和開放性的討論中曾提到:
減少意外戰爭可能性的好處遠大於秘密的可能好處。這是柯克霍夫原則的現代強化版,柯克霍夫原則最早在十九世紀提出,其中認為系統的安全性應該是基於其鎖匙,而不是其設計的隱密性。
曾著文探討「隱晦式安全只是想像」以及軍隊中口號之間的權衡,也提到競爭對於是否要公開的影響。
美國的全国公共广播电台在2020年1月時報導愛荷華州的民主黨官員拒絕分享有關caucus應用程式的安全性資訊,為了「確保我們不會傳遞對我們不利的資訊。」。網路安全專家的回應是「保留應用程式的技術細節不公開,無法保護整個系統。」。
批評
標準組織不鼓勵單單只用隱晦式安全作為安全措施。美國的國家標準技術研究所(NIST)曾針對此作法提出建議:「系統的安全性不能只靠實現方式的保密或是元件的保密來達成。」
此技術和基於安全的設計及的概念是相反的,不過真實世界中的專案有許多不同的元件組成,也有各自的安全策略,也不排除同一個專案中同時有不同安全策略的元件。
架構上的隱晦以及技術上的隱晦
若考慮,隱晦式安全的效果會和是否配合其他良好安全實務一起進行有關。若隱晦式安全是獨立的技術,配合其他實務使用,則隱晦可視為是有效的安全工具。
近些年來,由於移動目標防禦(Moving Target Defense)以及的實施,越來越多人支持用隱晦式安全作為網路安全(cybersecurity)的方法論之一。NIST的網路防衛評估架構800-160 Volume 2建議在建立有韌性而且安全運算環境時,以隱晦式安全作為其安全措施中的一部份。
相關條目
- 隐写术
*
- 柯克霍夫原則
*
- 代码混淆
*
- 基於安全的設計
*
- 零日攻击
*
*
參考資料
外部連結
- [https://lwn.net/Articles/85958/ Eric Raymond on Cisco's IOS source code 'release' v Open Source]
- [https://web.archive.org/web/20050306155631/http://www.eplaw.us/data/ComputerSecurityPublications.pdf Computer Security Publications: Information Economics, Shifting Liability and the First Amendment] by Ethan M. Preston and John Lofton
- by Jay Beale
- [http://www.schneier.com/crypto-gram-0205.html#1 Secrecy, Security and Obscurity] & [http://www.schneier.com/essay-056.html The Non-Security of Secrecy] by Bruce Schneier
- [http://www.linux.com/articles/23313 "Security through obsolescence", Robin Miller, linux.com, June 6, 2002]
评论 (0)