(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022104802
(43)【公開日】2022-07-11
(54)【発明の名称】グループサービス実現方法、装置、機器および記憶媒体
(51)【国際特許分類】
H04L 9/32 20060101AFI20220704BHJP
G06F 21/64 20130101ALI20220704BHJP
G06F 16/182 20190101ALI20220704BHJP
【FI】
H04L9/32 200B
G06F21/64
G06F16/182
【審査請求】有
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2021199474
(22)【出願日】2021-12-08
(31)【優先権主張番号】202011593351.X
(32)【優先日】2020-12-29
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】100112656
【弁理士】
【氏名又は名称】宮田 英毅
(74)【代理人】
【識別番号】100089118
【弁理士】
【氏名又は名称】酒井 宏明
(72)【発明者】
【氏名】荊博
(72)【発明者】
【氏名】張培▲セン▼
(72)【発明者】
【氏名】王虹妍
(57)【要約】 (修正有)
【課題】ブロックチェーンに基づくクラウドコンピューティング及びクラウドサービスに使用できるグループサービス実現方法、装置、機器及び記憶媒体を提供する。
【解決手段】方法は、サービストランザクション要求を取得し、サービストランザクション要求に認証待ちデータ及び閾値署名が含まれる場合、閾値署名に対応する署名グループを確定し、ブロックチェーンから署名グループのグループ情報を照会して取得する。グループは、少なくとも2つのメンバーを含む。グループのメンバーは、セキュアマルチパーティ計算によって認証待ちデータを認証し、署名秘密鍵を用いて認証待ちデータのために閾値署名を生成することに用いられる。グループ情報には、少なくとも閾値署名の検証公開鍵が含まれ、グループ情報における検証公開鍵を用いて閾値署名を検証し、検証に合格した場合、認証待ちデータの有効性を確認し、サービストランザクション要求の実行を継続する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ブロックチェーンノードにより実行される、ブロックチェーンに基づくグループサービス実現方法であって、
サービストランザクション要求を取得することと、
前記サービストランザクション要求に認証待ちデータおよび閾値署名が含まれている場合、前記閾値署名に対応する署名グループを確定することと、
ブロックチェーンから前記署名グループのグループ情報を照会して取得し、前記グループは、少なくとも2つのメンバーを含み、前記グループのメンバーは、セキュアマルチパーティ計算によって認証待ちデータを認証し、署名秘密鍵を用いて前記認証待ちデータのために閾値署名を生成することに用いられ、前記グループ情報には、少なくとも閾値署名の検証公開鍵が含まれていることと、
前記グループ情報における検証公開鍵を用いて前記閾値署名を検証することと、
検証に合格した場合、前記認証待ちデータの有効性を確認し、前記サービストランザクション要求の実行を継続することと、を含む、
ブロックチェーンに基づくグループサービス実現方法。
【請求項2】
グループ情報配信トランザクション要求を取得し、前記グループ情報配信トランザクション要求を実行することにより、前記グループ情報をブロックチェーンにアップロードして記憶することを更に含む、
請求項1に記載の方法。
【請求項3】
前記グループ情報は、グループ識別子、グループメンバーの記述情報、グループ認証機能の記述情報、および前記検証公開鍵を含む、
請求項1に記載の方法。
【請求項4】
グループ情報表示要求を取得した場合、ブロックチェーンから少なくとも1つのグループ情報を照会して取得し、ユーザに表示させることを更に含む、
請求項3に記載の方法。
【請求項5】
ブロックチェーンノードに配置されたグループクライアントに基づき、ユーザから発信された、認証待ちデータが含まれた認証要求を取得することと、
前記認証待ちデータの認証ニーズを満たすターゲットグループを確定することと、
前記ターゲットグループの少なくとも1つのグループメンバーに前記認証要求を発信することと、
前記ターゲットグループからフィードバックされた、前記認証待ちデータに対する認証に合格した閾値署名を取得することと、
前記認証待ちデータおよび前記閾値署名に基づいてサービストランザクション要求を発信することと、を更に含む、
請求項1に記載の方法。
【請求項6】
前記認証待ちデータの認証ニーズを満たすターゲットグループを確定することは、
ユーザが前記認証要求にて指定した、認証ニーズを満たすターゲットグループを取得すること、
または
ブロックチェーンから配信されたグループ情報を照会し、前記グループ情報の認証機能記述情報に基づいて前記認証ニーズにマッチングする少なくとも1つのグループをターゲットグループとして確定すること、を含む、
請求項5に記載の方法。
【請求項7】
グループメンバーにより実行される、ブロックチェーンに基づくグループサービス実現方法であって、
属するグループのために署名秘密鍵および検証公開鍵を生成することと、
前記検証公開鍵をグループ情報としてグループ情報配信トランザクション要求に担持させ、ブロックチェーンに配信して記憶することと、
認証待ちデータを認証するための認証要求を取得することと、
属するグループの少なくとも2つのメンバーにおいて、セキュアマルチパーティ計算によって前記認証待ちデータを認証し、前記署名秘密鍵を用いて認証待ちデータに対して閾値署名を行うことと、
前記閾値署名に基づき、前記認証要求に応答することと、を含み、
前記閾値署名は、ブロックチェーンにおいて発信されたサービストランザクション要求に担持され、ブロックチェーンに記憶された検証公開鍵に基づく前記閾値署名のブロックチェーンノードによる検証に用いられる、
ブロックチェーンに基づくグループサービス実現方法。
【請求項8】
前記グループ情報は、グループ識別子、グループメンバーの記述情報、グループ認証機能の記述情報、および前記検証公開鍵を含む、
請求項7に記載の方法。
【請求項9】
グループクライアントにおけるグループ初期化インタフェースに基づき、グループメンバーおよび前記グループメンバーの記述情報を確定し、グループ認証機能の記述情報を確定し、前記グループのためにグループ識別子を生成することと、
グループメンバーが生成した検証公開鍵を取得することと、を更に含む、
請求項8に記載の方法。
【請求項10】
前記グループメンバーは、ブロックチェーンノードに配置されたクライアント、またはブロックチェーンノードから独立したクライアントである、
請求項7に記載の方法。
【請求項11】
前記グループメンバーは1つまたは複数のグループに属し、各グループの認証機能は同じまたは異なる、
請求項7に記載の方法。
【請求項12】
前記認証機能は、オペレータ資格認証、企業資格認証、およびデータ有効性認証の少なくとも1種を含む、
請求項11に記載の方法。
【請求項13】
認証待ちデータを認証するための認証要求を取得することは、
ブロックチェーンノードがオンチェーンにおいて発信した認証待ちデータを認証するための認証トランザクション要求を取得すること、または
ブロックチェーンノードがポイントツーポイント伝送した、認証待ちデータを認証するための認証要求を取得すること、を含む、
請求項7に記載の方法。
【請求項14】
属するグループの少なくとも2つのメンバーにおいて、セキュアマルチパーティ計算によって前記認証待ちデータを認証し、前記署名秘密鍵を用いて認証待ちデータに対して閾値署名を行うことは、
属するグループの組織メンバーの制御に基づき、属するグループの少なくとも2つのメンバーにおいて、セキュアマルチパーティ計算によって前記認証待ちデータを認証し、前記署名秘密鍵を用いて認証待ちデータに対して閾値署名を行うことを含み、
これに対応して、前記閾値署名に基づいて前記認証要求に応答することは、
前記組織メンバーを介して前記閾値署名を前記認証要求の発信者にフィードバックすることを含む、
請求項7に記載の方法。
【請求項15】
属するグループの組織メンバーの制御に基づき、属するグループの少なくとも2つのメンバーにおいて、セキュアマルチパーティ計算によって前記認証待ちデータを認証し、前記署名秘密鍵を用いて認証待ちデータに対して閾値署名を行うことは、
ローカルメンバーが前記組織メンバーである場合、セキュアマルチパーティ計算によって前記認証待ちデータを認証し、前記署名秘密鍵を用いて認証待ちデータに対して閾値署名を行うように、属するグループの少なくとも2つのメンバーに通知することと、
グループメンバーがフィードバックした閾値署名を受信し、実際に閾値署名に参加したグループメンバーの数を統計することと、
数が最低閾値に達すると、認証の実行を停止するように他グループメンバーに通知することと、を含む、
請求項14に記載の方法。
【請求項16】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信接続されたメモリと、を備える電子機器であって、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、
前記命令は、前記少なくとも1つのプロセッサが請求項1~6または7~15のいずれか1項に記載のブロックチェーンに基づくグループサービス実現方法を実行可能であるように、前記少なくとも1つのプロセッサにより実行される、
電子機器。
【請求項17】
コンピュータ命令が記憶された非一時的なコンピュータ可読記憶媒体であって、
前記コンピュータ命令は、コンピュータに請求項1~6または7~15のいずれか1項に記載のブロックチェーンに基づくグループサービス実現方法を実行させることに用いられる、
非一時的なコンピュータ可読記憶媒体。
【請求項18】
プロセッサによって実行されると、請求項1~6または7~15のいずれか1項に記載のブロックチェーンに基づくグループサービス実現方法を実現するコンピュータプログラムを含む、
コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータ技術分野に関し、特に、ブロックチェーン技術に関し、クラウドコンピューティングおよびクラウドサービスに使用できる。
【背景技術】
【0002】
ブロックチェーン技術の発展に伴い、ブロックチェーンのネットワーク化程度はますます高くなり、且つ、ますます複雑となる様々なサービスを担持することができる。
【0003】
現在、監査認可が必要なサービスのような多者の協働で実現する必要のあるサービスニーズが多く存在する。このようなサービスは、ブロックチェーンで各ノードがそれぞれ実行する必要があり、実行効率が低く、実行モードは実際のサービスニーズにもマッチングしない。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、ブロックチェーンに基づくグループサービス実現方法、装置、機器および記憶媒体を提供する。
【課題を解決するための手段】
【0005】
本発明の第1態様によれば、
ブロックチェーンノードにより実行される、ブロックチェーンに基づくグループサービス実現方法であって、
サービストランザクション要求を取得することと、
前記サービストランザクション要求に認証待ちデータおよび閾値署名が含まれている場合、前記閾値署名に対応する署名グループを確定することと、
ブロックチェーンから前記署名グループのグループ情報を照会して取得し、前記グループは、少なくとも2つのメンバーを含み、前記グループのメンバーは、セキュアマルチパーティ計算によって認証待ちデータを認証し、署名秘密鍵を用いて前記認証待ちデータのために閾値署名を生成することに用いられ、前記グループ情報には、少なくとも閾値署名の検証公開鍵が含まれていることと、
前記グループ情報における検証公開鍵を用いて前記閾値署名を検証することと、
検証に合格した場合、前記認証待ちデータの有効性を確認し、前記サービストランザクション要求の実行を継続することと、を含む、
ブロックチェーンに基づくグループサービス実現方法を提供する。
【0006】
本発明の第2態様によれば、
グループメンバーにより実行される、ブロックチェーンに基づくグループサービス実現方法であって、
属するグループのために署名秘密鍵および検証公開鍵を生成することと、
前記検証公開鍵をグループ情報としてグループ情報配信トランザクション要求に担持させ、ブロックチェーンに配信して記憶することと、
認証待ちデータを認証するための認証要求を取得することと、
属するグループの少なくとも2つのメンバーにおいて、セキュアマルチパーティ計算によって前記認証待ちデータを認証し、前記署名秘密鍵を用いて認証待ちデータに対して閾値署名を行うことと、
前記閾値署名に基づき、前記認証要求に応答することと、を含み、
前記閾値署名は、ブロックチェーンにおいて発信されたサービストランザクション要求に担持され、ブロックチェーンに記憶された検証公開鍵に基づく前記閾値署名のブロックチェーンノードによる検証に用いられる、
ブロックチェーンに基づくグループサービス実現方法を提供する。
【0007】
本発明の第3態様によれば、
ブロックチェーンノードに配置される、ブロックチェーンに基づくグループサービス実現装置であって、
サービストランザクション要求を取得するための要求取得モジュールと、
前記サービストランザクション要求に認証待ちデータおよび閾値署名が含まれている場合、前記閾値署名に対応する署名グループを確定するための署名グループ確定モジュールと、
ブロックチェーンから前記署名グループのグループ情報を照会して取得するためのグループ情報取得モジュールであって、前記グループは、少なくとも2つのメンバーを含み、前記グループのメンバーは、セキュアマルチパーティ計算によって認証待ちデータを認証し、署名秘密鍵を用いて前記認証待ちデータのために閾値署名を生成することに用いられ、前記グループ情報には、少なくとも閾値署名の検証公開鍵が含まれているグループ情報取得モジュールと、
前記グループ情報における検証公開鍵を用いて前記閾値署名を検証するための閾値署名検証モジュールと、
検証に合格した場合、前記認証待ちデータの有効性を確認し、前記サービストランザクション要求の実行を継続するための要求実行モジュールと、を備える、
ブロックチェーンに基づくグループサービス実現装置を提供する。
【0008】
本発明の第4態様によれば、
グループメンバーの属する機器に配置される、ブロックチェーンに基づくグループサービス実現装置であって、
属するグループのために署名秘密鍵および検証公開鍵を生成するための鍵生成モジュールと、
前記検証公開鍵をグループ情報としてグループ情報配信トランザクション要求に担持させ、ブロックチェーンに配信して記憶するための要求配信モジュールと、
認証待ちデータを認証するための認証要求を取得するための要求取得モジュールと、
属するグループの少なくとも2つのメンバーにおいて、セキュアマルチパーティ計算によって前記認証待ちデータを認証し、前記署名秘密鍵を用いて認証待ちデータに対して閾値署名を行うためのデータ署名モジュールと、
前記閾値署名に基づき、前記認証要求に応答するための認証要求応答モジュールと、を備え、
前記閾値署名は、ブロックチェーンにおいて発信されたサービストランザクション要求に担持され、ブロックチェーンに記憶された検証公開鍵に基づく前記閾値署名のブロックチェーンノードによる検証に用いられる、
ブロックチェーンに基づくグループサービス実現装置を提供する。
【0009】
本発明の第5態様によれば、
少なくとも1つのプロセッサと、
少なくとも1つのプロセッサと通信接続されたメモリと、を備える電子機器であって、
メモリには、少なくとも1つのプロセッサによって実行可能な命令が記憶され、
命令は、少なくとも1つのプロセッサが本発明のいずれかの実施例のブロックチェーンに基づくグループサービス実現方法を実行可能であるように、少なくとも1つのプロセッサにより実行される、
電子機器を提供する。
【0010】
本発明の第6態様によれば、コンピュータ命令が記憶された非一時的なコンピュータ可読記憶媒体を提供する。コンピュータ命令は、コンピュータに、本発明のいずれかの実施例のブロックチェーンに基づくグループサービス実現方法を実行させることに用いられる。
【0011】
本発明の第7態様によれば、プロセッサによって実行されると、本発明のいずれかの実施例のブロックチェーンに基づくグループサービス実現方法を実現するコンピュータプログラムを含む、コンピュータプログラム製品を提供する。
【発明の効果】
【0012】
本発明の技術案によれば、本発明は、多者の協働でサービスニーズを実現する新たな実行モードを提供し、実行効率を向上させる。
【0013】
本発明に記載される内容は、本発明の実施例のキーとなるまたは重要な特徴を標識するためのものではなく、本発明の範囲を限定するものでもない。本発明の他の特徴は、以下の明細書により容易に理解することができる。
【図面の簡単な説明】
【0014】
図面は本形態をより良く理解するためのものであり、本発明を限定するものではない。
【0015】
【
図1】本発明の実施例によるブロックチェーンに基づくグループサービス実現方法のフローチャートである。
【
図2】本発明の実施例による別のブロックチェーンに基づくグループサービス実現方法のフローチャートである。
【
図3】本発明の実施例による別のブロックチェーンに基づくグループサービス実現方法のフローチャートである。
【
図4】本発明の実施例による別のブロックチェーンに基づくグループサービス実現方法のフローチャートである。
【
図5】本発明の実施例による別のブロックチェーンに基づくグループサービス実現方法のフローチャートである。
【
図6A】本発明の実施例によるブロックチェーンに基づくグループサービス実現方法のシグナリング図である。
【
図6B】本発明の実施例によるノードアーキテクチャの模式図である。
【
図7】本発明の実施例によるブロックチェーンに基づくグループサービス実現装置の構造模式図である。
【
図8】本発明の実施例による別のブロックチェーンに基づくグループサービス実現装置の構造模式図である。
【
図9】本発明の実施例のブロックチェーンに基づくグループサービス実現方法を実施するための電子機器のブロック図である。
【発明を実施するための形態】
【0016】
以下、図面を参照しながら本発明の例示的な実施例を詳細に説明する。ここで、理解の便宜上、本発明の実施例に係る様々な細かい内容まで含まれているが、例示的なものに過ぎないと理解すべきである。従って、当業者であれば理解するであろうが、本発明の範囲および主旨から逸脱しない限り、ここで説明する実施例に対して様々な変更や修正を行うことができる。同様に、以下の説明において、公知されている機能および構造の説明は、明確且つ簡潔にするために省略している。
【0017】
図1は、本発明の実施例によるブロックチェーンに基づくグループサービス実現方法のフローチャートである。本実施例は、ブロックチェーンノードが監査認可サービスのような多者の協働で実現する必要のあるサービスを実行する場合に適用される。該実施例は、ブロックチェーンノード(即ち、ローカルノード)により実行できる。具体的には、ブロックチェーンノードが位置する電子機器に配置されたブロックチェーンに基づくグループサービス実現装置により実行され、該装置は、ソフトウェアおよび/またはハードウェアで実現できる。好ましくは、本発明の実施例を実行するブロックチェーンノードは、ブロックチェーンネットワークのブロック生成ノードであってもよいし、ブロックチェーンネットワークの他のノードであってもよい。
図1に示すように、該方法は、以下のステップを含む。
【0018】
S101において、サービストランザクション要求を取得する。
【0019】
ここで、いわゆるサービストランザクション要求とは、ブロックチェーンノードがあるサービスのトランザクション要求を実行することを要求するためのものを意味する。ブロックチェーンネットワークにおけるいずれかのノードにサービス処理ニーズが存在する場合、サービス処理スマートコントラクトに基づいて発信されるものであってもよい。
【0020】
なお、本ステップで取得されるサービストランザクション要求に対応するサービスは、単一者の参加で完了する可能性があり、多者の協働で完了する必要がある可能性もある。単一者の参加で完了できる場合、該サービストランザクション要求には、少なくとも処理待ちトランザクションデータを含む必要があり、多者の参加で完了する必要がある場合、該サービストランザクション要求には、未実行者が使用するように、少なくとも実行済み者の処理データを少なくとも含む必要がある。例えば、本発明の実施例のサービスが、監査認証者(例えば、本発明の実施例における認証サービスを提供するグループ)と処理者(例えば、本発明の実施例のブロックチェーンノード)とが協働して実行する必要がある場合、該サービストランザクション要求には、少なくとも認証待ちデータおよび閾値署名を含む必要がある。ここで、認証待ちデータは、認証サービスを提供するグループが認証する必要のあるデータであってもよく、閾値署名は、グループが認証待ちデータを認証した後の署名結果である。
【0021】
好ましくは、本発明の実施例において、ローカルノードは、サービストランザクション要求を取得する場合、自体が送信したサービストランザクション要求を取得してもよいし、ブロックチェーンネットワークにおける他のノードが送信したサービストランザクション要求を取得してもよい。
【0022】
S102において、サービストランザクション要求に認証待ちデータおよび閾値署名が含まれている場合、閾値署名に対応する署名グループを確定する。
【0023】
ここで、署名グループは、現在取得されたサービストランザクション要求に含まれる認証待ちデータを認証するグループであってもよい。即ち、サービストランザクション要求における閾値署名は、該署名グループが認証待ちデータを認証して生成したものである。
【0024】
好ましくは、本発明の実施例のいわゆるグループ(例えば、署名グループ)とは、ブロックチェーンネットワークと別に、ある機能認証サービスを独立して提供するシステムを構築するものを意味する。その中に少なくとも2つのメンバー(即ち、グループメンバー)が含まれ、前記少なくとも2つのメンバーは、協働して認証待ちデータを認証する必要がある。本発明の実施例は、同じタイプのデータを認証する複数の認証者を1つのグループとして組み合わせることができる。各認証者は、いずれも該グループの1つのメンバーである。該グループには、少なくとも1つのメンバーの位置する機器がブロックチェーンノード機器であってもよいし、いずれも非ブロックチェーンノード機器であってもよいが、少なくとも1つのメンバーの位置する機器は、ブロックチェーンネットワークが提供したインタフェースを介してブロックチェーンネットワークとインタラクションすることができ、またはポイントツーポイントの方式でブロックチェーンネットワークにおけるあるノードとインタラクションすることができる。グループのメンバーは、セキュアマルチパーティ計算によって認証待ちデータを認証し、署名秘密鍵を用いて認証待ちデータのために閾値署名を生成することに用いられる。ここで、セキュアマルチパーティ計算とは、グループ内の複数のメンバー間でセキュリティ手段を用いてインタラクションおよびコンピューティングを行うことを意味し、コンピューティングに参加する各メンバーの入力情報が漏れないことを確保するとともに、正確な演算結果を取得することができる。本発明の実施例におけるグループの複数のメンバーは、セキュアマルチパーティ計算技術に基づいて認証待ちデータを認証し、自分の署名秘密鍵を用いて認証待ちデータに署名することができ、複数のメンバーの署名は、一定のアルゴリズムに従って該認証待ちデータの閾値署名を生成することができる。なお、閾値署名の詳細な計算過程、およびグループの構築過程については、後続の実施例で詳しく説明する。
【0025】
好ましくは、本発明の実施例において、ローカルノードは、サービストランザクション要求を取得した後、該サービストランザクション要求に認証待ちデータおよび閾値署名が含まれているか否かを判断する必要があり、含まない場合、該サービストランザクション要求が、グループとローカルノードとが互いに協働して実行するサービスではないことを意味するため、この場合、該サービストランザクション要求の通常処理方式に従って処理する必要があり、例えば、該サービストランザクション要求が通常のデータをブロックチェーンにアップロードする要求で、その中にブロックチェーンにアップロードするデータが含まれている場合、該ブロックチェーンにアップロード待ちデータに対してブロックチェーンにアップロードする処理を直接行うことができる。該サービストランザクション要求に認証待ちデータおよび閾値署名が含まれている場合、該サービストランザクション要求は、グループとローカルノードとが互いに協働して実行する必要があり、且つ、グループは既に認証待ちデータに対して認証操作を実行して閾値署名を生成したことを意味する。この場合、ローカルノードは、更に該サービストランザクション要求に含まれている閾値署名の真実性を検証する必要がある。
【0026】
具体的には、閾値署名の真実性を検証するために、まず、該閾値署名を生成するグループ、即ち、署名グループを確定する必要がある。本発明の実施例は、閾値署名に対応する署名グループを確定する時、閾値署名に対応する署名グループの署名グループ識別子(例えば、署名グループID)を確定してもよい。好ましくは、本発明の実施例は署名グループ識別子をサービストランザクション要求に加えてもよく、この場合、サービストランザクション要求から該署名グループ識別子を直接取得することができ、署名グループ識別子を閾値署名に加えてもよく(例えば、閾値署名=閾値署名+署名グループ識別子)、この場合、閾値署名から該署名グループ識別子を取得することができる。
【0027】
S103において、ブロックチェーンから署名グループのグループ情報を照会して取得する。
【0028】
ここで、いわゆるグループ情報には、少なくとも閾値署名の検証公開鍵が含まれている。該検証公開鍵は、該グループが生成した閾値署名の真実性の検証に専用できる。1つのグループは、1つの検証公開鍵を有してもよいし、複数の検証公開鍵を有してもよい。本発明の実施例は、閾値署名の検証ルールに従って署名グループの1つまたは複数の検証公開鍵を照会して取得することができる。
【0029】
好ましくは、ローカルノードは、閾値署名に対応する署名グループを確定した後、ブロックチェーンネットワークから検証公開鍵のような該署名グループのグループ情報を照会することができる。例えば、ブロックチェーンネットワークに該署名グループ識別子を含むグループ情報取得要求を送信することにより、他のブロックチェーンノードが該グループ情報取得要求に応答して該署名グループ識別子に対応する署名グループのグループ情報をフィードバックすることを要求することができる。好ましくは、ローカルノードに各グループのグループ情報がローカルに保守されている場合、ローカルノードは、更にローカルから署名グループのグループ情報を照会して取得することもできる。
【0030】
なお、本発明の実施例におけるグループ情報は、検証公開鍵に加え、グループ識別子、グループメンバーの記述情報、グループ認証機能の記述情報等のような他の情報を含んでもよく、本ステップは、グループ情報を取得する時、少なくとも閾値署名の検証公開鍵を取得する必要があり、他の情報を取得してもよいし、取得しなくてもよく、これについて限定しない。
【0031】
S104において、グループ情報における検証公開鍵を用いて閾値署名を検証する。
【0032】
好ましくは、本発明の実施例は、閾値署名および署名グループのグループ情報を取得した後、署名グループのグループ情報から該署名グループの検証公開鍵を取得し、該検証公開鍵に基づいてサービストランザクション要求に含まれている閾値署名を検証することができる。具体的な検証方式が多くあり、本実施例はこれについて限定しない。例えば、検証スマートコントラクトを呼び出して検証公開鍵に基づいて閾値署名を検証してもよいし、検証公開鍵および閾値署名をローカルの署名検証モジュールに入力し、ローカル署名検証モジュールにより検証して検証結果を出力してもよい。ローカルに閾値署名に対応する署名検証アルゴリズムが記憶され、該署名検証アルゴリズムおよび検証公開鍵に基づいて閾値署名を検証してもよい。
【0033】
なお、サービストランザクション要求における閾値署名は、署名グループ識別子が加えられた閾値である場合、署名グループ識別子が署名検証に参加しないため、署名グループ識別子を除去した閾値署名を検証する必要がある。
【0034】
S105において、検証に合格した場合、認証待ちデータの有効性を確認し、サービストランザクション要求の実行を継続する。
【0035】
好ましくは、本発明の実施例において、グループ情報における検証公開鍵を用いる閾値署名に対する検証に合格した場合、サービストランザクション要求に含まれている認証待ちデータが有効であることを意味し、該認証待ちデータに基づいて該サービストランザクション要求の後続のサービス操作を実行でき、検証に合格しない場合、該認証待ちデータが無効であることを意味し、該サービストランザクション要求に対する後続の処理操作を停止する。
【0036】
例示的には、本発明の実施例のサービストランザクション要求が、ユーザAを会社1の法律顧問として認可することであり、且つ、該サービストランザクション要求にユーザAの弁護士資格証明書(即ち、認証待ちデータ)および該弁護士資格証明書の閾値署名が含まれていることである。この場合、本発明の実施例は、まず、ユーザAの弁護士資格証明書を認証する署名グループを確定し、その後、該署名グループの検証公開鍵を取得して該弁護士資格証明書の閾値署名を検証することができ、検証に合格した場合、ユーザAを会社1の法律顧問として認可する操作の実行を継続することができる。
【0037】
本発明の実施例の形態は、認証待ちデータおよび閾値署名を含むサービストランザクション要求を取得した後、まず、該閾値署名の署名グループを確定し、該署名グループの検証公開鍵を取得して閾値署名を検証し、検証に合格した場合、該サービストランザクション要求の後続の操作を続けることができる。本発明の実施例の形態は、ブロックチェーンネットワークと別に、グループを単位としてある機能認証サービスを独立して提供するシステムを構築し、ブロックチェーンノードに閾値署名機能を提供する。且つ、該グループのグループ情報をブロックチェーンにアップロードして記憶する。多者の協働で実現する必要のある監査認可タイプのサービスは、ブロックチェーンノードが該サービストランザクション要求を実行する過程において、ブロックチェーンネットワークから署名グループの検証公開鍵を取得すれば、認証待ちデータの閾値署名に対する検証を実現でき、各データ認証者(即ち、グループ内の各メンバー)とそれぞれインタラクションする必要がなく、サービストランザクション要求の実行効率を向上させ、監査認可タイプのサービスのニーズに良くマッチングする。
【0038】
好ましくは、本発明の実施例は、サービストランザクション要求を実行する際、ブロックチェーンネットワークから署名グループのグループ情報を照会して取得する必要がある。これに対応して、本発明の実施例の形態は、グループ情報をブロックチェーンにアップロードする過程を更に含み、即ち、グループ情報配信トランザクション要求を取得し、グループ情報配信トランザクション要求を実行することにより、グループ情報をブロックチェーンにアップロードして記憶することを含む。
【0039】
具体的には、該グループ情報配信要求は、グループの構築が終了した後、該グループ内の少なくとも1つのメンバーが該グループ情報を含むグループ情報配信トランザクション要求を生成し、ブロックチェーンネットワークに送信することであってもよい。該メンバーがブロックチェーンノードであれば、直接送信することができ、該メンバーがブロックチェーンノードでなければ、ブロックチェーンネットワークが提供したインタフェースを介してブロックチェーンネットワークに該グループ情報配信トランザクション要求を送信することができ、更に、オフラインにおけるポイントツーポイント伝送の方式で、ブロックチェーンネットワークのあるノードに該グループ情報配信トランザクション要求を伝送することもできる。これにより、ローカルノードは、該グループ情報配信トランザクション要求を取得し、配信する必要があるグループ情報を取得し、該グループ情報をブロックチェーンにアップロードして記憶することができる。後続のブロックチェーンネットワークにおける各ノードは、ニーズに応じてブロックチェーンネットワークから該グループのグループ情報を取得する。本発明の実施例は、各グループの情報をブロックチェーンにアップロードして記憶し、グループ情報の安全性および公開性を確保し、また、グループ情報をブロックチェーンにアップロードして記憶し、グループは、オンチェーンであってもオフチェーンであっても、ブロックチェーンネットワークにデータ認証サービスを提供することができ、且つ、ブロックチェーンノードが署名結果を署名検証しやすくなる。
【0040】
好ましくは、実際の応用において、監査認可が必要なデータのタイプは多くあり、例えば、オペレータ資格認証、企業資格認証、およびデータ有効性認証等を含んでもよく、異なるタイプのデータに対し、異なる監査機能を持つグループが認証する必要があり、且つ、同じ監査機能に対して複数のグループを構築する可能性もあるため、本発明の実施例において、構築されるグループの数は多い可能性がある。ユーザが各グループの情報をより良く理解できるようにするため、本発明の実施例は、グループ情報照会表示の機能を提供することができる。即ち、グループ情報表示要求を取得した場合、ブロックチェーンから少なくとも1つのグループ情報を照会して取得し、ユーザに表示させることを更に含む。具体的には、グループ情報表示要求は、グループ情報を見るニーズがあるユーザから発信されてもよいし、ブロックチェーンノードがトランザクション要求を処理する過程においてユーザにグループ情報を表示する必要がある場合に発信されてもよい。ローカルノードは、グループ情報表示要求を取得した後、まず、あるグループを表示するか、ある認証機能を持つグループのグループ情報を表示するか、全てのグループのグループ情報等を表示するかのようなグループ表示ニーズを確定することができる。ローカルノードは、グループ表示ニーズに応じ、ブロックチェーンネットワークから対応する1つまたは複数のグループのグループ情報を照会し、ユーザに表示させ、例えば、ユーザクライアントに伝送して表示してもよい。
【0041】
好ましくは、本発明の実施例におけるグループ情報は、グループ識別子、グループメンバーの記述情報、グループ認証機能の記述情報、および検証公開鍵を含んでもよい。グループ情報内容の全面性を向上させ、後続にデータを認証する際にターゲットグループを正確に確定することを容易にする。これに対応して、本発明の実施例は、ユーザにグループ情報を表示する時、該グループの全ての情報を表示してもよいし、更に実際のニーズに応じてそのうちの一部のグループ情報を表示してもよく、本実施例はこれについて限定しない。
【0042】
図2は、本発明の実施例による別のブロックチェーンに基づくグループサービス実現方法のフローチャートである。本実施例は、上記実施例の基に、サービストランザクション要求の発信過程の具体的な状況の説明を与え、
図2に示すように、該方法は以下のステップを含む。
【0043】
S201において、ブロックチェーンノードに配置されたグループクライアントに基づき、ユーザから発信された、認証待ちデータが含まれた認証要求を取得する。
【0044】
ここで、グループクライアントは、ブロックチェーンノード機器にインストールされた、ユーザがブロックチェーンネットワークとインタラクションを行うためのクライアントであり、ユーザは、該クライアントに基づいて関連するトランザクション要求をブロックチェーンネットワークに発信することができ、例えば、本実施例におけるユーザは、該クライアントに基づいて認証待ちデータが含まれた認証要求をブロックチェーンネットワークに発信することができる。該認証要求は、ブロックチェーンノードがそれに含まれる認証待ちデータを認証することを要求することに用いられる。
【0045】
好ましくは、ローカルノードは、ユーザが自体に配置されたグループクライアントに基づいて発信した認証要求を取得することができ、更に、ブロックチェーンネットワークにおける他のノードが送信した認証要求を取得することもできる。
【0046】
S202において、認証待ちデータの認証ニーズを満たすターゲットグループを確定する。
【0047】
ここで、いわゆるターゲットグループは、認証待ちデータを認証する必要のあるグループであってもよい。該グループは、認証待ちデータを認証する前に、ターゲットグループと呼ばれ、認証待ちデータを認証した後に、署名グループと呼ばれる。
【0048】
好ましくは、本発明の実施例において、異なるグループが備える認証機能は異なり、且つ、同じ認証機能が複数のグループに対応する可能性もあるため、ローカルノードは認証要求を取得した後、認証要求に含まれている認証待ちデータに基づき、ブロックチェーンネットワークにおける配信された複数のグループから該認証待ちデータの認証ニーズを満たすターゲットグループを確定する必要がある。具体的には、確定方式が様々あり、本実施例はこれについて限定しない。
【0049】
方式1、ユーザが認証要求にて指定した、認証ニーズを満たすターゲットグループを取得する。
【0050】
具体的には、ユーザが認証要求を生成する時、その認証ニーズに応じてブロックチェーンネットワークにおける配信された各グループからターゲットグループを指定し、該ターゲットグループのグループ識別子を認証要求に加えることができる。例えば、ユーザは、その認証ニーズを満たすターゲットグループを予め指定し、グループクライアントに基づいてブロックチェーンネットワークに該ターゲットグループ識別子を含むグループ情報表示要求を発信し、ローカルノードは該グループ情報表示要求に応答し、その中からユーザにより指定された該ターゲットグループ識別子を取得することができる。
【0051】
方式2、ブロックチェーンから配信されたグループ情報を照会し、グループ情報の認証機能記述情報に基づいて認証ニーズにマッチングした少なくとも1つのグループをターゲットグループとして確定する。
【0052】
具体的には、ローカルノードは、ターゲットグループを確定する必要がある場合、更に、ブロックチェーンネットワークから配信されたグループのグループ情報を照会した後、配信されたグループのグループ情報に記録された認証機能記述情報(即ち、該グループが実行可能な認証機能)と認証要求における認証待ちデータに対応する認証ニーズとをマッチングし、配信されたグループから少なくとも1つのマッチングに成功したグループをターゲットグループとして選択することもでき、好ましくは、マッチングに成功したグループから最適なグループをターゲットグループとして選択してもよいし、マッチングに成功したグループを全てターゲットグループとしてもよい。
【0053】
方式3、ブロックチェーンから配信されたグループ情報を照会し、グループ情報の認証機能記述情報に基づいて認証ニーズにマッチングした候補グループを確定し、候補グループに今回の認証タスクを担うことができるか否かの照会要求を送信し、今回の認証タスクを担うことができることをフィードバックした候補グループをターゲットグループとする。
【0054】
本発明の実施例は、実際のニーズに応じて上記いずれかの方式を選択して本ステップの認証待ちデータの認証ニーズを満たすターゲットグループを確定する操作を実行することにより、ターゲットグループの確定の柔軟性および正確性を向上させる。
【0055】
S203において、ターゲットグループの少なくとも1つのグループメンバーに認証要求を発信する。
【0056】
好ましくは、認証要求(即ち、認証要求における認証データ)を満たすターゲットグループを確定した後、ターゲットグループに該認証要求を発信してもよい。本発明の実施例のブロックチェーンノードは、オフラインにおけるポイントツーポイントの方式でターゲットグループの少なくとも1つのグループメンバーに認証要求を発信することができる。
【0057】
好ましくは、ローカルノードは、オンラインでターゲットグループの少なくとも1つのグループメンバーに該認証要求(この場合、該認証要求は認証トランザクション要求であってもよい)を発信してもよい。具体的には、ターゲットグループ内の1つのメンバーのみがブロックチェーンノードに属している場合、該メンバーに認証要求を発信し、ターゲットグループ内の複数のメンバーがブロックチェーンノードに属している場合、その中から1つのメンバーを選択して認証要求を発信してもよいし、複数のメンバーにいずれも認証要求を発信してもよい。ターゲットグループ内の各メンバーノードがいずれもブロックチェーンノードでない場合、各メンバーのうち、ブロックチェーンネットワークが提供したインタフェースを介してブロックチェーンネットワークとインタラクションできるメンバーに該認証要求を発信してもよいし、上記ポイントツーポイント伝送の方式で認証要求を発信してもよい。
【0058】
好ましくは、S202で確定されたターゲットグループが複数あれば、本ステップでは、そのうちの1つのターゲットグループに認証要求を発信してもよいし、複数のターゲットグループにいずれも認証要求を発信してもよい。
【0059】
S204において、ターゲットグループからフィードバックされた、認証待ちデータに対する認証に合格した閾値署名を取得する。
【0060】
好ましくは、ターゲットグループ内の少なくとも1つのメンバーが該認証要求を取得した後、該認証要求を該グループ内の各メンバーに送信することができ、各メンバーは、セキュアマルチパーティ計算によって認証待ちデータを認証し、署名秘密鍵を用いて認証待ちデータのために閾値署名を生成する。最終的な認証結果に合格した場合、閾値署名を生成し、グループ内の少なくとも1つのメンバーノードによりブロックチェーンネットワークにフィードバックする。ローカルノードは、ターゲットグループの少なくとも1つのメンバーからフィードバックされた該閾値署名を取得する。好ましくは、該閾値署名をフィードバックしたメンバーは、認証要求を受信したグループメンバーと同じメンバーであってもよいし、異なってもよく、本実施例はこれについて限定しない。
【0061】
好ましくは、本ステップでローカルノードがターゲットグループがフィードバックした閾値署名を取得する時、ターゲットグループのメンバーとオンチェーンで、またはオフラインにおけるポイントツーポイントでインタラクションして取得してもよく、これについて限定しない。
【0062】
好ましくは、S203で複数のターゲットグループにいずれも認証要求を発信した場合、本ステップでは、そのうちのいずれかのターゲットグループからフィードバックされた、認証待ちデータに対する認証に合格した閾値署名を取得すればよい。
【0063】
S205において、認証待ちデータおよび閾値署名に基づいてサービストランザクション要求を発信する。
【0064】
好ましくは、ローカルノードは、サービススマートコントラクトを呼び出し、認証待ちデータおよび閾値署名に基づいてサービストランザクション要求を生成し、生成したサービストランザクション要求をブロックチェーン除去ネットワークに送信してもよい。
【0065】
S206において、サービストランザクション要求を取得する。
【0066】
好ましくは、ローカルノードは、自分が送信したサービストランザクション要求を取得してもよいし、ブロックチェーンの他のノードが転送した該サービストランザクション要求を取得してもよい。該サービストランザクション要求が認証待ちデータおよび閾値署名に基づいて発信されたため、該サービストランザクション要求には、必ず認証待ちデータおよび閾値署名が含まれ、そのため、この場合、ローカルノードは、該サービストランザクション要求に基づいて後続のS207~S210の操作を実行する必要がある。
【0067】
S207において、サービストランザクション要求に認証待ちデータおよび閾値署名が含まれている場合、閾値署名に対応する署名グループを確定する。
【0068】
なお、本実施例で確定された署名グループは、S204で閾値署名をフィードバックしたターゲットグループであってもよい。
【0069】
S208において、ブロックチェーンから署名グループのグループ情報を照会して取得する。
【0070】
S209において、グループ情報における検証公開鍵を用いて閾値署名を検証する。
【0071】
S210において、検証に合格した場合、認証待ちデータの有効性を確認し、サービストランザクション要求の実行を継続する。
【0072】
本発明の実施例の技術案において、ユーザがグループクライアントに基づいて発信した、認証待ちデータが含まれた認証要求を取得し、該認証待ちデータを認証できるターゲットグループを確定し、ターゲットグループ内の少なくとも1つのメンバーに認証要求を発信し、ターゲットグループが認証してフィードバックした閾値署名を受信する。該閾値署名および認証待ちデータに基づいてサービストランザクション要求を発信してブロックチェーンネットワークに送信し、該サービストランザクション要求を取得し、まず、その中に含まれる閾値署名に対応する署名グループを確定し、該署名グループの検証公開鍵を取得して閾値署名を検証し、検証に合格した場合、該サービストランザクション要求の後続の操作を続けることができる。本発明の実施例の形態は、ユーザが発信した認証要求に基づいてブロックチェーンノードがどのようにターゲットグループを確定し、ターゲットグループとインタラクションして認証待ちデータに対する認証署名を行うかの過程を与える。この過程において、ブロックチェーンノードは、グループ内の各メンバーといずれもインタラクションする必要がなく、グループの少なくとも1つのメンバーのみとインタラクションすればよく、認証待ちデータに対する認証効率を向上させ、更に認証待ちデータおよび閾値署名を含むサービストランザクション要求を処理する実行効率を向上させ、且つ、監査認可タイプのサービスのニーズに良くマッチングする。
【0073】
好ましくは、本発明の実施例に係る前記認証待ちデータの認証ニーズを満たすターゲットグループを確定する3種の方式は、いずれもローカルノードがオフラインでターゲットグループを確定する方式であり、即ち、確定過程には、ブロックチェーンの他のノードが参加する必要がなく、且つ確定過程の関連情報をブロックチェーンにアップロードしない。それに加え、本発明の実施例では、オンチェーンの方式で認証待ちデータの認証ニーズを満たすターゲットグループを確定することもできる。具体的には、ローカルノードがブロックチェーンネットワークに、少なくとも認証待ちデータの認証ニーズが含まれているターゲットグループ確定要求を発信することであってもよい。これにより、ブロックチェーンネットワークの他のノードが該ターゲットグループ確定要求に応答し、ブロックチェーンネットワークの配信されたグループから少なくとも1つの該認証ニーズを満たすグループをターゲットグループとして確定してローカルノードにフィードバックし、該ターゲットグループ確定要求および最終的に確定されたターゲットグループをブロックチェーンにアップロードして記憶することを要求する。
【0074】
好ましくは、ある場合、ユーザは認証要求を発信する時、該認証要求における認証待ちデータがグループにより認証署名される必要があることを知らない可能性があるため、認証要求にて認証ニーズを満たすターゲットグループを指定しない。例えば、ユーザAが送信した認証要求は、会社1の法律顧問とすることに対して認可認証を行うものであり、この場合、該認証要求にユーザAの弁護士資格証明書が含まれているが、ユーザAは、ブロックチェーンノードがその弁護士資格証明書を認証署名する必要があることを知らないため、ユーザAも、どのターゲットグループでその弁護士資格証明書を認証署名するかを指定せず、この場合、上記方式2、方式3またはオンチェーンの方式でターゲットグループを確定することが多く、ローカルノードはターゲットグループに認証要求を発信してターゲットグループの認証待ちデータに対する閾値署名を取得した後、また、認証待ちデータおよび閾値署名に基づいてサービストランザクション要求を生成し、この場合、該サービストランザクション要求を実行した後、ユーザが発信した認証要求を処理し終わった。例えば、ローカルノードは、ターゲットグループのユーザAの弁護士資格証明書に対する閾値署名を取得した後、閾値署名、ユーザAの弁護士資格証明書に基づき、ユーザAが会社1の法律顧問とすることに対して認可認証を行うサービストランザクション要求を生成し、ブロックチェーンネットワークに送信することにより、ブロックチェーンノードは該サービストランザクション要求に応答し、その中に含まれている閾値署名に対する認証に合格した後、ユーザAが会社1の法律顧問とすることを認可する。
【0075】
図3は、本発明の実施例による別のブロックチェーンに基づくグループサービス実現方法のフローチャートである。本実施例は、監査認可サービスのようなグループメンバーが多者の協働で実現する必要のあるサービスを実行する場合に適用され、該実施例は、グループメンバー(即ち、ローカルメンバー)により実行でき、具体的には、グループメンバーの位置する機器に配置されたブロックチェーンに基づくグループサービス実現装置により実行され、該装置は、ソフトウェアおよび/またはハードウェアを用いて実現できる。好ましくは、該グループメンバーの位置する機器は、ブロックチェーンネットワークノードであってもよいし、ブロックチェーンネットワークノードでなくてもよい。
図3に示すように、該方法は以下のステップを含む。
【0076】
S301において、属するグループのために署名秘密鍵および検証公開鍵を生成する。
【0077】
ここで、本発明の実施例のいわゆるグループ(例えば、署名グループ)は、ブロックチェーンネットワークと別に、ある機能認証サービスを独立して提供するシステムを構築する。その中に少なくとも2つのメンバー(即ち、グループメンバー)が含まれている。本発明の実施例において、グループの署名秘密鍵は、グループ内の各メンバーの署名秘密鍵で構成され、各メンバーは、自分の署名秘密鍵を用いて認証待ちデータに署名することができ、且つ、各メンバーの署名秘密鍵は、通常、自分で管理される。グループの検証公開鍵は、該グループが生成した閾値署名を認証する時に使用される公開鍵であり、1つのグループは、検証公開鍵が1つであってもよいし、複数であってもよく、グループの検証公開鍵は、通常、ブロックチェーンネットワークに対して公開され、例えば、通常、ブロックチェーンネットワークに記憶されている。
【0078】
本発明の実施例において、属するグループのために署名秘密鍵および検証公開鍵を生成する方式は様々であり、本実施例はこれについて限定しない。例えば、属するグループのために署名秘密鍵を生成する時、グループ内の各メンバーが予め設定された秘密鍵生成アルゴリズムに従って自分の秘密鍵署名を生成してもよいし、グループ内のいずれかのメンバー(例えば、ローカルメンバー)が、各メンバーにより提供された個人データ(例えば、各メンバーにより提供された一部のランダムな文字列または個人の身分ID等)に基づいて予め設定された秘密鍵生成アルゴリズムに従ってグループ内の各メンバーのために署名秘密鍵を生成し、各グループの各メンバーを割り当ててもよい。好ましくは、各メンバーの秘密鍵のプライバシーを確保するために、本実施例は、各メンバーが自分の署名秘密鍵を生成することが好ましい。属するグループのために検証公開鍵を生成する時、グループ内の各メンバーがいずれも予め設定された公開鍵生成アルゴリズムに従って自分の公開鍵を生成した後、いずれもグループのあるメンバー(例えば、ローカルメンバー)に送信し、ローカルメンバーが一定のアルゴリズムに従って各メンバーの公開鍵を処理してから該グループの検証公開鍵を取得してもよいし、ローカルメンバー自体が予め設定されたアルゴリズムに従って1つまたは複数の公開鍵を該グループの認証公開鍵等として生成してもよい。
【0079】
好ましくは、本発明の実施例は、更に他の方式を用いて属するグループのために署名秘密鍵および検証公開鍵を生成することもできる。しかし、本発明の実施例において、どのような方式で属するグループのために署名秘密鍵および検証公開鍵を生成しても、いずれも各メンバーの参加が必要となり、1つのメンバーのみでグループの署名秘密鍵および検証公開鍵の生成操作を実行することができない。
【0080】
S302において、検証公開鍵をグループ情報としてグループ情報配信トランザクション要求に担持させ、ブロックチェーンに配信して記憶する。
【0081】
好ましくは、本発明の実施例において、ローカルメンバーの属するグループのために署名秘密鍵および検証公開鍵を生成した後、属するグループの検証公開鍵を該属するグループのグループ情報とし、グループ情報に基づいてグループ情報配信要求を生成してブロックチェーンネットワークに送信することにより、ブロックチェーンノードは該グループ情報配信トランザクション要求を取得して実行し、グループ情報(即ち、グループの検証公開鍵)をブロックチェーンにアップロードして記憶する。後続にブロックチェーンノードが配信されたグループのグループ情報を照会する必要がある場合、ブロックチェーンネットワークから直接取得することを容易にする。
【0082】
例えば、今回のブロックチェーンにアップロードするグループ情報の配信に対応するグループが、あるサービストランザクション要求の閾値署名に対応する署名グループであれば、ブロックチェーンノードは、該サービストランザクション要求を処理する過程において、ブロックチェーンネットワークから署名グループの検証公開鍵を照会して取得し、サービストランザクション要求における閾値署名を検証することができる。
【0083】
好ましくは、1つのグループメンバーが本ステップの操作を実行する過程におけるいんちきを防止するために、本発明の実施例は、グループ内の複数のブロックチェーンネットワークとインタラクションできるグループメンバーで本ステップの操作を実行してもよい。複数のグループメンバー間は互いに監視して互いに検証することができ、ブロックチェーンにアップロードされて記憶されたグループ情報の正確性を確保する。
【0084】
S303において、認証待ちデータを認証するための認証要求を取得する。
【0085】
好ましくは、本発明の実施例において、ブロックチェーンノードがブロックチェーンノードに配置されたグループクライアントに基づき、ユーザから発信された、認証待ちデータが含まれた認証要求を取得した後、認証待ちデータの認証ニーズを満たすターゲットグループを確定し、該ターゲットグループの少なくとも1つのグループメンバーに、認証待ちデータが含まれた認証要求を発信し、ターゲットグループ内の各グループメンバーが該認証待ちデータを認証することを要求する。ローカルメンバーが該ターゲットグループに属すれば、ローカルメンバーはブロックチェーンノードから発信された該認証要求を取得し、該認証要求に含まれている認証待ちデータを認証する可能性がある。
【0086】
具体的には、ブロックチェーンノードがグループメンバーに認証要求を送信する方式が異なるため、ローカルメンバーが認証要求を取得する方式も異なる。具体的には、以下の2種類の取得方式を含んでもよいが、これらに限定されない。
【0087】
方式1、ブロックチェーンノードがオンチェーンにおいて発信した認証待ちデータを認証するための認証トランザクション要求を取得する。具体的には、ブロックチェーンノードが認証待ちデータに基づいて該認証待ちデータを認証する認証トランザクション要求を生成し、ブロックチェーンネットワーク(即ち、オンチェーン)に基づいてターゲットグループ(即ち、今回の認証タスクを担う必要があるグループ)のグループメンバー(例えば、ローカルメンバー)に認証要求を発信した場合、ローカルメンバーは該方式1により、ブロックチェーンノードがオンチェーンにおいて発信した認証待ちデータを認証する認証トランザクション要求を取得する。例えば、ブロックチェーンノードがブロックチェーンネットワークで該認証要求を放送する場合、ターゲットグループ内のローカルメンバーはブロックチェーンノードとしてブロックチェーンネットワーク(即ち、オンチェーン)で該認証トランザクション要求を取得する。
【0088】
方式2、ブロックチェーンノードがポイントツーポイント伝送した、認証待ちデータを認証するための認証要求を取得する。具体的には、ブロックチェーンノードが認証待ちデータに基づいて該認証待ちデータを認証する認証要求を生成し、オフラインでポイントツーポイントの方式によりターゲットグループ(即ち、今回の認証タスクを担う必要があるグループ)のグループメンバー(例えば、ローカルメンバー)に伝送した場合、このローカルメンバーは該方式2により、ブロックチェーンノードがポイントツーポイント伝送した、認証待ちデータを認証するための認証要求を取得する。
【0089】
本発明の実施例において、ブロックチェーンノードおよびグループメンバーが認証要求を伝送する時、オンチェーンでの伝送を選択してもよいし、オフラインでの伝送を選択してもよく、実際のニーズに応じて選択することができ、柔軟性がより強い。
【0090】
S304において、属するグループの少なくとも2つのメンバーにおいて、セキュアマルチパーティ計算によって認証待ちデータを認証し、署名秘密鍵を用いて認証待ちデータに対して閾値署名を行う。
【0091】
好ましくは、ローカルメンバーは、認証要求を取得した後、該認証要求をグループ内の少なくとも2つのグループメンバーに伝送し、該認証要求を受信した各グループメンバーは、セキュアマルチパーティ計算技術を用いて認証待ちデータを認証し、認証が完了した後に自体の署名秘密鍵を用いて認証待ちデータに対して分散協調署名を行って閾値署名を取得し、今回の閾値署名に参加したグループメンバーの数が最低閾値に達成すると、生成された該閾値署名は有効である。例えば、該グループメンバーが合計10人で、最低閾値が6人であると仮定し、該閾値署名がグループ内の少なくとも6人が認証署名を行うことにより得られたものである場合、該閾値署名は有効となり、即ち、該閾値署名に基づいて後続のS305の操作を実行することができる。
【0092】
好ましくは、各グループメンバーは、認証待ちデータを認証する時、グループ内に予め設定された認証ルールに基づき、認証待ちデータが真実、有効および正当であるか否か等を判断することができる。各グループメンバーは、認証待ちデータに対して閾値署名を行う時、自分の署名秘密鍵および認証結果をプライバシーとして入力し、認証待ちデータをパブリックとして入力し、セキュアマルチパーティ計算技術を用いて1回の連立署名演算を行って閾値署名を取得することができ、この過程において、セキュアマルチパーティ計算のプライバシーは、今回の署名に参加した各グループメンバーが他のグループメンバーの秘密鍵情報および認証結果を取得できないが、他のグループメンバーの署名を取得できることを確保し、得られた閾値署名の安全性および改ざん不可能性を確保する。
【0093】
好ましくは、各グループメンバーは、認証待ちデータに対して分散協調署名を行う時、パラレルで認証署名を行ってもよいし、シリアルで認証署名を行ってもよく、本実施例は具体的な認証方式および閾値署名の生成方式について限定しない。
【0094】
S305において、閾値署名に基づいて認証要求に応答する。
【0095】
好ましくは、ローカルメンバー閾値署名に基づいて認証要求に応答する過程は、S304で得られた閾値署名を認証要求の発信者にフィードバックすることであってもよい。例えば、ローカルメンバーに認証要求を発信したブロックチェーンノードである。認証要求の発信者は、グループメンバーからフィードバックされた閾値署名を受信した後、ブロックチェーンノードがブロックチェーンに記憶された検証公開鍵に基づいて該閾値署名を検証するように、該閾値署名をブロックオンチェーンから発信されたサービストランザクション要求に担持させることができる。例えば、認証要求の発信者が閾値署名および認証待ちデータに基づいてサービストランザクション要求を発信してブロックチェーンネットワークに送信し、ブロックチェーンノードが該サービストランザクション要求を受信して応答し、閾値署名に対応する署名グループを確定し、ブロックチェーンから該署名グループのグループ情報を照会して取得し、該グループ情報における検証公開鍵を用いて該閾値署名を検証してもよく、検証に合格した場合、認証待ちデータの有効性を確認し、サービストランザクション要求の実行を継続する。
【0096】
なお、本発明の実施例において、1つのグループメンバーは閾値署名に基づいて認証要求に応答する操作を実行してもよく、1つのグループメンバーが応答する際のいんちきを防止するために、複数のグループメンバーは閾値署名に基づいて認証要求に応答してもよい。好ましくは、該認証要求を取得したグループメンバーは本ステップの認証要求に応答する操作を実行してもよい。
【0097】
本発明の実施例の技術案において、グループメンバーは、属するグループのために署名秘密鍵および検証公開鍵を生成し、検証公開鍵をグループ情報配信トランザクション要求に担持させてブロックチェーンにアップロードして記憶する。ユーザが認証待ちデータを認証する認証要求を取得すると、属するグループ内の少なくとも2つのメンバーにおいて、セキュアマルチパーティ計算によって認証待ちデータを認証し、署名秘密鍵を用いて認証待ちデータに対して閾値署名を行い、閾値署名に基づいて認証要求に応答する。本発明の実施例の形態において、ブロックチェーンネットワークと別に、グループを単位としてある機能認証サービスを独立して提供するシステムを構築し、ブロックチェーンノードに閾値署名サービスを提供する。且つ、該グループのグループ情報をブロックチェーンにアップロードして記憶し、グループ情報の公開性および安全性を確保するとともに、ブロックチェーンノードが閾値署名に関連するサービストランザクション要求を実行する時、配信されたグループのグループ情報を迅速に検索することを容易にする。これにより、サービストランザクション要求の実行効率を向上させ、監査認可タイプのサービスのニーズに良くマッチングする。
【0098】
好ましくは、本発明の実施例において、グループメンバーはブロックチェーンノードに配置されたクライアント、またはブロックチェーンノードから独立したクライアントである。具体的には、グループメンバーは、ブロックチェーンノードが位置する機器に配置されたクライアントであってもよいし、ブロックチェーンノードが位置する機器から独立して配置されたクライアントであってもよい。つまり、本発明の実施例のグループメンバーは、ブロックチェーンネットワークのノードであってもよいし、ブロックチェーンネットワークから独立したノードであってもよい。ブロックチェーンネットワークから独立したクライアントは、ブロックチェーンネットワークが提供したインタフェースを介してブロックチェーンネットワークとインタラクションすることができるものがあり、できないものもあり、本実施例はこれについて限定しない。グループメンバークライアント配置の柔軟性を向上させる。
【0099】
好ましくは、本発明の実施例において、前記グループメンバーは1つまたは複数のグループに属し、各グループの認証機能は同じまたは異なる。ここで、前記認証機能は、オペレータ資格認証(例えば、弁護士資格認証、教師資格認証、および会計士資格認証等)、企業資格認証(例えば、企業営業許可証認証および税務登録認証等)およびデータ有効性認証(例えば、認可データ有効性認証および審査資格有効性認証等)の少なくとも1種を含む。例えば、グループメンバーAは、自体の資格に応じて複数のグループ(即ち、グループ1、グループ2およびグループ3)に参加することができ、ここで、グループ1およびグループ2は、オペレータ資格を認証するためのものであり、グループ3は、企業資格を認証するためのものであり、柔軟性がより強い。
【0100】
図4は、本発明の実施例による別のブロックチェーンに基づくグループサービス実現方法のフローチャートである。本実施例は、上記実施例の基に、グループメンバーがグループを構築してグループ情報を生成する具体的な状況の説明を与え、
図4に示すように、該方法は以下のステップを含む。
【0101】
S401、グループクライアントにおけるグループ初期化インタフェースに基づき、グループメンバーおよびグループメンバーの記述情報を確定し、グループ認証機能の記述情報を確定し、グループのためにグループ識別子を生成する。
【0102】
ここで、本発明の実施例のグループクライアントは、ブロックチェーンノードに配置されたグループクライアントであってもよいし、ブロックチェーンノードから独立して配置されたクライアントであってもよく、該グループクライアントは、グループユーザにグループ管理(例えば、グループ作成)を提供するまたは認証署名操作を実行する操作インタフェースであってもよい。該クライアントに初期化インタフェースが設けられ、該初期化インタフェースは、グループクライアントで提供されるグループを初期化して構築するサービスインタフェースであってもよく、各メンバーはいずれもそのクライアントにおける初期化インタフェースに基づいてある認証機能を実現するための1つの新たなグループを作成することができる。
【0103】
好ましくは、本発明の実施例において、少なくとも2つのメンバーがオフラインで1つのグループを確立しようと協議する場合、新たに確立されたグループの認証機能が何であるか、どのメンバーが新たに確立されたグループに参加できるかを協議し、その後、1つのメンバー(例えば、ローカルメンバー)を組織メンバーとして選択し、協議の内容に基づき、自体のグループクライアントのグループ初期化インタフェースを介して、該グループに加えられた各グループメンバーおよびその記述情報(例えば、グループメンバーの名称、位置するノード、属するグループ、属するグループの番号等)、該グループの認証機能記述情報(例えば、オペレータ資格認証、企業資格認証、およびデータ有効性認証等のうちの少なくとも1種)を入力し、この場合、グループクライアントは、グループ初期化インタフェースに入力された情報に基づき、新たなグループを構成する各グループメンバーおよびグループメンバーの記述情報と、グループ認証機能の記述情報とを確定することができる。
【0104】
好ましくは、本発明の実施例において、グループのためにグループ識別子を生成する場合、ローカルメンバーがオフラインで確定してからグループ初期化インタフェースに入力してもよいし、グループクライアントがユーザから入力されたデータまたはランダムデータ等に基づいて新たに確立されたグループのために生成してもよい。例えば、予め設定されたアルゴリズムを用いてグループのために1つの大きな数字を該グループのグループ識別子として生成することができ、本発明の実施例は、大きな数値をグループ識別子として選択し、異なるグループの識別子の重複確率を低減し、各グループ識別子の一意性を間接的に確保することができる。好ましくは、本発明の実施例は、1つの専門な機構で各グループに異なるグループ識別子を割り当てることもできる。これについて限定しない。
【0105】
S402において、属するグループのために署名秘密鍵および検証公開鍵を生成する。
【0106】
S403において、グループメンバーが生成した検証公開鍵を取得する。
【0107】
S404において、グループ識別子、グループメンバーの記述情報、グループ認証機能の記述情報、および検証公開鍵をグループ情報としてグループ情報配信トランザクション要求に担持させ、ブロックチェーンに配信して記憶する。
【0108】
好ましくは、本発明の実施例において、グループメンバー、グループメンバーの記述情報、グループ認証機能の記述情報、グループ識別子、グループ署名秘密鍵、および検証公開鍵を確定した後、該グループの確立過程が終了し、この場合、ブロックチェーンネットワークにおける各ノードに該グループを知らせるために、該グループにおけるメンバーノード(例えば、ローカルメンバー)は、グループメンバーが生成した検証公開鍵を取得し、グループ識別子、グループメンバーの記述情報、グループ認証機能の記述情報と共に該グループのグループ情報として該グループ情報を含むグループ情報配信トランザクション要求を生成し、該グループ情報配信トランザクション要求をブロックチェーンネットワークに配信する必要があり、これにより、ブロックチェーンノードはグループ情報配信トランザクション要求を取得し、グループ情報配信トランザクション要求を実行し、前記グループ情報をブロックチェーンにアップロードして記憶する。
【0109】
好ましくは、本発明の実施例におけるブロックチェーンにアップロードされて記憶されたグループ情報は、グループ識別子、グループメンバーの記述情報、グループ認証機能の記述情報、および前記検証公開鍵を含む。このような設定のメリットは、ブロックチェーンにアップロードされて記憶されたグループ情報がより全面的で、ブロックチェーンノードが各グループの関連情報を全面的に知ることができることである。
【0110】
S405において、認証待ちデータを認証するための認証要求を取得する。
【0111】
S406において、属するグループの少なくとも2つのメンバーにおいて、セキュアマルチパーティ計算によって認証待ちデータを認証し、署名秘密鍵を用いて認証待ちデータに対して閾値署名を行う。
【0112】
S407において、閾値署名に基づいて前記認証要求に応答する。
【0113】
ここで、前記閾値署名は、ブロックチェーンにおいて発信されたサービストランザクション要求に担持され、ブロックチェーンに記憶された検証公開鍵に基づく前記閾値署名のブロックチェーンノードによる検証に用いられる。
【0114】
本発明の実施例の技術案において、グループメンバーがグループを確立しようとする時、そのグループクライアントにおけるグループ初期化インタフェースに基づき、該グループメンバー、グループメンバーの記述情報、グループクライアントおよびグループ識別子を確定し、属するグループのために署名秘密鍵および検証公開鍵を生成する。その後、グループ識別子、グループメンバーの記述情報、グループ認証機能の記述情報および検証公開鍵を共にグループ情報としてブロックチェーンにアップロードして記憶し、ユーザが認証待ちデータを認証する認証要求を取得すると、属するグループ内の少なくとも2つのメンバーにおいて、セキュアマルチパーティ計算によって認証待ちデータを認証し、署名秘密鍵を用いて認証待ちデータに対して閾値署名を行い、閾値署名に基づいて認証要求に応答する。本発明の実施例の形態は、グループが構築された後、該グループ情報(即ち、グループ識別子、グループメンバーの記述情報、グループ認証機能の記述情報、および検証公開鍵)をブロックチェーンにアップロードして記憶する必要がある。本実施例は、ブロックチェーンに各配信されたグループの詳細な記述情報を記憶し、グループ情報の公開性および安全性を確保するとともに、ブロックチェーンノードが閾値署名に関連するサービストランザクション要求を実行する時、配信されたグループのグループ情報を迅速に検索することを容易にする。これにより、サービストランザクション要求の実行効率を向上させ、監査認可タイプのサービスのニーズに良くマッチングする。
【0115】
図5は、本発明の実施例による別のブロックチェーンに基づくグループサービス実現方法のフローチャートである。本実施例は、上記実施例の基に、属するグループの少なくとも2つのメンバーにおいて、セキュアマルチパーティ計算によって認証待ちデータを認証し、署名秘密鍵を用いて認証待ちデータに対して閾値署名を行うことの具体的な状況の説明を与え、
図5に示すように、該方法は以下のステップを含む。
【0116】
S501において、属するグループのために署名秘密鍵および検証公開鍵を生成する。
【0117】
S502において、検証公開鍵をグループ情報としてグループ情報配信トランザクション要求に担持させ、ブロックチェーンに配信して記憶する。
【0118】
S503において、認証待ちデータを認証するための認証要求を取得する。
【0119】
S504において、属するグループの組織メンバーの制御に基づき、属するグループの少なくとも2つのメンバーにおいて、セキュアマルチパーティ計算によって認証待ちデータを認証し、署名秘密鍵を用いて認証待ちデータに対して閾値署名を行う。
【0120】
ここで、グループの組織メンバーは、グループを組織して構築するグループメンバーであってもよいし、今回の認証署名過程を組織するグループメンバーであってもよく、例えば、グループにおける今回の認証要求を取得したメンバー(即ち、ローカルメンバー)を今回の認証署名過程の組織メンバーとすることができる。1つのグループは、その組織メンバーは固定されていてもよいし、固定されていなくてもよく、これについて限定しない。
【0121】
好ましくは、本発明の実施例において、グループの各メンバーは、属するグループの組織メンバーによる組織制御に従い、セキュアマルチパーティ計算によって認証待ちデータを認証し、署名秘密鍵を用いて認証待ちデータに対して閾値署名を行う。例えば、組織メンバーが閾値署名の最低閾値に基づき、グループ内の全てのメンバーから少なくとも2つのメンバーを選択してセキュアマルチパーティ計算によって認証待ちデータを認証し、署名秘密鍵を用いて認証待ちデータに対して閾値署名を行ってもよい。例えば、閾値署名の最低閾値が6である場合、グループにおける10個のグループメンバーから少なくとも6つのメンバーを選択してセキュアマルチパーティ計算によって認証待ちデータを認証し、署名秘密鍵を用いて認証待ちデータに対して閾値署名を行ってもよい。どのメンバーが今回の認証署名過程に参加するかを選択する時、ランダムに選択してもよいし、各メンバーの希望に基づいて選択してもよいし、他の原則に基づいて選択してもよく、これについて限定しない。少なくとも2つのメンバーの具体的な認証署名過程については、上記実施例で既に説明され、ここで説明を省略する。
【0122】
S505において、組織メンバーを介して閾値署名を認証要求の発信者にフィードバックする。
【0123】
ここで、閾値署名は、ブロックチェーンにおいて発信されたサービストランザクション要求に担持され、ブロックチェーンに記憶された検証公開鍵に基づく前記閾値署名のブロックチェーンノードによる検証に用いられる。
【0124】
好ましくは、本発明の実施例において、組織メンバーが認証要求に応答し、認証要求発信者に閾値署名のグループメンバーをフィードバックすることができる。即ち、グループの組織メンバーが認証待ちデータに対する認証署名を制御し、該組織メンバーが認証要求の発信者に閾値署名をフィードバックする。
【0125】
本発明の実施例の技術案において、グループメンバーは属するグループのために署名秘密鍵および検証公開鍵を生成し、検証公開鍵をグループ情報配信トランザクション要求に担持させてブロックチェーンにアップロードして記憶する。ユーザが認証待ちデータを認証する認証要求を取得すると、属するグループの組織メンバーは、属するグループ内の少なくとも2つのメンバーを制御してセキュアマルチパーティ計算によって認証待ちデータを認証し、署名秘密鍵を用いて認証待ちデータに対して閾値署名を行い、組織メンバーが認証要求発信者に閾値署名をフィードバックする。本発明の実施例の形態では、グループの組織メンバーが認証待ちデータに対する認証署名を制御し、該組織メンバーが認証要求の発信者に閾値署名をフィードバックすることにより、グループに対して認証要求の管理を実行することを容易にする。
【0126】
好ましくは、本発明の実施例において、属するグループの組織メンバーの制御に基づき、属するグループの少なくとも2つのメンバーにおいて、セキュアマルチパーティ計算によって前記認証待ちデータを認証し、前記署名秘密鍵を用いて認証待ちデータに対して閾値署名を行う場合、ローカルメンバーが組織メンバーであれば、セキュアマルチパーティ計算によって認証待ちデータを認証し、署名秘密鍵を用いて認証待ちデータに対して閾値署名を行うように、属するグループの少なくとも2つのメンバーに通知し、グループメンバーがフィードバックした閾値署名を受信し、実際に閾値署名に参加したグループメンバーの数を統計し、数が最低閾値に達すると、認証の実行を停止するように他グループメンバーに通知することであってもよい。具体的には、ローカルメンバーが組織メンバーであれば、ローカルメンバーは、グループから少なくとも2つのメンバーを選択して今回の認証署名操作を実行した後、セキュアマルチパーティ計算によって認証待ちデータを認証し、署名秘密鍵を用いて認証待ちデータに対して閾値署名を行うように、少なくとも2つのメンバーに通知する(例えば、全てのグループメンバーに通知する)ことができ、ローカルノードは通知した少なくとも2つのメンバーからフィードバックされた閾値署名を取得し、その後、今回の実際に閾値署名に参加したグループメンバーの数(例えば、6つ)を統計し、該数が最低閾値(例えば、最低閾値が6である)に達すると、現在取得された閾値署名が既に有効となり、残りのメンバー(例えば、残りの4つのメンバー)が認証し続ける必要がなく、従って、認証操作の実行を停止するように残りのメンバーに通知する必要がある。このような設定のメリットは、グループが認証要求を実行する計算力を節約する。
【0127】
図6Aは、本発明の実施例によるブロックチェーンに基づくグループサービス実現方法のシグナリング図である。
図6Bは、本発明の実施例によるノードアーキテクチャの模式図である。本実施例は、上記各実施例の基に、ブロックチェーンノードおよびグループにおけるメンバーノードが
図6Bに示すノードアーキテクチャに従って配置されている場合、どのようにインタラクションして本実施例のブロックチェーンに基づくグループサービス実現方法を実現するかの具体的な状況の説明を与える。
【0128】
続いて、まず、
図6Bに示すノードアーキテクチャの模式図について簡単に説明する。1つのノード6の場合、最上層はクライアント(Client)層61であり、中間層はサービス側(server)層62であり、最下層はポイントツーポイントネットワーク接続(P2P Net Work)層63である。
【0129】
ここで、クライアント層61に含まれるインタフェースは、要求署名受信インタフェース(Request Tss Sign)611、署名取得インタフェース(Get Tss Sign)612、署名検証インタフェース(Verify Tss Sign)613、署名インタフェース(Sign)614、およびアカウント管理インタフェース(Account)615を含み、これらのインタフェースは、呼び出されてサービス側とインタラクションして対応する機能を実行することができる。サービス側層62は、アイデンティティ・アンド・アクセス管理インタフェース(IAM)621、グループモジュール(Group)622、グループメンバーモジュール(GroupMember)623、要求署名生成プロセス(Tss Sign Request)624、署名プロセス(Tss Sign)625、およびトランザクション処理プロセスプール(TssCoreおよびTaskPool)626を含む。
【0130】
好ましくは、本発明の実施例のグループメンバーおよびブロックチェーンノードは、いずれも
図6Bに示すノードアーキテクチャに従って配置される。
図6A~
図6Bに示すように、該方法は以下のステップを含む。
【0131】
S601において、グループメンバーは、グループクライアントにおけるグループ初期化インタフェースに基づき、グループメンバーおよびグループメンバーの記述情報を確定し、グループ認証機能の記述情報を確定し、グループのためにグループ識別子を生成する。
【0132】
例示的には、グループメンバーは、
図6Bに示すグループクライアント層61におけるアカウント管理インタフェース(即ち、初期化インタフェース)611に基づき、サービス側のグループモジュール622を呼び出してグループメンバー、グループ認証機能の記述情報を確定し、グループのためにグループ識別子を生成し、グループメンバーモジュール623を呼び出してグループメンバーの記述情報を確定して記録する。具体的には、ユーザ1およびユーザ2がオフラインで1つのオペレータ資格認証のグループを構築すると協議する場合、ユーザ1は組織メンバーとして、そのグループクライアント層61のアカウント管理インタフェース615にグループメンバー(ユーザ1およびユーザ2)、該グループの認証機能(オペレータ資格認証)、および該グループ名称(第1資格認証グループ)等を入力することができ、その後、確定をクリックすれば、該アカウント管理インタフェース615は、サービス側62のグループモジュール622およびグループメンバーモジュール623を呼び出してグループメンバーおよびグループメンバーの記述情報を確定し、グループ認証機能の記述情報を確定し、グループのためにグループ識別子を生成することができる。
【0133】
S602において、グループメンバーの属するグループのために署名秘密鍵および検証公開鍵を生成する。
【0134】
例示的には、グループメンバーのサービス側層62におけるグループモジュール622は、属するグループのために署名秘密鍵および検証公開鍵を生成することができる。
【0135】
S603において、グループメンバーはグループメンバーが生成した検証公開鍵を取得する。
【0136】
S604において、グループメンバーは、グループ識別子、グループメンバーの記述情報、グループ認証機能の記述情報、および検証公開鍵をグループ情報としてグループ情報配信トランザクション要求に担持させ、ブロックチェーンネットワークに配信する。
【0137】
例示的には、グループメンバーのトランザクション処理プロセス626は、グループ識別子、グループメンバーの記述情報、グループ認証機能の記述情報、および検証公開鍵をグループ情報として、該グループ情報を含むグループ情報配信トランザクション要求を生成した後、該グループ情報をブロックチェーンネットワークに配信することができる。
【0138】
S605において、ブロックチェーンノードは、グループ情報配信トランザクション要求を取得し、グループ情報配信トランザクション要求を実行することにより、グループ情報をブロックチェーンにアップロードして記憶する。
【0139】
例示的には、ブロックチェーンノードはグループ情報配信トランザクション要求を取得した後、サービス側層62におけるトランザクション処理プロセスプール626で該グループ情報配信トランザクション要求を実行することにより、グループ情報をブロックチェーンにアップロードして記憶することができる。
【0140】
S606において、ブロックチェーンノードは、ブロックチェーンノードに配置されたグループクライアントに基づき、ユーザから発信された、認証待ちデータが含まれた認証要求を取得する。
【0141】
例示的には、ブロックチェーンノードは、クライアント層61における署名取得インタフェース612に基づいてユーザが該署名取得インタフェース612に入力した署名待ちデータを取得し、認証待ちデータが含まれた認証要求を生成することができる。
【0142】
S607において、ブロックチェーンノードは、認証待ちデータの認証ニーズを満たすターゲットグループを確定する。
【0143】
例示的には、ブロックチェーンノードの署名取得インタフェース612は、サービス側層62のトランザクション処理プロセスプール626を呼び出し、認証待ちデータの認証ニーズを満たすターゲットグループを確定する。
【0144】
S608において、ブロックチェーンノードは、ターゲットグループの少なくとも1つのグループメンバーに認証要求を発信する。
【0145】
例示的には、ブロックチェーンノードのトランザクション処理プロセスプール626は、ターゲットグループを確定した後、要求署名生成プロセス624を呼び出して認証要求を発信し、ポイントツーポイントネットワーク接続層63を介して該認証要求をターゲットグループの少なくとも1つのグループメンバーに伝送する。
【0146】
S609において、グループメンバーは、認証待ちデータを認証するための認証要求を取得する。
【0147】
S610において、グループメンバーの属するグループの少なくとも2つのメンバーにおいて、セキュアマルチパーティ計算によって認証待ちデータを認証し、署名秘密鍵を用いて認証待ちデータに対して閾値署名を行う。
【0148】
例示的には、グループメンバーのクライアント層61の署名インタフェース614は、ローカルメンバーから入力された認証結果および署名秘密鍵を受信し、その後、サービス側層62における署名プロセス625を呼び出してセキュアマルチパーティ計算によって認証待ちデータを認証し、署名秘密鍵を用いて認証待ちデータに対して閾値署名を行う操作を行う。
【0149】
S611において、グループメンバーは、閾値署名を、認証要求を発信したブロックチェーンノードにフィードバックする。
【0150】
例示的には、グループメンバーの署名取得インタフェース612は、該要求署名生成プロセス624にアクセスし、要求署名生成プロセス624が生成した閾値署名を取得し、また、ポイントツーポイントネットワーク接続層63を呼び出して生成した閾値署名を認証要求のブロックチェーンノードに伝送する。
【0151】
S612において、ブロックチェーンノードは、ターゲットグループからフィードバックされた、認証待ちデータに対する認証に合格した閾値署名を取得する。
【0152】
S613において、ブロックチェーンノードは、認証待ちデータおよび閾値署名に基づいてサービストランザクション要求を発信する。
【0153】
例示的には、ブロックチェーンノードは、ポイントツーポイントネットワーク接続層63によりターゲットグループがフィードバックした閾値署名を取得した後、トランザクション処理プロセスプール626に基づいて認証待ちデータおよび閾値署名に応じてサービストランザクション要求を発信する。
【0154】
S614において、ブロックチェーンノードは、サービストランザクション要求を取得する。
【0155】
S615において、サービストランザクション要求に認証待ちデータおよび閾値署名が含まれている場合、ブロックチェーンノードは、閾値署名に対応する署名グループを確定する。
【0156】
S616において、ブロックチェーンノードは、ブロックチェーンから署名グループのグループ情報を照会して取得する。
【0157】
例示的には、ブロックチェーンノードが取得したサービストランザクション要求に認証待ちデータおよび閾値署名が含まれている場合、サービス側のトランザクション処理プロセスプール626により該閾値署名に対応する署名グループを確定し、ブロックチェーンから署名グループのグループ情報を照会して取得する。
【0158】
S617において、ブロックチェーンノードは、グループ情報における検証公開鍵を用いて閾値署名を検証する。
【0159】
S618において、検証に合格した場合、ブロックチェーンノードは、認証待ちデータの有効性を確認し、サービストランザクション要求の実行を継続する。
【0160】
例示的には、ブロックチェーンノードは、検証公開鍵および閾値署名を署名検証インタフェース613に入力し、署名検証インタフェース613は閾値署名を検証し、検証に合格した場合、認証待ちデータの有効性を確認し、更に、トランザクション処理プロセスプール626を呼び出してサービストランザクション要求の実行を継続する。
【0161】
本発明の実施例の形態は、少なくとも2つのメンバーからなるグループが構築され、該グループとブロックチェーンノードとの協働に基づいてブロックチェーンに基づくグループサービスを実現する好ましい形態を与える。グループサービスを処理する過程において、ブロックチェーンノードは、グループ内の各メンバーとインタラクションする必要がなく、サービストランザクション要求の実行効率を向上させ、監査認可タイプのサービスのニーズに良くマッチングする。
【0162】
図7は、本発明の実施例によるブロックチェーンに基づくグループサービス実現装置の構造模式図である。本実施例は、ブロックチェーンノードが、監査認可サービスのような多者の協働で実現する必要のあるサービスを実行する場合に適用される。該装置は、ブロックチェーンノードに配置され、具体的に、ブロックチェーンノードが位置する電子機器に配置され、該装置は、本発明の実施例に係るブロックチェーンに基づくグループサービス実現方法を実現することができる。該装置700は、具体的に、
サービストランザクション要求を取得するための要求取得モジュール701と、
前記サービストランザクション要求に認証待ちデータおよび閾値署名が含まれている場合、前記閾値署名に対応する署名グループを確定するための署名グループ確定モジュール702と、
ブロックチェーンから前記署名グループのグループ情報を照会して取得するためのグループ情報取得モジュール703であって、前記グループは、少なくとも2つのメンバーを含み、前記グループのメンバーは、セキュアマルチパーティ計算によって認証待ちデータを認証し、署名秘密鍵を用いて前記認証待ちデータのために閾値署名を生成することに用いられ、前記グループ情報には、少なくとも閾値署名の検証公開鍵が含まれているグループ情報取得モジュール703と、
前記グループ情報における検証公開鍵を用いて前記閾値署名を検証するための閾値署名検証モジュール704と、
検証に合格した場合、前記認証待ちデータの有効性を確認し、前記サービストランザクション要求の実行を継続するための要求実行モジュール705と、
を備える。
【0163】
本発明の実施例の形態では、認証待ちデータおよび閾値署名を含むサービストランザクション要求を取得した後、まず、該閾値署名の署名グループを確定し、該署名グループの検証公開鍵を取得して閾値署名を検証し、検証に合格した場合、該サービストランザクション要求の後続の操作を続けることができる。本発明の実施例の形態では、ブロックチェーンネットワークと別に、グループを単位としてある機能認証サービスを独立して提供するシステムを構築し、ブロックチェーンノードに閾値署名機能を提供する。且つ、該グループのグループ情報をブロックチェーンにアップロードして記憶する。多者の協働で実現する必要のある監査認可タイプのサービスは、ブロックチェーンノードが該サービストランザクション要求を実行する過程において、ブロックチェーンネットワークから署名グループの検証公開鍵を取得すれば、認証待ちデータの閾値署名に対する検証を実現でき、各データ認証者(即ち、グループ内の各メンバー)とそれぞれインタラクションする必要がなく、サービストランザクション要求の実行効率を向上させ、監査認可タイプのサービスのニーズに良くマッチングする。
【0164】
更に、前記要求取得モジュール701は、
グループ情報配信トランザクション要求を取得し、前記グループ情報配信トランザクション要求を実行することにより、前記グループ情報をブロックチェーンにアップロードして記憶することに用いられる。
【0165】
更に、前記グループ情報は、グループ識別子、グループメンバーの記述情報、グループ認証機能の記述情報、および前記検証公開鍵を含む。
【0166】
更に、前記装置は、
グループ情報表示要求を取得した場合、ブロックチェーンから少なくとも1つのグループ情報を照会して取得し、ユーザに表示させるための情報照会表示モジュールを更に備える。
【0167】
更に、前記要求取得モジュール701は、ブロックチェーンノードに配置されたグループクライアントに基づき、ユーザから発信された、認証待ちデータが含まれた認証要求を取得することに用いられる。
【0168】
前記装置は、
前記認証待ちデータの認証ニーズを満たすターゲットグループを確定するためのターゲットグループ確定モジュールと、
前記ターゲットグループの少なくとも1つのグループメンバーに前記認証要求を発信するための要求送信モジュールと、
前記ターゲットグループからフィードバックされた、前記認証待ちデータに対する認証に合格した閾値署名を取得するための閾値署名取得モジュールと、
前記認証待ちデータおよび閾値署名に基づいてサービストランザクション要求を発信するための要求発信モジュールと、
を更に備える。
【0169】
更に、前記ターゲットグループ確定モジュールは、具体的に、
ユーザが前記認証要求にて指定した、認証ニーズを満たすターゲットグループを取得すること、または
ブロックチェーンから配信されたグループ情報を照会し、前記グループ情報の認証機能記述情報に基づいて前記認証ニーズにマッチングする少なくとも1つのグループをターゲットグループとして確定すること、
に用いられる。
【0170】
図8は、本発明の実施例による別のブロックチェーンに基づくグループサービス実現装置の構造模式図である。本実施例は、監査認可サービスのようなグループメンバーが多者の協働で実現する必要のあるサービスを実行する場合に適用され、該装置は、グループメンバーの位置する機器に配置でき、該装置は、本発明の実施例に係るブロックチェーンに基づくグループサービス実現方法を実現することができる。該装置800は、具体的に、
属するグループのために署名秘密鍵および検証公開鍵を生成するための鍵生成モジュール801と、
前記検証公開鍵をグループ情報としてグループ情報配信トランザクション要求に担持させ、ブロックチェーンに配信して記憶するための要求配信モジュール802と、
認証待ちデータを認証するための認証要求を取得するための要求取得モジュール803と、
属するグループの少なくとも2つのメンバーにおいて、セキュアマルチパーティ計算によって前記認証待ちデータを認証し、前記署名秘密鍵を用いて認証待ちデータに対して閾値署名を行うためのデータ署名モジュール804と、
前記閾値署名に基づき、前記認証要求に応答するための認証要求応答モジュール805と、を備え、
前記閾値署名は、ブロックチェーンにおいて発信されたサービストランザクション要求に担持され、ブロックチェーンに記憶された検証公開鍵に基づく前記閾値署名のブロックチェーンノードによる検証に用いられる。
【0171】
本発明の実施例の技術案において、グループメンバーは、属するグループのために署名秘密鍵および検証公開鍵を生成し、検証公開鍵をグループ情報配信トランザクション要求に担持させてブロックチェーンにアップロードして記憶する。ユーザが認証待ちデータを認証する認証要求を取得すると、属するグループ内の少なくとも2つのメンバーにおいて、セキュアマルチパーティ計算によって認証待ちデータを認証し、署名秘密鍵を用いて認証待ちデータに対して閾値署名を行い、閾値署名に基づいて認証要求に応答する。本発明の実施例の形態において、ブロックチェーンネットワークと別に、グループを単位としてある機能認証サービスを独立して提供するシステムを構築し、ブロックチェーンノードに閾値署名サービスを提供する。且つ、該グループのグループ情報をブロックチェーンにアップロードして記憶し、グループ情報の公開性および安全性を確保するとともに、ブロックチェーンノードが閾値署名に関連するサービストランザクション要求を実行する時、配信されたグループのグループ情報を迅速に検索することを容易にする。これにより、サービストランザクション要求の実行効率を向上させ、監査認可タイプのサービスのニーズに良くマッチングする。
【0172】
更に、前記グループ情報は、グループ識別子、グループメンバーの記述情報、グループ認証機能の記述情報、および前記検証公開鍵を含む。
【0173】
更に、前記装置は、
グループクライアントにおけるグループ初期化インタフェースに基づき、グループメンバーおよびグループメンバーの記述情報を確定し、グループ認証機能の記述情報を確定し、前記グループのためにグループ識別子を生成するためのグループ情報確定モジュールと、
グループメンバーが生成した検証公開鍵を取得するための公開鍵取得モジュールと、
を更に備える。
【0174】
更に、前記グループメンバーは、ブロックチェーンノードに配置されたクライアント、またはブロックチェーンノードから独立したクライアントである。
【0175】
更に、前記グループメンバーは1つまたは複数のグループに属し、各グループの認証機能は同じまたは異なる。
【0176】
更に、前記認証機能は、オペレータ資格認証、企業資格認証、およびデータ有効性認証の少なくとも1種を含む。
【0177】
更に、前記要求取得モジュール803は、具体的に、
ブロックチェーンノードがオンチェーンにおいて発信した認証待ちデータを認証するための認証トランザクション要求を取得すること、または
ブロックチェーンノードがポイントツーポイント伝送した、認証待ちデータを認証するための認証要求を取得すること、
に用いられる。
【0178】
更に、前記データ署名モジュール804は、具体的に、
属するグループの組織メンバーの制御に基づき、属するグループの少なくとも2つのメンバーにおいて、セキュアマルチパーティ計算によって前記認証待ちデータを認証し、前記署名秘密鍵を用いて認証待ちデータに対して閾値署名を行うことに用いられ、
これに対応して、前記認証要求応答モジュール805は、具体的に、
前記組織メンバーを介して前記閾値署名を前記認証要求の発信者にフィードバックすることに用いられる。
【0179】
更に、前記データ署名モジュール804は、具体的に、
ローカルメンバーが前記組織メンバーである場合、属するグループの少なくとも2つのメンバーにおいて、セキュアマルチパーティ計算によって前記認証待ちデータを認証し、前記署名秘密鍵を用いて認証待ちデータに対して閾値署名を行うように、通知することと、
グループメンバーがフィードバックした閾値署名を受信し、実際に閾値署名に参加したグループメンバーの数を統計することと、
数が最低閾値に達すると、認証の実行を停止するように他グループメンバーに通知することと、
に用いられる。
【0180】
本発明の実施例によれば、本発明は、電子機器と、可読記憶媒体と、コンピュータプログラム製品とを更に提供する。
【0181】
図9は、本発明の実施例を実施できる例示的な電子機器900の模式的なブロック図を示す。電子機器は、ラップトップ型コンピュータ、デスクトップ型コンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータのような様々な形式のデジタルコンピュータを表すことを目的とする。電子機器は、携帯端末、携帯電話、スマートフォン、ウェララブル機器および他の類似するコンピューティング装置のような様々な形式の移動装置を表すこともできる。本発明に示されたコンポーネント、それらの接続、関係、およびそれらの機能は例示的なものに過ぎず、本発明に記載および/または要求される本発明の実現を限定するものではない。
【0182】
図9に示すように、機器900は、計算ユニット901を備え、読み出し専用メモリ(ROM)902に記憶されたコンピュータプログラム、または記憶ユニット908からランダムアクセスメモリ(RAM)903にロードされたコンピュータプログラムに基づき、様々な適当な動作および処理を実行することができる。RAM 903には、機器900の操作に必要な様々なプログラムおよびデータが記憶されてもよい。計算ユニット91、ROM 902およびRAM 903は、バス904を介して互いに接続されている。入力/出力(I/O)インタフェース905もバス904に接続されている。
【0183】
機器900における複数のコンポーネントはI/Oインタフェース905に接続され、キーボード、マウス等のような入力ユニット906と、各種のディスプレイ、スピーカ等のような出力ユニット907と、磁気ディスク、光ディスク等のような記憶ユニット908と、ネットワークカード、モデム、無線通信送受信機等のような通信ユニット909とを備える。通信ユニット909は、機器900がインターネットのようなコンピュータネットワークおよび/または様々な電気通信ネットワークを介して他の機器と情報/データを交換することを許容する。
【0184】
計算ユニット901は、処理および計算能力を有する汎用および/または専用の処理アセンブリであってもよい。計算ユニット901のいくつかの例は、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、各種の専用の人工知能(AI)コンピューティングチップ、各種の機械学習モデルアルゴリズムを実行する計算ユニット、デジタルシグナルプロセッサ(DSP)、および任意の適当なプロセッサ、コントローラ、マイクロコントローラ等を含んでもよいが、これらに限定されない。計算ユニット901は、上記様々な方法および処理、例えば、ブロックチェーンに基づくグループサービス実現方法を実行する。例えば、いくつかの実施例において、ブロックチェーンに基づくグループサービス実現方法は、コンピュータソフトウェアプログラムとして実現でき、有形的に記憶ユニット908のような機器可読媒体に含まれている。いくつかの実施例において、コンピュータプログラムの一部または全ては、ROM 902および/または通信ユニット909を介して機器900にロードおよび/またはインストールされ得る。コンピュータプログラムがRAM 903にロードされて計算ユニット901により実行されると、上記ブロックチェーンに基づくグループサービス実現方法の1つまたは複数のステップを実行することができる。あるいは、他の実施例において、計算ユニット901は、他の任意の適当な方式(例えば、ファームウェアを介して)により、ブロックチェーンに基づくグループサービス実現方法を実行するように構成され得る。
【0185】
本発明に記載されたシステムおよび技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準パーツ(ASSP)、システムオンチップのシステム(SOC)、複合プログラマブルロジック機器(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせで実現できる。これらの様々な実施形態は以下を含んでもよい。1つまたは複数のコンピュータプログラムに実施され、該1つまたは複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムで実行および/または解釈することができ、該プログラマブルプロセッサは、ストレージシステム、少なくとも1つの入力装置、および少なくとも1つの出力装置からデータおよび命令を受信し、且つデータおよび命令を、該ストレージシステム、該少なくとも1つの入力装置、および該少なくとも1つの出力装置に伝送することができる専用または汎用のプログラマブルプロセッサであってもよい。
【0186】
本発明の方法を実施するためのプログラムコードは、1つまたは複数のプログラミング言語の任意の組み合わせでコードできる。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサまたはコントローラに提供でき、これにより、プログラムコードがプロセッサまたはコントローラにより実行されると、フローチャートおよび/またはブロック図で規定された機能/操作が実施される。プログラムコードは、完全に機器で実行されてもよいし、一部が機器で実行されてもよいし、独立したソフトウェアパッケージとして一部が機器で実行されて一部がリモート機器で実行されてもよいし、完全にリモート機器またはサーバで実行されてもよい。
【0187】
本発明の明細書において、機器可読媒体は、命令実行システム、装置または機器に使用される、または命令実行システム、装置または機器と合わせて使用されるプログラムを含有または記憶できる有形的な媒体であってもよい。機器可読媒体は、機器可読信号媒体または機器可読記憶媒体であってもよい。機器可読媒体は、電子の、磁気の、光の、電磁気の、赤外線の、または半導体のシステム、装置または機器、または上記内容の任意の適当な組み合わせを含んでもよいが、これらに限定されない。機器可読記憶媒体の更なる具体的な例は、1つまたは複数の線による電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラマブル読み出し専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み出し専用ディスク(CD-ROM)、光記憶機器、磁気記憶機器、または上記内容の任意の適当な組み合わせを含む。
【0188】
ユーザとのインタラクションを提供するために、ここで説明するシステムおよび技術をコンピュータで実施することができ、該コンピュータは、ユーザに情報を表示するための表示装置(例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)と、ユーザがそれにより入力をコンピュータに提供することができるキーボードおよび指向装置(例えば、マウスまたはトラックボール)とを有する。他の種類の装置は、更にユーザとのインタラクションを提供するために使用できる。例えば、ユーザに提供されるフィードバックは、任意の形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であってもよく、且つ、任意の形式(音入力、音声入力または、触覚入力を含む)でユーザからの入力を受信することができる。
【0189】
ここで説明するシステムおよび技術を、バックグラウンドコンポーネントを含むコンピューティングシステム(例えば、データサーバとする)、または中間コンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバ)、またはフロントエンドコンポーネントを含むコンピューティングシステム(例えば、ユーザがそれによりここで説明するシステムおよび技術の実施形態とインタラクションできるグラフィカルユーザインタフェースまたはネットワークブラウザを有するユーザコンピュータ)、またはこのようなバックグラウンドコンポーネント、中間コンポーネント、またはフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムに実施することができる。任意の形式または媒体のデジタルデータ通信(例えば、通信ネットワーク)により、システムのコンポーネントを互に接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、ブロックチェーンネットワーク、およびインターネットを含む。
【0190】
コンピュータシステムはクライアントおよびサーバを含んでもよい。クライアントとサーバとは、一般的に互いに離れ、且つ、通常、通信ネットワークを介してインタラクションを行う。対応するコンピュータで実行されて互いにクライアント-サーバ関係を持つコンピュータプログラムにより、クライアントとサーバとの関係を生成する。サーバはクラウドサーバであってもよく、クラウドコンピューティングサーバまたはクラウドホストとも呼ばれ、クラウドコンピューティングサービス体系における1つのホスト製品であり、従来の物理ホストおよびVPSサービスに存在する管理しにくく、サービスの拡張性が弱いという欠陥を解決するために使用される。
【0191】
上記に示す様々な形式のフローを用い、ステップを並べ替え、追加または削除することができることを理解すべきである。例えば、本発明に記載された各ステップは、並列に実行されてもよいし、順に実行されてもよいし、異なる順序で実行されてもよく、本発明に開示された技術案の所望する結果を達成できる限り、本発明はここで限定しない。
【0192】
上記具体的な実施形態は、本発明の保護範囲を限定するものではない。当業者は、設計要求および他の要因に基づき、様々な修正、組み合わせ、サブ組み合わせおよび代替が可能であることを理解すべできる。本発明の精神および原則内で行われる任意の修正、均等置換および改良等は、いずれも本発明の保護範囲内に含まれているべきである。