現在のCOVID-19パンデミックは、さまざまな暗号化アプローチに基づいて、コンタクト追跡アプリを実装するためのいくつかの取り組みを促進している。
スマートフォンはCOVID-19感染を追跡するために多くの国で使用されており、採用されたソリューションは、市民のプライバシーをどの程度保護するかという点で大きく異なる。AppleとGoogleは先頃、モバイルオペレーティングシステムにBluetoothベースの暴露通知プロトコルを導入し、一定レベルのデータプライバシーを保証している。このようなプロトコルは、保健当局によって運営されているより大きなシステムのコンポーネントにすぎないことを意味している。これらのシステムは、データのプライバシー保護を確保するために必要な暗号化ソリューションも実装する必要がある。
InfoQは、暗号とセキュリティのHashiCorpプリンシパルプロダクトマネージャーであるAndy Manoske氏と話をし、Secure Multiparty Computationと、さまざまなソースからの個人データのプライバシー保護分析を可能にする方法について学んだ。
InfoQ: COVID-19のため、通常の生活に安全に戻るための鍵と考えられているコンタクト追跡アプリに対する多くの公開討論と関心の高まりがありました。コンタクト追跡のプライバシーへの影響と、なぜ暗号が重要なのでしょうか?
Manoske氏: ほとんどのコンタクト追跡スイートでは、個人の名前、連絡先情報、旅行や社会的交流の履歴などの機密情報が必要になる可能性があります。この情報は、集団全体での感染の広がりを追跡するために必要ですが、悪意のある攻撃者が個人情報詐欺を犯すために使用することもできます。
暗号の役割は、識別され許可されたアプリケーションのみがアクセスできるようにすることです。つまり、この機密情報を復号化できるようにすることです。有効なID (および理想的にはインテント) の検証がないと、攻撃者にこの機密情報を保護する暗号を破られてしまいます。
**InfoQ: Secure Multiparty Computationがこの種のソリューションにもたらすものと、それを実装する方法について説明していただけますでしょうか?
Manoske氏: SMPCは、機密データが常に暗号化されていること、およびそのデータを有効に分析するために、データの暗号を解除して処理/分析する必要がないことを保証します。
暗号化を無効にするための一般的な手法は、「サイドチャネル攻撃」で暗号化を完全に回避することです。サイドチャネル攻撃では、数学を使用してキーを推測するのではなく、攻撃者がシステムの脆弱性を悪用したり、キーロガーやリモートアクセスのトロイの木馬 (RAT) などのマルウェアを使用して暗号化キーや有効な資格情報を盗んだりしてデータを復号化します。
SMPCを使用すると、常に暗号化されたデータに対して有効な分析を行うことができます。これにより、攻撃者がサイドチャネル攻撃を開始して保護されたデータを復号化する可能性を最小限に抑えます。
**InfoQ: プライバシーを保護するためにSMPCが不可欠であるシステムまたはアプリケーションへの追加事例を提供していただけるでしょうか?
Manoske氏: SMPCを使用すると、有効なユーザーのグループ (相互に完全に信頼していない可能性があります) が、保護されたデータを共同で操作できます。これらの有効なユーザーが保護されたデータを操作する方法に関する強力なルールと組み合わせると、SMPCは次のようなユースケースのセキュリティを大幅に強化できます:
財務情報の開示: 企業が、収益レポートなどの機密情報を、誰もそのデータに早期にアクセスできないように開示できるようにします (また、非公開情報から利益を得るためにインサイダー取引を行うことができます)。SMPCは、今後のIPO/M&A取引やSECのEDGARファイリングシステムに類似したその他の開示システムのためにデータルームを保護できるため、2016年のEDGARサイバー攻撃に見られるような、サイドチャネル攻撃が相場操縦を行う可能性を最小限に抑えます。
電子医療記録 (EMR): 病院、薬局、保険会社などの組織が、HIPAAで保護された機密の個人情報(PII)を公開することなく、システム全体で患者に関するEMRを広く共有できるようにします。SMPCを使用すると、有効な組織にPIIへの一時的なアクセスを許可して、攻撃者が資格情報やPIIデータの復号化されたコピーを盗むことができないようにすることができます。
- 防衛および国家安全保障情報: サイドチャネル攻撃は、犯罪者のハッカーによって使用されるだけではありません。インテリジェンス組織は、十分に保護されたデータを侵害するためにサイドチャネル攻撃を頻繁に使用します。2010年代初頭/2000年代後半のアメリカの航空宇宙メーカへの攻撃キャンペーンなどの主要なサイバ攻撃では、機密情報を保護する暗号化キーを盗むためにサイドチャネル攻撃が採用されています。これらの攻撃の場合、スパイは分類された環境に侵入し、正当な資格情報を使用して暗号化されていないシステムデータを盗み出すことができました。SMPCを使用すると、データを常に暗号化したままにして、一時的に検証されたユーザが復号化されたデータを盗むことができる「ウォークアウェイ」サイドチャネル攻撃を最小限に抑えることができます。
**InfoQ: SMPCの使用に固有の複雑さは何がありますか?
Manoske氏: SMPCには、信頼できる外部システムによる包括的で複雑なキー管理、または暗号化された中でインライン分析を可能にする新しい暗号化で暗号にする、いずれかを採用するソフトウェアが必要です。
暗号化キーを保護するために強化されたシステムを構築する一方で、アプリケーションのIDを検証する機能を複雑にしない (そしてソフトウェアの開発を複雑にしない) ことは大きな課題です。この課題は、必ずしも相互に信頼しているとは限らない関係者との大規模な分散インフラストラクチャ上でキーを管理する必要があるため、さらに困難になります。
準同型暗号を使用して、アプリケーションが暗号化されたデータの分析を実行できるようにする新しい暗号化で暗号にする方法があります。これらのアルゴリズムのいくつかは、暗号化コミュニティによって精査されています。たとえば、米国国立標準技術研究所 (NIST) は、量子コンピューターからの攻撃に耐性があるため、準同型暗号の暗号をポスト量子化の暗号標準化プロジェクトで検討しています。
コミュニティが準同型暗号が安全に使用できることを確認するにはまだ時間がかかり、NISTのPQCSPなどのプロジェクトは2020年代半ばまで完了しません。
**InfoQ: HashiCorp Vaultはこれに関連してどのように適合しますか? どのような機能を提供し、SMPCベースのアプリケーションとシステムをどのように作成できるようにしますか?
Manoske氏: HashiCorp Vaultは、すべてのアプリケーションとシステムがシークレットにアクセスする方法のキーを管理します。保管中のVaultで保護されたシークレットの暗号化に使用されるキーにシステムがアクセスできないようにすることで、攻撃者はVaultからシークレットを抽出してキーを盗むことができなくなります。
HashiCorp Vaultはまた、単一の資格情報からIDを抽象化し、管理者が単一の資格情報ではなく論理IDに基づいてデータにアクセスするためのポリシーを設定できるようにします。
たとえば、人はウォレットで自分の身元を確認する方法がいくつかあります: クレジットカード、運転免許証、名刺などです。Vaultは、アプリケーションを「ウォレット」の要素によって論理的な身元をそれらのいずれかに帰属させる人のように扱うことができます。これにより、IDベースのセキュリティが可能になり、管理者はワークフローの論理IDのポリシーを記述できると同時に、Vaultがさまざまな資格情報からユーザーまたはアプリケーションを識別して帰属させる複雑さを処理できます。
VaultのTransform Secret Engineなどのシークレットエンジンと組み合わせると、Vaultを使用して、共有システムに存在するすべてのデータが暗号化されるようにすることでSPMCを実装できます。そのデータは、機密データがそのタイプとフォーマットを保持することを保証するためにデータ型保護を使用して暗号化でき、承認された関係者のみが暗号化キーへのアクセスを許可しない方法で機密データに一時的にアクセスできます。これにより、相互に信頼できない可能性のある当事者が、暗号化されたデータを保護するために使用されるキーにアクセスすることなく、そのデータを共同で操作できます。
InfoQは、COVID-19を追跡するプライバシー保護システムを構築する取り組みについて報告を続けていく。