JP7235668B2 - 登録方法、コンピュータ、及びプログラム - Google Patents

登録方法、コンピュータ、及びプログラム Download PDF

Info

Publication number
JP7235668B2
JP7235668B2 JP2019549840A JP2019549840A JP7235668B2 JP 7235668 B2 JP7235668 B2 JP 7235668B2 JP 2019549840 A JP2019549840 A JP 2019549840A JP 2019549840 A JP2019549840 A JP 2019549840A JP 7235668 B2 JP7235668 B2 JP 7235668B2
Authority
JP
Japan
Prior art keywords
encrypted
common key
distributed ledger
key
data
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
Application number
JP2019549840A
Other languages
English (en)
Other versions
JPWO2019082442A1 (ja
Inventor
大喜 渡邊
盛徳 大橋
滋 藤村
篤 中平
聡 佐久間
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2019082442A1 publication Critical patent/JPWO2019082442A1/ja
Application granted granted Critical
Publication of JP7235668B2 publication Critical patent/JP7235668B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Description

本発明は、データ登録方法、データ復号方法、データ構造、コンピュータ、及びプログラムに関する。
近年、中央集権的な管理を必要とせずに信頼性を担保可能な仕組みが、デジタル仮想通貨であるビットコインを中心に普及しつつある。ブロックチェーンと呼ばれるこの仕組みにおいては、やり取りされる情報の信頼性が分散ネットワーク内の合意形成のプロセスによって担保される。また、改ざん又は二重使用などの不正を系全体で防ぐことで健全性が保たれる。このブロックチェーンでは、参加者間の仮想通貨の取引情報(トランザクション)が「ブロック」という単位でまとめられ、各ブロックは数珠つなぎとなって時系列順に管理される。新たなブロックの承認は、Proof of Workなどの分散ネットワークにおける合意アルゴリズムによって成される。このことは、ブロック内部に記録された通貨取引が系全体で合意されたことを示す。このブロックチェーンを用いて管理される一連の取引情報の帳簿は「分散台帳」と呼ばれる。ネットワークに参加する各ノードは同一の分散台帳を保持する。
近年では、分散台帳に通貨取引だけでなく、高度なスクリプトコードを登録し、スクリプトコードの実行とその結果についても合意を得るブロックチェーン基盤技術も開発されている。例えばEthereumやHyperledger Fabricに代表されるブロックチェーン基盤では、トランザクションを入力としてスクリプトコードを実行し、その実行結果をキーバリュー型のストアに格納し、その時のストアの代表値もブロックに記録する分散台帳を持つ(例えば非特許文献1)。前述の仮想通貨ではトランザクションは「誰から誰へいくら渡した」といった通貨の取引記録のみに限定された。一方、これら後継のブロックチェーン技術では、利用者自身が、トランザクションとスクリプトコードによって記録する情報をプログラマブルに設定可能である。そのため、証券取引、保険業務、著作権管理など通貨取引以外の様々な用途にブロックチェーンを応用することが容易になる。これらの基盤技術は、ある契約に関して参加者間で合意を得ることから、スマートコントラクト型のブロックチェーンと呼ばれている。
特開2017-50763号公報
IBM Corporation、「はじめてのBlockchain」、[Online]、2016年9月15日、[平成29年10月3日検索]、インターネット(URL: https://www.ibm.com/developerworks/jp/cloud/library/j_cl-blockchain-basics-bluemix/index.html) 株式会社富士通研究所、「ブロックチェーンのセキュリティ強化技術を開発」、2.秘密分散鍵管理によるブロックチェーン上の文書秘匿化技術、[Online]、2016年10月19日、[平成29年10月3日検索]、インターネット(URL: http://pr.fujitsu.com/jp/news/2016/10/19.html)
上記ブロックチェーンのシステムでは、全てのノード間において情報が公開されることが前提となっている。しかしながら、用途によってはトランザクションの一部の領域を秘匿化して、関係する参加者に限って公開したい場合がある。例えば、特許文献1に示す方法によれば、コンテンツの許諾管理に適用するために、仮想通貨型のブロックチェーンを介して、暗号化した情報を送受信することができる。この方式によれば、暗号化するデータの対象はコンテンツの共通鍵であり、権利者と利用者の二者間の端末に限定して秘匿情報がやり取りされている。しかしこの方式では、秘匿化する範囲を選択することができない。
スマートコントラクト型のブロックチェーンのように利用者がプログラマブルに契約の項目を設定できる場合において、より柔軟に秘匿化の設計を行うことが求められている。例えば、貿易業務における貨物保険証券の取引にスマートコントラクト型のブロックチェーンを適用する場合、複数の項目において柔軟に秘匿化する項目を設定でき、かつ、保険会社・通知銀行・発行銀行など複数の異なる組織間の組み合わせで公開範囲を設定できることが求められている。この場合、複数の項目を有する契約データのうち、どの項目を暗号化しているのか、どの利用者に限って公開されているのか、復号化に使う鍵はどれか、といった管理情報が煩雑化する。更に、共通鍵を入手するまでに必要な鍵交換の手順並びに公開鍵及び秘密鍵の管理が煩雑化し、利用者がシステムを利用する際に運用面で大きな負担となる。
このような課題に対して、非特許文献2に示すように、中央管理された秘匿化サーバをブロックチェーンシステム外に設けて対応することが考えられる。秘匿化サーバの内部には、秘匿化のための管理情報が保管され、利用者の要求に応じて暗号化・復号化の機能を提供する。秘匿化された情報は契約データに含められ、ブロックチェーンシステム内の分散台帳に保管される。秘匿化サーバによって暗号化の項目及び公開範囲が管理される。このため、利用者の負担は軽減される。一方で、非特許文献2では、ブロックチェーンシステムの特徴である権限の分散性は損われてしまう。例えば、秘匿化サーバの管理者が権限を乱用し、他社が格納した機密情報を覗き見るような内部不正は防ぐことが困難である。また、秘匿化サーバの管理者がサービスを停止した場合に、分散台帳に登録された暗号化データを利用者の権限のみで復号化することは容易ではない。また、ブロックチェーンシステム外で鍵の受け渡しが発生するため、誰が誰に鍵を渡したかの証拠が残らず、取引の証拠性を損ね得る。
かかる点に鑑みてなされた本発明の目的は、中央集権的な秘匿化サーバを置かなくとも、利用者が複雑な手順又は鍵の管理に煩わされることなく、分散台帳に登録するデータの一部を柔軟に秘匿化して管理することができるデータ登録方法、データ復号方法、データ構造、コンピュータ、及びプログラムを提供することにある。
上記課題を解決するため、本実施形態のコンピュータにおけるデータ登録方法は、分散台帳に登録するデータに含まれる項目を暗号化及び復号化するための共通鍵を生成するステップと、前記項目に対するアクセス権限を有するユーザのアカウントごとに公開鍵を取得するステップと、前記共通鍵を、前記アカウントごとの各公開鍵で暗号化するステップと、前記アカウントごとに暗号化された各共通鍵を、トランザクションを介して前記分散台帳に登録するステップと、を含む。
また、上記課題を解決するため、本実施形態のコンピュータにおけるデータ復号方法は、トランザクションを介して分散台帳に登録された、暗号化された項目を含むデータを取得するステップと、トランザクションを介して前記分散台帳に登録された秘匿管理情報を取得するステップと、前記秘匿管理情報から、前記暗号化された項目と、当該暗号化された項目を復号化するための、暗号化された共通鍵と、を取得するステップと、前記暗号化された共通鍵を、当該共通鍵に対応する秘密鍵を用いて復号化するステップと、前記復号化された共通鍵を用いて、前記暗号化された項目を復号化するステップと、を含む。
また、上記課題を解決するため、本実施形態の秘匿管理情報のデータ構造は、トランザクションを介して分散台帳に登録されたデータの暗号化された項目に対するアクセス権限を有するユーザのアカウント情報と、前記暗号化された項目を示す情報と、前記暗号化された項目を復号化するための共通鍵を暗号化するために用いた公開鍵に関する情報と、前記公開鍵によって暗号化された前記共通鍵と、を含む。前記アカウント情報は、前記秘匿管理情報がどのユーザに対応するものかを特定する。前記共通鍵は、前記公開鍵に対応する秘密鍵を用いて復号化される。前記復号化された共通鍵は、前記暗号化された項目を復号化するために用いられる。
また、上記課題を解決するため、本実施形態のコンピュータは、分散台帳に登録するデータに含まれる項目を暗号化及び復号化するための共通鍵を生成し、前記項目に対するアクセス権限を有するユーザのアカウントごとに公開鍵を取得し、前記共通鍵を、前記アカウントごとの各公開鍵で暗号化し、前記アカウントごとに暗号化された各共通鍵を、トランザクションを介して前記分散台帳に登録する、プロセッサを備える。
また、上記課題を解決するため、本実施形態のプログラムは、コンピュータに、分散台帳に登録するデータに含まれる項目を暗号化及び復号化するための共通鍵を生成するステップと、前記項目に対するアクセス権限を有するユーザのアカウントごとに公開鍵を取得するステップと、前記共通鍵を、前記アカウントごとの各公開鍵で暗号化するステップと、前記アカウントごとに暗号化された各共通鍵を、トランザクションを介して前記分散台帳に登録するステップと、を実行させる。
本発明に係るデータ登録方法、データ復号方法、データ構造、コンピュータ、及びプログラムによれば、中央集権的な秘匿化サーバを置かなくとも、利用者が複雑な手順又は鍵の管理に煩わされることなく、分散台帳に登録するデータの一部を柔軟に秘匿化して管理することができる。
本実施形態の秘匿化システムの概略構成を示す機能ブロック図である。 暗号化前の契約データの一例を示す図である。 暗号化後の契約データの一例を示す図である。 本実施形態の検証端末の機能ブロック図である。 本実施形態の秘匿管理情報を示す図である。 本実施形態の中間サーバの機能ブロック図である。 本実施形態の秘匿管理情報の構築処理を示すシーケンス図である。 本実施形態のユーザ端末の機能ブロック図である。 実施形態1の中間サーバが実行する処理を示すフローチャートである。 図8Aの暗号化処理のサブルーチンを示すフローチャートである。 中間サーバが実行する復号化処理を示すフローチャートである。
図1は、本実施形態の秘匿化システムSを示す機能ブロック図である。本実施形態の秘匿化システムSは、ネットワークNWと、検証端末1A、1B及び1Cと、中間サーバ2A、2B及び2Cと、ユーザ端末3A、3B、3C、3X、3Y、3Z、3S、3T及び3Uとを有する。本実施形態のネットワークNWはブロックチェーンネットワークである。本実施形態の検証端末1A、1B及び1Cはブロックチェーン検証端末である。ユーザ端末3A、3B及び3Cは組織1に設けられ、ユーザ端末3X、3Y及び3Zは組織2に設けられ、ユーザ端末3S、3T及び3Uは組織3に設けられる。組織は例えば、保険会社、銀行等である。
ユーザ端末3A、3B及び3Cは中間サーバ2Aを介して検証端末1Aと接続する。ユーザ端末3X、3Y及び3Zは中間サーバ2Bを介して検証端末1Bと接続する。ユーザ端末3S、3T及び3Uは中間サーバ2Cを介して検証端末1Cと接続する。
以下、重複説明を避けるために、検証端末1A、中間サーバ2A並びにユーザ端末3A、3B及び3Cが実行する処理を中心に説明する。しかし、その説明は、検証端末1B、中間サーバ2B並びにユーザ端末3X、3Y及び3Zにもあてはまり、検証端末1C、中間サーバ2C並びにユーザ端末3S、3T及び3Uにもあてはまる。
検証端末1Aは、トランザクションの検証若しくは伝搬、後述する分散台帳12A(図3参照)への記録若しくは参照など、ブロックチェーンシステムを使用する上で基本的な機能を備えたソフトウェアを搭載する。検証端末1Aは秘匿化システムSを利用するための専用のソフトウェアではなく、EthereumやHyperledger Fabricなど汎用のブロックチェーン基盤を利用してよい。中間サーバ2Aは、中間サーバ2Aに接続された各ユーザ端末から要求を受け付け、検証端末1Aと通信し、指定された処理を実行する。各中間サーバは、管理権限の分かれた組織単位で分散して運用される。一つの検証端末には一つの中間サーバが割り当てられる。一つの中間サーバに対して、同じ組織内の複数のユーザ端末が接続されてよい。しかし、ある組織のユーザ端末に接続された中間サーバは、他の組織のユーザ端末に直接的に接続されない。検証端末1Aと中間サーバ2Aとは必ずしも物理的に分かれている必要はなく、仮想化などを利用して同じ物理端末上に実装されてよい。
検証端末1A、1B及び1Cは、ネットワークNWを介して互いに接続される。図1に示す例では、ネットワークNWに検証端末が3つ接続されているが、その数は限定されない。また、図1に示す例では、中間サーバ2A、2B及び2Cにユーザ端末が3つずつ接続されているが、その数は限定されない。以下では本実施形態の秘匿化システムSの各機能を説明するが、秘匿化システムSが備える他の機能を排除することを意図したものではない。
図2Aは、本実施形態で用いられる、構造化された契約データの例を示す。図2Aに示すように、契約データにおいては、契約ID(「contract1」)に対し、日付(「date」)、内容(「description」)、契約者(「contractors」)、金額(「amount」)、請求金額(「charges」)等が対応付けられる。この契約データは複数人で交わされたある契約に関するデータである。契約データはユーザ入力によってユーザ端末で生成される。契約データの一部は秘匿化システムS全体には公開されず、後述する方法で暗号化(秘匿化)して分散台帳12Aに記録される。暗号化の実行後、図2Bの範囲R21及び範囲R22に示すように、契約データの一部の項目(「contractors」、「amount」及び「charges」)は暗号化される。分散台帳12Aに登録するデータは契約データに限られず、他の任意のデータが登録されてよい。
復号化するための鍵は、秘匿化システムSにより、指定されたユーザ端末のみに共有される。各中間サーバは復号化を自動的に実施する。このため、各ユーザ端末は図2Bのような暗号文を表示しない。よって、図2Bに示すような暗号文をユーザが直接目にすることはない。各ユーザ端末は、図2Aに示すような平文を表示する。
図3は、検証端末1Aの機能ブロック図である。検証端末1Aは、制御部11と記憶部12とを有する。検証端末1B及び1Cのハードウェア構成は検証端末1Aのそれと同様であるため、説明を省略する。
制御部11は、1又は複数のプロセッサを含む。プロセッサは、種々の処理のためのプログラム及び演算中の情報を記憶する1又は複数のメモリを含んでよい。メモリは揮発性メモリ及び不揮発性メモリを含む。メモリは、プロセッサと独立しているメモリ、及びプロセッサの内蔵メモリを含む。プロセッサは特定のプログラムを読み込ませて特定の機能を実行する汎用のプロセッサ、及び、特定の処理に特化した専用のプロセッサを含む。専用のプロセッサは、特定用途向けIC(ASIC;Application Specific Integrated Circuit)を含む。プロセッサは、プログラマブルロジックデバイス(PLD;Programmable Logic Device)を含む。PLDは、FPGA(Field-Programmable Gate Array)を含む。制御部11は、一つまたは複数のプロセッサが協働するSoC(System-on-a-Chip)、及びSiP(System In a Package)のいずれかであってよい。
制御部11は、契約データ保管機能11Aと秘匿管理機能11Bとを有する。契約データ保管機能11Aと秘匿管理機能11Bとはスクリプトコードで実装される。スクリプトコードは記憶部12に格納される。スクリプトコードは、例えばスマートコントラクト型のブロックチェーン基盤のHyperledger Fabricでは「チェインコード」と呼ばれ、Ethereumでは「コントラクト」と呼ばれる分散実行可能なプログラムを指す。ブロックチェーンの基盤によっては、スクリプトコードは分散台帳12Aの内部に保管されている場合もある。一般的にスマートコントラクト型のブロックチェーンシステムは、ユーザ端末が発行したトランザクションに応じて、本スクリプトコードを実行し、実行結果について他の組織の検証端末1B又は1Cと合意を取る。実行結果であるキーバリュー型のデータ及び合意結果は、検証端末1Aで保有されている分散台帳12Aへ記録される。
記憶部12は、半導体メモリ又は磁気メモリ等で構成される。記憶部12は、ログ、プログラム及びコンテンツ等の任意の情報を格納するDBを有する。記憶部12はワークメモリとしても機能してよい。記憶部12が記憶する分散台帳12Aの内部のステートDB12A2は、キーバリュー型で表現されるデータを格納する。ブロックチェーン特有の鎖状のデータストア12A1は、スクリプトコードの実行結果を含むステートDB12A2のスナップショット(ハッシュ値など)を格納する。
本実施形態において、検証端末1Aは、利用するブロックチェーンのプロトコルに従い、契約データ保管機能11A及び秘匿管理機能11Bとして示されるスクリプトコードを実行する。契約データ保管機能11Aは、中間サーバ2Aから契約データを含むトランザクションを受け取り、ブロックチェーンのプロトコルに従って、当該トランザクションを分散台帳12Aに記録する。契約データは、暗号化対象の項目を含む場合、中間サーバ2Aで暗号化(秘匿化)される。このため、契約データ保管機能11Aが受信する契約データは、図2Bに示すように一部が暗号化されている。暗号文は文字列として扱われるため、暗号化されていることを明示的に示すフラグが追加されてよい。
秘匿管理機能11Bは、中間サーバ2Aから秘匿化に必要な情報を含むトランザクションを受け取り、ブロックチェーンのプロトコルにしたがって、当該トランザクションを秘匿管理情報として分散台帳12Aに登録する。秘匿管理情報のデータ構造では、図4に例示するように、暗号化項目に対するアクセス権限を有する各ユーザのアカウント情報に対して、鍵交換に用いる公開鍵情報(範囲R41参照)と、契約データのどの項目が暗号化されているかを示す情報(範囲R42参照)と、その暗号化項目に対する共通鍵(前記公開鍵で暗号化済み)情報(範囲R43参照)とが対応付けられる。ここでアカウントとは、ユーザを一意に特定するIDを示す。例えば図4に示す例では、組織1(org1)におけるユーザA(user A)のアカウント情報は、「org1.userA」などと示される。秘匿管理情報は、アカウントを識別するアイデンティティ情報(範囲R44参照)(例えばCA(認証局)発行の証明書又は署名検証用の公開鍵のハッシュなど)を含んでよい。検証端末1Aは、アカウントとアイデンティティ情報とを照合することによって、トランザクションが、当該アカウントが発行したものか否かを検証することができる。このため、検証端末1Aは、無権限のユーザによる、秘匿管理情報への不正な書き込みを防止することができる。
図5は、中間サーバ2Aの機能ブロック図を示す。中間サーバ2B及び2Cのハードウェア構成は中間サーバ2Aのそれと同様であるため、説明を省略する。
中間サーバ2Aは、検証端末連携部21と、鍵生成部22と、契約データ処理部23と、鍵登録部24と、暗号・復号化処理部25とを有する。これらの機能部は、中間サーバ2Aのプロセッサによって実行される。
検証端末連携部21は、トランザクション送信機能21Aと、分散台帳参照機能21Bと、署名用鍵保管DB21Cとを有する。トランザクション送信機能21Aは、各機能部から情報を受け取り、分散台帳12Aに記録するために必要なトランザクションを生成し、検証端末1Aへ送信する。ブロックチェーンシステムにおけるトランザクションの生成にはアカウントごとに紐づけられた電子署名鍵が必要である。電子署名鍵は署名用鍵保管DB21Cに保管される。分散台帳参照機能21Bは、検証端末1Aが保有する分散台帳12Aを参照する機能を持ち、各機能部からの要求に応じて分散台帳12A上の契約データ又は秘匿管理情報を取得する。
鍵生成部22は、公開鍵・秘密鍵生成機能22Aと、共通鍵生成機能22Bとを有する。公開鍵・秘密鍵生成機能22Aは、他の機能部の要求に応じて、公開鍵及び/又は秘密鍵を生成する。本実施形態の公開鍵・秘密鍵生成機能22Aは、ユーザのアカウントごとに公開鍵と秘密鍵とのペアを生成する。公開鍵・秘密鍵生成機能22Aは、公開鍵と秘密鍵とのペアを定期的に更新可能である。更新時において、中間サーバ2Aは、更新後の公開鍵と秘密鍵とのペアを秘匿管理情報として分散台帳12Aへ再登録する。公開鍵及び秘密鍵のペアは、共通鍵を共有する際の鍵交換を行うために利用される。公開鍵・秘密鍵生成機能22Aは、公開鍵及び秘密鍵を生成するために、例えばRSA公開鍵暗号方式を用いる。公開鍵・秘密鍵生成機能22Aは、生成した鍵ペアを鍵登録部24へ渡す。
共通鍵生成機能22Bは、暗号・復号化処理部25にて契約データの項目を暗号化又は復号化に用いる共通鍵を生成する。本実施形態では、暗号化・復号化の一例として、例えばAES-GCMなどの共通鍵暗号方式を利用する。すなわち、本実施形態では、暗号化と復号化とで用いる鍵は同一である。以下ではその鍵を共通鍵と称する。本実施形態の共通鍵生成機能22Bは、データに含まれる暗号化対象項目ごとに共通鍵を生成する。例えば、項目Aをユーザ端末3A、ユーザ端末3X及びユーザ端末3Sのみが参照可能なようにする場合、共通鍵生成機能22Bは、項目A用の共通鍵を生成する。そして、共通鍵生成機能22Bは、ユーザ端末3Aの公開鍵で当該共通鍵を暗号化し、ユーザ端末3Xの公開鍵で当該共通鍵を暗号化し、ユーザ端末3Sの公開鍵で当該共通鍵を暗号化する。このとき、項目Aが、共通鍵と対応する項目である。詳細は後述するが、下記実施形態1では、指定されたアカウントに共通鍵が既に配布されているときに契約データの登録要求を受けた場合には、その共通鍵が利用される。一方、下記実施形態2では、契約データの登録要求を受ける度に共通鍵が新たに生成される。
契約データ処理部23は、契約データ登録機能23A及び契約データ取得機能23Bを有する。
契約データ登録機能23Aは、契約データの一部の項目を暗号化することが指定された場合に、暗号・復号化処理部25に暗号化を要求する。契約データ登録機能23Aは、暗号化の実施後に、契約データを検証端末連携部21へ送信する。契約データは検証端末連携部21を介してトランザクションとして発行され、ブロックチェーンシステムのプロセスに従い、分散台帳12Aに記録される。すなわち契約データ登録機能23Aは、契約データを、トランザクションを介して分散台帳12Aへ登録する。
契約データ取得機能23Bは、取得した契約データの一部に暗号化された項目が存在する場合に、暗号・復号化処理部25に復号化を要求する。復号化が実行されると、契約データ取得機能23Bは契約データを要求元の端末に送信する。
鍵登録部24は、公開鍵登録機能24A、秘密鍵保管機能24B及び秘密鍵保管DB24Cを有する。公開鍵登録機能24Aは、鍵生成部22で生成した公開鍵を、検証端末1Aを介して、分散台帳12Aに登録する。このとき公開鍵は、トランザクションを介して登録される。秘密鍵保管機能24Bは、鍵生成部22で生成した秘密鍵を、外部に漏洩しないよう、中間サーバ2A内の秘密鍵保管DB24Cに登録する。
暗号・復号化処理部25は、契約データ処理部23からの要求に応じて、暗号化又は復号化が要求された項目に対して暗号化又は復号化の処理を実行し、契約データ処理部23に送信する。暗号・復号化処理部25は、暗号化機能25A、復号化機能25B及び、これらと連携する秘匿管理情報取得機能25Cを有する。
暗号化機能25Aは、暗号化を要求するユーザ端末のアカウントを判定し、暗号化前の契約データと、秘匿管理情報取得機能25Cが取得した秘匿管理情報とを受け付け、要求された項目を暗号化し、暗号化済みの項目を含む契約データを出力する。
復号化機能25Bは、復号化を要求するユーザ端末のアカウントを判定し、暗号化項目を含む契約データと、秘匿管理情報取得機能25Cが取得した秘匿管理情報とを受け付け、暗号化項目を復号し、復号された契約データを出力する。
秘匿管理情報取得機能25Cは、検証端末1Aから検証端末連携部21を介して、指定されたアカウントに関する秘匿管理情報を取得し、暗号化機能25A又は復号化機能25Bに渡す。
図6は、中間サーバ2A、2B及び2Cと、それぞれに対応する検証端末1A、1B及び1Cとが実行する、秘匿管理情報の構築処理を示す図である。検証端末1A、1B及び1Cは、以下、3つを総称して検証端末1と称するが、それぞれの中間サーバから検証端末に対する処理は対応する検証端末を用いる。ここでは一例として、ユーザ端末3Aが、共通鍵を配布する先としてユーザ端末3X及び3Sのみを指定し、且つ、暗号化される項目として、契約者(「contractors」)と金額(「amount」)を設定した場合を説明する。
中間サーバ2Aは、ユーザ端末3A、3B及び3Cのアカウントのそれぞれに対し、公開鍵及び当該公開鍵に対応する秘密鍵を生成し、生成した公開鍵を、検証端末連携部21を介してトランザクションに含め、検証端末1へ送信する(ステップS1)。同様に、中間サーバ2B及び中間サーバ2Cは、それぞれユーザ端末3X、3Y及び3Z、並びに、3S、3T及び3Uに対し、公開鍵及び秘密鍵を個別に生成し、生成した公開鍵を、検証端末連携部21を介してトランザクションに含め、検証端末1へ送信する(ステップS2及びステップS3)。
検証端末1は受信した公開鍵を含むトランザクションについて、ブロックチェーンシステムのプロトコルに従って合意し、秘匿管理機能11Bを介して公開鍵を秘匿管理情報として分散台帳12Aに登録する(ステップS4)。範囲R51に示すように、分散台帳12Aは、ユーザごとのアカウントと、公開鍵とを対応付けて記憶する。このような登録処理は、例えばアカウント作成時に実行可能である。
任意の時点で、中間サーバ2Aは、ユーザ端末3Aから送信された契約データのどの項目を共通鍵で暗号化するかを示す情報(すなわち、contract1とcontract2に対する契約者「contractors」と金額「amount」の項目)と、どのアカウントに共通鍵を配布し情報を公開するかを示す情報(すなわち、ユーザ端末3X「org2.userX」及びユーザ端末3S「org3.userS」)とを受信する(ステップS5)。
中間サーバ2Aは、前記ユーザ端末3Aにより暗号化を指定された各項目に対して、それぞれ異なる共通鍵を生成する(ステップS6)。具体的には、中間サーバ2Aは、「contract1.contractors」、「contract2.contractors」、「contract1.amount」及び「contract2.amount」に対して異なる4つの共通鍵を生成する。
中間サーバ2Aは、前記ユーザ端末3Aにより指定された、共通鍵を配布する各アカウントの公開鍵を、検証端末1を介して、分散台帳上の秘匿管理情報より取得する。具体的には、中間サーバ2Aは、ユーザ端末3X及びユーザ端末3Sの公開鍵を含む秘匿管理情報を、検証端末1に対して要求する(ステップS7)。また、中間サーバ2Aは、要求元アカウントであるユーザ端末3Aの公開鍵についても取得する。検証端末1は要求された秘匿管理情報を分散台帳12Aから取得し、中間サーバ2Aへ送信する(ステップS8)。
中間サーバ2Aは、各共通鍵を、取得した各公開鍵でそれぞれ暗号化する。具体的には、中間サーバ2Aは、ある共通鍵に対して、ユーザ端末3Aの公開鍵で暗号化したユーザ端末3A用の共通鍵と、ユーザ端末3Xの公開鍵で暗号化したユーザ端末3B用の共通鍵と、ユーザ端末3Sの公開鍵で暗号化したユーザ端末3B用の共通鍵と、を生成する(ステップS9)。中間サーバ2Aは、暗号化した共通鍵の配布先の各アカウントに対して、「暗号化項目を示す情報」と「その暗号化項目に対する共通鍵」とを含むトランザクションを生成し、検証端末1へ送信する(ステップS10)。検証端末1は受信したトランザクションを、ブロックチェーンシステムのプロトコルに従い合意し、分散台帳12Aに秘匿管理情報として登録する(ステップS11)。範囲R52に示すように、契約者(「contractors」)と金額(「amount」)に対して、暗号化された共通鍵の情報が格納されている。このように、中間サーバ2Aは秘匿管理情報を構築する。
図7は、ユーザ端末3Aの機能ブロック図を示す。ユーザ端末3Aは、制御部31、表示部32及び記憶部33を有する。他のユーザ端末のハードウェア構成はユーザ端末3Aのハードウェア構成と同一であるため、説明を省略する。
制御部31は、一つ又は複数のプロセッサを含む。制御部31は、制御手順を規定したプログラムを実行して、ユーザ端末3Aの各機能部を制御する。
表示部32は例えば、液晶ディスプレイ、有機EL(Electroluminescence)ディスプレイ、無機ELディスプレイ等の表示デバイス等であるが、これらに限られない。本実施形態では一例として、表示部32はタッチスクリーンとして構成され、ユーザの指又はスタイラスペンによる選択操作を受け付けることができる。選択操作は例えば、押下、タッチ、タップ、接触、近接等の操作である。
記憶部33は半導体メモリ又は磁気メモリ等で構成されることができる。記憶部33は、ログ、プログラム及びコンテンツ等の任意の情報を格納するDBを有する。記憶部33は、ワークメモリとしても機能してよい。
運用ポリシーに応じた、暗号化及び復号化に関する例示的な実施形態が下記に示される。
[実施形態1]
実施形態1では、図6の処理により、指定されたアカウントに共通鍵が既に配布(分散台帳12Aに登録)されている前提で、契約データの暗号化および復号化を行う。すなわち、実施形態1では、中間サーバ2Aは、配布済みの共通鍵を利用して暗号化および復号化を行う。このとき、分散台帳12A上に、既に項目の一部が暗号化された契約データが格納されている状態で、さらに契約データの暗号化要求をユーザ端末から受け付けた場合、分散台帳12Aの契約データは更新される。
図8Aは、ユーザ端末からの要求に応じて、中間サーバ2Aが実行するデータ暗号方法を示すフローチャートである。図8Aに示すように、契約データ処理部23は、ユーザ端末が送信した契約データを受信すると、暗号・復号化処理部25へ、契約データの暗号化を要求する(ステップS41)。
暗号・復号化処理部25が契約データの暗号化の要求を受けると、暗号化機能25Aは、暗号化を要求したユーザ端末のアカウントを判定し、秘匿管理情報取得機能25Cを介して、分散台帳12Aより当該アカウントに関する秘匿管理情報を取得する(ステップS42)。暗号化機能25Aは、秘匿管理情報に含まれる、共通鍵を持つ契約データの項目(すなわち、暗号化が可能な契約データの項目)と、当該項目に対応する暗号化された共通鍵のペアを全て抽出する(ステップS43)。暗号化が可能な契約データの項目は、例えば、図6の範囲R52で、org1.userAが暗号化を要求したアカウントとすると、contract1.contractors、contract2.contractors、contract1.amount、及びcontract2.amountである。暗号化機能25Aは、当該項目とその共通鍵の情報を用いて、図8Bに示すように暗号化処理を行う(ステップS44)。
図8Bに示すように、暗号化機能25Aは、抽出した共通鍵を用いて、暗号化可能な契約データの項目に対して暗号化を行う。各共通鍵は暗号化されている。そこで、暗号・復号化処理部25は、秘密鍵保管DB24Cに記憶される秘密鍵を用いて、各共通鍵を復号化する(ステップS51)。
暗号化機能25Aは、暗号化可能な契約データの各項目に対して、復号化されたそれぞれの共通鍵で暗号化を実施する(ステップS52)。これにより、契約データのうち、一部の項目が暗号化された契約データが出力される。暗号・復号化処理部25は、一部の項目が暗号化された契約データを、契約データ処理部23へ送信する(ステップS53)。
図8Aに戻り、契約データ処理部23は、一部の項目が暗号化された契約データを検証端末連携部21へ送信し、検証端末連携部21は当該契約データをトランザクションに含めて検証端末1Aに送信する(ステップS45)。検証端末1Aはブロックチェーンシステムのプロトコルに従い、当該トランザクションに関して合意し、一部の項目が暗号化された契約データを分散台帳へ登録する。
図9は、中間サーバ2B、2Cが実行するデータ復号方法を示すフローチャートである。詳細は次の通りである。ここでは、暗号化項目の復号化が許可された、ユーザ端末3X又はユーザ端末3Sから復号化要求を受信した場合を説明する。なお、暗号・復号化処理部25は、復号化が許可されていないユーザ端末から復号化要求を受信しても、下記の復号化を実行せず、エラー画面又は暗号化された項目が空白に表示される画面を当該ユーザ端末へ返す。
契約データ処理部23は、任意のユーザ端末から、契約データの暗号化項目に対する復号化要求を受信する。復号化要求を受信すると、契約データ処理部23は、暗号・復号化処理部25へ復号化を要求する(ステップS61)。
暗号・復号化処理部25の秘匿管理情報取得機能25Cは、分散台帳12Aから秘匿管理情報及び契約データを取得する(ステップS62)。秘匿管理情報取得機能25Cは、復号化を要求するアカウントに関して、共通鍵が配布された暗号化項目と、それに対応する共通鍵とのペアの一覧を全て取得する(ステップS63)。ここで秘匿管理情報に含まれる上記共通鍵は、上記アカウントの公開鍵で暗号化されている。そこで、暗号・復号化処理部25は、秘密鍵保管DB24Cから上記アカウントの秘密鍵を取得し(ステップS64)、当該秘密鍵を用いて、暗号化された共通鍵を全て復号化する(ステップS65)。
暗号・復号化処理部25は、暗号化項目が含まれる契約データについて、上記全ての復号化した共通鍵を用いて、暗号化された全ての項目を復号化する(ステップS66)。暗号・復号化処理部25は、復号化可能な全ての暗号化項目と共通鍵とに対し、ステップS65からステップS66を実行したと判定すると(ステップS67のYes)、暗号化項目が復号化された契約データを契約データ処理部23に送信する(ステップS68)。契約データ処理部23の契約データ取得機能23Bは、契約データを取得すると、復号化を要求するアカウントに対し、当該契約データを送信する。これにより、ユーザ端末3X又はユーザ端末3Sの表示部は、復号化された契約データを表示する。このため、ユーザは当該契約データを閲覧することができる。
本実施形態によれば、ブロックチェーンを用いることで、中央集権的なサーバを用いずに契約データを暗号化及び復号化することができる。このため、権限分散性を保ちながら、契約データの暗号化及び復号化を実行することが可能である。
また、本実施形態によれば、公開鍵は、暗号化対象項目に対するアクセス権限を有するユーザのアカウントごとに別々に生成される。このため、ユーザ自身が契約データの暗号化項目及び公開範囲を柔軟に指定することができる。換言すれば、アクセス権限のないユーザは、閲覧権限のないデータを盗み見ることができない。
また、本実施形態によれば、秘匿管理情報は分散台帳12A上で管理されるため、秘匿化のための手続き又は鍵の管理の煩雑さを軽減し、運用上のコスト及びセキュリティリスクを低減することができる。
また、本実施形態によれば、秘匿管理情報はトランザクションを介して分散台帳12Aに登録される。契約データの秘匿化は分散台帳12Aに登録された秘匿管理情報を取得して行われる。このため、秘匿管理情報への攻撃に対する耐性を高めることができる。
また、本実施形態によれば、共通鍵は、契約データに含まれる暗号化対象項目ごとに生成される。このため、どの項目を暗号化するかを柔軟に指定することができる。
また、本実施形態によれば、共通鍵が、項目に対するアクセス権限を有するユーザのアカウントへ配布済み(分散台帳12Aに登録済み)のとき、中間サーバ2Aは、当該配布済みの共通鍵を利用して共通鍵と対応する項目を暗号化する。このため、契約データを暗号化する際に、新たに共通鍵を登録する処理が不要となり、中間サーバ2Aの処理負荷を低減することができる。
また、本実施形態によれば、秘匿化システムSはブロックチェーン上で鍵交換を行うため、誰にどの項目の参照を許可したか、誰に共通鍵を渡したか、等の過去の鍵交換履歴が記録として残る。更に外部サーバでの鍵のやり取りに比べ、鍵の改ざんが困難であり且つ証拠性が高い。
上述の実施形態は代表的な例として説明されている。しかし本発明の趣旨及び範囲内で、多くの変更及び置換ができることは当業者に明らかである。したがって、本発明は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形又は変更が可能である。例えば、実施形態の構成図に記載の複数の構成ブロックを1つに組み合わせたり、あるいは1つの構成ブロックを分割したりすることが可能である。
[実施形態2]
上記実施形態1では、中間サーバ2Aは、秘匿管理情報上の共通鍵を用いて、指定された項目を暗号化して契約データを登録する。一方で実施形態2では、中間サーバ2Aは、契約データの登録の要求を受ける度に常に新しい共通鍵を生成し、指定された項目を暗号化して契約データを登録する。実施形態2の詳細は次の通りである。実施形態1と実施形態2とで重複する説明は省略する。
契約データ処理部23は、ユーザ端末から契約データの登録要求を受信すると、契約データのどの項目を暗号化するかと、どのアカウントに共通鍵を配布するかを指定する。指定内容は、ユーザ端末3Aによって入力されてよいし、設定ファイルによって事前に設定されてもよい。鍵生成部22は、契約データの登録要求に応じて、新たに共通鍵を生成する。なお、これらの処理は、図6のステップS5およびS6に相当する。図6のステップS1~S4の処理は、事前に行われているものとする。
中間サーバ2Aは、図6に示す手法で秘匿管理情報を構築する。具体的には中間サーバ2Aは、図6に示すステップS7からステップS11を実行するが、内容が重複するためここでの説明は省略する。
暗号化機能25Aは、秘匿管理情報取得機能25Cを介して、分散台帳12Aより、秘匿管理情報を取得する。暗号化機能25Aは、秘匿管理情報に含まれる、新たに生成された共通鍵を用いて、契約データの一部の項目を暗号化する。契約データ処理部23は、一部の項目が暗号化された契約データを検証端末連携部21へ送信し、トランザクションに含めて検証端末1Aへ送信する。
[実施形態3]
実施形態3において中間サーバ2Aは、項目の一部が暗号化された契約データとその共通鍵を登録したとき、当該契約データの公開対象であるユーザ端末に通知してよい。また、契約データを書き込んだユーザが共通鍵を変更したとき、中間サーバ2Aはその旨を、契約データの公開対象であるユーザ端末へ通知してよい。
検証端末、中間サーバ又はユーザ端末をコンピュータで構成する場合、各機能を実現する処理内容を記述したプログラムを、当該コンピュータの内部又は外部の記憶手段に格納しておき、当該コンピュータの中央演算処理装置(CPU)によってこのプログラムを読み出して実行させることで実現することができる。また、このようなプログラムは、例えばDVD又はCD-ROM等の可搬型記録媒体の販売、譲渡、貸与等により流通させることができる。また、そのようなプログラムを、例えばネットワーク上にあるサーバの記憶手段に記憶しておき、ネットワークを介してサーバから他のコンピュータにそのプログラムを転送することにより、流通させることができる。また、そのようなプログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラム又はサーバから転送されたプログラムを、一旦、自己の記憶手段に格納することができる。また、このプログラムの別の実施態様として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。更に、このコンピュータにサーバからプログラムが転送される度に、コンピュータは、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。
S 秘匿化システム
1A、1B、1C 検証端末
11 制御部
11A 契約データ保管機能
11B 秘匿管理機能
12 記憶部
12A 分散台帳
12A1 データストア
12A2 ステートDB
2A、2B、2C 中間サーバ
21 検証端末連携部
21A トランザクション送信機能
21B 分散台帳参照機能
21C 署名用鍵保管DB
22 鍵生成部
22A 公開鍵・秘密鍵生成機能
22B 共通鍵生成機能
23 契約データ処理部
23A 契約データ登録機能
23B 契約データ取得機能
24 鍵登録部
24A 公開鍵登録機能
24B 秘密鍵保管機能
24C 秘密鍵保管DB
25 暗号・復号化処理部
25A 暗号化機能
25B 復号化機能
25C 秘匿管理情報取得機能
3A、3B、3C、3X、3Y、3Z、3S、3T、3U ユーザ端末
31 制御部
32 表示部
33 記憶部

Claims (5)

  1. ブロックチェーンの分散台帳を有しないコンピュータが行うデータ登録方法であって、
    前記コンピュータに接続されたユーザ端末からデータの前記分散台帳への登録要求を受け付けて、ブロックチェーンの分散台帳に登録する前記データに含まれる項目を暗号化及び復号化するための共通鍵を生成するステップであって、前記データは、暗号化されるべき項目と暗号化されない項目を含む、生成するステップと、
    前記暗号化されるべき項目に対するアクセス権限を有するユーザのアカウントごとに公開鍵を取得するステップと、
    前記共通鍵を、前記アカウントごとの各公開鍵で暗号化するステップと、
    ブロックチェーンネットワークに接続されて前記分散台帳を有する検証端末であって、受信したトランザクションに応じてスマートコントラクトのスクリプトコードを実行し、次に、その実行結果について他の検証端末による合意を取り、その合意後に、前記実行結果を前記分散台帳に登録する検証端末に対して、前記アカウントごとに暗号化された各共通鍵を含むトランザクションを送信するステップと、を含み、
    前記共通鍵を生成するステップは、前記登録要求を受け付ける度に、前記共通鍵を新しく生成する
    登録方法。
  2. 請求項1に記載の登録方法において、
    前記共通鍵を用いて、前記データに含まれる、前記共通鍵と対応する前記暗号化されるべき項目を暗号化するステップと、
    暗号化された項目と暗号化されていない項目とを有するデータを含むトランザクション前記検証端末に送信するステップと、
    を更に含む登録方法。
  3. 請求項1又は2に記載の登録方法において、
    前記共通鍵は、前記データに含まれる前記暗号化されるべき項目ごとに生成される、登録方法。
  4. ブロックチェーンの分散台帳を有しないコンピュータであって、
    前記コンピュータに接続されたユーザ端末からデータの前記分散台帳への登録要求を受け付けて、ブロックチェーンの分散台帳に登録するデータに含まれる項目を暗号化及び復号化するための共通鍵を生成し、前記データは、暗号化されるべき項目と暗号化されない項目を含み、
    前記暗号化されるべき項目に対するアクセス権限を有するユーザのアカウントごとに公開鍵を取得し、
    前記共通鍵を、前記アカウントごとの各公開鍵で暗号化し、
    ブロックチェーンネットワークに接続されて前記分散台帳を有する検証端末であって、受信したトランザクションに応じてスマートコントラクトのスクリプトコードを実行し、次に、その実行結果について他の検証端末による合意を取り、その合意後に、前記実行結果を前記分散台帳に登録する検証端末に対して、前記アカウントごとに暗号化された各共通鍵を含むトランザクションを送信し、
    前記共通鍵の生成において、前記登録要求を受け付ける度に、前記共通鍵を新しく生成する
    プロセッサを備えるコンピュータ。
  5. ブロックチェーンの分散台帳を有しないコンピュータに、
    前記コンピュータに接続されたユーザ端末からデータの前記分散台帳への登録要求を受け付けて、ブロックチェーンの分散台帳に登録するデータに含まれる項目を暗号化及び復号化するための共通鍵を生成するステップであって、前記データは、暗号化されるべき項目と暗号化されない項目を含む、生成するステップと、
    前記暗号化されるべき項目に対するアクセス権限を有するユーザのアカウントごとに公開鍵を取得するステップと、
    前記共通鍵を、前記アカウントごとの各公開鍵で暗号化するステップと、
    ブロックチェーンネットワークに接続されて前記分散台帳を有する検証端末であって、受信したトランザクションに応じてスマートコントラクトのスクリプトコードを実行し、次に、その実行結果について他の検証端末による合意を取り、その合意後に、前記実行結果を前記分散台帳に登録する検証端末に対して、前記アカウントごとに暗号化された各共通鍵を含むトランザクションを送信するステップと、を実行させ、
    前記共通鍵を生成するステップは、前記登録要求を受け付ける度に、前記共通鍵を新しく生成する
    プログラム。
JP2019549840A 2017-10-27 2018-06-27 登録方法、コンピュータ、及びプログラム Active JP7235668B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017208384 2017-10-27
JP2017208384 2017-10-27
PCT/JP2018/024401 WO2019082442A1 (ja) 2017-10-27 2018-06-27 データ登録方法、データ復号方法、データ構造、コンピュータ、及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2019082442A1 JPWO2019082442A1 (ja) 2020-10-22
JP7235668B2 true JP7235668B2 (ja) 2023-03-08

Family

ID=66246369

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019549840A Active JP7235668B2 (ja) 2017-10-27 2018-06-27 登録方法、コンピュータ、及びプログラム

Country Status (4)

Country Link
US (1) US11720689B2 (ja)
EP (1) EP3703306A4 (ja)
JP (1) JP7235668B2 (ja)
WO (1) WO2019082442A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7090903B2 (ja) * 2018-11-09 2022-06-27 国立大学法人東北大学 情報処理システム、データ提供方法、および情報処理システムの製造方法
US11009859B2 (en) 2019-05-06 2021-05-18 Fisher-Rosemount Systems, Inc. Framework for privacy-preserving big-data sharing using distributed ledger
WO2020255382A1 (ja) * 2019-06-21 2020-12-24 富士通株式会社 コンテンツ取引システム、コンテンツ取引方法、鍵管理装置、及び鍵管理プログラム
WO2021034264A1 (en) * 2019-08-22 2021-02-25 Quantumciel Pte. Ltd. Device, system and method for providing information security
EP4087182A4 (en) * 2020-01-23 2023-06-28 Tokyo University of Science Foundation Registration device, verification device, identification device, and individual identification system
CN112035891A (zh) * 2020-07-20 2020-12-04 江苏傲为控股有限公司 一种去中心化电子合同证明平台

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017195627A (ja) 2017-06-23 2017-10-26 株式会社エヌ・ティ・ティ・データ 情報処理装置、情報処理方法およびプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4739000B2 (ja) 2005-12-07 2011-08-03 富士通株式会社 電子文書管理プログラム、電子文書管理システム及び電子文書管理方法
JP2008077235A (ja) * 2006-09-19 2008-04-03 Ricoh Co Ltd 情報記録再生方法、情報記録再生システム、情報閲覧管理装置、画像形成装置、コンピュータプログラム及び記録媒体
CA2986164C (en) * 2015-05-26 2021-11-30 T0.Com, Inc. Obfuscation of intent in transactions using cryptographic techniques
JP6452156B2 (ja) 2015-09-03 2019-01-16 日本電信電話株式会社 許諾情報管理システム、利用者端末、権利者端末、許諾情報管理方法、および、許諾情報管理プログラム
WO2017090041A1 (en) * 2015-11-24 2017-06-01 Ben-Ari Adi A system and method for blockchain smart contract data privacy
JP6608256B2 (ja) * 2015-11-26 2019-11-20 株式会社bitFlyer Blockchain 電子データの存在証明プログラムおよび存在証明サーバ
WO2017171165A1 (ko) * 2015-12-14 2017-10-05 (주)코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법
US10013573B2 (en) * 2015-12-16 2018-07-03 International Business Machines Corporation Personal ledger blockchain

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017195627A (ja) 2017-06-23 2017-10-26 株式会社エヌ・ティ・ティ・データ 情報処理装置、情報処理方法およびプログラム

Also Published As

Publication number Publication date
EP3703306A4 (en) 2021-07-28
US11720689B2 (en) 2023-08-08
US20210192059A1 (en) 2021-06-24
EP3703306A1 (en) 2020-09-02
JPWO2019082442A1 (ja) 2020-10-22
WO2019082442A1 (ja) 2019-05-02

Similar Documents

Publication Publication Date Title
Tith et al. Application of blockchain to maintaining patient records in electronic health record for enhanced privacy, scalability, and availability
JP7235668B2 (ja) 登録方法、コンピュータ、及びプログラム
Fabian et al. Collaborative and secure sharing of healthcare data in multi-clouds
US20200119904A1 (en) Tamper-proof privileged user access system logs
US9031876B2 (en) Managing keys for encrypted shared documents
US10348693B2 (en) Trustworthy extensible markup language for trustworthy computing and data services
RU2531569C2 (ru) Защищенное и конфиденциальное хранение и обработка резервных копий для доверенных сервисов вычисления и данных
Thota et al. Big data security framework for distributed cloud data centers
US10742628B2 (en) Secured cloud storage broker with enhanced security
Ding et al. Model-driven application-level encryption for the privacy of e-health data
JP2012518330A (ja) 高信頼なクラウド・コンピューティングおよびクラウド・サービスのフレームワーク
JP6300800B2 (ja) 記録のための暗号化データ記憶装置
Ribeiro et al. XDS-I outsourcing proxy: ensuring confidentiality while preserving interoperability
JP6250497B2 (ja) 情報管理システム
CN103888467A (zh) 一种面向共享的安全文件夹加密系统
CN115176247A (zh) 使用成对的去中心化标识符的委托
JP5443236B2 (ja) 分散型データベースシステム
Garcia et al. Blockchain-aided and privacy-preserving data governance in multi-stakeholder applications
CN110914826A (zh) 用于分布式数据映射的系统和方法
Yousuf et al. Security and privacy concerns for blockchain while handling healthcare data
Li et al. An EMR sharing and privacy protection mechanism based on medical consortium blockchain
JP2021081777A (ja) 組織間の情報連携を制御するシステム
Abouali et al. Patient full control over secured medical records transfer framework based on blockchain
CN116527404B (zh) 基于区块链的数字藏品定向分享方法及系统
JP2019068327A (ja) ユーザ管理装置、ユーザ管理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210811

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220418

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20220419

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220511

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220517

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20220722

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20220726

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220906

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20221011

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20221115

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20230110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230116

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20230124

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20230221

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20230221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230224

R150 Certificate of patent or registration of utility model

Ref document number: 7235668

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150