JP2022528765A - Methods and devices for implementing ID-based key management with smart contracts - Google Patents
Methods and devices for implementing ID-based key management with smart contracts Download PDFInfo
- Publication number
- JP2022528765A JP2022528765A JP2021560584A JP2021560584A JP2022528765A JP 2022528765 A JP2022528765 A JP 2022528765A JP 2021560584 A JP2021560584 A JP 2021560584A JP 2021560584 A JP2021560584 A JP 2021560584A JP 2022528765 A JP2022528765 A JP 2022528765A
- Authority
- JP
- Japan
- Prior art keywords
- target user
- target
- information
- private key
- key
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 101
- 238000012544 monitoring process Methods 0.000 claims description 23
- 238000010586 diagram Methods 0.000 abstract description 3
- 230000000694 effects Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/083—Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Lock And Its Accessories (AREA)
- Storage Device Security (AREA)
Abstract
本願は、スマートコントラクトでIDベースのキー管理を実現する方法および装置を提供する。当該方法は、スマートコントラクトを実行し、キー管理プロセスを実行することを含む、キー管理プロセスは、ターゲットユーザのキーを更新する必要がある場合、ターゲットユーザが非監視対象ユーザであると、ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成することと、ブロックチェーンからターゲットユーザのID情報を取得することと、ターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、およびターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成することと、ターゲットユーザの現在の秘密鍵を第1ターゲット秘密鍵に置き換えることと、を含む。【選択図】図2The present application provides methods and devices for realizing ID-based key management with smart contracts. The method involves executing a smart contract and performing a key management process, if the key management process needs to update the key of the target user and the target user is an unmonitored user, the target user. Based on generating the master public key and master private key belonging to, acquiring the ID information of the target user from the blockchain, the master public key and master private key belonging to the target user, and the ID information of the target user. It includes generating a first target private key and replacing the current private key of the target user with the first target private key. [Selection diagram] Fig. 2
Description
本願は、2019年05月27日に中国特許局に提出された、出願番号が201910445653.3である中国特許出願に基づいて提出されるものであり、当該中国特許出願の優先権を主張し、当該中国特許出願の全ての内容が援用によって本願に組み込まれる。 This application is submitted based on a Chinese patent application with an application number of 20191044565.3, which was filed with the Chinese Patent Office on May 27, 2019, claiming the priority of the Chinese patent application. The entire contents of the Chinese patent application are incorporated herein by reference.
本願は、コンピュータ技術分野に関し、特に、スマートコントラクトでIDベースのキー管理を実現する方法および装置に関する。 The present application relates to the field of computer technology, and more particularly to methods and devices for realizing ID-based key management in smart contracts.
現在、IDベースの暗号化(IBC:Identity Base Cryptography)技術案では、キー生成センタ(KGC:Key Generation Center)によってマスタ公開鍵およびマスタ秘密鍵を生成し、KGCは、マスタ公開鍵、マスタ秘密鍵およびユーザのID情報(例えば、名称、e-mail、身分証明書番号など)を使用してユーザに対して秘密鍵を生成する。ユーザのID情報は即ち公開鍵であり、デジタル証明書でバインドする必要なく、公開鍵インフラストラクチャ(PKI)方案におけるデジタル証明書の管理が複雑である問題を回避できる。 Currently, in the ID-based encryption (IBC: Identity Base Cryptography) technical proposal, a master public key and a master private key are generated by a key generation center (KGC: Key Generation Center), and KGC is a master public key and a master private key. And the user's ID information (eg, name, e-mail, identity card number, etc.) is used to generate a private key for the user. The user's ID information is a public key, that is, it is not necessary to bind with a digital certificate, and the problem that the management of the digital certificate in the public key infrastructure (PKI) plan is complicated can be avoided.
しかしながら、IBC方案において、特定のユーザの秘密鍵が漏洩されて、秘密鍵を更新する必要があると、当該ユーザのID情報を変更することを介してその秘密鍵を更新する必要があり、ユーザのID情報が変更されると、当該ユーザのIDの自己認証が低下し、IBC方案のキー更新の性能に影響を与える。 However, in the IBC plan, if the private key of a specific user is leaked and it is necessary to update the private key, it is necessary to update the private key by changing the ID information of the user, and the user needs to update the private key. When the ID information of the user is changed, the self-authentication of the user's ID is lowered, which affects the key update performance of the IBC plan.
関連する技術的課題を解決するために、本願実施例は、スマートコントラクトでIDベースのキー管理を実現する方法および装置を提供する。 In order to solve the related technical problems, the embodiments of the present application provide methods and devices for realizing ID-based key management with smart contracts.
本願実施例の技術的解決策は、以下のとおりである。 The technical solution of the embodiment of the present application is as follows.
スマートコントラクトでIDベースのキー管理を実現する方法は、
スマートコントラクトを実行し、キー管理プロセスを実行することを含み、
前記キー管理プロセスは、
ターゲットユーザのキーを更新する必要がある場合、前記ターゲットユーザが非監視対象ユーザであると、前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成することと、
ブロックチェーンから前記ターゲットユーザのID情報を取得することと、
前記ターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、および前記ターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成することと、
前記ターゲットユーザの現在の秘密鍵を前記第1ターゲット秘密鍵に置き換えることと、を含む。
How to achieve ID-based key management with smart contracts
Including running smart contracts and running key management processes
The key management process is
When it is necessary to update the key of the target user, if the target user is an unmonitored user, the master public key and the master private key belonging to the target user are generated.
Acquiring the ID information of the target user from the blockchain
Generating a first target private key based on the master public key and master private key belonging to the target user and the ID information of the target user.
It includes replacing the current private key of the target user with the first target private key.
上記した技術案において、前記キー管理プロセスは、さらに、
前記ターゲットユーザが非監視対象ユーザであり且つ前記ターゲットユーザの秘密鍵が漏洩された場合、または、前記ターゲットユーザが監視対象ユーザである場合、前記ブロックチェーンから前記ターゲットユーザのID情報を取得することと、
前記ターゲットユーザのID情報を更新して、更新後のID情報をターゲットID情報として使用することと、
前記ターゲットID情報を使用して、第2ターゲット秘密鍵を生成することと、
前記ターゲットユーザの現在の秘密鍵を前記第2ターゲット秘密鍵に置き換えることと、を含む。
In the above-mentioned technical proposal, the key management process further
When the target user is a non-monitoring target user and the private key of the target user is leaked, or when the target user is a monitoring target user, the ID information of the target user is acquired from the blockchain. When,
To update the ID information of the target user and use the updated ID information as the target ID information.
Using the target ID information to generate a second target private key,
It includes replacing the current private key of the target user with the second target private key.
上記した技術案において、前記ターゲットユーザのID情報を更新することは、
前記ターゲットユーザのID情報内の可変部分を更新することを含む。
In the above-mentioned technical proposal, updating the ID information of the target user is not possible.
It includes updating the variable part in the ID information of the target user.
上記した技術案において、前記キー管理プロセスは、さらに、
前記ブロックチェーンで第1ターゲットID情報の状態情報を照会することを含み、前記第1ターゲットID情報は、前記ブロックチェーン内に記憶されたユーザの任意の1つのID情報である。
In the above-mentioned technical proposal, the key management process further
The first target ID information includes inquiring the state information of the first target ID information in the blockchain, and the first target ID information is any one ID information of the user stored in the blockchain.
上記した技術案において、前記キー管理プロセスは、さらに、
前記ターゲットユーザが使用した履歴秘密鍵を使用して、前記第1ターゲット秘密鍵に関連付けられた状態情報に署名することを含む。
In the above-mentioned technical proposal, the key management process further
It includes signing the state information associated with the first target private key using the historical secret key used by the target user.
スマートコントラクトで実現されるIDベースのキー管理装置は、
スマートコントラクトを実行し、キー管理プロセスを実行するように構成される、実行モジュールを備え、
前記キー管理プロセスは、
ターゲットユーザのキーを更新する必要がある場合、前記ターゲットユーザが非監視対象ユーザであると、前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成することと、
ブロックチェーンから前記ターゲットユーザのID情報を取得することと、
前記ターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、および前記ターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成することと、
前記ターゲットユーザの現在の秘密鍵を前記第1ターゲット秘密鍵に置き換えることと、を含む。
The ID-based key management device realized by smart contracts is
It has an execution module that is configured to execute smart contracts and perform key management processes.
The key management process is
When it is necessary to update the key of the target user, if the target user is an unmonitored user, the master public key and the master private key belonging to the target user are generated.
Acquiring the ID information of the target user from the blockchain
Generating a first target private key based on the master public key and master private key belonging to the target user and the ID information of the target user.
It includes replacing the current private key of the target user with the first target private key.
上記した技術案において、前記実行モジュールが前記スマートコントラクトを実行し、実行されるキー管理プロセスは、さらに、
前記ターゲットユーザが非監視対象ユーザであり且つ前記ターゲットユーザの秘密鍵が漏洩された場合、または、前記ターゲットユーザが監視対象ユーザである場合、前記ブロックチェーンから前記ターゲットユーザのID情報を取得することと、
前記ターゲットユーザのID情報を更新して、更新後のID情報をターゲットID情報として使用することと、
前記ターゲットID情報を使用して、第2ターゲット秘密鍵を生成することと、
前記ターゲットユーザの現在の秘密鍵を前記第2ターゲット秘密鍵に置き換えることと、を含む。
In the above-mentioned technical proposal, the key management process in which the execution module executes the smart contract and is executed further further.
When the target user is a non-monitoring target user and the private key of the target user is leaked, or when the target user is a monitoring target user, the ID information of the target user is acquired from the blockchain. When,
To update the ID information of the target user and use the updated ID information as the target ID information.
Using the target ID information to generate a second target private key,
It includes replacing the current private key of the target user with the second target private key.
上記した技術案において、前記実行モジュールが前記スマートコントラクトを実行し、実行されるキー管理プロセスにおいて、前記ターゲットユーザのID情報を更新するプロセスは、
前記ターゲットユーザのID情報内の可変部分を更新することを含む。
In the above-mentioned technical proposal, the process of updating the ID information of the target user in the key management process in which the execution module executes the smart contract and is executed is
It includes updating the variable part in the ID information of the target user.
上記した技術案において、前記実行モジュールが前記スマートコントラクトを実行し、実行されるキー管理プロセスは、さらに、
前記ブロックチェーンで第1ターゲットID情報の状態情報を照会することを含み、前記第1ターゲットID情報は、前記ブロックチェーン内に記憶されたユーザの任意の1つのID情報である。
In the above-mentioned technical proposal, the key management process in which the execution module executes the smart contract and is executed further further.
The first target ID information includes inquiring the state information of the first target ID information in the blockchain, and the first target ID information is any one ID information of the user stored in the blockchain.
上記した技術案において、前記実行モジュールが前記スマートコントラクトを実行し、実行されるキー管理プロセスは、さらに、
前記ターゲットユーザが使用した履歴秘密鍵を使用して、前記第1ターゲット秘密鍵に関連付けられた状態情報に署名することを含む。
In the above-mentioned technical proposal, the key management process in which the execution module executes the smart contract and is executed further further.
It includes signing the state information associated with the first target private key using the historical secret key used by the target user.
関連技術と比べて、本願実施例の有利な効果は、以下のとおりである。 The advantageous effects of the examples of the present application as compared with the related techniques are as follows.
本願実施例において、スマートコントラクトを実行し、実行されるキー管理プロセスでは、ターゲットユーザのキーを更新する必要がある場合、ターゲットユーザが非監視対象ユーザであると、ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成することによって、KGCで既に生成されたマスタ公開鍵およびマスタ秘密鍵を採用しない。実行されるキー管理プロセスでは、ブロックチェーンからターゲットユーザのID情報を取得することによって、ターゲットユーザのID情報を変更しない。実行されるキー管理プロセスでは、KGCで既に生成されたマスタ公開鍵およびマスタ秘密鍵と異なる、ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵、ならびに変更されていないターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成し、ターゲットユーザの現在の秘密鍵を第1ターゲット秘密鍵に置き換える。それにより、ユーザ秘密鍵の更新を実現する。ユーザ秘密鍵の更新プロセスにおいて、ターゲットユーザのID情報を変更していないため、ターゲットユーザのID自己認証が低下することなく、それにより、IBC方案のキー更新の性能を改善する。 In the embodiment of the present application, when the key management process executed by executing the smart contract needs to update the key of the target user, if the target user is an unmonitored target user, the master public key belonging to the target user and the key management process By generating the master private key, the master public key and master private key already generated by KGC are not adopted. In the key management process to be executed, the ID information of the target user is not changed by acquiring the ID information of the target user from the blockchain. In the key management process to be executed, the master public key and master private key belonging to the target user, which are different from the master public key and master private key already generated by KGC, and the ID information of the target user that has not been changed are used. Generates the first target private key and replaces the current private key of the target user with the first target private key. As a result, the user private key can be updated. Since the ID information of the target user is not changed in the process of updating the user private key, the ID self-authentication of the target user is not deteriorated, thereby improving the key update performance of the IBC plan.
本願実施例の技術的解決策をより明確に説明するために、以下は、実施例の説明で使用される図面について簡単に紹介する。以下に説明される図面は、本願のいくつかの実施例に過ぎず、当業者にとっては、創造的な作業なしに、これらの図面に従って他の図面を得ることもできることは自明である。 In order to more clearly explain the technical solution of the embodiments of the present application, the following briefly introduces the drawings used in the description of the embodiments. The drawings described below are only a few embodiments of the present application, and it is self-evident to those skilled in the art that other drawings can be obtained according to these drawings without any creative work.
以下、本願実施例の図面を参照して、本願実施例の技術的解決策を明確且つ完全に説明し、明らかに、説明される実施例は、単に本願実施例の一部であり、実施例の全てではない。本願実施例に基づいて、創造的な努力なしに当業者によって取得される他のすべての実施例は、本願の保護範囲に含まれるものとする。 Hereinafter, the technical solutions of the embodiments of the present application will be clearly and completely described with reference to the drawings of the embodiments of the present application, and the examples clearly described will be merely a part of the embodiments of the present application. Not all of. All other examples obtained by one of ordinary skill in the art based on the examples of the present application without creative effort shall be included in the scope of protection of the present application.
本願実施例は、スマートコントラクトでIDベースのキー管理を実現する技術案を開示し、スマートコントラクトを実行し、キー管理プロセスを実行することを含み、前記キー管理プロセスは、ターゲットユーザのキーを更新する必要がある場合、前記ターゲットユーザが非監視対象ユーザであると、前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成することと、ブロックチェーンから前記ターゲットユーザのID情報を取得し、前記ターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、および前記ターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成することと、前記ターゲットユーザの現在の秘密鍵を前記第1ターゲット秘密鍵に置き換えることと、を含む。本願実施例において、IBC技術案のキー更新の性能を改善できる。 An embodiment of the present application discloses a technical proposal for realizing ID-based key management in a smart contract, executes a smart contract, and executes a key management process, wherein the key management process updates a key of a target user. If the target user is an unmonitored target user, the master public key and master private key belonging to the target user are generated, and the ID information of the target user is acquired from the blockchain. The first target private key is generated based on the master public key and master private key belonging to the target user, and the ID information of the target user, and the current private key of the target user is used as the first target private key. Includes replacing with. In the embodiment of the present application, the key update performance of the IBC technical proposal can be improved.
次は、本願実施例によって開示された、コンピュータ機器に適用されるスマートコントラクトでIDベースのキー管理を実現する方法を紹介し、当該方法は、以下のステップを含む。 Next, a method for realizing ID-based key management with a smart contract applied to a computer device disclosed by the embodiment of the present application will be introduced, and the method includes the following steps.
ステップS11において、スマートコントラクトを実行し、キー管理プロセスを実行する。 In step S11, the smart contract is executed and the key management process is executed.
本実施例において、ブロックチェーンネットワークを提供し、図1に示されたように、ブロックチェーンネットワークは、複数のフルノードで構成され、各フルノードには、ユーザの公開鍵およびKGCで生成されたマスタ公開鍵などの情報など、同じデータが記憶される。 In this embodiment, a blockchain network is provided, and as shown in FIG. 1, the blockchain network is composed of a plurality of full nodes, and each full node has a user's public key and a master public generated by KGC. The same data such as information such as keys is stored.
ブロックチェーンネットワークは、パブリック型チェーンネットワークまたはコンソーシアム型ネットワークであると理解できる。 A blockchain network can be understood as a public chain network or a consortium type network.
ユーザの秘密鍵およびKGCで生成されたマスタ秘密鍵はユーザによって保持され、ブロックチェーンに記憶されなく、秘密鍵およびマスタ秘密鍵の漏洩を回避することに留意されたい。 It should be noted that the user's private key and the KGC-generated master private key are retained by the user and are not stored in the blockchain to avoid leakage of the private key and master private key.
ブロックチェーンネットワークでは、スマートコントラクトを実行し、キー管理プロセスを実行することができる。ここで、キー管理プロセスは、
ユーザのID情報を登録し、登録したID情報をブロックチェーンに記憶することを含み得る。
Blockchain networks can execute smart contracts and perform key management processes. Here, the key management process is
It may include registering the user's ID information and storing the registered ID information in the blockchain.
ユーザのID情報を登録して、ユーザIDの初期認証を実現することを理解されたい。 It should be understood that the user ID information is registered to realize the initial authentication of the user ID.
スマートコントラクトを実行し、ユーザのID情報を登録することは、RegisterID(f_ID、v_ID、b_supervise、b_valid)関数を呼び出し、ユーザのID情報(ID)を登録することとして理解できる。ここで、f_IDおよびv_IDは登録されたIDであり、即ちID=(f_ID||v_ID)であり、f_IDは、名称などのIDの固定識別子部分であり、v_IDは、日付または他のランダム数などのIDの可変部分であり、主にキーの更新に使用され、初期登録状態はヌル値である。b_supervisは、ブール変数(bool)として理解でき、主に、当該登録したIDが監視対象ユーザであるか否かを示す。監視対象ユーザである場合、スマートコントラクト管理者は、ユーザの秘密鍵を取得でき、且つ、後続では、スマートコントラクト管理者によってそのキーを更新する。非監視対象ユーザであると、スマートコントラクト管理者は、ユーザが登録した後にはユーザの秘密鍵を取得できず、後続では、ユーザ自分によってキーを更新する。b_validは、ユーザIDが現在有効であるか否かを示す。 Executing the smart contract and registering the user's ID information can be understood as calling the RegisterID (f_ID, v_ID, b_superview, b_valid) function and registering the user's ID information (ID). Here, f_ID and v_ID are registered IDs, that is, ID = (f_ID || v_ID), f_ID is a fixed identifier part of an ID such as a name, and v_ID is a date or other random number or the like. It is a variable part of the ID of, and is mainly used for updating the key, and the initial registration state is a null value. b_supervis can be understood as a Boolean variable (ball), and mainly indicates whether or not the registered ID is a monitored user. If the user is a monitored user, the smart contract administrator can acquire the user's private key, and the smart contract administrator subsequently updates the key. If the user is an unmonitored target user, the smart contract administrator cannot acquire the user's private key after the user registers, and subsequently updates the key by the user himself / herself. b_valid indicates whether or not the user ID is currently valid.
本実施例において、図2を参照すると、キー管理プロセスは、さらに、以下のステップを含む。 In this embodiment, with reference to FIG. 2, the key management process further comprises the following steps:
ステップS21において、ターゲットユーザのキーを更新する必要がある場合、前記ターゲットユーザが非監視対象ユーザであると、前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成する。 In step S21, when it is necessary to update the key of the target user, if the target user is a non-monitoring target user, a master public key and a master private key belonging to the target user are generated.
前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵は、KGCで生成されたマスタ公開鍵およびマスタ秘密鍵と異なる値として理解できる。 The master public key and master private key belonging to the target user can be understood as different values from the master public key and master private key generated by KGC.
前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵は、主に、ターゲットユーザの秘密鍵を生成するために使用される。 The master public key and master private key belonging to the target user are mainly used to generate the private key of the target user.
ステップS22において、ブロックチェーンから前記ターゲットユーザのID情報を取得する。 In step S22, the ID information of the target user is acquired from the blockchain.
ブロックチェーンには、複数のユーザのID情報が記憶されたため、ブロックチェーンから前記ターゲットユーザのID情報を取得できることを理解されたい。具体的には、ターゲットユーザの識別子に従ってブロックチェーンから前記ターゲットユーザのID情報を取得できる。 It should be understood that since the ID information of a plurality of users is stored in the blockchain, the ID information of the target user can be acquired from the blockchain. Specifically, the ID information of the target user can be acquired from the blockchain according to the identifier of the target user.
ターゲットユーザのID情報は、ターゲットユーザの公開鍵として理解できる。 The ID information of the target user can be understood as the public key of the target user.
ステップS23において、前記ターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、および前記ターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成する。 In step S23, the first target private key is generated based on the master public key and master private key belonging to the target user and the ID information of the target user.
ステップS24において、前記ターゲットユーザの現在の秘密鍵を前記第1ターゲット秘密鍵に置き換える。 In step S24, the current private key of the target user is replaced with the first target private key.
ターゲットユーザの現在の秘密鍵は、ターゲットユーザが現在使用できる秘密鍵として理解できる。 The current private key of the target user can be understood as the private key currently available to the target user.
前記ターゲットユーザの現在の秘密鍵を前記第1ターゲット秘密鍵に置き換えることは、ターゲットユーザの秘密鍵の更新を実現する。 Replacing the current private key of the target user with the first target private key realizes the update of the private key of the target user.
前記ターゲットユーザが非監視対象ユーザであると、ターゲットユーザのID情報、即ちターゲットユーザの公開鍵を更新する必要なく、KGCで生成されたマスタ公開鍵およびマスタ秘密鍵と異なる、ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵、ならびに更新されていないターゲットユーザの公開鍵を使用して、ターゲットユーザの秘密鍵の更新を実現する。 When the target user is a non-monitoring target user, the master belonging to the target user, which is different from the master public key and master private key generated by KGC, without having to update the ID information of the target user, that is, the public key of the target user. The target user's private key is updated by using the public key, the master private key, and the target user's public key that has not been updated.
本願実施例において、スマートコントラクトを実行する。実行されるキー管理プロセスでは、ターゲットユーザのキーを更新する必要がある場合、ターゲットユーザが非監視対象ユーザであると、ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成することによって、KGCで生成されたマスタ公開鍵およびマスタ秘密鍵を採用しない。実行されるキー管理プロセスでは、ブロックチェーンからしたターゲットユーザのID情報を取得することによって、ターゲットユーザのID情報を変更しない。実行されるキー管理プロセスでは、KGCで生成されたマスタ公開鍵およびマスタ秘密鍵と異なるターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、および変更されていないターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成し、ターゲットユーザの現在の秘密鍵を第1ターゲット秘密鍵に置き換えることを介して、ユーザ秘密鍵の更新を実現する。ユーザ秘密鍵の更新プロセスにおいて、ターゲットユーザのID情報を変更していないため、ターゲットユーザのID自己認証が低下することなく、それにより、IBC技術案のキー更新の性能を改善する。 In the embodiment of the present application, the smart contract is executed. In the key management process that is executed, if the target user's key needs to be updated, if the target user is an unmonitored user, the KGC will generate a master public key and a master private key that belong to the target user. Do not adopt the generated master public key and master private key. In the key management process to be executed, the ID information of the target user is not changed by acquiring the ID information of the target user from the blockchain. In the key management process to be executed, the master public key and master private key belonging to a target user different from the master public key and master private key generated by KGC, and the ID information of the target user that has not been changed are used as the basis for the first operation. 1 The update of the user private key is realized by generating the target private key and replacing the current private key of the target user with the first target private key. Since the ID information of the target user is not changed in the process of updating the user private key, the ID self-authentication of the target user does not deteriorate, thereby improving the key update performance of the IBC technical proposal.
さらに、非監視対象ユーザは、自分でキーを更新でき、KGCでマスタ秘密鍵およびマスタ公開鍵を置き換えるとき、全てのユーザの秘密鍵が、すべて再更新するのを必要とすることを回避でき、完全に分散化されたキー管理方式を実現し、利用可能性を向上させる。 In addition, non-monitoring users can update their keys themselves, avoiding the need for all users' private keys to be re-updated when replacing the master private and master public keys with KGC. Achieve a fully decentralized key management scheme and improve availability.
本願の別の実施例2として、本願による別のキー管理プロセスの例示的なフローチャートである図3を参照すると、本実施例は、主に、上記した実施例1で説明されたキー管理プロセスの拡張方法である。図3に示されたように、当該方法は、以下のステップを含み得るがこれに限定されない。
As another
ステップS31において、ターゲットユーザのキーを更新する必要がある場合、前記ターゲットユーザが非監視対象ユーザであると、前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成する。 In step S31, when it is necessary to update the key of the target user, if the target user is a non-monitoring target user, a master public key and a master private key belonging to the target user are generated.
ステップS32において、ブロックチェーンから前記ターゲットユーザのID情報を取得する。 In step S32, the ID information of the target user is acquired from the blockchain.
ステップS33において、前記ターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、および前記ターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成する。 In step S33, the first target private key is generated based on the master public key and master private key belonging to the target user and the ID information of the target user.
ステップS34において、前記ターゲットユーザの現在の秘密鍵を前記第1ターゲット秘密鍵に置き換える。 In step S34, the current private key of the target user is replaced with the first target private key.
ステップS31~S34の詳細なプロセスは、実施例1のステップS21~S24の関連紹介を参照でき、ここで再び説明しない。 The detailed process of steps S31 to S34 can refer to the related introduction of steps S21 to S24 of the first embodiment, and will not be described again here.
ステップS35において、前記ターゲットユーザが非監視対象ユーザであり且つ前記ターゲットユーザの秘密鍵が漏洩された場合、または、前記ターゲットユーザが監視対象ユーザである場合、前記ブロックチェーンから前記ターゲットユーザのID情報を取得する。 In step S35, when the target user is a non-monitoring target user and the private key of the target user is leaked, or when the target user is a monitoring target user, the ID information of the target user from the blockchain. To get.
ここで、ターゲットユーザの秘密鍵が漏洩された場合、b_validを無効状態にすることができる。その後、キー更新のプロセスを実行しはじめ、まずは、前記ブロックチェーンから前記ターゲットユーザのID情報を取得する。 Here, if the private key of the target user is leaked, b_valid can be disabled. After that, the key update process is started, and first, the ID information of the target user is acquired from the blockchain.
ステップS36において、前記ターゲットユーザのID情報を更新して、更新後のID情報をターゲットID情報として使用する。 In step S36, the ID information of the target user is updated, and the updated ID information is used as the target ID information.
ステップS37において、前記ターゲットID情報を使用して、第2ターゲット秘密鍵を生成する。 In step S37, the target ID information is used to generate a second target private key.
ここで、前記ターゲットID情報を使用して、第2ターゲット秘密鍵を生成することは、
前記ターゲットID情報およびKGCで生成されたマスタ公開鍵およびマスタ秘密鍵を使用して、新たな秘密鍵を生成して、第2ターゲット秘密鍵として使用することとして理解できる。
Here, using the target ID information to generate the second target private key is not possible.
It can be understood as using the target ID information and the master public key and master private key generated by KGC to generate a new private key and use it as the second target private key.
ステップS38において、前記ターゲットユーザの現在の秘密鍵を前記第2ターゲット秘密鍵に置き換える。 In step S38, the current private key of the target user is replaced with the second target private key.
ここで、ターゲットユーザの現在の秘密鍵は、ターゲットユーザが現在使用できる秘密鍵として理解できる。 Here, the current private key of the target user can be understood as the private key currently available to the target user.
前記ターゲットユーザの現在の秘密鍵を前記第2ターゲット秘密鍵に置き換えて、ターゲットユーザの秘密鍵の更新を実現する。 The current private key of the target user is replaced with the second target private key to realize the update of the private key of the target user.
前記ターゲットユーザが非監視対象ユーザであり且つ前記ターゲットユーザの秘密鍵が漏洩された場合、または、前記ターゲットユーザが監視対象ユーザである場合、ターゲットユーザのID情報を更新することを介して、即ち、ターゲットユーザの公開鍵を更新することを介して、更新後の公開鍵に基づいてターゲットユーザの秘密鍵を更新する。 When the target user is a non-monitoring target user and the private key of the target user is leaked, or when the target user is a monitoring target user, the ID information of the target user is updated, that is, , Update the target user's private key based on the updated public key through updating the target user's public key.
本願の別の実施例3として、本願による別のキー管理プロセスの例示的なフローチャートである図4を参照すると、本実施例は、主に、上記した実施例2で説明されたキー管理プロセスの詳細な方法である。図4に示されたように、当該方法は、以下のステップを含み得るがこれに限定されない。 As another third embodiment of the present application, with reference to FIG. 4, which is an exemplary flowchart of another key management process according to the present application, the present embodiment is mainly based on the key management process described in the second embodiment described above. It is a detailed method. As shown in FIG. 4, the method may include, but is not limited to, the following steps.
ステップS41において、ターゲットユーザのキーを更新する必要がある場合、前記ターゲットユーザが非監視対象ユーザであると、前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成する。 In step S41, when it is necessary to update the key of the target user, if the target user is a non-monitoring target user, a master public key and a master private key belonging to the target user are generated.
ステップS42において、ブロックチェーンから前記ターゲットユーザのID情報を取得する。 In step S42, the ID information of the target user is acquired from the blockchain.
ステップS43において、前記ターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、および前記ターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成する。 In step S43, the first target private key is generated based on the master public key and master private key belonging to the target user and the ID information of the target user.
ステップS44において、前記ターゲットユーザの現在の秘密鍵を前記第1ターゲット秘密鍵に置き換える。 In step S44, the current private key of the target user is replaced with the first target private key.
ステップS45において、前記ターゲットユーザが非監視対象ユーザであり且つ前記ターゲットユーザの秘密鍵が漏洩された場合、または、前記ターゲットユーザが監視対象ユーザである場合、前記ブロックチェーンから前記ターゲットユーザのID情報を取得する。 In step S45, when the target user is a non-monitoring target user and the private key of the target user is leaked, or when the target user is a monitoring target user, the ID information of the target user from the blockchain. To get.
ステップS41~S45の詳細なプロセスは、実施例2のステップS31~S35の関連紹介を参照でき、ここで再び説明しない。 The detailed process of steps S41 to S45 can be referred to in the relevant introduction of steps S31 to S35 of Example 2, and will not be described again here.
ステップS46において、前記ターゲットユーザのID情報内の可変部分を更新して、更新後のID情報をターゲットID情報として使用する。 In step S46, the variable portion in the ID information of the target user is updated, and the updated ID information is used as the target ID information.
ここで、ターゲットユーザのID情報は、固定部分および可変部分によって構成できる。 Here, the ID information of the target user can be configured by a fixed portion and a variable portion.
ここで、可変部分は、日付または他のランダム数などの変化できる部分として理解できる。 Here, the variable part can be understood as a variable part such as a date or other random number.
前記ターゲットユーザのID情報内の可変部分を更新し、ターゲットユーザのID情報内の固定した部分を更新しないことで、ターゲットユーザのID情報の有効性および信頼性を保証できる。 By updating the variable portion in the ID information of the target user and not updating the fixed portion in the ID information of the target user, the validity and reliability of the ID information of the target user can be guaranteed.
ステップS47において、前記ターゲットID情報を使用して、第2ターゲット秘密鍵を生成する。 In step S47, the target ID information is used to generate a second target private key.
ステップS48において、前記ターゲットユーザの現在の秘密鍵を前記第2ターゲット秘密鍵に置き換える。 In step S48, the current private key of the target user is replaced with the second target private key.
ステップS47~S48の詳細なプロセスは、実施例2のステップS37~S38の関連紹介を参照でき、ここで再び説明しない。 The detailed process of steps S47 to S48 can be referred to in the relevant introduction of steps S37 to S38 of Example 2, and will not be described again here.
本願の別の実施例4として、本願による別のキー管理プロセスの例示的なフローチャートである図5を参照すると、本実施例は、主に、上記した実施例1で説明されたキー管理プロセスの拡張方法である。図5に示されたように、当該方法は、以下のステップを含み得るがこれに限定されない。 As another example 4 of the present application, referring to FIG. 5, which is an exemplary flowchart of another key management process according to the present application, the present embodiment is mainly based on the key management process described in the above-described first embodiment. It is an extension method. As shown in FIG. 5, the method may include, but is not limited to, the following steps.
ステップS51において、ターゲットユーザのキーを更新する必要がある場合、前記ターゲットユーザが非監視対象ユーザであると、前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成する。 In step S51, when it is necessary to update the key of the target user, if the target user is a non-monitoring target user, a master public key and a master private key belonging to the target user are generated.
ステップS52において、ブロックチェーンから前記ターゲットユーザのID情報を取得する。 In step S52, the ID information of the target user is acquired from the blockchain.
ステップS53において、前記ターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、および前記ターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成する。 In step S53, the first target private key is generated based on the master public key and master private key belonging to the target user and the ID information of the target user.
ステップS54において、前記ターゲットユーザの現在の秘密鍵を前記第1ターゲット秘密鍵に置き換える。 In step S54, the current private key of the target user is replaced with the first target private key.
ステップS51~S54の詳細なプロセスは、実施例1のステップS21~S24の関連紹介を参照でき、ここで再び説明しない。 The detailed process of steps S51 to S54 can refer to the related introduction of steps S21 to S24 of the first embodiment, and will not be described again here.
ステップS55において、前記ブロックチェーンで第1ターゲットID情報の状態情報を照会し、前記第1ターゲットID情報は、前記ブロックチェーン内に記憶されたユーザの任意の1つのID情報である。 In step S55, the state information of the first target ID information is queried in the blockchain, and the first target ID information is any one ID information of the user stored in the blockchain.
ここで、第1ターゲットID情報の状態情報は、登録しているか否か、監視対象ユーザのID情報であるか否かおよびID情報は、現在有効であるか否かを含み得るがこれに限定されない。 Here, the state information of the first target ID information may include whether or not it is registered, whether or not it is the ID information of the monitored user, and whether or not the ID information is currently valid, but is limited to this. Not done.
ブロックチェーンでID情報の状態情報を記憶することは、ID情報の状態情報が改ざんされることを防ぐことができ、照会した第1ターゲットID情報の状態情報の信頼性を保証できることを理解されたい。 It should be understood that storing the status information of the ID information in the blockchain can prevent the status information of the ID information from being tampered with and can guarantee the reliability of the status information of the inquired first target ID information. ..
本願の別の実施例5として、本願による別のキー管理プロセスの例示的なフローチャートである図6を参照すると、本実施例は、主に、上記した実施例1で説明されたキー管理プロセスの拡張方法であり、図6に示されたように、当該方法は、以下のステップを含み得るがこれに限定されない。 As another example 5 of the present application, with reference to FIG. 6, which is an exemplary flowchart of another key management process according to the present application, the present embodiment is mainly based on the key management process described in the above-described first embodiment. It is an extension method, and as shown in FIG. 6, the method may include, but is not limited to, the following steps.
ステップS61において、ターゲットユーザのキーを更新する必要がある場合、前記ターゲットユーザが非監視対象ユーザであると、前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成する。 In step S61, when it is necessary to update the key of the target user, if the target user is a non-monitoring target user, a master public key and a master private key belonging to the target user are generated.
ステップS62において、ブロックチェーンから前記ターゲットユーザのID情報を取得する。 In step S62, the ID information of the target user is acquired from the blockchain.
ステップS63において、前記ターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、および前記ターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成する。 In step S63, the first target private key is generated based on the master public key and master private key belonging to the target user and the ID information of the target user.
ステップS64において、前記ターゲットユーザの現在の秘密鍵を前記第1ターゲット秘密鍵に置き換える。 In step S64, the current private key of the target user is replaced with the first target private key.
ステップS61-ステップS64の詳細なプロセスは、実施例1のステップS21-S24の関連する紹介を参照でき、ここで再び説明しない。 The detailed process of step S61-step S64 can be referred to in the relevant introduction of steps S21-S24 of Example 1 and will not be described again here.
ステップS65において、前記ターゲットユーザが使用した履歴秘密鍵を使用して、前記第1ターゲット秘密鍵に関連付けられた状態情報に署名する。 In step S65, the history secret key used by the target user is used to sign the state information associated with the first target secret key.
ここで、前記ターゲットユーザが使用していた履歴秘密鍵は、前記ターゲットユーザの秘密鍵を第1ターゲット秘密鍵に更新する前の、最後で使用した秘密鍵として理解できる。 Here, the history secret key used by the target user can be understood as the last used secret key before updating the target user's private key to the first target private key.
第1ターゲット秘密鍵と関連付けられた状態情報は、第1ターゲット秘密鍵に対応するターゲットユーザのID情報が登録しているか否か、第1ターゲット秘密鍵に対応するターゲットユーザのID情報が監視対象ユーザのID情報であるか否か、および第1ターゲット秘密鍵に対応するターゲットユーザのID情報は現在有効であるか否かを含み得るが、これに限定されない。 As for the state information associated with the first target private key, whether or not the ID information of the target user corresponding to the first target private key is registered, and the ID information of the target user corresponding to the first target private key is monitored. Whether or not it is the user's ID information and whether or not the target user's ID information corresponding to the first target private key is currently valid or not may be included, but is not limited to this.
前記ターゲットユーザが使用した履歴秘密鍵を使用して、前記第1ターゲット秘密鍵に関連付けられた状態情報に署名することは、前記ターゲットユーザが使用した履歴秘密鍵を使用して、前記第1ターゲット秘密鍵に関連付けられた状態情報に対して合法性の署名を実行すると理解できる。 Signing the state information associated with the first target private key using the history secret key used by the target user is possible to use the history secret key used by the target user to sign the first target. It can be understood by performing legal signing on the state information associated with the private key.
前記ターゲットユーザが使用した履歴秘密鍵を使用して、前記第1ターゲット秘密鍵に関連付けられた状態情報に対して合法性の署名を実行して、第1ターゲット秘密鍵に関連付けられた状態情報の有効性を保証できる。 Using the historical secret key used by the target user, the state information associated with the first target private key is legally signed to perform the state information associated with the first target private key. The effectiveness can be guaranteed.
上記した各実施例で紹介されたキー管理プロセスでは、ある1つのユーザのID情報をキャンセルする必要があると、当該ユーザのID情報をキャンセルし、ブロックチェーンから当該ユーザのID情報を削除できる。 In the key management process introduced in each of the above-described embodiments, when it is necessary to cancel the ID information of a certain user, the ID information of the user can be canceled and the ID information of the user can be deleted from the blockchain.
次は、本願によるスマートコントラクトで実現されるIDベースのキー管理装置を紹介するが、以下に紹介されるスマートコントラクトで実現されるIDベースのキー管理装置は、上に紹介されたスマートコントラクトでIDベースのキー管理を実現する方法と相互に対応して参照できる。 Next, we will introduce the ID-based key management device realized by the smart contract according to the present application, but the ID-based key management device realized by the smart contract introduced below is the ID by the smart contract introduced above. It can be referred to in correspondence with the method of realizing base key management.
図7を参照すると、スマートコントラクトで実現されるIDベースのキー管理装置は、実行モジュール11を備える。 Referring to FIG. 7, the ID-based key management device realized by the smart contract includes an execution module 11.
実行モジュール11は、スマートコントラクトを実行し、キー管理プロセスを実行するように構成され、前記キー管理プロセスは、
ターゲットユーザのキーを更新する必要がある場合、前記ターゲットユーザが非監視対象ユーザであると、前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成することと、
ブロックチェーンから前記ターゲットユーザのID情報を取得することと、
前記ターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、および前記ターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成することと、
前記ターゲットユーザの現在の秘密鍵を前記第1ターゲット秘密鍵に置き換えることと、を含む。
The execution module 11 is configured to execute a smart contract and execute a key management process.
When it is necessary to update the key of the target user, if the target user is an unmonitored user, the master public key and the master private key belonging to the target user are generated.
Acquiring the ID information of the target user from the blockchain
Generating a first target private key based on the master public key and master private key belonging to the target user and the ID information of the target user.
It includes replacing the current private key of the target user with the first target private key.
本実施例において、前記実行モジュール11が前記スマートコントラクトを実行し、実行されるキー管理プロセスは、さらに、
前記ターゲットユーザが非監視対象ユーザであり且つ前記ターゲットユーザの秘密鍵が漏洩された場合、または、前記ターゲットユーザが監視対象ユーザである場合、前記ブロックチェーンから前記ターゲットユーザのID情報を取得することと、
前記ターゲットユーザのID情報を更新して、更新後のID情報をターゲットID情報として使用することと、
前記ターゲットID情報を使用して、第2ターゲット秘密鍵を生成することと、
前記ターゲットユーザの現在の秘密鍵を前記第2ターゲット秘密鍵に置き換えることと、を含み得る。
In this embodiment, the key management process in which the execution module 11 executes the smart contract and is executed further further.
When the target user is a non-monitoring target user and the private key of the target user is leaked, or when the target user is a monitoring target user, the ID information of the target user is acquired from the blockchain. When,
To update the ID information of the target user and use the updated ID information as the target ID information.
Using the target ID information to generate a second target private key,
It may include replacing the current private key of the target user with the second target private key.
本実施例において、前記実行モジュール11が前記スマートコントラクトを実行し、実行されるキー管理プロセスにおいて、前記ターゲットユーザのID情報を更新するプロセスは、
前記ターゲットユーザのID情報内の可変部分を更新することを含み得る。
In this embodiment, in the key management process in which the execution module 11 executes the smart contract and is executed, the process of updating the ID information of the target user is
It may include updating the variable portion of the target user's ID information.
本実施例において、前記実行モジュール11が前記スマートコントラクトを実行し、実行されるキー管理プロセスは、さらに、
前記ブロックチェーンで第1ターゲットID情報の状態情報を照会することを含み得、前記第1ターゲットID情報は、前記ブロックチェーン内に記憶されたユーザの任意の1つのID情報である。
In this embodiment, the key management process in which the execution module 11 executes the smart contract and is executed further further.
The blockchain may include inquiring the state information of the first target ID information, and the first target ID information is any one ID information of the user stored in the blockchain.
本実施例において、前記実行モジュール11が前記スマートコントラクトを実行し、実行されるキー管理プロセスは、さらに、
前記ターゲットユーザが使用した履歴秘密鍵を使用して、前記第1ターゲット秘密鍵に関連付けられた状態情報に署名することを含み得る。
In this embodiment, the key management process in which the execution module 11 executes the smart contract and is executed further further.
It may include signing the state information associated with the first target private key using the historical secret key used by the target user.
本明細書における各実施例は、すべて漸進的な方式を採用して説明し、各実施例では、他の実施例との違いについて重心を置いて説明し、各実施例の間において同じ部分または似ている部分は、互いに参照するとよいことが留意されたい。装置の実施例については、方法実施例と基本的に類似できるため、より簡単に説明し、関連する部分は、方法の実施例の部分的な説明を参照するとよい。 Each embodiment in the present specification is described by adopting a gradual method, and in each embodiment, the difference from the other examples is described with a center of gravity, and the same part or the same part between the respective examples is described. It should be noted that similar parts should be referred to each other. Since the embodiment of the apparatus can be basically similar to the embodiment of the method, it may be described more briefly, and the related part may refer to the partial description of the embodiment of the method.
最後に、本明細書において、第1および第2などの関係用語は、1つのエンティティまたは動作を別のエンティティまたは動作から区別するために使用され、これらのエンティティまたは動作間にそのような実際の関係または順序があるとリクエストアまたは暗示するものとは限らないことに留意されたい。さらに、「備える」、「含む」またはその任意の他の変形の用語は、非排他的な含みを覆われることを意図し、それにより、一連の要素を含むプロセス、方法、アイテムまたは機器は、それらの要素を含むだけでなく、さらに、明示的に列挙されない他の要素を含み、または、これらのプロセス、方法、アイテムまたは機器の固有の要素も含む。より多くの制限なしに、「1つの…を含む」という文で限定される要素は、前記要素を含むプロセス、方法、アイテムまたは機器に、別の関連要素の存在を排除しない。 Finally, as used herein, related terms such as first and second are used to distinguish one entity or action from another entity or action, and such actual entity or action between these entities or actions. Note that a relationship or order does not necessarily imply a request. In addition, the terms "provide", "contain" or any other variant thereof are intended to cover non-exclusive implications, thereby a process, method, item or device containing a set of elements. In addition to including those elements, it also contains other elements that are not explicitly listed, or includes elements that are unique to these processes, methods, items or devices. Without more restrictions, an element limited by the sentence "contains one ..." does not preclude the presence of another related element in the process, method, item or device containing the element.
説明の便宜のために、以上の装置を説明するとき、機能が様々なユニットに分けることでそれぞれ説明する。当然として、本願を実施するとき各ユニットの機能を同じまたは複数のソフトウェアおよび/またはハードウェアで実現できる。 For convenience of explanation, when the above devices are described, the functions will be described by dividing them into various units. As a matter of course, the function of each unit can be realized with the same or multiple software and / or hardware when carrying out the present application.
以上の実施形態による説明からわかるように、当業者は、本願は、ソフトウェアと、必要な汎用ハードウェアプラットフォームの形で実現できることを明確に理解できる。このような理解に基づき、本願の技術的解決策の実質的な部分または先行技術に対する貢献度のある部分は、ソフトウェア製品の形に実装することができる。当該コンピュータソフトウェア製品は、ROM/RAM、磁気ディスク、光ディスクなどの記憶媒体に記憶され、コンピュータ機器(パーソナルコンピュータ、サーバ、またはネットワーク機器等であり得る)に本願の各実施例または実施例のある部分を実行させるために、いくつかの命令を含む。 As can be seen from the description of the above embodiments, one of ordinary skill in the art can clearly understand that the present application can be realized in the form of software and a required general-purpose hardware platform. Based on this understanding, substantive parts of the technical solution of the present application or parts that contribute to the prior art can be implemented in the form of software products. The computer software product is stored in a storage medium such as a ROM / RAM, a magnetic disk, or an optical disk, and a computer device (which may be a personal computer, a server, a network device, or the like) has an embodiment or a portion of the present application. Includes some instructions to execute.
以上は、本願によるスマートコントラクトでIDベースのキー管理を実現する方法および装置を詳細に紹介した。本明細書には、具体的な例を応用して本願の原理および実施形態を説明したが、上記した実施例の説明は、単に本願の方法およびその本旨を理解するようにするためのものである。同時に、当業者にとって、本願の精神に従って、具体的な実施形態および適用範囲には任意の部分が変更され得る。まとめると、本明細書の内容は、本願の制限として理解できない。 The above has introduced in detail the method and device for realizing ID-based key management with the smart contract according to the present application. Although the principles and embodiments of the present application have been described in the present specification by applying specific examples, the above description of the examples is merely for understanding the method of the present application and its purpose. be. At the same time, for those skilled in the art, any part of the specific embodiments and scope may be modified in accordance with the spirit of the present application. In summary, the content of this specification is incomprehensible as a limitation of the present application.
Claims (10)
スマートコントラクトを実行し、キー管理プロセスを実行することを含み、
前記キー管理プロセスは、
ターゲットユーザのキーを更新する必要がある場合、前記ターゲットユーザが非監視対象ユーザであると、前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成することと、
ブロックチェーンから前記ターゲットユーザのID情報を取得することと、
前記ターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、および前記ターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成することと、
前記ターゲットユーザの現在の秘密鍵を前記第1ターゲット秘密鍵に置き換えることと、を含む、前記スマートコントラクトを使用してIDベースのキー管理を実現する方法。 It is a method to realize ID-based key management using smart contracts.
Including running smart contracts and running key management processes
The key management process is
When it is necessary to update the key of the target user, if the target user is an unmonitored user, the master public key and the master private key belonging to the target user are generated.
Acquiring the ID information of the target user from the blockchain
Generating a first target private key based on the master public key and master private key belonging to the target user and the ID information of the target user.
A method of implementing ID-based key management using the smart contract, including replacing the current private key of the target user with the first target private key.
前記ターゲットユーザが非監視対象ユーザであり且つ前記ターゲットユーザの秘密鍵が漏洩された場合、または、前記ターゲットユーザが監視対象ユーザである場合、前記ブロックチェーンから前記ターゲットユーザのID情報を取得することと、
前記ターゲットユーザのID情報を更新して、更新後のID情報をターゲットID情報として使用することと、
前記ターゲットID情報を使用して、第2ターゲット秘密鍵を生成することと、
前記ターゲットユーザの現在の秘密鍵を前記第2ターゲット秘密鍵に置き換えることと、をさらに含む、
請求項1に記載の方法。 The key management process is
When the target user is a non-monitoring target user and the private key of the target user is leaked, or when the target user is a monitoring target user, the ID information of the target user is acquired from the blockchain. When,
To update the ID information of the target user and use the updated ID information as the target ID information.
Using the target ID information to generate a second target private key,
Further including replacing the current private key of the target user with the second target private key.
The method according to claim 1.
前記ターゲットユーザのID情報内の可変部分を更新することを含む、
請求項2に記載の方法。 Updating the ID information of the target user is
Including updating the variable portion in the ID information of the target user.
The method according to claim 2.
前記ブロックチェーンで第1ターゲットID情報の状態情報を照会することをさらに含み、
前記第1ターゲットID情報は、前記ブロックチェーン内に記憶されたユーザの任意の1つのID情報である、
請求項1に記載の方法。 The key management process is
Further including inquiring the state information of the first target ID information in the blockchain,
The first target ID information is any one ID information of the user stored in the blockchain.
The method according to claim 1.
前記ターゲットユーザが使用した履歴秘密鍵を使用して、前記第1ターゲット秘密鍵に関連付けられた状態情報に署名することを含む、
請求項1に記載の方法。 The key management process is
The historical private key used by the target user is used to sign the state information associated with the first target private key.
The method according to claim 1.
スマートコントラクトを実行し、キー管理プロセスを実行するように構成される、実行モジュールを備え、
前記キー管理プロセスは、
ターゲットユーザのキーを更新する必要がある場合、前記ターゲットユーザが非監視対象ユーザであると、前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成することと、
ブロックチェーンから前記ターゲットユーザのID情報を取得することと、
前記ターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、および前記ターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成することと、
前記ターゲットユーザの現在の秘密鍵を前記第1ターゲット秘密鍵に置き換えることと、を含む、前記装置。 An ID-based key management device realized using smart contracts.
It has an execution module that is configured to execute smart contracts and perform key management processes.
The key management process is
When it is necessary to update the key of the target user, if the target user is an unmonitored user, the master public key and the master private key belonging to the target user are generated.
Acquiring the ID information of the target user from the blockchain
Generating a first target private key based on the master public key and master private key belonging to the target user and the ID information of the target user.
The device comprising replacing the current private key of the target user with the first target private key.
前記ターゲットユーザが非監視対象ユーザであり且つ前記ターゲットユーザの秘密鍵が漏洩された場合、または、前記ターゲットユーザが監視対象ユーザである場合、前記ブロックチェーンから前記ターゲットユーザのID情報を取得することと、
前記ターゲットユーザのID情報を更新して、更新後のID情報をターゲットID情報として使用することと、
前記ターゲットID情報を使用して、第2ターゲット秘密鍵を生成することと、
前記ターゲットユーザの現在の秘密鍵を前記第2ターゲット秘密鍵に置き換えることと、を含む、
請求項6に記載の装置。 The key management process in which the execution module executes and executes the smart contract further
When the target user is a non-monitoring target user and the private key of the target user is leaked, or when the target user is a monitoring target user, the ID information of the target user is acquired from the blockchain. When,
To update the ID information of the target user and use the updated ID information as the target ID information.
Using the target ID information to generate a second target private key,
Replacing the current private key of the target user with the second target private key, and the like.
The device according to claim 6.
前記ターゲットユーザのID情報内の可変部分を更新することを含む、
請求項7に記載の装置。 In the key management process in which the execution module executes the smart contract and is executed, the process of updating the ID information of the target user is
Including updating the variable portion in the ID information of the target user.
The device according to claim 7.
前記ブロックチェーンで第1ターゲットID情報の状態情報を照会することを含み、
前記第1ターゲットID情報は、前記ブロックチェーン内に記憶されたユーザの任意の1つのID情報である、
請求項6に記載の装置。 The key management process in which the execution module executes the smart contract and is executed further
Including inquiring the state information of the first target ID information in the blockchain,
The first target ID information is any one ID information of the user stored in the blockchain.
The device according to claim 6.
前記ターゲットユーザが使用した履歴秘密鍵を使用して、前記第1ターゲット秘密鍵に関連付けられた状態情報に署名することを含む、
請求項6に記載の装置。 The key management process in which the execution module executes the smart contract and is executed further
The historical private key used by the target user is used to sign the state information associated with the first target private key.
The device according to claim 6.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910445653.3A CN110166254B (en) | 2019-05-27 | 2019-05-27 | Method and device for realizing identity-based key management by using intelligent contract |
CN201910445653.3 | 2019-05-27 | ||
PCT/CN2019/091788 WO2020237751A1 (en) | 2019-05-27 | 2019-06-18 | Method and device employing smart contract to realize identity-based key management |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022528765A true JP2022528765A (en) | 2022-06-15 |
JP7426402B2 JP7426402B2 (en) | 2024-02-01 |
Family
ID=67629117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021560584A Active JP7426402B2 (en) | 2019-05-27 | 2019-06-18 | Method and apparatus for realizing ID-based key management in smart contracts |
Country Status (8)
Country | Link |
---|---|
US (1) | US20220158834A1 (en) |
EP (1) | EP3843326B1 (en) |
JP (1) | JP7426402B2 (en) |
KR (1) | KR102663060B1 (en) |
CN (1) | CN110166254B (en) |
AU (1) | AU2019448286B2 (en) |
BR (1) | BR112021023517A8 (en) |
WO (1) | WO2020237751A1 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110635899B (en) * | 2019-09-03 | 2022-10-25 | 核芯互联科技(青岛)有限公司 | IBC user key updating method and device |
CN112019553B (en) * | 2020-08-31 | 2021-07-06 | 航天信息股份有限公司 | Data sharing method based on IBE/IBBE |
CN112187454B (en) * | 2020-09-14 | 2022-12-02 | 国网浙江省电力有限公司 | Key management method and system based on block chain |
CN114697001B (en) * | 2020-12-28 | 2024-06-07 | 浪潮云洲工业互联网有限公司 | Information encryption transmission method, equipment and medium based on blockchain |
CN112804356B (en) * | 2021-03-30 | 2021-07-23 | 信联科技(南京)有限公司 | Block chain-based networking equipment supervision authentication method and system |
US11902451B2 (en) * | 2021-07-01 | 2024-02-13 | Fujitsu Limited | Cross-blockchain identity and key management |
CN114499883A (en) * | 2022-02-09 | 2022-05-13 | 浪潮云信息技术股份公司 | Cross-organization identity authentication method and system based on block chain and SM9 algorithm |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11177547A (en) * | 1997-12-12 | 1999-07-02 | Nec Corp | Key delivery method with id authentication its system and machine readable recording medium recording program |
JP2004112540A (en) * | 2002-09-19 | 2004-04-08 | Ntt Docomo Inc | Ciphering method and cipher system based on identification information of user capable of updating key |
JP2012032843A (en) * | 2001-08-13 | 2012-02-16 | Univ Leland Stanford Jr | System and method for id-based encryption and related cryptographic techniques |
CN106411901A (en) * | 2016-10-08 | 2017-02-15 | 北京三未信安科技发展有限公司 | Digital identity-based cryptograph management method and system |
US20170353309A1 (en) * | 2016-06-06 | 2017-12-07 | Microsoft Technology Licensing, Llc | Cryptographic applications for a blockchain system |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101170404B (en) * | 2006-10-24 | 2010-05-19 | 华为技术有限公司 | Method for secret key configuration based on specified group |
CN101166088A (en) * | 2007-09-27 | 2008-04-23 | 航天信息股份有限公司 | Encryption and decryption method based on user identity identifier |
CN101521569B (en) * | 2008-02-28 | 2013-04-24 | 华为技术有限公司 | Method, equipment and system for realizing service access |
CN104022880B (en) * | 2014-06-04 | 2017-02-08 | 青岛大学 | Invasion-resistant identity-based signature method |
US11115205B2 (en) * | 2016-09-29 | 2021-09-07 | Nokia Technologies Oy | Method and apparatus for trusted computing |
CN107425972B (en) * | 2017-05-05 | 2020-08-07 | 河南理工大学 | Graded encryption method based on identity |
CN107888384B (en) * | 2017-11-30 | 2020-11-27 | 中链科技有限公司 | Identity data management method, system and computer readable storage medium |
CN108235805B (en) * | 2017-12-29 | 2021-07-30 | 达闼机器人有限公司 | Account unifying method and device and storage medium |
CN108462696B (en) * | 2018-02-05 | 2020-12-15 | 邓海南 | Decentralized block chain intelligent identity authentication system |
CN109327309A (en) * | 2018-11-08 | 2019-02-12 | 北京中电华大电子设计有限责任公司 | A kind of domain traversal key management method based on IBC Yu PKI mixed system |
CN109600219A (en) * | 2018-11-29 | 2019-04-09 | 天津大学 | A kind of public-key management systems based on ether mill intelligence contract |
-
2019
- 2019-05-27 CN CN201910445653.3A patent/CN110166254B/en active Active
- 2019-06-18 KR KR1020217040076A patent/KR102663060B1/en active IP Right Grant
- 2019-06-18 AU AU2019448286A patent/AU2019448286B2/en active Active
- 2019-06-18 BR BR112021023517A patent/BR112021023517A8/en unknown
- 2019-06-18 US US17/440,294 patent/US20220158834A1/en active Pending
- 2019-06-18 WO PCT/CN2019/091788 patent/WO2020237751A1/en unknown
- 2019-06-18 JP JP2021560584A patent/JP7426402B2/en active Active
- 2019-06-18 EP EP19930811.5A patent/EP3843326B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11177547A (en) * | 1997-12-12 | 1999-07-02 | Nec Corp | Key delivery method with id authentication its system and machine readable recording medium recording program |
JP2012032843A (en) * | 2001-08-13 | 2012-02-16 | Univ Leland Stanford Jr | System and method for id-based encryption and related cryptographic techniques |
JP2004112540A (en) * | 2002-09-19 | 2004-04-08 | Ntt Docomo Inc | Ciphering method and cipher system based on identification information of user capable of updating key |
US20170353309A1 (en) * | 2016-06-06 | 2017-12-07 | Microsoft Technology Licensing, Llc | Cryptographic applications for a blockchain system |
CN106411901A (en) * | 2016-10-08 | 2017-02-15 | 北京三未信安科技发展有限公司 | Digital identity-based cryptograph management method and system |
Also Published As
Publication number | Publication date |
---|---|
BR112021023517A8 (en) | 2023-02-14 |
KR20220012867A (en) | 2022-02-04 |
KR102663060B1 (en) | 2024-05-08 |
US20220158834A1 (en) | 2022-05-19 |
BR112021023517A2 (en) | 2022-01-25 |
CN110166254B (en) | 2020-09-29 |
EP3843326A1 (en) | 2021-06-30 |
AU2019448286A1 (en) | 2021-03-18 |
WO2020237751A1 (en) | 2020-12-03 |
AU2019448286B2 (en) | 2022-12-22 |
EP3843326A4 (en) | 2022-01-19 |
EP3843326B1 (en) | 2022-11-23 |
JP7426402B2 (en) | 2024-02-01 |
CN110166254A (en) | 2019-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2022528765A (en) | Methods and devices for implementing ID-based key management with smart contracts | |
Michalas | The lord of the shares: Combining attribute-based encryption and searchable encryption for flexible data sharing | |
Omar et al. | Identity management in IoT networks using blockchain and smart contracts | |
US20200322142A1 (en) | Method and Apparatus for Achieving Fine-Grained Access Control with Discretionary User Revocation Over Cloud Data | |
JP5215476B2 (en) | System and method for data authorization in a distributed storage network | |
CA2712815C (en) | Method and apparatus for authentication service application processes during service reallocation in high availability clusters | |
US9058497B2 (en) | Cryptographic key management | |
CN113271311B (en) | Digital identity management method and system in cross-link network | |
Premkamal et al. | Dynamic traceable CP‐ABE with revocation for outsourced big data in cloud storage | |
Harchol et al. | Distributed SSH key management with proactive RSA threshold signatures | |
CN110635899B (en) | IBC user key updating method and device | |
Lesueur et al. | An efficient distributed PKI for structured P2P networks | |
US20240236075A1 (en) | Data authentication in distributed networks | |
Feng et al. | One-stop efficient PKI authentication service model based on blockchain | |
CN114374700B (en) | Trusted identity management method supporting wide area collaboration based on master-slave multiple chains | |
Yuan et al. | Demonstration of Blockchain-based IoT devices anonymous access network using zero-knowledge proof | |
CN115134091A (en) | Management method of distributed digital identity identifier | |
Fotiou et al. | Self-verifiable content using decentralized identifiers | |
Göndör et al. | Distributed and domain-independent identity management for user profiles in the SONIC Online Social Network Federation | |
Xiong et al. | D2CDIM: did-based decentralized cross-domain identity management with privacy-preservation and Sybil-resistance | |
Goyal | Private Information Retrieval with Access Control | |
CN110719163A (en) | Information processing method, device and storage medium | |
Rathina et al. | Novel NFV entities managing scheme for telecom providers using proof of concept blockchain | |
Ghaffari et al. | User Profile and Mobile Number Portability for Beyond 5G: Blockchain-based Solution | |
JP2019068327A (en) | User management device, user management system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210929 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220802 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221018 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230214 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230410 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20230725 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231110 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20231201 |
|
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: 20240109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240122 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7426402 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |