はじめに
本記事では、秘密計算の中でも準同型暗号ベースの秘密計算の基礎となる知識や概要について解説します。概要を理解できるように、簡単な実例を踏まえながら、準同型暗号ベースの秘密計算の基礎を紹介していきます。
秘密計算の種類
秘密計算の仕組みの代表的にものは2つあります。
- 秘密分散+MPCベース
- 準同型暗号ベース
データを分割し物理的に計算空間を分けるというアーキテクチャでデータの秘匿性を担保している秘密分散+MPCベースの秘密計算に対し、準同型暗号ベースの秘密計算は、鍵を用いて暗号化することで秘匿性を担保するという性質の違いがあります。
前者、秘密分散+MPCベースの秘密計算に関する詳しい内容は下記記事にて紹介しております。ご関心があれば、そちらをご確認ください。
本記事では、後者、比較的簡単に扱うことのできる、準同型暗号ベースの秘密計算について解説していきます。
近年盛んになってきている、計算の外部委託に関するセキュリティを考えた時、以下のような課題が発生します。
データを委託されたサーバ内で一度情報を復号してしまうと、その情報がユーザ以外の目に触れてしまう可能性がある。
この課題の解決方法の一つとして、1980年頃からRivestらによって提案されている準同型暗号が挙げられます。
この準同型暗号は、暗号化されたデータに対してある種の演算を行うことができ、さらにそれを復号したものは元々のデータの演算結果となっている暗号方式のことです。
この手法を利用することによって、サーバにおける復号を行うことなく計算結果が得られることにより課題を解決しています。
また、その他暗号手法に関する解説は以下の記事にて行っています。
準同型暗号の3つの種類
準同型暗号は大きく、以下の三種類に分けられます。
- 乗算準同型暗号
- 加算準同型暗号
- 完全準同型暗号
乗算準同型暗号は、その名の通り暗号文での乗算が元データの乗算と対応づけられる、計算可能な暗号のことをいいます。
同様に、加算のみ計算可能な暗号を加算準同型暗号といい、
任意の計算回路を暗号化したまま計算できる準同型暗号を完全準同型暗号とよびます。
完全準同型暗号であれば、計算の外部委託を行う際であっても、サーバにおいてデータの復号を行わないため、情報漏洩のリスクは大幅に下がります。
完全準同型暗号の応用例
では、完全準同型暗号ベースの秘密計算は、どの場面で利用されているのでしょうか?
Microsoft社が2017年に行った調査レポートによると、完全準同型暗号ベースの秘密計算はゲノム解析などの健康増進のための調査、自然環境の安全性、そして教育の場面で利用されています。
一つの例として、ゲノム解析に関して紹介します。
皆さんもご存知の通り、1人1人DNAの情報は異なります。人口が増えるに連れてそのデータも増え、より正確な病気などの診断が可能となりますが、その一方で、万が一情報を漏洩してしまうと、個人が特定されてしまう、という危険性も孕んでいます。
現在はこのデータを守ろうと堅固なセキュリティを用いていますが、新しい取り組みとしてクラウドベースの代替的なデータベースの構築が提案されています。
この時、暗号化したまま計算を行うことによって個人情報の漏洩を防ぎつつ、より多くの人々が膨大なデータにアクセスできるようになる一つの手段として完全準同型暗号ベースの秘密計算の応用が検討されています。
準同型暗号ベースの秘密計算の問題点
準同型暗号ベースの秘密計算の問題点は、計算が複雑になるにつれて計算時間のオーバーヘッドが大きくなることです。
ちなみに、オーバーヘッドとは付加的な計算を意味し、直接答えに結びつかない処理のことをいいます。
まず、完全準同型暗号ベースの秘密計算の種類を紹介します。
以下のように、大きく分けて2種類のものが存在します。
- Fully Homomorphic Encryption (通称FHE)
- Somewhat Homomorphic Encryption (通称SHE)
共通部分 Homomorphic Encryption が準同型暗号を意味し、前者は完全にその計算が行えるもの、後者は、計算回数などの制限はあるものの一定の条件下であれば完全準同型暗号となるものを表しています。
この違いが生じる理由として、ノイズが関係しています。
暗号化した状態で加算や乗算などの演算を行うと、ノイズと呼ばれる、値のずれが発生します。
計算回数が少ない時はそのノイズの値が計算結果に影響せずに元の計算結果と同じ結果を暗号計算によっても得ることができます。
しかし、計算(特に乗算による影響が大きい)が複雑になっていくにつれて、ノイズが計算結果に与える影響が大きくなり、これを元の値に戻すためにも膨大な計算時間がかかってしまいます。
SHEは計算回数などの制限をかけられた状態であればノイズを除去できるため完全準同型暗号となりますが、制限を超えると計算結果を復元できなくなります。
このノイズを除去して計算結果を得るための計算が、計算時間のオーバーヘッドが大きくなってしまう理由の一つとなっています。
まとめ
- 完全準同型暗号ベースの秘密計算は、復号せずに計算を行うことで情報漏洩のリスクを下げる計算手法である。
- 準同型暗号には、加算・乗算・完全準同型暗号の三種類が存在する。
- 完全準同型暗号は、情報の機密性は高い一方、計算時間のオーバーヘッドが高いという課題がある。
現在は、計算時間のオーバーヘッドの大きさがネックとなり実用化まで至っていない準同型暗号ベースの秘密計算ですが、今後マシンや理論の研究が進んでいくにつれてそのメリットを享受できる日がやってくるでしょう。