ブロックチェーンの改竄不可能性とGDPRの個人情報削除権との両立アイデア

１　アイデア（発明）総論
　GDPR（EU一般データ保護規則）による個人情報削除権（忘れられる権利）の要請とブロックチェーンの削除不可能性とがトレードオフとなるジレンマを解決するアイデアを投稿します。個人情報にアクセスする暗号鍵を削除する「ブラックリスト方式」のアイデアの改良型です。ブラックリスト方式の場合には、アクセスする暗号鍵が全て削除されて存在しないことを証明しなければならず、悪魔の証明を強いられるという欠点があり、それを解消するアイデアです。
　一言でいえば、二重暗号文に対しアクセスする暗号鍵を２つにして複合し、暗号鍵の一方を他のデータに更新することにより、アクセスできなくする（複合できなくする）ものです。

２　アイデア（発明）各論
【要約】
【課題】ブロックチェーンによる情報の真正の保証とＧＤＰＲ（General Data Protection Regulation）による情報の削除権の要請とが二律背反するジレンマを解消する。
【解決手段】２つの片割れ共通鍵ＫＡ及びＫＢで情報を二重暗号化ＥＫＡ(ＥＫＢ(情報））してブロックチェーンに記録する。情報保持者は、情報要求者に対し、一方の片割れ共通鍵ＫＢを配布すると共に二重暗号化された情報を片割れ鍵ＫＡで復号ＤＫＡ(ＥＫＡ(ＥＫＢ（情報）））した情報ＥＫＢ（情報）を送信する。情報要求者はＤＫＢ(ＥＫＢ(情報））を演算して平文の情報を得る。情報保持者が片割れ共通鍵ＫＡをＲに更新することにより、情報要求者に対しＤＲ(ＥＫＡ(ＥＫＢ（情報）））が送信され、情報要求者がＫＢで復号ＤＫＢ(ＤＲ(ＥＫＡ(ＥＫＢ（情報）））しても、平文を得ることをできなくする。
　 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/461483/f3d9cf28-a0ff-e827-5c82-e5a0085b5c99.png)

【技術分野】
　本発明は、例えば、ブロックチェーン等のような改竄や消去が困難な情報記録方式についての処理システムおよびプログラムに関する。
【背景技術】
　改竄が困難な情報記録方式としてブロックチェーンが従来から一般的に知られている。このブロックチェーンを利用して貨物輸送に関する各種情報を記録しているものとして、例えば、特許文献１がある。
【先行技術文献】
【特許文献】
　　【特許文献１】特開２０１８－１２８７２３号
【発明の概要】
【発明が解決しようとする課題】
　しかし、このようなブロックチェーンを利用した情報の記録は、改竄が困難なばかりでなく消去も困難である（以下「消去不可能性」という）。その結果、一旦ブロックチェーンを利用して個人情報の記録を行った場合には、その個人情報主が個人情報を消去したくなっても消去できず個人情報消去権（いわゆる忘れられる権利）が損なわれるという欠点がある。
　つまり、記録された情報の真正の保証とその情報の削除権の保証とが二律背反するジレンマが生じるという欠点が生じる。
　本発明は、かかる実情に鑑み考え出されたものであり、その目的は、記録された情報の真正の保証とその情報の削除権の保証とが二律背反するジレンマを解消することである。
【発明を実施するための形態】
　この実施形態は、ブロックチェーンを利用して記録した個人情報に対し、暗号化技術を応用することにより、自己の個人情報を削除する個人情報削除権（いわゆる忘れられる権利）の必要性に応えるものである。ブロックチェーンは一旦記録した情報が改竄不可能または改竄が極めて困難である点が特徴であり、そのために、一旦記録した情報の削除が不可能または極めて困難である（これを以下「削除不可能性」という）。一方、欧州におけるＧＤＰＲ（General Data Protection Regulation）では、記録した個人情報をその個人情報主が削除できる個人情報削除権（いわゆる忘れられる権利）を保証することが要求されている。このＧＤＰＲの個人情報削除権の要請とブロックチェーンにおける削除不可能性とが真っ向から対立し二律背反するジレンマとなっている。つまり、この実施形態は、削除したい情報の削除権を保証する要請と削除不可能性とが二律背反するジレンマを解決するものである。その概要を図１に基づいて説明する。
　 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/461483/119eb78b-3ead-fcba-14dc-527a34fba117.png)

　図１（Ａ）は削除権を行使していない通常状態を示しており、図１（Ｂ）は削除権を行使して情報を解読不能化した状態を示している。図１（Ａ）を参照して、情報保持者（情報主ともいう）４０が情報を２つの片割れ共通鍵ＫＡとＫＢを用いて二重暗号化する。式で表せばＥＫＡ(ＥＫＢ(情報））となる。次に、その暗号化情報であるＥＫＡ(ＥＫＢ(情報））をブロックチェーン等に記録する。なお、片割れ共通鍵ＫＡは秘匿状態で情報保持者４０のユーザ端末に記憶しておく。
　この状態で、情報要求者４１が情報主４０に対し情報を要求したときには、情報主４０が、記録している暗号化情報であるＥＫＡ(ＥＫＢ(情報））を鍵ＫＡで復号する。式で表せば、ＤＫＡ(ＥＫＡ(ＥＫＢ(情報））＝ＥＫＢ(情報）となる。そして、このＥＫＢ(情報）と片割れ共通鍵ＫＢとを情報主４０が情報要求者４１へ送信する。なお、片割れ共通鍵ＫＢを情報要求者４１の公開鍵ＰＫで暗号化（ＥＰＫ(ＫＢ））して情報要求者４１に送信するのがセキュルティ上望ましい。情報要求者４１は、受信したＥＰＫ(ＫＢ）を自身の秘密鍵ＳＫで復号（ＤＳＫ(ＥＰＫ(ＫＢ）＝ＫＢ）する。
　そして、情報要求者４１は、受信したＥＫＢ(情報）を片割れ共通鍵ＫＢで復号する。式で表せば、ＤＫＢ(ＥＫＢ(情報））＝情報　となる。これにより、情報要求者４１は、平文の情報を得ることができる。
　次に、削除権を行使して情報を解読不能化した状態を図１（Ｂ）に基づいて説明する。情報主４０は、解読不能化したい情報の暗号化に用いた片割れ鍵ＫＡとＫＢとのうち、ＫＡを乱数Ｒ（≠ＫＡ）に更新する。次に、片割れ共通鍵ＫＢを既に記憶している情報要求者４１が情報主４０に対し情報を要求したときには、情報主４０が、記録している暗号化情報であるＥＫＡ(ＥＫＢ(情報））を鍵Ｒ（乱数）で復号する。式で表せば、ＤＲ(ＥＫＡ(ＥＫＢ(情報））となる。そして、このＤＲ(ＥＫＡ(ＥＫＢ(情報））を情報主４０が情報要求者４１へ送信する。
　それを受信した情報要求者４１は、既に記憶している片割れ共通鍵ＫＢでＤＲ(ＥＫＡ(ＥＫＢ(情報））を復号する。式で表せば、ＤＫＢ(ＤＲ(ＥＫＡ(ＥＫＢ(情報））））≠情報　となる。このように、解読不能化状態では、既に片割れ共通鍵ＫＢを記憶している情報要求者４１であっても平文の情報を得ることができず、削除したい情報の削除権を保証する要請と削除不可能性とが二律背反するジレンマを解決することができる。なお、ブロックチェーン等に記録する個人情報等の情報をコピー＆ペーストできないようにコピー禁止処理を施しておれば、情報の削除権の保証はより完全なものとなる。
　次に、図２は、ブロックチェーンのノードを構成するユーザ端末（ＰＣ）のＨＤＤ１２に記憶されている情報を示している。ブロックチェーンデータにおける取引Ｉを参照し、この実施形態では、暗号化個人情報であるＥＫＡ(ＥＫＢ(個人情報））を直接ブロック内に記録している。ここに、ＫＡとＫＢは片割れ共通鍵である。
　 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/461483/7e4dd107-b3d5-32ae-4990-ab6955da15a0.png)

　また、インデックスとは、暗号化個人情報ＥＫＡ(ＥＫＢ(個人情報））をキーワード検索するための索引のことである。本実施形態では、インデックスを共通鍵Ｋ２により暗号化する共通鍵暗号方式を採用しているため、キーワード検索するためには、検索に用いるキーワード（検索クエリ）を共通鍵Ｋ２で暗号化した暗号化検索クエリ（これを「トラップドア」という）を用いて検索する。共通鍵Ｋ２は、ユーザ毎に異なる鍵であるが、同じユーザの暗号化インデックスであれば同じ鍵が用いられる。よって、スマートコントラクトにより、例えばユーザＡがユーザＢに対して共通鍵Ｋ２を配布するトランザクションを行えば、ユーザＢは、ＥＫ２(検索クエリ）を用いてユーザＡの全ての暗号化インデックスをブロックチェーン上で検索可能となる。
　なお、暗号文を暗号化したまま検索できる準同型暗号や完全準同型暗号等の検索可能暗号を用いてもよい。その際、準同型暗号や完全準同型暗号を用いて個人情報を暗号化し、その暗号化個人情報をブロックチェーンに直接記録してもよい。
[実施形態の変形例]
　（１）　前述の実施形態では、暗号化個人情報であるＥＫＡ(ＥＫＢ(個人情報）をブロックチェーンに直接記録しており、この大量の暗号化個人情報を各ノード（パブリックチェーン４では全てのノード）に記憶させていたのでは、各ノード（ユーザ端末）が膨大な記憶容量を要求されるという不都合が生じる。これを解決する手段として、分割したデータを複数のコンピュータで保存する秘密分散技術を応用する。データを分割して断片化し、各断片化データを複数のノードに分散保存する。また各ノードに保存されるデータを冗長化して（重複して）記憶させる。十分な冗長性を持たせることにより、断片データの一部が失われても復元に支障はなく、かつ、ブロックチェーンとしての改竄の困難性も担保できる。さらに、断片化データの記憶を担う記憶量を各ノードの意思で決めるように制御し、担う記憶量に応じた対価をトークン等の形で各ノードに付与するように制御してもよい。
　（２）　実施形態では片割れ共通鍵ＫＡを個人情報主が保持（ユーザ端末のＨＤＤ１２に記憶）していたが、その代わりに、所定機関（第三者機関）の一例の鍵登録センタの鍵データベースに片割れ共通鍵ＫＡを登録しておくようにしてもよい。なお、片割れ共通鍵ＫＡは秘匿状態で鍵データベースに記憶しておく。
　（３）　削除権を保証する情報は、個人情報に限らず、例えば、ＳＮＳやブログへの投稿情報（投稿写真及び投稿動画のデータを含む）、遺言や任意後見契約などの公正証書、私文書や会社等の定款、その他確定日付が必要なもの等、どのような情報であってもよい。また、実施形態では削除権を保証する情報をブロックチェーンを利用して記録していたが、ブロックチェーンは一例に過ぎず、他のものを利用して記録してもよい。
　さらには、片割れ共通鍵ＫＡ及びＫＢの排他的論理和（イクスクルーシブオア）を演算して１つの鍵Ｋを生成し（ＫＡ(+)ＫＢ＝Ｋ）、その鍵Ｋで個人情報を暗号化し（ＥＫ(個人情報））、片割れ共通鍵ＫＡを鍵登録センタの鍵データベースに登録すると共に、個人情報の要求者に片割れ共通鍵ＫＢを配布する。個人情報の要求者からの要求を受けた個人情報主は暗号化個人情報を鍵登録センタのサーバ３１へ送信し、個人情報の要求者は配布された片割れ共通鍵ＫＢを鍵登録センタのサーバへ送信する。鍵登録センタのサーバでは、受信した片割れ共通鍵ＫＢと鍵データベースに登録されている片割れ共通鍵ＫＡとの排他的論理和（イクスクルーシブオア）を演算して１つの鍵Ｋを生成し（ＫＡ(+)ＫＢ＝Ｋ）、受信した暗号化個人情報（ＥＫ(個人情報））をその鍵Ｋで復号して平文にした上で（ＤＫ(ＥＫ(個人情報））＝平文)、その平文個人情報を個人情報の要求者へ送信するようにしてもよい。上記(+)は排他的論理和（イクスクルーシブオア）を記号で表現したものである。
　なお、排他的論理和（イクスクルーシブオア）は一例に過ぎず、片割れ共通鍵ＫＡ及びＫＢから１つの鍵Ｋを生成するものであればどのようなアルゴリズムを用いてもよい。
　また、排他的論理和（イクスクルーシブオア）のような加法群を用いて鍵Ｋを生成する上記方式の場合には、片割れ共通鍵ＫＡ及びＫＢを定期的に更新してセキュリティを維持できる利点がある。例えば、一方の片割れ共通鍵ＫＡをＫＣに更新した場合には、他方の片割れ共通鍵ＫＢ＝Ｋ(+)ＫＣ　となり、演算により求めることができる。このようにして片割れ共通鍵ＫＡ及びＫＢすることにより、片割れ共通鍵の漏洩に対抗することができるばかりでなく、１度片割れ共通鍵ＫＢを配布した個人情報要求者が再度ブロックチェーン上の暗号化個人情報を復号できないようにして閲覧を阻止することが可能となる。このような片割れ共通鍵の更新を片割れ共通鍵ＫＢの１度の配布毎に実行することにより、片割れ共通鍵ＫＢの配布を受けた者が他人にその片割れ共通鍵ＫＢを横流ししたとしても、その横流しを受けた者によるブロックチェーン上の暗号化個人情報を復号阻止することが可能となる。つまり、配布する片割れ共通鍵ＫＢを１度のみ使用可能なワンタイム鍵にすることができる。
　また、共通鍵に限定されるものではなく、ＲＳＡや楕円暗号等の公開鍵暗号方式を用いてもよい。
　また、上記の鍵の更新を実現するにおいて、以下のような条件を満たす暗号アルゴリズムを採用してもよい。
　平文をＭ、その暗号文をＣ、暗号鍵をＫＡ、ＫＢ、ＫＣ及びＫＤと現し、
　ＥＫＡ(ＥＫＢ(Ｍ））＝ＥＫＣ(ＥＫＤ(Ｍ））＝Ｃ
の式が成立するアルゴリズム。
　このようなアルゴリズムが共通鍵暗号アルゴリズムの場合には、片割れ共通鍵ＫＡ及びＫＢをＫＣ及びＫＤに更新した場合に、ブロックチェーンに記録されている暗号文Ｃを片割れ共通鍵ＫＣ及びＫＤで復号することにより平文Ｍを得ることができる。一方、公開鍵暗号アルゴリズムの場合には、秘密鍵ＫＡ及びＫＢをＫＣ及びＫＤに更新した場合に、秘密鍵ＫＣ及びＫＤに対応するペアの公開鍵ＰＫＣ及びＰＫＤでブロックチェーンに記録されている暗号文Ｃを復号することにより平文Ｍを得ることができる。