午前I問題

暗号技術の応用に関する記述として、適切なものはどれか。

ア)秘密分散法は、秘密情報を複数の断片に分割して複数の管理者に分散保管し、一定数以上の断片を集めることで元の情報を復元できる技術である。

イ)ゼロ知識証明は、証明者が検証者に対して秘密情報そのものを開示することで、その情報が正しいことを証明する技術である。

ウ)電子透かしは、データを暗号化することでコンテンツの著作権を保護する技術であり、暗号化後は元のデータに復元できない。

エ)準同型暗号は、暗号化前のデータに対してのみ演算を実行できる暗号方式であり、暗号化後のデータには一切の演算を適用できない。

午前I の解答・解説を見る

正解: ア

解説:

  • ア)正解。秘密分散法(Secret Sharing)はShamirの(k,n)閾値法などが代表例で、秘密情報をn個の断片に分割し、そのうちk個以上を集めれば復元できる仕組みです。単一の管理者に秘密情報を集中させないことで漏えいリスクを分散します。
  • イ)不正解。ゼロ知識証明の本質は「秘密情報そのものを一切開示せずに、その情報を知っている(または命題が真である)ことを証明する」点にあります。秘密情報を開示してしまっては「ゼロ知識」になりません。
  • ウ)不正解。電子透かし(Digital Watermarking)は暗号化ではなく、著作権情報や識別情報をコンテンツ本体に人が知覚しにくい形で埋め込む技術です。暗号化とは別の技術であり、元データへの復元性を失わせるものでもありません。
  • エ)不正解。準同型暗号はまさに「暗号化されたデータに対して演算を行い、その結果を復号すると平文に対して演算した結果と一致する」ことを特徴とする暗号方式です。暗号化後のデータに演算できない、という記述は準同型暗号の定義と正反対です。

午前II問題

準同型暗号(Homomorphic Encryption)に関する記述のうち、適切なものはどれか。

ア)加法準同型暗号は、暗号化した状態のまま加算と乗算の両方を無制限に実行できる暗号方式であり、代表例としてRSA暗号がある。

イ)完全準同型暗号(FHE)は、暗号化した状態のまま任意の回数の加算・乗算を組み合わせた演算が可能であり、クラウド上でのプライバシー保護データ処理への応用が期待されているが、演算コストが非常に高いという課題がある。

ウ)準同型暗号を利用すれば、復号鍵をクラウドサービス事業者に預けなくても暗号化データに対する演算結果を得られるため、計算過程でも平文がクラウド事業者に一切知られることはなく、かつ処理速度は平文計算と同等である。

エ)Paillier暗号は完全準同型暗号の一種であり、加算・乗算のいずれも無制限に組み合わせて実行できる。

午前II の解答・解説を見る

正解: イ

解説:

  • ア)不正解。RSA暗号は乗算に関してのみ準同型性を持つ「乗法準同型暗号」の代表例です。加算と乗算の両方を無制限に実行できるわけではありません。
  • イ)正解。完全準同型暗号(Fully Homomorphic Encryption、FHE)は2009年にGentryが最初の構成法を提案した方式で、加算・乗算を任意の組み合わせ・任意回数実行できます。クラウドに機密データを預けたまま演算を委託できるため秘密計算の切り札とされますが、平文計算と比べて演算コストが桁違いに大きく、実用化に向けた高速化が課題です。
  • ウ)不正解。準同型暗号は復号鍵をクラウド事業者に預けずに演算を委託できる点は正しいですが、処理速度が平文計算と同等であるという記述は誤りです。FHEは特に計算コストが非常に高く、平文計算の何倍〜何千倍もの時間を要するのが実情です。
  • エ)不正解。Paillier暗号は加法準同型暗号(Partially Homomorphic Encryption)の代表例であり、加算のみに準同型性を持ちます。乗算を無制限に組み合わせられる完全準同型暗号ではありません。
分類対応演算代表例
乗法準同型暗号乗算のみRSA、ElGamal
加法準同型暗号加算のみPaillier
Somewhat準同型暗号加算・乗算(回数制限あり)初期のBGN方式等
完全準同型暗号(FHE)加算・乗算(無制限の組合せ)Gentry方式、CKKS、BFV等

午後問題

医療データ分析企業のF社は、複数の病院から提供される患者の検査データを集約し、統計分析サービスをクラウド上で提供している。個人情報保護法および各病院との契約上、患者データの内容をF社の従業員やクラウド基盤の運用担当者が閲覧できない状態を維持したまま統計処理を行う必要がある。

F社のセキュリティ担当G氏は、次の2案を比較検討した。

(案1)従来方式:病院側でデータを匿名化した上でF社に送信し、F社のサーバ上で復号して平文のまま統計処理を行う。処理後は速やかにデータを削除する。

(案2)準同型暗号方式:病院側で完全準同型暗号(FHE)を用いてデータを暗号化してF社に送信し、F社は暗号化されたまま合計・平均などの統計演算を実行し、演算結果の暗号文を病院側に返送する。病院側だけが秘密鍵を保有し、復号する。

設問1

案2において、F社のクラウド基盤が外部から侵入され、演算中のデータおよび演算結果の暗号文が窃取されたとする。この場合に患者の検査データの内容が漏えいするリスクについて、案1と比較しながら40字以内で述べよ。

設問1の解答・解説を見る

正解例: 秘密鍵はF社に存在しないため暗号文を窃取されても復号できず、平文漏えいのリスクは案1より低い。

解説: 案2の最大の利点は、秘密鍵を病院側のみが保有し、F社(クラウド事業者)には一切渡さない設計にできる点です。そのため万一クラウド基盤が侵入され演算中のデータや結果の暗号文が窃取されても、攻撃者は秘密鍵を持たないため復号できず、患者データの内容(平文)は漏えいしません。これに対し案1は、F社のサーバ上で必ず一度は平文に復号する工程があるため、その処理タイミングでメモリダンプ等を取得されると平文が漏えいするリスクが残ります。準同型暗号は「データを利用可能な状態にしたまま秘匿する」ことで、処理委託先を信頼せずに済む(ゼロトラストなクラウド利用)という特長を持ちます。

採点基準(12点):

  • 「秘密鍵はF社が保有しない(病院側のみ保有)」(4点)
  • 「暗号文を窃取されても復号できない」(4点)
  • 「案1より漏えいリスクが低い(または案1は復号工程で漏えいしうる)という比較」(4点)

設問2

案2を実運用に移行するにあたり、G氏は完全準同型暗号の技術的な制約から生じる課題を2つ懸念事項として整理することにした。処理性能の観点とデータ形式の観点から、それぞれ懸念事項を35字以内で述べよ。

設問2の解答・解説を見る

正解例(処理性能の観点): 演算コストが平文計算に比べて非常に大きく、大量データの処理に時間とサーバ資源を要する。

正解例(データ形式の観点): 対応できる演算やデータ型に制約があり、複雑な統計処理の実装が困難な場合がある。

解説: 完全準同型暗号は理論上は任意の演算を暗号化状態のまま実行できますが、実運用では2つの大きな制約があります。第一に処理性能の観点では、暗号文のサイズが平文に比べて大幅に増大し、演算のたびにノイズ(誤差)が蓄積するため、ノイズを除去するブートストラッピング処理などが必要になり、平文計算と比べて数百倍〜数万倍の計算コストがかかることがあります。第二にデータ形式の観点では、FHE方式(CKKS、BFV、TFHE等)ごとに得意とする演算(整数演算、近似実数演算、ブール演算等)が異なり、比較演算や条件分岐、複雑な統計関数(標準偏差、中央値など)の実装は工夫や近似が必要になる場合があります。これらの制約を踏まえ、実運用ではFHEを使う範囲を限定したり、TEE(Trusted Execution Environment)や秘密分散との併用を検討することも実務上のポイントです。

採点基準(12点):

  • 処理性能:「演算コストが大きい/処理に時間がかかる」という趣旨(6点)
  • データ形式:「対応可能な演算・データ型に制約がある/複雑な処理の実装が難しい」という趣旨(6点)

重要キーワード

用語説明
準同型暗号(Homomorphic Encryption)暗号化した状態のままデータに対する演算を可能にする暗号方式
完全準同型暗号(FHE)加算・乗算を任意の組み合わせ・回数で実行できる準同型暗号。演算コストが高いのが課題
Paillier暗号加法準同型性を持つ公開鍵暗号方式。電子投票など加算のみで済む用途に利用される
RSA乗法準同型性を持つ代表的な公開鍵暗号方式
秘密計算(Secure Computation)データを秘匿したまま演算・分析を行う技術群の総称。準同型暗号・秘密分散・MPC・TEEなどが含まれる
秘密分散法(Secret Sharing)秘密情報を複数の断片に分割し、一定数以上を集めることで復元できる仕組み

まとめ

  • 午前I視点: 秘密分散法・ゼロ知識証明・電子透かし・準同型暗号といった応用暗号技術の目的と仕組みの違いを混同しないよう整理しておく
  • 午前II視点: 準同型暗号は「乗法準同型(RSA)」「加法準同型(Paillier)」「完全準同型(FHE)」の3分類と対応演算の範囲を正確に区別できるようにする
  • 午後視点: クラウド委託時のデータ漏えいリスクを「秘密鍵の所在」の観点で説明できることと、FHEの実運用上の制約(演算コスト・対応データ形式)を具体的に述べられることが重要