(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-28
(54)【発明の名称】マルチノードパーティに対するユーザ認証方法
(51)【国際特許分類】
G09C 1/00 20060101AFI20240321BHJP
G06F 21/31 20130101ALI20240321BHJP
G06F 21/60 20130101ALI20240321BHJP
【FI】
G09C1/00 650Z
G06F21/31
G06F21/60 320
【審査請求】未請求
【予備審査請求】有
(21)【出願番号】P 2023553740
(86)(22)【出願日】2022-02-09
(85)【翻訳文提出日】2023-09-04
(86)【国際出願番号】 EP2022053090
(87)【国際公開番号】W WO2022184391
(87)【国際公開日】2022-09-09
(32)【優先日】2021-03-05
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
(71)【出願人】
【識別番号】521393960
【氏名又は名称】ブロックデーモン・アンパルツセルスケープ
【氏名又は名称原語表記】Blockdaemon ApS
(74)【代理人】
【識別番号】100145403
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100135703
【氏名又は名称】岡部 英隆
(74)【代理人】
【識別番号】100189544
【氏名又は名称】柏原 啓伸
(72)【発明者】
【氏名】ダムゴー,イヴァン ビェアア
(72)【発明者】
【氏名】ヤコブセン,トマス ペレ
(72)【発明者】
【氏名】パグター,ヤコブ イレボー
(72)【発明者】
【氏名】ラウリツェン,トーベン
(57)【要約】
マルチノードパーティに対するユーザの認証の方法が開示され、マルチノードパーティは少なくとも2つのノードを含む。ユーザはユーザアプリケーションを介してマルチノードパーティのノードに接続し、マルチノードパーティの各ノードはノンスを生成してユーザアプリケーションにノンスを返す。ユーザアプリケーションは、マルチノードパーティのノードから受信したノンスと、ユーザの一意のIDに基づいて、IDプロバイダに認証を要求する。IDプロバイダは、認証の要求に基づいてメッセージを生成し、そのメッセージをユーザアプリケーションに提供する。ユーザアプリケーションは、複数ノードパーティの各ノードにシークレットフォームでメッセージを提供する。マルチノードパーティのノードは、受信したメッセージのシークレットフォームに基づいて、安全なマルチパーティ計算(MPC)などのマルチパーティ検証操作によってメッセージを検証し、ユーザはマルチパーティ検証操作に基づいて認証される。
【特許請求の範囲】
【請求項1】
マルチノードパーティに対するユーザの認証の方法であって、マルチノードパーティは少なくとも2つのノードで構成され、
前記方法は、
-ユーザが、ユーザアプリケーションを介してマルチノードパーティのノードに接続するステップと、
-マルチノードパーティのノードの各々が、ノンスを生成し、ユーザアプリケーションにノンスを返すステップと、
-ユーザアプリケーションが、マルチノードパーティのノードから受信したノンスとユーザの一意のIDに基づいて、IDプロバイダに認証を要求するステップと、
-IDプロバイダが、認証の要求に基づいてメッセージを生成し、該メッセージをユーザアプリケーションに提供するステップと、
-ユーザアプリケーションが、マルチノードパーティのノードの各々にシークレットフォームでメッセージを提供するステップと、
-マルチノードパーティのノードが、受信したメッセージのシークレットフォームに基づき、且つ安全なマルチパーティ計算によって、メッセージを検証するステップと、
-安全なマルチパーティ計算に基づいてユーザを認証するステップと
を含む、方法。
【請求項2】
IDプロバイダが、
メッセージを暗号化するステップと、
暗号化されたメッセージをユーザアプリケーションに提供するステップと
を更に含み、
ユーザアプリケーションがシークレットフォームでメッセージを提供するステップが、暗号化されたメッセージをマルチノードパーティのノードに提供することを含む、
請求項1に記載の方法。
【請求項3】
マルチノードパーティのノードが、共有の暗号キーを生成するステップ
を更に含み、
少なくとも、メッセージを暗号化するステップが、共有の暗号キーによって行われる、
請求項2に記載の方法。
【請求項4】
マルチノードパーティにて、安全なマルチパーティ復号によって、受信メッセージを復号するステップ
を更に含む、請求項2又は3に記載の方法。
【請求項5】
ユーザアプリケーションが、マルチノードパーティのノードの各々にシークレットフォームでメッセージを提供するステップが、
ユーザアプリケーションが、メッセージの共有を生成することと、マルチノードパーティのノードの各々にメッセージの少なくとも1つの共有を提供することとを含み、
マルチノードパーティのノードがメッセージを検証するステップは、受信した共有に基づいて実行される、
請求項1~4のいずれか一に記載の方法。
【請求項6】
メッセージの少なくとも一部を秘密に共有する形式で、メッセージの少なくとも一部をマルチノードパーティに保存するステップ
を更に含む、
請求項1~5のいずれか一に記載の方法。
【請求項7】
-マルチノードパーティのノードの各々が、セッションIDを生成して、該セッションIDをノンスとともにユーザアプリケーションに返すステップと、
-マルチノードパーティのノードの各々について、ユーザアプリケーションが、マルチノードパーティの所与のノードによって生成されたセッションIDを、該ノードに提供されたメッセージの共有と共に提供するステップと、
-各々のノードが、受信したセッションIDを検証するステップと
を、更に含む、請求項1~6のいずれか一に記載の方法。
【請求項8】
マルチノードパーティにアクセス可能な記憶場所に保存されたオブジェクトへのアクセスを、ユーザの認証に基づいて、及びアクセス権のセットに基づいて、ユーザに付与する又は拒否するステップ
を更に含む、請求項1~7のいずれか一に記載の方法。
【請求項9】
-メッセージからユーザの一意のIDの共有を導出して、マルチノードパーティのノードにて、マルチパーティの保存操作により、ユーザの一意のIDの共有を保存するステップと、
-各々のノードが、ユーザのアクティビティをログに記録し、記録されたアクティビティを一意のユーザのIDの夫々の共有と共に保存するステップと
を、更に含む、請求項1~8のいずれか一に記載の方法。
【請求項10】
-監査人が、マルチパーティの操作によりマルチノードパーティのノードからアクティビティ情報を検索する(retrieve)ステップと、
-監査人が、検索した情報に基づいて、マルチノードパーティで実行されたアクティビティを監査するステップと
を、更に含む、請求項9に記載の方法。
【請求項11】
-偽名ユーザIDを生成し、該偽名ユーザIDをマルチノードパーティにてマルチパーティの保存操作により保存するステップと、
-ユーザのアクティビティをログに記録し、アクティビティと偽名ユーザIDを相互に関連付けるステップと、
-各々のノードが、ノードID、偽名ユーザID、及び関連するアクティビティに関する情報を、ログに提供するステップと
を、更に含む、請求項9又は10に記載の方法。
【請求項12】
ユーザアプリケーションが、IDプロバイダに認証を要求するステップは、
-ユーザアプリケーションが、マルチノードパーティのノードから受信したノンスとユーザの一意のIDに基づいて、第1のIDプロバイダからユーザの認証を要求することと、
-第1のIDプロバイダが、認証の要求に基づいて第1のメッセージを生成し、第1のメッセージをユーザアプリケーションに提供することと、
-ユーザアプリケーションが、第1のIDプロバイダから受信した第1のメッセージと、ユーザの一意のIDとに基づいて、第2のIDプロバイダからユーザの認証を要求することと、
-第2のIDプロバイダが、認証の要求に基づいて第2のメッセージを生成し、第2のメッセージをユーザアプリケーションに提供することと
を含む、
請求項1~11のいずれか一に記載の方法。
【請求項13】
ユーザアプリケーションが、IDプロバイダに認証を要求するステップは、更に、
ユーザアプリケーションが、第2のメッセージと、ユーザの一意のIDとに基づいて、少なくとも第3のIDプロバイダからユーザの認証を要求し、それによってメッセージのチェーンを作成すること
を含む、請求項12に記載の方法。
【請求項14】
ユーザアプリケーションが、IDプロバイダから認証を要求するステップが、
-ユーザアプリケーションが、マルチノードパーティのノードから受信したノンスと、第1のユーザの一意のIDとに基づいて、IDプロバイダから第1のユーザの認証を要求することと、
-IDプロバイダが、第1のユーザの認証の要求に基づいて、第1のメッセージを生成し、第1のメッセージをユーザアプリケーションに提供することと、
-ユーザアプリケーションが、IDプロバイダから受信した第1のメッセージと、第2のユーザの一意のIDとに基づいて、IDプロバイダから第2のユーザの認証を要求することと、
-IDプロバイダが、第2のユーザの認証の要求に基づいて、第2のメッセージを生成し、第2のメッセージをユーザアプリケーションに提供することと
を含む、請求項1~11のいずれか一に記載の方法。
【請求項15】
ユーザアプリケーションが、IDプロバイダから認証を要求するステップが、更に、
第2のメッセージと第3のユーザの一意のIDとに基づいて、IDプロバイダから少なくとも第3のユーザの認証を要求し、それによってメッセージのチェーンを作成すること
を含む、請求項14に記載の方法。
【請求項16】
マルチノードパーティに対するユーザの認証の方法であって、マルチノードパーティは少なくとも2つのノードで構成され、該方法は、
-ユーザが、ユーザアプリケーションを介してマルチノードパーティのノードに接続するステップと、
-マルチノードパーティのノードの各々が、ノンスを生成し、ユーザアプリケーションにノンスを返すステップと、
-ユーザアプリケーションが、マルチノードパーティのノードから受信したノンスに基づいて、結合されたノンスを生成し、結合されたノンスとユーザの一意のIDとに基づいて、IDプロバイダから認証を要求するステップと、
-IDプロバイダが、認証の要求に基づいてメッセージを生成し、該メッセージをユーザアプリケーションに提供するステップと、
-ユーザアプリケーションが、マルチノードパーティのノードの各々にメッセージを提供するステップと、
-マルチノードパーティのノードが、受信したメッセージに基づき、且つ検証の操作により、メッセージを検証するステップと、
-検証の操作に基づいてユーザを認証するステップと
を含む、方法。
【請求項17】
ユーザアプリケーションが、IDプロバイダに認証を要求するステップが、
-ユーザアプリケーションが、結合されたノンスとユーザの一意のIDとに基づいて、第1のIDプロバイダからユーザの認証を要求することと、
-第1のIDプロバイダが、認証の要求に基づいて、第1のメッセージを生成し、第1のメッセージをユーザアプリケーションに提供することと、
-ユーザアプリケーションが、第1のIDプロバイダから受信した第1のメッセージとユーザの一意のIDとに基づいて、第2のIDプロバイダからユーザの認証を要求することと、
-第2のIDプロバイダが、認証の要求に基づいて第2のメッセージを生成し、ユーザアプリケーションに第2のメッセージを提供することと
を含む、請求項16に記載の方法。
【請求項18】
ユーザアプリケーションが、IDプロバイダから認証を要求するステップは、更に、
第2のメッセージとユーザの一意のIDとに基づいて、少なくとも第3のIDプロバイダにユーザの認証を要求し、それによりメッセージのチェーンを作成すること
を含む、請求項17に記載の方法。
【請求項19】
ユーザアプリケーションが、IDプロバイダから認証を要求するステップは、
-ユーザアプリケーションが、結合されたノンスと第1のユーザの一意のIDとに基づいて、IDプロバイダから第1のユーザの認証を要求することと、
-IDプロバイダが、第1のユーザの認証の要求に基づいて第1のメッセージを生成し、第1のメッセージをユーザアプリケーションに提供することと、
-ユーザアプリケーションが、IDプロバイダから受信した第1のメッセージと第2のユーザの一意のIDとに基づいて、IDプロバイダから第2のユーザの認証を要求することと、
-IDプロバイダが、第2のユーザの認証の要求に基づいて第2のメッセージを生成し、第2のメッセージをユーザアプリケーションに提供することと
を含む、請求項16に記載の方法。
【請求項20】
ユーザアプリケーションが、IDプロバイダに認証を要求するステップが、更に、
ユーザアプリケーションが、第2のメッセージと第3のユーザの一意のIDとに基づいて、IDプロバイダから少なくとも第3のユーザの認証を要求し、それによりメッセージのチェーンを作成すること
を含む、請求項19に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
発明の分野
本発明は、安全な方法で、かつユーザとIDプロバイダとの間の少ない相互作用で、マルチノードパーティに対してユーザを認証する方法に関する。本発明による方法は、さらに、その方法を適用するユーザに高いレベルのプライバシを提供する。
【背景技術】
【0002】
発明の背景
複数のユーザを持つほとんどのシステムでは、認証、権限付与、およびアカウンタビリティが主要なセキュリティメカニズムである。
【0003】
本明細書では、「認証」という用語は、ユーザがシステムに対して自分自身を特定することを意味すると解釈されるべきものである。これは、例えば、ユーザがパスワードを入力したり、デジタル署名を提示したりすることによって直接行うことができる。あるいは、ユーザが何らかのサードパーティのIDプロバイダを使用して自身のIDを証明する、いわゆるフェデレーション認証を適用することもできる。この場合、ユーザはサードパーティのIDプロバイダに認証を要求し、サードパーティのIDプロバイダはデジタル署名されたIDトークンなどの形式で証明書を返す。その後、ユーザはこの証明書を使用して、システムに対する自分のIDを証明する。フェデレーション認証は、たとえば、OpenID Connect(OIDC)プロトコルを使用して実行できる。
【0004】
本明細書では、「権限付与」という用語は、様々なユーザのためにシステムの様々な部分へのアクセス権を管理する能力を意味すると解釈されるべきものである。これには、例えば、アクセス制御リスト(ACL)および/またはアクセス制御マトリクス(ACM)を使用することが含まれる。
【0005】
本明細書では、「アカウンタビリティ」という用語は、システム内の様々なユーザによって行われたアクティビティを追跡する能力を意味すると解釈されるべきものである。これには、システムログや監査ログなどのアクティビティのログ記録が含まれる場合がある。
【0006】
いくつかのシステムは複数のノード、例えば複数のサーバで構成されており、システムにアクセスするユーザは少なくともノードの最小しきい値数に対して認証されなければならない。これにより、どのノードも単一の信頼ポイントを構成せず、悪意のあるパーティはシステムに不正アクセスするために複数のノードを侵害する必要があるため、システムのセキュリティと信頼性が向上する。ただし、これにはユーザが各ノードに対して認証プロセスを実行する必要があり、その結果、認証プロセスが長くなり、ユーザエクスペリエンスが低下する。
【0007】
さらに、各ノードはユーザのユーザIDの知識を得ることができる。これは、例えば、ユーザの行動に関する情報を推測し、ユーザIDをユーザの真のアイデンティティに結びつけるために使用されるかもしれない。これにより、ユーザのプライバシが侵害されたり、侵害されたりする危険性がある。
【0008】
WO2008/020991A1では、認証されたフェデレーテッドID管理を提供する方法が開示されており、IDプロバイダとサービスプロバイダの間の直接通信は回避されている。サービス要求を受信すると、サービスプロバイダはユーザとの間で安全なチャネルを開くことができる。サービスプロバイダとユーザは、ユーザの要求に対してランダムなセッションIDを共同で生成できる。IDプロバイダは、認証が成功した後、安全なチャネルでユーザからセッションIDを与えられる。ユーザに関連付けられたアサーションは、ハッシュ化されたバージョンのセッションIDを使用してIDプロバイダによって生成される場合がある。情報漏洩を防ぐため、このアサーションは、署名され公証人サービスに提出される前に、IDプロバイダによって盲検化されることがある。アサーションを送信する場合、IDプロバイダは最初に公証人サーバに対して認証を行うことができ、これによりIDプロバイダが権限付与される。公証人サーバは、利用者の問い合わせに応じて、公証人のブラインド化された主張を利用者に返すことができる。ユーザは、サービスプロバイダに公証されたブラインド化されたアサートを渡すことができ、サービスプロバイダは、公証されたアサートのブラインドを解除して検証する。WO2008/020991A1で開示されている方法は、純粋に単一ノードパーティに対する認証に関連している。
【発明の概要】
【課題を解決するための手段】
【0009】
発明の説明
本発明は、マルチノードパーティに向けてユーザを認証する方法を提供することを目的としており、この方法では、認証が簡単かつユーザフレンドリでありながら安全な方法で行われる。
【0010】
本発明の更なる目的は、マルチノードパーティに向けてユーザを認証する方法を提供することであり、これによりユーザの高いプライバシが得られる。
【0011】
第1の態様によれば、本発明は、少なくとも2つのノードを含むマルチノードパーティに対してユーザを認証する方法を提供し、その方法は以下のステップを含む。
-ユーザが、ユーザアプリケーションを介してマルチノードパーティのノードに接続するステップと、
-マルチノードパーティのノードの各々が、ノンスを生成し、ユーザアプリケーションにノンスを返すステップと、
-ユーザアプリケーションが、マルチノードパーティのノードから受信したノンスとユーザの一意のIDに基づいて、IDプロバイダに認証を要求するステップと、
-IDプロバイダが、認証の要求に基づいてメッセージを生成し、該メッセージをユーザアプリケーションに提供するステップと、
-ユーザアプリケーションが、マルチノードパーティのノードの各々にシークレットフォームでメッセージを提供するステップと、
-マルチノードパーティのノードが、受信したメッセージのシークレットフォームに基づき、且つ安全なマルチパーティ計算(MPC)によって、メッセージを検証するステップと、
-安全なマルチパーティ計算に基づいてユーザを認証するステップ。
【0012】
したがって、本発明は、マルチノードパーティ、すなわち、少なくとも2つのノードを含むパーティに対してユーザを認証する方法を提供する。
【0013】
この方法によれば、ユーザは最初にユーザアプリケーションを介してマルチノードパーティのノードに接触する。ユーザアプリケーションは、ユーザインタフェースとマルチノードパーティへのインターフェイスを持つことができる。ユーザインタフェースは、例えば、グラフィカルユーザインタフェース(GUI)とすることができる。マルチノードパーティへのインターフェイスは、たとえば、ソフトウェア開発キット(SDK)の形式にすることができる。
【0014】
マルチノードパーティの各ノードは、ユーザからの接触に応答してノンスを生成し、ユーザアプリケーションにノンスを返す。したがって、ユーザアプリケーションは、マルチノードパーティのノードの各々から発信されるノンスを所有しており、ユーザからの要求に応じてノンスが生成される。
【0015】
次に、ユーザアプリケーションは、マルチノードパーティのノードから受信したノンスとユーザの一意のIDに基づいて、IDプロバイダに認証を要求する。
【0016】
これに応答して、IDプロバイダはメッセージを生成し、そのメッセージをユーザアプリケーションに提供する。メッセージは、認証の要求に基づいて生成されるため、マルチノードパーティのノードによって生成されるノンスと、ユーザの一意のIDに基づいて生成される。したがって、メッセージはマルチノードパーティのノード、特定のセッション、およびユーザに関連付けられる。
【0017】
したがって、ユーザは認証を要求するために、すべてのノードの代わりに1回だけIDプロバイダに連絡する。つまり、ノードごとに個別の認証プロセスは必要ない。
【0018】
従来技術の方法では、ユーザアプリケーションがIDプロバイダに認証を要求し、それによってIDプロバイダとの認証プロセスに従事する場合、通常、ユーザは特定のウェブページに移動し、キーボードでパスワードを入力し、指紋を提供し、および/またはUSBトークンを使用してワンタイムパスワードを生成する必要がある。この結果、ユーザアプリケーションは、例えばIDトークンの形式でメッセージを取得する。ユーザは、このメッセージを別の相手に提供して、その相手に自分の身元を証明することができる。既知の手法では、ユーザは各ノードに同じメッセージを安全に送信できない。これは、悪意のあるノードがメッセージを別のノードに転送し、それによってユーザを偽装する可能性があるため、安全ではない。そのため、既知の技術を使用してマルチノードパーティに自分の身元を安全に証明するため、ユーザは、ノードごとに個別のメッセージを取得するべく、代わりに、ノードごとに1つのプロセスである複数の個別の認証プロセスに従事する必要がある。これにより、ユーザは、たとえば、1回だけではなく、各ノードに対して1回パスワードを入力する必要があるため、ユーザエクスペリエンスが低下する。本発明によれば、ユーザは、マルチノードパーティ内の各ノードに対して自身のアイデンティティを証明するために、すべてのノードに代わって、IDプロバイダとの単一の認証プロセスに安全に従事することができ、それによってユーザエクスペリエンスが低下することがない。
【0019】
メッセージは、例えば、ユーザの身元を確認するIDトークン、できればIDトークンの有効性を確認するデジタル署名を付与されたIDトークンの形式とすることができる。この場合、以下で詳しく説明するように、メッセージの検証には、デジタル署名がIDトークンの有効な署名であることの検証が含まれる場合がある。
【0020】
ユーザアプリケーションは、メッセージを受信すると、複数ノードパーティの各ノードにシークレットフォームでメッセージを提供する。例えば、メッセージが暗号化された形式でノードに提供されたり、メッセージがマルチノードパーティのノード間で共有されたりすることがある。これについては後述する。どのような場合でも、どのノードも非シークレットフォームでメッセージ全体を受信することはないが、マルチノードパーティのノードは、安全なマルチパーティ計算(MPC)などのマルチパーティ操作を介してメッセージを検証できる。
【0021】
したがって、マルチノードパーティのノードは、受信したメッセージのシークレットフォームに基づいて、マルチパーティ検証操作によってメッセージを検証する。
【0022】
最後に、マルチパーティ検証操作に基づいてユーザが認証される。ユーザを認証するステップは、メッセージを検証するノードのステップの一部を形成する場合がある。この場合、認証はマルチパーティ検証操作の統合部分であり、検証操作の結果がユーザの認証になる。マルチパーティ操作は、例えば、当該技術分野でよく知られている安全なマルチパーティ計算(MPC)であってもよい。
【0023】
本明細書では、「マルチパーティ検証操作」という用語は、メッセージが正しいことを検証する目的を持ち、2つ以上のノードが協力して実行する操作を意味すると解釈されるべきものである。したがって、どのノードも独自に検証を実行することはできず、どのノードも、ノードを単一の信頼ポイントにするメッセージに関する情報を取得しない。
【0024】
したがって、検証、ひいてはユーザの認証は、マルチノードパーティのノード間で安全なマルチパーティ計算などのマルチパーティ検証操作を介して行われるため、どのノードもメッセージ全体やユーザの本当の身元に関する知識を得ることはない。これにより、ユーザのプライバシが保護され、権限のない、または悪意のある者が、ユーザの真のアイデンティティを含むメッセージにアクセスするリスクが最小限に抑えられる。
【0025】
さらに、これは、ユーザが各ノードに対して個別に認証する必要なく得られる。これは、ユーザアプリケーションがすべてのノードから受信したすべてのノンスに基づいてIDプロバイダに認証を要求すること、すべてのノンスに基づいて1つのメッセージが生成されること、およびその後、メッセージがノードによって組み合わせて検証されること、つまりマルチパーティ検証操作によって検証されることによるものである。このように、ユーザにとって、プロセスは、マルチノードパーティに対してではなく、単一ノードパーティに対して認証が行われたように感じられ、したがって、ユーザビリティとユーザエクスペリエンスは、マルチノードパーティに対する従来の認証プロセスと比較して大幅に改善される。
【0026】
この方法は、さらに、IDプロバイダが、メッセージを暗号化するステップと、暗号化されたメッセージをユーザアプリケーションに提供するステップとを、更に含み得、ユーザアプリケーションがシークレットフォームでメッセージを提供するステップが、暗号化されたメッセージをマルチノードパーティのノードに提供することを含み得る。
【0027】
この実施形態によれば、メッセージのシークレットフォームはメッセージの暗号化形式である。より具体的には、メッセージはIDプロバイダによって暗号化され、メッセージは暗号化形式でIDプロバイダからユーザアプリケーションに提供される。つまり、メッセージはユーザアプリケーションによって受信されたときにすでにシークレットフォームになっている。その後、ユーザアプリケーションは単純に暗号化されたメッセージをマルチノードパーティの各ノードに転送する。つまり、すべてのノードが同じ暗号化メッセージを受信する。ノードの少なくとも一部がマルチパーティ復号操作で連携している場合、ノードは暗号化されたメッセージの少なくとも一部を復号できる。ただし、どのノードもメッセージを独自に復号できない。マルチパーティ復号操作では、最小数のノードのサブセットでメッセージを復号できるしきい値条件が適用される場合がある。
【0028】
この方法は、マルチノードパーティのノードが、共有の暗号キーを生成するステップを更に含み得、メッセージを暗号化するステップ、及び、暗号化されたメッセージを検証するステップが、共有の暗号キーによって行われ得る。
【0029】
生成されるキーは、マルチノードパーティのノード間で共有される公開キーと秘密キーで構成される場合がある。公開キーは、認証の要求と共に、または認証を要求する前の別の手順で、IDプロバイダに提供される場合がある。検証プロセス中に、マルチノードパーティのノードは、秘密キーの共有を使用し、安全なマルチパーティ計算などのマルチパーティ復号操作によって、暗号化されたメッセージを復号する。検証は、このマルチパーティ復号操作の一部として実行される。これにより、マルチノードパーティのどのノードも、復号されたメッセージ全体を所有することはない。
【0030】
共有キーは、例えば、マルチパーティ操作、すなわち、少なくともいくつかのノードが協力する操作によって生成され、マルチノードパーティのノード間で秘密共有されることがある。
【0031】
別の方法として、暗号キーは他の適切な方法で、場合によってはマルチノードパーティ以外の別のエンティティによって生成されることもある。
【0032】
この方法は、マルチノードパーティにて、安全なマルチパーティ復号などの、マルチパーティ復号操作によって、受信メッセージを復号するステップを、更に含み得る。上記のように、これはマルチノードパーティのノード間で共有される秘密復号キーによって行われ、場合によってはしきい値条件の対象となり得る。
【0033】
一方で、若しくは、更に、ユーザアプリケーションが、マルチノードパーティのノード各々にシークレットフォームでメッセージを提供するステップが、ユーザアプリケーションが、メッセージの共有を生成することと、マルチノードパーティのノードの各々にメッセージの少なくとも1つの共有を提供することを含み、マルチノードパーティのノードがメッセージを検証するステップは、受信した共有に基づいて実行され得る。
【0034】
この実施形態によれば、メッセージのシークレットフォームは、マルチノードパーティのノード間でメッセージを共有する形式である。したがって、ユーザアプリケーションが非シークレットフォームでメッセージを受信しても、どのノードもメッセージ全体を受信しないため、どのノードも、ユーザの真のアイデンティティに関する知識を含むメッセージ全体に関する知識を取得しない。ただし、ノードは、メッセージのそれぞれの共有に基づいて、場合によってはしきい値条件に従って、マルチパーティ操作によってメッセージを再構築できる。
【0035】
この方法は、メッセージの少なくとも一部を秘密に共有する形式で、メッセージの少なくとも一部をマルチノードパーティに保存するステップを、更に含み得る。
【0036】
この実施形態によれば、ユーザの認証後、メッセージまたはメッセージの少なくとも一部がマルチノードパーティに保存される。ただし、これはマルチノードパーティのノード間で秘密の共有の形で行われるため、メッセージの格納部分全体を所有しているノードはない。したがって、ユーザのプライバシは維持され、どのノードも単一の信頼ポイントを構成しない。
【0037】
この方法でメッセージ全体を格納することもできる。代わりに、メッセージの一部のみを格納することもできる。たとえば、メッセージがデジタル署名とともに提供されるIDトークンの形式である場合、IDトークンのみが格納され、デジタル署名は格納されない。
【0038】
この方法は、さらに以下のステップを含むことができる。
-マルチノードパーティのノードの各々が、セッションIDを生成して、該セッションIDをノンスとともにユーザアプリケーションに返すステップと、
-マルチノードパーティのノードの各々について、ユーザアプリケーションが、マルチノードパーティの所与のノードによって生成されたセッションIDを、該ノードに提供されたメッセージの共有と共に提供するステップと、
-各々のノードが、受信したセッションIDを検証するステップ。
【0039】
この実施形態によれば、マルチノードパーティの各ノードは、受信したメッセージの秘密バージョンが、実際にはノードによって生成されたノンスに関連していることを保証することができる。これは、各ノードがセッションIDを生成し、生成されたノンスとともにこのセッションIDをユーザアプリケーションに返すことによって取得される。メッセージのシークレットフォームが後でユーザアプリケーションによってノードに提供されると、ユーザアプリケーションにはそれぞれのセッションIDが含まれる。これにより、所与のノードは、ユーザアプリケーションがメッセージのシークレットフォームとともに提供するセッションIDが、ノードからユーザアプリケーションにノンスとともに提供されたセッションIDと実際に同一であることを検証することができる。これにより、不正なパーティが誤った識別メッセージによってマルチノードパーティにアクセスするリスクが軽減される。
【0040】
たとえば、各ノードは生成されたノンスとともにセッションIDを格納し、格納されたセッションIDと返されたセッションIDが一致する場合、および格納されたノンスに基づいてメッセージが生成されたことを検証できる場合にのみ、受信したメッセージを検証できる。
【0041】
ノードは、受信したメッセージのシークレットフォームの妥当性を他の方法でチェックできる。たとえば、ユーザアプリケーションは、トランスポート層セキュリティ(TLS)接続などの特定の接続を介してIDプロバイダに認証の要求を転送する場合があり、IDプロバイダから受信したメッセージは、同じ接続を介して提供された場合にのみ有効として受け入れられる場合がある。
【0042】
代わりに、マルチノードパーティがノンスに基づいてメッセージ認証コードを生成し、これをユーザアプリケーションに転送することもできる。メッセージ認証コードはメッセージと共に返される必要があり、返されたメッセージ認証コードがメッセージの生成に使用されたノンスと一致している場合にのみ、メッセージは有効として受け入れられる。
【0043】
上記のいずれのシナリオでも、IDプロバイダによってユーザアプリケーションに提供されたメッセージは、最初にマルチノードパーティのノードに接続した同じユーザによって、ユーザアプリケーションを介してマルチノードパーティに返されることが保証される。
【0044】
この方法は、マルチノードパーティにアクセス可能な記憶場所に保存されたオブジェクトへのアクセスを、ユーザの認証に基づいて、及びアクセス権のセットに基づいて、ユーザに付与する又は拒否するステップを、更に含み得る。
【0045】
この実施形態によれば、ユーザは、適切に認証され、一連のアクセス権が認証されたユーザがオブジェクトへのアクセス権を持つことを指定している場合、オブジェクトへのアクセス権を付与される。一方、ユーザが認証されていない場合、そのユーザには格納場所に格納されているオブジェクトへのアクセス権は付与されない。さらに、ユーザが認証された場合でも、そのユーザには、アクセス権のセットが指定する範囲までの所与のオブジェクトへのアクセスのみが許可される。
【0046】
アクセス権のセットは、例えば、どのユーザがどのオブジェクトに対してどのアクションを実行する権限を与えられるかを指定するアクセス制御リスト(ACL)またはアクセス制御マトリクス(ACM)の形式とすることができる。
【0047】
ストレージロケーションは、マルチノードパーティの一部を形成する場合もあれば、別のストレージロケーションである場合もある。後者の場合、マルチノードパーティは単にユーザのストレージロケーションへのアクセスを管理し、それによってストレージロケーションに格納されたオブジェクトへのアクセスを管理するだけである。
【0048】
アクセス権のセットは、例えば、所与のユーザが保存場所に保存されているオブジェクトに対する他のユーザのアクセス権を定義する権限を与えられることを指定することができる。これにより、ユーザは他のユーザにアクセス権を委任できるようになる。
【0049】
この方法は、さらに以下のステップを含むことができる。
-メッセージからユーザの一意のIDの共有を導出して、マルチノードパーティのノードにて、マルチパーティストア操作により、ユーザの一意のIDの共有を保存するステップと、
-各々のノードが、ユーザのアクティビティをログに記録し、記録されたアクティビティを一意のユーザIDの夫々の共有と共に保存するステップ。
【0050】
前述のように、IDプロバイダから受信するメッセージは、デジタル署名と共に提供されるIDトークンの形式である場合がある。この場合、IDトークンにはユーザの一意のIDが含まれることがあり、これはメッセージから派生し、ノード間での秘密の共有などの共有の形式でマルチノードパーティに格納できる。
【0051】
いずれの場合も、各ノードはユーザの一意のIDの共有を有しているが、どのノードもユーザの一意のID全体を所有していないか、またはそのIDに関する知識を取得していない。しかし、ユーザの一意のIDは、ノードが保持している共有から、また、マルチパーティ操作、すなわち、ノードが協力する操作を使用することによって導き出せる。
【0052】
認証が成功したためにユーザにシステムへのアクセスが許可されると、マルチノードパーティのノードはユーザが実行したアクティビティをログに記録する。各ノードはさらに、ログに記録されたアクティビティを、ノードが所有しているユーザの一意のIDの共有に関連付ける。これは、ログに記録されたアクティビティをそれぞれの共有とともに格納するという意味である。したがって、各ノードは、記録されたアクティビティの記録を保持し、記録されたアクティビティは、一意のユーザIDのそれぞれの共有を介してアクティビティを実行するユーザにリンクされるが、ユーザの実際の身元は個々のノードに明らかにされない。
【0053】
この方法は、さらに以下のステップを含むことができる。
-監査人が、マルチパーティの操作によりマルチノードパーティのノードからアクティビティ情報を検索するステップと、
-監査人が、検索した情報に基づいて、マルチノードパーティで実行されたアクティビティを監査するステップ。
【0054】
この実施形態によれば、監査人は、ユーザの一意のIDの夫々の共有とともに、ノードによって保存されたログに記録されたユーザアクティビティへのアクセス権を得る。これは、マルチパーティ操作によって行われ、監査人は、ユーザの一意のIDの保存された共有に基づいて、記録されたアクティビティをユーザの実際のIDにリンクできる。その後、監査人は、この方法で取得されたアクティビティ情報に基づいて、マルチノードパーティで実行されたアクティビティの関連する監査を実行できる。繰り返しになるが、これはどのノードにもユーザの本当の身元を明かすことなく行われる。
【0055】
取得されたアクティビティ情報は、所与のユーザの完全なアクティビティログの形式である場合もあれば、指定された時間間隔でマルチノードパーティにアクセスしたすべてのユーザの形式である場合もある。取得されたアクティビティ情報は、所与の特定のユーザの1つのセッションから生成される場合もあれば、同じユーザの複数のセッションから生成される場合もある。
【0056】
別の方法として、検索されたアクティビティ情報は限定された形式である場合がある。つまり、保存されたアクティビティ情報の一部のみが監査人に使用可能になる。たとえば、監査人は特定のクエリに対する応答の取得のみを許可される場合がある。たとえば、監査人は、特定のユーザまたは特定のユーザグループが、所与の期間内に1つ以上の指定されたオブジェクトにアクセスしたかどうか、および/または1つ以上の指定されたアクティビティを実行したかどうかを照会できる。このようなクエリに対する応答は、単に「yes」または「no」である場合がある。これにより、監査人は、ユーザの実際の身元に関する詳細な情報や個々のユーザのアクティビティに関する詳細な情報を含む、ユーザに関する詳細な情報を取得することなく、監査や統計の目的で関連するアクティビティ情報を取得することができる。別の方法として、監査人は、指定されたユーザまたは指定されたユーザグループのログに記録されたアクティビティの指定されたサブセットのみを取得することもできる。
【0057】
この方法は、さらに以下のステップを含むことができる。
-偽名ユーザIDを生成し、該偽名ユーザIDをマルチノードパーティにてマルチパーティの保存操作により保存するステップと、
-ユーザのアクティビティをログに記録し、アクティビティと偽名ユーザIDを相互に関連付けるステップと、
-各々のノードが、ノードID、偽名ユーザID、及び関連するアクティビティに関する情報を、ログに提供するステップ。
【0058】
この実施形態によれば、記録されたアクティビティは、実ユーザIDではなく、偽名ユーザIDに関連付けられる。これにより、マルチノードパーティのノードは、記録されたアクティビティを、アクティビティを実行するユーザの実際のIDに直接リンクできなくなる。さらに、ユーザがシステムにアクセスするたびに新しい偽名ユーザIDが生成される場合、ノードは2つの異なるセッション中に実行されたアクティビティを同じユーザにリンクすることもできない。これにより、ユーザのプライバシが向上する。
【0059】
偽名ユーザIDは、マルチパーティ保存操作によって、ユーザの一意のIDにリンクする方法で保存することができ、その場合、適切なマルチパーティ操作を適用することによって、偽名ユーザIDに関連付けられたアクティビティをユーザの一意のIDにリンクし、それによってユーザの実際のIDにリンクすることが可能になる。
【0060】
したがって、この実施形態によれば、各ノードは、ノードID、偽名ユーザIDおよび関連するアクティビティに関する情報をログに提供する。ログは、システムログや監査ログなどである。したがって、ログには各ノードから提供されたアクティビティ情報が含まれ、アクティビティ情報はアクティビティを記録したノードのノードIDと、アクティビティを実行したユーザの偽名ユーザIDに関連付けられる。
【0061】
監査人などの別の関係者は、ログに記録された情報の少なくとも一部を取得するために、その後ログにアクセスすることができる。監査人には、監査人が偽名ユーザIDを一意のユーザIDにリンクするためのキーを提供することができる。キーは、たとえば、マルチノードパーティによって提供される可能性がある。これにより、監査人は、複数のセッション中に所与のユーザによって実行されたアクティビティに関する情報を、この情報がログに格納されている情報から直接利用できない場合でも、偽名ユーザIDと一意のユーザIDの間のマッピングに基づいて導き出すことができる。この場合、監査人は、アクティビティ情報がログから取得されるたびにマルチパーティ操作を適用する必要はない。
【0062】
ユーザアプリケーションが、IDプロバイダに認証を要求するステップは、次のステップで構成され得る。
-ユーザアプリケーションが、マルチノードパーティのノードから受信したノンスとユーザの一意のIDに基づいて、第1のIDプロバイダからユーザの認証を要求することと、-第1のIDプロバイダが、認証の要求に基づいて第1のメッセージを生成し、第1のメッセージをユーザアプリケーションに提供することと、
-ユーザアプリケーションが、第1のIDプロバイダから受信した第1のメッセージと、ユーザの一意のIDとに基づいて、第2のIDプロバイダからユーザの認証を要求することと、
-第2のIDプロバイダが、認証の要求に基づいて第2のメッセージを生成し、ユーザアプリケーションに第2のメッセージを提供すること。
【0063】
この実施形態によれば、システムのセキュリティは、「チェーンされた」プロセスにおいて、複数回IDプロバイダに認証を要求することによって向上する。より具体的には、ユーザアプリケーションは最初に、マルチノードパーティのノードから受信したノンスとユーザの一意のIDに基づいて、第1のIDプロバイダにユーザの認証を要求し、第1のIDプロバイダはそれに基づいて第1のメッセージを生成し、上記の方法でユーザアプリケーションにメッセージを提供する。ただし、ユーザアプリケーションは、受信した第1のメッセージをシークレットフォームでマルチノードパーティの各ノードに提供する代わりに、第1のメッセージとユーザの一意のIDに基づいて、第2のIDプロバイダにユーザの認証を要求する。したがって、第1のIDプロバイダによって生成された第1のメッセージは、第1の認証の要求中にマルチノードパーティのノードによって提供されたノンスが適用されたのと同様の方法で、第2のIDプロバイダからのユーザの認証の追加要求で適用される。
【0064】
ユーザの第2の認証の要求に応答して、第2のIDプロバイダは第2のメッセージを生成し、ユーザアプリケーションに第2のメッセージを提供する。したがって、ユーザアプリケーションは、第1のIDプロバイダによって生成された第1のメッセージと、第2のIDプロバイダによって生成された第2のメッセージを有するものとなる。さらに、第2のメッセージは第1のメッセージに基づいて生成されたため、第1のメッセージに関する情報、および第1のIDプロバイダによって提供されたユーザの第1の認証に関する情報が含まれている。
【0065】
次に、ユーザアプリケーションは、基本的に上記の方法で、第1のメッセージと第2のメッセージをシークレットフォームでマルチノードパーティのノードに提供する。ただし、第2のメッセージだけがユーザアプリケーションに提供される可能性も否定できない。
【0066】
ユーザアプリケーションが、IDプロバイダに認証を要求するステップは、更に、第2のメッセージと、ユーザの一意のIDとに基づいて、少なくとも第3のIDプロバイダからユーザの認証を要求し、それによってメッセージのチェーンを作成することを、含み得る。
【0067】
この実施形態によれば、基本的に上記の方法で3つ以上のIDプロバイダから順次認証を要求することにより、システムのセキュリティをさらに向上させることができる。ユーザアプリケーションは、2つ以上、できればすべての受信メッセージをシークレットフォームでマルチノードパーティのノードに提供する。これは、単一のメッセージの形式で行うことができる(たとえば、IDプロバイダから受信したメッセージから形成されるハッシュまたは連結メッセージ)。または、メッセージをマルチノードパーティのノードに個別に提供することもできる。この場合、ユーザアプリケーションは、最後のメッセージの受信を待つのではなく、各IDプロバイダからメッセージを受信したときに、ノードにメッセージを提供できる。
【0068】
次の認証の要求時に受信したメッセージが適用される限り、第1、第2、第3等のIDプロバイダが実際には同一のIDプロバイダであることは否定されない。
【0069】
代わりに、ユーザアプリケーションが、IDプロバイダから認証を要求するステップは、次のステップで構成され得る。
-ユーザアプリケーションが、マルチノードパーティのノードから受信したノンスと、第1のユーザの一意のIDとに基づいて、IDプロバイダから第1のユーザの認証を要求することと、
-IDプロバイダが、第1のユーザの認証の要求に基づいて、第1のメッセージを生成し、第1のメッセージをユーザアプリケーションに提供することと、
-ユーザアプリケーションが、IDプロバイダから受信した第1のメッセージと、第2のユーザの一意のIDとに基づいて、IDプロバイダから第2のユーザの認証を要求することと、
-IDプロバイダが、第2のユーザの認証の要求に基づいて、第2のメッセージを生成し、第2のメッセージをユーザアプリケーションに提供すること。
【0070】
これは上記の実施形態と同様であり、したがって、ここで述べたリマークも同様に適用できる。ただし、この実施形態では、複数のIDプロバイダで1人のユーザの認証を要求するのではなく、IDプロバイダで複数のユーザの認証を要求する。これは、例えば、オブジェクトへのアクセス、デジタル署名の提供、トランザクションの実行など、実行されるアクションが複数のユーザの承認を必要とする場合に関連する可能性がある。
【0071】
上記の実施形態と同様に、ユーザアプリケーションが、IDプロバイダから認証を要求するステップは、更に、第2のメッセージと第3のユーザの一意のIDとに基づいて、IDプロバイダから少なくとも第3のユーザの認証を要求し、それによってメッセージのチェーンを作成することを、含み得る。
【0072】
ユーザの認証が複数のIDプロバイダから要求される可能性は排除されない。例えば、第1のユーザの認証を第1のIDプロバイダに要求したり、第2のユーザの認証を第1のIDプロバイダとは異なる第2のIDプロバイダに要求したりすることができる。
【0073】
この方法と上記の実施形態の利点は、IDトークンのチェーンを、単一のユーザと単一のIDプロバイダによる通常の認証フローから逸脱することなく生成できることである。
【0074】
第2の態様によれば、本発明は、少なくとも2つのノードを含むマルチノードパーティに対してユーザを認証する方法を提供し、その方法は以下のステップを含む;
-ユーザが、ユーザアプリケーションを介してマルチノードパーティのノードに接続するステップと、
-マルチノードパーティのノードの各々が、ノンスを生成し、ユーザアプリケーションにノンスを返すステップと、
-ユーザアプリケーションが、マルチノードパーティのノードから受信したノンスに基づいて、結合されたノンスを生成し、結合されたノンスとユーザの一意のIDとに基づいてIDプロバイダに認証を要求するステップと、
-IDプロバイダが、認証の要求に基づいてメッセージを生成し、該メッセージをユーザアプリケーションに提供するステップと、
-ユーザアプリケーションが、マルチノードパーティのノードの各々にメッセージを提供するステップと、
-マルチノードパーティのノードが、受信したメッセージに基づき、且つ検証の操作により、メッセージを検証するステップと、
-検証の操作に基づいてユーザを認証するステップ。
【0075】
発明の第1の態様に係る方法は、発明の第2の態様に係る方法と同様であるため、同様の特徴についてはここでは詳述しない。したがって、上記の発明の第1の態様に関するリマークは、発明の第2の態様にも同様に適用できる。
【0076】
本発明の第2の態様に係る方法では、ユーザは、基本的に本発明の第1の態様に関して上述したように、ユーザアプリケーションを介して、最初にマルチノードパーティのノードに接触する。
【0077】
それに応じて、マルチノード当事者の各ノードは、基本的に発明の第1の態様に関して上述したように、ノンスを生成し、ユーザアプリケーションにノンスを返す。
【0078】
その後、ユーザアプリケーションは、マルチノードパーティのノードから受信したノンスに基づいて、複合ノンスを生成する。したがって、結合されたノンスには、マルチノードパーティのノードによって生成された各ノンスからの情報が含まれる。ユーザアプリケーションはさらに、ユーザの一意のIDに基づいて、結合されたノンスaに基づいてIDプロバイダに認証を要求する。これは、本発明の第1の態様に関して上述したものと同様である。結合されたノンスは、例えば、個々のノンスを連結するか、ノンスをハッシュすることによって生成することができる。
【0079】
次に、IDプロバイダは、認証の要求に基づいて、それによって結合されたノンスとユーザの一意のIDに基づいてメッセージを生成する。本発明の第1の態様に関して上述したように、メッセージは、デジタル署名と共に提供されるIDトークンの形式であってもよい。どのような場合でも、メッセージは、結合されたノンスに依存するという意味で、結合されたノンスを反映し、それによって複数ノードパーティのノードによって生成されたノンスも反映する。ただし、ユーザアプリケーションとIDプロバイダの間の通信は、結合されたノンスのために、一方だけが認証を要求する状況に似た方法で行われる。つまり、各ノードがIDプロバイダにユーザの認証を要求する必要がないため、必要なアクションの数が減り、ユーザエクスペリエンスが向上する。さらに、IDプロバイダの観点からは、このプロセスは単一のノードパーティに対して認証を実行するのと似ている。
【0080】
IDプロバイダはユーザアプリケーションにメッセージを提供し、ユーザアプリケーションはマルチノードパーティの各ノードにメッセージを提供する。マルチノードパーティのノードは、受信したメッセージに基づいて、検証操作によってメッセージを検証する。メッセージはマルチノードパーティのノードが生成したノンスから生成された複合ノンスに基づいて生成されるため、各ノードはメッセージが最初にノードがユーザアプリケーションに提供したノンスに対応するかどうかを確認することができる。
【0081】
最後に、検証操作に基づいてユーザが認証される。
【0082】
このように、認証はマルチノードパーティに対して行われるため、ユーザの認証は安全な方法で取得されるが、各ノードがIDプロバイダに認証を要求する追加の手順を導入することはなく、それによってユーザフレンドリな方法で取得される。
【0083】
ユーザアプリケーションが、IDプロバイダに認証を要求するステップは、次のステップで構成され得る。
-ユーザアプリケーションが、結合されたノンスとユーザの一意のIDとに基づいて、第1のIDプロバイダからユーザの認証を要求することと、
-第1のIDプロバイダが、認証の要求に基づいて、第1のメッセージを生成し、第1のメッセージをユーザアプリケーションに提供することと、
-ユーザアプリケーションが、第1のIDプロバイダから受信した第1のメッセージとユーザの一意のIDとに基づいて、第2のIDプロバイダからユーザの認証を要求することと、
-第2のIDプロバイダが、認証の要求に基づいて第2のメッセージを生成し、ユーザアプリケーションに第2のメッセージを提供すること。
【0084】
これについては、本発明の第1の態様を参照して既に詳細に説明した。
【0085】
ユーザアプリケーションが、IDプロバイダから認証を要求するステップは、更に、第2のメッセージとユーザの一意のIDとに基づいて、少なくとも第3のIDプロバイダにユーザの認証を要求し、それによりメッセージのチェーンを作成することを、含み得る。
【0086】
これについては、本発明の第1の態様を参照して既に詳細に説明した。
【0087】
代わりに、ユーザアプリケーションが、IDプロバイダに認証を要求するステップは、次のステップで構成され得る。
-ユーザアプリケーションが、結合されたノンスと第1のユーザの一意のIDとに基づいて、IDプロバイダから第1のユーザの認証を要求することと、
-IDプロバイダが、第1のユーザの認証の要求に基づいて第1のメッセージを生成し、第1のメッセージをユーザアプリケーションに提供することと、
-ユーザアプリケーションが、IDプロバイダから受信した第1のメッセージと第2のユーザの一意のIDとに基づいて、IDプロバイダから第2のユーザの認証を要求することと、
-IDプロバイダが、第2のユーザの認証の要求に基づいて第2のメッセージを生成し、第2のメッセージをユーザアプリケーションに提供すること。
【0088】
これについては、本発明の第1の態様を参照して既に詳細に説明した。
【0089】
ユーザアプリケーションが、IDプロバイダに認証を要求するステップは、更に、ユーザアプリケーションが、第2のメッセージと第3のユーザの一意のIDとに基づいて、IDプロバイダから少なくとも第3のユーザの認証を要求し、それによりメッセージのチェーンを作成することを、含み得る。
【0090】
これについては、本発明の第1の態様を参照して既に詳細に説明した。
【図面の簡単な説明】
【0091】
以下では、本発明を添付の図面を参照してさらに詳細に説明する。
【
図1】
図1~3は、本発明による方法の様々な実施形態を示す図である。
【
図2】
図1~3は、本発明による方法の様々な実施形態を示す図である。
【
図3】
図1~3は、本発明による方法の様々な実施形態を示す図である。
【
図4】
図4は、本発明の一実施形態による方法の一部を形成する、チェーンされた認証を示すブロック図である。
【発明を実施するための形態】
【0092】
図面の詳細な説明
図1は、本発明の第1の実施形態による方法を示す図である。具体的には、本発明の第1の実施形態による方法を実行しながら、様々な関係者間の通信を
図1に示す。
【0093】
メソッドの実行に参加するパーティは、ユーザアプリケーション1、3つのノード2で構成されるマルチノードパーティ、およびIDプロバイダ3である。
【0094】
最初に、ユーザの認証に先立ち、マルチノードアプリケーションのノード2とIDプロバイダ3との間に信頼関係が確立されているものとする。
【0095】
また、ユーザアプリケーション1とIDプロバイダ3の間に初期の信頼関係があることを前提としている。この信頼関係により、ユーザアプリケーション1はIDプロバイダを認証でき、ユーザはIDプロバイダ3がユーザを認証できる資格情報を保持していることを意味する。
【0096】
最後に、ユーザアプリケーション1が各ノード2を認証できるようにする初期の信頼関係を仮定する。最初は、ノードがユーザを認証できるとは仮定しないことに注意してください。これが本発明の目的である。
【0097】
ユーザの認証を実行するために、ユーザアプリケーション1は最初に各ノード2に接続し、各ノード2との安全な一方向認証チャネルを確立する。これを受けて各ノード2はノンスとセッションIDを生成し、ユーザアプリケーション1に返す。
【0098】
その後、ユーザアプリケーション1はユーザの認証の要求を生成し、これをIDプロバイダ3に転送する。認証の要求は、ノード2から受信したノンスから生成されたノンスで構成され、例えば、ノンスの組み合わせの形式である。
【0099】
これに応答して、IDプロバイダ3は、ユーザの一意のIDに基づいて、ユーザの一意のID(uid)と組み合わせたノンスを含むメッセージMを生成する。また、メッセージMのデジタル署名sも生成する。メッセージMとデジタル署名sは、ユーザアプリケーション1に返される。
【0100】
次に、ユーザアプリケーション1は、IDプロバイダ3から受信したメッセージMとデジタル署名sを、それぞれのセッションIDとともに各ノード2に提供する。
【0101】
その後、各ノード2は、(1)デジタル署名がMの有効な署名であること、(2)受信したセッションIDがノードが最初にユーザアプリケーションにノンスを提供したときに生成したセッションIDと一致すること、(3)メッセージMが実際にはノード2が最初にユーザアプリケーション1に提供したノンスに基づいていることを確認する。
【0102】
ユーザアプリケーション1は、IDプロバイダ3に対して単一のクライアントとして機能し、IDプロバイダ3の観点からは、1つのパーティ、つまりユーザアプリケーション1だけが認証される。これにより、ユーザの認証を完了させるために必要なラウンド数を最小限に抑えることができ、各ノード2への個別認証に関わる欠点なく、マルチノードパーティによる高い認証セキュリティを得ることができる。
【0103】
各ノードの個々のセッションIDの使用と、署名付きメッセージMに含まれるノンスが各ノードからの個々のノンスの組み合わせで構成されているという事実により、悪意のあるノードであっても、受信した情報を悪用して、クライアントであるかのように他のノードに対して認証を行うことはできない。
【0104】
図2は、本発明の第2の実施形態による方法を示す図である。
図2に示す方法は、
図1に示す方法と非常に類似しているため、ここでは詳しく説明しない。
【0105】
しかし、
図2に示す方法では、マルチノードパーティのノード2が共有の暗号キーkを生成し、ユーザアプリケーション1とIDプロバイダ3の間に確立された信頼関係を介して、その暗号キーkがIDプロバイダ3と共有される。
【0106】
認証の要求に応じてIDプロバイダ3が生成するメッセージは、暗号キーkによって暗号化される。これにより、ユーザアプリケーション1はシークレットフォームでメッセージを受信する。さらに、ユーザアプリケーション1は、暗号化されたメッセージを受信すると、メッセージの秘密の共有を生成し、それぞれの共有をノード2に提供する。したがって、各ノード2はメッセージの秘密バージョンを受信する。
【0107】
その後、ノード2はメッセージを検証するマルチパーティ操作を実行する。これはMPC 4で示されている。
【0108】
したがって、どのノード2も、ユーザの真のアイデンティティや、IDプロバイダ3によって提供されるメッセージ全体に関する情報を学習しない。これにより、利用者のプライバシが保たれる。
【0109】
図3は、本発明の第3の実施形態による方法を示す図である。より具体的には、
図3は、例えば、
図1または
図2を参照して上記の方法で、ユーザの認証が行われた後に行われる監査プロセスを示している。
【0110】
ユーザアプリケーション1とマルチノードパーティのノード2との間では、最初にマルチパーティプロセス4によって認証処理が行われる。さらに、マルチノードパーティのノード2は、マルチパーティプロセス4を使用して、ユーザのランダムな偽名IDを生成し、偽名IDを格納する。
【0111】
その後、ユーザのアクティビティはマルチノードパーティのノード2によって記録され、記録されたアクティビティは、偽名IDとそれぞれのノードIDのそれぞれの共有とともに監査ログ5に保存される。その後、監査人は監査を行うために監査ログ5にアクセスすることができる。
【0112】
図4は、本発明の一実施形態による方法の一部を形成する、チェーンされた認証を示すブロック図である。この方法は、例えば、
図1または
図2に示され、上記で説明されている方法の1つである。
【0113】
ユーザアプリケーションは、マルチノードパーティの各ノードからノンスを受信すると、受信したノンスに基づいてハッシュ化ノンスを生成する。ハッシュされたノンスは、第1のIDプロバイダ3aからのユーザの認証を要求するために、認証されるユーザの一意のIDとともに第1のIDプロバイダ3aに提供される。これに応答して、第1のIDプロバイダ3aは第1のIDトークンの形式で第1のメッセージを生成し、これをユーザアプリケーションに返す。
【0114】
その後、ユーザアプリケーションは第1のIDトークンのハッシュを生成し、これをユーザの一意のIDとともに第2のIDプロバイダ3bに提供し、第2のIDプロバイダ3bからのユーザの認証を要求する。これに対して、第2のIDプロバイダ3bは第2のIDトークンを生成してユーザアプリケーションに返し、ユーザアプリケーションは第2のIDトークンのハッシュを生成する。
【0115】
上記のプロセスが繰り返され、すなわち、第2のIDトークンのハッシュが第3のIDプロバイダ等に提供され、目的の数のIDプロバイダからユーザのIDトークンのチェーンが取得される。
図4では、この最終的なIDプロバイダをn番目のIDプロバイダ3cとして示している。
【0116】
その後、すべてのIDトークンがマルチノードパーティのノードに提供され、マルチノードパーティは上記のようにIDトークンのチェーンを検証する。
【手続補正書】
【提出日】2022-12-14
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
マルチノードパーティに対するユーザの認証の方法であって、マルチノードパーティは少なくとも2つのノードで構成され、
前記方法は、
-ユーザが、ユーザアプリケーションを介してマルチノードパーティのノード
の各々に接続するステップと、
-マルチノードパーティのノードの各々が、ノンスを生成し、ユーザアプリケーションにノンスを返すステップと、
-ユーザアプリケーションが、マルチノードパーティのノード
の各々から受信したノンスとユーザの一意のIDに基づいて、IDプロバイダに認証を要求するステップと、
-IDプロバイダが、認証の要求
とノードの各々により生成されたノンスとに基づいてメッセージを生成し、該メッセージをユーザアプリケーションに提供するステップと、
-ユーザアプリケーションが、マルチノードパーティのノードの各々にシークレットフォームでメッセージを提供するステップと、
-マルチノードパーティのノードが、受信したメッセージのシークレットフォームに基づき、且つ
、少なくとも2つのノードにより共同で実行される安全なマルチパーティ計算によって、メッセージを検証するステップと、
-安全なマルチパーティ計算に基づいてユーザを認証するステップと
を含む、方法。
【請求項2】
IDプロバイダが、
メッセージを暗号化するステップと、
暗号化されたメッセージをユーザアプリケーションに提供するステップと
を更に含み、
ユーザアプリケーションがシークレットフォームでメッセージを提供するステップが、暗号化されたメッセージをマルチノードパーティのノードに提供することを含む、
請求項1に記載の方法。
【請求項3】
マルチノードパーティのノードが、共有暗号鍵を生成するステップ
を更に含み、
少なくとも、メッセージを暗号化するステップが、共有暗号鍵によって行われる、
請求項2に記載の方法。
【請求項4】
マルチノードパーティにて、安全なマルチパーティ復号によって、受信メッセージを復号するステップ
を更に含む、請求項2又は3に記載の方法。
【請求項5】
ユーザアプリケーションが、マルチノードパーティのノードの各々にシークレットフォームでメッセージを提供するステップが、
ユーザアプリケーションが、メッセージの共有を生成することと、マルチノードパーティのノードの各々にメッセージの少なくとも1つの共有を提供することとを含み、
マルチノードパーティのノードがメッセージを検証するステップは、受信した共有に基づいて実行される、
請求項1~4のいずれか一に記載の方法。
【請求項6】
メッセージの少なくとも一部を秘密に共有する形式で、メッセージの少なくとも一部をマルチノードパーティに保存するステップ
を更に含む、
請求項1~5のいずれか一に記載の方法。
【請求項7】
-マルチノードパーティのノードの各々が、セッションIDを生成して、該セッションIDをノンスとともにユーザアプリケーションに返すステップと、
-マルチノードパーティのノードの各々について、ユーザアプリケーションが、マルチノードパーティの所与のノードによって生成されたセッションIDを、該ノードに提供されたメッセージの共有と共に提供するステップと、
-各々のノードが、受信したセッションIDを検証するステップと
を、更に含む、請求項1~6のいずれか一に記載の方法。
【請求項8】
マルチノードパーティにアクセス可能な記憶場所に保存されたオブジェクトへのアクセスを、ユーザの認証に基づいて、及びアクセス権のセットに基づいて、ユーザに付与する又は拒否するステップ
を更に含む、請求項1~7のいずれか一に記載の方法。
【請求項9】
-メッセージからユーザの一意のIDの共有を導出して、マルチノードパーティのノードにて、マルチパーティの保存操作により、ユーザの一意のIDの共有を保存するステップと、
-各々のノードが、ユーザのアクティビティをログに記録し、記録されたアクティビティを一意のユーザのIDの夫々の共有と共に保存するステップと
を、更に含む、請求項1~8のいずれか一に記載の方法。
【請求項10】
-監査人が、マルチパーティの操作によりマルチノードパーティのノードからアクティビティ情報を検索するステップと、
-監査人が、検索した情報に基づいて、マルチノードパーティで実行されたアクティビティを監査するステップと
を、更に含む、請求項9に記載の方法。
【請求項11】
-偽名ユーザIDを生成し、該偽名ユーザIDをマルチノードパーティにてマルチパーティの保存操作により保存するステップと、
-ユーザのアクティビティをログに記録し、アクティビティと偽名ユーザIDを相互に関連付けるステップと、
-各々のノードが、ノードID、偽名ユーザID、及び関連するアクティビティに関する情報を、ログに提供するステップと
を、更に含む、請求項9又は10に記載の方法。
【請求項12】
ユーザアプリケーションが、IDプロバイダに認証を要求するステップは、
-ユーザアプリケーションが、マルチノードパーティのノードから受信したノンスとユーザの一意のIDに基づいて、第1のIDプロバイダからユーザの認証を要求することと、
-第1のIDプロバイダが、認証の要求に基づいて第1のメッセージを生成し、第1のメッセージをユーザアプリケーションに提供することと、
-ユーザアプリケーションが、第1のIDプロバイダから受信した第1のメッセージと、ユーザの一意のIDとに基づいて、第2のIDプロバイダからユーザの認証を要求することと、
-第2のIDプロバイダが、認証の要求に基づいて第2のメッセージを生成し、第2のメッセージをユーザアプリケーションに提供することと
を含む、
請求項1~11のいずれか一に記載の方法。
【請求項13】
ユーザアプリケーションが、IDプロバイダに認証を要求するステップは、更に、
ユーザアプリケーションが、第2のメッセージと、ユーザの一意のIDとに基づいて、少なくとも第3のIDプロバイダからユーザの認証を要求し、それによってメッセージのチェーンを作成すること
を含む、請求項12に記載の方法。
【請求項14】
ユーザアプリケーションが、IDプロバイダから認証を要求するステップが、
-ユーザアプリケーションが、マルチノードパーティのノードから受信したノンスと、第1のユーザの一意のIDとに基づいて、IDプロバイダから第1のユーザの認証を要求することと、
-IDプロバイダが、第1のユーザの認証の要求に基づいて、第1のメッセージを生成し、第1のメッセージをユーザアプリケーションに提供することと、
-ユーザアプリケーションが、IDプロバイダから受信した第1のメッセージと、第2のユーザの一意のIDとに基づいて、IDプロバイダから第2のユーザの認証を要求することと、
-IDプロバイダが、第2のユーザの認証の要求に基づいて、第2のメッセージを生成し、第2のメッセージをユーザアプリケーションに提供することと
を含む、請求項1~11のいずれか一に記載の方法。
【請求項15】
ユーザアプリケーションが、IDプロバイダから認証を要求するステップが、更に、
第2のメッセージと第3のユーザの一意のIDとに基づいて、IDプロバイダから少なくとも第3のユーザの認証を要求し、それによってメッセージのチェーンを作成すること
を含む、請求項14に記載の方法。
【請求項16】
マルチノードパーティに対するユーザの認証の方法であって、マルチノードパーティは少なくとも2つのノードで構成され、該方法は、
-ユーザが、ユーザアプリケーションを介してマルチノードパーティのノード
の各々に接続するステップと、
-マルチノードパーティのノードの各々が、ノンスを生成し、ユーザアプリケーションにノンスを返すステップと、
-ユーザアプリケーションが、マルチノードパーティのノード
の各々から受信したノンスに基づいて、結合されたノンスを生成し、結合されたノンスとユーザの一意のIDとに基づいて、IDプロバイダから認証を要求するステップと、
-IDプロバイダが、認証の要求
と、結合されたノンス
とに基づいてメッセージを生成し、該メッセージをユーザアプリケーションに提供するステップと、
-ユーザアプリケーションが、マルチノードパーティのノードの各々にメッセージを提供するステップと、
-マルチノードパーティのノードが、受信したメッセージに基づき、且つ検証の操作により、メッセージを検証するステップと、
-検証の操作に基づいてユーザを認証するステップと
を含む、方法。
【請求項17】
ユーザアプリケーションが、IDプロバイダに認証を要求するステップが、
-ユーザアプリケーションが、結合されたノンスとユーザの一意のIDとに基づいて、第1のIDプロバイダからユーザの認証を要求することと、
-第1のIDプロバイダが、認証の要求に基づいて、第1のメッセージを生成し、第1のメッセージをユーザアプリケーションに提供することと、
-ユーザアプリケーションが、第1のIDプロバイダから受信した第1のメッセージとユーザの一意のIDとに基づいて、第2のIDプロバイダからユーザの認証を要求することと、
-第2のIDプロバイダが、認証の要求に基づいて第2のメッセージを生成し、ユーザアプリケーションに第2のメッセージを提供することと
を含む、請求項16に記載の方法。
【請求項18】
ユーザアプリケーションが、IDプロバイダから認証を要求するステップは、更に、
第2のメッセージとユーザの一意のIDとに基づいて、少なくとも第3のIDプロバイダにユーザの認証を要求し、それによりメッセージのチェーンを作成すること
を含む、請求項17に記載の方法。
【請求項19】
ユーザアプリケーションが、IDプロバイダから認証を要求するステップは、
-ユーザアプリケーションが、結合されたノンスと第1のユーザの一意のIDとに基づいて、IDプロバイダから第1のユーザの認証を要求することと、
-IDプロバイダが、第1のユーザの認証の要求に基づいて第1のメッセージを生成し、第1のメッセージをユーザアプリケーションに提供することと、
-ユーザアプリケーションが、IDプロバイダから受信した第1のメッセージと第2のユーザの一意のIDとに基づいて、IDプロバイダから第2のユーザの認証を要求することと、
-IDプロバイダが、第2のユーザの認証の要求に基づいて第2のメッセージを生成し、第2のメッセージをユーザアプリケーションに提供することと
を含む、請求項16に記載の方法。
【請求項20】
ユーザアプリケーションが、IDプロバイダに認証を要求するステップが、更に、
ユーザアプリケーションが、第2のメッセージと第3のユーザの一意のIDとに基づいて、IDプロバイダから少なくとも第3のユーザの認証を要求し、それによりメッセージのチェーンを作成すること
を含む、請求項19に記載の方法。
【国際調査報告】