IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 国家電網公司の特許一覧 ▶ 国網電子商務有限公司の特許一覧 ▶ 国網雄安金融科技集団有限公司の特許一覧

特許7426402スマートコントラクトでIDベースのキー管理を実現する方法および装置
<>
  • 特許-スマートコントラクトでIDベースのキー管理を実現する方法および装置 図1
  • 特許-スマートコントラクトでIDベースのキー管理を実現する方法および装置 図2
  • 特許-スマートコントラクトでIDベースのキー管理を実現する方法および装置 図3
  • 特許-スマートコントラクトでIDベースのキー管理を実現する方法および装置 図4
  • 特許-スマートコントラクトでIDベースのキー管理を実現する方法および装置 図5
  • 特許-スマートコントラクトでIDベースのキー管理を実現する方法および装置 図6
  • 特許-スマートコントラクトでIDベースのキー管理を実現する方法および装置 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-24
(45)【発行日】2024-02-01
(54)【発明の名称】スマートコントラクトでIDベースのキー管理を実現する方法および装置
(51)【国際特許分類】
   H04L 9/08 20060101AFI20240125BHJP
   G06F 21/62 20130101ALI20240125BHJP
【FI】
H04L9/08 D
G06F21/62 309
【請求項の数】 8
(21)【出願番号】P 2021560584
(86)(22)【出願日】2019-06-18
(65)【公表番号】
(43)【公表日】2022-06-15
(86)【国際出願番号】 CN2019091788
(87)【国際公開番号】W WO2020237751
(87)【国際公開日】2020-12-03
【審査請求日】2021-09-29
(31)【優先権主張番号】201910445653.3
(32)【優先日】2019-05-27
(33)【優先権主張国・地域又は機関】CN
【前置審査】
(73)【特許権者】
【識別番号】512218795
【氏名又は名称】国家電網公司
【氏名又は名称原語表記】State Grid Corporation of China
(73)【特許権者】
【識別番号】521440976
【氏名又は名称】国網数字科技控股有限公司
【氏名又は名称原語表記】State Grid Digital Technology Holding CO., LTD.
【住所又は居所原語表記】Room 8018, 8th Floor, Building 7, Guangyi Street, Xicheng District, Beijing 100053, China
(73)【特許権者】
【識別番号】521440987
【氏名又は名称】国網雄安金融科技集団有限公司
【氏名又は名称原語表記】STATE GRID XIONG’AN FINANCIAL TECHNOLOGY GROUP CO., LTD.
【住所又は居所原語表記】North Ring Road, Anxin County, Baoding, Hebei 071600, China
(74)【代理人】
【識別番号】100145403
【弁理士】
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100132241
【弁理士】
【氏名又は名称】岡部 博史
(72)【発明者】
【氏名】楊 東偉
(72)【発明者】
【氏名】王 棟
(72)【発明者】
【氏名】蒋 ▲ウェイ▼
(72)【発明者】
【氏名】甄 平
(72)【発明者】
【氏名】玄 佳興
(72)【発明者】
【氏名】李 国民
(72)【発明者】
【氏名】石 欣
(72)【発明者】
【氏名】馬 万里
(72)【発明者】
【氏名】馬 軍偉
(72)【発明者】
【氏名】汪 洋
(72)【発明者】
【氏名】周 磊
【審査官】中里 裕正
(56)【参考文献】
【文献】中国特許出願公開第106411901(CN,A)
【文献】米国特許出願公開第2017/0353309(US,A1)
【文献】特開2012-032843(JP,A)
【文献】特開平11-177547(JP,A)
【文献】特開2004-112540(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/08
G06F 21/62
JSTPlus/JMEDPlus/JST7580(JDreamIII)
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
スマートコントラクトを使用してIDベースのキー管理を実現する方法であって、
スマートコントラクトを実行し、キー管理プロセスを実行することを含み、
前記キー管理プロセスは、
ターゲットユーザのキーを更新する必要がある場合、前記ターゲットユーザが非監視対象ユーザであると、前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成することと、
ブロックチェーンから前記ターゲットユーザのID情報を取得することと、
前記ターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、および前記ターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成することと、
前記ターゲットユーザの現在の秘密鍵を前記第1ターゲット秘密鍵に置き換えることと、を含み、
前記キー管理プロセスは、
前記ターゲットユーザが非監視対象ユーザであり且つ前記ターゲットユーザの秘密鍵が漏洩された場合、または、前記ターゲットユーザが監視対象ユーザである場合、前記ブロックチェーンから前記ターゲットユーザのID情報を取得することと、
前記ターゲットユーザのID情報を更新して、更新後のID情報をターゲットID情報として使用することと、
前記ターゲットID情報を使用して、第2ターゲット秘密鍵を生成することと、
前記ターゲットユーザの現在の秘密鍵を前記第2ターゲット秘密鍵に置き換えることと、をさらに含み、
前記監視対象ユーザの秘密鍵に対する更新操作の権限は、スマートコントラクト管理者に割り当てられており、前記非監視対象ユーザの秘密鍵に対する更新操作の権限、前記非監視対象ユーザに割り当てられている、前記スマートコントラクトを使用してIDベースのキー管理を実現する方法。
【請求項2】
前記ターゲットユーザのID情報を更新することは、
前記ターゲットユーザのID情報内の可変部分を更新することを含む、
請求項1に記載の方法。
【請求項3】
前記キー管理プロセスは、
前記ブロックチェーンで第1ターゲットID情報の状態情報を照会することをさらに含み、
前記第1ターゲットID情報は、前記ブロックチェーン内に記憶されたユーザの任意の1つのID情報である、
請求項1に記載の方法。
【請求項4】
前記キー管理プロセスは、
前記ターゲットユーザが使用した履歴秘密鍵を使用して、前記第1ターゲット秘密鍵に関連付けられた状態情報に署名することを含む、
請求項1に記載の方法。
【請求項5】
スマートコントラクトを使用して実現されるIDベースのキー管理装置であって、
スマートコントラクトを実行し、キー管理プロセスを実行するように構成される、実行モジュールを備え、
前記キー管理プロセスは、
ターゲットユーザのキーを更新する必要がある場合、前記ターゲットユーザが非監視対象ユーザであると、前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成することと、
ブロックチェーンから前記ターゲットユーザのID情報を取得することと、
前記ターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、および前記ターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成することと、
前記ターゲットユーザの現在の秘密鍵を前記第1ターゲット秘密鍵に置き換えることと、を含み、
前記実行モジュールが前記スマートコントラクトを実行し、実行するキー管理プロセスは、さらに、
前記ターゲットユーザが非監視対象ユーザであり且つ前記ターゲットユーザの秘密鍵が漏洩された場合、または、前記ターゲットユーザが監視対象ユーザである場合、前記ブロックチェーンから前記ターゲットユーザのID情報を取得することと、
前記ターゲットユーザのID情報を更新して、更新後のID情報をターゲットID情報として使用することと、
前記ターゲットID情報を使用して、第2ターゲット秘密鍵を生成することと、
前記ターゲットユーザの現在の秘密鍵を前記第2ターゲット秘密鍵に置き換えることと、を含み、
前記監視対象ユーザの秘密鍵に対する更新操作の権限は、スマートコントラクト管理者に割り当てられており、前記非監視対象ユーザの秘密鍵に対する更新操作の権限、前記非監視対象ユーザに割り当てられている、前記装置。
【請求項6】
前記実行モジュールが前記スマートコントラクトを実行し、実行されるキー管理プロセスにおいて、前記ターゲットユーザのID情報を更新するプロセスは、
前記ターゲットユーザのID情報内の可変部分を更新することを含む、
請求項5に記載の装置。
【請求項7】
前記実行モジュールがスマートコントラクトを実行し、実行されるキー管理プロセスは、さらに、
前記ブロックチェーンで第1ターゲットID情報の状態情報を照会することを含み、
前記第1ターゲットID情報は、前記ブロックチェーン内に記憶されたユーザの任意の1つのID情報である、
請求項5に記載の装置。
【請求項8】
前記実行モジュールがスマートコントラクトを実行し、実行されるキー管理プロセスは、さらに、
前記ターゲットユーザが使用した履歴秘密鍵を使用して、前記第1ターゲット秘密鍵に関連付けられた状態情報に署名することを含む、
請求項5に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2019年05月27日に中国特許局に提出された、出願番号が201910445653.3である中国特許出願に基づいて提出されるものであり、当該中国特許出願の優先権を主張し、当該中国特許出願の全ての内容が援用によって本願に組み込まれる。
【0002】
本願は、コンピュータ技術分野に関し、特に、スマートコントラクトでIDベースのキー管理を実現する方法および装置に関する。
【背景技術】
【0003】
現在、IDベースの暗号化(IBC:Identity Base Cryptography)技術案では、キー生成センタ(KGC:Key Generation Center)によってマスタ公開鍵およびマスタ秘密鍵を生成し、KGCは、マスタ公開鍵、マスタ秘密鍵およびユーザのID情報(例えば、名称、e-mail、身分証明書番号など)を使用してユーザに対して秘密鍵を生成する。ユーザのID情報は即ち公開鍵であり、デジタル証明書でバインドする必要なく、公開鍵インフラストラクチャ(PKI)方案におけるデジタル証明書の管理が複雑である問題を回避できる。
【0004】
しかしながら、IBC方案において、特定のユーザの秘密鍵が漏洩されて、秘密鍵を更新する必要があると、当該ユーザのID情報を変更することを介してその秘密鍵を更新する必要があり、ユーザのID情報が変更されると、当該ユーザのIDの自己認証が低下し、IBC方案のキー更新の性能に影響を与える。
【発明の概要】
【発明が解決しようとする課題】
【0005】
関連する技術的課題を解決するために、本願実施例は、スマートコントラクトでIDベースのキー管理を実現する方法および装置を提供する。
【課題を解決するための手段】
【0006】
本願実施例の技術的解決策は、以下のとおりである。
【0007】
スマートコントラクトでIDベースのキー管理を実現する方法は、
スマートコントラクトを実行し、キー管理プロセスを実行することを含み、
前記キー管理プロセスは、
ターゲットユーザのキーを更新する必要がある場合、前記ターゲットユーザが非監視対象ユーザであると、前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成することと、
ブロックチェーンから前記ターゲットユーザのID情報を取得することと、
前記ターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、および前記ターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成することと、
前記ターゲットユーザの現在の秘密鍵を前記第1ターゲット秘密鍵に置き換えることと、を含む。
【0008】
上記した技術案において、前記キー管理プロセスは、さらに、
前記ターゲットユーザが非監視対象ユーザであり且つ前記ターゲットユーザの秘密鍵が漏洩された場合、または、前記ターゲットユーザが監視対象ユーザである場合、前記ブロックチェーンから前記ターゲットユーザのID情報を取得することと、
前記ターゲットユーザのID情報を更新して、更新後のID情報をターゲットID情報として使用することと、
前記ターゲットID情報を使用して、第2ターゲット秘密鍵を生成することと、
前記ターゲットユーザの現在の秘密鍵を前記第2ターゲット秘密鍵に置き換えることと、を含む。
【0009】
上記した技術案において、前記ターゲットユーザのID情報を更新することは、
前記ターゲットユーザのID情報内の可変部分を更新することを含む。
【0010】
上記した技術案において、前記キー管理プロセスは、さらに、
前記ブロックチェーンで第1ターゲットID情報の状態情報を照会することを含み、前記第1ターゲットID情報は、前記ブロックチェーン内に記憶されたユーザの任意の1つのID情報である。
【0011】
上記した技術案において、前記キー管理プロセスは、さらに、
前記ターゲットユーザが使用した履歴秘密鍵を使用して、前記第1ターゲット秘密鍵に関連付けられた状態情報に署名することを含む。
【0012】
スマートコントラクトで実現されるIDベースのキー管理装置は、
スマートコントラクトを実行し、キー管理プロセスを実行するように構成される、実行モジュールを備え、
前記キー管理プロセスは、
ターゲットユーザのキーを更新する必要がある場合、前記ターゲットユーザが非監視対象ユーザであると、前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成することと、
ブロックチェーンから前記ターゲットユーザのID情報を取得することと、
前記ターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、および前記ターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成することと、
前記ターゲットユーザの現在の秘密鍵を前記第1ターゲット秘密鍵に置き換えることと、を含む。
【0013】
上記した技術案において、前記実行モジュールが前記スマートコントラクトを実行し、実行されるキー管理プロセスは、さらに、
前記ターゲットユーザが非監視対象ユーザであり且つ前記ターゲットユーザの秘密鍵が漏洩された場合、または、前記ターゲットユーザが監視対象ユーザである場合、前記ブロックチェーンから前記ターゲットユーザのID情報を取得することと、
前記ターゲットユーザのID情報を更新して、更新後のID情報をターゲットID情報として使用することと、
前記ターゲットID情報を使用して、第2ターゲット秘密鍵を生成することと、
前記ターゲットユーザの現在の秘密鍵を前記第2ターゲット秘密鍵に置き換えることと、を含む。
【0014】
上記した技術案において、前記実行モジュールが前記スマートコントラクトを実行し、実行されるキー管理プロセスにおいて、前記ターゲットユーザのID情報を更新するプロセスは、
前記ターゲットユーザのID情報内の可変部分を更新することを含む。
【0015】
上記した技術案において、前記実行モジュールが前記スマートコントラクトを実行し、実行されるキー管理プロセスは、さらに、
前記ブロックチェーンで第1ターゲットID情報の状態情報を照会することを含み、前記第1ターゲットID情報は、前記ブロックチェーン内に記憶されたユーザの任意の1つのID情報である。
【0016】
上記した技術案において、前記実行モジュールが前記スマートコントラクトを実行し、実行されるキー管理プロセスは、さらに、
前記ターゲットユーザが使用した履歴秘密鍵を使用して、前記第1ターゲット秘密鍵に関連付けられた状態情報に署名することを含む。
【発明の効果】
【0017】
関連技術と比べて、本願実施例の有利な効果は、以下のとおりである。
【0018】
本願実施例において、スマートコントラクトを実行し、実行されるキー管理プロセスでは、ターゲットユーザのキーを更新する必要がある場合、ターゲットユーザが非監視対象ユーザであると、ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成することによって、KGCで既に生成されたマスタ公開鍵およびマスタ秘密鍵を採用しない。実行されるキー管理プロセスでは、ブロックチェーンからターゲットユーザのID情報を取得することによって、ターゲットユーザのID情報を変更しない。実行されるキー管理プロセスでは、KGCで既に生成されたマスタ公開鍵およびマスタ秘密鍵と異なる、ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵、ならびに変更されていないターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成し、ターゲットユーザの現在の秘密鍵を第1ターゲット秘密鍵に置き換える。それにより、ユーザ秘密鍵の更新を実現する。ユーザ秘密鍵の更新プロセスにおいて、ターゲットユーザのID情報を変更していないため、ターゲットユーザのID自己認証が低下することなく、それにより、IBC方案のキー更新の性能を改善する。
【0019】
本願実施例の技術的解決策をより明確に説明するために、以下は、実施例の説明で使用される図面について簡単に紹介する。以下に説明される図面は、本願のいくつかの実施例に過ぎず、当業者にとっては、創造的な作業なしに、これらの図面に従って他の図面を得ることもできることは自明である。
【図面の簡単な説明】
【0020】
図1】本願実施例によるブロックチェーンネットワークのアーキテクチャの概略図
図2】本願実施例によるキー管理プロセスの例示的なフローチャート
図3】本願実施例による別のキー管理プロセスの例示的なフローチャート
図4】本願実施例によるさらに別のキー管理プロセスの例示的なフローチャート
図5】本願実施例によるさらに別のキー管理プロセスの例示的なフローチャート
図6】本願実施例によるさらに別のキー管理プロセスの例示的なフローチャート
図7】本願実施例によるスマートコントラクトで実現されるIDベースのキー管理装置の論理構造の概略図
【発明を実施するための形態】
【0021】
以下、本願実施例の図面を参照して、本願実施例の技術的解決策を明確且つ完全に説明し、明らかに、説明される実施例は、単に本願実施例の一部であり、実施例の全てではない。本願実施例に基づいて、創造的な努力なしに当業者によって取得される他のすべての実施例は、本願の保護範囲に含まれるものとする。
【0022】
本願実施例は、スマートコントラクトでIDベースのキー管理を実現する技術案を開示し、スマートコントラクトを実行し、キー管理プロセスを実行することを含み、前記キー管理プロセスは、ターゲットユーザのキーを更新する必要がある場合、前記ターゲットユーザが非監視対象ユーザであると、前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成することと、ブロックチェーンから前記ターゲットユーザのID情報を取得し、前記ターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、および前記ターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成することと、前記ターゲットユーザの現在の秘密鍵を前記第1ターゲット秘密鍵に置き換えることと、を含む。本願実施例において、IBC技術案のキー更新の性能を改善できる。
【0023】
次は、本願実施例によって開示された、コンピュータ機器に適用されるスマートコントラクトでIDベースのキー管理を実現する方法を紹介し、当該方法は、以下のステップを含む。
【0024】
ステップS11において、スマートコントラクトを実行し、キー管理プロセスを実行する。
【0025】
本実施例において、ブロックチェーンネットワークを提供し、図1に示されたように、ブロックチェーンネットワークは、複数のフルノードで構成され、各フルノードには、ユーザの公開鍵およびKGCで生成されたマスタ公開鍵などの情報など、同じデータが記憶される。
【0026】
ブロックチェーンネットワークは、パブリック型チェーンネットワークまたはコンソーシアム型ネットワークであると理解できる。
【0027】
ユーザの秘密鍵およびKGCで生成されたマスタ秘密鍵はユーザによって保持され、ブロックチェーンに記憶されなく、秘密鍵およびマスタ秘密鍵の漏洩を回避することに留意されたい。
【0028】
ブロックチェーンネットワークでは、スマートコントラクトを実行し、キー管理プロセスを実行することができる。ここで、キー管理プロセスは、
ユーザのID情報を登録し、登録したID情報をブロックチェーンに記憶することを含み得る。
【0029】
ユーザのID情報を登録して、ユーザIDの初期認証を実現することを理解されたい。
【0030】
スマートコントラクトを実行し、ユーザの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が現在有効であるか否かを示す。
【0031】
本実施例において、図2を参照すると、キー管理プロセスは、さらに、以下のステップを含む。
【0032】
ステップS21において、ターゲットユーザのキーを更新する必要がある場合、前記ターゲットユーザが非監視対象ユーザであると、前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成する。
【0033】
前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵は、KGCで生成されたマスタ公開鍵およびマスタ秘密鍵と異なる値として理解できる。
【0034】
前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵は、主に、ターゲットユーザの秘密鍵を生成するために使用される。
【0035】
ステップS22において、ブロックチェーンから前記ターゲットユーザのID情報を取得する。
【0036】
ブロックチェーンには、複数のユーザのID情報が記憶されたため、ブロックチェーンから前記ターゲットユーザのID情報を取得できることを理解されたい。具体的には、ターゲットユーザの識別子に従ってブロックチェーンから前記ターゲットユーザのID情報を取得できる。
【0037】
ターゲットユーザのID情報は、ターゲットユーザの公開鍵として理解できる。
【0038】
ステップS23において、前記ターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、および前記ターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成する。
【0039】
ステップS24において、前記ターゲットユーザの現在の秘密鍵を前記第1ターゲット秘密鍵に置き換える。
【0040】
ターゲットユーザの現在の秘密鍵は、ターゲットユーザが現在使用できる秘密鍵として理解できる。
【0041】
前記ターゲットユーザの現在の秘密鍵を前記第1ターゲット秘密鍵に置き換えることは、ターゲットユーザの秘密鍵の更新を実現する。
【0042】
前記ターゲットユーザが非監視対象ユーザであると、ターゲットユーザのID情報、即ちターゲットユーザの公開鍵を更新する必要なく、KGCで生成されたマスタ公開鍵およびマスタ秘密鍵と異なる、ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵、ならびに更新されていないターゲットユーザの公開鍵を使用して、ターゲットユーザの秘密鍵の更新を実現する。
【0043】
本願実施例において、スマートコントラクトを実行する。実行されるキー管理プロセスでは、ターゲットユーザのキーを更新する必要がある場合、ターゲットユーザが非監視対象ユーザであると、ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成することによって、KGCで生成されたマスタ公開鍵およびマスタ秘密鍵を採用しない。実行されるキー管理プロセスでは、ブロックチェーンからしたターゲットユーザのID情報を取得することによって、ターゲットユーザのID情報を変更しない。実行されるキー管理プロセスでは、KGCで生成されたマスタ公開鍵およびマスタ秘密鍵と異なるターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、および変更されていないターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成し、ターゲットユーザの現在の秘密鍵を第1ターゲット秘密鍵に置き換えることを介して、ユーザ秘密鍵の更新を実現する。ユーザ秘密鍵の更新プロセスにおいて、ターゲットユーザのID情報を変更していないため、ターゲットユーザのID自己認証が低下することなく、それにより、IBC技術案のキー更新の性能を改善する。
【0044】
さらに、非監視対象ユーザは、自分でキーを更新でき、KGCでマスタ秘密鍵およびマスタ公開鍵を置き換えるとき、全てのユーザの秘密鍵が、すべて再更新するのを必要とすることを回避でき、完全に分散化されたキー管理方式を実現し、利用可能性を向上させる。
【0045】
本願の別の実施例2として、本願による別のキー管理プロセスの例示的なフローチャートである図3を参照すると、本実施例は、主に、上記した実施例1で説明されたキー管理プロセスの拡張方法である。図3に示されたように、当該方法は、以下のステップを含み得るがこれに限定されない。
【0046】
ステップS31において、ターゲットユーザのキーを更新する必要がある場合、前記ターゲットユーザが非監視対象ユーザであると、前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成する。
【0047】
ステップS32において、ブロックチェーンから前記ターゲットユーザのID情報を取得する。
【0048】
ステップS33において、前記ターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、および前記ターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成する。
【0049】
ステップS34において、前記ターゲットユーザの現在の秘密鍵を前記第1ターゲット秘密鍵に置き換える。
【0050】
ステップS31~S34の詳細なプロセスは、実施例1のステップS21~S24の関連紹介を参照でき、ここで再び説明しない。
【0051】
ステップS35において、前記ターゲットユーザが非監視対象ユーザであり且つ前記ターゲットユーザの秘密鍵が漏洩された場合、または、前記ターゲットユーザが監視対象ユーザである場合、前記ブロックチェーンから前記ターゲットユーザのID情報を取得する。
【0052】
ここで、ターゲットユーザの秘密鍵が漏洩された場合、b_validを無効状態にすることができる。その後、キー更新のプロセスを実行しはじめ、まずは、前記ブロックチェーンから前記ターゲットユーザのID情報を取得する。
【0053】
ステップS36において、前記ターゲットユーザのID情報を更新して、更新後のID情報をターゲットID情報として使用する。
【0054】
ステップS37において、前記ターゲットID情報を使用して、第2ターゲット秘密鍵を生成する。
【0055】
ここで、前記ターゲットID情報を使用して、第2ターゲット秘密鍵を生成することは、
前記ターゲットID情報およびKGCで生成されたマスタ公開鍵およびマスタ秘密鍵を使用して、新たな秘密鍵を生成して、第2ターゲット秘密鍵として使用することとして理解できる。
【0056】
ステップS38において、前記ターゲットユーザの現在の秘密鍵を前記第2ターゲット秘密鍵に置き換える。
【0057】
ここで、ターゲットユーザの現在の秘密鍵は、ターゲットユーザが現在使用できる秘密鍵として理解できる。
【0058】
前記ターゲットユーザの現在の秘密鍵を前記第2ターゲット秘密鍵に置き換えて、ターゲットユーザの秘密鍵の更新を実現する。
【0059】
前記ターゲットユーザが非監視対象ユーザであり且つ前記ターゲットユーザの秘密鍵が漏洩された場合、または、前記ターゲットユーザが監視対象ユーザである場合、ターゲットユーザのID情報を更新することを介して、即ち、ターゲットユーザの公開鍵を更新することを介して、更新後の公開鍵に基づいてターゲットユーザの秘密鍵を更新する。
【0060】
本願の別の実施例3として、本願による別のキー管理プロセスの例示的なフローチャートである図4を参照すると、本実施例は、主に、上記した実施例2で説明されたキー管理プロセスの詳細な方法である。図4に示されたように、当該方法は、以下のステップを含み得るがこれに限定されない。
【0061】
ステップS41において、ターゲットユーザのキーを更新する必要がある場合、前記ターゲットユーザが非監視対象ユーザであると、前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成する。
【0062】
ステップS42において、ブロックチェーンから前記ターゲットユーザのID情報を取得する。
【0063】
ステップS43において、前記ターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、および前記ターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成する。
【0064】
ステップS44において、前記ターゲットユーザの現在の秘密鍵を前記第1ターゲット秘密鍵に置き換える。
【0065】
ステップS45において、前記ターゲットユーザが非監視対象ユーザであり且つ前記ターゲットユーザの秘密鍵が漏洩された場合、または、前記ターゲットユーザが監視対象ユーザである場合、前記ブロックチェーンから前記ターゲットユーザのID情報を取得する。
【0066】
ステップS41~S45の詳細なプロセスは、実施例2のステップS31~S35の関連紹介を参照でき、ここで再び説明しない。
【0067】
ステップS46において、前記ターゲットユーザのID情報内の可変部分を更新して、更新後のID情報をターゲットID情報として使用する。
【0068】
ここで、ターゲットユーザのID情報は、固定部分および可変部分によって構成できる。
【0069】
ここで、可変部分は、日付または他のランダム数などの変化できる部分として理解できる。
【0070】
前記ターゲットユーザのID情報内の可変部分を更新し、ターゲットユーザのID情報内の固定した部分を更新しないことで、ターゲットユーザのID情報の有効性および信頼性を保証できる。
【0071】
ステップS47において、前記ターゲットID情報を使用して、第2ターゲット秘密鍵を生成する。
【0072】
ステップS48において、前記ターゲットユーザの現在の秘密鍵を前記第2ターゲット秘密鍵に置き換える。
【0073】
ステップS47~S48の詳細なプロセスは、実施例2のステップS37~S38の関連紹介を参照でき、ここで再び説明しない。
【0074】
本願の別の実施例4として、本願による別のキー管理プロセスの例示的なフローチャートである図5を参照すると、本実施例は、主に、上記した実施例1で説明されたキー管理プロセスの拡張方法である。図5に示されたように、当該方法は、以下のステップを含み得るがこれに限定されない。
【0075】
ステップS51において、ターゲットユーザのキーを更新する必要がある場合、前記ターゲットユーザが非監視対象ユーザであると、前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成する。
【0076】
ステップS52において、ブロックチェーンから前記ターゲットユーザのID情報を取得する。
【0077】
ステップS53において、前記ターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、および前記ターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成する。
【0078】
ステップS54において、前記ターゲットユーザの現在の秘密鍵を前記第1ターゲット秘密鍵に置き換える。
【0079】
ステップS51~S54の詳細なプロセスは、実施例1のステップS21~S24の関連紹介を参照でき、ここで再び説明しない。
【0080】
ステップS55において、前記ブロックチェーンで第1ターゲットID情報の状態情報を照会し、前記第1ターゲットID情報は、前記ブロックチェーン内に記憶されたユーザの任意の1つのID情報である。
【0081】
ここで、第1ターゲットID情報の状態情報は、登録しているか否か、監視対象ユーザのID情報であるか否かおよびID情報は、現在有効であるか否かを含み得るがこれに限定されない。
【0082】
ブロックチェーンでID情報の状態情報を記憶することは、ID情報の状態情報が改ざんされることを防ぐことができ、照会した第1ターゲットID情報の状態情報の信頼性を保証できることを理解されたい。
【0083】
本願の別の実施例5として、本願による別のキー管理プロセスの例示的なフローチャートである図6を参照すると、本実施例は、主に、上記した実施例1で説明されたキー管理プロセスの拡張方法であり、図6に示されたように、当該方法は、以下のステップを含み得るがこれに限定されない。
【0084】
ステップS61において、ターゲットユーザのキーを更新する必要がある場合、前記ターゲットユーザが非監視対象ユーザであると、前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成する。
【0085】
ステップS62において、ブロックチェーンから前記ターゲットユーザのID情報を取得する。
【0086】
ステップS63において、前記ターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、および前記ターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成する。
【0087】
ステップS64において、前記ターゲットユーザの現在の秘密鍵を前記第1ターゲット秘密鍵に置き換える。
【0088】
ステップS61-ステップS64の詳細なプロセスは、実施例1のステップS21-S24の関連する紹介を参照でき、ここで再び説明しない。
【0089】
ステップS65において、前記ターゲットユーザが使用した履歴秘密鍵を使用して、前記第1ターゲット秘密鍵に関連付けられた状態情報に署名する。
【0090】
ここで、前記ターゲットユーザが使用していた履歴秘密鍵は、前記ターゲットユーザの秘密鍵を第1ターゲット秘密鍵に更新する前の、最後で使用した秘密鍵として理解できる。
【0091】
第1ターゲット秘密鍵と関連付けられた状態情報は、第1ターゲット秘密鍵に対応するターゲットユーザのID情報が登録しているか否か、第1ターゲット秘密鍵に対応するターゲットユーザのID情報が監視対象ユーザのID情報であるか否か、および第1ターゲット秘密鍵に対応するターゲットユーザのID情報は現在有効であるか否かを含み得るが、これに限定されない。
【0092】
前記ターゲットユーザが使用した履歴秘密鍵を使用して、前記第1ターゲット秘密鍵に関連付けられた状態情報に署名することは、前記ターゲットユーザが使用した履歴秘密鍵を使用して、前記第1ターゲット秘密鍵に関連付けられた状態情報に対して合法性の署名を実行すると理解できる。
【0093】
前記ターゲットユーザが使用した履歴秘密鍵を使用して、前記第1ターゲット秘密鍵に関連付けられた状態情報に対して合法性の署名を実行して、第1ターゲット秘密鍵に関連付けられた状態情報の有効性を保証できる。
【0094】
上記した各実施例で紹介されたキー管理プロセスでは、ある1つのユーザのID情報をキャンセルする必要があると、当該ユーザのID情報をキャンセルし、ブロックチェーンから当該ユーザのID情報を削除できる。
【0095】
次は、本願によるスマートコントラクトで実現されるIDベースのキー管理装置を紹介するが、以下に紹介されるスマートコントラクトで実現されるIDベースのキー管理装置は、上に紹介されたスマートコントラクトでIDベースのキー管理を実現する方法と相互に対応して参照できる。
【0096】
図7を参照すると、スマートコントラクトで実現されるIDベースのキー管理装置は、実行モジュール11を備える。
【0097】
実行モジュール11は、スマートコントラクトを実行し、キー管理プロセスを実行するように構成され、前記キー管理プロセスは、
ターゲットユーザのキーを更新する必要がある場合、前記ターゲットユーザが非監視対象ユーザであると、前記ターゲットユーザに属するマスタ公開鍵およびマスタ秘密鍵を生成することと、
ブロックチェーンから前記ターゲットユーザのID情報を取得することと、
前記ターゲットユーザに属するマスタ公開鍵とマスタ秘密鍵と、および前記ターゲットユーザのID情報に基づいて、第1ターゲット秘密鍵を生成することと、
前記ターゲットユーザの現在の秘密鍵を前記第1ターゲット秘密鍵に置き換えることと、を含む。
【0098】
本実施例において、前記実行モジュール11が前記スマートコントラクトを実行し、実行されるキー管理プロセスは、さらに、
前記ターゲットユーザが非監視対象ユーザであり且つ前記ターゲットユーザの秘密鍵が漏洩された場合、または、前記ターゲットユーザが監視対象ユーザである場合、前記ブロックチェーンから前記ターゲットユーザのID情報を取得することと、
前記ターゲットユーザのID情報を更新して、更新後のID情報をターゲットID情報として使用することと、
前記ターゲットID情報を使用して、第2ターゲット秘密鍵を生成することと、
前記ターゲットユーザの現在の秘密鍵を前記第2ターゲット秘密鍵に置き換えることと、を含み得る。
【0099】
本実施例において、前記実行モジュール11が前記スマートコントラクトを実行し、実行されるキー管理プロセスにおいて、前記ターゲットユーザのID情報を更新するプロセスは、
前記ターゲットユーザのID情報内の可変部分を更新することを含み得る。
【0100】
本実施例において、前記実行モジュール11が前記スマートコントラクトを実行し、実行されるキー管理プロセスは、さらに、
前記ブロックチェーンで第1ターゲットID情報の状態情報を照会することを含み得、前記第1ターゲットID情報は、前記ブロックチェーン内に記憶されたユーザの任意の1つのID情報である。
【0101】
本実施例において、前記実行モジュール11が前記スマートコントラクトを実行し、実行されるキー管理プロセスは、さらに、
前記ターゲットユーザが使用した履歴秘密鍵を使用して、前記第1ターゲット秘密鍵に関連付けられた状態情報に署名することを含み得る。
【0102】
本明細書における各実施例は、すべて漸進的な方式を採用して説明し、各実施例では、他の実施例との違いについて重心を置いて説明し、各実施例の間において同じ部分または似ている部分は、互いに参照するとよいことが留意されたい。装置の実施例については、方法実施例と基本的に類似できるため、より簡単に説明し、関連する部分は、方法の実施例の部分的な説明を参照するとよい。
【0103】
最後に、本明細書において、第1および第2などの関係用語は、1つのエンティティまたは動作を別のエンティティまたは動作から区別するために使用され、これらのエンティティまたは動作間にそのような実際の関係または順序があるとリクエストアまたは暗示するものとは限らないことに留意されたい。さらに、「備える」、「含む」またはその任意の他の変形の用語は、非排他的な含みを覆われることを意図し、それにより、一連の要素を含むプロセス、方法、アイテムまたは機器は、それらの要素を含むだけでなく、さらに、明示的に列挙されない他の要素を含み、または、これらのプロセス、方法、アイテムまたは機器の固有の要素も含む。より多くの制限なしに、「1つの…を含む」という文で限定される要素は、前記要素を含むプロセス、方法、アイテムまたは機器に、別の関連要素の存在を排除しない。
【0104】
説明の便宜のために、以上の装置を説明するとき、機能が様々なユニットに分けることでそれぞれ説明する。当然として、本願を実施するとき各ユニットの機能を同じまたは複数のソフトウェアおよび/またはハードウェアで実現できる。
【0105】
以上の実施形態による説明からわかるように、当業者は、本願は、ソフトウェアと、必要な汎用ハードウェアプラットフォームの形で実現できることを明確に理解できる。このような理解に基づき、本願の技術的解決策の実質的な部分または先行技術に対する貢献度のある部分は、ソフトウェア製品の形に実装することができる。当該コンピュータソフトウェア製品は、ROM/RAM、磁気ディスク、光ディスクなどの記憶媒体に記憶され、コンピュータ機器(パーソナルコンピュータ、サーバ、またはネットワーク機器等であり得る)に本願の各実施例または実施例のある部分を実行させるために、いくつかの命令を含む。
【0106】
以上は、本願によるスマートコントラクトでIDベースのキー管理を実現する方法および装置を詳細に紹介した。本明細書には、具体的な例を応用して本願の原理および実施形態を説明したが、上記した実施例の説明は、単に本願の方法およびその本旨を理解するようにするためのものである。同時に、当業者にとって、本願の精神に従って、具体的な実施形態および適用範囲には任意の部分が変更され得る。まとめると、本明細書の内容は、本願の制限として理解できない。
図1
図2
図3
図4
図5
図6
図7