[go: up one dir, main page]

JP2019068327A - User management device, user management system - Google Patents

User management device, user management system Download PDF

Info

Publication number
JP2019068327A
JP2019068327A JP2017193699A JP2017193699A JP2019068327A JP 2019068327 A JP2019068327 A JP 2019068327A JP 2017193699 A JP2017193699 A JP 2017193699A JP 2017193699 A JP2017193699 A JP 2017193699A JP 2019068327 A JP2019068327 A JP 2019068327A
Authority
JP
Japan
Prior art keywords
user
encrypted
user management
key
information
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.)
Granted
Application number
JP2017193699A
Other languages
Japanese (ja)
Other versions
JP6901373B2 (en
Inventor
健 長沼
Takeshi Naganuma
健 長沼
雅之 吉野
Masayuki Yoshino
雅之 吉野
尚宜 佐藤
Hisanobu Sato
尚宜 佐藤
高橋 健太
Kenta Takahashi
健太 高橋
渡辺 大
Masaru Watanabe
大 渡辺
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2017193699A priority Critical patent/JP6901373B2/en
Publication of JP2019068327A publication Critical patent/JP2019068327A/en
Application granted granted Critical
Publication of JP6901373B2 publication Critical patent/JP6901373B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】非中央集権環境において、特定のユーザ管理者及び管理者端末を設置することなく、適切なアクセス制御がなされたユーザ情報管理を行う。【解決手段】ユーザ管理装置は、第1の暗号鍵で暗号化された情報を復号する第1の復号鍵と、ユーザを識別する識別情報、第2の暗号鍵で暗号化された該ユーザの属性情報である暗号化属性情報、及び暗号化属性情報を参照するための参照情報を示すデータと、を保持し、参照情報は第1の暗号鍵で暗号化された第2の復号鍵を含み、第2の復号鍵は第2の暗号鍵で暗号化された情報を復号する鍵であり、第1の復号鍵を用いて参照情報から第2の復号鍵を取得し、第2の復号鍵を用いて暗号化属性情報から該ユーザの属性情報を取得し、取得した属性情報が所定の条件を満たす場合に電子署名を生成し、該識別情報と該電子署名とを出力する。【選択図】図1PROBLEM TO BE SOLVED: To manage user information with appropriate access control without installing a specific user administrator and an administrator terminal in a decentralized environment. SOLUTION: A user management device has a first decryption key for decrypting information encrypted with a first encryption key, identification information for identifying a user, and a user encrypted with a second encryption key. It holds encryption attribute information which is attribute information and data indicating reference information for referencing the encryption attribute information, and the reference information includes a second decryption key encrypted with the first encryption key. , The second decryption key is a key for decrypting the information encrypted by the second encryption key, the second decryption key is obtained from the reference information by using the first decryption key, and the second decryption key is obtained. The user's attribute information is acquired from the encrypted attribute information using the above, an electronic signature is generated when the acquired attribute information satisfies a predetermined condition, and the identification information and the electronic signature are output. [Selection diagram] Fig. 1

Description

本発明は、ユーザ管理装置、及びユーザ管理方法に関する。   The present invention relates to a user management apparatus and a user management method.

金融機関や政府などの信頼できる中央集権機関を経由して実施されてきた取引を、利用者間のP2P(Peer to Peer)によって直接的な取引に代替する技術として、分散台帳技術(又はブロックチェーン技術)がある。特に、ビットコイン(登録商標、以下同)と呼ばれる仮想通貨を用いて、銀行などの中央集権機関を必要としせずに決済取引を行う技術がある。ビットコインでは、P2Pネットワーク上で取引データ(以下、トランザクションとも呼ぶ)をマイナーと呼ばれるノードが正当性を判定した後、プルーフオブワークと呼ばれる特定のハッシュ値を算出する作業で確定処理を行う。確定されたトランザクションは、1つのブロックにまとめられ、ブロックチェーン(以下、BCとも呼ぶ)と呼ばれる分散台帳に記載される。   Distributed ledger technology (or block chain) as a technology to replace transactions implemented via trusted central authority such as financial institutions and governments with direct transactions by P2P (Peer to Peer) between users Technology). In particular, there is a technology for performing payment transactions using a virtual currency called Bitcoin (registered trademark, hereinafter the same) without the need for a central authority such as a bank. In bitcoin, after a node called minor on transaction data (hereinafter also referred to as transaction) determines the legitimacy on the P2P network, determination processing is performed in a task of calculating a specific hash value called proof of work. Transactions that have been determined are grouped into one block and described in a distribution ledger called a block chain (hereinafter also referred to as BC).

さらに、近年では、上記のビットコインで実装されたBCをベースにして、BCおよび分散台帳に関して様々な派生技術が提案され、進化を続けている。現状のBCの主な特徴としては、(1)BCネットワーク上の参加者間の取引において、中央集権機関ではなく(任意又は特定の)参加者による合意形成や承認によって取引を確定させること、(2)複数のトランザクションをブロックとしてまとめ、数珠つなぎに分散台帳に記録し、連続するブロックにハッシュ計算を施すことにより、改ざんを困難にすること、(3)参加者全員が同一の台帳データを共有することにより、参加者全員での取引の確認を可能とすることがある。   Furthermore, in recent years, based on the above-described BC implemented in Bitcoin, various derivative techniques have been proposed and evolved regarding BC and distributed ledger. The main features of the current BC are: (1) in the transaction among participants on the BC network, to establish the transaction by consensus formation or approval by the participants (optional or specific) rather than the central authority ( 2) A plurality of transactions are grouped as blocks, recorded in a dispersion ledger in a beaded bridge, and subjected to hash calculation for successive blocks, making tampering difficult, (3) all participants share the same ledger data By doing this, it may be possible to confirm the transaction among all the participants.

このようなBC等の分散台帳技術は、以上のような特徴から、信頼できるデータの管理及び共有や、契約に基づく取引の執行及び管理を行う仕組みとして、金融分野やIoT(Internet of Thing)等の幅広い分野での応用が検討されている。分散台帳を提供する基盤(以下、分散台帳基盤)を用いることで、中央集権機関による管理がなくとも複数の主体(例えば、特定業界のコンソーシアムやサプライチェーンに関係する複数企業等)間で情報共有や取引を行うことができる。以下、分散台帳に参加する参加者(参加者のノード)によって構成されるネットワークのことをブロックチェーンネットワークとも呼ぶ。   From such characteristics as described above, such distributed ledger technology such as BC is a field of financial field, IoT (Internet of Things), etc. as a mechanism to manage and share reliable data, and execute and manage transactions based on contracts. Applications in a wide range of fields are being considered. By using a platform for providing a distributed ledger (hereinafter referred to as distributed ledger base), information sharing among a plurality of entities (eg, a consortium of a specific industry and a plurality of companies related to a supply chain, etc.) without management by a central authority And can trade. Hereinafter, a network configured by participants (participant nodes) participating in the distributed register is also referred to as a block chain network.

分散台帳は従来ビットコインのような単純な仮想通貨の取引だけでなく、複雑な取引条件や多様なアプリケーションにも適用可能とするために、分散台帳の中で(取引)データだけでなくシステムロジック、業務ロジックも管理する。これらのロジックはスマートコントラクト(以下、SCとも呼ぶ)と呼ばれる。   The distribution ledger is not only (trade) data but also system logic in the distribution ledger to be applicable not only to simple virtual currency trading like bitcoin but also to complex trading conditions and various applications. Manage business logic. These logics are called smart contracts (hereinafter also referred to as SCs).

また、SCの実行機能を有する分散台帳基盤に関する技術がある。分散台帳基盤では、ノード間で所定の合意水準で合意形成しながらトランザクション(以下、TXとも呼ぶ)を受け入れ、各ノードがTXを実行することにより、複数のノード上で情報(台帳)を共有する。また、これらのノードは、TXに対して予め決めたロジックを実行するスマートコントラクト(SC)実行機能を備える。   There is also a technology related to a distributed ledger base having an execution function of SC. In the distributed ledger base, nodes (also referred to as TX hereinafter) are accepted while forming an agreement at a predetermined level of agreement between nodes, and each node executes TX to share information (ledger) on a plurality of nodes. . Also, these nodes include a smart contract (SC) execution function that executes predetermined logic for TX.

これらの分散台帳技術を用いて構築されたシステム(以下、分散台帳システム)を本番稼働させるためには、従来型システム(例えばWebサーバとDBサーバとを含むWebシステム)と同様に、ユーザ管理等のシステム運用管理が必要となる(例えば、台帳のバックアップ及びリストア、並びにサービス停止等も含む)。特開2006−180472号公報(特許文献1)には、従来型システムにおけるユーザ管理において実施される電子署名方法が記載されている。具体的には、この公報には、「電子画像を複数の構成要素に分割し、その構成要素それぞれの特徴値を算出し、その特徴値を結合したものから署名を生成する。構成要素を削除する場合は、予め構成要素毎に用意した置換え用データに置換え、特徴値のみ保存する。検証時は、置き換えた構成要素は保存した特徴値を用い、他は改めて算出した特徴値を用い、検証用署名を生成し、電子画像に付与された署名と比較検証を行う。」と記載されている(要約参照)。   In order to put the system built using these dispersion ledger technologies (hereinafter, dispersion ledger system) into production operation, user management, etc., as in the conventional system (eg, Web system including Web server and DB server) System operation management of (including, for example, backup and restoration of ledger, and service suspension etc.). Japanese Patent Laid-Open No. 2006-180472 (Patent Document 1) describes an electronic signature method implemented in user management in a conventional system. Specifically, in this publication, "The electronic image is divided into a plurality of components, the feature value of each of the components is calculated, and the signature is generated from the combination of the feature values. The components are deleted. If you do, replace with replacement data prepared in advance for each component and save only the feature value At the time of verification, the replaced component uses the saved feature value, and others use the newly calculated feature value to verify For generating a signature for comparison and verifying the signature attached to the electronic image (see abstract).

特開2006−180472号公報JP, 2006-180472, A

一方、分散台帳システムでは、複数の主体によってコンソーシアム等が構成されることによりBCネットワークが構築及び運用される。言い換えると、分散台帳システムは複数の組織にまたがって構成される。このような分散台帳システムに対して従来型システムの運用管理方法として、すべてのノードを単独の運用者が運用管理する第一の方法と、各ノードの運用者(例えば、各組織のノードの所有者)が個別に運用管理する第二の方法と、が考えられる。   On the other hand, in the distributed ledger system, a BC network is constructed and operated by a plurality of entities forming a consortium or the like. In other words, the distributed ledger system is configured across multiple organizations. With respect to such a dispersion ledger system, as a method of operation management of a conventional system, a first method in which all operators are operated and managed by a single operator, and operators of each node (for example, owning nodes of each organization Person) can be considered as the second method of operation management individually.

第一の方法を用いた場合には、運用が中央集権化してしまい、BCシステムの特徴である非中央集権性の強みが薄れてしまうという問題点がある。また、第一の方法では、マルチベンダでの運用には対応することができない。第ニの方法を用いた場合には、管理者やポリシーが組織ごとに異なるため、同じ取り決めやタイミングで運用できないという問題点がある。特に複数の主体にまたがるコンソーシアム型サービスを利用する際に、ユーザ管理、ユーザ認証をどの主体が行うかが課題となる。   When the first method is used, the operation is centralized and there is a problem that the strength of non-centralization characteristic of the BC system is diminished. The first method can not cope with multi-vendor operation. In the case of using the second method, there is a problem that the administrator and the policy are different for each organization, and can not be operated with the same arrangement and timing. In particular, when using a consortium type service that spans multiple subjects, it becomes an issue which subject performs user management and user authentication.

また、分散台帳システムでは、絶対的な権限を持つシステム全体の管理者がいない場合が多く、既存のシステムにおける厳密なユーザ管理及びユーザ認証を、そのまま実施すること及びコンソーシアム全体で共有する事が困難である。従って、特許文献1に記載されているような電子署名を用いたユーザ管理を、分散台帳システムにそのまま適用することは困難である。   In addition, in the distributed ledger system, there are many cases where there is no administrator of the entire system with absolute authority, and it is difficult to carry out strict user management and user authentication in existing systems as they are and to share them across the entire consortium It is. Therefore, it is difficult to apply user management using an electronic signature as described in Patent Document 1 as it is to the dispersion ledger system.

この問題に対する単純な解決方法として、分散台帳のスマートコントラクト上にユーザ管理システムを構築し、そこにユーザID、ユーザの属性情報、及び認証情報などのサービスに必要な情報を記載し、コンソーシアム全体でユーザ情報を共有する事で、非中央集権下においてもユーザ管理を実現する事が可能となる。   As a simple solution to this problem, a user management system is built on the smart contract of the distributed ledger, and the user ID, user attribute information, and information necessary for services such as authentication information are described there, and the entire consortium By sharing user information, user management can be realized even under non-centralization.

しかし、例えば、ユーザの属性情報(例えば、年齢、所属会社名、及び預金額)などは機微な情報である場合もあるため、正当なアクセス権限を持ったコンソーシアムの主体にのみ開示されるべきである。つまり、非中央集権環境の分散台帳上でユーザ情報を管理、運用する際に、その情報に関して適切にアクセス制御を行う必要がある。   However, for example, the user's attribute information (eg, age, company name, and deposit amount) may be sensitive information, so it should be disclosed only to the consortium with the proper access right. is there. That is, when managing and operating user information on a distributed ledger in a non-centralized environment, it is necessary to appropriately access control the information.

上記課題を解決するために、本発明の一態様は以下の構成を採用する。ユーザ管理装置であって、プロセッサとメモリとを含み、前記メモリは、第1の暗号鍵で暗号化された情報を復号する第1の復号鍵、ユーザを識別する識別情報、第2の暗号鍵で暗号化された前記ユーザの属性情報である暗号化属性情報、及び前記暗号化属性情報を参照するための参照情報を示すトランザクションデータと、を保持し、前記参照情報は、前記第1の暗号鍵で暗号化された第2の復号鍵を含み、前記第2の復号鍵は前記第2の暗号鍵で暗号化された情報を復号する鍵であり、前記プロセッサは、前記第1の復号鍵を用いて前記参照情報に含まれる前記第2の復号鍵を取得し、前記第2の復号鍵を用いて前記暗号化属性情報を復号して、前記ユーザの属性情報を取得し、前記取得した属性情報が所定の条件を満たす場合に電子署名を生成し、前記識別情報と前記生成した電子署名とを含む署名トランザクションデータを出力する、ユーザ管理装置。   In order to solve the above-mentioned subject, one mode of the present invention adopts the following composition. A user management apparatus, comprising: a processor and a memory, wherein the memory is a first decryption key for decrypting information encrypted with a first encryption key, identification information for identifying a user, a second encryption key Encrypted attribute information which is attribute information of the user encrypted in step b. Transaction data indicating reference information for referring to the encrypted attribute information, the reference information being the first encryption A second decryption key encrypted with a key, wherein the second decryption key is a key for decrypting information encrypted with the second encryption key, and the processor is configured to: Acquiring the second decryption key included in the reference information using the second decryption key, decrypting the encrypted attribute information using the second decryption key, and acquiring the attribute information of the user, Electronic signature when the attribute information satisfies a predetermined condition , And outputs the signature transaction data including the digital signature the and the generated identification information, the user management device.

本発明の一態様によれば、例えば分散台帳のような非中央集権環境において、特定のユーザ管理者及び管理者端末を設置することなく、適切なアクセス制御がなされたユーザ情報の管理を実施することができる。   According to one aspect of the present invention, management of user information for which appropriate access control has been performed is performed in a non-centralized environment such as, for example, a distributed ledger, without installing specific user administrators and administrator terminals. be able to.

上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。   Problems, configurations, and effects other than those described above will be apparent from the description of the embodiments below.

実施例1におけるユーザ管理システムの構成の一例を示すブロック図である。FIG. 1 is a block diagram showing an example of a configuration of a user management system in Embodiment 1. 実施例1における、ユーザ端末のハードウェア構成の一例を示すブロック図である。FIG. 7 is a block diagram showing an example of a hardware configuration of a user terminal in the first embodiment. 実施例1における事前鍵配布処理の一例を示すシーケンス図である。FIG. 8 is a sequence diagram showing an example of advance key distribution processing in the first embodiment. 実施例1におけるユーザ情報の登録処理、署名処理、検証処理の一例を示すシーケンス図である。FIG. 8 is a sequence diagram showing an example of user information registration processing, signature processing, and verification processing according to the first embodiment. 実施例1におけるユーザ情報テーブルのデータフォーマットの一例である。5 is an example of a data format of a user information table in Embodiment 1. 実施例1における暗号化トランザクションのデータフォーマットの一例である。5 is an example of a data format of an encrypted transaction in Embodiment 1. 実施例1におけるクエリトランザクションのデータフォーマットの一例である。5 is an example of a data format of a query transaction in Embodiment 1. 実施例1における暗号化データのデータフォーマットの一例である。5 is an example of a data format of encrypted data in Embodiment 1. 実施例1における署名トランザクションのデータフォーマットの一例である。5 is an example of a data format of a signature transaction in Embodiment 1. 実施例1における暗号化データのデータフォーマットの一例である。5 is an example of a data format of encrypted data in Embodiment 1. 実施例1における暗号化トランザクションの生成処理の一例を示すフローチャートである。7 is a flowchart illustrating an example of encrypted transaction generation processing according to the first embodiment. 実施例1における署名トランザクションの生成処理の一例を示すフローチャートである。7 is a flowchart illustrating an example of a signature transaction generation process according to the first embodiment. 実施例1におけるユーザ情報テーブルのデータフォーマットの別例である。15 is another example of the data format of the user information table in the first embodiment. 実施例1におけるユーザ情報テーブルのデータフォーマットの別例である。15 is another example of the data format of the user information table in the first embodiment.

以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については同一の参照符号が付されている。   Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. It should be noted that the present embodiment is merely an example for realizing the present invention, and does not limit the technical scope of the present invention. The same reference numerals are given to the same configuration in each drawing.

本実施形態のユーザ管理システムは、非中央集権環境の分散台帳上でユーザ情報を管理及び運用する際に、ユーザ端末は、暗号化した属性情報を分散台帳に登録する。さらに、ユーザ管理システムは、暗号化に利用した鍵を署名者端末の公開鍵で暗号化し分散台帳に登録する。また、ユーザ端末から依頼を受けた署名者端末が属性情報を確認した後に、暗号化された属性情報に電子署名を生成し、分散台帳にその署名を登録する。これにより、署名者端末による認証が完了したことが示される。ユーザの属性情報を検証する検証者端末は、分散台帳上の署名者端末による署名を検証し、当該属性情報に署名者端末による確認が行われたことを検証する。検証者端末は自身の持つポリシーに従い検証の成功及び失敗を判断するため、必ずしも中央集権者を必要としない。   In the user management system of this embodiment, when managing and operating user information on the dispersion ledger in the non-centralized environment, the user terminal registers the encrypted attribute information in the dispersion ledger. Furthermore, the user management system encrypts the key used for the encryption with the public key of the signer terminal and registers the key in the distribution register. Further, after the signer terminal requested from the user terminal confirms the attribute information, the electronic signature is generated in the encrypted attribute information, and the signature is registered in the distribution register. This indicates that the authentication by the signer terminal has been completed. The verifier terminal that verifies the attribute information of the user verifies the signature by the signer terminal on the distributed register, and verifies that the verification by the signer terminal has been performed on the attribute information. The verifier terminal does not necessarily need a centralizer because it determines the success and failure of verification according to its own policy.

図1は、ユーザ管理システムの構成例を示すブロック図である。ユーザ管理システムは、ユーザ端末100と、検証者端末200と、署名者端末300と、トランザクション承認者端末400と、を含む。ユーザ管理システムに含まれる各構成は、ネットワーク500を介して相互に情報を送受信できる。   FIG. 1 is a block diagram showing a configuration example of a user management system. The user management system includes a user terminal 100, a verifier terminal 200, a signer terminal 300, and a transaction approver terminal 400. Each configuration included in the user management system can mutually transmit and receive information via the network 500.

ユーザ端末100は、トランザクション承認者端末400の分散台帳へのユーザ情報の登録を依頼する。ユーザ端末100は、公開鍵/秘密鍵ペア生成プログラム110及び暗号化トランザクション生成プログラム111を有する。検証者端末200は、ユーザ情報の検証を行う。検証者端末200は、公開鍵/秘密鍵ペア生成プログラム210、クエリ生成プログラム211、及び検証プログラム212を有する。   The user terminal 100 requests the registration of the user information in the dispersion register of the transaction approver terminal 400. The user terminal 100 has a public key / private key pair generation program 110 and an encrypted transaction generation program 111. The verifier terminal 200 verifies the user information. The verifier terminal 200 has a public key / private key pair generation program 210, a query generation program 211, and a verification program 212.

署名者端末300は、トランザクション承認者端末400の分散台帳上のユーザ情報に対する電子署名を行う。署名者端末300は、公開鍵/秘密鍵ペア生成プログラム310、クエリ生成プログラム311、及び署名トランザクション生成プログラム312を有する。トランザクション承認者端末400は、分散台帳及びトランザクションの検証及び承認処理を実行し、実行結果に応じて自身が保持するステート情報(本実施例においてはユーザ情報テーブル900)を更新する。トランザクション承認者端末400は、公開鍵/秘密鍵ペア生成プログラム410、トランザクション承認プログラム411、及びユーザ情報テーブル900を有する。   The signer terminal 300 electronically signs the user information on the dispersion register of the transaction approver terminal 400. The signer terminal 300 has a public key / private key pair generation program 310, a query generation program 311, and a signature transaction generation program 312. The transaction approver terminal 400 executes the dispersion register and transaction verification and approval processing, and updates the state information (the user information table 900 in this embodiment) held by the transaction approver terminal 400 according to the execution result. The transaction approver terminal 400 has a public key / private key pair generation program 410, a transaction approval program 411, and a user information table 900.

図2は、ユーザ端末100のハードウェアの構成の一例を示すブロック図である。なお、検証者端末200、署名者端末300、及びトランザクション承認者端末400のハードウェア構成は、例えば、ユーザ端末100のハードウェア構成と同様であるため、説明を省略する。ユーザ端末100は、例えば、CPU101と、補助記憶装置102と、メモリ103と、表示装置105と、入出力インターフェース106と、通信インターフェース107と、が内部信号線104を介して接続されている計算機によって構成される。   FIG. 2 is a block diagram showing an example of the hardware configuration of the user terminal 100. As shown in FIG. The hardware configurations of the verifier terminal 200, the signer terminal 300, and the transaction approver terminal 400 are, for example, the same as the hardware configuration of the user terminal 100, and thus the description thereof will be omitted. The user terminal 100 may be, for example, a computer in which the CPU 101, the auxiliary storage device 102, the memory 103, the display device 105, the input / output interface 106, and the communication interface 107 are connected via the internal signal line 104. Configured

CPU101はプロセッサを含み、メモリ103に格納されたプログラムを実行する。メモリ103は、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、CPU101が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。   The CPU 101 includes a processor and executes a program stored in the memory 103. The memory 103 includes a ROM, which is a non-volatile storage element, and a RAM, which is a volatile storage element. The ROM stores an immutable program (for example, BIOS). The RAM is a high-speed and volatile storage element such as a dynamic random access memory (DRAM), and temporarily stores a program executed by the CPU 101 and data used when the program is executed.

補助記憶装置102は、例えば、磁気記憶装置(HDD)、フラッシュメモリ(SSD)等の大容量かつ不揮発性の記憶装置であり、CPU101が実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、補助記憶装置102から読み出されて、メモリ103にロードされて、CPU101によって実行される。   The auxiliary storage device 102 is, for example, a large-capacity and non-volatile storage device such as a magnetic storage device (HDD) or a flash memory (SSD), and stores programs executed by the CPU 101 and data used when executing the programs. . That is, the program is read from the auxiliary storage device 102, loaded into the memory 103, and executed by the CPU 101.

入出力インターフェース106は、キーボードやマウスなどが接続され、オペレータからの入力を受けるインターフェースであり、ディスプレイ装置やプリンタなどが接続され、プログラムの実行結果をオペレータが視認可能な形式で出力するインターフェースである。   The input / output interface 106 is an interface to which a keyboard, a mouse, and the like are connected and receives an input from an operator, and a display device, a printer, and the like are connected to output an execution result of a program in a format visible to the operator. .

通信インターフェース107は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。また、通信インターフェース107は、例えば、USB等のシリアルインターフェースを含む。   The communication interface 107 is a network interface device that controls communication with another device according to a predetermined protocol. The communication interface 107 also includes, for example, a serial interface such as USB.

CPU101が実行するプログラムは、リムーバブルメディア(CD−ROM、フラッシュメモリなど)又はネットワークを介してユーザ端末100に提供され、非一時的記憶媒体である不揮発性の補助記憶装置102に格納される。このため、ユーザ端末100は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。   The program executed by the CPU 101 is provided to the user terminal 100 via removable media (CD-ROM, flash memory, etc.) or a network, and is stored in the non-volatile auxiliary storage device 102 which is a non-temporary storage medium. For this reason, the user terminal 100 may have an interface for reading data from removable media.

ユーザ端末100は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。他の端末についても同様である。   The user terminal 100 is a computer system configured physically on one computer or on a plurality of logically or physically configured computers, and operates in different threads on the same computer. It may also operate on a virtual computer built on multiple physical computer resources. The same applies to the other terminals.

なお、例えば、CPU101は、メモリ103にロードされた公開鍵/秘密鍵ペア生成プログラム110に従って動作することで、公開鍵/秘密鍵ペア生成部として機能し、メモリ103にロードされた暗号化トランザクション生成プログラム111に従って動作することで、暗号化トランザクション生成部として機能する。他の端末におけるプログラムとCPUとの関係についても同様である。   Note that, for example, the CPU 101 functions as a public key / secret key pair generation unit by operating according to the public key / secret key pair generation program 110 loaded into the memory 103, and generates the encrypted transaction loaded in the memory 103. By operating according to the program 111, it functions as an encrypted transaction generation unit. The same applies to the relationship between programs and CPUs in other terminals.

図5は、トランザクション承認者端末400が保持する分散台帳上のユーザ管理用のユーザ情報テーブル900の一例を示す図である。ユーザ情報テーブル900は、例えば、ユーザ名欄、属性欄、参照可能者欄、及び電子署名欄を含む。各欄についての詳細な説明は図4に示す処理とともに後述する。なお、本実施例においてユーザ名は、ユーザを一意に識別する情報の一例であるものとする。   FIG. 5 is a view showing an example of a user information table 900 for user management on the dispersion register which the transaction approver terminal 400 holds. The user information table 900 includes, for example, a user name field, an attribute field, a referable person field, and a digital signature field. A detailed description of each field will be described later along with the process shown in FIG. In the present embodiment, the user name is an example of information that uniquely identifies the user.

図3は、ユーザ端末100と、検証者端末200と、署名者端末300と、トランザクション承認者端末400と、の間で実行される事前鍵配布処理の一例を示すシーケンス図である。   FIG. 3 is a sequence diagram showing an example of advance key distribution processing executed among the user terminal 100, the verifier terminal 200, the signer terminal 300, and the transaction approver terminal 400.

まず、ユーザ端末100の公開鍵/秘密鍵ペア生成プログラム110は、公開鍵である「pk−ユーザ」と当該公開鍵に対応する秘密鍵である「sk−ユーザ」とを生成する(S301)。同様に、検証者端末200の公開鍵/秘密鍵ペア生成プログラム210は、公開鍵である「pk−検証者」と当該公開鍵に対応する秘密鍵である「sk−検証者」とを生成する(S302)。   First, the public key / private key pair generation program 110 of the user terminal 100 generates “pk-user” which is a public key and “sk-user” which is a secret key corresponding to the public key (S301). Similarly, the public key / private key pair generation program 210 of the verifier terminal 200 generates “pk-verifier” which is a public key and “sk-verifier” which is a secret key corresponding to the public key. (S302).

同様に、署名者端末300の公開鍵/秘密鍵ペア生成プログラム310は、公開鍵である「pk−署名者」と当該公開鍵に対応する秘密鍵である「sk−署名者」とを生成する(S303)。同様に、トランザクション承認者端末400の公開鍵/秘密鍵ペア生成プログラム410は、公開鍵である「pk−トランザクション承認者」と当該公開鍵に対応する秘密鍵である「sk−トランザクション承認者」とを生成する(S304)。なお、本実施例における公開鍵と秘密鍵のペアの作成において、例えば、RSA暗号や楕円曲線暗号等の手法が用いられる。   Similarly, the public key / private key pair generation program 310 of the signer terminal 300 generates "pk-signer" which is a public key and "sk-signer" which is a secret key corresponding to the public key. (S303). Similarly, the public key / private key pair generation program 410 of the transaction approver terminal 400 has a public key "pk-transaction approver" and a private key "sk-transaction approver" corresponding to the public key. Are generated (S304). Note that, for example, a technique such as RSA encryption or elliptic curve cryptography is used to create a pair of public key and secret key in the present embodiment.

次に、ユーザ端末100の公開鍵/秘密鍵ペア生成プログラム110はステップS301で生成した公開鍵「pk−ユーザ」を検証者端末200、署名者端末300、及びトランザクション承認者端末400に送信する(S305〜S307)。同様に、検証者端末200の公開鍵/秘密鍵ペア生成プログラム210はステップS302で生成した公開鍵「pk−検証者」をユーザ端末100、署名者端末300、及びトランザクション承認者端末400に送信する(S308〜S310)。   Next, the public key / private key pair generation program 110 of the user terminal 100 transmits the public key “pk-user” generated in step S301 to the verifier terminal 200, the signer terminal 300, and the transaction approver terminal 400 ( S305 to S307). Similarly, the public key / private key pair generation program 210 of the verifier terminal 200 transmits the public key "pk-verifier" generated in step S302 to the user terminal 100, the signer terminal 300, and the transaction approver terminal 400. (S308 to S310).

同様に、署名者端末300の公開鍵/秘密鍵ペア生成プログラム310はステップS303で生成した公開鍵「pk−署名者(D300)」をユーザ端末100、検証者端末200、及びトランザクション承認者端末400に送信する(S311〜S313)。次に、トランザクション承認者端末400の公開鍵/秘密鍵ペア生成プログラム410はステップS304で生成した公開鍵「pk−トランザクション承認者」をユーザ端末100、検証者端末200、及び署名者端末300に送信し(S314〜S316)、事前鍵配布処理を終える。上記処理により、ユーザ端末100、検証者端末200、署名者端末300、及びトランザクション承認者端末400、それぞれの端末上で公開鍵と秘密鍵が生成されて、公開鍵が相互に配布される。   Similarly, the public key / private key pair generation program 310 of the signer terminal 300 generates the public key "pk-signer (D300)" generated in step S303 with the user terminal 100, the verifier terminal 200, and the transaction approver terminal 400. (S311 to S313). Next, the public key / private key pair generation program 410 of the transaction approver terminal 400 transmits the public key "pk-transaction approver" generated in step S304 to the user terminal 100, the verifier terminal 200, and the signer terminal 300. (S314 to S316), and the advance key distribution process is finished. By the above process, the public key and the secret key are generated on each of the user terminal 100, the verifier terminal 200, the signer terminal 300, and the transaction approver terminal 400, and the public key is distributed mutually.

図4は、ユーザ管理システムにおけるユーザ情報の登録、署名、及び検証処理の一例を示すシーケンス図である。以下の例ではユーザ端末100のユーザ名が「Alice」であり、Aliceの属性情報として年齢「25歳」が登録される例を示す。本実施例では、ユーザ端末100が分散台帳へのユーザ情報の登録を行い、署名者端末300がユーザ情報の確認の後に、分散台帳上のユーザ情報へ、電子署名を行い、検証者端末200がユーザ情報の検証を行う処理を例示する。   FIG. 4 is a sequence diagram showing an example of registration, signature and verification processing of user information in the user management system. The following example shows an example in which the user name of the user terminal 100 is "Alice" and the age "25" is registered as Alice's attribute information. In the present embodiment, the user terminal 100 registers user information in the dispersion register, and the signer terminal 300 electronically signs the user information on the dispersion register after confirmation of the user information, and the verifier terminal 200 A process for verifying user information is illustrated.

まず、ユーザ端末100の暗号化トランザクション生成プログラム111は、暗号化トランザクション生成処理を実行し、分散台帳に登録する暗号化トランザクションを生成し(S401)、生成した暗号化トランザクションを全てのトランザクション承認者端末400に送信する(S402)。なお、暗号化トランザクション生成プログラム111は、成した暗号化トランザクションを必ずしも全てのトランザクション承認者端末400に送信しなくてもよく、例えば、予め定められたポリシー、又はユーザ端末100に入力された指示等に従って、一部のトランザクション承認者端末400のみに送信してもよい。   First, the encrypted transaction generation program 111 of the user terminal 100 executes an encrypted transaction generation process to generate an encrypted transaction to be registered in the dispersion ledger (S401), and the generated encrypted transaction is used as all transaction approver terminals It transmits to 400 (S402). The encrypted transaction generation program 111 may not necessarily transmit the completed encrypted transaction to all the transaction approver terminals 400. For example, a predetermined policy, an instruction input to the user terminal 100, etc. , And may be transmitted only to some of the transaction approver terminals 400.

図6は、暗号化トランザクションのデータフォーマットの一例である。暗号化トランザクションはユーザ情報テーブル900と同種のカラムを有する。図6の例ではユーザ端末100のユーザ名が「Alice」であり、ユーザの属性(図6の例では年齢)が「25歳」である。図6の例における暗号化トランザクションは、ユーザ名の値として[Alice]、属性の値として[Enc(K,25歳)]、参照可能者の値として[Pub−Enc(pk−署名者,K),Pub−Enc(pk−検証者,K)]、電子署名の値として[−(ブランク)]を保持している。   FIG. 6 is an example of the data format of the encrypted transaction. The encrypted transaction has the same type of column as the user information table 900. In the example of FIG. 6, the user name of the user terminal 100 is "Alice", and the attribute of the user (age in the example of FIG. 6) is "25 years old". The encrypted transaction in the example of FIG. 6 is [Alice] as the value of the user name, [Enc (K, 25)] as the value of the attribute, and [Pub-Enc (pk-signer, K] as the value of the referable person. , Pub-Enc (pk-verifier, K)], [-(blank)] is held as the value of the electronic signature.

なお、Enc(K,X)は、秘密鍵[K]によって、平文[X]が暗号化された共通鍵暗号方式の暗号文を示す。なお、共通鍵暗号方式として、例えば、AES(Advanced Encryption Standard)暗号等の既存の方式が用いられる。また、Pub−Enc(pk−Y,K)は、公開鍵「pk−Y」によって、平文[K]が暗号化された公開鍵暗号方式の暗号文を示す。なお、公開鍵暗号方式として、例えば、RSA暗号及び楕円曲線暗号等の既存の方式が用いられる。なお[X]、[Y]は暗号文であってもよい。   Enc (K, X) represents a ciphertext of the common key cryptosystem in which the plaintext [X] is encrypted by the secret key [K]. Note that, as the common key encryption method, for example, an existing method such as AES (Advanced Encryption Standard) encryption is used. Also, Pub-Enc (pk-Y, K) indicates a ciphertext of the public key cryptosystem in which plaintext [K] is encrypted by the public key "pk-Y". In addition, as a public key cryptosystem, for example, an existing cryptosystem such as RSA cryptosystem and elliptic curve cryptosystem is used. [X] and [Y] may be ciphertext.

図4の説明に戻る。次に、暗号化トランザクションを受信したトランザクション承認者端末400のトランザクション承認プログラム411は、トランザクション承認処理を実行する(S403)。トランザクション承認プログラム411は、承認結果が成功であれば、ステップS403において、暗号化トランザクションを分散台帳上のユーザ情報テーブル900に登録する。一方、トランザクション承認プログラム411は、承認結果が失敗であれば、受信した暗号化トランザクションをステップS403において破棄する。なお、トランザクション承認処理の手法については、Proof of Work手法が用いられてもよいし、PBFT(Practical Byzantine Fault Tolelance)手法が用いられてもよいし、その他の分散台帳向けのトランザクション承認技術が用いられてもよい。   It returns to the explanation of FIG. Next, the transaction approval program 411 of the transaction approver terminal 400 having received the encrypted transaction executes a transaction approval process (S403). If the approval result is successful, the transaction approval program 411 registers the encrypted transaction in the user information table 900 on the distributed ledger in step S403. On the other hand, if the approval result is a failure, the transaction approval program 411 discards the received encrypted transaction in step S403. As a method of transaction approval processing, a proof of work method may be used, a practical byzantine fault tolerance (PBFT) method may be used, or other transaction approval technology for distributed ledger is used. May be

次に、署名者端末300のクエリ生成プログラム311は、分散台帳に登録されているユーザ情報を取得するためのクエリ生成処理においてクエリトランザクションを生成し(S404)、生成したクエリトランザクションを全てのトランザクション承認者端末400に送信する(S405)。なお、署名者端末300のクエリ生成プログラム311は、成したクエリトランザクションを必ずしも全てのトランザクション承認者端末400に送信しなくてもよく、例えば、予め定められたポリシー、又は署名者端末300に入力された指示等に従って、一部のトランザクション承認者端末400のみに送信してもよい。   Next, the query generation program 311 of the signer terminal 300 generates a query transaction in the query generation process for acquiring user information registered in the dispersion register (S404), and approves all the generated query transactions. It transmits to the user terminal 400 (S405). The query generation program 311 of the signer terminal 300 may not necessarily transmit the completed query transaction to all the transaction approver terminals 400, and may be input to, for example, a predetermined policy or the signer terminal 300. According to the instruction etc., it may be transmitted only to some of the transaction approver terminals 400.

なお、クエリ生成プログラム311は、ステップS404〜S405の処理を、例えば、定期的に実行する。また、ユーザ端末100が暗号化トランザクションを分散台帳に送信した事を署名者端末300に通知し、当該通知を署名者端末300が受信した場合に、クエリ生成プログラム311は、ステップS404〜ステップS405の処理を行ってもよい。   The query generation program 311 periodically executes, for example, the processing of steps S404 to S405. In addition, when the signer terminal 300 is notified that the user terminal 100 has transmitted the encrypted transaction to the dispersion register, and the signer terminal 300 receives the notification, the query generation program 311 performs the processing of steps S404 to S405. You may process.

なお、署名者端末300の補助記憶装置に予めユーザ端末100のユーザの本人確認用情報(例えば、ユーザの属性情報、及びユーザを識別する情報等)が予め格納されている場合には、ユーザの本人確認が行われてもよい。具体的には、例えば、署名者端末300のユーザである署名者が電話や対面によって、ユーザ端末100のユーザの本人確認等を行うことにより、本人確認用情報を取得する。署名者端末300は、当該取得したユーザの情報の入力を、入力装置を介して受け付ける。この場合、クエリ生成プログラム311は、入力されたユーザの情報と、署名者端末300の補助記憶装置に予め格納されている当該ユーザの情報と、が一致する場合に、クエリトランザクションを生成し、一致しない場合には、例えば、署名者端末300の表示装置及びユーザ端末100にエラーを出力する。なお、署名者端末300のユーザである署名者が当該一致判定の結果を、入力装置等を介して署名者端末300に直接入力してもよい。   In the case where the user identification information for the user of the user terminal 100 (for example, user attribute information and information for identifying the user) is stored in advance in the auxiliary storage device of the signer terminal 300, the user's An identity verification may be performed. Specifically, for example, when the signer who is the user of the signer terminal 300 performs identity verification of the user of the user terminal 100 or the like by phone call or face-to-face contact, the identity verification information is acquired. The signer terminal 300 receives an input of the acquired user information via the input device. In this case, the query generation program 311 generates a query transaction when the input user's information and the user's information stored in advance in the auxiliary storage device of the signer terminal 300 match. If not, an error is output to the display device of the signer terminal 300 and the user terminal 100, for example. The signer who is the user of the signer terminal 300 may directly input the result of the match determination to the signer terminal 300 via an input device or the like.

図7は、ステップS404で生成されるクエリトランザクションのデータフォーマットの一例を示す図である。図7のクエリトランザクションにおいて、SELECT WHERE ユーザ名=[Alice]と記述されている。つまり、図7のクエリトランザクションは、分散台帳上のユーザ情報テーブル900のユーザ名である「Alice」に関するレコードを取得するためのクエリトランザクションである。なお、ステップS404において他のクエリ方式によるクエリトランザクションが生成されてもよい。   FIG. 7 is a view showing an example of the data format of the query transaction generated in step S404. In the query transaction of FIG. 7, it is described that SELECT WHERE username = [Alice]. That is, the query transaction of FIG. 7 is a query transaction for acquiring a record related to “Alice” which is a user name of the user information table 900 on the distribution register. In addition, the query transaction by another query system may be generated in step S404.

図4の説明に戻る。次に、クエリトランザクションを受信したトランザクション承認者端末400のトランザクション承認プログラム411は、受信したクエリトランザクションに対応する暗号化データを分散台帳上のユーザ情報テーブル900から検索し、当該署名者端末300に返信する(S406)。なお、ユーザ情報テーブル900に当該クエリトランザクションに対応する暗号化データが存在しない場合、トランザクション承認プログラム411は、当該署名者端末300にエラーを返信する。   It returns to the explanation of FIG. Next, the transaction approval program 411 of the transaction approver terminal 400 that has received the query transaction searches the user information table 900 on the dispersion ledger for encrypted data corresponding to the received query transaction, and sends it to the signer terminal 300 (S406). If encrypted data corresponding to the query transaction does not exist in the user information table 900, the transaction approval program 411 sends an error back to the signer terminal 300.

図8は、ステップS406において送信される暗号化データのデータフォーマットの一例を示す図である。図8の例は、図7の例においてユーザ名が「Alice」であるクエリトランザクションに対する暗号化データの一例であり、ユーザ名の値が「Alice」であるユーザ情報テーブル900のレコードが暗号化データとして送信されている。   FIG. 8 is a diagram showing an example of the data format of the encrypted data transmitted in step S406. The example of FIG. 8 is an example of the encrypted data for the query transaction whose user name is “Alice” in the example of FIG. 7, and the record of the user information table 900 whose value of the user name is “Alice” is encrypted data. It has been sent as.

図4の説明に戻る。次に、暗号化データを受信した署名者端末300の署名トランザクション生成プログラム312は、受信した暗号化データを、ステップS303における公開鍵/秘密鍵ペア生成処理で生成された秘密鍵「sk−署名者」を用いて復号し、復号の結果得られる平文の属性情報を検証する(S407)。   It returns to the explanation of FIG. Next, the signature transaction generation program 312 of the signer terminal 300 that has received the encrypted data uses the secret key “sk—signer generated in the public key / secret key pair generation process in step S303. "Decrypted using plaintext" and verify plaintext attribute information obtained as a result of decryption (S407).

署名トランザクション生成プログラム312は、ステップS407における検証結果が失敗である場合は、例えば、ユーザ端末100に対してエラーを通知して、図4の処理を終了する。   If the verification result in step S407 is a failure, for example, the signature transaction generation program 312 notifies the user terminal 100 of an error, and ends the processing of FIG.

ステップS407において検証結果が成功である場合は、署名トランザクション生成プログラム312は、ステップS304で生成された秘密鍵「sk−署名者」を用いて、暗号化データに対する電子署名を生成し、生成した電子署名を含む署名トランザクションを生成し、生成した署名トランザクションを、トランザクション承認者端末400に送信する(S408)。なお、署名トランザクション生成プログラム312は、生成した署名トランザクションを必ずしも全てのトランザクション承認者端末400に送信しなくてもよく、例えば、予め定められたポリシー、又は署名者端末300に入力された指示等に従って、一部のトランザクション承認者端末400のみに送信してもよい。   If the verification result is successful in step S407, the signature transaction generation program 312 generates an electronic signature for encrypted data using the secret key "sk-signer" generated in step S304, and generates an electronic signature The signature transaction including the signature is generated, and the generated signature transaction is transmitted to the transaction approver terminal 400 (S408). Note that the signature transaction generation program 312 does not have to transmit the generated signature transaction to all the transaction approver terminals 400. For example, the signature transaction generation program 312 follows a predetermined policy or an instruction input to the signer terminal 300. , And may be transmitted only to some of the transaction approver terminals 400.

図9は、署名トランザクションのデータフォーマットの一例を示す図である。図9は、ユーザ名の値が「Alice」の属性情報に対する検証結果が成功の場合に生成される署名トランザクションの例である。電子署名欄には、署名者端末300の秘密鍵である「sk−署名者」を用いて生成された電子署名の値である[Signed by 署名者]が格納されている。   FIG. 9 is a diagram showing an example of the data format of the signature transaction. FIG. 9 is an example of a signature transaction generated when the verification result for the attribute information of the user name value is “Alice” is successful. The electronic signature field stores [Signed by Signer], which is the value of the electronic signature generated using “sk−signer” which is the secret key of the signer terminal 300.

なお、図9の署名トランザクションの例では属性欄及び参照可能者欄がブランクであるが、例えば、属性欄に属性情報(Aliceの暗号化された属性情報[Enc(K,25歳)]又はAliceの暗号化されていない属性情報[25歳])が格納されていてもよい。また、電子署名欄の値である[Signed by 署名者]は署名者の公開鍵である「pk−署名者」を用いて、署名検証が可能である。なお、署名生成及び署名検証には、例えば、RSA署名等の既存の方式が用いられてもよい。   In the example of the signature transaction in FIG. 9, although the attribute column and the referable person column are blank, for example, attribute information (Alice's encrypted attribute information [Enc (K, 25 years old)]) or Alice is displayed in the attribute column. Attribute information [25 years old]) may be stored. Also, [Signed by Signer] which is the value of the electronic signature section can perform signature verification using "pk-signer" which is the signer's public key. An existing method such as RSA signature may be used for signature generation and signature verification, for example.

図4の説明に戻る。次に、署名トランザクションを受信したトランザクション承認者端末400のトランザクション承認プログラム411は、トランザクション承認処理を実行する(S409)。トランザクション承認プログラム411は、承認結果が成功であれば、ステップS409において、署名トランザクションに格納された電子署名を、分散台帳上のユーザ情報テーブル900の、署名トランザクションが示すユーザに対応するレコード、に登録する。一方、承認結果が失敗であれば、トランザクション承認プログラム411は、受信した暗号化トランザクションを、ステップS409において破棄する。   It returns to the explanation of FIG. Next, the transaction approval program 411 of the transaction approver terminal 400 having received the signature transaction executes a transaction approval process (S409). If the approval result is a success, the transaction approval program 411 registers the electronic signature stored in the signature transaction in the record corresponding to the user indicated by the signature transaction in the user information table 900 on the dispersion register in step S409. Do. On the other hand, if the approval result is a failure, the transaction approval program 411 discards the received encrypted transaction in step S409.

次に、検証者端末200のクエリ生成プログラム211は、分散台帳に登録されているユーザ情報を取得するためのクエリ生成処理を実行することによりクエリトランザクションを生成し(S410)、生成したクエリトランザクションをトランザクション承認者端末400に送信する(S411)。なお、検証者端末200のクエリ生成プログラム211は、生成したクエリトランザクションを必ずしも全てのトランザクション承認者端末400に送信しなくてもよく、例えば、予め定められたポリシー、又は検証者端末200に入力された指示等に従って、一部のトランザクション承認者端末400のみに送信してもよい。   Next, the query generation program 211 of the verifier terminal 200 generates a query transaction by executing a query generation process for acquiring user information registered in the dispersion register (S410), and generates the generated query transaction. It transmits to the transaction approver terminal 400 (S411). The query generation program 211 of the verifier terminal 200 may not necessarily transmit the generated query transaction to all the transaction approver terminals 400, and may be input to, for example, a predetermined policy or the verifier terminal 200. According to the instruction etc., it may be transmitted only to some of the transaction approver terminals 400.

なお、ステップS410において生成されるクエリトランザクションは、例えば、図6に示されたデータフォーマットを有する。なお、検証者端末200のクエリ生成プログラム211は、ステップS410〜S411の処理を、例えば、定期的に実行する。また、ユーザ端末100が暗号化トランザクションを分散台帳に送信した事を検証者端末200に通知し、クエリ生成プログラム211は当該通知を受信した場合にステップS410〜ステップS411の処理を行ってもよい。   The query transaction generated in step S410 has, for example, the data format shown in FIG. The query generation program 211 of the verifier terminal 200 executes the processing of steps S410 to S411 periodically, for example. In addition, the verifier terminal 200 may be notified that the user terminal 100 has transmitted the encrypted transaction to the distribution register, and the query generation program 211 may perform the processing of step S410 to step S411 when the notification is received.

次に、ステップS411で送信されたクエリトランザクションを受信したトランザクション承認者端末400のトランザクション承認プログラム411は、受信したクエリトランザクションに対応する暗号化データを、ユーザ情報テーブル900から検索し、当該検証者端末200に返信する(S412)。なお、ユーザ情報テーブル900に当該クエリトランザクションに対応する暗号化データが存在しない場合、トランザクション承認プログラム411は、当該検証者端末200にエラーを返信する。   Next, the transaction approval program 411 of the transaction approver terminal 400 that has received the query transaction transmitted in step S411 searches the user information table 900 for encrypted data corresponding to the received query transaction, and the verifier terminal Reply to 200 (S412). If encrypted data corresponding to the query transaction does not exist in the user information table 900, the transaction approval program 411 sends an error back to the verifier terminal 200.

図10は、ステップS411で送信される暗号化データデータフォーマットの一例を示す図である。図10の例は、図9の例においてユーザ名が「Alice」であるクエリトランザクションに対する暗号化データの一例であり、ユーザ名の値が「Alice」であるユーザ情報テーブル900のレコードが暗号化データとして送信されているなお、ステップS408において署名トランザクションを受信したため、ユーザ情報テーブル900のユーザ名が[Alice]であるレコードの電子署名欄の更新が行われている。従って、図8の暗号化データにおいて電子署名欄はブランクであったが、図10の暗号化データにおいては、電子署名欄に[Signed by 署名者]が格納されている。   FIG. 10 is a diagram showing an example of the encrypted data data format transmitted in step S411. The example of FIG. 10 is an example of the encrypted data for the query transaction whose user name is “Alice” in the example of FIG. 9, and the record of the user information table 900 whose value of the user name is “Alice” is encrypted data. Since the signature transaction has been received in step S408, the digital signature field of the record whose user name in the user information table 900 is [Alice] is updated. Therefore, although the electronic signature field is blank in the encrypted data of FIG. 8, [Signed by Signer] is stored in the electronic signature field of the encrypted data of FIG.

図4の説明に戻る。次に、トランザクション承認者端末400から暗号化データを受信した検証者端末200の検証プログラム212は、ステップS302で生成された秘密鍵「sk−検証者」を用いて、受信した暗号化データを復号し、復号した平文の属性情報を検証する(S413)。   It returns to the explanation of FIG. Next, the verification program 212 of the verifier terminal 200 that receives the encrypted data from the transaction approver terminal 400 decrypts the received encrypted data using the secret key “sk-verifier” generated in step S302. And verify the decrypted plaintext attribute information (S413).

なお、ステップS413の属性情報の検証において、検証プログラム212は、例えば、平文の属性情報が予め定められた条件を満たすか否か(例えば、属性情報が年齢を示す場合には、年齢が所定の範囲に含まれるか(例えば20歳以上かつ60歳以下等)等)を検証する。また、ステップS413において、検証プログラム212は、受信した暗号化データに含まれる電子署名の検証を行う。ステップS413において、検証結果が失敗である場合、検証プログラム212は、検証者端末200の表示装置等にエラーを出力して処理を終了し、検証結果が成功である場合、検証プログラム212は、検証結果が成功であることを示す表示を検証者端末200の表示装置等に出力し処理を終了する。   In the verification of the attribute information in step S413, the verification program 212 determines whether the plaintext attribute information satisfies, for example, a predetermined condition (for example, when the attribute information indicates an age, the age is predetermined). It is verified whether it is included in the range (eg 20 years old and 60 years old etc). In step S413, the verification program 212 verifies the electronic signature included in the received encrypted data. In step S413, if the verification result is a failure, the verification program 212 outputs an error to the display device or the like of the verifier terminal 200 and ends the processing, and if the verification result is a success, the verification program 212 verifies A display indicating that the result is successful is output to the display device or the like of the verifier terminal 200, and the process is ended.

本実施例のユーザ管理システムは、図4に示す処理によって、分散台帳上においても、特定のユーザ管理者及び管理者端末を設置することなく、適切なアクセス制御がなされたユーザ情報の管理を実施することができる。   The user management system of this embodiment executes management of user information for which appropriate access control has been performed without installing a specific user administrator and administrator terminal even on the dispersion ledger by the process shown in FIG. can do.

図11は、ステップS401における暗号化トランザクションの生成処理の詳細の一例を示すフローチャートである。まず、ユーザ端末100の暗号化トランザクション生成プログラム111は、例えば、ユーザ端末100に対応するユーザ名である[Alice]を出力し、ユーザ名を設定する(S1101)。なお、ユーザ端末100は、例えば、入力装置等を介して、ユーザからユーザ名の入力を受け付けてもよい。   FIG. 11 is a flowchart illustrating an example of the details of the generation process of the encrypted transaction in step S401. First, the encrypted transaction generation program 111 of the user terminal 100, for example, outputs [Alice] which is a user name corresponding to the user terminal 100, and sets the user name (S1101). The user terminal 100 may receive an input of a user name from the user via, for example, an input device or the like.

次に、暗号化トランザクション生成プログラム111は、共通鍵生成アルゴリズムを実行し、属性情報暗号化用の共通鍵である[K]を生成し、出力する(S1102)。   Next, the encrypted transaction generation program 111 executes a common key generation algorithm to generate and output [K] which is a common key for attribute information encryption (S1102).

次に、暗号化トランザクション生成プログラム111は、「Alice」の平文の属性値である年齢[25歳]を、共通鍵暗号アルゴリズムと共通鍵である「K」を用いて暗号化することにより属性値[Enc(K,25歳)]を生成し、出力する(S1103)。   Next, the encrypted transaction generation program 111 encrypts the age [25], which is the attribute value of the plaintext of “Alice”, using the common key encryption algorithm and the common key “K” to obtain the attribute value. [Enc (K, 25 years old)] is generated and output (S1103).

次に、暗号化トランザクション生成プログラム111は、ユーザの暗号化された属性を参照可能な参照可能者を設定する(S1104)。ここでは、署名者端末300及び検証者端末200が参照可能者である例を説明する。ステップS1104において、暗号化トランザクション生成プログラム111は、参照可能者を示す情報の入力を、例えば入力装置等を介して、受け付ける。   Next, the encrypted transaction generation program 111 sets a referable person who can refer to the encrypted attribute of the user (S1104). Here, an example in which the signer terminal 300 and the verifier terminal 200 are referable persons will be described. In step S1104, the encrypted transaction generation program 111 receives an input of information indicating a referable person, for example, via an input device or the like.

ステップS1104において、暗号化トランザクション生成プログラム111は、署名者端末300の公開鍵である「pk−署名者」で共通鍵「K」を暗号化した暗号文[Pub−Enc(pk−署名者,K)]を生成し、さらに検証者端末200の公開鍵である「pk−検証者」で共通鍵「K」を暗号化した暗号文[Pub−Enc(pk−検証者,K)]を生成し、これらの暗号文を参照可能者として出力する。   In step S1104, the encrypted transaction generation program 111 is a ciphertext [Pub-Enc (pk-signer, K) obtained by encrypting the common key "K" with "pk-signer" which is the public key of the signer terminal 300. ], And further generates a ciphertext [Pub-Enc (pk-verifier, K)] obtained by encrypting the common key "K" with "pk-verifier", which is the public key of verifier terminal 200. Output these ciphertexts as referable persons.

次に、暗号化トランザクション生成プログラム111は、上記の出力値を、暗号化トランザクションの各データフィールドに格納し(S1105)、暗号化トランザクションの生成処理を終了する。つまり、暗号化トランザクション生成プログラム111は、ユーザ名=[Alice]、属性=[Enc(K,25歳)]、参照可能者=[Pub−Enc(pk−署名者,K)]、[Pub−Enc(pk−検証者,K)]、及び電子署名=[−]([−]はブランクを示す)を、暗号化トランザクション内の各データフィールドに格納する。   Next, the encrypted transaction generation program 111 stores the above-mentioned output value in each data field of the encrypted transaction (S1105), and ends the generation processing of the encrypted transaction. That is, the encrypted transaction generation program 111 is: user name = [Alice], attribute = [Enc (K, 25 years old)], referable person = [Pub-Enc (pk-signer, K)], [Pub- Enc (pk-verifier, K)], and electronic signature = [-] ([-] indicates a blank) are stored in each data field in the encrypted transaction.

図12は、ステップS407における署名トランザクション生成処理の詳細の一例を示すフローチャートである。以下、図8における暗号化データに対する署名トランザクション生成処理について説明する。   FIG. 12 is a flowchart showing an example of the details of the signature transaction generation process in step S407. Hereinafter, a signature transaction generation process for encrypted data in FIG. 8 will be described.

まず、署名者端末300の署名トランザクション生成プログラム312は、暗号化データをトランザクション承認者端末400から受信し(S1202)、復号処理を実行する(S1202)。署名トランザクション生成プログラム312は、ステップS1202において、暗号化データの参照可能者欄に格納されている[Pub−Enc(pk−署名者,K)]を署名者端末300の秘密鍵「sk−署名者」で復号し、共通鍵「K」を得る。   First, the signature transaction generation program 312 of the signer terminal 300 receives the encrypted data from the transaction approver terminal 400 (S1202), and executes decryption processing (S1202). In step S 1202, the signature transaction generation program 312 uses [Pub-Enc (pk-signer, K)] stored in the referable person column of the encrypted data as the secret key “sk-signer of the signer terminal 300. To obtain the common key "K".

次に、署名トランザクション生成プログラム312は、ステップS1202で取得した共通鍵「K」を用いて、暗号化データの属性[Enc(K,25歳)]を復号して、平文25歳を出力して、当該平文である属性の検証処理を実行する(S1203)。署名トランザクション生成プログラム312は、検証処理として、例えば、平文である属性と、予め署名者端末300が保持する当該ユーザ(ここでは「Alice」)の属性と、が一致する場合に検証に成功したと判定し、一致しない場合に検証に失敗したと判定する。また、検証処理において、ユーザ端末100に対応するユーザAliceに対して、署名者端末300のユーザが、電話や対面によってユーザ端末100のユーザAliceの本人確認等を行った上で得た検証結果を、署名者端末300に入力してもよい。   Next, the signature transaction generation program 312 decrypts the attribute [Enc (K, 25)] of the encrypted data using the common key “K” acquired in step S1202, and outputs plaintext 25 And verifying the attribute that is the plaintext (S1203). The signature transaction generation program 312 has succeeded in verification when, for example, an attribute that is a plain text and an attribute of the user (here, “Alice”) held in advance by the signer terminal 300 match as a verification process. If it does not match, it is determined that the verification has failed. Further, in the verification process, the verification result obtained after the user of the signer terminal 300 performs identity verification and the like of the user Alice of the user terminal 100 by telephone or face-to-face with respect to the user Alice corresponding to the user terminal 100 , And may be input to the signer terminal 300.

なお、検証処理には、属性情報に限らず、ユーザを特定する情報を用いることができる。つまり、ユーザを特定する情報が暗号化データに含まれていれば、検証処理に当該情報が用いられてもよい。署名トランザクション生成プログラム312は、検証結果が失敗であると判定した場合(S1203:検証失敗)、例えば、署名者端末300の表示装置及びユーザ端末100にエラーを出力して(S1204)、署名トランザクション生成処理を終了する。   In addition, not only attribute information but information which specifies a user can be used for verification processing. That is, if the information specifying the user is included in the encrypted data, the information may be used in the verification process. When the signature transaction generation program 312 determines that the verification result is a failure (S1203: verification failure), for example, an error is output to the display device of the signer terminal 300 and the user terminal 100 (S1204) to generate a signature transaction. End the process.

署名トランザクション生成プログラム312は、検証結果が失敗であると判定した場合(S1203:検証成功)、署名生成処理を実行する(S1205)。ステップS1205において、署名トランザクション生成プログラム312は、電子署名の対象データであるユーザ名[Alice]と属性:[Enc(K,25歳)]に対して、電子署名アルゴリズムと秘密鍵「sk−署名者」とを用いて電子署名[Signed by 署名者]を生成して、電子署名:[Signed by 署名者]を出力する。次に、署名トランザクション生成プログラム312は、署名トランザクションデータの各データフィールドに、ユーザ名=[Alice]及び電子署名=[Signed by 署名者]を格納して(S1206)、署名トランザクション生成処理を終了する。   When the signature transaction generation program 312 determines that the verification result is a failure (S1203: verification success), the signature transaction generation program 312 executes signature generation processing (S1205). In step S1205, the signature transaction generation program 312 generates a digital signature algorithm and a secret key “sk-signer” for the user name [Alice] that is the target data of the electronic signature and the attribute: [Enc (K, 25 years old)]. And generate an electronic signature [Signed by Signer], and output the electronic signature: [Signed by Signer]. Next, the signature transaction generation program 312 stores the user name = [Alice] and the electronic signature = [Signed by Signer] in each data field of the signature transaction data (S1206), and ends the signature transaction generation processing. .

図13は、ユーザ情報テーブル900の他の例を示す図である。図5のユーザ情報テーブル900は、属性欄を1つだけ有しているが、図13のユーザ情報テーブル900は、複数の属性欄(属性1欄、・・・、属性n欄)を有することにより、複数種類の属性を格納することができる。   FIG. 13 is a diagram showing another example of the user information table 900. As shown in FIG. Although the user information table 900 of FIG. 5 has only one attribute column, the user information table 900 of FIG. 13 has a plurality of attribute columns (attribute 1 column,..., Attribute n column). Allows multiple types of attributes to be stored.

図14は、ユーザ情報テーブル900の他の例を示す図である。図14の例では、ユーザ情報テーブル900の同一のレコードに格納されている属性が、異なる暗号化方式及び/又は暗号鍵を用いて暗号化されている。具体的には、図14のユーザ情報テーブル900の最上段のレコードにおいて、属性1欄はEnc(K,25歳)、・・・、属性n欄はEnc(K,女性)といったように、属性ごとに異なる共通鍵/公開鍵暗号化方式及び/又は暗号鍵を用いて暗号化されている。 FIG. 14 is a diagram showing another example of the user information table 900. As shown in FIG. In the example of FIG. 14, the attributes stored in the same record of the user information table 900 are encrypted using different encryption methods and / or encryption keys. Specifically, in the record at the top of the user information table 900 in FIG. 14, the attribute 1 column is Enc 1 (K 1 , 25 years old),..., And the attribute n column is Enc n (K n , female) As such, encryption is performed using a common key / public key encryption scheme and / or an encryption key that are different for each attribute.

また、例えば、ユーザ情報テーブル900において属性ごとに異なる参照可能者が、設定されてもよい。つまり、ユーザ端末100は、参照可能者欄のデータフィールドの参照可能者ごとに、異なる復号鍵が登録することにより、属性ごとにアクセス権限を設定してもよい。   Also, for example, different referable persons may be set for each attribute in the user information table 900. That is, the user terminal 100 may set an access right for each attribute by registering a different decryption key for each referable person in the data field of the referable person column.

また、さらに属性を暗号化する方式として、暗号文を別の暗号化方式で暗号化するなどの多重暗号化が用いられてもよい。具体的には、例えば、平文である年齢「25歳」を第1の共通鍵で暗号化すると暗号文「20歳以上」が生成され、暗号文「20歳以上」を第2の共通鍵で暗号化すると年齢を示唆しない暗号文が生成される場合を想定する。ユーザ端末100は、例えば、第1の共通鍵及び第2の共通鍵を取得可能な参照可能者、第2の共通鍵のみを取得可能な参照可能者、及び第1の共通鍵及び第2の共通鍵のいずれも取得できない参照可能者を決定することにより、同一の属性情報におけるアクセスレベルを設定することができる。   Further, as a method of encrypting the attribute, multiple encryption such as encryption of a ciphertext by another encryption method may be used. Specifically, for example, when the age "25", which is a plaintext, is encrypted with the first common key, the ciphertext "20 or more" is generated, and the ciphertext "20 or more" is generated using the second common key. It is assumed that encryption produces a ciphertext that does not indicate age. For example, the user terminal 100 may refer to a person who can obtain the first common key and the second common key, a person who can obtain the second common key, and the first common key and the second common key. The access level in the same attribute information can be set by determining the referable person who can not acquire any of the common keys.

また、ステップS407において、署名トランザクション生成プログラム312は、この際に特開2006−180472号公報に記載の墨塗り署名技術を用いて、署名を生成してもよい。これにより、例えば、トランザクション承認者端末400は、署名者端末300が署名を行った後に暗号文の開示範囲を変更することができる。   In step S407, the signature transaction generation program 312 may generate a signature at this time using the redactable signature technique described in JP-A-2006-180472. Thus, for example, the transaction approver terminal 400 can change the disclosure range of the ciphertext after the signer terminal 300 has made a signature.

つまり、例えば、署名トランザクション生成プログラム312は、全ての範囲を墨塗りした状態でも署名検証が可能な墨塗り署名を付与し、検証者端末200から一部の属性情報の開示の要求又は指定を受けた後に、当該一部の範囲を開示してもよい。また、この場合、署名トランザクション生成プログラム312は、暗号文の当該一部が検証者端末200に開示された状態で署名検証が可能な墨塗り署名を、予め検証者端末200が検証可能なように電子署名欄に格納してもよい。   That is, for example, the signature transaction generation program 312 adds a redactable signature that allows signature verification even in a state where the entire range is redacted, and receives a request or designation of disclosure of a part of attribute information from the verifier terminal 200. After that, the part of the range may be disclosed. Also, in this case, the signature transaction generation program 312 allows the verifier terminal 200 to verify in advance the redactable signature that can be verified in the state where the part of the ciphertext is disclosed to the verifier terminal 200. It may be stored in the electronic signature field.

また、ステップS401において、暗号化トランザクション生成プログラム111は、検索可能暗号や関数型暗号を用いて、暗号化を実行してもよい、またこの場合に、トランザクション承認者端末400は、暗号化された属性のデータフィールドに対して例えば特開2012−123614号公報に記載の方法で暗号文の検索処理を行ってもよいし、ユーザ端末100は例えば特開2012−133214号公報に記載の方法で暗号文に対するアクセス権限のコントロールを行ってもよい。   In step S401, the encrypted transaction generation program 111 may execute encryption using a searchable encryption or a functional encryption. In this case, the transaction approver terminal 400 is encrypted. For example, ciphertext search processing may be performed on the data field of the attribute according to the method described in JP-A-2012-123614, or the user terminal 100 may perform encryption according to the method described in JP-A-2012-133214, for example. You may control the access authority to the statement.

なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。   The present invention is not limited to the embodiments described above, but includes various modifications. For example, the embodiments described above are described in detail in order to explain the present invention in an easy-to-understand manner, and are not necessarily limited to those having all the configurations described. In addition, part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. In addition, with respect to a part of the configuration of each embodiment, it is possible to add, delete, and replace other configurations.

また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。   Further, each of the configurations, functions, processing units, processing means, etc. described above may be realized by hardware, for example, by designing part or all of them with an integrated circuit. Further, each configuration, function, etc. described above may be realized by software by the processor interpreting and executing a program that realizes each function. Information such as a program, a table, and a file for realizing each function can be placed in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.

また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。   Further, control lines and information lines indicate what is considered to be necessary for the description, and not all control lines and information lines in the product are necessarily shown. In practice, almost all configurations may be considered to be mutually connected.

100 ユーザ端末、101 CPU、102 補助記憶装置、103 メモリ、110 暗号化トランザクション生成プログラム、200 検証者端末、212 検証プログラム、300 署名者端末、署名トランザクション生成プログラム、400 トランザクション承認者端末、411 トランザクション承認プログラム、900 ユーザ情報テーブル   100 user terminal, 101 CPU, 102 auxiliary storage device, 103 memory, 110 encrypted transaction generation program, 200 verifier terminal, 212 verification program, 300 signer terminal, signature transaction generation program, 400 transaction approver terminal, 411 transaction approval Program, 900 User Information Table

Claims (10)

ユーザ管理装置であって、
プロセッサとメモリとを含み、
前記メモリは、
第1の暗号鍵で暗号化された情報を復号する第1の復号鍵と、
ユーザを識別する識別情報、第2の暗号鍵で暗号化された前記ユーザの属性情報である暗号化属性情報、及び前記暗号化属性情報を参照するための参照情報を示すトランザクションデータと、を保持し、
前記参照情報は、前記第1の暗号鍵で暗号化された第2の復号鍵を含み、
前記第2の復号鍵は前記第2の暗号鍵で暗号化された情報を復号する鍵であり、
前記プロセッサは、
前記第1の復号鍵を用いて前記参照情報に含まれる前記第2の復号鍵を取得し、
前記第2の復号鍵を用いて前記暗号化属性情報を復号して、前記ユーザの属性情報を取得し、
前記取得した属性情報が所定の条件を満たす場合に電子署名を生成し、
前記識別情報と前記生成した電子署名とを含む署名トランザクションデータを出力する、ユーザ管理装置。
A user management device,
Including processor and memory,
The memory is
A first decryption key that decrypts the information encrypted by the first encryption key;
It holds identification information for identifying a user, encrypted attribute information which is attribute information of the user encrypted with a second encryption key, and transaction data indicating reference information for referring to the encrypted attribute information. And
The reference information includes a second decryption key encrypted with the first encryption key.
The second decryption key is a key for decrypting information encrypted by the second encryption key.
The processor is
Acquiring the second decryption key included in the reference information using the first decryption key;
Decrypting the encrypted attribute information using the second decryption key to obtain attribute information of the user;
Generating a digital signature when the acquired attribute information satisfies a predetermined condition;
A user management apparatus which outputs signature transaction data including the identification information and the generated electronic signature.
請求項1に記載のユーザ管理装置であって、
前記トランザクションデータは、分散台帳を構成する複数の計算機に含まれる計算機から前記プロセッサが受信したデータであり、
前記プロセッサは、前記署名トランザクションデータを、前記複数の計算機に対して出力する、ユーザ管理装置。
The user management apparatus according to claim 1, wherein
The transaction data is data received by the processor from a computer included in a plurality of computers constituting the dispersion ledger,
The user management device, wherein the processor outputs the signature transaction data to the plurality of computers.
請求項2に記載のユーザ管理装置であって、
前記トランザクションデータは、ユーザ端末が生成したデータであり、
前記第1の暗号鍵は、前記ユーザ端末の共通鍵である、ユーザ管理装置。
The user management apparatus according to claim 2, wherein
The transaction data is data generated by a user terminal,
The user management apparatus, wherein the first encryption key is a common key of the user terminal.
請求項1に記載のユーザ管理装置であって、
前記第1の暗号鍵は、前記ユーザ管理装置の公開鍵であり、
前記第1の復号鍵は、前記ユーザ管理装置の秘密鍵である、ユーザ管理装置。
The user management apparatus according to claim 1, wherein
The first encryption key is a public key of the user management device,
The user management device, wherein the first decryption key is a secret key of the user management device.
請求項1に記載のユーザ管理装置であって、
前記トランザクションデータは、それぞれ異なる暗号鍵で暗号化された複数種類の暗号化属性情報を含み、
前記複数種類の属性情報は、前記第2の暗号鍵で暗号化された暗号化属性情報を含む、ユーザ管理装置。
The user management apparatus according to claim 1, wherein
The transaction data includes a plurality of types of encryption attribute information encrypted with different encryption keys,
The user management apparatus, wherein the plurality of types of attribute information include encrypted attribute information encrypted with the second encryption key.
ユーザ管理装置によるユーザ管理方法であって、
前記ユーザ管理装置は、
第1の暗号鍵で暗号化された情報を復号する第1の復号鍵と、
ユーザを識別する識別情報、第2の暗号鍵で暗号化された前記ユーザの属性情報である暗号化属性情報、及び前記暗号化属性情報を参照するための参照情報を示すトランザクションデータと、を保持し、
前記参照情報は、前記第1の暗号鍵で暗号化された第2の復号鍵を含み、
前記第2の復号鍵は前記第2の暗号鍵で暗号化された情報を復号する鍵であり、
前記ユーザ管理方法は、
前記ユーザ管理装置が、
前記第1の復号鍵を用いて前記参照情報に含まれる前記第2の復号鍵を取得し、
前記第2の復号鍵を用いて前記暗号化属性情報を復号して、前記ユーザの属性情報を取得し、
前記取得した属性情報が所定の条件を満たす場合に電子署名を生成し、
前記識別情報と前記生成した電子署名とを含む署名トランザクションデータを出力する、ユーザ管理方法。
A user management method by a user management apparatus, comprising:
The user management device is
A first decryption key that decrypts the information encrypted by the first encryption key;
It holds identification information for identifying a user, encrypted attribute information which is attribute information of the user encrypted with a second encryption key, and transaction data indicating reference information for referring to the encrypted attribute information. And
The reference information includes a second decryption key encrypted with the first encryption key.
The second decryption key is a key for decrypting information encrypted by the second encryption key.
The user management method is
The user management device is
Acquiring the second decryption key included in the reference information using the first decryption key;
Decrypting the encrypted attribute information using the second decryption key to obtain attribute information of the user;
Generating a digital signature when the acquired attribute information satisfies a predetermined condition;
A user management method for outputting signature transaction data including the identification information and the generated electronic signature.
請求項6に記載のユーザ管理方法であって、
前記トランザクションデータは、分散台帳を構成する複数の計算機に含まれる計算機から前記ユーザ管理装置が受信したデータであり、
前記ユーザ管理方法は、前記ユーザ管理装置が、前記署名トランザクションデータを、前記複数の計算機に対して出力する、ユーザ管理方法。
The user management method according to claim 6, wherein
The transaction data is data received by the user management apparatus from a computer included in a plurality of computers configuring a dispersion ledger,
The user management method, wherein the user management apparatus outputs the signature transaction data to the plurality of computers.
請求項7に記載のユーザ管理方法であって、
前記トランザクションデータは、ユーザ端末が生成したデータであり、
前記第1の暗号鍵は、前記ユーザ端末の共通鍵である、ユーザ管理方法。
The user management method according to claim 7, wherein
The transaction data is data generated by a user terminal,
The user management method, wherein the first encryption key is a common key of the user terminal.
請求項6に記載のユーザ管理方法であって、
前記第1の暗号鍵は、前記ユーザ管理装置の公開鍵であり、
前記第1の復号鍵は、前記ユーザ管理装置の秘密鍵である、ユーザ管理方法。
The user management method according to claim 6, wherein
The first encryption key is a public key of the user management device,
The user management method, wherein the first decryption key is a secret key of the user management apparatus.
請求項6に記載のユーザ管理方法であって、
前記トランザクションデータは、それぞれ異なる暗号鍵で暗号化された複数種類の暗号化属性情報を含み、
前記複数種類の属性情報は、前記第2の暗号鍵で暗号化された暗号化属性情報を含む、ユーザ管理方法。
The user management method according to claim 6, wherein
The transaction data includes a plurality of types of encryption attribute information encrypted with different encryption keys,
The user management method, wherein the plurality of types of attribute information include encrypted attribute information encrypted with the second encryption key.
JP2017193699A 2017-10-03 2017-10-03 User management device, user management system Active JP6901373B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017193699A JP6901373B2 (en) 2017-10-03 2017-10-03 User management device, user management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017193699A JP6901373B2 (en) 2017-10-03 2017-10-03 User management device, user management system

Publications (2)

Publication Number Publication Date
JP2019068327A true JP2019068327A (en) 2019-04-25
JP6901373B2 JP6901373B2 (en) 2021-07-14

Family

ID=66339937

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017193699A Active JP6901373B2 (en) 2017-10-03 2017-10-03 User management device, user management system

Country Status (1)

Country Link
JP (1) JP6901373B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020201539A (en) * 2019-06-06 2020-12-17 富士通株式会社 Communication program, communication method, and communication device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230060689A (en) 2021-10-28 2023-05-08 삼성전자주식회사 Storage device for a blockchain network based on Proof of Space and system including the same

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000092046A (en) * 1998-09-11 2000-03-31 Mitsubishi Electric Corp Remote authentication system
JP2003091508A (en) * 2001-09-19 2003-03-28 Hitachi Software Eng Co Ltd Personal authentication system using organism information
JP2006268228A (en) * 2005-03-23 2006-10-05 Hitachi Software Eng Co Ltd Authentication system using biological information
WO2016036969A1 (en) * 2014-09-03 2016-03-10 Nantomics, Llc Synthetic genomic variant-based secure transaction devices, systems and methods
WO2016179334A1 (en) * 2015-05-05 2016-11-10 ShoCard, Inc. Identity management service using a block chain

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000092046A (en) * 1998-09-11 2000-03-31 Mitsubishi Electric Corp Remote authentication system
JP2003091508A (en) * 2001-09-19 2003-03-28 Hitachi Software Eng Co Ltd Personal authentication system using organism information
JP2006268228A (en) * 2005-03-23 2006-10-05 Hitachi Software Eng Co Ltd Authentication system using biological information
WO2016036969A1 (en) * 2014-09-03 2016-03-10 Nantomics, Llc Synthetic genomic variant-based secure transaction devices, systems and methods
US20160072800A1 (en) * 2014-09-03 2016-03-10 Nantomics, Llc Synthetic genomic variant-based secure transaction devices, systems and methods
WO2016179334A1 (en) * 2015-05-05 2016-11-10 ShoCard, Inc. Identity management service using a block chain

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020201539A (en) * 2019-06-06 2020-12-17 富士通株式会社 Communication program, communication method, and communication device
JP7215342B2 (en) 2019-06-06 2023-01-31 富士通株式会社 COMMUNICATION PROGRAM, COMMUNICATION METHOD, AND COMMUNICATION DEVICE

Also Published As

Publication number Publication date
JP6901373B2 (en) 2021-07-14

Similar Documents

Publication Publication Date Title
US11533164B2 (en) System and method for blockchain-based cross-entity authentication
US11025435B2 (en) System and method for blockchain-based cross-entity authentication
US10708060B2 (en) System and method for blockchain-based notification
CA3058013C (en) Managing sensitive data elements in a blockchain network
CA3058244C (en) Retrieving access data for blockchain networks using highly available trusted execution environments
JP7626562B2 (en) Low Trust Privileged Access Management
US11115418B2 (en) Registration and authorization method device and system
CN111556120B (en) Data processing method and device based on block chain, storage medium and equipment
Khovratovich et al. Sovrin: digital identities in the blockchain era
US11121876B2 (en) Distributed access control
CN110009349B (en) Method and device for generating and verifying linkable ring signature in block chain
CN111753002B (en) Consent-based data management
AU2017223158A1 (en) Blockchain-implemented method for control and distribution of digital content
US11720689B2 (en) Data registration method, data decryption method, data structure, computer, and program
US11621858B2 (en) Anonymity mechanisms in permissioned blockchain networks
CN111698198B (en) Secret generation and share distribution
JP7740848B2 (en) Blockchain Data Segregation
KR102501004B1 (en) Method and apparatus for managing data based on blockchain
CN117675216A (en) A data processing method and related equipment
CN115131029A (en) Block chain-based digital file signing method and device
JP6901373B2 (en) User management device, user management system
CN115361147A (en) Device registration method and device, computer device and storage medium
US20240428255A1 (en) Distributed ledger system and control method for distributed ledger system
US20250173711A1 (en) System and methods for delegated signing
CN115776381A (en) Key processing method, device, medium and electronic equipment based on block chain system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200317

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210521

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: 20210601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210617

R150 Certificate of patent or registration of utility model

Ref document number: 6901373

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150