Special Articles

秘匿クロス統計技術特集 ―企業横断の統計的なデータ活用による社会課題解決―
秘匿クロス統計技術の完全性保証方法の設計と実装

プライバシー保護 セキュリティ TEE

長谷川 慶太(はせがわ けいた)  千田 拓也(ちだ たくや)
落合 桂一(おちあい けいいち)  中川 智尋(なかがわ ともひろ)

クロステック開発部
奥田 哲矢(おくだ てつや)
NTT社会情報研究所

あらまし
秘匿クロス統計技術による企業横断の統計的なデータ活用の実現には,秘匿クロス統計技術が各企業において正しく実施されるという保証が必要である.そこで,隔離実行環境(TEE)と呼ばれる技術を用いて,秘匿クロス統計技術における処理の完全性を保証可能な方法を提案し,パブリッククラウド環境を用いた実装が可能であることを示した.また,大規模データを用いた性能評価により,実装したシステムが実用的な性能水準を満たすことを確認した.

01. まえがき

  • 複数の企業が保有するデータを利用することで,それらのデータを横断した ...

    開く

    複数の企業が保有するデータを利用することで,それらのデータを横断した統計的性質を分析したいというニーズがある.しかしながら,自企業が保有するデータをほかの企業と活用する際には,情報漏洩やプライバシー侵害などのリスクが懸念され,企業間での活発なデータ活用の障害となっている[1].

    秘匿クロス統計技術は,企業間でデータを相互に明かすことなく,すなわち一連の処理を人の目に触れることなく機械が行うことを技術的に保証して,安全な統計情報を作成することが可能な技術であり,①非識別化処理,②集計処理,③秘匿処理,の三段階の処理から構成される[2].集計処理には準同型暗号方式のセキュアマッチングプロトコル[3]が用いられており,非識別化処理後のデータは暗号化された状態で集計が行われる.さらに,秘匿処理においては暗号状態で差分プライバシー基準に基づいたノイズ[4]が付加される.これらの処理は企業において協調的に実行され,それぞれの企業におけるデータ処理が正しく行われる必要がある.

    本稿では,秘匿クロス統計技術において,各企業のデータ処理が正しく実行されることを技術的に保証する方法について解説する.また,本手法をパブリッククラウド*1において実装し,大規模な入力データに対しても実用的な水準の処理性能が得られることについても併せて示す.

    1. パブリッククラウド:企業や個人など不特定多数のユーザが利用できるクラウドコンピューティングサービス.

02. 秘匿クロス統計技術における完全性保証の必要性

  • 秘匿クロス統計技術では,統計情報の作成に参加する ...

    開く

    秘匿クロス統計技術では,統計情報の作成に参加するそれぞれの企業が,秘匿クロス統計技術のデータ処理を正しく実行する必要がある.この正しさが成り立たない場合に生じ得る脅威については,本特集別記事[2]で示した.一例として,秘匿クロス統計技術の秘匿処理(集計結果に対して暗号状態でノイズを付加することで出力データの安全性を確保する処理)が適切に行われなかった場合には,出力データからのプライバシーの侵害が生じる可能性が挙げられる.

    一般に,統計情報の作成に参加する企業は正しく振る舞うことが想定されるため,秘匿クロス統計技術の各データ処理は,正しく実行されることが期待される.しかしながら,作業者や運用者によるデータ処理の誤りが生じる可能性は否定できない.よって,データ処理の正しさは,技術的に保証されるべきであると考えられる.そのため,仮に統計情報の作成に参加する企業において誤った操作が行われたとしても,求められる安全性要件を満たすよう,秘匿クロス統計技術のデータ処理が正しく実行されることを技術的に保証する方法の確立が必要である.求められる安全性要件とは,自企業が正しく振る舞う限りにおいて,以下の2点である.

    • データ連携前に個人を識別できないデータに加工し,データ連携中に自社のデータが他者に明かされないこと.
    • データ連携後の出力データにおけるプライバシー情報が保護されること.

    秘匿クロス統計技術の各データ処理はプログラムとして実装され,入力データから出力データが得られるまでの過程において人手での操作を必要としない.このため,プログラムが改ざんされない限り,正しく処理が実施される.このようなプログラムが改ざんされていないという性質を完全性といい,秘匿クロス統計技術を実装したプログラムにおいて完全性を技術的に保証する必要がある.プログラムの完全性を保証することで,各企業において秘匿クロス統計技術の非識別化処理,集計処理,秘匿処理が正しく行われることを保証することができる.その結果,企業を横断した安全な統計情報の作成に求められる安全性要件が満たされる.

03. 秘匿クロス統計技術における完全性検証方法

  • 以下では,秘匿クロス統計技術が前述した安全性要件を ...

    開く

    以下では,秘匿クロス統計技術が前述した安全性要件を満たすために必要となる完全性の検証方法について解説する.自企業で動作しているプログラムがある時点から改ざんされていないことは,プログラム自体にハッシュ関数*2を適用して得られたハッシュ値を比較することで検証可能である.ハッシュ値とは,入力データを一定の長さのランダムな出力値に変換するハッシュ関数と呼ばれる一方向関数を用いて作成された値である.さらにハッシュ関数は,入力データが少しでも変化すると全く異なるハッシュ値が出力されるという性質を有する.よって,完全性検証の対象となるプログラムと同じハッシュ値となる改ざんされたプログラムを作為的に作成することは困難である.この性質を用いて,プログラムのハッシュ値が変化していないことを確認することにより,完全性の検証が可能となる.なお,秘匿クロス統計技術を構成する非識別化処理でも入力データを不可逆に変換するためにハッシュ関数を利用しているが,前述した完全性の検証とは目的が異なる用途である.

    しかしながら,自企業以外で動作しているプログラムが正しく動作していることを検証することは困難である.例えば,他企業で動作しているプログラムのハッシュ値を提示してもらい,事前に取得したハッシュ値と比較することは可能である.一方で,検証者(自企業)は他企業から提示されたハッシュ値が正しいものであるかどうか,つまり真に該当の他企業で動作している検証対象のプログラムのハッシュ値であるかどうかを確認することが難しい.このような状況を解決するために,隔離実行環境(TEE:Trusted Execution Environment)*3[5]およびRemote Attestation*4と呼ばれる技術を用いることとした.秘匿クロス統計技術におけるTEEを用いたプログラムの完全性検証方法を図1に示す.

    text

    図1 秘匿クロス統計技術における相互の完全性検証方法

    TEEとは,ホストマシンから隔離されたプログラムの実行環境*5である.多くの場合,CPUやセキュリティチップなどのハードウェアが信頼の基点となって,物理メモリやCPUといったコンピューティングリソースが隔離された計算領域となる.この領域はEnclave(飛地の意)とも呼ばれ,ホストマシンの管理者からもコンピューティングリソースが隔離される.

    さらに,Attestationと呼ばれる機能を用いることで,TEEの信頼の基点となるハードウェアが正しく製造されているという信頼性とTEE内の計算領域で動作するプログラムの完全性を検証することができる.Attestationとは「証明」を意味する言葉であるが,TEEの文脈においては,特定のプログラムが特定の信頼できるハードウェアに基づいた実行環境で動作していることの証明を意味する.

    特にTEEが動作しているホストマシン外からAttestationを実施することをRemote Attestationと呼び,TEEが動作しているハードウェアの情報とTEE内部で動作するプログラムのハッシュ値を用いて完全性検証を行う.Remote Attestationを用いることで,TEEが動作している環境(つまり他企業が管理しているホストマシン)への信頼性によらず,信頼の起点となるハードウェアに基づいてTEEが動作しているという信頼性とTEE内で動作するプログラムの完全性を検証可能である.

    秘匿クロス統計技術は,統計情報の作成に参加する企業での協調的なデータ処理によって実施される.よって,両企業の視点で安全性要件を満たすためには,完全性の検証は片方の企業からもう片方の企業に対してだけ行うのではなく,双方向に実施する必要がある.これを実現するため,秘匿クロス統計技術では,各企業がTEEを保有するようシステムを構成し,TEE内で秘匿クロス統計技術のプログラムを実装する.

    前述した出力データからのプライバシー侵害は,自企業から他企業に連携される中間データが,信頼できないプログラムで処理されることで生じ得る.秘匿クロス統計技術では,暗号化された中間データを企業間で授受する際に,他企業で動作しているプログラムの完全性をRemote Attestationにより相互に検証する.完全性検証に成功した場合にのみ処理を継続し,失敗した場合には処理が継続できないよう設計することで,プログラムの改ざんが生じた場合にも,出力データからプライバシー侵害が生じないよう対策している.

    1. ハッシュ関数:任意のデータからある一定の長さのランダムなビット列を生成する関数.
    2. 隔離実行環境(TEE):CPUやセキュリティチップを信頼の基点として,ホストマシンからコンピューティングリソースが隔離された実行環境.
    3. Remote Attestation:TEEが動作しているホストマシンやデバイスの外部から,TEEの信頼性とTEE内部で動作するプログラムの完全性を検証する手段.
    4. 実行環境:プログラムやソフトウェアの実行処理が可能なシステム環境.

04. パブリッククラウドを用いた秘匿クロス統計技術の実装

  • 秘匿クロス統計技術の完全性検証方法について,実環境を用いて ...

    開く

    秘匿クロス統計技術の完全性検証方法について,実環境を用いて実現可能か確認するため,パブリッククラウド環境(AWS(Amazon Web Services)*6)を用いた実装を行った.

    4.1 システム構成

    本稿で解説する秘匿クロス統計技術を実装したシステムは,一対のサーバおよびTEE間で中間データを授受し,協調的にデータを処理する構成である.データ処理の詳細については本特集別記事[2]を参照されたい.また,秘匿クロス統計技術は集計中のデータを準同型暗号に基づいた秘密計算*7による暗号状態で処理するため,平文での集計処理と比べて計算コストが大きい.そこで,そのような処理において,大規模データに対しても実用的な性能水準を達成するため,集計処理を実施するサーバおよびTEEを,処理データ量に合わせてスケーリング*8することができるよう設計した.

    4.2 秘匿クロス統計技術の実装に利用するAWSサービス

    以下では,秘匿クロス統計技術をシステムとして実装する際に利用したAWSサービスについて,特に完全性の検証に重要なサービスを解説する.秘匿クロス統計技術のデータ処理を実行するサーバとしてEC2(Elastic Compute Cloud)インスタンス(AWSの提供する仮想サーバ)を利用し,EC2インスタンス上でAWSのTEEであるAWS Nitro Enclaves[6]が動作する.Nitro Enclaves は,ホストマシンとなるEC2 インスタンスのコンピューティングリソース(CPUとメモリ)を隔離して動作する.隔離された領域に対して,同一のインスタンス上のほかのユーザやアプリケーションはアクセスすることができない.ホストマシンからのEnclaveの隔離はハイパーバイザ*9によって行われ,その信頼性はハードウェアを基点とした信頼の連鎖によって保証される.

    Enclave内では,EIF(Enclave Image File)というDocker*10コンテナベースのマシンイメージが動作する.EIFをビルド*11する際に,EIF内で動作するプログラムのハッシュ値を含むプラットフォーム構成レジスタ(PCR:Platform Configuration Register)値*12が発行される.このPCR値を後述するAWS KMS(Key Management Service)[7]と連携しAWSクラウド環境での完全性の検証を実現する.

    AWS KMSはAWSの提供する鍵管理サービスであり,データの暗号化やデジタル署名に用いる鍵を簡便に作成および管理することができる.秘匿クロス統計技術の中間データを暗号化および復号する際に,KMSで管理するデータ鍵を利用する.

    4.3 AWS上での秘匿クロス統計技術における完全性検証の方法

    以下では,前述したAWSサービスを活用し秘匿クロス統計技術を実装したシステムにおいて,完全性を相互に検証しながら協調的にデータを処理する方法について解説する.データの暗号化および復号時に完全性を検証することで,プログラムが改ざんされておらず,正しく処理が行われていることを保証可能とした.データの暗号化および復号の制御による完全性の検証方法を図2に示す.秘匿クロス統計技術を実装したプログラムがEIFとして,Nitro Enclaves内で動作する.秘匿クロス統計技術の処理過程においては,双方向に暗号化された中間データの送付が実施されるが,図2では企業Aから企業Bへ暗号化された中間データを送付する際の動作を記載している.

    図2 AWSを用いた提案手法の実現方法

    図2 AWSを用いた提案手法の実現方法

    企業AのEnclaveは,秘匿クロス統計技術の中間データを送信する際に,KMSのデータ鍵を用いた中間データの暗号化を行う.データ鍵を利用するためには,KMSによるEIFのPCR値(ハッシュ値)に対する完全性検証に成功する必要がある.完全性検証の成功後(図2①②),データ鍵を用いて中間データを暗号化し(図2③④),企業Bが管理するEnclaveに暗号化された中間データを送付する(図2⑤).暗号化された中間データを復号するためにはデータ鍵を利用する必要があるため,受信側(企業B)でも送信側(企業A)と同様に,EIFの完全性検証が行われる(図2⑥⑦).企業BのEIFは,自身の完全性が検証された場合,暗号化された中間データを復号し,秘匿クロス統計技術のデータ処理を継続することができる(図2⑧⑨).このように中間データの授受の際に,完全性が検証されたEIFでのみ暗号化および復号が実施できるよう制御することで,秘匿クロス統計技術の各データ処理が正しく実施されることを保証可能とした.

    1. AWS:Amazon Web Services社が提供するクラウドコンピューティングサービス.
    2. 秘密計算:平文(暗号化されていない状態)ではなくデータを暗号化したまま処理が可能な技術の名称である.その実現方法として,データを断片化して演算する秘密分散方式や,暗号化データのままで演算可能な暗号化方式である準同型暗号を用いた方法がある.
    3. スケーリング:システムの負荷状況に応じて処理能力が不足,あるいは余剰になった際に,サーバ(特に仮想サーバ)を増減もしくは変更することにより処理能力を最適化すること.
    4. ハイパーバイザ:単一の物理サーバ上に仮想サーバを実行するための技術またはソフトウェア.AWSのNitro EnclavesはハイパーバイザによりEC2インスタンスからコンピューティングリソースを分離し起動する.
    5. Docker:コンテナ型仮想化ソフトウェア.Docker Inc. の登録商標.
    6. ビルド:ソースコードを基に,端末上で実行可能なファイルや配布パッケージを作成する処理や操作.
    7. プラットフォーム構成レジスタ(PCR)値:ハードウェアの起動時から特定のプログラムが起動するまでの一連の起動プロセスのハッシュ値を含む値であり,TEE内で動作しているプログラムの完全性検証に用いられる.

05. 実装システムの安全性分析および性能評価

  • ここでは,前述したシステムを用いて,安全性の分析およびデータ ...

    開く

    ここでは,前述したシステムを用いて,安全性の分析およびデータ処理性能の評価結果について解説する.

    5.1 安全性の分析

    秘匿クロス統計技術を用いて統計情報を作成する場合に,各企業の誤った操作によって発生し得る介入として,秘匿クロス統計技術を実装したシステムに対するデータおよびプログラムの変更や改ざんが考えられる.例えば,プログラムの改ざんにより秘匿処理が正しく行われない場合には,差分プライバシーに基づく適切なノイズが付加されていないデータが出力される可能性がある.しかしながら,Nitro Enclaves内部で動作するプログラムの改ざんが行われた場合,EIFのPCR値が変化する.PCR値が変化した場合,KMSのデータ鍵を利用することができず,秘匿クロス統計技術における暗号化された中間データを復号することができないため,出力データは得られない.

    また,データの改ざんについて,暗号化された中間データはEnclave間の通信時に改ざんされる可能性がある.しかしながら,暗号化された中間データを改ざんした場合には,中間データを受信側のEnclaveで正しく復号することができないため,秘匿クロス統計技術の処理を継続することができない.よって,この場合にも出力データを得ることはできない.これらの想定されるプログラムやデータの改ざんを実験的に実施した.改ざんに伴って正しくEIFのPCR値が変化し,KMSのデータ鍵を利用することができないため,中間データの暗号化および復号時に秘匿クロス集計処理が途中終了することを確認した.

    5.2 性能評価

    秘匿クロス統計技術の集計処理結果には,秘匿処理において暗号状態で差分プライバシーに基づくノイズが付加される.よって,ノイズの影響を考慮しても有用な統計情報を得るためには,大規模な入力データを効率的に集計処理可能であることが望ましい.そこで,現実的に想定される大規模データとして,1000万レコードから1億レコードまでのさまざまなダミーデータを作成し,構築したシステムの処理性能を評価した.その結果,大規模な入力データに対しても実用的な時間(数十分から数時間程度)での集計処理が可能であることを確認した.また,その処理時間は集計処理を実施するインスタンス数と反比例する傾向が確認された.よってデータ量に応じた並列分散処理を実施することで,大規模な入力データにおいても実用的な時間で統計情報の作成処理を実施することが可能であるといえる.

06. あとがき

  • 本稿では,秘匿クロス統計技術のデータ集計処理に対して, ...

    開く

    本稿では,秘匿クロス統計技術のデータ集計処理に対して,処理が改ざんされていないという完全性の保証を技術的に与える方法について解説した.本手法により,秘匿クロス統計技術の各データ処理が正しく実施されることを保証することができ,企業を横断した安全な統計情報の作成における安全性要件が満たされる.また,提案手法をクラウド環境に実装し,安全性の分析および処理性能の評価を行うことで,現実的に想定される大規模データに対しても実用的なシステムが実現可能であることを示した.今後は実際のデータを用いて,秘匿クロス統計技術の有用性を示すことで,本技術の社会実装をめざす.

  • 文献

    開く

    • [1] 総務省:“企業活動におけるデジタル・トランスフォーメーションの現状と課題”令和3年版 情報通信白書,2021.
      https://www.soumu.go.jp/johotsusintokei/whitepaper/ja/r03/html/nd112400.html別ウインドウが開きます
    • [2] 野澤,ほか:“秘匿クロス統計技術が満たすべき安全性を達成する手法,”本誌,Vol.31, No.1, Apr. 2023.
    • [3] 千田 浩司,寺田 雅之,山口 高康,五十嵐 大,濱田 浩気,高橋 克巳:“統計的開示制御を考慮したセキュアマッチングプロトコル,”情報処理学会研究報告,Vol.2011-CSEC-52,No.12,Mar.2011.
    • [4] 紀伊 真昇:“小さいテーブルを用いる差分プライバシーのためのセキュアサンプリング,”CSS2022,pp.137-144,Oct. 2022.
    • [5] 須崎 有康:“Trusted Execution Environmentの実装とそれを支える技術,”電子情報通信学会 基礎・境界ソサイエティ Fundamentals Review,Vol.14,No.2号,pp.107-117,2020.
    • [6] AWS:“AWS Nitro Enclaves,”Dec. 2022時点.
      https://aws.amazon.com/jp/ec2/nitro/nitro-enclaves/別ウインドウが開きます
    • [7] AWS:“AWS Key Management Service,”Dec. 2022時点.
      https://aws.amazon.com/jp/kms/別ウインドウが開きます
このページのトップへ