<http://www.schneier.com/blog/archives/2004/10/...>

 「secrecy(秘密主義,秘密)」の概念と,「security(セキュリティ,安全)」の概念は混同される場合が多い。その結果,質の悪いセキュリティを数多く生み出し,驚くような政治的論争を引き起こす。秘密主義とセキュリティは同じものではない。ほとんどの場合,秘密主義が本物のセキュリティに寄与することはない。「セキュリティに寄与している」という錯覚を与えるだけだ。

 6月に米国土安全保障省(DHS:U.S. Department of Homeland Security)は監督官庁に対し,ネットワーク障害に関する情報を機密扱いするよう求めた。米連邦通信委員会(FCC:Federal Communications Commission)は電話会社に対して,電話サービスに大規模な障害が発生した場合には報告するよう以前から要求しており,高速データ回線と無線ネットワークについても同じ要求をしようとしている。しかしDHSは,「サイバー・テロリストからみると,こうしたサービス障害情報は重要インフラを攻撃するための“道しるべ”になる」と懸念しているのだ。

 DHSの発想は,“full disclosure(完全な情報公開)”に関する議論を最初からやり直せと言っているようなものだ。つまり,「コンピュータやネットワークの脆弱性情報を公開するのはよいアイデアなのだろうか?それとも,クラッカを手助けするだけなのだろうか?」という議論を繰り返すことになる。この議論は,ソフトウエアの脆弱性を突くマルウエア(ウイルスやワームといった悪質なプログラム)が出現するたびに繰り返されている。

 「秘密主義はセキュリティの確保に役立つ」という主張は単純過ぎる考え方なので,反論しておく必要がある。秘密主義は,限定された状況でのみ,セキュリティを確保するのに役立つ。脆弱性や信頼性の情報を扱う際には全く役に立たない。というのも,秘密というものは“脆い”からだ。一度漏れてしまえば永久にそのままで,二度と元には戻せない。秘密主義に頼るセキュリティ(秘密が漏れないことに依存するセキュリティ)も同じように脆い。ひとたび秘密が失われると,セキュリティを回復させる方法はない。セキュリティの基盤に秘密主義を採用しようとするのは,明らかに悪い設計だ。

 暗号は“鍵”という秘密をベースにしているが,効果的に機能している。その理由を考えてみよう。鍵は長さが短く,転送しやすい。更新も変更も簡単だ。さらに,暗号化システムで秘密扱いされるのは,鍵の情報だけである。一方,暗号の“キモ”といえる暗号化アルゴリズムは公開されることが前提となっている。アルゴリズムの公開は,暗号の基本原則の一つである。つまり,暗号は秘密だけに頼っているわけではないのだ。

 秘密主義に関する議論には,ほかにも誤った考えがある。「秘密は守られるもの」と勝手に仮定してしまう考えだ。「だまってさえいれば,ネットワークの物理的な弱点を悪者に見つけられることはない」と考えて本当によいのだろうか?「アンダーグラウンドで活動しているクラッカが,自分たちで脆弱性を見つけることは決してない」と仮定して,本当によいのだろうか?

 秘密主義を支持する人たちは,情報公開で得られるセキュリティの価値を無視している。公開した状態での検証こそが,セキュリティを向上できる唯一信頼できる方法だというのに。ソフトウエアのバグが定期的に公開されるようになる前は,ソフトウエア会社はバグの存在を一貫して否定し,直そうとしなかった。秘密主義によるセキュリティを信じていたからだ。ユーザーは“よりよいセキュリティ”を知らなかったので,こうしたシステムを購入し,安全を確保した気になっていた。もしも,ソフトウエアのバグが秘密にされたままの時代に逆戻りしたらどうなるだろう。脆弱性の存在はセキュリティ・コミュニティの一部の人間にしか認識されなくなるだろう。一方で,アンダーグラウンドのクラッカたちには,広く知れわたるようになる。