ゼロ知識証明を使えば、インフラ事業者は重要なセキュリティ上の質問に対し、その回答の根拠となる機微なデータそのものを開示することなく答えられるようになる可能性があります。
パイプラインや発電所、通信network全体で使われている機器に、重大なソフトウェアの欠陥が見つかったと想像してください。政府はできるだけ早く、どの企業がその影響を受けているのかを把握する必要があります。しかし、その質問に答えるためには、企業側がソフトウェアの資産目録やネットワーク図、そして脆弱性スキャンの結果を共有しなければならない場合があります。こうした情報は、万が一漏えいすれば攻撃者にとって格好の攻撃ロードマップになりかねません。あまり知られていない暗号技術の概念が、この問題の解決に役立つ可能性があります。ゼロ知識証明と呼ばれるこの手法を使えば、企業は自社システムの仕組みやその他の専有情報を明かすことなく、脆弱性が存在することを証明できます。
10年以上にわたり、ワシントンはサイバーセキュリティデータの共有に対する企業側の懸念に対処しようと努めてきました。議会は法的保護を整備し、各機関は情報共有プログラムを構築してきました。こうした取り組みによって、企業間で攻撃の兆候やインシデント報告、防御策に関する助言をやり取りしやすくはなりました。しかし、インシデントが発生する前の段階で、脆弱性やセキュリティ管理策に関するデータを企業に共有させるという点では、成果ははるかに乏しいのが実情です。
最も役に立つはずのデータほど、企業が最も共有したがらないものです。脆弱性スキャンを見れば、どの機器が接続されているか、どのソフトウェアが稼働しているか、システムがどう構成されているか、そしてどこに防御の弱点があるかが分かります。これが意図せず外部に漏れれば、攻撃者にとって格好の手引きとなってしまいます。
もう一つの問題もあります。機微なデータがいったん企業の手を離れると、盗まれたり、召喚状によって開示を強制されたり、別の機関に渡ったり、企業が想定してもいなかった規制手続きで使われたりする可能性があるのです。産業界は常に、他の場所でリスクを新たに生み出すことと引き換えに、セキュリティリスクを減らすよう求められているようなものです。
ゼロ知識証明があれば、根本となる機微なデータを開示する必要性を減らせる可能性があります。その発想自体はシンプルです(裏にある数学はそう単純ではありませんが)。企業は、自社の認可済みスキャンデータについて合意された評価の結果、特定のソフトウェアの欠陥が存在することを示している、という事実を証明できます。しかも、資産目録全体やネットワークアーキテクチャ、構成データを開示する必要はありません。
コンピューターは、人間のようには脆弱性スキャンを「読む」わけではありません。セキュリティアナリストであれば、レポートを開き、機器やソフトウェアのバージョンを確認し、脆弱な製品が存在するかどうかを判断するでしょう。ゼロ知識証明は、これと同じ評価作業を、ローカルで完結する数学的計算に置き換えるものです。
例えば、政府と企業は「特定の脆弱性が、定義された一群のシステムのどこかに存在するか」という明確な質問について合意することができます。企業は自社のスキャンデータを自社ネットワーク内にとどめたままにします。暗号ツールがそのデータを合意済みの質問に照らして検証し、ソフトウェアとバージョン情報を脆弱性と突き合わせたうえで、最終的な回答に紐づく証明を生成します。スキャンデータがこのルールのもとで「イエス」という結果を満たす条件を満たしている場合、企業は同じルールのもとで虚偽の「ノー」という回答を裏付ける有効な証明を生成することはできません。
政府は、生のスキャンレポートも、機器の一覧も、ソフトウェアの資産目録も、ネットワークマップも一切目にしません。政府が受け取り検証するのは数学的な証明だけであり、それによって、データそのものを開示することなく、合意されたルールと根拠となるデータから回答が導かれていることを確認できるのです。
これは机上の空論ではありません。FDD(民主主義防衛財団)のサイバー・技術革新センターは最近、この手法を実際にテストしました。3つの実運用環境から得た匿名化済みの脆弱性データを使ったものです。このテストでは、既知の脆弱性38件についてイエス・ノー形式の質問を行いながら、生のスキャンデータは各参加環境の内部にとどめたままにしました。結果は有望なものでした。共有されたのは証明と回答だけだったにもかかわらず、それぞれの脆弱性が各環境にどれほど広く存在しているかを明らかにすることができたのです。
今回のテストでこの手法が機能することは証明されましたが、だからといって政府がこれを軸に全国規模のシステムを急いで構築すべきだということにはなりません。各機関がコンプライアンスや脆弱性報告、調達判断でこれを信頼して活用できるようになるまでには、まだ多くの作業が残されています。
次のステップとして必要なのは、義務化ではなく、構造化されたパイロットプログラムです。連邦政府のサイバーセキュリティ当局と標準化団体は、範囲を絞った実務的な質問でこれを検証すべきです。例えば、既知の脆弱性が存在するかどうか、あるいは特定のセキュリティ管理策が導入されているかどうか、といった問いです。
こうしたパイロットプログラムを経て初めて、各機関はどの根拠データなら信頼できるか、そして規制の文脈においてどのような証明であれば十分と言えるのかを判断すべきです。サイバーセキュリティ・インフラセキュリティ庁(CISA)、国立標準技術研究所(NIST)、そして各種規制当局は、こうしたパイロットプログラムを主導する自然な候補と言えるでしょう。CISAはすでに重要インフラ事業者とサイバーリスクについて連携していますし、NISTは各機関が証明を実際に信頼して活用しようとする前段階で、信頼できる証明とはどのようなものであるべきかを定義する助けとなり得ます。一方、規制当局は、企業がコンプライアンス情報をより安全に共有できる仕組みを整備することで、民間セクターの負担を軽減できるでしょう。
ゼロ知識証明が、サイバー情報共有をめぐるあらゆる問題を解決してくれるわけではありません。しかし、最も難しい課題の一つ、すなわち、誰もが守ろうとしているまさにそのシステムを企業に晒させることなく、政府に信頼できる回答を提供するにはどうすればよいかという問題を解決できる可能性があります。政府は今こそ、まだ学ぶ時間が残されているうちに、この概念を検証すべきです。そして、次のサイバー危機に無防備なまま突入することは避けるべきでしょう。
翻訳元: https://cyberscoop.com/zero-knowledge-proofs-cyber-risk-sharing-op-ed/