(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-04
(45)【発行日】2022-04-12
(54)【発明の名称】装置認証方法、サービスアクセスの制御方法、装置及び記録媒体
(51)【国際特許分類】
H04L 9/32 20060101AFI20220405BHJP
【FI】
H04L9/32 100B
H04L9/32 200B
H04L9/32 200Z
(21)【出願番号】P 2020068263
(22)【出願日】2020-04-06
【審査請求日】2020-04-06
(31)【優先権主張番号】201910318449.5
(32)【優先日】2019-04-19
(33)【優先権主張国・地域又は機関】CN
【前置審査】
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】シアオジン ファヌ
(72)【発明者】
【氏名】ウェイ ワン
(72)【発明者】
【氏名】ハイホア ユィ
(72)【発明者】
【氏名】コォ リアオ
(72)【発明者】
【氏名】リイェヌ リィウ
【審査官】行田 悦資
(56)【参考文献】
【文献】特表2018-516030(JP,A)
【文献】特開2018-182710(JP,A)
【文献】特開2019-004391(JP,A)
【文献】特開2018-205906(JP,A)
【文献】特表2018-528691(JP,A)
【文献】特開2006-338528(JP,A)
【文献】特開2018-011190(JP,A)
【文献】特許第6340107(JP,B1)
【文献】特開2018-093434(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
第一装置が認証要求情報を生成するステップと、
前記第一装置が認証要求トランザクションを生成して第一装置チャネルに送信するステップであって、前記認証要求トランザクションは前記第一装置の公開鍵と前記認証要求情報の第一ハッシュ値とを含み、前記第一装置チャネルは分散台帳に構築される、ステップと、
前記第一装置が前記認証要求情報と前記第一装置チャネルの装置チャネル情報とを含む認証要求メッセージを生成し、前記第一装置の秘密鍵によって前記認証要求メッセージに対してデジタル署名を行った後に第二装置に送信するステップと、
前記第一装置が前記第二装置から返信された認証応答メッセージを受信するステップであって、前記認証応答メッセージは第一装置の認証が成功したか否かを示す、ステップと、を含むことを特徴とする装置認証方法。
【請求項2】
前記認証要求トランザクションは、前記認証要求トランザクションを生成する時の第一タイムスタンプをさらに含み、
前記認証要求情報は、乱数と前記第一装置の装置識別情報とを含み、
前記装置識別情報は、装置識別子、MACアドレス、IPアドレス、装置ブランド及び装置タイプのうちの少なくとも1つを含むことを特徴とする請求項1に記載の装置認証方法。
【請求項3】
前記分散台帳がブロックチェーンである場合、前記装置チャネル情報は、第一装置のブロックチェーンアカウントアドレスと、前記第一装置チャネルにおける最後のトランザクションのハッシュ値とを含み、
前記分散台帳がアイオータ(IOTA)である場合、前記装置チャネル情報は、MAM(マスク認証メッセージ)チャネルの識別子(ID)と、前記MAMチャネルにおける最初のトランザクションのアドレスとを含むことを特徴とする請求項1に記載の装置認証方法。
【請求項4】
前記第一装置が前記第一装置の公開鍵及び秘密鍵を更新するステップと、
前記第一装置が秘密鍵取消トランザクションを生成するステップであって、前記秘密鍵取消トランザクションは更新された公開鍵を含む、ステップと、
前記第一装置が前記秘密鍵取消トランザクションを前記第一装置チャネルに送信し、前記第一装置の公開鍵を更新するステップと、をさらに含むことを特徴とする請求項1乃至3のいずれかに記載の装置認証方法。
【請求項5】
第二装置が第一装置から送信された認証要求メッセージを受信するステップであって、前記認証要求メッセージは認証要求情報と第一装置チャネルの装置チャネル情報とを含み、前記第一装置チャネルは分散台帳に構築される、ステップと、
前記第二装置が前記第一装置チャネルの装置チャネル情報に基づき、第一装置チャネルにおいて、前記第一装置の公開鍵と前記認証要求情報の第一ハッシュ値とを含む認証要求トランザクションを読み取るステップと、
前記第二装置が前記第一装置の公開鍵によって前記認証要求メッセージのデジタル署名を検証し、デジタル署名の検証が成功した場合、少なくとも前記第一ハッシュ値に基づき前記第一装置に対して認証テストを行い、認証結果を取得するステップと、
前記認証結果に基づいて、前記第一装置の認証状態を記録し、前記第一装置に認証が成功したか否かを示す認証応答メッセージを送信するステップと、を含むことを特徴とする装置認証方法。
【請求項6】
前記少なくとも前記第一ハッシュ値に基づき前記第一装置に対して認証テストを行うステップは、少なくとも1つの認証項目について認証テストを行い、全ての認証項目が成功した場合にのみ、前記第一装置の認証が成功したことを示す認証結果を取得し、
前記認証項目は、
前記認証要求メッセージに含まれる前記認証要求情報の第三ハッシュ値を計算し、前記第三ハッシュ値が前記第一ハッシュ値と一致するか否かに基づいて、ハッシュ値の認証が成功したか否かを示す認証結果を取得することを含むことを特徴とする請求項5に記載の装置認証方法。
【請求項7】
前記認証要求トランザクションは、前記認証要求トランザクションを生成する時の第一タイムスタンプをさらに含み、
前記認証要求情報は、乱数と前記第一装置の装置識別情報とを含み、
前記認証項目は、
前記認証要求メッセージの受信タイムスタンプと前記第一タイムスタンプとの第一間隔を計算し、前記第一間隔が予め設定された第一閾値より小さいか否かに基づいて、タイムアウト認証が成功したか否かを示すテスト結果を取得することと、
前記認証要求情報における装置識別情報が前記認証要求メッセージの送信装置とマッチしたか否かに基づいて、装置正当性認証が成功したか否かを示すテスト結果を取得することと、
前記第一装置チャネルにおけるトランザクション履歴記録を照会し、前記トランザクション履歴記録の数が予め設定された数より大きいか否かに基づいて、装置の信頼性認証が成功したか否かを示すテスト結果を取得することと、の少なくとも一つをさらに含むことを特徴とする請求項6に記載の装置認証方法。
【請求項8】
第一装置であって、
認証要求情報を生成する第一情報生成ユニットと、
認証要求トランザクションを生成して第一装置チャネルに送信する第一トランザクション生成ユニットであって、前記認証要求トランザクションは前記第一装置の公開鍵と前記認証要求情報の第一ハッシュ値とを含み、前記第一装置チャネルは分散台帳に構築される、第一トランザクション生成ユニットと、
前記認証要求情報と前記第一装置チャネルの装置チャネル情報を含む認証要求メッセージを生成し、前記第一装置の秘密鍵によって前記認証要求メッセージに対してデジタル署名を行った後に第二装置に送信する第一メッセージ送信ユニットと、
前記第二装置から返信された認証応答メッセージを受信する第一メッセージ受信ユニットであって、前記認証応答メッセージは第一装置認証が成功したか否かを示す、第一メッセージ受信ユニットと、を含むことを特徴とする第一装置。
【請求項9】
前記第一装置の公開鍵及び秘密鍵を更新する秘密鍵更新ユニットと、
更新後の公開鍵を含む秘密鍵取消トランザクションを生成し、前記秘密鍵取消トランザクションを前記第一装置チャネルに送信し、前記第一装置の公開鍵を更新する第三トランザクション生成ユニットと、をさらに含むことを特徴とする請求項
8に記載の第一装置。
【請求項10】
第二装置であって、
第一装置から送信された、認証要求情報と第一装置チャネルの装置チャネル情報とを含む認証要求メッセージを受信する第二メッセージ受信ユニットであって、前記第一装置チャネルは分散台帳に構築される、第二メッセージ受信ユニットと、
前記第一装置チャネルの装置チャネル情報に基づき、第一装置チャネルにおいて前記第一装置の公開鍵と前記認証要求情報の第一ハッシュ値とを含む認証要求トランザクションを読み取る第一トランザクション取得ユニットと、
前記第一装置の公開鍵によって前記認証要求メッセージのデジタル署名を検証し、デジタル署名の検証が成功した場合、少なくとも前記第一ハッシュ値に基づき前記第一装置に対して認証テストを行い、認証結果を取得する認証処理ユニットと、
前記認証結果に基づいて、前記第一装置の認証状態を記録し、認証が成功したか否かを示す認証応答メッセージを前記第一装置に送信する第二メッセージ送信ユニットと、を含むことを特徴とする第二装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は装置認証技術分野に関し、具体的には装置認証方法、サービスアクセスの制御方法、装置及び記録媒体に関する。
【背景技術】
【0002】
装置を認証することは、情報アクセスとトランザクションのセキュリティを保証することにとって非常に重要である。例えば、産業監視システムにおける安全サービス、環境監視システムにおける安全サービスでは、大量の監視端末データまたは測定端末データ(例えばカメラ、空気/水の品質測定センサ)を取得するように、通常の場合、正当なユーザまたは装置を識別することが必要であることで、正当なユーザまたは装置のアクセスを許容する。また、例えば、家庭又はオフィススマートシステムにおいて、端末を制御又は端末データをアクセスできるように、正当なユーザ/装置を識別する必要がある。従来技術の認証方法では、通常時信頼できる第三者サーバ又は専用のセキュアチャネルに依存する必要がある。
【0003】
ここで、信頼できる第三者サーバは公開鍵基盤(PKI:Public Key Infrastructure)システムの認証局(CA、Certificate
Authority)であってもよく、又はローカルエリアネットワークにおけるすべての装置認証情報をメンテナンスするローカル認証サーバであってもよい。第三者管理サーバの処理能力が認証効率を制限する。スマート移動端末の普及とモノのインターネット(IOT、Internet of Things)技術の急速な発展に伴い、大量の移動端末又はIOT装置を含むシステムにおいて、各装置の検証がすべて第三者サーバとのインタラクションを必要とすると、第三者サーバが性能のボトルネックになるので、従来の多くの応用では単方向認証のみを行い、すなわちサービス提供装置に対して認証を行うが、サービス要求装置に対して認証を行わない。それに、PKIにおけるCAは実名認証端末を必要とするが、実名認証はIOTシステムにおいて余分なコストになるため、一般的に必要ではない。
【0004】
セキュアチャネルは一般的に特定のハードウェアサポートを必要とし、例えば装置がモバイルセルラーネットワークの加入者識別モジュール(SIM、Subscriber Identification Module)をインストールする必要があり、又は予め配置された暗号システムを必要とするため、認証システムの配置コストを増加するので、大規模な応用には適していない。
【0005】
そのため、コストが低い認証方法を実現して、装置の認証を実現する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の少なくとも一つの実施例は装置認証方法、サービスアクセスの制御方法、装置及び記録媒体を提供して、低コストで装置認証及びサービスアクセス制御を実現する。
【課題を解決するための手段】
【0007】
本発明の一態様では、第一装置が認証要求情報を生成するステップと、前記第一装置が認証要求トランザクションを生成して第一装置チャネルに送信するステップであって、前記認証要求トランザクションは前記第一装置の公開鍵と前記認証要求情報の第一ハッシュ値とを含み、前記第一装置チャネルは分散台帳に構築される、ステップと、前記第一装置が前記認証要求情報と前記第一装置チャネルの装置チャネル情報とを含む認証要求メッセージを生成し、前記第一装置の秘密鍵によって前記認証要求メッセージに対してデジタル署名を行った後に第二装置に送信するステップと、前記第一装置が前記第二装置から返信された認証応答メッセージを受信するステップであって、前記認証応答メッセージは第一装置の認証が成功したか否かを示す、ステップと、を含むことを特徴とする装置認証方法を提供する。
【0008】
また、この態様では、前記認証要求トランザクションは、前記認証要求トランザクションを生成する時の第一タイムスタンプをさらに含み、前記認証要求情報は、乱数と前記第一装置の装置識別情報とを含み、前記装置識別情報は、装置識別子、MACアドレス、IPアドレス、装置ブランド及び装置タイプのうちの少なくとも1つを含む。
【0009】
また、この態様では、前記分散台帳がブロックチェーンである場合、前記装置チャネル情報は、第一装置のブロックチェーンアカウントアドレスと、前記第一装置チャネルにおける最後のトランザクションのハッシュ値とを含み、前記分散台帳がアイオータ(IOTA)である場合、前記装置チャネル情報は、MAM(マスク認証メッセージ)チャネルの識別子(ID)と、前記MAMチャネルにおける最初のトランザクションのアドレスとを含む。
【0010】
また、この態様では、前記第一装置が前記第一装置の公開鍵及び秘密鍵を更新するステップと、
前記第一装置が秘密鍵取消トランザクションを生成するステップであって、前記秘密鍵取消トランザクションは更新された公開鍵を含む、ステップと、
前記第一装置が前記秘密鍵取消トランザクションを前記第一装置チャネルに送信し、前記第一装置の公開鍵を更新するステップと、をさらに含む。
【0011】
本発明の別の態様では、第二装置が第一装置から送信された認証要求メッセージを受信するステップであって、前記認証要求メッセージは認証要求情報と第一装置チャネルの装置チャネル情報とを含み、前記第一装置チャネルは分散台帳に構築される、ステップと、前記第二装置が前記第一装置チャネルの装置チャネル情報に基づき、第一装置チャネルにおいて、前記第一装置の公開鍵と前記認証要求情報の第一ハッシュ値とを含む認証要求トランザクションを読み取るステップと、前記第二装置が前記第一装置の公開鍵によって前記認証要求メッセージのデジタル署名を検証し、デジタル署名の検証が成功した場合、少なくとも前記第一ハッシュ値に基づき前記第一装置に対して認証テストを行い、認証結果を取得するステップと、前記認証結果に基づいて、前記第一装置の認証状態を記録し、前記第一装置に認証が成功したか否かを示す認証応答メッセージを送信するステップと、を含むことを特徴とする装置認証方法を提供する。
【0012】
また、この態様では、前記少なくとも前記第一ハッシュ値に基づき前記第一装置に対して認証テストを行うステップは、以下の認証項目を含み、全ての認証項目が成功した場合にのみ、前記第一装置の認証が成功したことを示す認証結果を取得し、
前記認証要求メッセージに含まれる前記認証要求情報の第三ハッシュ値を計算し、前記第三ハッシュ値が前記第一ハッシュ値と一致するか否かに基づいて、ハッシュ値の認証が成功したか否かを示す認証結果を取得する。
【0013】
また、この態様では、前記認証要求トランザクションは、前記認証要求トランザクションを生成する時の第一タイムスタンプをさらに含み、前記認証要求情報は、乱数と前記第一装置の装置識別情報とを含み、前記認証項目は、前記認証要求メッセージの受信タイムスタンプと前記第一タイムスタンプとの第一間隔を計算し、前記第一間隔が予め設定された第一閾値より小さいか否かに基づいて、タイムアウト認証が成功したか否かを示すテスト結果を取得することと、前記認証要求情報における装置識別情報が前記認証要求メッセージの送信装置とマッチしたか否かに基づいて、装置正当性認証が成功したか否かを示すテスト結果を取得することと、前記第一装置チャネルにおけるトランザクション履歴記録を照会し、前記トランザクション履歴記録の数が予め設定された数より大きいか否かに基づいて、装置の信頼性認証が成功したか否かを示すテスト結果を取得することと、の少なくとも一つをさらに含む。
【0014】
本発明の別の態様では、第一装置が第二装置にサービスリストを要求し、前記第二装置から提供された前記サービスリストの中からターゲットサービスを選択するステップと、前記第一装置がサービス要求情報を生成するステップであって、前記サービス要求情報は前記ターゲットサービスとサービスアクセストークンとを含む、ステップと、前記第一装置がサービス要求トランザクションを生成して第一装置チャネルに送信するステップであって、前記サービス要求トランザクションは前記サービス要求情報の第二ハッシュ値を含み、前記第一装置チャネルは分散台帳に構築される、ステップと、前記第一装置が前記サービス要求情報を含むサービス要求メッセージを生成し、前記第一装置の秘密鍵によって前記サービス要求メッセージに対してデジタル署名を行った後に第二装置に送信するステップと、前記第一装置が前記第二装置から返信された、サービス要求が受け入れたか否かを示すサービス応答メッセージを受信するステップと、を含むことを特徴とするサービスアクセスの制御方法を提供する。
【0015】
また、この態様では、前記サービス要求トランザクションは、前記サービス要求トランザクションを生成する時の第二タイムスタンプをさらに含む。
【0016】
本発明の別の態様では、第二装置が第一装置から送信されたサービスリスト要求メッセージを受信し、前記第一装置にサービスリストを提供するステップと、前記第二装置が前記第一装置から送信された、サービス要求情報を含むサービス要求メッセージを受信するステップであって、前記サービス要求情報はターゲットサービスとサービスアクセストークンとを含む、ステップと、前記第一装置の認証状態が認証成功である場合、前記第二装置が前記第一装置の公開鍵によって前記サービス要求メッセージのデジタル署名を検証し、デジタル署名の検証が成功したとき、予め取得された第一装置チャネルの装置チャネル情報に基づき、前記第一装置チャネルにおいて、少なくとも前記サービス要求情報の第二ハッシュ値を含むサービス要求トランザクションを読み取るステップであって、前記第一装置チャネルは分散台帳に構築される、ステップと、前記第二装置が少なくともサービス要求情報と前記第二ハッシュ値とに基づいてサービス要求テストを行い、サービス要求が受け入れたか否かを示すサービス要求テスト結果を取得するステップと、前記サービス要求テスト結果に基づいて、前記第一装置にサービス要求が受け入れたか否かを示すサービス応答メッセージを送信するステップと、を含むことを特徴とするサービスアクセスの制御方法を提供する。
【0017】
また、この態様では、前記少なくともサービス要求情報と前記第二ハッシュ値とに基づいてサービス要求テストを行うステップは、以下のテスト項目を含み、全てのテスト項目が成功した場合にのみ、前記サービス要求が受け入れたことを示すサービステスト結果を取得し、前記サービス要求メッセージに含まれる前記サービス要求情報の第四ハッシュ値を計算し、前記第四ハッシュ値と前記第二ハッシュ値とが一致するか否かに基づいて、ハッシュ値のテストが成功したか否かを示すテスト結果を取得し、前記サービスアクセストークンが有効なトークンであるか否かに基づいて、トークンテストが成功したか否かを示すテスト結果を取得する。
【0018】
また、この態様では、前記サービス要求トランザクションは、前記サービス要求トランザクションを生成する時の第二タイムスタンプをさらに含み、前記テスト項目は、前記サービス要求メッセージの受信タイムスタンプと前記第二タイムスタンプとの第二間隔を計算し、前記第二間隔が予め設定された第二閾値より小さいか否かに基づいて、タイムアウトテストが成功したか否かを示すテスト結果を取得することをさらに含む。
【0019】
また、この態様では、サービス要求が受け入れたことを示す前記サービス要求テスト結果が取得された場合、前記サービスアクセスの制御方法は、前記第一装置を前記第二装置のサービスアクセスメンバーリストに追加するステップと、前記第一装置及び前記ターゲットサービスを含むサービスアクセスメンバーリスト更新トランザクションを生成するステップと、暗号化鍵により暗号化された前記サービスアクセスメンバーリスト更新トランザクションを前記第二装置のサービスチャネルに送信し、前記暗号化鍵を前記第二装置の協力装置に共有するステップであって、前記サービスチャネルは、分散台帳に構築されており、前記協力装置が前記サービスアクセスメンバーリスト内のメンバーにサービスを提供するように、前記第二装置の協力装置にサービスアクセスメンバーリストを提供するために用いられる、ステップと、をさらに含む。
【0020】
本発明の他の態様では、第一装置であって、認証要求情報を生成する第一情報生成ユニットと、認証要求トランザクションを生成して第一装置チャネルに送信する第一トランザクション生成ユニットであって、前記認証要求トランザクションは前記第一装置の公開鍵と前記認証要求情報の第一ハッシュ値とを含み、前記第一装置チャネルは分散台帳に構築される、第一トランザクション生成ユニットと、前記認証要求情報と前記第一装置チャネルの装置チャネル情報を含む認証要求メッセージを生成し、前記第一装置の秘密鍵によって前記認証要求メッセージに対してデジタル署名を行った後に第二装置に送信する第一メッセージ送信ユニットと、前記第二装置から返信された認証応答メッセージを受信する第一メッセージ受信ユニットであって、前記認証応答メッセージは第一装置認証が成功したか否かを示す、第一メッセージ受信ユニットと、を含むことを特徴とする第一装置を提供する。
【0021】
また、この態様では、前記第一装置の公開鍵及び秘密鍵を更新する秘密鍵更新ユニットと、更新後の公開鍵を含む秘密鍵取消トランザクションを生成し、前記秘密鍵取消トランザクションを前記第一装置チャネルに送信し、前記第一装置の公開鍵を更新する第三トランザクション生成ユニットと、をさらに含む。
【0022】
本発明の他の態様では、第二装置であって、第一装置から送信された、認証要求情報と第一装置チャネルの装置チャネル情報とを含む認証要求メッセージを受信する第二メッセージ受信ユニットであって、前記第一装置チャネルは分散台帳に構築される、第二メッセージ受信ユニットと、前記第一装置チャネルの装置チャネル情報に基づき、第一装置チャネルにおいて前記第一装置の公開鍵と前記認証要求情報の第一ハッシュ値とを含む認証要求トランザクションを読み取る第一トランザクション取得ユニットと、前記第一装置の公開鍵によって前記認証要求メッセージのデジタル署名を検証し、デジタル署名の検証が成功した場合、少なくとも前記第一ハッシュ値に基づき前記第一装置に対して認証テストを行い、認証結果を取得する認証処理ユニットと、前記認証結果に基づいて、前記第一装置の認証状態を記録し、認証が成功したか否かを示す認証応答メッセージを前記第一装置に送信する第二メッセージ送信ユニットと、を含むことを特徴とする第二装置を提供する。
【0023】
本発明の他の態様では、第一装置であって、第二装置にサービスリストを要求し、前記第二装置から提供された前記サービスリストの中からターゲットサービスを選択するサービス選択ユニットと、前記ターゲットサービスとサービスアクセストークンとを含むサービス要求情報を生成する第二情報生成ユニットと、前記サービス要求情報の第二ハッシュ値を含むサービス要求トランザクションを生成して第一装置チャネルに送信する第二トランザクション生成ユニットであって、前記第一装置チャネルは分散台帳に構築される、第二トランザクション生成ユニットと、前記サービス要求情報を含むサービス要求メッセージを生成し、前記第一装置の秘密鍵によって前記サービス要求メッセージに対してデジタル署名を行った後に第二装置に送信する第三メッセージ送信ユニットと、前記第二装置から返信された、サービス要求が受け入れたか否かを示すサービス応答メッセージを受信する第三メッセージ受信ユニットと、を含むことを特徴とする第一装置を提供する。
【0024】
本発明の別の態様では、第二装置であって、第一装置から送信されたサービスリスト要求メッセージを受信し、前記第一装置にサービスリストを提供し、前記第一装置から送信された、サービス要求情報を含むサービス要求メッセージを受信する第四メッセージ受信ユニットであって、前記サービス要求情報はターゲットサービス及びサービスアクセストークンを含む、第四メッセージ受信ユニットと、前記第一装置の認証状態が認証成功である場合、前記第一装置の公開鍵によって前記サービス要求メッセージのデジタル署名を検証し、デジタル署名の検証が成功したとき、予め取得された第一装置チャネルの装置チャネル情報に基づき、前記第一装置チャネルにおいて、少なくとも前記サービス要求情報の第二ハッシュ値を含むサービス要求トランザクションを読み取る第二トランザクション取得ユニットであって、前記第一装置チャネルは分散台帳に構築される、第二トランザクション取得ユニットと、少なくともサービス要求情報と前記第二ハッシュ値とによってサービス要求テストを行い、サービス要求が受け入れたか否かを示すサービス要求テスト結果を取得するサービス要求テストユニットと、前記サービス要求テスト結果に基づいて、前記第一装置にサービス要求が受け入れたか否かを示すサービス応答メッセージを送信する第四メッセージ送信ユニットと、を含むことを特徴とする第二装置を提供する。
【0025】
また、この態様では、サービス要求が受け入れたことを示す前記サービス要求テスト結果が取得された場合、前記第一装置を前記第二装置のサービスアクセスメンバーリストに追加するメンバーリスト更新ユニットと、前記第一装置及び前記ターゲットサービスを含むサービスアクセスメンバーリスト更新トランザクションを生成し、暗号化鍵により暗号化された前記サービスアクセスメンバーリスト更新トランザクションを前記第二装置のサービスチャネルに送信し、前記暗号化鍵を前記第二装置の協力装置に共有するメンバーリストトランザクション生成ユニットであって、前記サービスチャネルは、分散台帳に構築されており、前記協力装置が前記サービスアクセスメンバーリスト内のメンバーにサービスを提供するように、前記第二装置の協力装置にサービスアクセスメンバーリストを提供するために用いられる、メンバーリストトランザクション生成ユニットと、をさらに含む。
【0026】
本発明の別の態様では、メモリ、プロセッサおよびメモリに格納されかつプロセッサで実行可能なコンピュータプログラムを含み、前記コンピュータプログラムは前記プロセッサに実行された場合、上記の方法のステップを実現する装置を提供する。
【0027】
本発明の別の態様では、少なくとも1つの実施例よりコンピュータ読み取り可能な記録媒体であって、前記コンピュータ読み取り可能な記録媒体にコンピュータプログラムが格納されて、前記コンピュータプログラムはプロセッサに実行された場合、上記の方法のステップを実現する記録媒体を提供する。
【0028】
従来技術に比べて、本発明の実施例が提供する装置認証する方法、サービスアクセス制御する方法、装置及び記録媒体は、認証システムの配置コストを低減させることができ、且つ認証センターがボトルネックとしてシステム効率を制限する問題が存在しない。また、本発明の実施例は第三者認証センターが認証要求装置に対して実名検証を行うことを必要としないので、認証システムの配置コストを低減させ、また、本発明の実施例は匿名認証をサポートすることができ、認証のプライバシーを向上させる。
【図面の簡単な説明】
【0029】
本発明の実施例の技術方案をより明確に説明するために、以下、本発明の実施例の説明に必要とされる添付図を簡単に紹介するが、明らかに、下記の図は本発明のいくつかの実施例のみであり、当業者にとって、高度な技術を必要としない前提において、これらの添付図によって他の添付図を得ることができる。
【
図1】本発明の実施例に係る装置認証方法のフローチャートである。
【
図2】本発明の実施例に係る装置認証方法の別のフローチャートである。
【
図3】本発明の実施例に係る装置認証方法の例示である。
【
図4】本発明の実施例に係る装置認証方法のインタラクション過程の例示である。
【
図5】本発明の実施例に係るサービスアクセス制御方法のフローチャートである。
【
図6】本発明の実施例に係るサービスアクセス制御方法の別のフローチャートである。
【
図7】本発明の実施例に係るサービスアクセス制御のインタラクション過程の例示である。
【
図8】本発明の実施例に係る第一装置の構造図である。
【
図9】本発明の実施例に係る第二装置の構造図である。
【
図10】本発明の実施例に係る第一装置の別の構造図である。
【
図11】本発明の実施例に係る第二装置の別の構造図である。
【
図12】本発明の実施例に係る第一装置又は第二装置のハードウェア構造図である。
【発明を実施するための形態】
【0030】
本発明が解決しようとする技術課題、技術方案および優れた点をより明確させるために、付図および具体的な実施例を組み合わせて詳細な説明を行う。以下、詳細な配置とユニットなどの特定な細部の記載は本発明の実施例を理解するために提供されたもののみである。このため、当業者にとって、本発明の趣旨の範囲内において、記載された実施例に対して種々の変更と補正が可能であることが自明である。また、明確および簡潔のために、公知の機能と構造に関する説明を省略した。
【0031】
いうまでもなく、明細書に記載された「ひとつの実施例」あるいは「一実施例」は、実施例と関係する特定な特徴、構造または特性が本発明のすくなくとも1つの実施例に含まれていることを意味する。このため、明細書に記載された「ひとつの実施例において」あるいは「一実施例において」では、必ずしも同じ実施例を指すことではない。この他、これらの特定な特徴、構造または特性は任意の適宜な方式でひとつまたは複数の実施例に組み合わせられることも可能である。
【0032】
本発明の各実施例において、下記各過程の番号は実行する順序を意味するではなく、各過程の実行順はその機能と固有論理とに確定されるべきであり、本発明の実施例の実行過程に対していかなる限定をするべきではない。
【0033】
背景技術に記載されたように、大量の装置を含むIOTシステムが既存の認証方式を用いた場合に、効率のボトルネック又は高い配置コスト問題が存在するので、本発明に提案される匿名的な分散台帳の認証方法は、第三者サーバに依存せず、余分なセキュアチャネルのハードウェアコストを必要とせず、認証コストを削減することができ、特に例えばIOTシステムのような大量の装置を含むシステムに適用である。
【0034】
図1は、本発明の実施例に係る装置認証の方法を第一装置に適用する時のフローチャート図である。ここで、前記第一装置は認証要求装置であって、前記第一装置が第二装置に認証要求を行い、前記第二装置によって第一装置を認証することを行う。なお、本発明の実施例に係る認証要求法は、第一装置が第二装置に対する認証に適用することもでき、そのプロセスは類似的である。すなわち、
図1に示す認証フローを参照して、本発明の実施例は第一装置と第二装置との間の双方向の認証を実現することができる。
【0035】
図1に示すように、本発明の実施例に係る装置認証する方法は以下を含む。
【0036】
ステップ11において、第一装置が認証要求情報を生成する。
【0037】
ここで、認証要求情報は通常チャレンジ情報を含み、前記チャレンジ情報は具体的にランダムに生成された乱数であることができる。本発明の少なくとも一つの実施例に基づき、前記認証要求情報はさらに前記認証要求情報を生成する時のタイムスタンプ及び前記第一装置の装置識別情報を含むことができ、具体的には、前記装置識別情報は装置の装置識別子(ID)、MACアドレス、IPアドレス、装置ブランド及び装置タイプのうちの少なくとも1つであってもよい。
【0038】
ステップ12において、前記第一装置は認証要求トランザクションを生成して、前記認証要求トランザクションを第一装置チャネルに送信し、前記認証要求トランザクションは前記第一装置の公開鍵と前記認証要求情報の第一ハッシュ値とを含み、前記第一装置チャネルは分散台帳上に構築される。
【0039】
ここで、前記第一装置により生成された認証要求トランザクションは以下を含む:前記第一装置の非対称秘密鍵における公開鍵と前記認証要求情報の第一のハッシュ値とを含む。前記第一装置は、認証要求取引を前記第一装置の第一装置チャネルに送信する。
【0040】
本発明の少なくとも1つの実施例に基づき、第一装置は、第一装置の関連取引の情報を記録するための第一装置チャネルを分散台帳上に構築し、前記関連取引は、認証要求取引を含み、さらに下記の秘密鍵取消トランザクションおよびサービス要求取引などを含むことができる。
【0041】
例えば、前記分散台帳がブロックチェーンである場合、第一装置チャネルにある全ての取引はチャネルを構築した第一装置のブロックチェーンアカウントによって生成され、第一装置はブロックチェーンの取引生成方式に従って取引を生成し、且つ取引にチャネルポインタを含み、第一装置チャネルの一番目の取引のチャネルポインタはヌルであり、他の取引のチャネルポインタは該第一装置チャネルにおける直前の取引のハッシュ値である。
【0042】
または、前記分散台帳がアイオータ(IOTA)である場合、該第一装置チャネルはIOTAプロトコルのMAMチャネル(Masked authenticated message channel)であってもよく、第一装置はMAMチャネルに指定される方式で取引を生成する。
【0043】
なお、第一装置は分散台帳におけるノードであってもよく、分散台帳におけるノードでなくてもよく、すなわち第一装置が分散台帳に取引を書き込む記帳モジュールを有してもよく、前記記帳モジュールを有しなくてもよい。上記装置チャネルの各自の方式に応じて取引を生成した後、第一装置が前記記帳モジュールを含む場合、前記記帳モジュールによって取引に対してアカウント書き込みに必要な操作を実行して、前記認証要求取引を第一装置チャネルに送信する。装置が前記記帳モジュールを含まない場合、第一装置は関連取引を公共記帳ノードに送信して、公共記帳ノードによって取引を装置チャネルに送信することができる。具体的には、分散台帳がブロックチェーンである場合、共通記帳ノードはブロックチェーンマイナーノードであり、分散台帳がIOTAである場合、共通記帳ノードはIOTA共通ノードであることができる。
【0044】
ステップ13において、前記第一装置は前記認証要求情報と前記第一装置チャネルの装置チャネル情報を含む認証要求メッセージを生成し、且つ前記第一装置の秘密鍵を利用して前記認証要求メッセージに対してデジタル署名を行った後に第二装置に送信する。
【0045】
ここで、第一装置は前記認証要求トランザクションを第一装置チャネルに送信した後に、第一装置チャネルの装置チャネル情報を取得する。例えば、前記分散台帳がブロックチェーンである場合、前記装置チャネル情報は第一装置のブロックチェーンアカウントアドレスと前記第一装置チャネルにおける最後のトランザクションのハッシュ値を含む。また、前記分散台帳がIOTAである場合、前記装置チャネル情報はマスク認証メッセージ(MAM)チャネルの識別子(ID)と前記MAMチャネルにおける最初のトランザクションのアドレスを含む。その後、第一装置は秘密鍵で署名された認証要求メッセージを第二装置に送信し、ここで、該認証要求メッセージは前記認証要求情報と前記第一装置チャネルの装置チャネル情報とを含んで、第二装置が前記第一装置チャネルの装置チャネル情報に基づいて認証要求トランザクションを取得することに用いられ、且つ取得された認証要求トランザクション及び前記認証要求情報に基づいて第一装置を認証する。
【0046】
また、本発明の少なくとも一つの実施例に基づき、上記ステップ11において、第一装置は前記認証要求情報を含む認証要求メッセージを生成した後、ステップ13において、該認証要求メッセージに前記第一装置チャネルの装置チャネル情報を追加して、さらに前記第一装置の秘密鍵を利用して前記認証要求メッセージにデジタル署名を行ってから第二装置に送信することができる。
【0047】
ステップ14において、前記第一装置は前記第二装置に返信された認証応答メッセージを受信して、前記認証応答メッセージは第一装置認証が成功したか否かを指示することに用いられる。
【0048】
ここで、第二装置は前記認証要求メッセージに基づいて第一装置に対する認証を完了した後、第一装置に認証が成功したか否かを指示するための認証応答メッセージを返信する。
【0049】
以上のステップにより、第一装置は第二装置との認証ハンドシェイクプロセスを実現、第三者サーバ又は安全チャネルに依存しない認証プロセスを実現して、当該実現は低コストで、大量の端末装置を含むシステム(例えばIOTシステム)に適用することができる。
【0050】
さらに、秘密鍵セキュリティを提供するために、本発明の少なくとも1つの実施形態によって、第一装置は、前記第一装置の非対称秘密鍵(公開鍵と秘密鍵を含む)を周期的または非周期的に更新でき、かつ更新後に更新された公開鍵を含む秘密鍵取消トランザクションを生成し、その後、前記第一装置は、前記秘密鍵取消トランザクションを前記第一装置チャネルに送信して前記第一装置の公開鍵を更新する。
【0051】
次に、
図2によって、上記認証プロセスにおける第二装置側のフローを示す。
【0052】
ステップ21において、第二装置は第一装置から送信された認証要求メッセージを受信し、前記認証要求メッセージは認証要求情報と第一装置チャネルの装置チャネル情報とを含み、前記第一装置チャネルは分散台帳に構築された。
【0053】
ここで、前記認証要求メッセージにおける認証要求情報は、チャレンジ情報とする乱数を含むことができ、さらに前記認証要求情報を生成する時のタイムスタンプと前記第一装置の装置識別情報とを含むこともできて、前記装置識別情報は具体的に装置識別子、MACアドレス、IPアドレス、装置ブランドと装置タイプのうちの少なくとも1項を含む。
【0054】
ステップ22において、前記第二装置は前記第一装置チャネルの装置チャネル情報に基づき、第一装置チャネルで認証要求トランザクションを読み取り、前記認証要求トランザクションは前記第一装置の公開鍵と前記認証要求情報の第一ハッシュ値とを含む。
【0055】
ここで、第二装置が認証要求メッセージを受信した後、該認証要求メッセージにより指定された第一装置の装置チャネルにおいて認証要求トランザクションを検索且つ読み取ることができて、前記認証要求トランザクションは前記第一装置の公開鍵と前記認証要求情報の第一ハッシュ値とを含む。
【0056】
ステップ23において、前記第二装置は前記第一装置の公開鍵によって前記認証要求メッセージのデジタル署名を検証し、デジタル署名の検証が成功された後、少なくとも前記第一ハッシュ値に基づき前記第一装置に対して認証テストを行い、且つ認証結果を取得する。
【0057】
ここで、上記ステップ23において、まず公開鍵によってデジタル署名認証を行い、署名認証が成功した後、更に前記第一装置に対して認証テストを実行し、具体的には以下の認証項目を含むことができ、且つ全ての認証項目がともに成功した場合のみ、前記第一装置の認証が成功した認証結果を取得する。
【0058】
(1)前記認証要求メッセージに含まれる前記認証要求情報の第三ハッシュ値を計算して、前記第三ハッシュ値が前記第一ハッシュ値と一致するか否かによって、ハッシュ値の認証が成功したかどうかの認証結果を取得する。
【0059】
ステップ24において、前記認証結果に基づいて、前記第一装置の認証状態を記録し、且つ認証が成功したか否かを示すための認証応答メッセージを前記第一装置に送信する。
【0060】
ここで、第二装置は第一装置の認証が成功した後、ローカルに第一装置状態が認証済みであると記録し、且つ第一装置に上記認証応答メッセージを返信して、認証結果として指示することができる。
【0061】
本発明の少なくとも一つの実施例によって、前記第一装置の認証が成功した後、後続の二つの装置にセキュリティサービスを提供するように、第二装置は第一装置の公開鍵と第一装置チャネルの装置チャネル情報(例えば分散台帳アカウント)との間の第一バインディング関係を構築することができる。
【0062】
本発明の少なくとも一つの実施例によって、前記第一装置の認証が成功した後、後続の二つの装置にセキュリティサービスを提供するように、第二装置は第一装置の公開鍵、第一装置チャネルの装置チャネル情報(例えば分散台帳アカウント)と装置識別情報との間の第二バインディング関係を構築することができる。
【0063】
以上のステップにより、本発明の実施例は第二装置が第一装置に対する認証プロセスを実現して、認証プロセスにおけるハンドシェイクフローを簡略化し、且つ認証実現のコストを低減させることができる。認証プロセスにおいて第三者認証センター管理又は協調装置の参加を必要としないため、認証システムの配置コストを削減し、且つ認証センターがボトルネックとしてシステム効率を制限する問題が存在しなくて、認証効率が向上される。また、本発明の実施例はさらに分散台帳における装置チャネルのトランザクション履歴記録に基づき、認証要求装置の信頼性の判断を実現することができて、一般的に、装置チャネルのトランザクション履歴記録が多いほど、装置の信頼性が高い。また、本発明の実施例は第三者認証センターが認証要求装置に対して実名検証を行うことを必要としないので、認証システムの配置コストを低減させ、また、本発明の実施例の上記方法は匿名認証をサポートすることができ、認証のプライバシーを向上させる。
【0064】
本発明の少なくとも1つの実施例によって、前記認証要求トランザクションは、第一装置が認証要求トランザクションを生成する際の第一タイムスタンプを含むことができ、前記認証要求情報は、乱数と、前記第一装置の装置識別情報とを含むことができる。この時、上記ステップ23における前記認証項目はさらに以下の少なくとも1つを含む。
【0065】
(2)前記認証要求メッセージの受信タイムスタンプと前記第一タイムスタンプとの第一間隔を計算して、前記第一間隔が予め設定された第一閾値より小さいか否かに基づいて、タイムアウト認証が成功したか否かのテスト結果を取得する。
【0066】
(3)前記認証要求情報における装置識別情報が前記認証要求メッセージの送信装置とマッチングするか否かに基づいて、装置正当性認証が成功したか否かのテスト結果を取得する。
【0067】
(4)前記第一装置チャネルにおけるトランザクション履歴記録を照会して、前記トランザクション履歴記録の数が予め設定された数より大きいか否かに基づいて、装置の信頼性認証が成功したか否かのテスト結果を取得する。
【0068】
認証を必要とするすべての認証項目の認証が成功した後、第一装置の認証が成功した認証結果を取得する。いずれかの認証項目の認証が失敗すると、他の認証項目を実行せず、認証を終了し、且つ第一装置の認証が失敗した認証結果を取得することができる。
【0069】
なお、以上の認証項目の認証プロセスにおいて、予め設定された設定の順序に従って行うことができ、本発明の実施例はこれを具体的に限定するものではない。
【0070】
以上のステップにより、本発明の実施例の装置認証のフローが紹介された。以上のフローにより、第二装置が第一装置に対する認証が実現される。類似的に、上記フローを参照して、同様に第一装置の第二装置に対する認証を実現することができ、この場合、上記フローにおける第一装置と第二装置の役割を互いに交換すればよく、省略するために、本明細書では贅言をしない。
【0071】
以下、
図3及び
図4を参照して、上述した装置認証の方法におけるインタラクションプロセスについて説明する。
図3乃至4に示す認証要求装置は、前記した第一装置と第二装置の内の一つであり、認証応答装置は前記した第一装置と第二装置の内のもう一つである。
【0072】
具体的に、
図3では本発明の少なくとも一つの実施例に基づく装置認証方法の一例が示されて、認証要求装置は分散台帳に装置チャネルを構築し、且つ装置チャネルに認証要求トランザクションを書き込み、具体的には公開鍵、装置識別情報とランダムチャレンジ情報とが含まれ、前記装置識別情報は装置識別子、MACアドレス、IPアドレス、装置ブランドと装置タイプのうちの少なくとも一項を含むことができ、前記ランダムチャレンジ情報は乱数を含むことができ、さらにタイムスタンプ等を含むことができる。認証応答装置は認証要求装置の装置チャネルを読み取り、ランダムチャレンジ情報と装置識別情報を検証して、認証要求装置とメッセージを交換して認証ハンドシェイクフローを完了する。認証ハンドシェイクフローを完了した後、認証要求装置の公開鍵、認証要求装置の分散台帳アカウントおよび認証要求装置の装置識別情報の三者の間のバインディング関係を構築して、二つの装置に後続のセキュリティサービスを提供する。
【0073】
図4は本発明の実施例に係る分散台帳に基づく装置認証方法のインタラクションプロセスの一例である。
図4において、認証要求装置は分散台帳に認証要求装置チャネルを構築して、認証要求装置チャネルに認証要求トランザクションを送信し、さらに認証応答装置に認証要求メッセージを送信する。認証応答装置が認証要求メッセージを受信して、認証要求装置チャネルを読み取り、かつ認証テストを行う。そして認証要求装置に認証結果を含む認証応答メッセージを送信する。
【0074】
本発明の実施例の上述した認証フローをよりよく理解するために、以下では具体的な例を介して詳細に説明する。
【0075】
当該例示では、各装置は分散台帳に当該装置の装置チャネルを構築することができ、装置チャネルにおけるトランザクションが公開であって、他の装置に読み取られることができる。
【0076】
具体的に、分散台帳はブロックチェーンであってもよく、装置がブロックチェーンにおいてブロックチェーンアカウントアドレスを構築して、装置チャネルにおけるすべてのトランザクションは装置のブロックチェーンアカウントアドレスから送信され、且つ各トランザクションは装置チャネルにおける一つ前のトランザクションのハッシュ値を含む。装置チャネルの一番目のトランザクションに含まれる一つ前のハッシュ値がヌルである。装置チャネル情報は当該装置のブロックチェーンアカウントアドレスと、現在の装置チャネルにおける最後のトランザクションのハッシュ値とを含む。
【0077】
分散台帳はIOTAであることも可能で、装置チャネルはマスク認証メッセージ(MAM)チャネルである。装置はルートキーをランダムに生成して、IOTAプロトコルルールに基づきルートキーによって1つのトランザクションアドレスシーケンスを生成し、各トランザクションは現在のトランザクションのアドレスとMAMチャネルにおける次のトランザクションのアドレスを含む。装置チャネル情報は、MAMチャネルにおける一番目のトランザクションのアドレスを含む。
【0078】
各装置は従来技術に基づいて一つの非対称秘密鍵対(1つの公開鍵と1つの秘密鍵を含む)を生成することができ、秘密鍵はローカルに安全に保存される。認証ハンドシェイクフローにおいて、装置は公開鍵を認証要求トランザクションに含ませて分散台帳における装置チャネルに送信する。また、装置は非対称秘密鍵対を定期的に更新でき、かつ装置チャネルにトランザクションを送信して更新前の公開鍵を取り消すことができる。
【0079】
各認証ハンドシェイクフローにおいて、要求装置は認証要求情報を含む認証要求メッセージを生成する。そこで、認証要求情報はチャレンジ情報とする乱数と、タイムスタンプと、装置ID、MACアドレス、IPアドレス、装置ブランド、装置タイプ等の他の識別装置の情報を含む。要求装置はタイムスタンプ、公開鍵及び上記認証要求情報のハッシュ値を含む認証要求トランザクションを生成して、認証要求トランザクションを分散台帳における装置チャネルに送信する。認証要求トランザクションの送信を完了した後に、装置チャネル情報を認証要求メッセージに書き込み、且つ秘密鍵によって認証要求メッセージに対してデジタル署名を行い、認証要求メッセージを認証応答装置に送信する。
【0080】
認証応答装置は認証要求メッセージを受信して、メッセージに含まれる装置チャネル情報に基づいて分散台帳を検索して、認証要求トランザクションを読み取り、認証要求トランザクションに含まれる認証要求装置の公開鍵を取得かつ記憶し、該公開鍵によって認証要求メッセージのデジタル署名を検査する。デジタル署名が有効であれば、認証要求メッセージをさらに認証するが、以下の認証項目を含むがこれらに限られるものではない。
【0081】
A)ローカル時間と認証要求トランザクションに含まれるタイムスタンプとの間の時間間隔を計算して、時間間隔が指定されたタイムアウト閾値より大きい場合、該認証項目の認証結果がタイムアウトであり、第一装置の認証が失敗することになる。そうでなければ続けて次の認証項目を認証する。
【0082】
B)認証要求メッセージに含まれる認証要求情報のハッシュ値を計算し、且つ認証要求トランザクションに含まれる認証要求情報のハッシュ値と比較して、一致しなければ、該認証項目の認証結果がハッシュ値エラーであり、第一装置の認証が失敗することになる。そうでなければ続けて次の認証項目を認証する。
【0083】
C)認証要求情報に含まれる装置情報と認証要求メッセージの装置ID、MACアドレス、IPアドレス、ブランド、装置タイプ等を含む送信元装置情報と比較して、情報が一致しなければ、該認証項目の認証結果が不正装置であり、第一装置の認証が失敗することになる。そうでなければ続けて次の認証項目を認証する。
【0084】
D)要求装置の装置チャネル上のトランザクション履歴を照会して、トランザクション履歴数が指定された閾値より小さい場合、該認証項目の認証結果が信頼できない装置であり、第一装置の認証が失敗することになる。
【0085】
以上の認証がすべて成功すれば、認証結果では第一装置の認証が成功することになる。認証応答装置は認証要求装置の状態が認証済みであることを記録する。その後、認証応答装置は第一装置の認証結果を含む認証応答メッセージを認証要求装置に送信することができる。認証要求装置が認証応答メッセージを受信して、含まれる認証結果は第一装置の認証が成功したことである場合、今回の認証が成功したと確定される。
【0086】
以上の例示から分かるように、本発明の実施例は信頼できる第三者サーバ又はセキュアチャネルに依存せず、装置認証とサービスアクセス制御フローを実現することができる。本発明の実施例の認証方法において、装置は分散台帳によって認証とチャレンジハンドシェイクを完成して、認証要求装置は認証要求メッセージをend-to-end装置に送信し、且つ認証情報及びチャレンジ情報を含む認証要求トランザクションを分散台帳の装置チャネルに送信する。end-to-end装置は分散台帳において認証トランザクションを照会して読み取り、トランザクション情報を受信した認証情報及びチャレンジ情報と比較して、検証を完了する。本発明の実施例において、分散台帳に認証要求装置の装置チャネルを構築し、且つ認証履歴トランザクションを記録して、認証履歴トランザクションは信用値として装置の信頼性を評価することができることで、信頼できる第三者又は追加のハードウェアに提供されるセキュアチャネルに依存せず、装置に対する認証を実現することができる。
【0087】
次に本発明の実施例に係るサービスアクセス制御の方法について説明する。
【0088】
図5~6には、本発明の実施例に係るサービスアクセス制御の方法がそれぞれ第一装置と第二装置側に適用されるフローを示す。なお、
図5~6のフローは、第二装置が第一装置に対して単方向認証を完了した後に実行されてもよく、第一装置と第二装置とが双方の相互認証を完了した後に実行されてもよい。また、
図5~6のフローの前に、
図1~2の認証フローを経過せずに、従来技術の他の認証方式を用いることができ、あるいは第一装置と第二装置との間に装置認証が行われないことができ、本発明の実施例はこれを具体的に限定しない。
【0089】
図5に示すように、本発明の実施例に係るサービスアクセス制御の方法が第一装置側に適用される場合は、以下を含む。
【0090】
ステップ51において、第一装置は第二装置にサービスリストを要求し、且つ前記第二装置に提供される前記サービスリストの中からターゲットサービスを選択する。
【0091】
ここで、前記第一装置は第二装置に返信されたサービスリストを受信した後に、該サービスリストから必要なターゲットサービスを選択することができる。
【0092】
ステップ52において、前記第一装置はサービス要求情報を生成して、前記サービス要求情報は前記ターゲットサービス及びサービスアクセストークンを含む。
【0093】
ここで、前記サービスアクセストークンは分散台帳に記録かつ確認された第一装置から第二装置への決済トランザクションであってもよく、あるいは分散台帳以外の他のデジタル決済レシートであってもよく、本発明の実施例はこれを具体的に限定するものではない。
【0094】
ステップ53において、前記第一装置はサービス要求トランザクションを生成して第一装置チャネルに送信し、前記サービス要求トランザクションは前記サービス要求情報の第二ハッシュ値を含み、前記第一装置チャネルは分散台帳上に構築される。
【0095】
ここで、第二装置がサービス要求にテストを行うように、前記サービス要求トランザクションはさらに前記サービス要求トランザクションを生成する時の第二タイムスタンプを含むことができる。
【0096】
ステップ54において、前記第一装置は前記サービス要求情報を含むサービス要求メッセージを生成し、且つ前記第一装置の秘密鍵によって前記サービス要求メッセージに対してデジタル署名を行った後に第二装置に送信する。
【0097】
ステップ55において、前記第一装置は前記第二装置に返信されたサービス応答メッセージを受信して、前記サービス応答メッセージはサービス要求が通ったか否かを指示することに用いられる。
【0098】
ここで、前記第一装置はサービス応答メッセージを受信して、該サービス応答メッセージによりサービス要求が通ったことが指示された場合、第一装置は第二装置に提供される前記ターゲットサービスにアクセスし始めることができる。
【0099】
図6に示すように、本発明の実施例に係るサービスアクセス制御の方法が第二装置側に適用される場合は、以下を含む。
【0100】
ステップ61において、第二装置は第一装置に送信されたサービスリスト要求メッセージを受信し、且つ前記第一装置にサービスリストを提供する。
【0101】
ステップ62において、前記第二装置は前記第一装置に送信されたサービス要求メッセージを受信して、前記サービス要求メッセージはサービス要求情報を含む。前記サービス要求情報はターゲットサービス及びサービスアクセストークンを含む。
【0102】
ステップ63において、前記第一装置の認証状態が認証成功である場合、前記第二装置は前記第一装置の公開鍵によって前記サービス要求メッセージのデジタル署名を検証して、そして、デジタル署名の検証が成功した後、予め取得した第一装置チャネルの装置チャネル情報に基づき、前記第一装置チャネルにおいて、少なくとも前記サービス要求情報の第二ハッシュ値が含まれるサービス要求トランザクションを読み取って、前記第一装置チャネルは分散台帳上に構築される。
【0103】
ここで、第一装置チャネルの装置チャネル情報は、
図2に示されるフローにおいて取得かつ第二装置のローカルに記憶されてもよく、第二装置側に予め配置されたなど他の方式によって第二装置に提供されてもよく、本発明の実施例はこれに対して具体的に限定しない。
【0104】
ステップ64において、前記第二装置は少なくともサービス要求情報及び前記第二ハッシュ値に基づいてサービス要求テストを行い、サービス要求が通ったか否かのサービス要求テスト結果を取得する。
【0105】
ここで、上記ステップ64において、前記サービス要求テストは以下のテスト項目を含むことができ、且つ全てのテスト項目が通る時のみに、前記サービス要求が通ったサービステスト結果を取得する。
【0106】
(1)前記サービス要求メッセージに含まれる前記サービス要求情報の第四ハッシュ値を計算して、前記第四ハッシュ値が前記第二ハッシュ値と一致するか否かによって、ハッシュ値のテストが成功したかどうかのテスト結果を取得する。
【0107】
(2)前記サービスアクセストークンが有効なトークンであるか否かに基づいて、トークンテストが通ったか否かのテスト結果を取得する。
【0108】
ステップ65において、前記サービス要求テスト結果に基づいて、前記第一装置にサービス要求が通ったか否かを指示するためのサービス応答メッセージを送信する。
【0109】
以上のステップにより、本発明の実施例はサービスアクセス制御のプロセスを実現することができ、上記過程では、第三者認証センターが認証要求装置に対して実名検証を行うことを必要としないので、認証システムの配置コストを低減させ、サービスアクセス制御の効率を向上させることができ、また、本発明の実施例は匿名認証をサポートできて、サービスアクセス制御のプライバシーを向上させることができる。
【0110】
本発明の少なくとも一つの実施例によって、前記サービス要求トランザクションはさらに前記サービス要求トランザクションを生成する時の第二タイムスタンプを含むことができて、前記テスト項目はさらに以下を含む。
【0111】
(3)前記サービス要求メッセージの受信タイムスタンプと前記第二タイムスタンプとの第二間隔を計算して、前記第二間隔が予め設定された第二閾値より小さいか否かに基づいて、タイムアウトテストが通ったか否かのテスト結果を取得する。
【0112】
テストを必要とするすべてのテスト項目がテストし終わった後、前記サービス要求が通ったサービステスト結果を取得する。いずれかのテスト項目の認証が失敗した場合、他のテスト項目を実行せずにテストを終了することができ、且つ前記サービス要求が通っていないサービステスト結果を取得する。
【0113】
なお、以上のテスト項目のテストプロセスにおいて、予め設定された設定の順序に従って行うことができ、本発明の実施例はこれを具体的に限定するものではない。
【0114】
本発明の少なくとも一つの実施例によって、前記サービス要求テスト結果はサービス要求が通ったことである場合、前記第二装置はさらに前記第一装置を前記第二装置のサービスアクセスメンバーリストに追加することができる。そして、前記第一装置及び前記ターゲットサービスを含むサービスアクセスメンバーリスト更新トランザクションを生成する。暗号化鍵(対称鍵)によって前記サービスアクセスメンバーリスト更新トランザクションを暗号化した後、暗号化鍵により暗号化された前記サービスアクセスメンバーリスト更新トランザクションを前記第二装置のサービスチャネルに送信する。また、第二装置は前記暗号化鍵を前記第二装置の協力装置にシェアすることもできる。ここで、前記サービスチャネルは分散台帳に構築され、前記協力装置が前記サービスアクセスメンバーリスト内のメンバーにサービスを提供するように、前記第二装置の協力装置にサービスアクセスメンバーリストを提供する。
【0115】
本発明の少なくとも1つの実施例によって、前記サービスチャネルにおけるトランザクションは対称鍵を用いて暗号化することができる。サービスチャネルを構築する装置(例えば第一装置)が他の装置(以下協力装置と呼ぶ)と協力してサービスを提供する場合、当該構築装置は、サービスアクセスメンバーリストをシェアするように、協力装置に対称鍵を送信することができる。協力装置は該対称鍵を利用することができて、該構築装置におけるサービスアクセスメンバーリストを読み取り、且つサービスアクセスメンバーリストに含まれるメンバー装置と相互認証を完了した後に、該メンバー装置にサービスを提供することができる。
【0116】
図7には本発明の実施例に係る分散台帳に基づくサービスアクセス制御のインタラクションプロセスの例が示されて、サービス要求装置とサービス提供装置との間に応用される。
図7に示すサービス要求装置は、上述した第一装置と第二装置のうちの1つの装置であってもよく、サービス提供装置は、上述した第一装置と第二装置のうちのもう1つの装置である。
【0117】
図7に示すように、サービス要求装置は、サービス提供装置にサービスリスト要求メッセージを送信してサービスリストを取得し、所望のターゲットサービスを選択し、サービス要求装置チャネルにサービス要求トランザクションを送信、および、サービス要求メッセージをサービス提供装置に送信する。サービス提供装置はサービス要求メッセージを受信して、サービス要求装置のサービス要求装置チャネルにおいてサービス要求トランザクションを読み取って、サービス要求テストを実行し、テストが通った場合、サービス要求装置をサービスアクセスメンバーリストに追加することで、サービスアクセスメンバーリストを更新してサービスアクセスメンバーリスト更新トランザクションを生成し、かつ暗号化鍵によって暗号化した後サービスチャネルに送信、および暗号化鍵を共同で前記サービス要求装置にサービスを提供する協力装置にシェアさせる。また、サービス提供装置はさらに、サービステスト結果を含むサービス応答メッセージをサービス要求装置に送信する。
【0118】
本発明の少なくとも1つの実施例によって、
図7に示されるフローにおいて、各装置は分散台帳に当該装置の装置チャネルを構築することができ、装置チャネルにおけるトランザクションが公開であって、他の装置に読み取られることができる。
【0119】
本発明の実施例の上述したサービスアクセス制御フローをよりよく理解するために、以下では具体的な例を介して詳細に説明する。
【0120】
当該例示では、サービス提供装置は分散台帳にさらに一つのサービスチャネルを構築して、ブロックチェーン又はIOTAプロトコルにおいて、サービスチャネル構築方式は前述の装置チャネルの構築方式と同じである。サービス提供装置はサービスチャネル秘密鍵を用いて、サービスチャネルに送信されたトランザクションを対称的に暗号化することができる。サービスチャネルに送信されたトランザクションはサービスアクセスメンバーリスト更新トランザクションを含み、サービスアクセスメンバーリストは、指定された時間範囲内にサービスを正当的にアクセスできるユーザ装置を含む。サービス提供装置はサービスチャネルの暗号化鍵を他のサービス提供装置と共有させることができ、他のサービス提供装置はサービスチャネル秘密鍵を利用してサービスアクセスメンバーリストを読み取り、且つサービスチャネルを構築した装置と協力することができて、サービスアクセスメンバーリストの内のユーザ装置にサービスを提供する。
【0121】
サービス要求装置とサービス提供装置と相互認証が完了した後、サービス要求装置はサービス提供装置が提供するサービスリストを取得し、且つ必要なサービスを選択して、サービス要求情報を含むサービス要求メッセージを生成することができる。サービス要求情報は、具体的に、必要とされるサービス及びサービスアクセストークンを含む。サービス要求装置はタイムスタンプおよびサービス要求情報のハッシュ値を含むサービス要求トランザクションを生成して、サービス要求トランザクションをサービス要求装置の装置チャネルに送信する。続いて、サービス要求装置は秘密鍵でサービス要求メッセージにデジタル署名を行って、サービス提供装置に送信する。
【0122】
ここで、サービスアクセストークンは分散台帳においてサービス要求装置からサービス提供装置までの決済トランザクションであってもよく、例えばブロックチェーンのビットコイン決済トランザクション、あるいはIOTAのMIOTA決済トランザクションである。サービスアクセストークンは他のデジタル決済方法の受領書または決済証明書であってもよい。
【0123】
サービス提供装置がサービス要求メッセージを受信した後、まず該サービス要求メッセージのソース装置の状態が認証されたか否かを検査する。認証されていない場合、該サービス要求メッセージを破棄する。認証された場合、記憶された該ソース装置の公開鍵を利用して、該サービス要求メッセージのデジタル署名を検証し、署名が有効であればサービス要求テストを続けて行う。サービス提供装置はサービス要求装置の装置チャネルを照会して、サービス要求トランザクションを読み取り、且つ以下のテスト項目を実行する。
【0124】
A)ローカル時間とサービス要求トランザクションに含まれるタイムスタンプとの間の時間間隔を計算して、時間間隔が指定されたタイムアウト閾値より大きい場合、該テスト項目のテスト結果がタイムアウトであり、サービス要求が通っていない。そうでなければ次のテスト項目を続けてテストする。
【0125】
B)サービス要求メッセージに含まれるサービス要求情報のハッシュ値を計算して、サービス要求トランザクションに含まれるサービス要求情報のハッシュ値と一致しなければ、該テスト項目のテスト結果がハッシュ値エラーであり、サービス要求が通っていない。そうでなければ次のテスト項目を続けてテストする。
【0126】
C)サービス要求トークンの有効性を検証して、無効である場合はサービステスト結果が無効トークンであり、そうでなければ、サービス要求が通り、この時、サービス要求装置をサービスアクセスメンバーリストに追加して、前記サービス要求装置の装置情報を含むサービスアクセスメンバーリスト更新トランザクションを生成し、暗号化鍵によって前記サービスアクセスメンバーリスト更新トランザクションを暗号化し、かつサービスアクセスメンバーリスト更新トランザクションをサービスチャネルに送信して、サービスアクセスメンバーリストを更新し、さらに、暗号化鍵を共同で前記サービス要求装置にサービスを提供する協力装置にシェアさせることができる。
【0127】
サービステストを完了した後に、サービス提供装置はサービス要求のテスト結果を含むサービス応答メッセージをサービス要求装置に送信する。
【0128】
以上の方法に基づいて、本発明の実施例はさらに上記方法を実施する装置を提供する。
【0129】
図8に示すように、本発明の実施例は第一装置80を提供し、以下を含む。
【0130】
第一情報生成ユニット81であって、第一装置が認証要求情報を生成するように用いられる。
【0131】
第一トランザクション生成ユニット82であって、認証要求トランザクションを生成して、前記認証要求トランザクションを第一装置チャネルに送信し、前記認証要求トランザクションは前記第一装置の公開鍵と前記認証要求情報の第一ハッシュ値とを含み、前記第一装置チャネルは分散台帳上に構築される。
【0132】
第一メッセージ送信ユニット83であって、前記認証要求情報と前記第一装置チャネルの装置チャネル情報を含む認証要求メッセージを生成し、且つ前記第一装置の秘密鍵を利用して前記認証要求メッセージに対してデジタル署名を行った後に第二装置に送信する。
【0133】
第一メッセージ受信ユニット84であって、前記第二装置に返信された認証応答メッセージを受信して、前記認証応答メッセージは第一装置認証が成功したか否かを指示することに用いられる。
【0134】
それに、本発明の少なくとも一つの実施例に基づき、前記認証要求トランザクションはさらに前記認証要求トランザクションを生成する時の第一タイムスタンプを含むことができ、前記認証要求情報は乱数と前記第一装置の装置識別情報とを含み、前記装置識別情報は装置識別子、MACアドレス、IPアドレス、装置ブランド及び装置タイプのうちの少なくとも1つを含む。
【0135】
また、本発明の少なくとも一つの実施例によって、前記分散台帳がブロックチェーンである場合、前記装置チャネル情報は第一装置のブロックチェーンアカウントアドレスと前記第一装置チャネルにおける最後のトランザクションのハッシュ値を含み、前記分散台帳がIOTAである場合、前記装置チャネル情報はマスク認証メッセージMAMチャネルの識別子ID及び前記MAMチャネルにおける最初のトランザクションのアドレスを含む。
【0136】
さらに、本発明の少なくとも1つの実施例によって、前記第一装置はさらに以下のユニット(
図8には示されていない)を含む。
【0137】
秘密鍵更新ユニットは、前記第一装置の公開鍵と秘密鍵とを更新する。
【0138】
第三トランザクション生成ユニットは、更新後の公開鍵が含まれる秘密鍵取消トランザクションを生成し、前記秘密鍵取消トランザクションを前記第一装置チャネルに送信して、前記第一装置の公開鍵を更新する。
【0139】
図9に示すように、本発明の実施例は第二装置90を提供して、以下を含む。
【0140】
第二メッセージ受信ユニット91であって、第一装置から送信された認証要求メッセージを受信し、前記認証要求メッセージは認証要求情報と第一装置チャネルの装置チャネル情報とを含み、前記第一装置チャネルは分散台帳に構築された。
【0141】
第一トランザクション取得ユニット92であって、前記第一装置チャネルの装置チャネル情報に基づき、第一装置チャネルで認証要求トランザクションを読み取り、前記認証要求トランザクションは前記第一装置の公開鍵と前記認証要求情報の第一ハッシュ値とを含む。
【0142】
認証処理ユニット93であって、前記第一装置の公開鍵によって前記認証要求メッセージのデジタル署名を検証し、デジタル署名の検証が成功された後、少なくとも前記第一ハッシュ値に基づき前記第一装置に対して認証テストを行い、且つ認証結果を取得する。
【0143】
第二メッセージ送信ユニット94であって、前記認証結果に基づいて、前記第一装置の認証状態を記録し、且つ認証が成功したか否かを示すための認証応答メッセージを前記第一装置に送信する。
【0144】
また、本発明の少なくとも一つの実施例によって、前記認証処理ユニット93は更に、前記第一装置に対して認証テストを行う時に以下の認証項目を実行し、且つ全ての認証項目がともに成功した場合のみ、前記第一装置の認証が成功した認証結果を取得することに用いられる。
【0145】
前記認証要求メッセージに含まれる前記認証要求情報の第三ハッシュ値を計算して、前記第三ハッシュ値が前記第一ハッシュ値と一致するか否かによって、ハッシュ値の認証が成功したかどうかの認証結果を取得する。
【0146】
それに、本発明の少なくとも一つの実施例に基づき、前記認証要求トランザクションはさらに前記認証要求トランザクションを生成する時の第一タイムスタンプを含むことができ、前記認証要求情報は乱数と前記第一装置の装置識別情報とを含み、前記認証項目はさらに以下の少なくとも一つを含むことが可能である。
【0147】
前記認証要求メッセージの受信タイムスタンプと前記第一タイムスタンプとの第一間隔を計算して、前記第一間隔が予め設定された第一閾値より小さいか否かに基づいて、タイムアウト認証が成功したか否かのテスト結果を取得する。
【0148】
前記認証要求情報における装置識別情報が前記認証要求メッセージの送信装置とマッチングするか否かに基づいて、装置正当性認証が成功したか否かのテスト結果を取得する。
【0149】
前記第一装置チャネルにおけるトランザクション履歴記録を照会して、前記トランザクション履歴記録の数が予め設定された数より大きいか否かに基づいて、装置の信頼性認証が成功したか否かのテスト結果を取得する。
【0150】
図10に示すように、本発明の実施例はほかの第一装置100を提供し、以下を含む。
【0151】
サービス選択ユニット101は、前記第二装置にサービスリストを要求し、且つ前記第二装置に提供される前記サービスリストの中からターゲットサービスを選択する。
【0152】
第二情報生成ユニット102は、サービス要求情報を生成して、前記サービス要求情報は前記ターゲットサービス及びサービスアクセストークンを含む。
【0153】
第二トランザクション生成ユニット103は、サービス要求トランザクションを生成して、前記サービス要求情報の第二ハッシュ値が含まれる前記サービス要求トランザクションを前記第一装置チャネルに送信する。前記第一装置チャネルは分散台帳上に構築される。
【0154】
第三メッセージ送信ユニット104は、前記サービス要求情報を含むサービス要求メッセージを生成し、且つ前記第一装置の秘密鍵によって前記サービス要求メッセージに対してデジタル署名を行った後に第二装置に送信する。
【0155】
第三メッセージ受信ユニット105は、前記第二装置に返信されたサービス応答メッセージを受信して、前記サービス応答メッセージはサービス要求が通ったか否かを指示することに用いられる。
【0156】
それに、本発明の少なくとも一つの実施例によって、前記サービス要求トランザクションはさらに前記サービス要求トランザクションを生成する時の第二タイムスタンプを含む。
【0157】
図11に示すように、本発明の実施例はほかの第二装置110を提供し、以下を含む。
【0158】
第四メッセージ受信ユニット111は、前記第一装置に送信されたサービスリスト要求メッセージを受信し、且つ前記第一装置にサービスリストを提供し、および前記第一装置に送信されたサービス要求メッセージを受信して、前記サービス要求メッセージはサービス要求情報を含み、前記サービス要求情報はターゲットサービス及びサービスアクセストークンを含む。
【0159】
第二トランザクション取得ユニット112は、前記第一装置の認証状態が認証成功である場合、前記第一装置の公開鍵によって前記サービス要求メッセージのデジタル署名を検証して、そして、デジタル署名の検証が成功した後、予め取得した第一装置チャネルの装置チャネル情報に基づき、前記第一装置チャネルにおいて、少なくとも前記サービス要求情報の第二ハッシュ値が含まれるサービス要求トランザクションを読み取って、前記第一装置チャネルは分散台帳上に構築される。
【0160】
サービス要求テストユニット113は、少なくともサービス要求情報及び前記第二ハッシュ値に基づいてサービス要求テストを行い、サービス要求が通ったか否かのサービス要求テスト結果を取得する。
【0161】
第四メッセージ送信ユニット114は、前記サービス要求テスト結果に基づいて、前記第一装置にサービス要求が通ったか否かを指示するためのサービス応答メッセージを送信する。
【0162】
また、本発明の少なくとも一つの実施例によって、前記サービス要求テストユニット113は、さらに少なくともサービス要求情報及び前記第二ハッシュ値に基づいてサービス要求テストを行う時に、以下のテスト項目を実行し、且つ全てのテスト項目が通った時のみ、前記サービス要求が通ったサービステスト結果を取得することに用いられる。
【0163】
前記サービス要求メッセージに含まれる前記サービス要求情報の第四ハッシュ値を計算して、前記第四ハッシュ値と前記第二ハッシュ値とが一致するか否かによって、ハッシュ値のテストが成功したかどうかのテスト結果を取得し、前記サービスアクセストークンが有効なトークンであるか否かに基づいて、トークンテストが通ったか否かのテスト結果を取得する。
【0164】
それに、本発明の少なくとも一つの実施例によって、前記サービス要求トランザクションはさらに前記サービス要求トランザクションを生成する時の第二タイムスタンプを含み、前記テスト項目はさらに以下を含む。
【0165】
前記サービス要求メッセージの受信タイムスタンプと前記第二タイムスタンプとの第二間隔を計算して、前記第二間隔が予め設定された第二閾値より小さいか否かに基づいて、タイムアウトテストが通ったか否かのテスト結果を取得する。
【0166】
さらに、本発明の少なくとも1つの実施例によって、前記第二装置はさらに以下のユニット(
図11には示されていない)を含む。
【0167】
メンバーリスト更新ユニットは、前記サービス要求テスト結果においてサービス要求が通った時に、前記第一装置を前記第二装置のサービスアクセスメンバーリストに追加する。
【0168】
メンバーリストトランザクション生成ユニットは、前記第一装置および前記ターゲットサービスが含まれるサービスアクセスメンバーリスト更新トランザクションを生成して、暗号化鍵により暗号化された前記サービスアクセスメンバーリスト更新トランザクションを前記第二装置のサービスチャネルに送信、および、前記暗号化鍵を前記第二装置の協力装置にシェアさせて、そのうち、前記サービスチャネルは分散台帳に構築され、前記協力装置が前記サービスアクセスメンバーリスト内のメンバーにサービスを提供するように、前記第二装置の協力装置にサービスアクセスメンバーリストを提供する。
【0169】
図12に、本発明の実施例の第一装置又は第二装置のハードウェア構造のブロック図が示され、
図12に示すように、該第一装置又は第二装置1200は、プロセッサ1202とメモリ1204とを含み、前記メモリ1204にコンピュータプログラムコマンドが格納される。
【0170】
さらに、
図12に示すように、該第一装置又は第二装置1200はさらにネットワークインターフェース1201、入力装置1203、ハードディスク1205、及び表示装置1206を含むことができる。
【0171】
上記各インターフェースとデバイスとの間にはバスアーキテクチャーを介して連接し合う。バスアーキテクチャーは任意数のコンポーネントインターコネクトされるバスとブリッジとを含むことができる。具体的には、プロセッサ1202が代表する一つまたは複数の中央プロセッサ(CPU)およびメモリ1204が代表する一つまたは複数のメモリの各種回路とが連接されている。バスアーキテクチャーは周辺装置、定電圧器と電源管理回路などの各種ほかの回路を一緒に連接させることができる。言うまでもなく、バスアーキテクチャーはこれらのユニットの間の連接通信を実現するために用いられる。バスアーキテクチャーはデータバスのほか、電源バスと、制御バスと、状態信号バスとを含むことは当分野において公知され、詳細な説明を省略する。
【0172】
前記ネットワークインターフェース1201はネットワーク(例えばインターネット、ローカルエリアネットワーク等)に接続されてもよく、ネットワークからデータを収集し、収集されたデータをハードディスク1205に保存してもよい。
【0173】
前記入力装置1203は作業員より入力された各種のコマンドを受け取り、かつプロセッサ1202に発送して実行されることができる。前記入力装置1203はキーボードまたはクリックデバイス(例えばマウス、軌跡球(トラックボール)、接触感知板またはタッチスクリーンなど)を含むことができる。
【0174】
前記表示装置1206はプロセッサ1202がコマンドを実行して得た結果を表示できる。
【0175】
前記メモリ1204は、システム稼動時に必須なプログラムとデータ、およびプロセッサ1202の計算過程における中間結果などのデータを記憶するように用いられる。
【0176】
理解できるように、本発明の実施例におけるメモリ1204は揮発性メモリまたは不揮発性メモリでもよく、あるいは揮発性メモリと不揮発性メモリとの両者を含むことが可能である。そこで、不揮発性メモリは読み出し専用メモリ(ROM)で、プログラマブル読み出し専用メモリ(PROM)で、消去可能なプログラマブル読み出し専用メモリ(EPROM)で、電気的に消去可能なプログラマブル読み出し専用メモリ(EEPROM)でもよい。揮発性メモリはランダムアクセスメモリ(RAM)でもよく、外部キャッシュとして用いられる。本明細書に記載の装置と方法のメモリ1204はこれらおよび任意のほかの適合類型のメモリを含むが、限られることではない。
【0177】
いくつかの実施例において、メモリ1204は、実行可能なモジュールまたはデータ構造、あるいはそれらのサブ集合または拡張集合、オペレーティングシステム12041とアプリケーションプログラム12042を格納している。
【0178】
ここで、オペレーティングシステム12041は、各種のシステムプログラムを含み、例えばフレーム層、コアライブラリ層、ドライブ層等であり、各種のベースサービス及びハードウェアベースのタスクを処理することに用いられる。アプリケーションプログラム12042は各種のアプリケーション業務を実現するように、例えばブラウザー(Browser)などの各種アプリケーションプログラムを含む。本発明の実施例の方法を実現するプログラムはアプリケーションプログラム12042に含まれることが可能である。
【0179】
本発明の上述した実施例に開示された方法は、プロセッサ1202に適用されてもよいし、プロセッサ1202によって実現されてもよい。プロセッサ1202は信号の処理能力を持つ集積回路チップであってもよい。実現過程では、上記方法の各ステップはプロセッサ1202内のハードウェアの集積ロジック回路またはソフトウェア形式のコマンドによって完成できる。上述したプロセッサ1202は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他のプログラマブル論理デバイス、ディスクリートゲートまたはトランジスタ論理デバイス、ディスクリートハードウェアコンポーネントであってもよく、本発明の実施例により開示された各方法、ステップおよび論理ブロック図を実現または実行することができる。汎用プロセッサはマイクロプロセッサまたはいかなる常用的なプロセッサであっても良い。本発明の実施例より公開された方法のステップと結合して直接にできるのは、ハードウェアデコーダプロセッサより実行して完成、またはデコーダプロセッサ内のハードウェアおよびソフトウェアモジュールの組み合わせによって実行して完成することである。ソフトウェアモジュールはランダムメモリ、フラッシュメモリ、読み出し専用メモリ、プログラマブル読み出し専用メモリまたは電気的に消去可能なプログラマブルメモリ、レジスタなどの当分野において成熟された記録媒体に位置することが可能である。当該記録媒体はメモリ1204にあり、プロセッサ1202はメモリ1204内の情報を読み取って、そのハードウェアと結合して上記方法のステップを完成する。
【0180】
理解できるのは、本明細書に記載されたこれらの実施例に、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコードまたはその組み合わせによって実現できる。ハードウェア実装のために、処理ユニットは、1つ以上の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理装置(DSPD)、プログラマブル論理装置(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、汎用プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、本願に記載された機能を実行するための他の電子ユニットまたはそれらの組合せを実装することができる。
【0181】
ソフトウェアの実現について、本明細書に記載された前記機能を実行するモジュール(例えばプロセス、関数など)によって本明細書の前記技術を実現できる。ソフトウェアコードはメモリに格納、かつプロセッサによって実行することが可能である。メモリはプロセッサ内またはプロセッサ外部において実現できる。
【0182】
本発明の少なくとも1つの実施例によって、該装置1200は
図1に示されるフローにおける第一装置であることができる。この場合、前記コンピュータプログラムコマンドが前記プロセッサにより実行される時、前記プロセッサ1202に、認証要求情報を生成するステップと、認証要求トランザクションを生成して、前記認証要求トランザクションを第一装置チャネルに送信し、前記認証要求トランザクションは前記第一装置の公開鍵と前記認証要求情報の第一ハッシュ値とを含み、前記第一装置チャネルは分散台帳上に構築されるステップと、前記認証要求情報と前記第一装置チャネルの装置チャネル情報を含む認証要求メッセージを生成し、且つ前記第一装置の秘密鍵を利用して前記認証要求メッセージに対してデジタル署名を行った後に第二装置に送信するステップと、前記第二装置に返信された認証応答メッセージを受信して、前記認証応答メッセージは第一装置認証が成功したか否かを指示することに用いられるステップと、を実行させる。
【0183】
それに、本発明の少なくとも一つの実施例に基づき、前記認証要求トランザクションはさらに前記認証要求トランザクションを生成する時の第一タイムスタンプを含むことができ、前記認証要求情報は乱数と前記第一装置の装置識別情報とを含み、前記装置識別情報は装置識別子、MACアドレス、IPアドレス、装置ブランド及び装置タイプのうちの少なくとも1つを含む。
【0184】
また、本発明の少なくとも一つの実施例によって、前記分散台帳がブロックチェーンである場合、前記装置チャネル情報は第一装置のブロックチェーンアカウントアドレスと前記第一装置チャネルにおける最後のトランザクションのハッシュ値を含み、前記分散台帳がアイオータ(IOTA)である場合、前記装置チャネル情報はマスク認証メッセージMAMチャネルの識別子ID及び前記MAMチャネルにおける最初のトランザクションのアドレスを含む。
【0185】
また、本発明の少なくとも一つの実施例によって、前記コンピュータプログラムはプロセッサ1202に実行された時に、前記第一装置の公開鍵と秘密鍵を更新するステップと、更新後の公開鍵を含む秘密鍵取消トランザクションを生成するステップと、前記秘密鍵取消トランザクションを前記第一装置チャネルに送信して、前記第一装置の公開鍵を更新するステップと、を実行させる。
【0186】
本発明の少なくとも1つの実施例によって、該装置1200はさらに
図2に示されるフローにおける第二装置であることができる。この場合、前記コンピュータプログラムコマンドが前記プロセッサにより実行される時、前記プロセッサ1202に、第一装置から送信された認証要求メッセージを受信し、前記認証要求メッセージは認証要求情報と第一装置チャネルの装置チャネル情報とを含み、前記第一装置チャネルは分散台帳に構築されたステップと、前記第一装置チャネルの装置チャネル情報に基づき、第一装置チャネルで認証要求トランザクションを読み取り、前記認証要求トランザクションは前記第一装置の公開鍵と前記認証要求情報の第一ハッシュ値とを含むステップと、前記第一装置の公開鍵によって前記認証要求メッセージのデジタル署名を検証し、デジタル署名の検証が成功された後、少なくとも前記第一ハッシュ値に基づき前記第一装置に対して認証テストを行い、且つ認証結果を取得するステップと、前記認証結果に基づいて、前記第一装置の認証状態を記録し、且つ前記第一装置に認証が成功したか否かを示す認証応答メッセージを送信するステップと、を実行させる。
【0187】
また、本発明の少なくとも一つの実施例によって、前記コンピュータプログラムはプロセッサ1202に実行された時に、前記第一装置に対して認証テストを行う時に以下の認証項目を実行し、且つ全ての認証項目がともに成功した場合のみ、前記第一装置の認証が成功した認証結果を取得するステップと、前記認証要求メッセージに含まれる前記認証要求情報の第三ハッシュ値を計算して、前記第三ハッシュ値が前記第一ハッシュ値と一致するか否かによって、ハッシュ値の認証が成功したかどうかの認証結果を取得するステップと、を実行させる。
【0188】
それに、本発明の少なくとも一つの実施例に基づき、前記認証要求トランザクションはさらに前記認証要求トランザクションを生成する時の第一タイムスタンプを含むことができ、前記認証要求情報は乱数と前記第一装置の装置識別情報とを含み、前記認証項目はさらに、前記認証要求メッセージの受信タイムスタンプと前記第一タイムスタンプとの第一間隔を計算して、前記第一間隔が予め設定された第一閾値より小さいか否かに基づいて、タイムアウト認証が成功したか否かのテスト結果を取得することと、前記認証要求情報における装置識別情報が前記認証要求メッセージの送信装置とマッチングするか否かに基づいて、装置正当性認証が成功したか否かのテスト結果を取得することと、前記第一装置チャネルにおけるトランザクション履歴記録を照会して、前記トランザクション履歴記録の数が予め設定された数より大きいか否かに基づいて、装置の信頼性認証が成功したか否かのテスト結果を取得することと、の少なくとも一つを含む。
【0189】
本発明の少なくとも一つの実施例によって、該装置1200は
図5に示されるフローにおける第一装置であることができる。この場合、前記コンピュータプログラムコマンドが前記プロセッサにより実行される時、前記プロセッサ1202に、第二装置にサービスリストを要求し、且つ前記第二装置に提供される前記サービスリストの中からターゲットサービスを選択するステップと、サービス要求情報を生成して、前記サービス要求情報は前記ターゲットサービス及びサービスアクセストークンを含むステップと、サービス要求トランザクションを生成して、前記サービス要求情報の第二ハッシュ値が含まれる前記サービス要求トランザクションを第一装置チャネルに送信して、前記第一装置チャネルは分散台帳上に構築されるステップと、前記サービス要求情報を含むサービス要求メッセージを生成し、且つ前記第一装置の秘密鍵によって前記サービス要求メッセージに対してデジタル署名を行った後に第二装置に送信するステップと、前記第二装置に返信されたサービス応答メッセージを受信して、前記サービス応答メッセージはサービス要求が通ったか否かを指示することに用いられるステップと、を実行させる。
【0190】
それに、本発明の少なくとも一つの実施例によって、前記サービス要求トランザクションはさらに前記サービス要求トランザクションを生成する時の第二タイムスタンプを含む。
【0191】
本発明の少なくとも1つの実施例によって、該装置1200はさらに
図6に示されるフローにおける第二装置であることができる。この場合、前記コンピュータプログラムコマンドが前記プロセッサにより実行される時、前記プロセッサ1202に、第一装置に送信されたサービスリスト要求メッセージを受信し、且つ前記第一装置にサービスリストを提供するステップと、前記第一装置に送信されたサービス要求メッセージを受信して、前記サービス要求メッセージはサービス要求情報を含み、前記サービス要求情報はターゲットサービス及びサービスアクセストークンを含むステップと、前記第一装置の認証状態が認証成功である場合、前記第二装置は前記第一装置の公開鍵によって前記サービス要求メッセージのデジタル署名を検証して、そして、デジタル署名の検証が成功した後、予め取得した第一装置チャネルの装置チャネル情報に基づき、前記第一装置チャネルにおいて、少なくとも前記サービス要求情報の第二ハッシュ値が含まれるサービス要求トランザクションを読み取って、前記第一装置チャネルは分散台帳上に構築されるステップと、少なくともサービス要求情報及び前記第二ハッシュ値に基づいてサービス要求テストを行い、サービス要求が通ったか否かのサービス要求テスト結果を取得するステップと、前記サービス要求テスト結果に基づいて、前記第一装置にサービス要求が通ったか否かを指示するためのサービス応答メッセージを送信するステップと、を実行させる。
【0192】
また、本発明の少なくとも一つの実施例によって、前記コンピュータプログラムはプロセッサ1202に実行された時に、サービス要求テストを行う時は以下のテスト項目実行し、且つ全てのテスト項目が通る時のみに、前記サービス要求が通ったサービステスト結果を取得するステップと、前記サービス要求メッセージに含まれる前記サービス要求情報の第四ハッシュ値を計算して、前記第四ハッシュ値と前記第二ハッシュ値とが一致するか否かによって、ハッシュ値のテストが成功したかどうかのテスト結果を取得し、前記サービスアクセストークンが有効なトークンであるか否かに基づいて、トークンテストが通ったか否かのテスト結果を取得するステップと、を実行させる。
【0193】
それに、本発明の少なくとも一つの実施例によって、前記サービス要求トランザクションはさらに前記サービス要求トランザクションを生成する時の第二タイムスタンプを含み、前記テスト項目は、前記サービス要求メッセージの受信タイムスタンプと前記第二タイムスタンプとの第二間隔を計算して、前記第二間隔が予め設定された第二閾値より小さいか否かに基づいて、タイムアウトテストが通ったか否かのテスト結果を取得することを含む。
【0194】
また、本発明の少なくとも一つの実施例によって、前記コンピュータプログラムはプロセッサ1202に実行された時に、前記サービス要求テスト結果においてサービス要求が通った時に、前記第一装置を前記第二装置のサービスアクセスメンバーリストに追加するステップと、前記第一装置及び前記ターゲットサービスが含まれるサービスアクセスメンバーリスト更新トランザクションを生成するステップと、暗号化鍵により暗号化された前記サービスアクセスメンバーリスト更新トランザクションを前記第二装置のサービスチャネルに送信し、および、前記暗号化鍵を前記第二装置の協力装置にシェアさせて、そこで、前記サービスチャネルは分散台帳に構築され、前記協力装置が前記サービスアクセスメンバーリスト内のメンバーにサービスを提供するように、前記第二装置の協力装置にサービスアクセスメンバーリストを提供するステップと、を実行させる。
【0195】
当業者にとって、本明細書により公開された実施例の各例示したユニットおよびアルゴリズムステップと結合して、電子ハードウェアまたはコンピュータソフトウェアと電子ハードウェアとの結合によって実現させることができる。これらの機能はハードウェアまたはソフトウェアによって実行させることは、技術方案の特定応用や設計制約条件に決められる。当業者は特定された各応用に応じて異なる方法を用いて前記機能を実現できるが、この実現は本発明の範囲を超えるものと見なすべきではない。
【0196】
当業者にとって、説明を便利と簡潔にするために、上記のシステム、装置とユニットの具体的な作業過程に関して、前記方法実施例における対応過程を参考でき、ここで贅言をしない。
【0197】
本願より提供した実施例において、記載された方法と装置をほかの方法でも実現できることは言うまでも無い。例えば、上記記述された装置実施例は例示的のみであり、たとえば、前記モジュールの区画はロジック機能区画のみであり、実際ではほかの区画方法で実現することも可能である。例えば、複数のモジュールまたはユニットで結合またはほかのシステムに集成して、あるいはある特徴が無視でき、または実行されなくてもよい。もう1つ、示しまたは議論された相互間の結合または直接結合または通信連接はインターフェース、装置またはモジュールを介した間接結合または通信連接であってもよし、電気的、機械またはほかの形式であってもよい。
【0198】
前記分離部材として説明したユニットは物理的に分離されてもよいが、されなくてもよく、ユニットとして表示された部材は物理ユニットであってもよいが、でなくてもよく、すなわち1カ所に位置してもよく、複数のネットワークユニットに配布されてもよい。実際のニーズに応じてその一部またはすべてのユニットを選択して本発明の実施例方案の目的を実現することができる。
【0199】
また、本発明の各実施例における各機能的なユニットをひとつのプロセスユニットに集成することも可能が、各ユニットが物理的に単独で存在することも可能で、または二つあるいは二つ以上のユニットが1つのユニットに集成することも可能である。
【0200】
前記機能がソフトウェア機能ユニットの形式で実現し、かつ独立した製品で販売または使用する場合に、コンピュータ読み取り可能な記録媒体に格納することができる。上記により、本発明の技術方案の本質、あるいは従来技術に対して貢献する部分、または当該技術方案の一部をソフトウェアプロダクトの形式で実現することができ、当該コンピュータソフトウェアプロダクトは記録媒体に記憶されて、若干のコマンドを含んでコンピュータ装置(パーソナルコンピュータ、サーバ或いはネットワーク設備などでも可能)に本願の各実施例に記載した前記方法の全部または一部のステップを実行させる。前記の記録媒体は以下を含む:USB、移動ハードディスク、ROM、RAM、磁気ディスクまたは光ディスクなど各種のプログラムコードを記憶できる媒体を含む。
【0201】
上記は本発明の具体的な実施方式であり、本発明の保護範囲はこれに限らず、当業者にとって、本発明に公開された技術範囲において、変化また入れ替えを容易に想起でき、いずれも本発明の保護する範囲に含まれる。そのため、本発明の保護範囲はクレームの保護範囲を元にすべきである。