JP7196174B2 - 委任アイデンティティを使用した認証方法、システム、プログラム - Google Patents

委任アイデンティティを使用した認証方法、システム、プログラム Download PDF

Info

Publication number
JP7196174B2
JP7196174B2 JP2020527823A JP2020527823A JP7196174B2 JP 7196174 B2 JP7196174 B2 JP 7196174B2 JP 2020527823 A JP2020527823 A JP 2020527823A JP 2020527823 A JP2020527823 A JP 2020527823A JP 7196174 B2 JP7196174 B2 JP 7196174B2
Authority
JP
Japan
Prior art keywords
identity
user
authentication
root
delegation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020527823A
Other languages
English (en)
Other versions
JP2021503667A (ja
Inventor
ホフマン、フィリップ
ピットナー、ダニエル
ウェンルトペ、ムハメット
ルブトッシュ、デビッド
オーバーホーファー、マーティン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2021503667A publication Critical patent/JP2021503667A/ja
Application granted granted Critical
Publication of JP7196174B2 publication Critical patent/JP7196174B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

本開示は、電子データ処理の分野に関し、より具体的には、暗号化によりセキュリティ保護されたレジスタを使用するユーザ認証のためのコンピュータ実装方法に関する。
認証は、コンピュータ・システムやコンピュータ・システムよって提供される資源へのアクセス制御の基本構成要素である。許可されたユーザだけがアクセスすることができるように保証するために、それぞれのアイデンティティのために設定された特権を認めるようにある程度の信用度でユーザのアイデンティティ確認を行うための認証手続きが必要である。
しかし、ネットワークを介した認証手続きは、ネットワークを介してユーザのアイデンティティの信用を遠隔で確立し、提示する必要があるため、技術的な課題を生じさせる可能性がある。これは、共用コンピュータ・システムおよびそれらのシステムによって提供される資源へのユビキタス・アクセスを可能にすることを意図したネットワークの環境では特にそうなる可能性がある。ユーザは、複数の独立したコンピュータ・システムまたは、それらのシステムによって提供されるアプリケーションなどの独立した資源に認証を受ける必要に直面することがある。このようなコンピュータ・システムまたはアプリケーションのそれぞれの認証を受けるために、ユーザは、コンピュータ・システムまたはアプリケーションの認証を受けるための個々の認証データを使用することがある。しかし、コンピュータ・システムまたはソフトウェア・システムの数が増大し続けているため、個々のレベルでのそのような認証手法は、ますます実際的ではなくなる可能性がある。
関連はしているが独立している複数のソフトウェア・システムまたはハードウェア・システムのための認証を容易にするために、シングル・サイン・オン(single sign-on:SSO)を実装することができる。SSOを使用すると、ユーザは、異なる認証データを使用することなく、単一の認証データのセットを使用して接続システムまたは複数の接続システムに認証を受けることができるようになる。SSOは、当事者間で認証データをやり取りするためのオープン・スタンダードであるSAML(Security Assertion Markup Language(セキュリティ・アサーション・マークアップ・ランゲージ))を使用して実装可能である。SAMLの仕様は、プリンシパルと、アイデンティティ・プロバイダと、サービス・プロバイダという3つの役割を定義している。プリンシパルがサービス・プロバイダにサービスを要求すると、サービス・プロバイダは、アイデンティティ・プロバイダに認証アサーションを要求する。アイデンティティ・プロバイダは、プリンシパルを認証し、サービス・プロバイダに認証アサーションを与える。このアサーションに基づいて、サービス・プロバイダはアクセス制御の決定を行うこと、すなわち、接続されているプリンシパルのために何らかのサービスを行うか否かを決定することができる。
シングル・サイン・オンは、アイデンティティ・プロバイダとサービス・プロバイダとの間の信用関係を保証する1つのセキュリティ領域内で行うのは比較的容易であるが、SSOを複数のセキュリティ領域にわたって拡張するのは難しくなる。したがって、ユーザ認証の性能を向上させることの絶えない要望がある。
種々の実施形態が、独立請求項の主題によって説明されているように、暗号化によりセキュリティ保護されたレジスタを使用するユーザ認証方法と、その方法を実行するためのコンピュータ・プログラム製品とコンピュータ・システムとを提供する。有利な実施形態が従属請求項に記載されている。本発明の実施形態は、それらの実施形態が互いに排反しない場合、互いに自由に組み合わせることができる。
一態様では、本発明は、暗号化によりセキュリティ保護されたレジスタを使用するユーザ認証のためのコンピュータ実装方法に関する。暗号化によりセキュリティ保護されたレジスタは、ユーザのルート・アイデンティティを含む。ルート・アイデンティティは、ルート識別子と、ユーザを認証するためにそのルート識別子に割り当てられたクレデンシャルとを含む。暗号化によりセキュリティ保護されたレジスタは、ルート・アイデンティティに割り当てられた1つまたは複数の委任アイデンティティをさらに含む。委任アイデンティティのそれぞれは、委任識別子を含み、認証コンテキストに割り当てられる。
この方法は以下を含む。ユーザを認証することを求める認証要求が受け取られる。ユーザは、そのユーザのルート・アイデンティティを使用して認証される。成功裏の認証には、ユーザのルート・アイデンティティのルート識別子に割り当てられたクレデンシャルを受け取ることが求められる。要求された認証の認証コンテキストが識別される。ユーザのルート・アイデンティティに割り当てられ、識別された認証コンテキストに割り当てられた、1つまたは複数の委任アイデンティティのうちの1つの委任アイデンティティが、暗号化によりセキュリティ保護されたレジスタを使用して識別される。ルート・アイデンティティを使用したユーザの成功裏の認証に応答して、認証トークンが発行され、それによって成功裏のユーザ認証を確認し、識別された委任アイデンティティの委任識別子によって成功裏に認証されたユーザを識別する。
他の態様では、本発明は、ルート・アイデンティティに追加の委任アイデンティティを割り当てることをさらに含む方法に関する。追加の委任アイデンティティは、追加の委任識別子を含み、追加の認証コンテキストに割り当てられる。追加の認証コンテキストは、さらなるルート・アイデンティティに依存する。割り当ては、追加の委任アイデンティティを割り当てることを求める要求を受け取ることを含む。追加の委任アイデンティティの追加の認証コンテキストが調べられる。追加の認証コンテキストが上記さらなるルート・アイデンティティに依存する場合、ルート・アイデンティティに割り当てられた追加の委任アイデンティティは、上記追加の認証コンテキストが依存する上記さらなるルート・アイデンティティを使用して認証に成功したさらなるユーザから追加の委任アイデンティティの承認を受け取ることに応答して、暗号化によりセキュリティ保護されたレジスタに格納される。
他の態様では、本発明は、コンピュータ可読プログラム・コードが実現されている不揮発性コンピュータ可読記憶媒体を含むコンピュータ・プログラム製品に関する。コンピュータ可読プログラム・コードは、暗号化によりセキュリティ保護されたレジスタを使用するユーザ認証方法を実装するように構成される。暗号化によりセキュリティ保護されたレジスタは、ユーザのルート・アイデンティティを含む。ルート・アイデンティティは、ルート識別子と、ユーザを認証するためのそのルート識別子に割り当てられたクレデンシャルとを含む。暗号化によりセキュリティ保護されたレジスタは、ルート・アイデンティティに割り当てられた1つまたは複数の委任アイデンティティをさらに含む。委任アイデンティティのそれぞれは、委任識別子を含み、認証コンテキストに割り当てられる。
コンピュータ可読プログラム・コードによって実装される方法は、以下を含む。ユーザを認証することを求める認証要求が受け取られる。ユーザは、そのユーザのルート・アイデンティティを使用して認証される。成功裏な認証には、ユーザのルート・アイデンティティのルート識別子に割り当てられたクレデンシャルを受け取ることが求められる。要求された認証の認証コンテキストが識別される。ユーザのルート・アイデンティティに割り当てられ、識別された認証コンテキストに割り当てられた、1つまたは複数の委任アイデンティティのうちの1つの委任アイデンティティが、暗号化によりセキュリティ保護されたレジスタを使用して識別される。ルート・アイデンティティを使用したユーザの成功裏の認証に応答して、認証トークンが発行され、それによって成功裏のユーザ認証を確認し、識別された委任アイデンティティの委任識別子によって成功裏に認証されたユーザを識別する。
他の態様では、本発明は、暗号化によりセキュリティ保護されたレジスタを使用するユーザ認証のためのコンピュータ・システムに関する。暗号化によりセキュリティ保護されたレジスタは、ユーザのルート・アイデンティティを含む。ルート・アイデンティティは、ルート識別子と、ユーザを認証するためにそのルート識別子に割り当てられたクレデンシャルとを含む。暗号化によりセキュリティ保護されたレジスタは、ルート・アイデンティティに割り当てられた1つまたは複数の委任アイデンティティをさらに含む。委任アイデンティティのそれぞれは、委任識別子を含み、認証コンテキストに割り当てられる。
コンピュータ・システムは、以下を実行するように構成される。ユーザを認証することを求める認証要求が受け取られる。ユーザは、そのユーザのルート・アイデンティティを使用して認証される。成功裏な認証には、ユーザのルート・アイデンティティのルート識別子に割り当てられたクレデンシャルを受け取ることが求められる。要求された認証の認証コンテキストが識別される。ユーザのルート・アイデンティティに割り当てられ、識別された認証コンテキストに割り当てられた、1つまたは複数の委任アイデンティティのうちの1つの委任アイデンティティが、暗号化によりセキュリティ保護されたレジスタを使用して識別される。ルート・アイデンティティを使用したユーザの成功裏の認証に応答して、認証トークンが発行され、それによって成功裏のユーザ認証を確定し、識別された委任アイデンティティの委任識別子によって成功裏に認証されたユーザを識別する。
以下では、図面を参照しながら例示としてのみ本発明の実施形態について詳細に説明する。
ユーザ認証を実装するのに適する第1の例示のコンピュータ・システムを示す図である。 ユーザ認証を実装するのに適する第2の例示のコンピュータ・システムを示す図である。 ユーザ認証を実装する概略インフラストラクチャを示す図である。 委任アイデンティティの例示の割り当ての概略図を示す図である。 委任アイデンティティの例示の依存関係の概略図を示す図である。 例示のユーザ認証の概略流れ図を示す図である。 例示のブロックチェーンの概略図を示す図である。
本発明の様々な実施形態の説明を、例示を目的として示すが、網羅的であること、または開示されている実施形態に限定されることを意図しない。記載されている実施形態の範囲および思想から逸脱することなく、当業者には多くの変更および変形が明らかであろう。本明細書で使用されている用語は、実施形態の原理、実際の適用、市場に見られる技術に優る技術的改良を最もよく説明するため、または当業者が本明細書で開示されている実施形態を理解することができるように選定された。
実施形態は、1つまたは複数の委任アイデンティティが提供されるという有利な効果を有し得る。委任アイデンティティのそれぞれが、特定の認証コンテキストに割り当てられる。認証コンテキストは、例えば、ユーザがアクセスを試みる資源が割り当てられているプロジェクトまたは組織に依存し得る。アクセスの許可はそれぞれのユーザの成功裏な認証に依存する。個別の認証コンテキストのそれぞれについて、ユーザは認証のために常に自分のルート・アイデンティティを使用することができる。これは、各自のルート・アイデンティティに割り当てられたすべての委任アイデンティティについて、ユーザのルート・アイデンティティを使用するシングル・サイン・オンに相当する。ユーザは、ルート識別子と、ルート・アイデンティティに含まれるクレデンシャルとを覚えておき、提供するだけで済む。ルート識別子は、例えばユーザ名の形態で提供することができ、クレデンシャルは例えばパスワードの形態で提供することができる。
クレデンシャルとは、暗号クレデンシャル、すなわち、通信に対する当事者のアイデンティティ確認を行うために使用される情報を指す。この情報は、特定の実際の個人または団体にとってのみ利用可能であるものとする。暗号クレデンシャルは、例えば機械可読暗号鍵、バイオメトリクス(例えば指紋、音声認識、網膜スキャン)の形態、またはパスワードの形態、あるいはこれらの組合せで提供することができる。クレデンシャルは、自己発行されるか、または信用のある第三者によって発行されてもよく、多くの場合、発行の唯一の基準は、クレデンシャルが特定の実際の個人または団体に一義的に関連付けられていることである。クレデンシャルは、一定期間後に満了するように構成されてもよい。x.509証明書のような証明書が、クレデンシャルの他の例である。
ルート・アイデンティティを使用するユーザの認証が成功した場合に発行される認証トークンは、識別された委任アイデンティティの委任識別子にのみ関係し得る。認証トークンは、例えば、その真正性を証明するために署名されてもよい。基礎にあるルート・アイデンティティに関する詳細は開示されない。それぞれの認証トークンは、ユーザが成功裏の認証を証明するために使用することができる。認証トークンの受領者は、ユーザの委任識別子のみを知る。したがって、受領者の観点から見ると、ユーザは、委任アイデンティティによって成功裏に認証される。認証トークンの正当性とその保全性とを証明するために、例えばアイデンティティ・プロバイダ・システムのような認証トークンの発行者が認証トークンに署名してもよい。認証トークンに署名するために、アイデンティティ・プロバイダ・コンピュータ・システムが、アイデンティティ・プロバイダに割り当てられた秘密暗号鍵を使用してもよい。
実施形態は、複数の異なる認証コンテキスト、例えば、異なる組織の異なるプロジェクトのために、それらの認証コンテキストのそれぞれのためのユーザの個々の委任アイデンティティを提供するという有効な効果を有し得る。認証コンテキストは、例えば、認証要求を出すために使用されるURLなど、コンテキスト標識を使用して識別することができる。
サービス・プロバイダ・コンピュータ・システムが、異なる組織にサービスを提供することができる。それぞれのサービスは、同じであってもよく、または組織固有であってもよい。サービスは、例えばクラウド・サービスであってもよい。サービス・プロバイダによって提供されるサービスにアクセスするために、ユーザは、例えば、組織固有のURLを使用することができる。あるいは、ユーザは、汎用URLを使用し、また、ユーザがそのためにサービス・プロバイダのサービスにアクセスを試みる組織またはユーザがその一員である組織を示す標識を入力することによって、認証コンテキストを提供してもよい。それぞれの標識は、例えば、組織名の形態で提供されてもよい。
それぞれの追加の委任アイデンティティの追加の認証コンテキストが依存するさらなるユーザからの追加の委任アイデンティティの承認を必要とすることは、効率的なテスト手続きが実装されるという有利な効果を有し得る。したがって、追加の委任アイデンティティを成功裏に割り当てることにより、それぞれの追加の委任アイデンティティの依存関係を証明し得る。したがって、委任アイデンティティは、さらなるルート・アイデンティティに依存し得る。各自のさらなるルート・アイデンティティは、例えば追加の委任アイデンティティが使用されるコンテキストにおける人物または組織のルート・アイデンティティであってよい。追加の委任アイデンティティは、例えば、そのさらなるルート・アイデンティティを有する組織のメンバーのアイデンティティとすることができる。したがって、追加の委任アイデンティティは、それぞれの組織がその追加のメンバーの追加の委任アイデンティティを承認する場合にのみ割り当てられ得る。
実施形態によると、この方法は、ユーザのルート・アイデンティティを使用して、各自のルート・アイデンティティに割り当てられたすべての委任アイデンティティについてシングル・サイン・オンを行う。実施形態は、複数の異なるコンテキストのために異なる委任アイデンティティを使用することができるという有利な効果を有し得る。ユーザは、これらのコンテキストのそれぞれにおいて自分のルート・アイデンティティを使用して認証することができるようになる一方、ルート・アイデンティティは、認証トークンの受領者、例えばユーザが認証を受けるサービス・プロバイダに開示されない。
実施形態によると、ルート・アイデンティティは、そのルート・アイデンティティに割り当てられた複数の委任アイデンティティを含む。複数の委任アイデンティティは、複数の委任アイデンティティのうちの少なくとも第1の1つの委任アイデンティティが、複数の委任アイデンティティのうちの少なくとも第2の1つの委任アイデンティティを介してルート・アイデンティティに割り当てられた、木構造の形態で、ルート・アイデンティティに割り当てられる。
実施形態は、委任アイデンティティがすべて、ルート・アイデンティティへのその委任アイデンティティの割り当てに依存するという有利な効果を有し得る。ルート・アイデンティティが失効させられた場合、各自のルート・アイデンティティに割り当てられたすべての委任アイデンティティも無効になる。木状構造は、さらに、委任アイデンティティのうちの1つまたは複数の委任アイデンティティを、委任アイデンティティのうちの他の委任アイデンティティを介してルート・アイデンティティに割り当てることができるという有利な効果も有し得る。例えば、ユーザに、認証コンテキストとしての特定の組織に割り当てられた委任識別子を含む委任アイデンティティを与えることができる。それぞれの組織は、1つまたは複数の下位組織または系列組織を含み得る。それぞれの下位組織または系列組織の全部またはそのうちの選択された組織のために、ユーザに、それぞれの組織の委任アイデンティティに割り当てられたさらなる委任アイデンティティを与えることができる。したがって、ユーザがそのために認証を受けることを意図している下位組織に応じて、ユーザは、認証コンテキストとして、そのそれぞれの下位組織に割り当てられた委任識別子を含む個別委任アイデンティティを使用することができる。
実施形態によると、暗号化によりセキュリティ保護されたレジスタは、コンピュータ可読プログラム・コードを含む。認証側コンピュータ・システムのプロセッサによるコンピュータ可読プログラム・コードの実行によって、ユーザ認証を実行し、認証トークンを発行するように、プロセッサに認証側コンピュータ・システムを制御させる。
実施形態は、暗号化によりセキュリティ保護されたレジスタによって提供されるコンピュータ可読プログラム・コードを使用して、認証側コンピュータ・システムによって、認証を実行することができるという有利な効果を有し得る。したがって、認証に使用されるコンピュータ・システム、すなわち認証側コンピュータ・システムは、ユーザ認証を実行することができるようにするために特定のコンピュータ可読プログラム・コードを含む必要がない。そうではなく、それぞれのコンピュータ可読プログラム・コードは、暗号化によりセキュリティ保護されたレジスタによって与えられる。認証側コンピュータ・システムは、例えば、アイデンティティ・プロバイダ・コンピュータ・システムであってもよい。実施形態は、さらに、暗号化によりセキュリティ保護されたレジスタによってそれぞれのコンピュータ可読プログラム・コードを提供することによって、認証が不正操作によって破損されないように保証することができるという有利な効果を有し得る。また、認証は、任意の汎用コンピュータ・システムによって実行可能であり、汎用コンピュータ・システムは暗号化によりセキュリティ保護されたレジスタにアクセスできるだけでよい。分散ブロックチェーンのような分散レジスタの場合、暗号化によりセキュリティ保護されたレジスタの最新のコピーに容易にアクセスすることができる。
実施形態によると、レジスタの暗号化によるセキュリティは、格納されたルート・アイデンティティおよび格納された1つまたは複数の委任アイデンティティの少なくとも一部のハッシュ化と、署名と、暗号化とのうちの1つまたは複数を含む。
実施形態は、それぞれのレジスタに格納されたアイデンティティ、すなわち、ルート・アイデンティティおよびそれぞれのルート・アイデンティティに割り当てられた委任アイデンティティを、不正操作から有効に保護することができるという有利な効果を有し得る。例えば、レジスタは、それぞれの暗号化によりセキュリティ保護されたレジスタに格納されたアイデンティティのそれぞれのハッシュを含むことができる。また、格納されたアイデンティティは、レジスタにそれぞれのアイデンティティを生成または追加あるいはその両方を行ったユーザまたは団体の署名鍵、すなわち暗号秘密鍵によって署名されてもよい。
例えば、レジスタは、1つまたは複数の管理者コンピュータ・システムによって管理されてもよい。管理者コンピュータ・システムのそれぞれに、例えばルート・アイデンティティまたは委任アイデンティティを含むレジスタのエントリに署名するための暗号秘密鍵を割り当ててもよい。また、レジスタに格納されているアイデンティティを暗号化してもよい。アイデンティティは、例えば、対称暗号鍵によって、または暗号公開鍵によって暗号化することができる。したがって、これらのアイデンティティを復号するのに必要なのは、それぞれの暗号公開鍵に割り当てられた対称暗号鍵または秘密暗号鍵のみである。アイデンティティは、例えばすべて同じ暗号鍵で暗号化されてもよい。他の実施形態によると、アイデンティティは、個別の暗号鍵または異なる暗号鍵あるいはその両方によって暗号化されてもよい。例えば、同じ認証コンテキストに割り当てられたすべての委任アイデンティティが同じ暗号鍵で暗号化されてもよい。実施形態によると、同じルート・アイデンティティに割り当てられたすべての委任アイデンティティが同じ暗号鍵で暗号化されてもよい。
実施形態によると、暗号化によりセキュリティ保護されたレジスタは、分散レジスタであり、そのコピーが複数のコンピュータ・システムに分散される。実施形態は、分散レジスタを使用することによって、レジスタの障害の危険を低減することができるという有利な効果を有し得る。特に、単一点障害を防止することができる。レジスタの他のコピーが損なわれていない限り、レジスタを復旧させることができる。また、レジスタの管理または維持あるいはその両方のワークロードをそれぞれの複数のコンピュータ・システムに分散させることができる。
実施形態によると、分散レジスタの暗号化によるセキュリティは、ルート・アイデンティティと、1つまたは複数の委任アイデンティティとを、分散レジスタの各コピーに含まれる、ブロックチェーンの複数のブロックに格納することを含む。実施形態は、改ざん防止と、アイデンティティを管理するための共用インフラストラクチャとを提供するという有利な効果を有する。これは、格納されたアイデンティティの不正操作に対抗する有効な手段を提供することができる。
ブロックチェーンとは、連結され、暗号を使用してセキュリティ保護されたレコード、いわゆるブロックのリストを含むレジスタを指す。各ブロックは、前のブロックへのリンクとしてのハッシュ・ポインタと、それぞれのブロックの生成時刻を識別するタイムスタンプと、それぞれのブロックに格納されたデータとを含むことができる。ブロックチェーンは、ブロックに格納されているデータの変更に対して本質的に耐性を有し得る設計になっている。ブロックチェーンは、データを効率的かつ検証可能な永続的な方式で記録することができる開放された分散データベースとして機能することができる。分散レジスタとして使用する場合、ブロックチェーンは、例えば、ブロックチェーンに追加される追加のブロックを検証するためのプロトコルに集合的に準拠するピア・ツー・ピア・ネットワークによって管理される。記録された後は、どのブロック内のデータも、ネットワークの大多数が結託することを必要とするそれ以降のすべてのブロックの変更がない限り、遡って変更することができない。
ブロックチェーン・データベースは、格納データとブロックの2種類のレコードからなり得る。ブロックは、ハッシュ化されて、例えばマークル木としてコード化された、格納データを保持する。各ブロックは、ブロックチェーン内の直前のブロックのハッシュを含むことができ、ハッシュはこれら2つのブロックを連結する。連結されたブロックは、チェーンを形成することができる。この相互作用的プロセスにより、ブロックチェーンの最初のブロックである、いわゆるジェネシス・ブロックまで遡って前のブロックの保全性を確定することができる。
ブロックチェーンのブロックは、スマート・コントラクトとも呼ばれる実行可能プログラム命令も含むことができる。それぞれのプログラム命令は、ブロックチェーンに追加のエントリを追加するために、または、ブロックチェーンに格納されている情報にアクセスするために、または、ブロックチェーンによって定義されている他の何らかのタスクを行うために、コンピュータ・システムのプロセッサによって実行可能である。ブロックチェーンを使用して実行可能プログラム命令を提供することは、実行可能プログラム命令を、不正操作に対して暗号化によってセキュリティ保護することができるという有利な効果を有し得る。また、分散ブロックチェーンは、それぞれのプログラム命令を分散させる効率的な方法を提供し得る。実行可能プログラム命令は、検証可能とすることができ、署名され、プログラミング言語でコード化することができる。
ブロックチェーンは、意図的にセキュリティ保護されるようにすることができ、非集中型コンセンサスを実現する高いビザンチン・フォールト・トレラント性を備えた分散コンピューティング・システムを提供することができる。
実施形態によると、ブロックチェーンは、異なる識別プロバイダ間で共用することができる。ブロックチェーンは、参加者のそれぞれがブロックチェーンのコピーを有するように複製することができる。これは、ブロックチェーンに追加される追加ブロックを検証するためのプロトコルに集合的に準拠するピア・ツー・ピア・ネットワークによって管理することができる。したがって、ブロックチェーンは、改ざん防止と共用インフラストラクチャとを提供するという有利な効果を有し得る。
ブロックチェーンに追加のエントリを追加するには、参加者のコンセンサスが必要であってもよい。ピア・ツー・ピア・ネットワークを介して、すべての参加者がそのエントリに合意し、そのエントリを検証することができる。実施形態によると、エントリを検証するための規則を設定することができる。これらの規則は、例えば、ブロックチェーン自体に含まれる実行可能プログラム命令によって実装可能である。実施形態は、トラステッドである参加者とトラストレスな参加者とに基づく低ワークロードなコミットメントを可能にするという有利な効果を有し得る。エントリは、暗号化し、ハッシュ化し、検証ノードのネットワークに送信することができる。
実施形態によると、暗号化によりセキュリティ保護されたレジスタを中央データベースによって提供することができる。実施形態は、中央データベースの形態で、レジスタの簡易で信頼性のある実装形態を提供することができるという有利な効果を有し得る。実施形態によると、中央データベースは、暗号化によりセキュリティ保護され、監査可能な共通データベースとすることができる。すべてのアイデンティティを含む中央データベースは、任意の委任識別子を、例えば組織などの異なるコンテキストに連結することを可能にし得る。
実施形態によると、認証に使用されたルート・アイデンティティまたは識別された委任アイデンティティが無効な場合は、認証トークンの発行が拒否される。
実施形態は、それぞれの委任アイデンティティが割り当てられたルート・アイデンティティを無効にすることによって委任アイデンティティのいずれかを使用する認証を容易に防止することができるという有利な効果を有し得る。無効化は、例えば失効させることよって行うことができる。また、例えば、ユーザが、それぞれの委任アイデンティティの認証コンテキストを与える組織にもはや勤務していない場合に、個別委任アイデンティティを失効させてもよい。また、委任アイデンティティが無効な場合、そのそれぞれの委任アイデンティティに割り当てられているすべての委任アイデンティティ、すなわち、そのそれぞれの委任アイデンティティを介してルート・アイデンティティに割り当てられたすべての委任アイデンティティも無効にすることができる。言い換えると、識別された委任アイデンティティが、無効な委任アイデンティティを介してルート・アイデンティティに割り当てられている場合、認証トークンの発行を拒否することができる。実施形態は、ある人物が特定の組織にもはや勤務していない場合、その人物のアイデンティティのすべてがそのそれぞれの組織のコンテキストで使用されるわけではなく、すなわち、そのそれぞれの組織の下位組織に勤務している場合、同じ認証コンテキスト、すなわちそのそれぞれの組織を使用する他のすべての委任アイデンティティが割り当てられている委任アイデンティティを無効化、例えば失効させれば足りるという有利な効果を有し得る。
実施形態によると、要求は認証に使用されるルート・アイデンティティのルート識別子を含む。実施形態は、ユーザがそれぞれの認証コンテキストに割り当てられた実際の委任アイデンティティとは独立して、認証ごとにルート・アイデンティティを提供することができるという有利な効果を有し得る。
実施形態によると、要求は、ユーザを認証するために使用されるルート・アイデンティティに割り当てられ、識別された認証コンテキストに割り当てられた委任識別子を含む。実施形態は、要求がそれ自体で委任識別子を提供することができるという有利な効果を有し得る。したがって、例えば委任アイデンティティを、それぞれの要求によって提供される委任識別子を使用して識別することができる。
実施形態によると、認証要求は、暗号化によりセキュリティ保護されたレジスタにアクセス可能なアイデンティティ・プロバイダ・コンピュータ・システムによって受け取られる。アイデンティティ・プロバイダ・コンピュータ・システムは、ユーザの認証と、識別された委任アイデンティティの委任識別子によって成功裏に認証されたユーザを識別する認証トークンの発行とを行う。
実施形態は、ユーザの認証をアイデンティティ・プロバイダ・コンピュータ・システムによって効率的に行うことができるという有利な効果を有し得る。それぞれのアイデンティティ・プロバイダ・コンピュータ・システムによって発行された認証トークンに基づいて、ユーザに、そのそれぞれの認証トークンに含まれる委任識別子の委任アイデンティティが与えられる。
実施形態によると、認証要求は、サービス・プロバイダ・コンピュータ・システムから受け取る。ユーザを認証するために使用されるクレデンシャルは、ユーザ・コンピュータ・システムから受け取る。
実施形態は、例えば、サービス・プロバイダ・コンピュータ・システムから要求を受け取ることができるという有利な効果を有し得る。例えば、要求はユーザ・コンピュータ・システムを介してサービス・プロバイダ・コンピュータ・システムから転送されてもよい。例えば、ユーザ・コンピュータ・システムは、サービス・プロバイダ・コンピュータ・システムによって提供されるサービスにアクセスを試みることができ、サービス・プロバイダ・コンピュータ・システムは、ユーザ・コンピュータ・システム、例えばユーザ・コンピュータ・システムのブラウザを、アイデンティティ・プロバイダ・コンピュータ・システムにリダイレクトすることができる。成功裏の認証を行うために、ユーザ・コンピュータ・システムは、さらに、そのそれぞれのユーザ・コンピュータ・システムを使用してユーザのルート・アイデンティティのクレデンシャルを提供してもよい。さらに、ユーザ・コンピュータ・システムは、ユーザが認証を受けようとしている認証コンテキストに割り当てられたルート識別子または委任識別子あるいはその両方を提供することができる。
実施形態によると、1つまたは複数の委任アイデンティティは、それぞれ、個々の委任アイデンティティの有効性が満了する有効期限日を示す標識を含む。実施形態は、それぞれの委任アイデンティティの有効性を時間的に制限することができるという有利な効果を有し得る。これにより、この方法の、特に委任アイデンティティのセキュリティをさらに強化することができる。
実施形態によると、それぞれの委任アイデンティティが、認証に使用されるルート・アイデンティティに割り当てられており、識別された認証コンテキストに割り当てられていると識別された委任アイデンティティである場合、1つまたは複数の委任アイデンティティのうちの少なくとも1つが認証の成功のための追加の認証要件を含む。
実施形態は、委任アイデンティティが追加の認証要件を含むことができるという有利な効果を有し得る。このような追加の認証要件は、追加のパスワードまたは多元認証あるいはその両方を含み得る。例えば、それぞれの委任アイデンティティのセキュリティ・レベルは、他の委任アイデンティティよりも高くてもよい。成功裏に認証するために追加の手段を必要とすることによってセキュリティを向上させることができる。それぞれの手段は、例えば、証明書に含まれるそれぞれの暗号公開鍵に割り当てられた暗号秘密鍵を使用して生成された署名の有効性を証明するように構成された暗号公開鍵を含む、証明書を提供することを含み得る。
実施形態によると、さらに、ルート・アイデンティティに割り当てられたすべての委任アイデンティティの提供を求める要求を、第1のアイデンティティ要求者から受け取る。第1のアイデンティティ要求者がそれぞれのルート・アイデンティティを使用して成功裏に認証された場合、そのルート・アイデンティティに割り当てられた1つまたは複数の委任アイデンティティのすべてが提供される。
実施形態は、ルート・アイデンティティに割り当てられた委任アイデンティティの全体が、ルート・アイデンティティ、すなわちそれぞれのルート・アイデンティティによって認証するユーザにのみ見えるという有利な効果を有し得る。他のすべての参加者、特に認証トークンの受領者は、それぞれの当事者によって提供される特定の認証コンテキストに割り当てられた委任アイデンティティのみを知ることができる。
実施形態によると、追加の認証コンテキストは、さらなるルート・アイデンティティに割り当てられた1つまたは複数のさらなる委任アイデンティティを介してそのさらなるルート・アイデンティティに依存する。実施形態は、委任アイデンティティが、例えば、さらなるルート・アイデンティティの組織の下位組織のさらなる委任アイデンティティに依存することができるという有利な効果を有し得る。
実施形態によると、追加の委任アイデンティティの依存関係は、さらなるルート・アイデンティティのさらなるルート識別子または、さらなるルート・アイデンティティに割り当てられたさらなる委任アイデンティティのさらなる委任識別子を含む、その追加の委任アイデンティティの認証コンテキストによって実装される。実施形態は、それぞれの追加の委任アイデンティティがそれぞれ依存する、それぞれ、ルート・アイデンティティまたは委任アイデンティティのルート識別子または委任識別子の形態で提供可能な認証コンテキストによって、依存関係を実装することができるという有利な効果を有し得る。
実施形態によると、アイデンティティは、さらに、それぞれのアイデンティティを定義する追加の属性を含むことができる。例えば、属性は、それぞれのアイデンティティが人物のアイデンティティであるか組織のアイデンティティであるかを定義することができる。また、属性はそれぞれのアイデンティティの役割を定義することができる。
実施形態によると、さらに、さらなるルート・アイデンティティに依存するすべての委任アイデンティティの提供を求める要求を、第2のアイデンティティ要求者から受け取る。第2のアイデンティティ要求者がそのさらなるルート・アイデンティティを使用して成功裏に認証された場合、そのさらなるルート・アイデンティティに依存するすべての委任アイデンティティが提供される。
実施形態は、依存側の委任アイデンティティの全体が、委任アイデンティティの依存する各自のさらなるルート・アイデンティティにのみ見えるという有利な効果を有し得る。各自のさらなるルート・アイデンティティに割り当てられ、1つまたは複数の委任アイデンティティが依存する委任アイデンティティの場合、依存側の委任アイデンティティのみが見える。
実施形態によると、暗号化によりセキュリティ保護されたレジスタは、さらなるコンピュータ可読プログラム・コードを含む。割り当て側コンピュータ・システムのプロセッサによるこのさらなるコンピュータ可読プログラム・コードの実行によって、プロセッサは、ルート・アイデンティティへの追加の委任アイデンティティの割り当てを実行するように、割り当て側コンピュータ・システムを制御する。
実施形態は、ルート・アイデンティティに追加の委任アイデンティティを割り当てるためのコンピュータ可読プログラム・コードが、暗号化によりセキュリティ保護されたレジスタによって提供され、追加の委任アイデンティティを割り当てるために使用されるコンピュータ・システムによって提供される必要がないという有利な効果を有し得る。言い換えるとそれぞれの追加の委任アイデンティティは、汎用コンピュータ・システムを使用して割り当てることができ、汎用コンピュータ・システムは、そのそれぞれのレジスタにアクセスすることができるだけでよい。
実施形態によると、さらに、割り当てられた追加の委任アイデンティティは失効により無効にされる。失効は、失効要求者から追加の委任アイデンティティの失効を求める要求を受け取ることを含む。失効要求者は認証される。失効要求者が、追加の認証コンテキストが依存するさらなるルート・アイデンティティを使用して認証を受けることに成功したさらなるユーザである場合、追加の委任アイデンティティの失効を示す失効標識が、暗号化によりセキュリティ保護されたレジスタに追加される。
実施形態は、追加の委任アイデンティティをその委任アイデンティティが依存するルート・アイデンティティによって失効させることができるという有利な効果を有し得る。例えば、各自のルート・アイデンティティは、追加の委任アイデンティティの組織のルート・アイデンティティであってもよい。したがって、各自の組織は、例えばメンバーがその組織を離れる場合に追加の委任アイデンティティを失効させることが可能となる。
実施形態は、ユーザのアイデンティティを維持し、SSOに関与するすべての当事者間の相互の信用の輪を必要とせずに、会社間SSO、すなわち、セキュリティ領域間SSOを可能にすることができる。ユーザは自分の認証の詳細を、暗号化によりセキュリティ保護されたレジスタ、例えばブロックチェーンによって裏打ちされたアイデンティティ・プロバイダにのみ送信すればよいため、自分の実際のアイデンティティ、すなわちルート識別子を、認証を受けたいサービス・プロバイダSPに明かす必要がない。
ルート・アイデンティティに割り当てられた委任アイデンティティのフル・セットは、ルート・アイデンティティの所有者のみに見えるようにすることができる。可用性の高い認証インフラストラクチャを稼働させる負担を複数の当事者間で分散させるために、分散レジスタ、すなわちブロックチェーンに格納されたアイデンティティを暗号化によりセキュリティ保護することができ、ブロックチェーンを通して監査することができる。
実施形態によると、各アイデンティティは、一意のアイデンティティ、例えばパスポートによって与えられる。したがって、パスポートを所有する各市民にルート・アイデンティティが与えられる。ルート・アイデンティティは、ルート識別子、例えばその市民の実名と、そのルート識別子に割り当てられたパスワードとを含んでもよい。その市民が認証を希望する場合、その市民はこのルート識別子、すなわち実名を明らかにしなくても済む。ルート・アイデンティティは、その代わりに、この市民が委任識別子を使用してシングル・サイン・オンを行うことができるようにする。
実施形態によると、委任アイデンティティの認証および識別は、単一の独立したアイデンティティ・プロバイダが実行することができる。実施形態によると、委任アイデンティティの認証と識別を実行するアイデンティティ・プロバイダは、例えば認証コンテキストに基づいて複数のアイデンティティ・プロバイダから選択することができる。
実施形態によると、単一のブロックチェーンが提供される。実施形態によると、複数のブロックチェーンが提供されてもよい。例えば、ブロックチェーンのそれぞれが特定の認証コンテキストのために提供されてもよい。アイデンティティ・プロバイダは、会社間SSOが確立されるように、複数のブロックチェーンを信用してもよい。例えば、ブロックチェーンは、会社固有のブロックチェーンであってもよい。
実施形態によると、暗号化によりセキュリティ保護されたレジスタは、不揮発性コンピュータ可読記憶媒体によって実現化され、コンピュータ可読プログラム・コードは、暗号化によりセキュリティ保護されたレジスタに含まれる。実施形態によると、コンピュータ可読プログラム・コードは、さらに、本明細書に記載の暗号化によりセキュリティ保護されたレジスタを使用するユーザ認証のための方法の実施形態のいずれかを実装するように構成される。
実施形態によると、コンピュータ・システムは、さらに、本明細書に記載の暗号化によりセキュリティ保護されたレジスタを使用するユーザ認証のための方法の実施形態のいずれかを実行するように構成される。
図1に、暗号化によりセキュリティ保護されたレジスタを使用するユーザ認証のための方法を実装するのに適したコンピュータ・システム100を示す。本明細書に記載の方法は、少なくとも部分的に非対話式であり、サーバまたは組み込みシステムなどのコンピュータ化システムによって自動化されることはわかるであろう。ただし、例示の実施形態では、本明細書に記載の方法は、(部分的に)対話式で実装可能である。これらの方法は、さらに、ソフトウェア112、122(ファームウェア122を含む)、ハードウェア(プロセッサ)105、またはこれらの組合せで実装可能である。例示の実施形態では、本明細書に記載の方法は、実行可能プログラムとしてソフトウェアで実装され、パーソナル・コンピュータ、ワークステーション、ミニコンピュータ、またはメインフレーム・コンピュータなどの特殊目的または汎用デジタル・コンピュータによって実行される。したがって、最も汎用的なシステム100は汎用コンピュータ101を含む。
例示の実施形態では、図1に示すように、ハードウェア・アーキテクチャの観点からは、コンピュータ101は、プロセッサ105と、メモリ・コントローラ115に結合されたメモリ(メイン・メモリ)110と、ローカル入力/出力コントローラ135を介して通信可能に結合された1つまたは複数の入力または出力あるいはその両方の(I/O)デバイス(または周辺装置)10、145とを含む。入力/出力コントローラ135は、当技術分野で知られているように1つまたは複数のバスまたはその他の有線または無線接続とすることができるが、これらには限定されない。図を簡単にするために省略されているが、入力/出力コントローラ135は、通信を可能にするために、コントローラ、バッファ(キャッシュ)、ドライバ、リピータおよび受信器など、追加の要素を含んでもよい。また、ローカル・インターフェースは、上記の構成要素間の適切な通信を可能にするために、アドレス接続、制御接続またはデータ接続あるいはこれらの組合せを含むことができる。本明細書に記載のように、I/Oデバイス10、145は、一般に、当技術分野で知られている任意の汎用型暗号カードまたはスマート・カードを含み得る。
プロセッサ105は、ソフトウェア、具体的にはメモリ110に記憶されているソフトウェアを実行するためのハードウェア・デバイスである。プロセッサ105は、任意の特注または市販のプロセッサ、中央処理装置(CPU)、コンピュータ101に付随するいくつかのプロセッサのうちの補助プロセッサ、半導体ベースの(マイクロチップまたはチップ・セットの形態の)マイクロプロセッサ、マクロプロセッサ、または一般に、ソフトウェア命令を実行するための任意のデバイスとすることができる。
メモリ110は、揮発性記憶素子(例えば、ランダム・アクセス・メモリ(DRAM、SRAM、SDRAMなどのRAM))、および不揮発性記憶素子(例えば、ROM、消去可能プログラマブル読み取り専用メモリ(EPROM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、プログラマブル読み取り専用メモリ(PROM))のうちのいずれか1つまたはいずれかの組合せを含み得る。なお、メモリ110は、様々な構成要素が互いに遠隔に位置するがプロセッサ105によってアクセス可能な分散アーキテクチャを有することができる。
メモリ110内のソフトウェアは、それぞれが論理機能、特に本発明の実施形態に関わる機能を実装するための実行可能命令の順序付けられたリストを含む、1つまたは複数の別個のプログラムを含み得る。図1の例では、メモリ110内のソフトウェアは、例えば暗号化によりセキュリティ保護されたレジスタを使用するユーザ認証を実装するように構成された、命令またはソフトウェア112を含む。
メモリ110内のソフトウェアは、典型的には適切なオペレーティング・システム(OS)111も含む必要がある。OS111は、基本的に、場合により本明細書に記載のように方法を実装するためのソフトウェア112などの他のコンピュータ・プログラムの実行を制御する。
本明細書に記載の方法は、ソース・プログラム112、実行可能プログラム112(オブジェクト・コード)、スクリプト、または、実行される1組の命令112を含む任意の他の実体の形態を取り得る。ソフトウェア112は、例えば、暗号化によりセキュリティ保護されたレジスタを使用するユーザ認証を実装することができる。ソース・プログラムの場合、プログラムはコンパイラ、アセンブラ、インタプリタなどにより変換される必要があり、これらは、OS111と連関して正常に動作するように、メモリ110内に含まれても含まれていなくてもよい。また、方法は、データおよびメソッドのクラスを有するオブジェクト指向プログラミング言語として、または、ルーチン、サブルーチンまたは関数あるいはその組合せを有する手続き型プログラミング言語として記述することも可能である。
例示の実施形態では、従来型キーボード150とマウス155とを入力/出力コントローラ135に結合することができる。I/Oデバイス145などのその他の出力デバイスは、入力デバイス、例えば、プリンタ、スキャナ、マイクロフォンなどであるがこれらには限定されない入力デバイスを含み得る。最後に、I/Oデバイス10、145は、さらに、入力と出力の両方を伝達するデバイス、例えば、(他のファイル、デバイス、システムまたはネットワークにアクセスするための)ネットワーク・インターフェース・カード(NIC)または変調器/復調器、無線周波数(RF)またはその他の送受信器、電話インターフェース、ブリッジ、ルータなどであるがこれらには限定されないデバイスを含み得る。I/Oデバイス10、145は、当技術分野で知られている任意の汎用型暗号カードまたはスマート・カードであってもよい。システム100は、ディスプレイ130に結合されたディスプレイ・コントローラ125をさらに含み得る。例示の実施形態では、システム100は、ネットワーク165への結合のためのネットワーク・インターフェースをさらに含むことができる。ネットワーク165は、ブロードバンド接続を介したコンピュータ101と任意の外部サーバ、クライアントなどとの間の通信のためのIPベースのネットワークとすることができる。ネットワーク165は、コンピュータ101と、本明細書に記載の方法のステップの一部または全部を行うために関与し得る外部システム30との間でデータを送受信する。例示の実施形態では、ネットワーク165は、サービス・プロバイダによって管理されるマネージドIPネットワークとすることができる。ネットワーク165は、例えば、WiFi(登録商標)、WiMax(登録商標)などの無線プロトコルおよび技術を使用して無線方式で実装されてもよい。ネットワーク165は、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、メトロポリタン・エリア・ネットワーク、インターネット・ネットワーク、またはその他の類似の種類のネットワーク環境などのパケット交換網とすることもできる。ネットワーク165は、固定無線ネットワーク、無線ローカル・エリア・ネットワーク(LAN)、無線ワイド・エリア・ネットワーク(WAN)、パーソナル・エリア・ネットワーク(PAN)、仮想プライベート・ネットワーク(VPN)、イントラネット、またはその他の適切なネットワーク・システムであってもよく、信号を受信し、送信するための装置を含む。
コンピュータ101が、PC、ワークステーション、インテリジェント・デバイスなどである場合、メモリ110内のソフトウェアは、ベーシック・インプット・アウトプット・システム(BIOS)122をさらに含むことができる。BIOSは、スタートアップ時にハードウェアを初期設定し、テストし、OS111を始動させ、ハードウェア・デバイス間のデータの伝送をサポートする1組の基本ソフトウェア・ルーチンである。BIOSは、コンピュータ101の起動時にBIOSを実行することができるようにROMに格納される。
コンピュータ101の動作時、プロセッサ105がメモリ110内に格納されているソフトウェア112を実行し、メモリ110との間でデータを伝達し、ソフトウェアに従ってコンピュータ101の動作を全般的に制御するように構成される。本明細書に記載の方法およびOS111は、全体または一部、典型的には後者が、プロセッサ105によって読み出され、場合によってはプロセッサ105内でバッファリングされてから、実行される。
本明細書に記載のシステムおよび方法が図1に示すようにソフトウェア112で実装される場合、方法は、任意のコンピュータ関連システムまたは方法によって、またはそれらと連携して使用するために、ストレージ120などの任意のコンピュータ可読媒体に記憶することができる。ストレージ120は、HDDストレージなどのディスク・ストレージを含み得る。
暗号化によりセキュリティ保護されたレジスタは、中央データベース45、145によって提供されてもよい。中央データベースは、コンピュータ101に通信可能に接続されたデータベース145であってもよい。あるいは、中央データベース45は、例えば、ネットワーク165を介してアクセス可能な外部システム30によって提供されてもよい。
図2に、暗号化によりセキュリティ保護されたレジスタを使用するユーザ認証のための方法を実装するのに適したコンピュータ・システム100の別の実施形態を示す。図2による実施形態では、暗号化によりセキュリティ保護されたレジスタは、ブロックチェーンを含む分散レジスタである。ブロックチェーンのコピー127がストレージ120に含まれてもよい。レジスタは、複数のコンピュータ・システム30、100に分散させることができる。例えば、外部システム30もブロックチェーンのコピーを含むことができる。実施形態によると、ネットワーク165は、ブロックチェーンを管理するため、例えばブロックチェーンに追加のブロックを追加するために、使用することができる。実施形態によると、ネットワーク165は、例えば、ブロックチェーンの追加のブロックを検証するためのプロトコルに集合的に準拠する、ピア・ツー・ピア・ネットワークを含み得る。
図3に、実施形態によるユーザ認証のための方法の例示の参加者の概略図を示す。例示のために、以下の例を考えることができる。すなわち、ユーザ1(202)が第1の組織A204のメンバーである。組織A204は、組織Aのメンバーを認証するためのアイデンティティ・プロバイダ206を含み得る。また、第2の組織B208と第3の組織C212も存在する。組織B208と組織C212の両方は、それぞれ、アイデンティティ・プロバイダ、すなわち、それぞれアイデンティティ・プロバイダB210およびアイデンティティ・プロバイダC214を含み得る。それぞれのアイデンティティ・プロバイダ210、214は、それぞれ組織B208、組織C212のメンバーを認証するように構成することができる。また、ポータル218を含むサービス・プロバイダSP216があり、そのポータル218を介してそれぞれのサービス・プロバイダSP216によって提供されるサービスにアクセスすることができる。ポータル218は、例えば、それぞれのネットワークを介してサービス・プロバイダ216と通信するためのネットワーク・インターフェースとすることができる。
例示のために、組織Aが例えば外部サプライヤであるものとする。組織Aは、ユーザ1がメンバーである第1のプロジェクトPABの一員としての組織Bの請負業者であってもよい。組織Aは、さらに、やはりユーザ1がメンバーである第2のプロジェクトPACの一員としての組織Cの請負業者であってもよい。両方の組織BおよびCは、それぞれのプロジェクトを管理するために、サービス・プロバイダSPによって提供されるサービス・ポータル218を使用することができる。
実施形態は、ユーザ1が自分の組織Aのクレデンシャルを使用して、組織BのプロジェクトPABの一員として、および、組織CのプロジェクトPACの一員として、サービス・プロバイダSPによって提供されるサービスにSSOすることを可能にすることができる。したがって、異なるアイデンティティ間、すなわちサービス・プロバイダSPと組織Bまたは組織Cとの間に、相互の信用の輪を構築する必要がない。相互の信用の輪の場合、組織Bのすべての従業員が組織Bとサービス・プロバイダSPとの間でのSSOを行うことができるようにするために、サービス・プロバイダSPと組織Bとは、組織Bのアイデンティティ・プロバイダBとサービス・プロバイダSPとの間で信用関係を形成することになる。また、サービス・プロバイダSPと組織Cとは、組織Cとサービス・プロバイダSPとの間でのSSOを行うための要件を実現するために、組織Cのアイデンティティ・プロバイダCとサービス・プロバイダSPとの間で信用関係を形成する必要が生じることになる。
本発明の方法を使用して組織Aの従業員、例えばユーザ1などが、サービス・プロバイダSPによって提供されるサービスにアクセスすることができるようにすることで、サービス・プロバイダSPと組織Bとの間、および、サービス・プロバイダSPと組織Cとの間の信用関係による相互の信用の輪と比較して、いくつかの難点を回避することができる。
組織Aの従業員が、組織AとプロバイダSPによって提供されるサービスとの間でSSOを行うことができるようにするために、サービス・プロバイダSPと組織Aとが組織Aのアイデンティティ・プロバイダAとサービス・プロバイダSPとの間に信用関係を形成することを考えてみる。しかし、サービス・プロバイダSPは、一方で組織BとともにプロジェクトPABの一員として仕事をするユーザ1と、他方で組織CとともにプロジェクトPACの一員として仕事をするユーザ1とを区別することができるようにはなされない。ユーザ1が組織BとのプロジェクトPABに関連するデータにアクセスする許可と、ユーザ1が組織CとのプロジェクトPACに関連するデータにアクする許可とは、プロジェクトPABとプロジェクトPACのそれぞれのデータを扱うサービス・プロバイダSPのサービスに格納される必要があることになる。したがって、サービス・プロバイダSPはそれぞれの許可を扱うことができる必要がある。
ユーザ1は、組織BとのプロジェクトPABのためのサービス・プロバイダSPとの第1の追加のローカル・アイデンティティと、第1の追加のローカル・アイデンティティとは異なる、組織CとのプロジェクトPACのための第2の追加のローカル・アイデンティティとを作成することができる。ローカル・アイデンティティとは、それぞれのプロジェクトに限定されたプロジェクト固有のアイデンティティを指す。それぞれのローカル・アイデンティティは、ユーザ1が組織Aに関連するデータにアクセスすることができるようにする組織Aの従業員としてのユーザ1のアイデンティティに加えて作成される。
しかし、ユーザ1の3つのアイデンティティは切り離されることになる。したがって、ユーザ1は、SSOを行うことができないことになる。また、セキュリティ・ポリシーが確実に一貫して適用され、監査が統一性のある方法で行われ、適切なときにアクセス権が失効させられるようにすることが困難になる可能性がある。
なお、一般に、組織Bまたは組織Cに、ユーザ1をその組織に連合させる組織Aに対する信用関係を形成させることは不可能であることに留意されたい。ユーザ1のみ、すなわち、ユーザ1の1つの識別子を有する1つのアイデンティティのみがそれぞれ残ることになるため、サービス・プロバイダSPは、どのアイデンティティ・プロバイダ、すなわち、組織Bのアイデンティティ・プロバイダBか組織Cのアイデンティティ・プロバイダCのどちらがこのユーザを認証する責任を担うことができるかを区別することができないことになる。したがって、どちらの識別子に認証要求を送信すべきかを決定することができないことになる。
それに対して、本開示による実施形態は、知られているSSO解決策で必要とされている信用の輪を異なる機構に置き換えるための有効な手法を提供することができる。ユーザ1は、組織Aのコンピュータ・システムを介して、または組織Aに関連するポータル218にアクセスするためのURLを介して、サービス・プロバイダ・ポータル218にアクセスすることができる。いずれの場合も、ユーザ1は、認証のためにルート・アイデンティティを使用することができる。認証は、アイデンティティ・プロバイダAが暗号化によりセキュリティ保護されたレジスタにアクセスすることによって実行することができる。暗号化によりセキュリティ保護されたレジスタは、例えば、ブロックチェーンとして実装することができ、ブロックチェーンの第1のコピーがアイデンティティ・プロバイダAに含まれてもよい。例えば、認証に成功した場合、ユーザ1を組織Aのメンバーであると識別する委任アイデンティティAの委任識別子を含む認証トークンが提供される。したがって、ユーザ1は組織Aのために発行された認証トークンを使用して認証を行うことが可能となる。
あるいは、ユーザ1は、組織Bのコンピュータ・システムを介して、または組織Bに関連するポータル218にアクセスするためのURLを介して、サービス・プロバイダ・ポータル218にアクセスすることができる。これは、プロジェクトPABのメンバーとしての作業を行うために行うことができる。この場合も、ユーザ1は、認証のためにルート・アイデンティティを使用することができる。この場合は、認証は、アイデンティティ・プロバイダBがアイデンティティ・プロバイダBに含まれるブロックチェーンの第2のコピーにアクセスすることによって行うことができる。例えば、認証が成功した場合、ユーザ1を組織Bのメンバーとして識別する委任アイデンティティBの委任識別子を含む認証トークンが提供される。したがって、ユーザ1は組織Bのために発行された認証トークンを使用して認証を行うことが可能になる。
また、ユーザ1は、組織Cのコンピュータ・システムを介して、または組織Cに関連するポータル218にアクセスするためのURLを介して、サービス・プロバイダ・ポータル218にアクセスすることができる。これは、プロジェクトPACのメンバーとしての作業を行うために行うことができる。この場合も、ユーザ1は、認証のためにルート・アイデンティティを使用することができる。この場合は、認証はアイデンティティ・プロバイダCがアイデンティティ・プロバイダCに含まれるブロックチェーンの第3のコピーにアクセスすることによって行うことができる。暗号化によりセキュリティ保護されたレジスタは、例えばブロックチェーンとして実装することができ、ブロックチェーンのコピーがアイデンティティ・プロバイダCに含まれてもよい。例えば、認証が成功した場合、ユーザ1を組織Cのメンバーとして識別する委任アイデンティティCの委任識別子を含む認証トークンが提供される。したがって、ユーザ1は組織Cのために発行された認証トークンを使用して認証を行うことが可能になる。
ユーザ1がポータル218にアクセスを試みるために用いるホームページに応じて、またはユーザ1がどのサービス・アカウントにアクセスしようとしているかに応じて、アイデンティティ・プロバイダBまたはアイデンティティ・プロバイダCにユーザ1を認証するように要求することができる。
図4に、図3の例による、ルート・アイデンティティ202に割り当てられた委任アイデンティティ220、222、224の木状構造の概略図を示す。ルート・アイデンティティ202は、ルート識別子「user1@org_a.com」とパスワード「secret123」とを含む。委任アイデンティティ220は、認証コンテキストとしての組織Aに割り当てられた委任識別子「572f7bf8d89350」を含む。委任アイデンティティ222および224は、委任アイデンティティ220を介してルート・アイデンティティ202に割り当てられる。委任アイデンティティ222は、認証コンテキストとしての組織Bに割り当てられた委任識別子「6bebfbe9748801」を含む。委任アイデンティティ224は、認証コンテキストとしての組織Cに割り当てられた識別子「9fee67e2a2ca79」を含む。
図3の例を考えると、プライバシーおよびコンテキスト依存性によってさらなる問題が生じる可能性がある。職務と許可と管理範囲の分離を確実にするために、組織Bのコンテキスト、すなわちプロジェクトPABでプロバイダSPによって提供されるサービスにアクセスするユーザ1は、組織Cのコンテキスト、すなわちプロジェクトPACでプロバイダSPのサービスにアクセスするユーザ1とは異なる識別子を使用する必要がある。したがって、図4に示すように、認証のためにルート・アイデンティティ202が使用される異なるコンテキストのために、それぞれがそれらのコンテキストのうちの1つのコンテキストに固有である、異なる委任アイデンティティ220~224が使用される。したがって、ルート・アイデンティティは、SSOのために委任アイデンティティ220ないし224の委任識別子を利用するすべてのシステムに知られないままである。
ルート・アイデンティティ202は、ユーザ1がいずれかのSSOログインで使用するログインのための識別子とパスワードとを含む。SSOログインはアクセスを要求するアプリケーションの領域のコンテキストで実行されるため、SSOログインは、ユーザ1が組織Bのコンテキスト、すなわちプロジェクトPABでログインしようとしているのか、または組織Cのコンテキスト、すなわちプロジェクトPACでログインしようとしているのかを判断することができる。ルート・アイデンティティ202を使用してユーザ1を成功裏に認証し、ユーザ1の組織Bアイデンティティ222「ユーザ1[組織B]」またはユーザ1の組織Cアイデンティティ224「ユーザ1[組織C]」の委任識別子を見つけるかまたは作成した後、組織Bアイデンティティ222または組織Cアイデンティティ224のそれぞれの識別子がサービス・プロバイダSPに返される。
サービス・プロバイダSPにとって、組織Bアイデンティティ222の識別子と組織Cアイデンティティ224の識別子との間には何の関係もない。両方の識別子は、それぞれがそれぞれの領域、組織Bまたは組織Cの一員である、2人の異なるユーザの異なる識別子を指しているように見える。
図5に、ルート・アイデンティティまたはルート・アイデンティティに割り当てられた委任アイデンティティとすることができる、組織Bのアイデンティティ208を示す。アイデンティティ208は、識別子「cb10212996e7」と属性「種類:組織」とを含む。属性は、アイデンティティ208が何らかの組織に属することを示す。複数の委任アイデンティティ222、230、240が組織Bのルート・アイデンティティ208に依存し得る。委任アイデンティティ222、230および240の依存関係は、組織Bによって例えば識別子の形態で与えられるそれぞれの委任アイデンティティ222、230、240の認証コンテキストによって実装することができる。委任アイデンティティ222、230、240の認証コンテキストは、例えば「cb10212996e7」である。委任アイデンティティ222、230、240のそれぞれが委任識別子を含むことができる。
組織Bのために提供されるサービス・プロバイダSPのサービスへのユーザ1のログイン時、SSOサービスは、ユーザ1がアクセスしようとしている領域、すなわち組織Bのメンバーとして認証されているか否かを判断する必要がある。ユーザ2(230)とユーザ3(240)が組織Bに直接勤務し、組織Aには関係がない、すなわち組織Aのアイデンティティがないものと考えてみる。ユーザ1は、組織Bのための委任識別子「6bebfbe9748801」を使用して委任アイデンティティ222を作成する。組織Bの識別子「cb10212996e7」によって提供するかまたはこの識別子にリンクさせる認証コンテキストを選択することによって、委任アイデンティティ222と組織Bのアイデンティティ208との間の依存関係を(提供することができる)。サービス・プロバイダSPは、組織のアイデンティティ、すなわち識別子をそれぞれのプロジェクトPABに結合することによって、組織Bの領域に割り当てられたすべてのユーザがログオンをすることを許可する。
したがって、ユーザ1は、常に自分の組織A識別子とパスワードとを使用して、サービス・プロバイダSPによって提供されるサービスにログインすることができる一方、ユーザのアイデンティティは、ユーザ1がログインしようとしているコンテキストに応じて、正しくサービス・プロバイダSPのサービスに対して明らかにされることになる。サービス・プロバイダSPの観点からは2つの異なるユーザ1アイデンティティが存在するため、プロバイダSPのサービスにおける無用な複雑さが回避される。組織Bと組織Cはそれぞれ独立して、それぞれのディレクトリ内でユーザ1がサービス・プロバイダSPのサービスの部分にログインすることができるか否かを制御し、ユーザ1がそれぞれ組織Bと組織Cの実際の従業員であるかのように同じ原則を適用する。
図6に、クライアント、例えばユーザ・コンピュータ・システムによって実行されるウェブ・ブラウザと、資源サーバ、例えばサービス・プロバイダ・コンピュータ・システムと、許可サーバ、例えばアイデンティティ・プロバイダ・コンピュータ・システムとの間の例示の通信プロセスの概略図を示す。ステップAで、クライアントがクライアント上で稼働しているアプリケーションにおいてURLにアクセスする。URLは、組織Bのためにサービス・プロバイダによって提供されるサービスを参照することができる。それぞれのURLにアクセスするとき、アプリケーションは認証要求を生成する。クライアントのユーザを認証することを求める認証要求は、例えばHTTPポストを使用して許可サーバに送信される。認証要求は、許可サーバに渡され、検証される。ステップCで、許可サーバがクライアントを認証サーバのログイン・ページにリダイレクトする。ユーザは、自分のルート・アイデンティティを使用してログインを行う。認証サーバは、ユーザを認証し、暗号化によりセキュリティ保護されたレジスタを使用して、認証コンテキスト、すなわち組織Bに割り当てられた委任アイデンティティを識別する。例えば、認証コンテキストは、ユーザがアプリケーションにおいてアクセスするURLに依存する。ステップDで、ユーザの委任アイデンティティのために、認証トークンが例えばSAMLトークンの形態で生成される。ステップDで、認証トークンとともにアプリケーションが資源サーバにリダイレクトされる。ステップEで、認証トークンがその認証トークンによって識別された委任アイデンティティの有効な認証を確認することにより、ユーザが資源サーバにログインされる。したがって、ユーザは組織Bの資源サーバによって提供されるサービスにアクセスすることができる。
暗号化によりセキュリティ保護されたレジスタは、ブロックチェーンのブロックに格納された、例えばユーザのルート・アイデンティティ、委任アイデンティティ、および組織のアイデンティティなどすべてのアイデンティティを含む、ブロックチェーンの形態で実装することができる。アイデンティティ・プロバイダは、やはりブロックチェーンに格納されたコンピュータ可読プログラム・コードを実行することができる。それぞれのコンピュータ可読プログラム・コードの実行により、パスワードが正しく、アイデンティティがアクセスを許可される場合は、対象認証コンテキストの委任アイデンティティを返すことができる。例えば、コンピュータ可読プログラム・コードは、delegatedIdentity=getIdentity(authentication context, rootID, root password)を定義することができる。
別の実施形態によると、サービス・プロバイダSPは、ブロックチェーンに接続され、例えば組織Cおよび組織Bのような、サービス・プロバイダSPによって提供される資源を有するすべての領域のためにユーザ・ログインを認可する役割を担う、単一のアイデンティティ・プロバイダを稼働させることができる。別の実施形態によると、ブロックチェーンに接続され、例えば組織Cおよび組織Bのような、サービス・プロバイダSPによって提供される資源を有するすべての領域のためのユーザ・ログインを認可する役割を担う、単一の独立したアイデンティティ・プロバイダを提供することができる。
図7に、アイデンティティを格納するために使用される例示のブロックチェーン400の概略図を示す。格納されるアイデンティティには、ルート・アイデンティティと委任アイデンティティとが含まれ得る。実施形態によると、例えば人物と団体のアイデンティティなどの、アイデンティティのカテゴリがあってもよい。ブロックチェーン400は、複数のブロックB1~BN(402~410)を含む。各ブロックB2~BN(404~410)は、ブロックチェーン400内の直前のブロックB1~BN-1(402~408)のハッシュを含み、それによってそれら2つのブロックを連結する。ブロックB1~BN(402~410)のうちの1つのブロックを修正するには、それ以降のすべてのブロックのハッシュも修正する必要がある。ブロックチェーン400に追加のデータが格納される場合は、その追加のデータを含む追加のブロックBN+1(412)が生成され、そのブロックを最後のブロックBN410に連結することによってブロックチェーン400に追加される。ブロックBN+1(412)をブロックBN410に連結することは、ブロックBN410のハッシュをブロックBN+1(412)に追加することを含む。ブロックB1~BN(402~410)、具体的にはブロックチェーン400の最初の数ブロックは、コンピュータ可読プログラム・コードを含み得る。電子データ処理手段の1つによるコンピュータ可読プログラム・コードの実行によって、ブロックチェーンに格納されたアイデンティティを使用するユーザ認証の実行と、認証トークンの発行が行われる。コンピュータ可読プログラム・コードは、具体的には、ユーザのルート・アイデンティティと認証要求のために識別された認証コンテキストとに割り当てられた委任アイデンティティを識別するように構成することができる。
同じブロックチェーン400に含まれる異なるアイデンティティの機密性は、ブロックチェーン400のブロックB1~BN(402~410)に格納されたデータへの読み取りアクセスを制限することによって実装することができる。このような読み取りアクセスの制限は、例えば、異なる暗号鍵を使用してブロックチェーン400に格納されたデータを暗号化することによって実装することができる。
本明細書では、本発明の態様について、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品を示すフローチャート図またはブロック図あるいはその両方を参照しながら説明している。フローチャート図またはブロック図あるいはその両方の図の各ブロックおよび、フローチャート図またはブロック図あるいはその両方の図のブロックの組合せは、コンピュータ可読プログラム命令によって実装可能であることはわかるであろう。
本発明は、システム、方法またはコンピュータ・プログラム製品あるいはその組合せとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(または複数の媒体)を含み得る。
コンピュータ可読記憶媒体は、命令実行デバイスによって使用されるための命令を保持し、記憶することができる有形のデバイスとすることができる。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学式ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適合する組合せであってよいが、これらには限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには以下のものが含まれる。すなわち、可搬コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、可搬コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピィ・ディスク、パンチカードまたは命令が記録された溝内の隆起構造などの機械的に符号化されたデバイス、およびこれらの任意の適合する組合せが含まれる。本明細書で使用されるコンピュータ可読記憶媒体とは、電波またはその他の自由に伝播する電磁波、導波路またはその他の伝送媒体を伝播する電磁波(例えば光ファイバ・ケーブルを通る光パルス)、または電線を介して伝送される電気信号などの、一過性の信号自体であると解釈すべきではない。
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、または、ネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワークあるいはこれらの組合せを介して外部コンピュータまたは外部記憶デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、交換機、ゲートウェイ・コンピュータ、またはエッジ・サーバあるいはこれらの組合せを含み得る。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、それらのコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体への記憶のために転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、Smalltalk、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語、または同様のプログラム言語などの従来型の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、スタンドアロン・ソフトウェア・パッケージとして全体がユーザ・コンピュータ・システムのコンピュータ上でまたは一部がユーザ・コンピュータ・システムのコンピュータ上で、または一部がユーザ・コンピュータ・システムのコンピュータ上で一部がリモート・コンピュータ上で、または全体がリモート・コンピュータまたはサーバ上で実行されてもよい。後者の場合、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む、任意の種類のネットワークを介してユーザ・コンピュータ・システムのコンピュータに接続することができ、または接続は(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行ってもよい。実施形態によっては、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路が、コンピュータ可読プログラム命令の状態情報を使用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
本明細書では、本発明の態様について、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品を示すフローチャート図またはブロック図あるいはその両方を参照しながら説明している。フローチャート図またはブロック図あるいはその両方の図の各ブロックおよび、フローチャート図またはブロック図あるいはその両方の図のブロックの組合せは、コンピュータ可読プログラム命令によって実装可能であることはわかるであろう。
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラマブル・データ処理装置のプロセッサにより実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックで規定されている機能/動作を実装する手段を形成するようなマシンを実現するように、汎用コンピュータ、特殊目的コンピュータ、またはその他のプログラマブル・データ処理装置のプロセッサに供給することができる。これらのコンピュータ可読プログラム命令は、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方のブロックで規定されている機能/動作の態様を実装する命令を含む製造品を含むように、コンピュータ、プログラマブル・データ処理装置、またはその他のデバイスあるいはこれらの組合せに対して特定の方式で機能するように指示することができるコンピュータ可読記憶媒体に記憶することもできる。
コンピュータ可読プログラム命令は、コンピュータ、その他のプログラマブル装置またはその他のデバイス上で実行される命令がフローチャートまたはブロック図あるいはその両方のブロックで規定されている機能/動作を実装するように、コンピュータ実装プロセスを生成するために、コンピュータ、その他のプログラマブル装置、またはその他のデバイス上で一連の動作ステップが実行されるようにするために、コンピュータ、その他のプログラマブル・データ処理装置、またはその他のデバイスにロードされてもよい。
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能および動作を示す。なお、フローチャートまたはブロック図の各ブロックは、規定されている論理機能を実装するための1つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または部分を表すことがある。別の実装形態によっては、ブロックに記載されている機能は、図に記載されている順序とは異なる順序で行われてもよい。例えば、連続して示されている2つのブロックは、関与する機能に応じて、実際には実質的に並行して実行されてよく、またはそれらのブロックは場合によっては逆の順序で実行されてもよい。また、ブロック図またはフローチャート図あるいはその両方の図の各ブロック、およびブロック図またはフローチャート図あるいはその両方の図のブロックの組合せは、規定されている機能または動作を実行する特殊目的ハードウェア・ベースのシステムによって実装可能であるか、または特殊目的ハードウェアとコンピュータ命令との組合せを実施することができることも留意されたい。
上記の特徴の可能な組合せは以下の通りとすることができる。
1.暗号化によりセキュリティ保護されたレジスタを使用するユーザ認証のためのコンピュータ実装方法であって、暗号化によりセキュリティ保護された上記レジスタは、ユーザのルート・アイデンティティを含み、上記ルート・アイデンティティは、ルート識別子と上記ユーザを認証するために上記ルート識別子に割り当てられたクレデンシャルとを含み、暗号化によりセキュリティ保護された上記レジスタは、上記ルート・アイデンティティに割り当てられた1つまたは複数の委任アイデンティティをさらに含み、上記委任アイデンティティのそれぞれが、委任識別子を含み、認証コンテキストに割り当てられ、上記方法は、
・上記ユーザを認証することを求める認証要求を受け取ることと、
・上記ユーザの上記ルート・アイデンティティを使用して上記ユーザを認証することであって、成功裏の認証が上記ユーザの上記ルート・アイデンティティの上記ルート識別子に割り当てられた上記クレデンシャルを受け取ることを求める、上記認証することと、
・要求された上記認証の認証コンテキストを識別することと、
・上記ユーザの上記ルート・アイデンティティに割り当てられ、識別された上記認証コンテキストに割り当てられた、上記1つまたは複数の委任アイデンティティのうちの1つを、暗号化によりセキュリティ保護された上記レジスタを使用して識別することと、
・上記ルート・アイデンティティを使用した上記ユーザの成功裏の認証に応答して、上記成功裏のユーザ認証を確認するとともに識別された上記委任アイデンティティの上記委任識別子によって上記成功裏に認証されたユーザを識別する、認証トークンを発行することとを含む、コンピュータ実装方法。
2.上記方法は、上記ユーザの上記ルート・アイデンティティを使用して、各自の上記ルート・アイデンティティに割り当てられたすべての委任アイデンティティについてシングル・サイン・オンを行う、項目1に記載の方法。
3.上記ルート・アイデンティティは上記ルート・アイデンティティに割り当てられた複数の委任アイデンティティを含み、上記複数の委任アイデンティティは、上記複数の委任アイデンティティのうちの少なくとも第1の1つの委任アイデンティティが上記複数の委任アイデンティティのうちの少なくとも第2の1つの委任アイデンティティを介して上記ルート・アイデンティティに割り当てられた、木構造の形態で、て上記ルート・アイデンティティに割り当てられる、上記項目のいずれかに記載の方法。
4.暗号化によりセキュリティ保護された上記レジスタは、コンピュータ可読プログラム・コードを含み、認証側コンピュータ・システムのプロセッサによる上記コンピュータ可読プログラム・コードの実行が、上記ユーザ認証の実行と上記認証トークンの発行とを行うように上記プロセッサに上記認証側コンピュータ・システムを制御させる、上記項目のいずれかに記載の方法。
5.上記レジスタの暗号化によるセキュリティは、格納された上記ルート・アイデンティティおよび格納された上記1つまたは複数の委任アイデンティティの少なくとも一部のハッシュ化と、署名と、暗号化とのうちの1つまたは複数を含む、上記項目のいずれかに記載の方法。
6.暗号化によりセキュリティ保護された上記レジスタは分散レジスタであり、上記分散レジスタのコピーが複数のコンピュータ・システムに分散される、上記項目のいずれかに記載の方法。
7.上記分散レジスタの暗号化による上記セキュリティは、上記ルート・アイデンティティと上記1つまたは複数の委任アイデンティティとを、上記分散レジスタの各コピーに含まれる、ブロックチェーンの複数のブロックに格納することを含む、項目6に記載の方法。
8.暗号化によりセキュリティ保護された上記レジスタが中央データベースによって提供される、項目1ないし5のいずれかに記載の方法。
9.上記認証に使用された上記ルート・アイデンティティまたは識別された上記委任アイデンティティが無効な場合、上記認証トークンの上記発行が拒否される、上記項目のいずれかに記載の方法。
10.上記要求は認証に使用される上記ルート・アイデンティティの上記ルート識別子を含む、上記項目のいずれかに記載の方法。
11.上記要求は、上記ユーザの認証に使用される上記ルート・アイデンティティに割り当てられ、識別された上記認証コンテキストに割り当てられた上記委任識別子を含む、項目1ないし9のいずれかに記載の方法。
12.上記認証要求は、暗号化によりセキュリティ保護された上記レジスタにアクセスすることができるアイデンティティ・プロバイダ・コンピュータ・システムによって受け取られ、上記アイデンティティ・プロバイダ・コンピュータ・システムは、上記ユーザの上記認証と、識別された上記委任アイデンティティの上記委任識別子によって成功裏に認証された上記ユーザを識別する上記認証トークンの発行とを行う、上記項目のいずれかに記載の方法。
13.上記認証要求は、サービス・プロバイダ・コンピュータ・システムから受け取られ、上記ユーザを認証するために使用される上記クレデンシャルはユーザ・コンピュータ・システムから受け取られる、項目12に記載の方法。
14.上記1つまたは複数の委任アイデンティティは、それぞれ、上記それぞれの委任アイデンティティの有効性が満了する有効期限日を示す標識を含む、上記項目のいずれかに記載の方法。
15.上記それぞれの委任アイデンティティが上記認証のために使用される上記ルート・アイデンティティに割り当てられており、識別された上記認証コンテキストに割り当てられていると識別された上記委任アイデンティティである場合、上記1つまたは複数の委任アイデンティティのうちの少なくとも1つが、成功裏の認証のための追加の認証要件を含む、上記項目のいずれかに記載の方法。
16.・第1のアイデンティティ要求者から、上記ルート・アイデンティティに割り当てられたすべての委任アイデンティティを提供することを求める要求を受け取ることと、
・上記第1のアイデンティティ要求者が各自の上記ルート・アイデンティティを使用して成功裏に認証された場合、上記ルート・アイデンティティに割り当てられた上記1つまたは複数の委任アイデンティティをすべて提供することとをさらに含む、上記項目のいずれかに記載の方法。
17.上記ルート・アイデンティティに追加の委任アイデンティティを割り当てることをさらに含み、上記追加の委任アイデンティティは、追加の委任識別子を含み、追加の認証コンテキストに割り当てられ、上記追加の認証コンテキストは、さらなるルート・アイデンティティに依存し、上記割り当てることは、
・上記追加の委任アイデンティティを割り当てることを求める要求を受け取ることと、
・上記追加の委任アイデンティティの上記追加の認証コンテキストを調べることと、
・上記追加の認証コンテキストが上記さらなるルート・アイデンティティに依存する場合、上記追加の認証コンテキストが依存する上記さらなるルート・アイデンティティを使用して成功裏に認証されたさらなるユーザから上記追加の委任アイデンティティの承認を受け取ることに応答して、上記ルート・アイデンティティに割り当てられた上記追加の委任アイデンティティを、暗号化によりセキュリティ保護された上記レジスタに格納することとを含む、上記項目のいずれかに記載の方法。
18.上記追加の認証コンテキストは、さらなるルート・アイデンティティに割り当てられた1つまたは複数のさらなる委任アイデンティティを介して上記さらなるルート・アイデンティティに依存する、項目17に記載の方法。
19.上記追加の委任アイデンティティの依存関係は、上記さらなるルート・アイデンティティの上記さらなるルート識別子または上記さらなるルート・アイデンティティに割り当てられたさらなる委任アイデンティティのさらなる委任識別子を含む上記追加の委任アイデンティティの上記認証コンテキストによって実装される、項目17および18のいずれかに記載の方法。
20.・上記さらなるルート・アイデンティティに依存するすべての委任アイデンティティの提供を求める要求を第2のアイデンティティ要求者から受け取ることと、
・上記第2のアイデンティティ要求者が上記さらなるルート・アイデンティティを使用して成功裏に認証された場合、上記さらなるルート・アイデンティティに依存するすべての委任アイデンティティを提供することと、
をさらに含む、項目17ないし19のいずれかに記載の方法。
21.暗号化によりセキュリティ保護された上記レジスタが、さらなるコンピュータ可読プログラム・コードを含み、割り当て側コンピュータ・システムのプロセッサによる上記さらなるコンピュータ可読プログラム・コードの実行によって、上記ルート・アイデンティティへの上記追加の委任アイデンティティの割り当てを実行するように上記プロセッサに上記割り当て側コンピュータ・システムを制御させる、項目17ないし20のいずれかに記載の方法。
22.失効により、割り当てられた上記追加の委任アイデンティティを無効にすることをさらに含み、上記失効は、
・失効要求者から上記追加の委任アイデンティティの失効を求める要求を受け取ることと、
・上記失効要求者を認証することと、
・上記失効要求者が、上記追加の認証コンテキストが依存する上記さらなるルート・アイデンティティを使用して成功裏に認証された上記さらなるユーザである場合、暗号化によりセキュリティ保護された上記レジスタに、上記追加の委任アイデンティティの上記失効を示す失効標識を追加することとを含む、項目17ないし21のいずれかに記載の方法。
23.コンピュータ可読プログラム・コードが実現された不揮発性コンピュータ可読記憶媒体を含むコンピュータ・プログラム製品であって、上記コンピュータ可読プログラム・コードは、暗号化によりセキュリティ保護されたレジスタを使用するユーザ認証のための方法を実装するように構成され、暗号化によりセキュリティ保護された上記レジスタは、ユーザのルート・アイデンティティを含み、上記ルート・アイデンティティは、ルート識別子と上記ユーザを認証するために上記ルート識別子に割り当てられたクレデンシャルとを含み、暗号化によりセキュリティ保護された上記レジスタは、上記ルート・アイデンティティに割り当てられた1つまたは複数の委任アイデンティティをさらに含み、上記委任アイデンティティのそれぞれが、委任識別子を含み、認証コンテキストに割り当てられ、上記方法は、
・上記ユーザを認証することを求める認証要求を受け取ることと、
・上記ユーザの上記ルート・アイデンティティを使用して上記ユーザを認証することであって、成功裏の認証が上記ユーザの上記ルート・アイデンティティの上記ルート識別子に割り当てられた上記クレデンシャルを受け取ることを求める、上記認証することと、
・要求された上記認証の認証コンテキストを識別することと、
・上記ユーザの上記ルート・アイデンティティに割り当てられ、識別された上記認証コンテキストに割り当てられた、上記1つまたは複数の委任アイデンティティのうちの1つを、暗号化によりセキュリティ保護された上記レジスタを使用して識別することと、
・上記ルート・アイデンティティを使用した上記ユーザの成功裏の認証に応答して、上記成功裏のユーザ認証を確認するとともに識別された上記委任アイデンティティの上記委任識別子によって上記成功裏に認証されたユーザを識別する、認証トークンを発行することとを含む、コンピュータ・プログラム製品。
24.暗号化によりセキュリティ保護された上記レジスタは、不揮発性コンピュータ可読記憶媒体を使用して実現され、上記コンピュータ可読プログラム・コードは、暗号化によりセキュリティ保護された上記レジスタに含まれる、項目23に記載のコンピュータ・プログラム製品。
25.暗号化によりセキュリティ保護されたレジスタを使用するユーザ認証のためのコンピュータ・システムであって、暗号化によりセキュリティ保護された上記レジスタは、ユーザのルート・アイデンティティを含み、上記ルート・アイデンティティは、ルート識別子と上記ユーザを認証するために上記ルート識別子に割り当てられたクレデンシャルとを含み、暗号化によりセキュリティ保護された上記レジスタは、上記ルート・アイデンティティに割り当てられた1つまたは複数の委任アイデンティティをさらに含み、上記委任アイデンティティのそれぞれが、委任識別子を含み、認証コンテキストに割り当てられ、上記コンピュータ・システムは、
・上記ユーザを認証することを求める認証要求を受け取り、
・上記ユーザの上記ルート・アイデンティティを使用して上記ユーザを認証することであって、成功裏の認証が上記ユーザの上記ルート・アイデンティティの上記ルート識別子に割り当てられた上記クレデンシャルを受け取ることを求める、上記認証を行い、
・要求された上記認証の認証コンテキストを識別し、
・上記ユーザの上記ルート・アイデンティティに割り当てられ、識別された上記認証コンテキストに割り当てられた、上記1つまたは複数の委任アイデンティティのうちの1つを、暗号化によりセキュリティ保護された上記レジスタを使用して識別し、
・上記ルート・アイデンティティを使用した上記ユーザの成功裏の認証に応答して、上記成功裏のユーザ認証を確認するとともに識別された上記委任アイデンティティの上記委任識別子によって上記成功裏に認証されたユーザを識別する、認証トークンを発行するように構成された、コンピュータ・システム。

Claims (20)

  1. 暗号化によりセキュリティ保護されたレジスタを使用するユーザ認証のためのコンピュータ実装方法であって、
    暗号化によりセキュリティ保護された前記レジスタは、ユーザのルート・アイデンティティを含み、前記ルート・アイデンティティは、ルート識別子と、前記ユーザを認証するために前記ルート識別子に割り当てられたクレデンシャルとを含み、暗号化によりセキュリティ保護された前記レジスタは、前記ルート・アイデンティティに割り当てられた1つまたは複数の委任アイデンティティをさらに含み、前記委任アイデンティティのそれぞれが、委任識別子を含み、認証コンテキストに割り当てられ、
    前記方法は、コンピュータが、
    アイデンティティ・プロバイダとして前記ユーザを認証することを求める認証要求を受け取ることと、
    前記ユーザの前記ルート・アイデンティティを使用して前記ユーザを認証することであって、成功裏の認証が前記ユーザの前記ルート・アイデンティティの前記ルート識別子に割り当てられた前記クレデンシャルを受け取ることを求める、前記認証することと、
    要求された前記認証の認証コンテキストを識別することと、
    前記ユーザの前記ルート・アイデンティティに割り当てられ、識別された前記認証コンテキストに割り当てられた、前記1つまたは複数の委任アイデンティティのうちの1つを、暗号化によりセキュリティ保護された前記レジスタを使用して識別することと、
    前記ルート・アイデンティティを使用した前記ユーザの成功裏の認証に応答して、前記成功裏のユーザ認証を証明するとともに識別された前記委任アイデンティティの前記委任識別子によって成功裏に認証された前記ユーザを識別す認証トークンを発行することと
    を実行する、コンピュータ実装方法。
  2. 暗号化によりセキュリティ保護されたレジスタを使用するユーザ認証のためのコンピュータ実装方法であって、
    暗号化によりセキュリティ保護された前記レジスタは、ユーザのルート・アイデンティティを含み、前記ルート・アイデンティティは、ルート識別子と、前記ユーザを認証するために前記ルート識別子に割り当てられたクレデンシャルとを含み、暗号化によりセキュリティ保護された前記レジスタは、前記ルート・アイデンティティに割り当てられた1つまたは複数の委任アイデンティティをさらに含み、前記委任アイデンティティのそれぞれが、委任識別子を含み、認証コンテキストに割り当てられ、
    前記方法は、コンピュータが、
    前記ユーザを認証することを求める認証要求を受け取ることと、
    前記ユーザの前記ルート・アイデンティティを使用して前記ユーザを認証することであって、成功裏の認証が前記ユーザの前記ルート・アイデンティティの前記ルート識別子に割り当てられた前記クレデンシャルを受け取ることを求める、前記認証することと、
    要求された前記認証の認証コンテキストを識別することと、
    前記ユーザの前記ルート・アイデンティティに割り当てられ、識別された前記認証コンテキストに割り当てられた、前記1つまたは複数の委任アイデンティティのうちの1つを、暗号化によりセキュリティ保護された前記レジスタを使用して識別することと、
    前記ルート・アイデンティティを使用した前記ユーザの成功裏の認証に応答して、前記成功裏のユーザ認証を確認するとともに識別された前記委任アイデンティティの前記委任識別子によって認証された前記ユーザを識別する、認証トークンを発行することと
    を実行し、前記ルート・アイデンティティは、前記ルート・アイデンティティに割り当てられた複数の委任アイデンティティを含み、前記複数の委任アイデンティティは、前記複数の委任アイデンティティのうちの少なくとも第1の1つの委任アイデンティティが前記複数の委任アイデンティティのうちの少なくとも第2の1つの委任アイデンティティを介して前記ルート・アイデンティティに割り当てられた、木構造の形態で、前記ルート・アイデンティティに割り当てられる、コンピュータ実装方法。
  3. 前記方法は、コンピュータが、前記ユーザの前記ルート・アイデンティティを使用して、各自の前記ルート・アイデンティティに割り当てられたすべての委任アイデンティティについてシングル・サイン・オンを行う、請求項1または2に記載の方法。
  4. 暗号化によりセキュリティ保護された前記レジスタは、コンピュータ可読プログラム・コードを含み、認証側コンピュータ・システムのプロセッサによる前記コンピュータ可読プログラム・コードの実行が、前記ユーザ認証の実行と前記認証トークンの発行とを行うように前記プロセッサに前記認証側コンピュータ・システムを制御させる、請求項1ないし3のいずれかに記載の方法。
  5. 前記レジスタの暗号化によるセキュリティは、格納された前記ルート・アイデンティティおよび格納された前記1つまたは複数の委任アイデンティティの少なくとも一部のハッシュ化と、署名と、暗号化とのうちの1つまたは複数を含む、請求項1ないし4のいずれかに記載の方法。
  6. 暗号化によりセキュリティ保護された前記レジスタは分散レジスタであり、前記分散レジスタのコピーが複数のコンピュータ・システムに分散される、請求項1ないし5のいずれかに記載の方法。
  7. 前記分散レジスタの暗号化によるセキュリティは、前記ルート・アイデンティティと前記1つまたは複数の委任アイデンティティとを、前記分散レジスタの各コピーに含まれる、ブロックチェーンの複数のブロックに格納することを含む、請求項6に記載の方法。
  8. 暗号化によりセキュリティ保護された前記レジスタが中央データベースによって提供される、請求項1ないし5のいずれかに記載の方法。
  9. 前記認証に使用された前記ルート・アイデンティティまたは識別された前記委任アイデンティティが無効な場合、前記認証トークンの前記発行が拒否される、請求項1ないし8のいずれかに記載の方法。
  10. 前記認証要求は認証に使用される前記ルート・アイデンティティの前記ルート識別子を含むか、または、前記ユーザの認証に使用される前記ルート・アイデンティティに割り当てられ、識別された前記認証コンテキストに割り当てられた前記委任識別子を含む、請求項1ないし9のいずれかに記載の方法。
  11. 前記認証要求は、暗号化によりセキュリティ保護された前記レジスタにアクセスすることができるアイデンティティ・プロバイダ・コンピュータ・システムによって受け取られ、前記アイデンティティ・プロバイダ・コンピュータ・システムは、前記ユーザの前記認証と、識別された前記委任アイデンティティの前記委任識別子によって成功裏に認証された前記ユーザを識別する前記認証トークンの前記発行とを行う、請求項1ないし10のいずれかに記載の方法。
  12. 前記認証要求は、サービス・プロバイダ・コンピュータ・システムから受け取られ、前記ユーザを認証するために使用される前記クレデンシャルはユーザ・コンピュータ・システムから受け取られる、請求項11に記載の方法。
  13. 前記1つまたは複数の委任アイデンティティは、それぞれ、前記それぞれの委任アイデンティティの有効性が満了する有効期限日を示す標識を含む、請求項1ないし1のいずれかに記載の方法。
  14. 前記それぞれの委任アイデンティティが、前記認証のために使用される前記ルート・アイデンティティに割り当てられており、識別された前記認証コンテキストに割り当てられていると識別された前記委任アイデンティティである場合、前記1つまたは複数の委任アイデンティティのうちの少なくとも1つが、成功裏の認証のための追加の認証要件を含む、請求項1ないし1のいずれかに記載の方法。
  15. コンピュータが、
    第1のアイデンティティ要求者から、前記ルート・アイデンティティに割り当てられたすべての委任アイデンティティを提供することを求める要求を受け取ることと、
    前記第1のアイデンティティ要求者が各自の前記ルート・アイデンティティを使用して成功裏に認証された場合、前記ルート・アイデンティティに割り当てられた前記1つまたは複数の委任アイデンティティをすべて提供することと
    をさらに実行する、請求項1ないし14のいずれかに記載の方法。
  16. 前記ルート・アイデンティティに追加の委任アイデンティティを割り当てることをさらに含み、前記追加の委任アイデンティティは、追加の委任識別子を含み、追加の認証コンテキストに割り当てられ、前記追加の認証コンテキストは、さらなるルート・アイデンティティに依存し、前記割り当てることは、コンピュータが、
    前記追加の委任アイデンティティを割り当てることを求める要求を受け取ることと、
    前記追加の委任アイデンティティの前記追加の認証コンテキストを調べることと、
    前記追加の認証コンテキストが前記さらなるルート・アイデンティティに依存する場合、前記追加の認証コンテキストが依存する前記さらなるルート・アイデンティティを使用して成功裏に認証されたさらなるユーザから前記追加の委任アイデンティティの承認を受け取ることに応答して、前記ルート・アイデンティティに割り当てられた前記追加の委任アイデンティティを、暗号化によりセキュリティ保護された前記レジスタに格納することとを含む、請求項1ないし15のいずれかに記載の方法。
  17. コンピュータ可読プログラム・コードが実現されたコンピュータ・プログラムであって、前記コンピュータ可読プログラム・コードは、暗号化によりセキュリティ保護されたレジスタを使用するユーザ認証のための方法を実装するように構成され、暗号化によりセキュリティ保護された前記レジスタは、ユーザのルート・アイデンティティを含み、前記ルート・アイデンティティは、ルート識別子と前記ユーザを認証するために前記ルート識別子に割り当てられたクレデンシャルとを含み、暗号化によりセキュリティ保護された前記レジスタは、前記ルート・アイデンティティに割り当てられた1つまたは複数の委任アイデンティティをさらに含み、前記委任アイデンティティのそれぞれが、委任識別子を含み、認証コンテキストに割り当てられ、
    前記コンピュータ・プログラムは、コンピュータに、
    アイデンティティ・プロバイダとして前記ユーザを認証することを求める認証要求を受け取ることと、
    前記ユーザの前記ルート・アイデンティティを使用して前記ユーザを認証することであって、成功裏の認証が前記ユーザの前記ルート・アイデンティティの前記ルート識別子に割り当てられた前記クレデンシャルを受け取ることを求める、前記認証することと、
    要求された前記認証の認証コンテキストを識別することと、
    前記ユーザの前記ルート・アイデンティティに割り当てられ、識別された前記認証コンテキストに割り当てられた、前記1つまたは複数の委任アイデンティティのうちの1つを、暗号化によりセキュリティ保護された前記レジスタを使用して識別することと、
    前記ルート・アイデンティティを使用した前記ユーザの成功裏の認証に応答して、前記成功裏のユーザ認証を証明するとともに識別された前記委任アイデンティティの前記委任識別子によって成功裏に認証された前記ユーザを識別す認証トークンを発行することと
    を実行させるためのコンピュータ・プログラム。
  18. コンピュータ可読プログラム・コードが実現されたコンピュータ・プログラムであって、前記コンピュータ可読プログラム・コードは、暗号化によりセキュリティ保護されたレジスタを使用するユーザ認証のための方法を実装するように構成され、暗号化によりセキュリティ保護された前記レジスタは、ユーザのルート・アイデンティティを含み、前記ルート・アイデンティティは、ルート識別子と前記ユーザを認証するために前記ルート識別子に割り当てられたクレデンシャルとを含み、暗号化によりセキュリティ保護された前記レジスタは、前記ルート・アイデンティティに割り当てられた1つまたは複数の委任アイデンティティをさらに含み、前記委任アイデンティティのそれぞれが、委任識別子を含み、認証コンテキストに割り当てられ、
    前記コンピュータ・プログラムは、コンピュータに、
    前記ユーザを認証することを求める認証要求を受け取ることと、
    前記ユーザの前記ルート・アイデンティティを使用して前記ユーザを認証することであって、成功裏の認証が前記ユーザの前記ルート・アイデンティティの前記ルート識別子に割り当てられた前記クレデンシャルを受け取ることを求める、前記認証することと、
    要求された前記認証の認証コンテキストを識別することと、
    前記ユーザの前記ルート・アイデンティティに割り当てられ、識別された前記認証コンテキストに割り当てられた、前記1つまたは複数の委任アイデンティティのうちの1つを、暗号化によりセキュリティ保護された前記レジスタを使用して識別することと、
    前記ルート・アイデンティティを使用した前記ユーザの成功裏の認証に応答して、前記成功裏のユーザ認証を確認するとともに識別された前記委任アイデンティティの前記委任識別子によって認証された前記ユーザを識別する、認証トークンを発行することと
    を実行させるためのコンピュータ・プログラムであって、前記ルート・アイデンティティは、前記ルート・アイデンティティに割り当てられた複数の委任アイデンティティを含み、前記複数の委任アイデンティティは、前記複数の委任アイデンティティのうちの少なくとも第1の1つの委任アイデンティティが前記複数の委任アイデンティティのうちの少なくとも第2の1つの委任アイデンティティを介して前記ルート・アイデンティティに割り当てられた、木構造の形態で、前記ルート・アイデンティティに割り当てられる、コンピュータ・プログラム。
  19. 暗号化によりセキュリティ保護されたレジスタを使用するユーザ認証のためのコンピュータ・システムであって、暗号化によりセキュリティ保護された前記レジスタは、ユーザのルート・アイデンティティを含み、前記ルート・アイデンティティは、ルート識別子と前記ユーザを認証するために前記ルート識別子に割り当てられたクレデンシャルとを含み、暗号化によりセキュリティ保護された前記レジスタは、前記ルート・アイデンティティに割り当てられた1つまたは複数の委任アイデンティティをさらに含み、前記委任アイデンティティのそれぞれが、委任識別子を含み、認証コンテキストに割り当てられ、
    前記コンピュータ・システムは、
    アイデンティティ・プロバイダとして前記ユーザを認証することを求める認証要求を受け取り、
    前記ユーザの前記ルート・アイデンティティを使用して前記ユーザを認証することであって、成功裏の認証が前記ユーザの前記ルート・アイデンティティの前記ルート識別子に割り当てられた前記クレデンシャルを受け取ることを求める、前記認証を行い、
    要求された前記認証の認証コンテキストを識別し、
    前記ユーザの前記ルート・アイデンティティに割り当てられ、識別された前記認証コンテキストに割り当てられた、前記1つまたは複数の委任アイデンティティのうちの1つを、暗号化によりセキュリティ保護された前記レジスタを使用して識別し、
    前記ルート・アイデンティティを使用した前記ユーザの成功裏の認証に応答して、前記成功裏のユーザ認証を証明するとともに識別された前記委任アイデンティティの前記委任識別子によって成功裏に認証された前記ユーザを識別す認証トークンを発行するように構成された、コンピュータ・システム。
  20. 暗号化によりセキュリティ保護されたレジスタを使用するユーザ認証のためのコンピュータ・システムであって、暗号化によりセキュリティ保護された前記レジスタは、ユーザのルート・アイデンティティを含み、前記ルート・アイデンティティは、ルート識別子と前記ユーザを認証するために前記ルート識別子に割り当てられたクレデンシャルとを含み、暗号化によりセキュリティ保護された前記レジスタは、前記ルート・アイデンティティに割り当てられた1つまたは複数の委任アイデンティティをさらに含み、前記委任アイデンティティのそれぞれが、委任識別子を含み、認証コンテキストに割り当てられ、
    前記コンピュータ・システムは、
    前記ユーザを認証することを求める認証要求を受け取り、
    前記ユーザの前記ルート・アイデンティティを使用して前記ユーザを認証することであって、成功裏の認証が前記ユーザの前記ルート・アイデンティティの前記ルート識別子に割り当てられた前記クレデンシャルを受け取ることを求める、前記認証を行い、
    要求された前記認証の認証コンテキストを識別し、
    前記ユーザの前記ルート・アイデンティティに割り当てられ、識別された前記認証コンテキストに割り当てられた、前記1つまたは複数の委任アイデンティティのうちの1つを、暗号化によりセキュリティ保護された前記レジスタを使用して識別し、
    前記ルート・アイデンティティを使用した前記ユーザの成功裏の認証に応答して、前記成功裏のユーザ認証を確認するとともに識別された前記委任アイデンティティの前記委任識別子によって認証された前記ユーザを識別する、認証トークンを発行するように構成され、前記ルート・アイデンティティは、前記ルート・アイデンティティに割り当てられた複数の委任アイデンティティを含み、前記複数の委任アイデンティティは、前記複数の委任アイデンティティのうちの少なくとも第1の1つの委任アイデンティティが前記複数の委任アイデンティティのうちの少なくとも第2の1つの委任アイデンティティを介して前記ルート・アイデンティティに割り当てられた、木構造の形態で、前記ルート・アイデンティティに割り当てられる、コンピュータ・システム。
JP2020527823A 2017-11-20 2018-11-19 委任アイデンティティを使用した認証方法、システム、プログラム Active JP7196174B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/817,424 US10628566B2 (en) 2017-11-20 2017-11-20 Authentication using delegated identities
US15/817,424 2017-11-20
PCT/EP2018/081710 WO2019097046A1 (en) 2017-11-20 2018-11-19 Authentication using delegated identities

Publications (2)

Publication Number Publication Date
JP2021503667A JP2021503667A (ja) 2021-02-12
JP7196174B2 true JP7196174B2 (ja) 2022-12-26

Family

ID=65033550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020527823A Active JP7196174B2 (ja) 2017-11-20 2018-11-19 委任アイデンティティを使用した認証方法、システム、プログラム

Country Status (6)

Country Link
US (2) US10628566B2 (ja)
JP (1) JP7196174B2 (ja)
CN (1) CN111316267B (ja)
DE (1) DE112018005203T5 (ja)
GB (1) GB2583252B (ja)
WO (1) WO2019097046A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111989892B (zh) * 2018-04-09 2023-07-18 三菱电机株式会社 认证系统及计算机可读取的记录介质
US10931438B2 (en) * 2018-08-13 2021-02-23 International Business Machines Corporation Generating a representative article
GB201813458D0 (en) * 2018-08-17 2018-10-03 Yoti Holding Ltd Blockchain autonomous agents
US11641363B2 (en) * 2019-01-14 2023-05-02 Qatar Foundation For Education, Science And Community Development Methods and systems for verifying the authenticity of a remote service
CN112398799A (zh) * 2019-08-19 2021-02-23 北京国双科技有限公司 一种单点登录方法、装置及系统
CA3105899A1 (en) * 2020-01-15 2021-07-15 IDENTOS Inc. Computer-implemented systems for distributed authorization and federated privacy exchange
US11799639B2 (en) 2021-01-05 2023-10-24 Bank Of America Corporation Systems and methods using distributed ledgers to correct for missing one time passwords in event processing
CN113434836A (zh) * 2021-05-31 2021-09-24 深信服科技股份有限公司 一种身份认证方法、装置、设备及介质
US11899685B1 (en) 2021-12-10 2024-02-13 Amazon Technologies, Inc. Dividing authorization between a control plane and a data plane for sharing database data
CN114500049B (zh) * 2022-01-26 2022-11-11 北京邮电大学 物联网系统内的可移动终端设备身份认证方法和系统
CN114640475B (zh) * 2022-05-19 2022-09-06 广东省绿算技术有限公司 去中心化的身份认证方法、装置、计算机设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030005299A1 (en) 2001-06-29 2003-01-02 International Business Machines Corporation User authorization management system using a meta-password and method for same
US20070234417A1 (en) 2002-12-31 2007-10-04 International Business Machines Corporation Method and system for native authentication protocols in a heterogeneous federated environment

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060282681A1 (en) 2005-05-27 2006-12-14 Scheidt Edward M Cryptographic configuration control
CN103188248A (zh) * 2011-12-31 2013-07-03 卓望数码技术(深圳)有限公司 基于单点登录的身份认证系统及方法
US20170149560A1 (en) 2012-02-02 2017-05-25 Netspective Communications Llc Digital blockchain authentication
US20140365781A1 (en) * 2013-06-07 2014-12-11 Technische Universitaet Darmstadt Receiving a Delegated Token, Issuing a Delegated Token, Authenticating a Delegated User, and Issuing a User-Specific Token for a Resource
US20150242609A1 (en) * 2014-02-24 2015-08-27 Google Inc. Universal Authenticator Across Web and Mobile
US10402792B2 (en) 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
CA3002034A1 (en) 2015-10-14 2017-04-20 Cambridge Blockchain, LLC Systems and methods for managing digital identities
US20180374097A1 (en) 2015-11-09 2018-12-27 Roger Hanna A distributed user profile identity verification system for e-commerce transaction security
WO2017127564A1 (en) * 2016-01-19 2017-07-27 Priv8Pay, Inc. Network node authentication
CA3039031C (en) 2016-10-06 2022-06-21 Mastercard International Incorporated Method and system for identity and credential protection and verification via blockchain

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030005299A1 (en) 2001-06-29 2003-01-02 International Business Machines Corporation User authorization management system using a meta-password and method for same
US20070234417A1 (en) 2002-12-31 2007-10-04 International Business Machines Corporation Method and system for native authentication protocols in a heterogeneous federated environment

Also Published As

Publication number Publication date
JP2021503667A (ja) 2021-02-12
WO2019097046A1 (en) 2019-05-23
US20190156000A1 (en) 2019-05-23
GB2583252A (en) 2020-10-21
GB2583252B (en) 2022-08-24
US20190251235A1 (en) 2019-08-15
US10628566B2 (en) 2020-04-21
DE112018005203T5 (de) 2020-06-18
CN111316267A (zh) 2020-06-19
GB202009236D0 (en) 2020-07-29
CN111316267B (zh) 2023-09-12
US10664577B2 (en) 2020-05-26

Similar Documents

Publication Publication Date Title
JP7196174B2 (ja) 委任アイデンティティを使用した認証方法、システム、プログラム
CA2975843C (en) Apparatus, system, and methods for a blockchain identity translator
EP2689372B1 (en) User to user delegation service in a federated identity management environment
US11563581B2 (en) Shared registration system
Chadwick et al. Role-based access control with X. 509 attribute certificates
US8898457B2 (en) Automatically generating a certificate operation request
O’Malley et al. Hadoop security design
US9225525B2 (en) Identity management certificate operations
US10250609B2 (en) Privileged access to target services
US8468359B2 (en) Credentials for blinded intended audiences
US20080263644A1 (en) Federated authorization for distributed computing
US11870766B2 (en) Integration of legacy authentication with cloud-based authentication
Bazaz et al. A review on single sign on enabling technologies and protocols
CN115191104A (zh) 由去中心化标识符锚定的去中心化标识
Chandersekaran et al. Claims-based enterprise-wide access control
JP2009205223A (ja) シングルサインオンによるグループ内サービス認可方法と、その方法を用いたグループ内サービス提供システムと、それを構成する各サーバ
Piger et al. A comprehensive approach to self-restricted delegation of rights in grids
Lampson Practical principles for computer security
Rawal et al. Integrate Identity as a Third-Party Service
Kivinen OpenID Connect Provider Certification
Lakhe et al. Open Source Authentication in Hadoop
WO2023069062A1 (en) Blockchain-based certificate lifecycle management
Lu User-to-user delegation in a federated identity environment'
Simpson et al. Claims-Based Authentication for an Enterprise that Uses Web Services

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200526

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20200930

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210423

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220315

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220502

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220803

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221214

R150 Certificate of patent or registration of utility model

Ref document number: 7196174

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20221216