セキュリティ・バイ・オブスキュリティ、思想は150年前でも言葉は1990年代だった

  • Security
  • History

この記事は、構成と文章の整理にAIを使っています。
あくまで読みやすくするための補助で、内容そのものをAIにすべて任せて書いているわけではありませんが、ところどころ相談しながら整えています。

セキュリティ・バイ・オブスキュリティについて調べてたら、思ったより新しい言葉だった。

セキュリティ・バイ・オブスキュリティとは

仕組みや実装を隠すことでセキュリティを保とうとする考え方。独自暗号アルゴリズムを非公開にする、SSHのポートを22番以外にする、管理画面のURLを推測しにくくする、みたいなやつ。

単体では信頼できない対策とされてる。理由はKerckhoffsの原則に反するから。「暗号システムは鍵以外の全てが公開されても安全であるべき」という原則で、1883年にオーギュスト・ケルクホフスが提唱したもの。アルゴリズムを隠すこと自体は本質的な安全性の担保にならない、という話につながる。

ただし多層防御の一部としてなら意味はある。SSHのポート変更自体はセキュリティを高めないけど、自動スキャンによる無差別攻撃のノイズを減らす実務的メリットはある。

「by」と「through」

英語では “security through obscurity” と “security by obscurity” の両方使われてる。どっちが正式というわけでもないけど、“through” の方がやや古典・原典寄りな表現らしい。日本語で「バイ」表記が定着したのは、“security by design” みたいな “by〜” パターンの用語に引っ張られた可能性がありそう(未確認)。

言葉自体はそんなに古くない

Kerckhoffsの原則が1883年だから、てっきり「security through obscurity」という言葉も古典由来かと思ってたけど、これは別の話だった。

フレーズ自体の起源には諸説ある。

  • MITのITS(Incompatible Timesharing System)文化圏で、廊下の向こうのMulticsユーザーへの対抗、あるいは自虐的な言葉として使われていたという説
  • HP/Apolloのセキュリティ問題修正キャンペーン中、Usenetのcomp.sys.apolloで最初に使われたという説

Gene Spaffordが1990年のCOPSに関する講演や1991年の『Practical Unix Security』で “no security through obscurity” を広めるのに一役買ったと本人が証言してるけど、言葉自体を作ったのは自分じゃないとも言ってる。

つまり思想の骨格は19世紀、フレーズとしての定着は1980年代末〜1990年代のUnix文化圏、というのが実際のところらしい。

セキュア・バイ・デザインも同じパターン

「セキュア・バイ・デザイン」も似た構造。思想のルーツは1970年代で、1970年の米国防総省Defense Science Board Task Force on Computer Securityの報告書に「セキュリティ制御を組み込むこと自体がシステム設計の問題」という指摘がすでにある。

でも「Security by Design」という用語が業界で明確に定着したのは2010年代前後、クラウドやIoT、DevSecOpsの文脈が盛り上がってから。

わかったこと

昔からある正しい原則が、規模や攻撃対象、インフラが追いついたタイミングで再評価されて、名前が付いて業界標準の用語として体系化される、というパターンがセキュリティの世界にはわりとある。Zero Trustもシフトレフトも構造としては同じで、「新しい概念」に見えて実は「昔からある正しいことを、今の規模でやっと真剣に実践し始めた」だけのケースが多い気がする。