登壇者の自己紹介

酒見由美氏:こんばんは。GMOサイバーセキュリティ byイエラエ株式会社の酒見です。このセッションでは、「世にも奇妙な暗号技術~うわっ…こんな事できるの?~」というタイトルで、暗号技術について紹介していきたいと思います。

まず、自己紹介です。所属は、GMOサイバーセキュリティ byイエラエ株式会社で、GMOインターネットグループのデベロッパーエキスパートとしても活動しています。

もともと学生の頃から暗号技術の研究をしていて、電機メーカーの研究所で10年ほど暗号技術の研究をしました。その後、より先端の暗号技術を社会に展開していくことをやっていきたいなと思って、今の会社に所属しています。

研究者の頃は研究の分野のみなさまとコミュニケーションをすることが多かったのですが、今の所属に就いて、「こういう困りごとがあるんだけど、解決できる技術がないか?」とか、いろいろご相談をいただく中で、「暗号技術でもこういうことができますよ」とお話をすると、「えっ、そんなことできるんですか?」と驚かれる機会が多かったので。

そういう現行の暗号ではできないような、みなさまにはまだ知られていないのかなというところを、今回の発表でご紹介できたらなと考えています。

現行の暗号技術では実現できない高度な要求が多くなっている

セキュリティという言葉は、世の中にけっこう浸透しているのかなと思いますが、暗号技術はまだ聞き慣れないという方もけっこういると思うんですね。

ただ、暗号技術というものは、セキュリティを支えている1つの技術となっていて、実はみなさまの身近なところに使われています。

例えば、交通系ICカードとか、みなさまもインターネットショッピングをされるかと思いますが、Webブラウジングとか。そういったところでデータの秘匿化や認証にも使われていますし、近年流行っている仮想通貨とか。

こういったように、暗号技術は、いろいろなところで大活躍しています。

現行の暗号技術では、このように認証やデータの秘匿化を達成しているのですが、近年、現行の暗号(技術)ではできない高度な要求が多くなっています。

(スライドを示して)こちらに高度な要求の例を3つほど出しています。例えば、個人を特定せずに正当な持ち主であることを証明するとか。近年、Beyond 5Gや6Gなど幅広い環境で通信環境がありますが、その場で安全な通信とかリアルタイム性が実現できることを要求されたりとか。

あとは、機微情報が含まれるけれどもデータ利活用に使いたいという要望は、現行暗号だけでは要望を満たせないケースです。

「えっ? そんなことができるの!」という暗号技術を紹介

現行暗号で解決できないので、このあたりの要望は解決できないのかというと、そんなことはなくて、このあたりの要望を解決できる技術として提案されているものがいくつかあります。

「えっ? そんなことができるの!」という暗号をこちらに載せています。先ほどの要望ですね、例えば個人を特定せずに正当な持ち主であることを証明するというところには、ゼロ知識証明とかブラインドRSA署名。BSSシグネチャーなどもこちらに入りますね。

あとは、幅広い環境で安全な通信やリアルタイム制を実現する、6Gの要件などだと、サブナノクラスの低遅延性とか、テラバイト級のスループット性を要求されるため、通信側でそこが達成できても、後に適用する暗号のほうが足かせとなってしまいます。そこは低遅延暗号とかハイスループット暗号で解決できます。

あとは、機微情報が含まれるが、データ利活用をしたい。こちらに関しては、秘密計算と呼ばれる技術が提案されています。今回の発表では、この中でも秘密計算にフォーカスしてお話ししていきたいと思います。

秘密計算を実現する技術としては、いくつか実現方法がありますが、例えば秘密分散。こちらは、秘密情報をシェアと呼ばれるいくつかの断片に変換して、あらかじめ決められた規則で組み合わせると元の情報に復元できるといった方式です。

あとは、準同型暗号という技術もあります。現行の暗号技術だと、暗号化した後は元の情報とは無関係のランダムな情報になってしまうので、暗号化した後に操作すると、元に戻してもぐちゃぐちゃになってしまうことが多いんですね。

ですが、その課題を解決した技術として準同型暗号というものがあって、こちらは暗号化の状態でも加算とか掛け算ができる技術になっています。

最後はTEEですね。こちらを秘密計算の中に含めるかどうかというのは議論があるのかなとは思いますが、CPUの中のセキュアな隔離領域に保護したまま計算をしていくという仕組みになっています。

秘密分散とは?

この中でも今回は、秘密分散とか準同型暗号とか、そのあたりを中心に紹介していきたいと思います。

暗号化したまま計算するといったお話に入る前に、まず秘密分散のイメージを紹介したいと思います。

先ほどの説明のように、秘密分散では、ある理論に従って元の秘密情報を復元してから、その情報を復元できるようになっているのですが、こちらは秘密情報を分散値に分けた状態になっています。これは、もう隠されている状態ですが、この2つに分散された情報を復元していきたいと思います。

こちらを、ちょっとずつ復元していきたいんですが(笑)。これをぴったり合わせると、この文字が隠されていて、「酒見」の「酒」ですね。

こういうふうに分散された情報を、元の秘密情報がわからない状態で分散して元に戻すことができる。さらに秘密計算では、これに対して秘密情報……分散された状態で計算ができます。

現行暗号よりもより高度な機能を持つ「高機能暗号」

高機能暗号について紹介していきたいと思います。こちらは現行暗号よりもより高度な機能を持つ暗号技術のことです。

例えば、暗号化したまま足し算や掛け算の計算ができたりとか、暗号化したままでデータ検索が可能な、検索可能暗号といった技術もあります。

これらの特徴は、情報を保護しながら情報を活用できる機能を実現しているのですが、通常の現行暗号で演算やデータ検索しようと思うと、やはりいったん平文に戻さないといけないところがあります。そこを戻さなくていいという観点から、情報セキュリティの向上とか、あと、隠されていることでデータも集めやすくなるのでデータ利活用も両立できるような技術となっています。

ワガママを解決する「検索可能暗号」

例に出した検索可能暗号とか秘密計算の事例について、ここからご紹介していきたいと思います。

まず、検索可能暗号のコンセプトについて。こちらは、サーバー側にデータを預ける際に、サーバー側にデータを見せないままで検索もできるものです。情報漏洩リスクを低減したままデータ検索性も失いたくないということで、実現するプランとして、2つほどプランを表示しています。

こちらは、まず1つ目。サーバー側のデータが漏洩しないように、サーバー側の鍵で暗号化しようというのがプラン1ですね。サーバー側の鍵で暗号化してしまうと、鍵はサーバーが持っているので、サーバー側でデータを復元できてしまう。つまり、サーバー側にデータが漏洩してしまうという課題があります。

次にプラン2は、利用者側の鍵で暗号化するという方向性のものです。こちらは、利用者側の鍵で暗号化してしまうと、サーバー側で検索したい時にクライアントからキーワードをもらってもキーワードと検索先のデータが暗号化されてしまっているので、比較などができない。なので、検索ができないといった課題があります。

こちらの2つの課題を解決できるという、このワガママを解決しているのが検索可能暗号です。この発表の中では、ロジックまでの解説はしませんが、こういったコンセプトで作られています。

検索可能暗号の事例その1

検索可能暗号は、すでにサービスも提供されているものもありますが、1つの事例として、こちらを紹介したいと思います。

こちらは、国立研究開発法人の情報通信研究機構、略してNICTという国の研究開発機関で作られたものになります。

(スライドを示して)こちらは概要図ですが、上側の薄い水色で示されている部分がデータ登録部分、下側の濃い青色で示されている部分がデータ検索時の処理です。こちらはクライアントが管理している鍵で、データ登録時も検索時も処理されるようになっています。

データの登録時に、クライアントの鍵でサーバーでキーワードのマッチングができるようにランダム化を行うというロジックが入っているのが特徴です。データの登録時もデータの検索時もずっと暗号化されているので、エンドツーエンド暗号化も実現されています。

こちらは方式だけではなく、デモシステムにもなっています。どこで暗号化されているのかも可視化されるシステムになっているので、ちょっとどんな処理なのかが気になる方には、いいシステムなのかなと思います。

検索可能暗号の事例その2

次の事例です。こちらは検索可能暗号を実用化したものではなく、検索可能暗号自体を理解してもらおうという取り組みです。

ここまでテキストや言葉だけで説明してきていたので、どうやって実現しているんだろうといったところを伝えきれていない部分があると思うんですね。

こういう高機能暗号を説明すると、けっこう狐につままれたような気持ちになったり、「本当は平文に戻しているんじゃないの?」といった声をいただくことがあります。

そういった課題を解決するために、身近な例とひもづけて高機能暗号を説明しようという取り組みを、産総研さん(産業技術総合研究所)を中心とした研究グループのみなさまでされていて、視覚的・物理的暗号技術といった新しい研究分野が作られています。

検索可能暗号については、身近なレターボックスを使った例が紹介されています。(スライドを示して)こちらにレターボックスのストーリーを理解するための資料も公開されているので、興味がありましたらご確認いただけるとうれしいです。

プライバシー保護連合学習技術「DeepProtect」の紹介

ここからは、秘密計算関連の事例を紹介していきたいと思います。

機械学習、AIが2022年のGPTの登場によってすごく爆発的に利用が広がっているかと思います。

機械学習の重要な部分は、データを集めるところですね。特にアノマリー検知では、異常が起きている事象のデータが取りにくいので、データが集めにくいというご相談を実際にいただくこともあります。ちょっとデータ量が少なかったりとか。

あとは、自社だけだと(データが)少ないので複数の組織でデータを利活用してみようというのも、取り組みとしては考えられますが、個人情報や会社特有の情報もあり、それらの取り扱いが足かせになってきます。

こういった課題を解決するために、複数の組織で学習する連合学習と準同型暗号を組み合わせた技術が出てきています。

こういった技術の1つとして、ここではNICTさんの技術であるDeepProtectを紹介していきたいと思います。

こちらは2018年にNICTさんで開発されたプライバシー保護連合学習技術、DeepProtectというものです。CRESTという国プロ(政府研究開発プロジェクト)で実証実験も実施されていて、銀行5行と協力して、安全に連合学習を行うという実績ができています。

ほかの学習技術の比較です。普通にデータを集めてこようとした時、一番素朴な方法として、データを1ヶ所に集めてきて学習をするといったことがあるのですが、こちらはプライバシーの問題があるのでなかなか集められない。

その課題を解決する1つとして、連合学習。(スライドを示して)複数の組織でデータ連携をする場合が真ん中の図になるのですが、こちらの場合は、各組織で学習を行った後に、結果がサーバーで見えてしまうので学習結果が漏洩してしまうといった課題があります。

これに対してDeepProtectは、各組織で学習を行った後の結果に対してさらに暗号化を行うことで、学習結果も秘匿しつつデータをそのまま集めなくてもいいということを実現した技術となっています。

こういったコンセプトで作られているものなのですが、処理の流れをちょっと紹介いたします。図の構成としては、下の部分が各組織を表していて、こちらでは銀行の例としてA銀行、B銀行、C銀行というように下にいる状態ですね。

こちらの学習結果を集約するためのサーバーとして、上に位置しているところが中央サーバーと呼ばれる、集約するところの部分です。

まずステップ1として、各組織で学習する時にデータは平文のままで、各組織の中で機械学習を行っていって、そちらの学習結果に対して加法準同型暗号という技術を使って暗号化を行います。その暗号化された学習結果を中央サーバーに送信していきます。

2つ目のステップでは、各組織からサーバーに学習結果が集まってくるので、暗号化方法として加法準同型暗号、暗号化したまま足し算ができる暗号技術を使って、各組織の学習結果を集約するといった処理ができるようになっています。

最後に、各組織で集約された学習結果を各組織に戻していきます。こちらは、各組織で暗号化された学習結果を復号することで、この続きの学習処理を行っていくという流れになっています。

こうすることで、各組織はデータそのものを出すことなく、ほかの組織の学習結果の成分だけを利活用できるというかたちを実現しています。

この技術については、とてもありがたいことに技術移転いただいているので、興味のある方がいらっしゃいましたら、ぜひお声掛けいただければと思います。

今後ますます高機能暗号は広がっていく

最後に、ちょっと突然のIETF(Internet Engineering Task Force)です。ここまで高機能暗号について紹介してきたのですが、研究分野だけではなく、PoCが作られていたりとか、いろいろ広げるための取り組みが増えてきています。広げるためには標準化も必要になってくるのですが、IETF、インターネットの標準化を行っている組織でも高機能暗号の標準化について議論がされています。

例えば、Crypto Forum、暗号技術について議論していたり、プライバシー系のPrivacy Passや、Privacy Preserving Measurement、プライバシー保護をしたまま統計計算ができる技術などの標準化が進められています。こういった実用に近いところでの議論も進んでいるので、今後ますます、高機能暗号は広がっていくのではないかなと考えています。

最後にまとめです。暗号というと、やはりちょっと取っつきにくいなというお声をよく聞くのですが、意外に身近なところにあるので、そういった例を通してお話ししました。

今回はちょっと省略してしまったのですが、暗号技術は数学の理論を駆使して、魔法のようなことが実現できる技術となっています。安心安全なインターネットを支えてくれている技術なので、日常生活の中でも暗号技術のことを思い出していただけたらうれしいです。

今回の発表は以上となります。ありがとうございました。