(57)【要約】許可アクセスのためのクライアント装置、サーバー装置及びアクセス制御システムが開示されており、当該クライアント装置は、保護されているリソースへの許可アクセスのための要求を生成し、当該要求をサーバー装置に送信するように配置されている要求生成ユニットと、要求を、分散化された分散型データベースであり且つその中の記録が変更不可であるパブリックデータベースに記録するように配置されている記録ユニットと、サーバー装置が要求に応答して送信した応答情報を利用して、保護されているリソースにアクセスするための対応操作を実行するように配置されているアクセスユニットを含む。本開示の実施例によれば、リプレイ攻撃や中間者攻撃などのネットワーク攻撃を効果的に阻止し、許可されたデータのアクセスセキュリティを向上することができる。【選択図】図１
2019500799.tif 000002
【特許請求の範囲】
【請求項１】
許可アクセスのためのクライアント装置であって、
保護されているリソースへの許可アクセスのための要求を生成して、前記要求をサーバー装置に送信するように配置されている要求生成ユニットと、
前記要求を、分散化された分散型データベースであり、且つその中の記録が変更不可であるパブリックデータベースに記録するように配置されている記録ユニットと、
前記サーバー装置の前記要求に応答して送信した応答情報を利用して、前記保護されているリソースへアクセスするための対応操作を実行するように配置されているアクセスユニットと、
を含むクライアント装置。
【請求項２】
前記パブリックデータベースはブロックチェーンを含む、請求項1に記載のクライアント装置。
【請求項３】
前記要求生成ユニットは、さらに、クライアント秘密鍵により前記要求に署名して署名された要求を前記サーバー装置に送信するように配置されており、
前記記録ユニットは、さらに、署名された要求を前記パブリックデータベースに記録するように配置されている、請求項1に記載のクライアント装置。
【請求項４】
前記要求生成ユニットは、さらに、また前記パブリックデータベースにおける前記要求の位置情報を前記サーバー装置に送信するように配置されている、請求項1に記載のクライアント装置。
【請求項５】
前記アクセスユニットは、さらに、サーバー公開鍵により前記パブリックデータベースにおける前記応答情報の記録を検証し、前記検証された結果に応じて前記対応操作を実行するように配置されている、請求項1に記載のクライアント装置。
【請求項６】
前記サーバー装置は、許可サーバーとリソースサーバーとを含む、請求項1に記載のクライアント装置。
【請求項７】
前記要求には、前記許可サーバーに送信される、許可アクセス証明書に対する要求が含まれており、前記応答情報には、前記許可サーバーからの許可アクセス証明書が含まれる、請求項6に記載のクライアント装置。
【請求項８】
前記許可アクセス証明書には、前記保護されているリソースに関する制限情報が含まれる、請求項7に記載のクライアント装置。
【請求項９】
前記制限情報は、前記保護されているリソースのマネージャの識別子と、前記クライアント装置のアクセスが許可されるリソースと、前記許可アクセス証明書の有効期間とを含む、請求項8に記載のクライアント装置。
【請求項１０】
前記制限情報には、さらに、前記有効期間内のアクセス回数の設置が含まれており、前記アクセスユニットは、前記アクセス回数の設置に応じて前記保護されているリソースにアクセスするための対応操作を実行する、請求項9に記載のクライアント装置。
【請求項１１】
前記要求には、前記リソースサーバーに送信されるデータアクセス要求が含まれ、前記応答情報には、前記リソースサーバーからのデータリソースが含まれる、請求項6に記載のクライアント装置。
【請求項１２】
前記許可サーバーと前記リソースサーバーとは、同一のサーバーである、請求項6に記載のクライアント装置。
【請求項１３】
許可アクセスのためのサーバー装置であって、
クライアント装置からの、保護されているリソースへの許可アクセスの要求に応答して対応している応答情報を生成して、前記応答情報を前記クライアント装置に送信するように配置されている応答生成ユニットと、
前記応答情報を、分散化された分散型データベースであり、且つその中の記録が変更不可であるパブリックデータベースに記録するように配置されている記録ユニットと、
を含むサーバー装置。
【請求項１４】
前記パブリックデータベースは、ブロックチェーンを含む、請求項13に記載のサーバー装置。
【請求項１５】
前記応答生成ユニットは、さらに、サーバー秘密鍵により前記応答情報に署名して、署名された応答情報を前記クライアント装置に送信するように配置されており、
前記記録ユニットは、さらに、署名された応答情報を前記パブリックデータベースに記録するように配置されている、請求項13に記載のサーバー装置。
【請求項１６】
前記応答生成ユニットは、さらに、前記パブリックデータベースにおける前記応答情報の位置情報も前記クライアント装置に送信するように配置されている、請求項13に記載のサーバー装置。
【請求項１７】
前記応答生成ユニットは、さらに、クライアント公開鍵により前記パブリックデータベースにおける前記要求の記録を検証して、前記検証の結果に応じて前記応答情報を生成するように配置されている、請求項13に記載のサーバー装置。
【請求項１８】
前記サーバー装置は、許可サーバーとリソースサーバーとを含む、請求項13に記載のサーバー装置。
【請求項１９】
前記要求には、前記許可サーバーに送信される、許可アクセス証明書に対する要求が含まれており、前記応答情報には、前記許可サーバーからの許可アクセスの証明書が含まれる、請求項18に記載のサーバー装置。
【請求項２０】
前記許可アクセス証明書には、前記保護されているリソースに関する制限情報が含まれる請求項19に記載のサーバー装置。
【請求項２１】
前記制限情報は、前記保護されているリソースのマネージャの識別子と、前記クライアント装置のアクセスが許可されるリソースと、前記許可アクセス証明書の有効期間とを含む、請求項20に記載のサーバー装置。
【請求項２２】
前記制限情報には、さらに前記有効期間内のアクセス回数の設置が含まれ、前記応答生成ユニットは、前記クライアント装置の前記保護されているリソースへのアクセスに応じて前記アクセス回数の設置をデクリメントし、前記記録ユニットは、デクリメントされたアクセス回数の設置を前記パブリックデータベースに記録する、請求項21に記載のサーバー装置。
【請求項２３】
前記要求には、前記リソースサーバーに送信されるデータアクセス要求が含まれ、前記応答情報には、前記リソースサーバーからのデータリソースが含まれる、請求項18に記載のサーバー装置。
【請求項２４】
前記許可サーバーと前記リソースサーバーとは、同一のサーバーである、請求項18に記載のサーバー装置。
【請求項２５】
クライアント装置と、サーバー装置と、分散化された分散型データベースであり且つその中の記録が変更不可であるパブリックデータベースとを含む許可アクセスのための制御システムであって、
前記クライアント装置は、
保護されているリソースへの許可アクセスのための要求を生成し、前記要求を前記サーバー装置に送信するように配置されている要求生成ユニットと、
前記要求を前記パブリックデータベースに記録するように配置されている第1の記録ユニットと、
前記サーバー装置が前記要求に応答して送信した応答情報を利用して、前記保護されているリソースにアクセスするための対応操作を実行するように配置されているアクセスユニットとを含み、
前記サーバー装置は、
前記要求に応答して対応している応答情報を生成して、前記応答情報を前記クライアント装置に送信するように配置されている応答生成ユニットと、
前記応答情報をパブリックデータベースに記録するように配置されている第2の記録ユニットとを含むアクセス制御システム。
【請求項２６】
クライアント装置で実行される許可アクセスのための方法であって、
保護されているリソースへの許可アクセスのための要求を生成し、前記要求をサーバー装置に送信し、
前記要求を、分散化された分散型データベースであり且つその中の記録が変更不可であるパブリックデータベースに記録し、
前記サーバー装置が前記要求に応答して送信した応答情報を利用して、前記保護されているリソースにアクセスするための対応操作を実行することを含む方法。
【請求項２７】
サーバー装置で実行される許可アクセスのための方法であって、
クライアント装置からの、保護されているリソースへの許可アクセスの要求に応答して対応している応答情報を生成して、前記応答情報を前記クライアント装置に送信し、
前記応答情報を、分散化された分散型データベースであり且つその中の記録が変更不可であるパブリックデータベースに記録することを含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、2015年12月23日に中国専利局に提出した、出願番号が201510977455.3であって、発明の名称が「許可アクセスのためのクライアント装置、サーバー装置及びアクセス制御システム」である中国特許出願の優先権を主張し、本願で、その全ての内容を援用するものとする。
【０００２】
本開示は、情報セキュリティ及びアクセス制御技術に関し、より具体的に、分散化されたパブリックデータベースを利用して安全な許可アクセスを実現するクライアント装置、サーバー装置、アクセス制御システム及び対応している方法に関する。
【背景技術】
【０００３】
アクセス制御は、すべてのコンピュータシステムが係る必要とするメカニズムであり、クライアント／サーバーシステム、クライアント／ブラウザーシステム、クラウドシステムのいずれも、最も簡単なユーザー名／パスワードから、広く使用されている認証コード／検証コード（CAPTCHA）、ならびに現在広く使用されているSMS認証コード、ハードウェアに基づくUKeyなどが利用されている。なお、SMS認証コードとUKeyの何れも、外部デバイスのサポートを必要する。アクセス制御プロセスは、アクセス依頼の真実性と有効性とを特定することに最も重要なものである。真実性と有効性の判断によって、ネットワーク攻撃の一部、例えば、リプレイ攻撃や、中間者攻撃を効果的に阻止することができ、さらに、DoS攻撃（denial-of-service  attack）のリスクを軽減することもできる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
以下では、本開示に関する簡単な概説を説明して、本開示のある局面に関する基本的理解を提供する。この概説が本開示に関する取り尽くし的概説ではないと理解すべきである。それは、本開示の肝心又は重要部分を意図的に特定することではなく、本開示の範囲を意図的に限定することでもない。その目的は、簡素化の形式で、ある概念を提供して、後に論述するより詳しい技術の前述とするものである。
【０００５】
以上のような問題に鑑み、本開示は、ネットワーク攻撃の一部を効果的に阻止することができる許可アクセスのためのクライアント装置、サーバー装置、アクセス制御システム及び対応している方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本開示の一局面によれば、保護されているリソースへの許可アクセスのための要求を生成し、当該要求をサーバー装置に送信するように配置されている要求生成ユニットと、当該要求を、分散化された分散型データベースであり且つその中の記録が変更不可であるパブリックデータベースに記録するように配置されている記録ユニットと、サーバー装置が要求に応じて送信した応答情報を利用して、保護されているリソースにアクセスするための対応操作を実行するように配置されているアクセスユニットとを含むクライアント装置を提供する。
【０００７】
本開示の好適な実施例によれば、パブリックデータベースはブロックチェーン（Blockchain）を含む。
【０００８】
本開示の他の一つの好適な実施例によれば、要求生成ユニットは、さらに、クライアント秘密鍵により要求に署名して、署名された要求をサーバー装置に送信するように配置されており、記録ユニットは、さらに、署名された要求をパブリックデータベースに記録するように配置されている。
【０００９】
本開示の他の一つの好適な実施例によれば、要求生成ユニットは、さらに、またパブリックデータベースにおける要求の位置情報をサーバー装置に送信するように配置されている。
【００１０】
本開示の他の一つの好適な実施例によれば、アクセスユニットは、さらに、サーバー公開鍵によりパブリックデータベースにおける応答情報の記録を検証して、検証の結果に応じて対応操作を実行するように配置されている。
【００１１】
本開示の他の一つの好適な実施例によれば、サーバー装置は許可サーバーとリソースサーバーとを含む。
【００１２】
本開示の他の一つの好適な実施例によれば、要求は、許可サーバーに送信される、許可アクセス証明書に対する要求が含まれており、応答情報は、許可サーバーからの許可アクセス証明書が含まれる。
【００１３】
本開示の他の一つの好適な実施例によれば、許可アクセス証明書は、保護されているリソースに関する制限情報が含まれる。
【００１４】
本開示の他の一つの好適な実施例によれば、制限情報は、保護されているリソースのマネージャの識別子と、クライアント装置によってアクセスされることを許可するリソースと、許可アクセス証明書の有効期間とを含む。
【００１５】
本開示の他の一つの好適な実施例によれば、制限情報は、さらに、有効期間内のアクセス回数の設置が含まれており、アクセスユニットは、アクセス回数の設置に応じて保護されているリソースにアクセスするための対応操作を実行する。
【００１６】
本開示の他の一つの好適な実施例によれば、要求は、リソースサーバーに送信されるデータアクセス要求が含まれ、応答情報は、リソースサーバーからのデータリソースが含まれる。
【００１７】
本開示の他の一つの好適な実施例によれば、許可サーバーと前記リソースサーバーとは同一のサーバーである。
【００１８】
本開示の他の一局面によれば、許可アクセスのためのサーバー装置をさらに提供し、クライアント装置からの、保護されているリソースへの許可アクセスの要求に応答して対応している応答情報を生成して、応答情報をクライアント装置に送信するように配置されている応答生成ユニットと、応答情報を、分散化された分散型データベースであり且つその中の記録が変更不可であるパブリックデータベースに記録するように配置されている記録ユニットとを含む。
【００１９】
本開示の他の一局面によれば、クライアント装置と、サーバー装置と、分散化された分散型データベースであり且つパブリックデータベース中の記録が変更不可であるパブリックデータベースとを含む許可アクセスのための制御システムをさらに提供し、クライアント装置は、保護されているリソースの許可アクセスのための要求を生成し、要求をサーバー装置に送信するように配置されている要求生成ユニットと、要求をパブリックデータベースに記録するように配置されている第1の記録ユニットと、サーバー装置が要求に応答して送信した応答情報を利用して、保護されているリソースにアクセスするための対応操作を実行するように配置されているアクセスユニットとを含み、サーバー装置は、要求に応答して対応している応答情報を生成し、応答情報をクライアント装置に送信するように配置されている応答生成ユニットと、応答情報をパブリックデータベースに記録するように配置されている第2の記録ユニットとを含む。
【００２０】
本開示の他の一局面によれば、クライアント装置において実行される許可アクセスのための方法をさらに提供し、保護されているリソースへの許可アクセスのための要求を生成し、要求をサーバー装置に送信し、要求を、分散化された分散型データベースであり且つその中の記録が変更不可であるパブリックデータベースに記録し、サーバー装置が要求に応答して送信した応答情報を利用して、保護されているリソースにアクセスするための対応操作を実行することを含む。
【００２１】
本開示の他の一局面によれば、サーバー装置において実行される許可アクセスのための方法をさらに提供し、クライアント装置からの保護されているリソースへの許可アクセスの要求に応答して対応している応答情報を生成し、応答情報をクライアント装置に送信し、応答情報を、分散化された分散型データベースであり且つその中の記録が変更不可であるパブリックデータベースに記録することを含む。
【００２２】
本開示の他の一局面によれば、電子機器をさらに提供し、当該電子機器は送受信機と、一つ又は複数のプロセッサーとを含んでもよい。この一つ又は複数のプロセッサーは、上記した本開示による許可アクセスのための方法を実行するように配置されてもよい。
【００２３】
本開示の他の局面によれば、上記した本開示による方法を実現するためのコンピュータプログラムコードとコンピュータプログラム製品、及び当該上記した本開示による方法を実現するためのコンピュータプログラムコードが記録されたコンピュータ読み取り可能記憶媒体をさらに提供する。
【００２４】
本開示の実施例によれば、分散化されたパブリックデータベースにより保護されているリソースへの安全な許可アクセスを効果的に図るようになる。
【００２５】
以下の明細書では本開示の実施例の他の方面を提供し、その中、本開示の実施例を十分に開示するための好適な実施例を詳細に説明し、それは限定されるものではない。
【図面の簡単な説明】
【００２６】
本開示は、以下に図面と合わせて記載された説明を参照することによりよく理解できる。なお、全ての図面において、同一又は類似の部品を同一又は類似の符号で示している。前記図面は以下の詳細説明と共に本明細書に含まれ本明細書の一部として構成されており、更に例を挙げることにより本開示の好適な実施例を説明し、本開示の原理とメリットを解釈する。
【図１】本開示の実施例による、アクセス制御システムの構成例を示す模式図。
【図２】本開示の実施例による、クライアント装置の機能配置例を示すブロック図である。
【図３】本開示の実施例による、サーバー装置の機能配置例を示すブロック図である。
【図４】本開示の実施例による、許可アクセスためのインタラクションフローの例を示す模式図である。
【図５】本開示の実施例による、ブロックチェーンに基づくアクセス制御実現の例を示す模式図である。
【図６】本開示の実施例による、ブロックチェーンにおける記録項目のフォーマットとコンテンツの例を示す模式図である。
【図７】本開示の実施例による、許可アクセスのための方法の手順例を示すフローチャートである。
【図８】本開示の実施例による、ブロックチェーンとOAuthプロトコルに基づくアクセス制御システムの構造例を示す模式図である。
【図９】本開示の実施例による、ブロックチェーンに基づくOAuthプロトコル実現の例を示す模式図である。
【図１０】本開示の技術を応用する有限次許可アクセスを実現するためのインタラクション手順の例を示すフローチャートである。
【図１１】図１１Ａ、図１１Ｂは本開示の技術を応用する有限次許可アクセスを実現するための例を示す模式図である。
【図１２】本開示の実施例による、クライアント装置にて実行される許可アクセスのための方法の手順例を示すフローチャートである。
【図１３】本開示の実施例による、サーバー装置にて実行される許可アクセスのための方法の手順例を示すフローチャートである。
【図１４】本開示による技術の第1の応用例を示す模式図である。
【図１５】本開示による技術の第2の応用例を示す模式図である
【図１６】本開示の実施例における採用可能な情報処理デバイスとしてのパソコンコンピュータの概略的構成を示すブロック図である。
【発明を実施するための形態】
【００２７】
以下、図面に基づいて、本開示の例示的な実施例を記述する。明らか、簡明のために、明細書において実際の実施形態の全部特徴を記述しない。但し、理解すべきことは、開発者の具体的な目標を実現するように、これらの実際の実施例を開発する過程で実施形態に特定する決定をしなければならず、例えば、システム及び業務に関する制限条件に適い、且つこれら制限条件は、実施形態が異なるに伴って変わる可能性がある。なお、さらに、理解すべきことは、開発仕事が複雑で、時間がかかる可能性があるが、本開示されている内容に得意な当業者にとって、このような開発仕事はきまり通り行う任務に過ぎない。
【００２８】
ここで、さらに説明する必要がある点は、不必要な内容によって本開示をぼかすことを避けるために、図面において、少なくとも本発明の方案に緊密に関する装置構成及び／又は処理ステップのみを示し、本発明に関係がない他の内容を省略した。
【００２９】
次に、図1〜図16を参照して本開示の実施例について詳細に記述する。
【００３０】
図1は、本開示の実施例による、アクセス制御システムの構成例を示す模式図である。
【００３１】
図1に示すように、当該実施例によるアクセス制御システムは、パブリックデータベース100と、クライアント装置200と、サーバー装置300とを含むことができる。
【００３２】
本開示の実施例において、クライアント装置200による保護されているリソースへの安全なアクセスを確保するために、許可アクセス中のクライアント装置200とサーバー装置300とのキー操作をそれぞれパブリックデータベース100に記録させてもよい。パブリックデータベース100は分散化された分散型データベースであり、その中のデータが記録されると変更不可又は削除不可であるので、ネットワーク攻撃に抵抗し、安全なアクセス制御を図ることに寄与する。以下、それぞれ図2と図3を参照して、クライアント装置200とサーバー装置300との機能配置例について詳細に記述する。
【００３３】
図2は、本開示の実施例による、クライアント装置の機能配置例を示すブロック図である。
【００３４】
図2に示すように、当該実施例によるクライアント装置200は、要求生成ユニット210と、記録ユニット220と、アクセスユニット230とを含むことができる。
【００３５】
要求生成ユニット210は、保護されているリソースの許可アクセスのための要求を生成し、当該要求をサーバー装置300に送信するように配置されることができる。
【００３６】
記録ユニット220は、上記要求をパブリックデータベース100に記録するように配置されることができる。
【００３７】
アクセスユニット230は、サーバー装置300が要求に応答して送信した応答情報を利用して、保護されているリソースにアクセスするための対応操作を実行するように配置されることができる。
【００３８】
好ましくは、セキュリティを増強するために、要求生成ユニット210は、さらに、鍵生成センターにより、クライアント装置200が生成する身元鍵ペア（秘密鍵（private  key、SKと記載する）と公開鍵（public  key、PKと記載する）とを含む）における秘密鍵に対して当該要求に署名し、署名された要求をサーバー装置300に送信してもよく、記録ユニット220は、署名された要求をパブリックデータベース100に記録してもよい。当該手順は、例えば以下の式（1）により示されることができる：
【００３９】
【数１】
2019500799.tif 000003
【００４０】
なお、Requestはクライアント装置からの要求を示し、SK  of  Clientはクライアント装置200の秘密鍵を示し、Hash（）はハッシュ関数を示し、SignSK  of  Clientはクライアント装置200の秘密鍵により署名することを示し、また、Record1はパブリックデータベースにおける当該署名された要求の記録を示す。
【００４１】
好ましくは、要求生成ユニット210は、さらに、パブリックデータベースにおける上記要求の位置情報（ここで、例えばAddr1と記載する）をサーバー装置300に送信してもよい。このように、サーバー装置300は、受信した位置情報に応じてパブリックデータベース100において、パブリックデータベース100における署名後の要求の記録（上記Record1）をルックアップし、そして、クライアント装置200の公開鍵によりクライアント装置200からの要求の真実性を検証し、当該検証手順は例えば以下の式（2）により示されることができる。
【００４２】
【数２】
2019500799.tif 000004
【００４３】
なお、Verify（）は採用されている検証関数を示し、また、PK  of  Clientはクライアント装置200の公開鍵を示す。
【００４４】
そして、検証されて合理的要求について、サーバー装置300は、対応している応答情報（ここでResponseと記載する）を生成してクライアント装置200に送信し、当該応答情報をパブリックデータベース100に記録してもよい。好ましくは、セキュリティをより確保するために、サーバー装置300は、サーバー秘密鍵により応答情報に署名し、署名後の応答情報をクライアント装置200に送信するとともに、署名後の応答情報をパブリックデータベース100に記録してもよい。なお、当該手順例は、式（3）により示されることができる。
【００４５】
【数３】
2019500799.tif 000005
【００４６】
なお、Responseはサーバー装置の生成した応答情報を示し、SK  of  Serverはサーバー装置300の秘密鍵を示し、Hash（）はハッシュ関数を示し、SignSK  of  Serverはサーバー装置300の秘密鍵による署名を示し、Record2はパブリックデータベース100における当該署名された応答情報の記録を示す。
【００４７】
また、上記と類似して、サーバー装置300は、パブリックデータベースにおける署名された応答情報の位置情報（ここで例えばAddr2と記載する）をクライアント装置200に送信してもよく、これにより、クライアント装置200のアクセスユニット230は、受信した位置情報に応じてパブリックデータベース100においてパブリックデータベース100における署名後の応答情報の記録をルックアップし、サーバー公開鍵により当該記録を検証し、検証の結果に応じて対応操作を実行してもよい。当該手順例は式（4）により示されることができる。
【００４８】
【数４】
2019500799.tif 000006
【００４９】
なお、Verify（）は採用されている検証関数を示し、PK  of  Serverはサーバー装置300の公開鍵を示す。
【００５０】
以上、図2を参照して許可アクセスのためのクライアント装置の機能配置例を記述したが、それに対応して、以下図3を参照して許可アクセスのためのサーバー装置の機能配置例について記述する。図3は、本開示の実施例による、サーバー装置の機能配置例を示すブロック図である。
【００５１】
図3に示すように、本実施例によるサーバー装置300は応答生成ユニット310と記録ユニット320とを含むことができる。
【００５２】
応答生成ユニット310は、クライアント装置からの保護されているリソースへの許可アクセスの要求に応答して対応している応答情報を生成し、応答情報をクライアント装置200に送信するように配置されることができる。
【００５３】
好ましくは、以上のように、応答生成ユニット310はクライアント公開鍵（即ち、上記PK  of  Client）によりパブリックデータベースにおけるクライアント装置200の要求の記録（即ち、上記記録Record1）を検証し、検証の結果に応じて応答情報（即ち、Response）を生成してもよい。当該手順は例えば上記式（2）により示されることができる。
【００５４】
記録ユニット320は、応答情報をパブリックデータベース100に記録するように配置されることができる。
【００５５】
好ましくは、以上のように、応答生成ユニット310は、さらに、サーバー秘密鍵により応答情報に署名し、署名後の応答情報をクライアント装置200に送信するように配置されてもよく、そして、記録ユニット320は、さらに、署名後の応答情報をパブリックデータベース100に記録するように配置されてもよい。当該手順例は上記式（3）により示されることができる。また、応答生成ユニット310は、さらに、パブリックデータベースにおける応答情報の位置情報（即ち、上記Addr2）をクライアント装置200に送信してもよい。
【００５６】
理解すべきことは、サーバー装置300の機能配置例は上記クライアント装置200の機能配置例に対応するので、ここで詳細に記載されない内容について、以上で対応している記述を参照し、ここで重複しない。
【００５７】
上記許可アクセスの実現過程を理解しやすくするために、以下図4を参照して許可アクセスのためのクライアント装置200と、サーバー装置300と、パブリックデータベース100との間のインタラクションフローについて記述する。図4は、本開示の実施例による、許可アクセスためのインタラクションフローの例を示す模式図である。
【００５８】
図4に示すように、まず、ステップS101において、クライアント装置200はクライアント秘密鍵により署名に要求して保護されているリソースへの許可アクセスのための要求を生成し、そして、ステップS102において、当該要求をパブリックデータベース100に記録する。ステップS103において、パブリックデータベース100は上記要求をその記録に追加し、そして、当該記録（即ち、Record1）の位置が例えばAddr1である。次に、ステップS104において、クライアント装置200は、署名後の要求及びパブリックデータベース100における署名後の要求の位置情報Addr1をサーバー装置300に送信する。次に、ステップS105において、サーバー装置300は位置情報Addr1に応じて、クライアント公開鍵により上記要求記録Record1を検証し、当該要求が合理であると検証されると、ステップS106において、対応している応答情報を生成し、サーバー秘密鍵により当該応答情報に署名する。次に、ステップS107において、サーバー装置300は、当該署名後の応答情報をパブリックデータベース100に記録し、ステップS108において、パブリックデータベース100は当該応答情報記録をその記録に追加し、当該記録（即ち、Record2）の位置が例えばAddr2である。次に、ステップS109において、サーバー装置300は当該署名された応答情報及びパブリックデータベースにおける当該署名後の応答情報の位置情報Addr2をクライアント装置200に送信する。必要があれば、クライアント装置200は、ステップS110（オプションとして、破線で示すように）において、位置情報Addr2に応じて、サーバー公開鍵によりパブリックデータベース100における応答情報の記録Record2を検証し、検証の結果に応じて対応操作、例えば、保護されているリソースへのアクセスなどを実行することが可能である。
【００５９】
上記インタラクション手順は例示に過ぎず、限定するものではないと理解すべきであり、そして、示されているそれぞれのステップの実行順序は、記述の便宜上、これに限定されるものではなく、必要に応じて、いくつかのステップは並行して実行され、又はその実行順序は可変であってもよい。
【００６０】
以上で記述された手順から分かるように、クライアント装置200とサーバー装置300とのインタラクション手順はパブリックデータベース100に記録され、当該パブリックデータベース100は分散化された分散型データベースであり且つその中の記録が変更不可（即ち、削除不可及び／又は修正不可）であるので、それぞれクライアント秘密鍵とサーバー秘密鍵とを利用してインタラクション手順に署名し、パブリックデータベースに記録することにより、ネットワーク攻撃効果的に阻止することができる。なお、パブリックデータベース100は全てのネットワークエンティティによって共有される分散型データベースであるので、理論的に言えば、半分以上又は三分の二以上のネットワークエンティティがパブリックデータベースにおけるデータ記録を変更することに同意すれば、その中の記録の変更を許可可能である。しかし、実際には、ネットワークエンティティの半分以上または三分の二以上がデータの記録を変更することに同意することは困難であるため、ここで一般に、パブリックデータベースのデータは記録されると変更不可及び削除不可であると考えられている。
【００６１】
好ましくは、例として、上記パブリックデータベースはブロックチェーンを含むことができる。ブロックチェーン（Blockchain）はビットコイン（Bitcoin）の背後にある主要な技術革新として見なされる。それは信頼を要しない証明メカニズムとして、ネットワークにおける取引の全部を証明するためのものである。ブロックチェーンは「非信頼」アーキテクチャである。「非信頼」アーキテクチャとは、システム全体における複数の参加者が互いに信頼することなく、様々な取引と協働を完成できることである。これはこれまで伝統のインターネットの最も弱いものである。取引相手（他の人）又はサードパーティ仲介機関（例えば銀行）との信頼を確立し維持する必要があると比べて、ユーザーは「採掘者−会計（miner-accountants）」にて維持される、世界中で複数の異なる分散化されたノードに記憶されている公開元帳システムを信頼できる。分散化された非信頼の新取引システムのアーキテクチャであるブロックチェーンは、重要な革新である。ブロックチェーンは、世界中のすべてのエンティティ間の介入や分散化なしのあらゆるタイプの取引を許可する。ブロックチェーンは、インターネットプロトコルの既存のスタック上で運行するための他のアプリケーション層のように、インターネットに完全に新しい層を追加して経済取引を実現し、リアルタイムデジタル通貨支払い（世界中で広く使用されている暗号化通貨の場合）、より長期的、より複雑な経済契約を含む。あらゆる通貨、経済契約、ハードまたはソフト資産は、ブロックチェーンシステムを介して取引することができる。また、ブロックチェーンは、取引だけでなく、すべての資産の登録や在庫を記録、追跡、監視、取引するシステムとしても使用できる。ブロックチェーンは、文字通り、すべての資産を登録するための巨大な拡張テーブル及び世界中でこれらの資産を取引するための元帳のようなものであり、世界中の全てのエンティティによって持っているすべての形態の資産を含む。従ってブロックチェーンは、いかなる形式の資産登録、在庫量、交換に使用してもよく、金融、経済、および金銭の様々な分野、ハード資産（物理的財産）および無形資産（投票、アイデア、名誉、意図、健康データなど）を含む。ビットコインピアツーピアネットワークは、すべての取引履歴を「ブロックチェーン（Blockchain）」に格納する。ブロックチェーンは引き続き延長され、新しいブロックがいったんブロックチェーンに追加されると移転できない。ブロックチェーンは、実際にP2Pネットワークプラットフォーム、つまり分散しているクライアントノードの群れであり、全ての参加者からなる分散型データベースであり、すべてのビットコインの取引履歴の記録である。しかし、ブロックチェーン技術の発展につれて、仮想通貨の支払いのみに適用されるものではない。ブロックチェーン技術の分散化された信頼を必要としないピアツーピアモデルとは、最も基本的レベルで、仲介者取引がないことを意味する。ブロックチェーンはビットコインのネットワーク基盤ですが、ブロックチェーンそのものはより多くのことを意味する。ブロックチェーン技術1.0は仮想通貨のために生まれた場合、ブロックチェーン技術2.0のコア特性である信用信頼は、現在重要な応用の���向となり、ブロックチェーン契約や公証などとして提案される。ブロックチェーン技術3.0は、政府分野、健康、科学、文化、芸術などの金融応用以外の応用分野として位置づけられる。
【００６２】
ブロックチェーンは、分散化された、分散型、時間順序付けられたパブリック記録であり、又は公開元帳システムと称される。ブロックチェーンは、全てのユーザーによって共有され協働してメンテナンスする。ブロックチェーンにおける記録は、二重支払いを検証するために用いられてもよく、ブロックチェーンは仮想通貨の請求書に応用されると、ビットコイン取引の永続性を検証するために用いられ、二重支払いを防ぐことができる。ブロックチェーンは、本発明において同一の認証コードを複数回使用することを避けるために用いられることができ、ブロックチェーン技術を許可サービス許可サービスプラットフォームに適用することにより、時間順序付けられたパブリック記録セットにより、許可プロトコルに関するステップを検証し、リプレイ攻撃を防止することができる。
【００６３】
ビットコインを除き、本開示の実施例による、パブリックデータベースは、例えばライトコインのような分散化されたブロックチェーンに基づく公開元帳（public  ledger）プラットフォーム、また、Hyperledgerのような採掘ではなく「コンセンサス」を採用する分散化された分散型元帳システムを採用することもできる。
【００６４】
本発明の許可サービスは、同様に、Hyperledgerプラットフォームに基づいて応用を図ることもでき、例えば、要求と応答情報とを、例えばテストプール（testpool）、カスタムプール（custompool）などのHyperledgerのコンセンサスプールに記録し、testpoolは全ての人間向け無料であり、custompoolは、ユーザーがプールをカスタマイズすることを許可する。Hyperledgerの「コンセンサス」メカニズムにより、記録が有効であると特定した後、当該記録は改竄不可である。
【００６５】
以下、ブロックチェーンを例に本開示の実施例による、アクセス制御実現を記述するが、本開示は、これに限定されない言うまでもなく、あらゆる分散化された、分散型で、且つその中の記録が削除、修正不可であるデータベースシステムに応用できると理解すべきである。図5は、本開示の実施例による、ブロックチェーンに基づくアクセス制御実現の例を示す模式図である。
【００６６】
図5に示すように、クライアント装置200とサーバー装置300とは、それぞれ各自の署名後の要求と応答情報とをブロックチェーンに追加し、これらの記録は、時間順にブロックチェーンにソートされ、且つ記録されると、変更および削除不可である。よって、クライアント装置200とサーバー装置300とは、要求と、ブロックチェーンにおける応答情報の位置情報とに応じて対応している記録をルックアップし、公開鍵によりそれぞれブロックチェーンにおける記録を検証して、アクセス制御のセキュリティを確保することができる。
【００６７】
図6は、本開示の実施例による、ブロックチェーンにおける記録項目のフォーマットとコンテンツの例を示す模式図である。
【００６８】
図6に示すように、ブロックチェーンにおける記録は、アドレス、コンテンツの作成者の署名及び他のアプリケーション関連情報が含まれてもよい。例えば、クライアント装置200がブロックチェーンに記録した要求記録は、ブロックチェーンにおける要求の位置情報（Addr1）と、要求の署名とを含み、サーバー装置300はその応答情報をブロックチェーンに記録した後、この時のブロックチェーンにおける記録項目が、ブロックチェーンにおける応答情報の位置情報（Addr2）、応答の署名、ブロックチェーンにおける要求の位置情報（Addr1）、要求の署名などを含む。即ち、ブロックチェーンにおける記録は、記録の時間順に従って増長し、且つ削除不可または変更不可である。
【００６９】
ここで所与した記録項目のフォーマットとコンテンツは例示的であり、実際の必要に応じてその中の記録項目のフォーマットとコンテンツを設置することが可能であり、本開示はこれを制限しない。
【００７０】
上記インタラクション手順に対応して、以下、図7を参照して本開示の実施例による、許可アクセスのための方法の手順例を記述する。図7は、本開示の実施例による、許可アクセスのための方法の手順例を示すフローチャートである。
【００７１】
図7に示すように、当該方法はステップS701から始めて、ステップS702に進む。ステップS702において、クライアント装置200が保護されているリソースへの許可アクセスのための要求を生成し、クライアント秘密鍵により署名した後にブロックチェーンに記録し、ブロックチェーンにおける当該要求の位置情報を取得する。次に、当該方法はステップS703に進む。ステップS703において、クライアント装置200は、その署名後の要求及びブロックチェーンにおける当該要求の位置情報をサーバー装置300に送信する。そして、ステップS704において、サーバー装置300は、受信した位置情報に応じてブロックチェーンにおける要求記録を取得し、クライアント公開鍵により当該記録を検証する。次に、当該方法はステップS705に進んで、ステップS705において、当該記録が有効であるかどうかを判断する。無効であると判断されたと、当該方法は終了する。有効であると判断されたと、方法はステップS706に進み、ステップS706において、サーバー装置300は、有効の要求に対して応答情報を生成し、サーバー秘密鍵により署名した後にブロックチェーンに記録し、ブロックチェーンにおける当該応答情報の位置情報を取得する。そして、ステップS707において、サーバー装置300は、署名後の応答情報及びブロックチェーンにおける署名後の応答情報の位置情報をクライアント装置200に送信し、当該方法は終了する。
【００７２】
以上で図7を参照して本開示による許可アクセスのための方法の手順例を記述したが、これは例示に過ぎず、限定するものではないと理解すべきであり、当業者は必要に応じて上記手順について修正を行うことが可能である。例えば、以上のように、必要があれば、クライアント装置200は、次のステップにおいて、受信した位置情報に応じてブロックチェーンにおける応答情報記録を得て、サーバー公開鍵により当該記録を検証し、検証の結果に応じて対応操作を実行してもよい。
【００７３】
以上で図1乃至図7を参照して許可アクセス制御の一般的例を記述したが、以下OAuth（http:／／oauth.net／）標準に基づいて本開示の技術を応用する許可アクセス制御の実現を記述する。
【００７４】
具体的にOAuthプロトコルと本発明の技術との結合を記述する前に、ここでOAuthプロトコルを概略に紹介する。OAuthは、権限の許可（authorization）に関するオープンネットワークプロトコル（標準）である。OAuthプロトコルでは、許可層を導入しクライアントのロールとリソースオーナーのロールとを分離させ、クライアントは、リソースオーナーによって制御され且つリソースサーバーが持っているリソースへのアクセスを要求し、リソースオーナーの証明書と異なる証明書集合が発行される。OAuthプロトコルでは、リソースオーナーと、リソースサーバーと、クライアントと、許可サーバーとの四つのロールを定義し、リソースオーナーは、保護されているリソースへのアクセスを許可できるエンティティであり、リソースオーナーが人間である場合に、エンドユーザーともいう、リソースサーバーは、保護されているリソースを持っているサーバーであり、アクセストークンを使用して保護されているリソースへのアクセス要求を受け取り、応答する。クライアントは、リソースオーナーを代表し、且つリソースオーナーの許可により保護されているリソースが要求する応用を行い、いかなる特定の実現特性を暗示しない（例えば、当該アプリケーションはサーバー、デスクトップ、または他のデバイス上で実行される）。許可サーバーは、リソースオーナーの認証に成功し認証を受け取った後にクライアントにアクセストークンを発行するサーバーであり、それはリソースサーバーと同一のサーバーでも異なるエンティティでもよく、単一の許可サーバーは複数のリソースサーバーによって受け取られるアクセストークンを発行することができる。
【００７５】
OAuthの発展は、オープンAPI分野の新アプリケーションの開発を促進するようになる。OAuthは、アプリケーションに、保護されているリソースにアクセスする方法を提供する。アプリケーションが保護されているリソースにアクセスする前に、必ず、まずリソースオーナーから許可（アクセス許可）を取得してから、アクセス許可でアクセストークン（アクセス許可を代表するスコープ、連続時間及び他の属性）を交換する。アプリケーションは、リソースサーバーへアクセストークンを出すことで保護されているリソースにアクセスする。現在OAuth  2.0  OAuth  2.0標準が推奨されている。しかしながら、OAuth  2.0プロトコルそのものは、セキュリティと完全性保護メカニズムを提供せず、開発者はOAuth  2.0を使用する際に、別途通信セキュリティの保護メカニズムを提供する必要がある。
【００７６】
OAuth  2.0プロトコルそのものは、リプレイ攻撃や中間者攻撃、例えばネットワーク伝送の際のリプレイ攻撃を阻止することができなく、認証コードは、傍受されて許可アクセス証明書などを複数回に要求するために用いられる可能性がある。以上のように、許可のインタラクションプロセスをパブリックデータベース（例えば、ブロックチェーン）に記録し、即ち、OAuthプロトコルとブロックチェーン技術とを結合させることにより、中間者攻撃とリプレイ攻撃とを効果的に阻止することができる。以下、例として、ブロックチェーンとOAuthプロトコルに基づく許可アクセス制御の実現の例について詳細に記述する。
【００７７】
図8は、本開示の実施例による、ブロックチェーンとOAuthプロトコルに基づくアクセス制御システムの構成例を示す模式図である。
【００７８】
図8に示すように、当該実施例によるアクセス制御システムは、ブロックチェーン100と、クライアント装置200と、許可サーバー400と、リソースサーバー500と、リソースオーナー600とを含むことができる。なお、ブロックチェーン100とクライアント装置200とは上記パブリックデータベース100とクライアント装置200と同じ配置を有し、ここで重複しない。許可サーバー400とリソースサーバー500とは上記サーバー装置300と同じ配置を有してもよく、即ち、サーバー装置300は許可サーバー400とリソースサーバー500とを含んでもよく、この二つのサーバーは、同一のサーバー装置であってもよく、従ってその配置を重複して記述しない。以下、OAuthプロトコルにおける上記それぞれの装置の役割を簡単に紹介する。
【００７９】
リソースオーナー600は、保護されているリソースへのアクセスを許可可能なエンティティである。リソースサーバー500は保護されているリソースを持っているサーバーであり、アクセストークンによる保護されているリソースへの要求を受け取って応答することができる。クライアント装置200はリソースオーナーを代表し且つリソースオーナーの許可により保護されているリソースに対して要求を行うアプリケーションであれば、いかなる特定の実現の形式に限定されるものではない。即ち、それはサーバー、コンピュータ、携帯型デバイス又は他の装置に実現され、許可サーバー400は、リソースオーナーの認証に成功し且つ許可を受け取った後にクライアント装置200にアクセストークンを発行するサーバーである。
【００８０】
以下、図9を参照して、ブロックチェーンのOAuthプロトコルに基づく実現手順の例について詳細に記述する。図9は、本開示の実施例による、ブロックチェーンのOAuthプロトコルに基づいて実現する例を示す模式図である。
【００８１】
図9に示すように、まず、ステップS901において、クライアント装置200はリソースオーナー600へアクセス要求を行う。そして、ステップS902において、リソースオーナー600は、ユーザー許可証明書をクライアント装置200に送信する。次に、ステップS903において、クライアント装置200はユーザー許可証明書に応じて、許可サーバー400へ許可アクセス証明書の要求（即ち、データアクセス許可を要求する）を送信し、そして、ステップS904において、クライアント装置200は当該要求をブロックチェーン100に記録する。なお、当該許可アクセス証明書への要求は、クライアント装置200の署名情報を含み、即ち、クライアント装置200はクライアント秘密鍵により当該要求に署名する。そして、ステップS905において、許可サーバー400はユーザー許可証明書を検証し、有効であると検証されたと、許可アクセス証明書を生成し、当該許可アクセス証明書をブロックチェーン100に記録する。なお、ここの許可アクセス証明書は許可サーバー400の署名情報を含み、即ち、許可サーバー400はそのサーバー秘密鍵により当該許可アクセス証明書に署名した。そして、ステップS906において、許可サーバー400は、当該許可アクセス証明書をクライアント装置200に戻す。そして、ステップS907において、クライアント装置200は許可アクセス証明書によりリソースサーバー500へデータアクセス要求（即ち、データアクセスを要求する）を送信し、そして、ステップS908において、当該データアクセス要求をブロックチェーン100に記録する。なお、当該データアクセス要求はクライアント装置200の署名情報も含む。即ち、クライアント装置200はクライアント秘密鍵により当該データアクセス要求に署名した。そして、ステップS909において、リソースサーバー500は、ブロックチェーンにおける情報（上記ステップS904、S905、S908においてブロックチェーン100に記録された情報）をチェックすることで当該データアクセス要求の有効性を確定し、有効であると確定されると、対応しているデータリソースをクライアント装置200に提供する。同時に、ステップS910において、リソースサーバー500は、自分の応答操作もブロックチェーン100に記録し、当該記録は、同様にリソースサーバー500の署名情報（リソースサーバーを使用する秘密鍵）も含む。最後、ステップS911において、クライアント装置200は対応しているデータリソースをリソースオーナー600に提供してそれに使用される。
【００８２】
上記インタラクション手順は例示に過ぎず、限定するものではないと理解すべきであり、そして、示されたそれぞれのステップの実行順序は、便宜的に記述するために、これに限定されるものではなく、必要に応じて、いくつかのステップは、並行して実行され、又はその実行順序は変更可能である。
【００８３】
以上のブロックチェーンのOAuthプロトコルに基づいて実現されたインタラクション手順から分かるよに、この場合、サーバー装置は許可サーバーとリソースサーバーとを含むことができ、クライアント装置からの要求は、許可サーバーへの許可アクセス証明書に対する要求と、リソースサーバーへのデータアクセス要求とを含むことができ、サーバー装置からの応答情報は許可サーバーからの許可アクセス証明書とリソースサーバーからのデータリソースとを含むことができる。また、なお、ここで許可サーバーとリソースサーバーとは別々のサーバー装置として示されているが、実際には同一のサーバーであってもよい。
【００８４】
好ましくは、上記許可アクセス証明書は、保護されているリソースに関する制限情報を含んでもよく、当該制限情報は、例えば、保護されているリソースのマネージャの識別子、クライアント装置によってアクセスされることを許可するリソースと、許可アクセス証明書の有効期間などの情報を含んでもよい。
【００８５】
また、好ましくは、制限情報は、許可アクセス証明書の有効期間内のアクセス回数の設置をさらに含んでもよく、クライアント装置200のアクセスユニット230はアクセス回数の設置に応じて保護されているリソースにアクセスするための対応操作を実行してもよい。そして、サーバー装置300の応答生成ユニット310は、クライアント装置200による保護されているリソースへのアクセスに応じてアクセス回数の設置をデクリメントしてもよい。そして、記録ユニット320は、デクリメントしたアクセス回数をパブリックデータベースに記録してもよい。このようにすれば、リプレイ攻撃を防止、保護されているリソースへの有限次許可アクセスを効果的に実現することができる。以下、図10、図11A及び図11Bを参照して本開示の技術を応用する有限次許可アクセスを実現するための処理手順について詳細に記述する。図10は、本開示の技術を応用する有限次許可アクセスを実現するためインタラクション手順の例を示すフローチャートであり、図11Aと図11Bは、本開示の技術を応用する有限次許可アクセスを実現するための例を示す模式図である。
【００８６】
図10に示すように、まず、ステップS1001において、クライアント装置200は、許可サーバー400にN回の許可アクセス（ただし、Nは1以上の正の整数である）を要求する。そして、ステップS1002において、許可サーバー400は、このN回の許可アクセスに対して二つのビットコインアカウント（又は既存のアカウントを使用してもよい）Account1、Account2を生成でき、この二つのアカウントがそれぞれ二つの秘密鍵ペアに対応し、そして、アカウントAccount1が許可サーバー400により管理され、アカウントAccount2がリソースサーバー500により管理され、次に、許可サーバー400は、N個の仮想通貨をアカウントAccount1からアカウントAccount2に移転し（図11Aに示すように）、このN個の仮想通貨はN回の許可アクセスに対応し、同時に、許可サーバー400は、今回の振替操作記録をブロックチェーン100に記録する。
【００８７】
そして、ステップS1003において、許可サーバー400は、N回の許可アクセス証明書を、ブロックチェーン100における記録とともにクライアント装置200に送信する。そして、ステップS1004において、クライアント装置200は、許可アクセス証明書を利用してリソースサーバー500にアクセスするとともに、ブロックチェーンにおける記録をリソースサーバー500に提供してもよい。ステップS1005において、リソースサーバー500は、ブロックチェーンにおける記録を検証して許可アクセス証明書が有効であるかどうかを特定してもよい。そして、ステップS1006において、有効であると特定されると、リソースサーバー500はクライアント装置200に対応しているデータサービスを提供し、且つ、無効であると特定されると、リソースサーバー500は、対応しているサービスの提供を拒絶する。次に、ステップS1007において、アクセスごとに、リソースサーバー500は、アカウントAccount2から一つの仮想コインをアカウントAccount1に移転するとともに（図11Bに示すように）、当該振替操作をブロックチェーン100に記録する。当該振替情報は同時にクライアント装置200に提供されて、クライアント装置200は検査するようにする。N回の許可アクセスが完了し、即ち、アカウントAccount2からアカウントAccount1までの振替操作をN回完了するまでに、上記操作を繰り返し、このようにすれば、許可アクセスの手順は終了する。
【００８８】
上記手順において、クライアント装置200、許可サーバー400及びリソースサーバー500の操作ならびにアクセス回数制限のいずれもブロックチェーン100に記録されているので、それぞれの装置は、ブロックチェーン100における対応している記録情報をチェックすることで、様々な情報を検証し、このようにすれば、リプレイ攻撃や中間者攻撃を効果的に阻止し、許可アクセスプロセスのセキュリティを向上させ、有限安全な許可アクセスを効果的に実現することができる。
【００８９】
以上図10〜図11Bを参照してブロックチェーンに基づいて有限次許可アクセスを実現する処理手順を記述したが、これは例示に過ぎず、限定するものではなく、そして、当業者は、本開示の原理に応じて上記手順について修正を行うことが可能である。例えば、以上二つのアカウントを作成して仮想コインにより毎回の許可アクセスを記録したが、そうでなくてもよく、クライアント装置の毎回の許可アクセスをパブリックデータベースに記録し、システム内のそれぞれの装置に提供して、問い合わせ、検証を行わればよい。
【００９０】
また、なお、以上でブロックチェーンを例に本開示の技術を応用するOAuthプロトコルの実現を記述したが、ブロックチェーン以外の他のパブリックデータベース（例えば上記Hyperledgerのコンセンサスプールなど）を利用してOAuthプロトコルの通信セキュリティを確保することもできる言うまでもない。
【００９１】
上記装置の実施例に対応して、以下、図12と図13を参照してそれぞれ本開示の実施例による、クライアント装置側とサーバー装置側とで実行される許可アクセスのための方法の手順例を記述する。図12は、本開示の実施例による、クライアント装置にて実行される許可アクセスのための方法の手順例を示すフローチャートである。
【００９２】
図12に示すように、当該実施例による方法はステップS1201から開始され、ステップS1201において、クライアント装置は、保護されているリソースへの許可アクセスのための要求を生成し当該要求をサーバー装置に送信する。そして、方法はステップS1202に進む。好ましくは、ステップS1201において、クライアント装置は、クライアント秘密鍵により当該要求に署名し、署名後の要求をサーバー装置に送信してもよい。ステップS1202において、クライアント装置は、生成した要求をパブリックデータベースに記録し、当該パブリックデータベースは分散化された分散型データベースであり且つその中の記録が変更不可であり、好ましくは、当該パブリックデータベースはブロックチェーンを含む。次に、方法はステップS1203に進む。ステップS1203において、クライアント装置は、サーバー装置が要求に応答して送信した応答情報を利用して、保護されているリソースにアクセスするための対応操作を実行する。
【００９３】
好ましくは、クライアント装置は、さらに、パブリックデータベースにおける要求の位置情報をサーバー装置に送信し、サーバー公開鍵によりパブリックデータベースにおけるサーバー装置の応答情報の記録を検証し、検証の結果に応じて対応操作を実行してもよい。
【００９４】
好ましくは、OAuthプロトコルに応用する場合に、上記サーバー装置は許可サーバーとリソースサーバーとを含んでもよい。そして、この二つのサーバーは同一のサーバーであってもよく、要求は許可サーバーに送信される許可アクセス証明書に対する要求と、リソースサーバーに送信されるデータアクセス要求とが含まれ、応答情報は、許可サーバーからの許可アクセス証明書と、リソースサーバーからのデータリソースとが含まれる。好ましくは、許可アクセス証明書は、保護されているリソースに関する制限情報が含まれてもよく、当該制限情報は、保護されているリソースのマネージャの識別子と、クライアント装置によってアクセスされることを許可するリソースと、許可アクセス証明書の有効期間とが含まれてもよい。また、好ましくは、制限情報は、有効期間内のアクセス回数の設置が含まれてもよい。そして、クライアント装置は、アクセス回数の設置に応じて、保護されているリソースにアクセスするための対応操作を実行してもよい。
【００９５】
ここで記述されるクライアント装置にて実行される方法は上記装置の実施例に対応するので、ここで詳細に記述されない内容について、以上の対応している記述を参照し、ここで重複しない。
【００９６】
図13は本開示の実施例による、サーバー装置にて実行される許可アクセスのための方法の手順例を示すフローチャートである。
【００９７】
図13に示すように、当該実施例による方法はステップS1301から開始され、ステップS1301において、サーバー装置は、クライアント装置からの保護されているリソースへの許可アクセスの要求に応答して対応している応答情報を生成し、当該応答情報をクライアント装置に送信する。好ましくは、サーバー装置は、サーバー秘密鍵により当該応答情報に署名し、署名された応答情報をクライアント装置に送信してもよい。次に、当該方法はステップS1302に進み、ステップS1302において、サーバー装置は応答情報をパブリックデータベースに記録する。
【００９８】
好ましくは、サーバー装置は、さらに、パブリックデータベースにおける応答情報の位置情報をクライアント装置に送信して、クライアント公開鍵によりパブリックデータベースにおけるクライアント装置の要求の記録を検証し、検証の結果に応じて応答情報を生成する。
【００９９】
ここで記述するサーバー装置にて実行される方法は上記装置の実施例に対応するので、ここで詳細に記述されない内容について、以上の対応している記述を参照し、ここで重複しない。
【０１００】
なお、以上で本開示の実施例による、許可アクセスのための方法の手順例を記述したが、これは例示に過ぎず、限定するものではなく、そして、当業者は、本開示の原理に応じて上記手順について修正を行うことが可能であり、例えば、それぞれの実施例におけるステップについて添加、削除又は組み合わせなどを行うことができ、このような修正はいずれも本開示の範囲に入るようになる。
【０１０１】
本開示による技術は、医療、通信、電力などの他の分野に応用することもできる。以下図14と図15を参照してそれぞれ本開示による技術の応用例を記述する。
【０１０２】
図14は、本開示による技術の第1の応用例を示す模式図である。
【０１０３】
医療分野では、多くのデータ又は記録を記憶する必要があり、如何にこれらのデータ又は記録を確保するかは、安全な許可アクセスの形でユーザー、又はユーザーが許可したサードパーティのプラットフォームに提供することが、現在解決しようとする問題の一つとなる。
【０１０４】
図14に示すように、当該システムは、ユーザー、クライアント、許可サーバー、リソースサーバー、ネットワーク記録プラットフォームを含むことができる。ユーザーは医療データの本体、即ちリソースオーナーであり、クライアントは、サードパーティのアプリケーション（例えば健康管理ソフトウェアなど）であり、許可サーバーは、医療機構、又は医療機構がサービスプロバイダにサービスを依頼したことであり、リソースサーバーは医療機構、又は医療機構がサービスプロバイダにサービスを依頼したことであり、ネットワーク記録プラットフォームは上記パブリックデータベースに相当し、分散型又はP2P、分散化されたネットワークプラットフォームを採用してもよく、許可アクセスのためのキーデータは当該プラットフォームに記録されると悪意に改竄不可である。また、当該記録プラットフォームは、記録ごとに一つのアドレス情報を生成し、当該アドレス情報はナンバー又は他の符号化情報であってもよく、検索しやすくする。また、図中で図示しないが、当該システムは、ネットワーク記録プラットフォームにおいてデータを記録するエンティティのために秘密鍵ペア（公開鍵や秘密鍵）を生成するための鍵管理センターを含むこともできる。鍵管理センターは、サードパーティの安全プラットフォーム、公開鍵基盤（Public  Key  Infrastructure、PKI）／認証局（Certificate  Authority、CA）であってもよく、ネットワーク記録プラットフォームに基づく上位層安全アプリケーションシステムであってもよい。
【０１０５】
具体的に実際する場合に、まず、システムを初期化することで、鍵管理センターは、少なくとも許可サーバーとリソースサーバーとに秘密鍵ペアを配布し、それぞれ（PKAS,SKAS）、（PKRS,SKRS）として記載する。
【０１０６】
初期化の後、それぞれのエンティティは、図14に示す例示的実施例に従ってステップを実行して、医療データの安全な許可アクセスのための処理を実行する：
丸付き数字１：ユーザーは許可サーバーへ許可証明書を要求する。
丸付き数字２：許可サーバーはユーザーへ許可証明書を発行する。
丸付き数字３：ユーザーはクライアントに許可証明書を提供する。
丸付き数字４：クライアントは許可サーバーへユーザーの権利証を提供し、データアクセス証明書を要求する。
丸付き数字５：許可サーバーが許可証明書が有効であると検証した後、許可証明書の情報に準じて、対応するデータアクセス証明書を生成し、当該データアクセス証明書は、少なくとも、アクセスを必要とするターゲットデータ、アクセス期間などの情報を含む。同時に、許可サーバーは、自己の秘密鍵SKASにより当該データアクセス証明書に署名し、署名後の情報をネットワーク記録プラットフォームに記録する。
丸付き数字６：許可サーバーはデータアクセス証明書及びネットワーク記録プラットフォームにおける当該証明書のアドレス情報をクライアントに返す。
丸付き数字７：クライアントはデータアクセス証明書とネットワーク記録プラットフォームのアドレス情報とを持ってリソースサーバーへデータリソースを要求する。
丸付き数字８：リソースサービス側はアドレス情報に応じて、対応するデータアクセス証明書の記録を検索し、許可サーバーの公開鍵PKASによりクライアントが送信してきたデータアクセス証明書の有効性を検証する。
丸付き数字９：リソースサーバーは、データアクセス証明書に準じて、クライアントに対応するデータリソースを提供するとともに、データアクセス証明書への応答操作をネットワーク記録プラットフォームに記録し、即ち、秘密鍵SKRSを用いてデータアクセス証明書に署名し、応答ログ情報を入れて、併せて署名し、ネットワーク記録プラットフォームに記録する。
丸付き数字１０：クライアントは対応するデータを取得する。
丸付き数字１１：クライアントは整理されたデータをユーザーに表示し、例えば、複数の医療機構における当該ユーザーについての医療情報をまとめて、分類、整理しユーザーに表示する。
【０１０７】
類似して、上記プロセスは、例えば電力、通信又は電子商取引などの大量のユーザーデータまたは記録が記憶された産業に応用することもでき、ここで一つずつ詳細に記述しない。
【０１０８】
図15は、本開示による技術の第2の応用例を示す模式図である。
【０１０９】
3Dプリンティングは、現在注目されているホットな技術であり、如何に3Dモデル許可プリンティングのセキュリティを確保するかは、解決しようとする問題の一つとなる。図15に示すように、当該3Dモデル許可プリンティングに用いられるシステムは、ユーザー、許可サーバー、クライアント、リソースサーバー、ネットワーク記録プラットフォーム、3Dプリンターを含む。なお、ユーザーは、3Dモデルデータを購入する自然人または機関であり、クライアントはサードパーティのアプリケーションソフトウェアであり、許可サーバーは3Dモデルネットワーク取引プラットフォームであり、リソースサーバーは3Dモデルデータサーバーであり、ネットワーク記録プラットフォームは以上で図14を参照して記述されたネットワーク記録プラットフォームと同じである。また、図示しないが、当該システムは以上で図14を参照して記述されたものと同じな鍵管理センターをさらに含む。
【０１１０】
3Dモデル許可プリンティングを実施する場合に、図15に示す丸付き数字１〜１０のステップにおける操作は、上記図14中の対応しているステップにおける操作と同じであるので、ここで重複しない。次に、丸付き数字１１のステップにおいて、クライアントは、許可されて受けた3Dモデルデータを3Dプリンターに送信し、丸付き数字１２のステップにおいて、ユーザーはプリンティングされた3D製品を取得する。
【０１１１】
以上のプロセスにおいて、ユーザーは、ある3Dモデルのプリンティング許可（無料又は取引することで入れる）を受け、クライアントを介して許可サーバーとリソースサーバーとに接続し、本発明の許可プロトコル方法により3Dモデルデータを取得し、当該データを3Dプリンターに送信してプリンティングされた3D製品を取得する。本開示の技術を応用することで、許可アクセスのセキュリティと、否認不可を確保することができ、ネットワーク攻撃を効果的に阻止するようになる。
【０１１２】
以上で図14と図15を参照して本開示の技術の応用例を提供したが、本開示は、これに限定されないものではなく、他の許可アクセスデータを要するプラットフォームに応用することもできる。
【０１１３】
また、本開示の実施例によれば、送受信機と、上記本開示の実施例による方法又は相応ユニットの機能を実行するように配置されていることができる一つ又は複数のプロセッサーとを含む電子機器をさらに提供する。
【０１１４】
理解すべきことは、本開示の実施例による記憶媒体とプログラム製品における機械が実行可能な命令は、さらに、上記装置実施例に対応する方法を実行するように配置されているので、ここで詳細に記述しない内容について、前の対応している記述を参考し、ここで重複して記述しない。
【０１１５】
対応しているように、上記した機械が実行可能な命令コードを含むプログラム製品を搭載するための記憶媒体も本発明の開示に含まれる。前記記憶媒体は、フロッピーディスク、光ディスク、磁気光ディスク、メモリカード、メモリスティックなどが含まれるが、それらに限定されない。
【０１１６】
また、さらに指摘すべきことは、上記の一連の処理と装置はソフトウェア及び／又はファームウェアで実現してもよい。ソフトウェア或いはファームウェアで実現する場合、記憶媒体或いはネットワークから専用ハードウェア構造を有するコンピュータ、例えば図16に示す汎用のパーソナルコンピュータ1600に当該ソフトウェアを構成するプログラムをインストールし、当該コンピュータは各種のプログラムがインストールされている場合、各種の機能等を実行できる。図16は、本開示の実施例における採用可能な情報処理装置としてのパソコンコンピュータの概略的構成を示すブロック図である。
【０１１７】
図16において、演算処理ユニット（CPU）1601は、読取専用メモリ（ROM）1602に記憶されているプログラム或いは記憶部1608からランダムアクセスメモリ（RAM）1603にロードしたプログラムに基づいて各種の処理を実行する。RAM1603にも、必要に応じてCPU1601が各種の処理等を実行する際に必要なデータが記憶される。
【０１１８】
CPU1601、ROM1602、RAM1603はバス1604を介して互いに接続されている。入力／出力インターフェース1605もバス1604に接続されている。
【０１１９】
キーボード、マウス等を含む入力部1606、ディスプレイ、例えば陰極線管（CRT）、液晶ディスプレイ（LCD）等、スピーカ等を含む出力部1607、ハードディスク等を含む記憶部1608、ネットワークインターフェースカード例えばLANカード、モデム等を含む通信部1609が入力／出力インターフェース1605に接続される。通信部1609は、ネットワーク、例えばインターネットを介して通信処理を実行する。
【０１２０】
必要に応じて、ドライバー1610も入力／出力インターフェース1605に接続される。リムーバブルメディア1616、例えばディスク、光ディスク、光磁気ディスク、半導体メモリ等は、必要に応じてドライバー1610に装着され、その中から読み出したコンピュータプログラムが必要に応じて記憶部1608にインストールされるようにする。
【０１２１】
ソフトウェアで上記一連の処理を実現する場合、ネットワーク、例えばインターネット或いは記憶装置、例えばリムーバブルメディア1611からソフトウェアを構成するプログラムをインストールする。
【０１２２】
当業者であれば、このような記憶媒体は、図16に示す、その中にプログラムが記憶され装置に別途配分してユーザーにプログラムを提供するリムーバブルメディア1611に限定されないことが理解すべきである。リムーバブルメディア1611の例は、磁気ディスク（フロッピーディスク（登録商標））、光ディスク（光ディスク読取専用メモリ（CD−ROM）とデジタル多用途ディスク（DVD）を含む）、光磁気ディスク（ミニディスク（ＭＤ）（登録商標）を含む）、半導体メモリを含む。又は、記憶媒体は、ROM1602、記憶部1608に含まれるハードディスク等であってもよく、その中にプログラムが記憶され、且つこれらを含む装置と一緒にユーザーに配分される。
【０１２３】
以上で図面を参考して本開示の好適な実施例を記述したが、本開示はもちろん以上の例に限定されない。当業者は付随する特許請求の範囲において、各種の変更、修正を得ることができ、これらの変更、修正はもちろん本発明の保護範囲に入ることは理解される。
【０１２４】
例えば、以上の実施例において一つのユニットに含まれる複数の機能は、別々の装置により実現されてもよい。代わりに、以上の実施例において複数のユニットにより実現される複数のユニットはそれぞれ別々の装置により実現されてもよい。また、以上の機能の一つは複数のユニットにより実現されてもよい。このような構成は本開示の技術的範囲に含まれることは言うまでもない。
【０１２５】
当該明細書において、フローチャートに記述されるステップは、上記順序で時間順に従って実行される処理だけではなく、必ず時間順に従う必要がせず並行又は独立に実行される処理を含む。従って、時系列に従って処理するステップにおいて、当該順序を適宜に変更することは言うまでもない。
【０１２６】
既に本開示の及びメリットについて詳細に説明したが、付随する請求項に限定されている本開示の精神と範囲から逸脱しない場合に様々な変更、取り替え、変換を行うことができると理解すべきである。本開示の実施例の用語の「含む」、「包含」又はその任意の変化は、非排他的包含を含むことを意味することにより、一連の要素を含むプロセス、方法、物品又はデバイスはその要素を含むだけでなく、明確に挙げない他の要素を含むか、又はこのようなプロセス、方法、物品又はデバイスが固有する要素をさらに含むようにする。また、より多く制限されない場合に、語句「一つ…を含む」が限定する要素は、上記要素を含むプロセス、方法、物品又はデバイスにおいて他の同一の要素を含むことを排除しない。
【図１】
2019500799.tif 000007
【図２】
2019500799.tif 000008
【図３】
2019500799.tif 000009
【図４】
2019500799.tif 000010
【図５】
2019500799.tif 000011
【図６】
2019500799.tif 000012
【図７】
2019500799.tif 000013
【図８】
2019500799.tif 000014
【図９】
2019500799.tif 000015
【図１０】
2019500799.tif 000016
【図１１Ａ】
2019500799.tif 000017
【図１１Ｂ】
2019500799.tif 000018
【図１２】
2019500799.tif 000019
【図１３】
2019500799.tif 000020
【図１４】
2019500799.tif 000021
【図１５】
2019500799.tif 000022
【図１６】
2019500799.tif 000023
【手続補正書】
【提出日】平成30年6月28日(2018.6.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
許可アクセスのためのクライアント装置であって、電気回路及び記憶装置を含み、
前記電気回路は、
保護されているリソースへの許可アクセスのための要求を生成して、前記要求をサーバー装置に送信し、
前記要求を、分散化された分散型データベースであり、且つその中の記録が変更不可であるパブリックデータベースに記録し、
前記サーバー装置の前記要求に応答して送信した応答情報を利用して、前記保護されているリソースへアクセスするための対応操作を実行する、ように配置される
クライアント装置。
【請求項２】
前記電気回路は、さらに、クライアント秘密鍵により前記要求に署名して署名された要求を前記サーバー装置に送信し、署名された要求を前記パブリックデータベースに記録する、ように配置されている、請求項1に記載のクライアント装置。
【請求項３】
前記電気回路は、さらに、また前記パブリックデータベースにおける前記要求の位置情報を前記サーバー装置に送信する、ように配置されている、請求項1に記載のクライアント装置。
【請求項４】
前記電気回路は、さらに、サーバー公開鍵により前記パブリックデータベースにおける前記応答情報の記録を検証し、前記検証された結果に応じて前記対応操作を実行する、ように配置されている、請求項1に記載のクライアント装置。
【請求項５】
前記サーバー装置は、許可サーバーとリソースサーバーとを含み、
前記要求には、前記許可サーバーに送信される、許可アクセス証明書に対する要求が含まれており、前記応答情報には、前記許可サーバーからの許可アクセス証明書が含まれる、請求項１に記載のクライアント装置。
【請求項６】
前記許可アクセス証明書には、前記保護されているリソースに関する制限情報が含まれ、
前記制限情報は、前記保護されているリソースのマネージャの識別子と、前記クライアント装置のアクセスが許可されるリソースと、前記許可アクセス証明書の有効期間とを含む、請求項５に記載のクライアント装置。
【請求項７】
前記制限情報には、さらに、前記有効期間内のアクセス回数の設置が含まれており、前記電気回路は、前記アクセス回数の設置に応じて前記保護されているリソースにアクセスするための対応操作を実行する、ように配置される、請求項６に記載のクライアント装置。
【請求項８】
前記要求には、前記リソースサーバーに送信されるデータアクセス要求が含まれ、前記応答情報には、前記リソースサーバーからのデータリソースが含まれる、請求項５に記載のクライアント装置。
【請求項９】
許可アクセスのためのサーバー装置であって、電気回路及び記憶装置を含み、
前記電気回路は、
クライアント装置からの、保護されているリソースへの許可アクセスの要求に応答して対応している応答情報を生成して、前記応答情報を前記クライアント装置に送信し、
前記応答情報を、分散化された分散型データベースであり、且つその中の記録が変更不可であるパブリックデータベースに記録する、ように配置されているサーバー装置。
【請求項１０】
前記電気回路は、さらに、サーバー秘密鍵により前記応答情報に署名して、署名された応答情報を前記クライアント装置に送信し、署名された応答情報を前記パブリックデータベースに記録する、ように配置されている、請求項９に記載のサーバー装置。
【請求項１１】
前記電気回路は、さらに、前記パブリックデータベースにおける前記応答情報の位置情報も前記クライアント装置に送信するように配置されている、請求項９に記載のサーバー装置。
【請求項１２】
前記電気回路は、さらに、クライアント公開鍵により前記パブリックデータベースにおける前記要求の記録を検証して、前記検証の結果に応じて前記応答情報を生成するように配置されている、請求項９に記載のサーバー装置。
【請求項１３】
前記サーバー装置は、許可サーバーとリソースサーバーとを含み、
前記要求には、前記許可サーバーに送信される、許可アクセス証明書に対する要求が含まれており、前記応答情報には、前記許可サーバーからの許可アクセスの証明書が含まれ、前記許可アクセス証明書には、前記保護されているリソースに関する制限情報が含まれる、請求項９に記載のサーバー装置。
【請求項１４】
前記制限情報は、前記保護されているリソースのマネージャの識別子と、前記クライアント装置のアクセスが許可されるリソースと、前記許可アクセス証明書の有効期間とを含む、請求項１３に記載のサーバー装置。
【請求項１５】
前記制限情報には、さらに前記有効期間内のアクセス回数の設置が含まれており、前記電気回路は、さらに、前記クライアント装置の前記保護されているリソースへのアクセスに応じて前記アクセス回数の設置をデクリメントし、デクリメントされたアクセス回数の設置を前記パブリックデータベースに記録する、ように配置される、請求項１４に記載のサーバー装置。
【請求項１６】
前記要求には、前記リソースサーバーに送信されるデータアクセス要求が含まれ、前記応答情報には、前記リソースサーバーからのデータリソースが含まれる、請求項１３に記載のサーバー装置。
【請求項１７】
クライアント装置と、サーバー装置と、分散化された分散型データベースであり且つその中の記録が変更不可であるパブリックデータベースとを含む許可アクセスのための制御システムであって、
前記クライアント装置は、
保護されているリソースへの許可アクセスのための要求を生成し、前記要求を前記サーバー装置に送信するように配置されている要求生成ユニットと、
前記要求を前記パブリックデータベースに記録するように配置されている第1の記録ユニットと、
前記サーバー装置が前記要求に応答して送信した応答情報を利用して、前記保護されているリソースにアクセスするための対応操作を実行するように配置されているアクセスユニットとを含み、
前記サーバー装置は、
前記要求に応答して対応している応答情報を生成して、前記応答情報を前記クライアント装置に送信するように配置されている応答生成ユニットと、
前記応答情報をパブリックデータベースに記録するように配置されている第2の記録ユニットとを含むアクセス制御システム。
【請求項１８】
クライアント装置で実行される許可アクセスのための方法であって、
保護されているリソースへの許可アクセスのための要求を生成し、前記要求をサーバー装置に送信し、
前記要求を、分散化された分散型データベースであり且つその中の記録が変更不可であるパブリックデータベースに記録し、
前記サーバー装置が前記要求に応答して送信した応答情報を利用して、前記保護されているリソースにアクセスするための対応操作を実行することを含む方法。
【請求項１９】
サーバー装置で実行される許可アクセスのための方法であって、
クライアント装置からの、保護されているリソースへの許可アクセスの要求に応答して対応している応答情報を生成して、前記応答情報を前記クライアント装置に送信し、
前記応答情報を、分散化された分散型データベースであり且つその中の記録が変更不可であるパブリックデータベースに記録することを含む方法。
【国際調査報告】
2019500799.tif 000024
2019500799.tif 000025
2019500799.tif 000026
2019500799.tif 000027