Equifaxにおける壊滅的な侵害——1億4300万人のアメリカ人の記録、後に1億4500万人超と訂正——とYahooの侵害の後、セキュリティエンジニアのDiogo Mónicaは、数年前に自ら構築したアーキテクチャに名前を与えた。「暗号アンカー」である。Mónicaと同僚のNathan McCauleyは、2015年にエンタープライズソフトウェア企業Dockerへ移る前に、決済企業Squareでこのシステムを導入した。

通常、Webサーバーは機能するためにデータベースの鍵を保持しなければならないため、サーバーを乗っ取った者はその鍵も引き継ぐ——Equifaxの攻撃者が行ったとされるのも概ねこの経路である。暗号アンカーでは、鍵は堅牢化されたハードウェアセキュリティモジュール(HSM)上にのみ存在し、要求に応じて各レコードを復号し、自身にレート制限を課す。1日100万クエリであっても、Equifaxの社会保障番号を吸い出すには6か月以上の継続的な侵入が必要となる。ハッシュ化も従来型設計を救わない。可能な社会保障番号は10億未満であるため、盗まれたハッシュは暇なときにオフラインで照合できる。

「核心となる概念は、データが暗号化されているだけでなく、それを復号したり、アクセスしたり、操作したりする唯一の方法が、物理的にあなたのデータセンター内にあることを確実にすることです」とMónicaは述べた。「もし誰かが私のデータベースを侵害しても、それが漏洩しても、彼らが私のネットワーク内にいなければ役に立ちません」。セキュリティ企業Thinkstの創業者Haroon Meerはその魅力をこう表現した。「相手に自分の縄張りで戦わせる。だから相手が来るのが見えるのだ」。

この仕組みは2017年当時、広く普及していたとは言い難いが、重要な場所では稼働していた。Squareでの実装に加え、MónicaによればFacebookとUberのエンジニアが同様のものを運用していると私的に語ったといい、ジョンズ・ホプキンス大学の暗号学者Matthew Greenは、複数の大手テック企業でその版についてコンサルティングを行ったことがあると述べた——セキュリティ設計者にとっては「古くからある手法」であり、「ごく少数しか実際には行っていないという意味で新しい」。

侵入者を締め出すことはできない。ならば、彼らが持ち出すために必要な唯一のものを制御せよ。すべての復号を、自分が設定したレートの別個のデバイスに物理的に通過させるのだ。

リアルタイムアプリケーションはオンデマンドで復号しなければならないため、古典的な暗号化では鍵が攻撃者が最初に侵害するWebサーバー上に置かれる。

ハッシュ化だけでは小さな鍵空間に対して失敗する。社会保障番号はオフラインで網羅的にハッシュ化し、盗まれたハッシュと照合できる。

すべての復号を1台の堅牢化されたHSM経由にすることで、鍵は物理的にダウンロード不可能となり、データ流出速度はハードウェアによって上限が課される。

その代償——リクエストあたり100分の1秒——で得られるのは、数か月単位で数えられる持ち出しの時計であり、そのすべてが防御側に見える。

侵入だけでなく持ち出しを設計せよ。レートこそが防御側が制御できる資源である。自分が所有するボトルネックは、静かな侵害を、ゆっくりと騒がしい包囲戦に変える。

2017年後半までにMónicaは「本当に優れたセキュリティエンジニアリングチームは皆、何らかの形でこれを使っている」と主張し、FacebookとUberのエンジニアからの私的な確認を挙げた。HSMベンダーのGemaltoとThalesは何年も前からこうした構成を可能にしており、クラウド版——AmazonのCloudHSM、MicrosoftのAzure Key Vault——がその部品を一般企業の手の届くところに置いた。Mónicaは暗号アンカーがEquifaxを止められたとは約束できなかった。その攻撃経路は依然として不明瞭だったからだ。しかし、攻撃者を遅らせ、被害を縮小させたはずだと論じた。

出典をたどる

出典

  1. 'Crypto Anchors' Might Stop the Next Equifax-Style Megabreach WIRED · wired.com ·