JP7264440B2 - 分散データ管理システムおよびそのプログラム - Google Patents
分散データ管理システムおよびそのプログラム Download PDFInfo
- Publication number
- JP7264440B2 JP7264440B2 JP2019021874A JP2019021874A JP7264440B2 JP 7264440 B2 JP7264440 B2 JP 7264440B2 JP 2019021874 A JP2019021874 A JP 2019021874A JP 2019021874 A JP2019021874 A JP 2019021874A JP 7264440 B2 JP7264440 B2 JP 7264440B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- information
- node
- proxy server
- management system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
ブロックチェーン技術は、元々は仮想通貨の実現のために提案された技術である。取引(トランザクション)を記録した台帳を、一台のホストコンピュータで管理して保持するのではなく、複数のコンピュータに重複した形で分散して保持する。
特許文献1には、上位ネットワークと下位ネットワークとをブロックチェーンで管理し、ネットワークそのものを階層化することが記載されている。
特許文献3には、暗号のやりとり方法が記載されている。暗号化されたメディアストリームを復号する際にインデックスを利用するというもので、特定の人だけがブロックを繋げることが記載されている。
本発明の分散データ管理システムは、データ蓄積システムのセキュリティ管理に用いるブロックチェーンの認証にレベル付けを加えることにより、アプリケーションに適した形で消失・改ざん耐性を保持しつつ指定された範囲でデータの共有を可能とする管理を実現している。
なお、ブロックチェーンとは、ハッシュポインタを使用し改竄検出が容易なデータ構造を持ち,且つ,当該データをネットワーク上に分散する多数のノードに保持させることで,高可用性及びデータ同一性等を実現する技術と定義されている。(日本ブロックチェーン協会. http://jba-web.jp/.)
2) 二次利用データ解析者が復号できるアクセスレベルを設定
3) 再暗号化鍵をプロキシサーバで2つのマトリクスの形で持つ
4) ブロックへの接続認証を最高アクセスレベル(例.本人または医療関係者)のみで持つ
5) ブロックの認証に必要なMerkle Treeの情報を最高アクセスレベルで暗号化
上記のような構成にすることにより、メディカルデータ、センサデータなどをレベルによって指定された範囲の人(ここでは、本人と医療関係者)によってブロックチェーンを繋げること、レベルによって指定された範囲の人とデータの解析が可能となる。
図1に、本発明に係る実施形態の分散データ管理システムSの構成を模式図に示す。
実施形態の分散データ管理システムSは、Internet10 に接続されたノード(1a、1b、1c)、プロキシサーバ2、および認証局3を備えて構成されている。なお、ネットワークはInternet10 以外のネットワークでもよい。また、プロキシサーバ2 の機能は、ノード内に実現されていてもよい。
すなわち、ノード(1a、1b、1c)、プロキシサーバ2、および認証局3は、それぞれCPU、記憶装置、入・出力装置を有している。ノード(1a、1b、1c)、プロキシサーバ2、および認証局3は、それぞれのCPUでプログラムを実行することで、それぞれの機能が実現される。
ノード(1a、1b、1c)は、データを登録・利用する登録・利用ノード1a、データを蓄積するデータ蓄積ノード1b、およびデータを解析するデータ解析ノード1cの3種類を想定する。登録・利用ノード1a、データ蓄積ノード1b、およびデータ解析ノード1cには、分散データ管理システムSのプログラム(ソフトウェア)が格納されている。
登録・利用ノード1aは、ブロックチェーン4を構築し、蓄積し、利用する。登録・利用ノード1aは、例えば、患者のパソコン、携帯端末、高機能ヘルスメータ、高機能血圧測定装置等、医者、看護師、医療従事者等のパソコンである。
データ解析ノード1cは、登録・利用ノード1aで構築されたブロックチェーンを蓄積し、解析するノードである。データ解析ノード1cは、例えば、医療情報の解析、クリニカルパスの抽出等を行うデータ二次利用者のパソコンである。
登録・利用ノード1aでブロックチェーン4を蓄積する際、プライバシー保護のプライバシーレベルによってブロック4bの内部を分割している。ここで、プライバシーレベル1を最高とする。
そして、それぞれのブロック4bの分割した部分に対してプロキシ再暗号化可能な暗号(例えばBBS暗号)の公開鍵を切り替えて暗号化を行い、ブロック4bをブロックチェーン4につないで蓄積する。
以下、分散データ管理システムSの手続きを述べる。
なお、文Tの暗号鍵kxによる暗号化はenc(T, kx)と表し、この暗号化により生成される暗号文はc(T, kx)と表す。また、暗号文c(T, kx)の暗号鍵kyによる復号化はdec(c(T, kx), ky)と表す。公開鍵はpkxと表し、秘密鍵はskxと表す。
データ解析ノード1cのユーザazは公開鍵pkazをもち、秘密鍵skazをもつ。
また、認証局3は、図3に示す登録・利用ノード1aの利用者u1~unの各公開鍵pku1-nと 、ブロック4bが分割されたレベル1~レベルmの各公開鍵pkl1-m の間の再暗号化鍵のマトリクスRKulを作成する。
認証局3は、図4に示すブロック4bが分割されたプライバシーレベル1~レベルmの各公開鍵pkl1-m と 、登録・利用ノード1aの利用者u1~nの各公開鍵pku1-nとの間の再暗号化鍵のマトリクスRKluを作成する。
認証局3は、図5に示すブロック4bが分割されたプライバシーレベル1~mの各公開鍵pkl1-m と 、データ解析ノード1cのデータ解析者1~qの各公開鍵pka1-qとの間のデータ解析者用の再暗号化鍵のマトリクスRKlaを作成する。
解析者用のマトリクスRKlaはRKluと同様であるが、プライバシーレベル1~mのうちの許可されるレベル以下の行だけを持ち、それより上のプライバシーレベルの行は持たない。図5に示す解析者用のマトリクスRKlaの例ではl1の行を持たない例を示している。
次に、分散データ管理システムSの登録処理について説明する。
図6~図8に、分散データ管理システムSの登録処理における認証処理のシーケンス図を示す。
利用者 ux が登録・利用ノード1a(図1参照)で分散データ管理システムSにログインして鍵を要求すると(図6のステップS100)、利用者 ux が操作する登録・利用ノード1aは、認証局3のサーバから公開鍵と秘密鍵(pkux, skux)を受け取る(ステップS101)。
認証のための一つの方法としては、登録・利用ノード1aがプロキシサーバ2に認証要求を利用者 ux の公開鍵pkuxとともに送る(ステップS102)。すると、プロキシサーバ2側で乱数Aを生成し保持する(ステップS103)。乱数Aを送られた公開鍵pkuxで暗号化してc(A, pkux)を生成し(ステップS104)、利用者 uxの登録・利用ノード1aに返す(ステップS105)。
そして、例えばA+1を計算して、秘密鍵skuxでA+1を暗号化してc(A+1, skux) を生成する(ステップS107)。そして、登録・利用ノード1aは、c(A+1, skux) をプロキシサーバ2に送る(ステップS108)。
なお、上述以外の方法で認証を行うことも可能である。
図7に、分散データ管理システムSの登録処理における血圧値Bと体重値Wとを登録するための処理のシーケンス図を示す。
次に、利用者 ux が血圧値B(タイプT1)のデータを登録・利用ノード1aでブロックチェーン4に格納したい場合、利用者 ux は、登録・利用ノード1aに血圧 (T1)に 血圧値Bを入力する(図7のステップS110)。
そして、登録・利用ノード1aは設定したいプライバシーレベルL2とA+2の情報とともに、秘密鍵skuxで暗号化してc((c(B, pkux), L2, A+2), skux)を生成する(ステップS112)。そして、登録・利用ノード1aはc((c(B, pkux), L2, A+2), skux)をプロキシサーバ2に送る(ステップS113)。
プロキシサーバ2は、L2(プライバシーレベル2)という指定に従ってRKul[x,2](利用者 ux のプライバシーレベル2)の再暗号化鍵を用いて再暗号化を行い、c(B, pkl2)を生成する(ステップS115)。
利用者 uxの登録・利用ノード1aは受け取ったc(B, pkl2)を記憶媒体に保持する(ステップS117)。
そして、登録・利用ノード1aは公開鍵pkuxで体重値Wを暗号化してc(W, pkux)を生成する(ステップS119)。
そして、登録・利用ノード1aは、c((c(W, pkux), L3, A+3), skux)をプロキシサーバ2に送る(ステップS121)。プロキシサーバ2では、利用者 ux の公開鍵pkuxを使って復号化して(c(W, pkux), L3, A+3)を得る。プロキシサーバ2は、(c(W, pkux), L3, A+3)で保持していたA+2と、A+3の整合性を確認する(ステップS122)。
そして、プロキシサーバ2は、c(W, pkl3)を利用者 uxの登録・利用ノード1aに送り返す(ステップS124)。
図8に、分散データ管理システムSの登録処理におけるハッシュ値から新しいハッシュ値の計算と暗号化処理のシーケンス図を示す。ハッシュ値の処理は、これとは別に、ブロックチェーンのツール等で提供されているものを利用することも可能である。
登録・利用ノード1aで保持するc(B, pkl2)、c(W, pkl3)等をブロックチェーン4に登録するためには、ブロックチェーン4の最新のブロック4b1(図2参照)に格納されたハッシュ情報が必要となる。
登録・利用ノード1aは、ハッシュ情報c(Hj, pkl1)と、L1とA+4を自身の秘密鍵skuxで暗号化し、c((c(Hj, pkl1), L1, A+4), skux)を生成する(ステップS127)。
プロキシサーバ2では、利用者 ux の公開鍵pkuxによってc((c(Hj, pkl1), L1, A+4), skux)を復号化し、(c(Hj, pkl1), L1, A+4)を得て、保持していたA+3と、A+4の整合性を確認する(ステップS129)。
その後、プロキシサーバ2は、登録・利用ノード1aからのプライバシーレベルL1の指定に従ってRKul[x,1]の再暗号化鍵を用いてc(Hj+1, pkux)から再暗号化して、c(Hj+1, pkl1)を生成する(ステップS138)。そして、プロキシサーバ2は、c(Hj+1, pkl1)を利用者 uxの登録・利用ノード1aに返す(ステップS139)。
次に、データ解析者a1~ aqのブロックチェーン4のブロック4bのデータを参照する処理について説明する。
しかし、データ解析者a~aqの各データ解析ノード1cは、データ解析者用の再暗号化鍵のマトリクスRKla(図5参照)の構成から、指定されたプライバシーレベルLより上位に対応する 再暗号化鍵RKla[L,x] を持たないため、指定されたプライバシーレベルのLRK2a[L,x]以下のプライバシーレベルしか再暗号化できない。つまりデータ解析者a~aqは、指定されたプライバシーレベルL以下のブロック4bのデータしか秘密鍵で平文に復号できず、参照できない。
ここで、データ解析者azは、プライバシーレベルL3以下は許可されているものの、プライバシーレベルL2以上は許可されていないものとする。
分散データ管理システムSの参照処理は、データ解析ノード1c、プロキシサーバ2、および認証局3のそれぞれに格納されるソフトウェア(プログラム)によって行われる。
認証のための一つの方法としては、データ解析ノード1cがプロキシサーバ2に認証要求をデータ解析者azの公開鍵pkazとともに送る(ステップS202)。すると、プロキシサーバ2側で乱数Aを生成し保持する(ステップS203)。乱数Aを送られた公開鍵pkazで暗号化してc(A, pkaz)を生成し(ステップS204)、 データ解析者azのデータ解析ノード1cに返す(ステップS205)。
なお、上述以外の方法で利用者であるデータ解析ノード1cの認証を行うことも可能である。
続いて、データ解析者azがブロック4b(IDk )の血圧値B (T1)を参照する処理を説明する。
次に、利用者 uyがブロックチェーン4のブロック4bのデータを参照する際の参照処理について説明する。
図10に、利用者 uxが登録・利用ノード1aを用いてブロックチェーン4のブロック4bのデータを参照する参照処理のシーケンス図を示す。
利用者 uxが登録・利用ノード1aで分散データ管理システムSにログインして鍵を要求すると(図9のステップS300)、登録・利用ノード1aは、認証局3のサーバから公開鍵と秘密鍵(pkuy, skuy)を受け取る(ステップS301)。
認証のための一つの方法としては、登録・利用ノード1aがプロキシサーバ2に認証要求を利用者 uxの公開鍵pkuyとともに送る(ステップS302)。すると、プロキシサーバ2側で乱数Aを生成し保持する(ステップS303)。そして、乱数Aを送られた公開鍵pkuyで暗号化してc(A, pkuyz)を生成し(ステップS304)、利用者 ux の登録・利用ノード1aに返す(ステップS305)。
なお、上述以外の方法で認証を行うことも可能である。
次に、利用者 uxがブロック4bのIDk の体重(T2)を登録・利用ノード1aに入力して要求する(図9のステップS310)。データ解析ノード1cは、IDkとT2を用いて、ブロックチェーン4から[T2, L3, c(W, pkl3)] を取り出す(ステップS311)。そして、登録・利用ノード1aは、(c(W, pkl3), L3, A+2)を秘密鍵 skuyで暗号化してc((c(W, pkl3), L3, A+2), skuy) をプロキシサーバ2に送る(ステップS312)。プロキシサーバ2は、c((c(W, pkl3), L3, A+2), skuy)を、利用者 uxの公開鍵pkuyで復号化して(c(W, pkl3), L3, A+2)を得、保持していたA+1との間でA+2の正当性を確認して認証を行う(ステップS313)。
続いて、利用者 uxがブロック4b(IDk )の血圧値B (T1)を参照する処理を説明する。
従来、ブロックチェーン技術を用いて医療情報を蓄積するアプローチは、消失・改竄を防ぐことが可能なために既に注目を集めている。しかしながら、これまでのところ二次利用を考慮しつつもプライバシーを適切に保護する手法は提案されていない。つまり、本人(患者)、医療従事者、医療情報の二次利用データ解析者、運用管理者という異なる役割に対して、情報の消失、改竄、漏洩を防いで開示範囲を調整する手法は、必要性が高いにも関わらずまだ実現されていない。
また、本分散データ管理システムSにより、医療情報の消失や改竄、漏洩を防いで医療履歴や個人の生理計測データを分散して蓄積できる。
加えて、二次データ解析者に、プライバシーレベルに従って適切なレベルのデータを提供することが可能になる。
そのため、データ解析による医療の発展に寄与できる。
図11に、変形例の分散データ管理システムSAの機能の模式ブロック図を示す。
変形例の分散データ管理システムSAは、実施形態1(図2参照)のブロックチェーン4のブロック4bに格納されるデータを、図11に示すデータサーバ11に格納する構成としたものである。
データサーバ11は、格納するデータの改ざん防止、消失防止の機能を具備しているものが望ましい。
その他の構成は、実施形態1の分散データ管理システムSと同様であるから、同様な構成要素には同一の符号を付して示し、詳細な説明は省略する。
ノード(1a、1b、1c)に格納されるブロックチェーン24のブロック24bは、プライバシーレベル1~mに分割されている。そして、ブロック24bには、データの所在を示すポインタp1~pmがプライバシーレベル1~m別の公開鍵pkl1~pklmで暗号化されて格納されている。
変形例によれば、分散データ管理システムSAの製作の多様化に寄与できる。
本発明の実施例として考えられるものの一つとしては、医療における電子カルテの分散蓄積とその二次利用、健康に関する生理計測データの分散蓄積とその二次利用、あるいは電子カルテと生理計測データを組み合わせた分散蓄積とその二次利用等が考えられる。
さらに、IoT技術の進歩と健康に関する関心の高まりから、各個人の日々の生活の中で計測される体重、血圧、体温等々の生理計測データを、ネットワークを介して収集することが可能になっている。さらに、異なる医療機関、薬局等の医療情報と、日々の生理計測データとを組み合わせることで、健康管理や高齢者の介護に適用することが考えられている。
例えば、実施例1の分散データ管理システムS1は、インターネット10を介して、高機能ヘルスメータ5、高機能血圧計6、携帯端末7、パソコン8、クラウドストレージサーバ9、データ解析ノード11c、プロキシサーバ12、および認証局13が接続されている。
その際、上述の実施形態により、本人である患者あるいは医療従事者、医療情報の二次利用データ解析者、分散データ管理システムS1の運用管理者等が適切な範囲の登録されたデータを見ることができる。例えば、患者の氏名、連絡先等は最上位のプライバシーレベルとし、患者本人と医療従事者しか見ることができない。
プロキシサーバ12は、患者、医療従事者等の利用者u1~un(u1, …, un)、二次利用データ解析者a1~a1q(a1, …, aq)、運用管理者等の各人の役割の情報と、利用者u1~unの公開鍵pku1-n(pku1~pkun)、プライバシーレベルの 公開鍵pkl1-m( pkl1~pklm)、 二次利用データ解析者a1~aqの公開鍵pka1-q(pka1~pkaq)と、再暗号化鍵の2つのマトリクスRKul、RKluと、データ参照用の再暗号化鍵のマトリクスRKlaを認証局13から受け取り、記憶媒体に保持する。
そして、利用者uxのパソコン8は、新しいハッシュ値Hj+1を公開鍵pkuxで暗号化し、プロキシサーバ12に送る。プロキシサーバ12では、マトリックスRKulの再暗号化鍵を用いて、トップのプライバシーレベルL1の公開鍵pkl1に再暗号化し、暗号化された血圧値B1や体重値W1と一緒にブロック14bとして、ブロックチェーン14に接続する。
一方、二次利用データ解析者az、運用管理者は、トップのプライバシーレベルL1に対応する再暗号化鍵を持たないため、ハッシュ情報を取り出すことができず、ブロックチェーン14に登録することはできないが、対応するプライバシーレベルの情報はマトリクスRKlaの再暗号化鍵を用いた再暗号化で得ることができる。
図14に、実施形態2の分散データ管理システムS2の構成の一例の模式図を示す。
分散データ管理システムS2は、パソコン等の端末21、携帯端末22、高機能血圧計23や高機能ヘルスメータ24がインターネット10で接続されている。
端末21、携帯端末22には、分散データ管理システムS2のソフトウェアがインストールされている。
なお、端末21、携帯端末22がインターネット10で接続されたサーバ(図示せず)に格納される分散データ管理システムS2のソフトウェアにアクセスする構成としてもよい。
分散データ管理システムS2は、Hyperledger Fabric(登録商標)におけるComposerの機能であるPlaygroundを使用する。Playgroundは、Hyperledger Fabric(登録商標)が提供する入出力インターフェースのツールである。本構成の場合、クラウド上でファイル作成や動作テストを行えるが他のノード、例えば、端末21、携帯端末22とは共有はしていない。
端末21や携帯端末22には、実施形態1と同様なブロックチェーン4が格納されている。なお、前記した変形例(図11参照)に示すように、ブロックチェーン24のブロック24bにポインタp1~pmを格納し、デーダサーバ11にポインタp1~pmが示すデータd1~dmを格納する構成としてもよい。
なお、鍵生成局25は、耐改竄性、耐漏洩性等の信頼性が高い機密保護を行えれば、ソフトウェアとして分散データ管理システムS2のソフトウェアに組み込む構成としてもよい。
実施形態2の他例の分散データ管理システムS2Aは、Localareaネットワーク上で稼動するシステムである。
分散データ管理システムS2Aは、パソコン等の端末21a、携帯端末22a、高機能血圧計23aや高機能ヘルスメータ24aがHyperledger Fabric(登録商標)のネットワーク20aで接続されている。
パソコン等の端末21a、携帯端末22aには、分散データ管理システムS2Aのソフトウェアがインストールされている。なお、端末21a、携帯端末22aがネットワーク20aで接続されたサーバ(図示せず)に格納される分散データ管理システムS2Aのソフトウェアにアクセスする構成としてもよい。
Application26は、Hyperledger Fabric(登録商標)が提供するオープンソースをカスタマイズしたものである。
なお、他例の分散データ管理システムS2Aでは、Hyperledger Fabric(登録商標)のPlaygroundやCLIといったコンポーネントも使用できる。
端末21aや携帯端末22aには、実施形態1と同様なブロックチェーン4(図2参照)が格納されている。なお、前記した変形例(図11参照)に示すように、ブロックチェーン24のブロック24bにポインタp1~pmを格納し、デーダサーバ11にポインタp1~pmが示すデータd1~dmを格納する構成としてもよい。
図16に、分散データ管理システムS2、S2Aのデータ構造を示す。
実施形態2のモデルファイルに記述するデータは大きくParticipants とAssets の2 種類に分かれる。Participants にはユーザといったAssets を操作する主体の定義がなされている。Assetsには、例えば医療情報のようなモノの定義がなされている。
クライアント側のデータとして、分散データ管理システムS2、S2Aにログインするユーザに、ID(25a)が付与される。各ID(25a)には、秘密鍵25b、公開鍵25c、再暗号化鍵25dが紐つけられている。
人のデータとして、上記のID(25a)があり、名前25eと役割25fとが紐つけられている。なお、図16の(*) 印が書かれている要素はそのデータにおける識別子である。
役割のデータとして、医師25g、解析者25h、患者25iがある。
暗号化するデータとして、日付け25j、プライバシーレベル25k、タイプ25l、説明25mがある。タイプ25lは、例えば血圧、体重等が挙げられる。説明25mには何が入力されて暗号化されたか記載される。
図17に、実施形態2の分散データ管理システムS2、S2Aの機能の概要を示す。
分散データ管理システムS2、S2Aの機能は、上述の分散データ管理システムS2、S2Aのソフトウェアにより具現化される。
医師A(25g1)が端末21等で情報d1を入力すると、情報d1は、Application26により数値情報d2に数値化される(図17のステップS401)。続いて、Application26は鍵生成局25から医師A(25g1)の公開鍵pkAを受け取る(ステップS402)。Application26は公開鍵pkAで数値情報d2を暗号化する(ステップS403)。
次に、チェーンコード27によりブロックチェーン4のブロック4bが生成され、再暗号化情報d3は、当該ブロック4bにおけるプライバシーレベルl2に登録される(ステップS406)。
続いて、医師B(25g2)がブロック4bに格納される再暗号化情報d3を参照する処理を説明する。
まず、医師B(25g2)の端末21等での指示入力に従って、チェーンコード27がブロック4bに格納される再暗号化情報d3をリードする(図17のステップS501)。
続いて、解析者C (25h)がブロック4bに格納される再暗号化情報d3を参照する処理を説明する。
解析者C (25h)の端末21等での指示入力に従って、チェーンコード27がブロック4bに格納される再暗号化情報d3をリードする(図17のステップS601)。
次に、分散データ管理システムS2、S2Aのソフトウェアで行われるトランザクションを説明する。
ユーザ登録処理は以下のように行われる。
図18に、ユーザ登録処理のフロー図を示す。
Application26は、登録するユーザの鍵の作成を鍵生成局25に要求する(図18のステップS11)。
続いて、Application26は、鍵生成局25から再暗号化鍵を取得しブロックチェーン上にAssetのReencKeyn(図16参照)として保存する(ステップS13)。なお、ユーザは、ユーザ登録時に鍵生成局25から予め秘密鍵、公開鍵を受け取る。
図19に、ユーザ削除処理のフロー図を示す。
ユーザ削除処理は、分散データ管理システムS2、S2Aの管理者のみが実行可能である。
ユーザ削除処理は以下のように行われる。
続いて、鍵生成局25が削除するユーザの鍵の情報を、削除する(ステップS22)。
図20に、情報登録処理のフロー図を示す。
例えば、医療情報の登録処理は以下のように行われる。
ユーザが例えば端末21(図14参照)で情報登録を行うと入力すると、端末21の画面は医療情報の登録フォームに移動する(図20のステップS31)。
続いて、Application26は、図17に示すように、鍵生成局25から公開鍵を取得し登録情報を暗号化する (ステップS32)。
続いて、チェーンコード27は、再暗号化した登録情報をブロックチェーン4に記録する。
図21に、復号化処理のフロー図を示す。
ブロックチェーン4のブロック4bに格納される登録情報の復号化処理は以下のように行われる。
そして、チェーンコード27は、再暗号化したデータをApplication26に送信する(ステップS42)。
以上が、復号化処理である。
1.前記実施例では、分散データ管理システムSを医療情報の蓄積、参照に用いる場合を例示したが、他の分野に用いてもよい。
1b 蓄積ノード(コンピュータ、ノード)
1c、11c データ解析ノード(コンピュータ、参照ノード、ノード)
2、12 プロキシサーバ
3、13 認証局
4、14 ブロックチェーン
4b ブロック
10 Internet(ネットワーク)
Hj 現在のハッシュ値(ハッシュ値)
Hj+1 新しいハッシュ値(ハッシュ値)
l1~lm プライバシーレベル(アクセスレベル)
pkl1 レベル1の公開鍵(最高のアクセスレベルの第1の鍵)
pkl1~pklm プライバシーレベルの公開鍵(第1の鍵)
pku1-n 公開鍵(第2の鍵)
rklxay、rkux1y 再暗号化鍵
RKul、RKlu マトリクス
S 分散データ管理システム
skaz、skux、skuy 秘密鍵(第4の鍵)
Claims (11)
- 複数のブロックがつながれるブロックチェーンが格納されるコンピュータのノードと、プロキシサーバあるいは前記プロキシサーバの機能を持つ前記ノードとを備え、
前記ブロックに格納される情報は、
複数のアクセスレベルに分割され、かつアクセスレベルに応じた異なる第1の鍵によって暗号化されており、
前記ノードがもつ第2の鍵で暗号化された情報を前記第1の鍵で暗号化された情報にする再暗号化鍵が前記プロキシサーバに格納されており、
前記プロキシサーバは、前記ノードから送られる前記第2の鍵で暗号化された前記ノードの登録情報および前記登録情報のアクセスレベルおよび新しいハッシュ値の情報から、前記アクセスレベルの前記再暗号化鍵で前記ノードの前記登録情報を暗号化するとともに、前記新しいハッシュ値の情報を対応する前記再暗号化鍵で暗号化する
ことを特徴とする分散データ管理システム。 - 請求項1に記載の分散データ管理システムにおいて、
前記再暗号化鍵は、前記第2の鍵の成分と、前記第1の鍵の成分とのマトリクスの形で前記プロキシサーバに格納され、
前記暗号化鍵の前記マトリクスのx列目、y行目の要素RKlu[x,y]は、プライバシーレベルxの公開鍵pklxから利用者yの公開鍵pkuyへの再暗号化鍵rklxuyに対応している
ことを特徴とする分散データ管理システム。 - 請求項1または請求項2に記載の分散データ管理システムにおいて、
前記ブロックの情報は、ノードまたは参照ノードがもつアクセスレベルの第4の鍵で復号化される
ことを特徴とする分散データ管理システム。 - 請求項1から請求項3のうちの何れか一項に記載の分散データ管理システムにおいて、
前記ブロックへの情報の登録に用いるハッシュ値の情報は、最高のアクセスレベルの前記第1の鍵によって暗号化されている
ことを特徴とする分散データ管理システム。 - 複数のアクセスレベルに分割され、かつアクセスレベルに応じた異なる第1の鍵によって暗号化されている情報が格納される複数のブロックがつながれる情報であるブロックチェーンと、
前記ブロックチェーンに情報を登録する複数のノードと、
前記ノードが前記ブロックに情報を登録する際に前記ノードに第2の鍵および第4の鍵を与える認証局と、
前記第1の鍵と前記第2の鍵との間の再暗号化鍵の情報が格納され前記ブロックへの情報の登録の認証を行うプロキシサーバの機能とを備え、
前記複数のノードと、前記プロキシサーバあるいは前記プロキシサーバの機能を持つ前記ノードと、前記認証局とはネットワークを介して接続されている
ことを特徴とする分散データ管理システム。 - 請求項5に記載の分散データ管理システムにおいて、
前記ブロックチェーンへの前記ノードによる情報の登録に際して、
前記認証局は、前記ノードに前記第2の鍵および第4の鍵を与え、
前記ノードは、前記第2の鍵で暗号化したデータを前記プロキシサーバに送って認証要求を行い、ハッシュ値の情報を前記ブロックチェーンから取り出して暗号化して前記プロキシサーバに送り第1の認証を受け、前記ハッシュ値から新しいハッシュ値を計算し、暗号化した前記新しいハッシュ値の情報を前記プロキシサーバに送り第2の認証を受け、暗号化した前記新しいハッシュ値とともに情報を前記ブロックチェーンに登録し、
前記プロキシサーバは、前記ノードによる前記ブロックチェーンへの情報の登録に際して、前記ノードからの前記第4の鍵で暗号化したデータの情報を受けて前記ノードの認証を行い、前記第1の認証と前記第2の認証とを前記第2の鍵の情報を用いて行う
ことを特徴とする分散データ管理システム。 - 第2の鍵および第4の鍵が与えられるノードとプロキシサーバあるいは前記プロキシサーバの機能を持つ前記ノードとを備え、複数のアクセスレベルに分割され、かつアクセスレベルに応じた異なる第1の鍵によって暗号化されている情報が格納される複数のブロックがつながれるブロックチェーンが格納されるとともに、前記第1の鍵と第2の鍵との間の再暗号化鍵の情報が格納される分散データ管理システムのプログラムであって、
ノードが前記第4の鍵で暗号化したデータを前記プロキシサーバに送って認証要求が行われる第1のステップと、
前記データを受けて前記第2の鍵で復号化して、前記プロキシサーバによって前記ノードの認証が行われる第2のステップと、
前記ノードは、暗号化したハッシュ値の情報を前記プロキシサーバに送る第3ステップと、
前記暗号化したハッシュ値の情報を受けて、前記プロキシサーバによって前記再暗号化鍵の情報を用いて情報の正当性の認証が行われる第4のステップと、
前記ノードは、前記情報の正当性の認証許可情報を受け、暗号化した新しいハッシュ値とともに情報を前記ブロックチェーンに登録する第5のステップとを
実行させるための分散データ管理システムのプログラム。 - 請求項7に記載の分散データ管理システムのプログラムにおいて、
前記第3ステップと前記第4のステップは、
前記ノードが、ハッシュ値の情報を前記ブロックチェーンから取り出して暗号化して前記プロキシサーバに送るステップと、
暗号化した前記ハッシュ値の情報を受けて、前記プロキシサーバが前記再暗号化鍵の情報を用いて第1の認証を行うステップと、
前記ノードは、前記ハッシュ値から新しいハッシュ値を計算し、新しいハッシュ値の情報を暗号化して前記プロキシサーバに送るステップと、
暗号化した前記新しいハッシュ値の情報を受けて、前記プロキシサーバが前記第2の鍵の情報を用いて第2の認証を行うステップとを有している
ことを特徴とする分散データ管理システムのプログラム。 - 請求項7または請求項8に記載の分散データ管理システムのプログラムにおいて、
前記再暗号化鍵は、前記第1の鍵の成分と前記第2の鍵の成分とのマトリクスの形で格納され、
前記暗号化鍵の前記マトリクスのx列目、y行目の要素RKlu[x,y]は、プライバシーレベルxの公開鍵pklxから利用者yの公開鍵pkuyへの再暗号化鍵rklxuyに対応している
ことを特徴とする分散データ管理システムのプログラム。 - 請求項7から請求項9のうちの何れか一項に記載の分散データ管理システムのプログラムにおいて、
前記ハッシュ値の情報は、最高のアクセスレベルの前記第1の鍵によって暗号化されている
ことを特徴とする分散データ管理システムのプログラム。 - 請求項7から請求項10のうちの何れか一項に記載の分散データ管理システムのプログラムにおいて、
前記分散データ管理システムは、さらにデータ参照ノードを備え、
前記ノードまたは前記データ参照ノードが、自身が有するアクセスレベルの第4の鍵を用いて前記ブロックに格納される情報を復号化するステップを
実行させるための分散データ管理システムのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019021874A JP7264440B2 (ja) | 2019-02-08 | 2019-02-08 | 分散データ管理システムおよびそのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019021874A JP7264440B2 (ja) | 2019-02-08 | 2019-02-08 | 分散データ管理システムおよびそのプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020129760A JP2020129760A (ja) | 2020-08-27 |
JP7264440B2 true JP7264440B2 (ja) | 2023-04-25 |
Family
ID=72175023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019021874A Active JP7264440B2 (ja) | 2019-02-08 | 2019-02-08 | 分散データ管理システムおよびそのプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7264440B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112133392A (zh) * | 2020-09-22 | 2020-12-25 | 合肥易康达医疗卫生信息科技有限公司 | 一种基于区块链的电子病历共享方法 |
CN112202779B (zh) * | 2020-09-29 | 2022-08-30 | 深圳壹账通智能科技有限公司 | 基于区块链的信息加密方法、装置、设备及介质 |
CN113672972B (zh) * | 2021-07-01 | 2024-04-05 | 国网浙江省电力有限公司建设分公司 | 一种基于中台的重要资产安全监控方法 |
CN115051807B (zh) * | 2022-06-02 | 2024-05-24 | 昆明理工大学 | 一种基于超级账本Fabric的零知识身份认证方法 |
WO2024069958A1 (ja) * | 2022-09-30 | 2024-04-04 | 三菱電機株式会社 | 情報処理装置、及び情報処理システム |
CN117527445B (zh) * | 2024-01-02 | 2024-03-12 | 江苏荣泽信息科技股份有限公司 | 一种基于重加密及分布式数字身份的数据共享系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016158189A (ja) | 2015-02-26 | 2016-09-01 | 株式会社日立情報通信エンジニアリング | 鍵付替え方向制御システムおよび鍵付替え方向制御方法 |
US20180225175A1 (en) | 2017-02-04 | 2018-08-09 | Pq Solutions Limited | Controlled and verifiable information destruction |
WO2019173519A1 (en) | 2018-03-06 | 2019-09-12 | Jordan Simons | Customized view of restricted information recorded into a blockchain |
-
2019
- 2019-02-08 JP JP2019021874A patent/JP7264440B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016158189A (ja) | 2015-02-26 | 2016-09-01 | 株式会社日立情報通信エンジニアリング | 鍵付替え方向制御システムおよび鍵付替え方向制御方法 |
US20180225175A1 (en) | 2017-02-04 | 2018-08-09 | Pq Solutions Limited | Controlled and verifiable information destruction |
WO2019173519A1 (en) | 2018-03-06 | 2019-09-12 | Jordan Simons | Customized view of restricted information recorded into a blockchain |
Non-Patent Citations (1)
Title |
---|
宮沢 駿輔, 他,改竄への耐性と人のつながりを表すグラフ更新の反映を可能とするアクセス権制御手法,第10回データ工学と情報マネジメントに関するフォーラム(第16回日本データベース学会年次大会)最終論文集 [online],F7-3,2018年04月02日,pp. 1-8,[2022年9月30日検索], インターネット<URL:https://db-event.jpn.org/deim2018/data/papers/15.pdf> |
Also Published As
Publication number | Publication date |
---|---|
JP2020129760A (ja) | 2020-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7264440B2 (ja) | 分散データ管理システムおよびそのプログラム | |
US9419951B1 (en) | System and method for secure three-party communications | |
Chen et al. | Secure dynamic access control scheme of PHR in cloud computing | |
JP5008003B2 (ja) | 患者の再識別のためのシステムおよび方法 | |
Aileni et al. | IoMT: A blockchain perspective | |
Chen et al. | Confidentiality protection of digital health records in cloud computing | |
US20030039362A1 (en) | Methods for indexing and storing genetic data | |
US8607332B2 (en) | System and method for the anonymisation of sensitive personal data and method of obtaining such data | |
EP1441301A2 (en) | Method for identifying and communicating with potential clinical trial participants | |
JP2007536833A (ja) | マルチ・ソース型の長期患者レベルのデータ暗号化処理 | |
KR101528785B1 (ko) | 개인정보 소유자의 동의를 기반으로 하는 개인정보 보호시스템 및 그 방법 | |
JP2015534343A (ja) | 遠隔計算リソースにより分析される臨床データへのアクセス制御 | |
Ismail et al. | Performance evaluation of a patient-centric blockchain-based healthcare records management framework | |
Kim et al. | A trusted sharing model for patient records based on permissioned Blockchain | |
Wu et al. | A patient-centric interoperable framework for health information exchange via blockchain | |
Ajagbe et al. | Empirical evaluation of efficient asymmetric encryption algorithms for the protection of electronic medical records (EMR) on web application | |
Ikuomola et al. | Securing patient privacy in e-health cloud using homomorphic encryption and access control | |
Wang et al. | Health data security sharing method based on hybrid blockchain | |
Sushma et al. | Digital transformation of healthcare sector by blockchain technology | |
Petkovic et al. | Privacy and security in e-Health applications | |
Hossain et al. | Hdm-chain: A secure blockchain-based healthcare data management framework to ensure privacy and security in the health unit | |
JP2007080041A (ja) | 電子カルテシステム | |
Mahapatra et al. | A secure health management framework with anti-fraud healthcare insurance using blockchain | |
JP2000293603A (ja) | 地域医療情報システム及び電子患者カード | |
Zhang et al. | Patient-centered cross-enterprise document sharing and dynamic consent framework using consortium blockchain and ciphertext-policy attribute-based encryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211221 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220930 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221011 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221206 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230328 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230406 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7264440 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |