第 4 章 分散 PDS のシステム概要
4.3 PLR における安全なデータ共有の実現方法
本節では、分散PDSにおける安全なデータ共有を実現するため、PLR (Personal Life Repository)において、どのような暗号の仕組みが使われているかを報告する。PLRでは、
実際のデータはパブリッククラウド(現在ではGoogleドライブ)に置かれているが、基本的に は、クラウド事業者にも内容がわからないように暗号化されている。
たとえば、Aさんの住所は、PLRが規定するGoogleドライブ中のフォルダ(profileフォルダ と呼ぶ)の中に暗号化されて置かれる。鍵の運用の方法を図4-2に示す。このprofileフォルダ には、共通鍵kで暗号化された住所データと、Aさんの公開鍵で暗号化された鍵kのデータ(こ のデータのファイルはAさんのPLR-IDを所定のハッシュ関数で変換した結果を名前に含む)
33
が格納されている。このようにデータを配置しておくことによって、Aさんは、自分の秘密 鍵で鍵kを復元し、kで住所データを復元できる。自分の公開鍵で住所データを暗号化して おく方法もあるが、住所データ以外の長いデータも同一手順で高速に処理できるよう、高 速な共通鍵暗号と低速な公開鍵暗号を組み合わせた本方式を用いている。各自の公開鍵は 暗号化せずに格納されている。この公開鍵は、Googleドライブのアクセス制御によって、
本人しか更新できないようになっている。
図4-2: 鍵の運用
ここで、BさんがAさんの住所を教えてもらうという名簿管理アプリ(Personary)のユースケ ースを考える。BさんはあらかじめAさんのPLR-ID (PLRにおけるAさんの識別子。現在はメ ールアドレスを利用)をなんらかの方法で入手しているものとする。Bさんは、名簿管理ア プリのインタフェースより、AさんのPLR-IDを入力し、Aさんに「友達」申請をする。この
とき、Aさんが自分の公開鍵を参照できるように、公開鍵を含むGoogleドライブ中のファイ
ルのURLをGoogleドライブによってAさんに開示する。AさんのPLRサーバはBさんからの 友達申請を自動的に了承し、自分の公開鍵を含むGoogleドライブ中のファイルのURLを GoogleドライブによってBさんに開示する。こうしてAさんとBさんは互いの公開鍵を取得 する。
図4-3: 名簿管理アプリによる友達申請
34
次に、Bさんが名簿管理アプリを使ってAさんに住所が欲しいとのリクエストを送ると、
Aさんの名簿管理アプリにBさんからのリクエストが表示される。Aさんがこれを了承する と、Aさんの名簿管理アプリは、BさんがAさんの住所を読めるように、kをBさんの公開鍵 で暗号化したデータをAさんのprofileフォルダに格納する。
Aさんからの許可がおりると、Bさんの名簿管理アプリは、Aさんのprofileフォルダから、
暗号化された住所データと、自分用に暗号化された鍵データを入手し、これらを用いて住 所データを復元する。
図4-4: 名簿管理アプリによる住所データへのアクセス
35