(57)【要約】  認証シーケンシング及び正規化モジュールは、ユーザに関連付けられた第１の認証を受信し、特定の種類の第１のアイデンティティサービスからの第１の認証に基づき、ユーザに保証レベル値を割り当ててもよい。ユーザが代替の種類の第２のアイデンティティサービスに基づく第２の認証に関連付けられている場合、ユーザに割り当てられた保証レベル値がインクリメントされてもよい。更に、ユーザによるアプリケーションへのアクセスは、ユーザに割り当てられたインクリメントされた保証レベル値が、アプリケーションに割り当てられたポリシーの第２の保証レベル値を満たすか又は上回る場合に許可されてもよい。異なるユーザが認証シーケンシング及び正規化モジュール内で異なるアイデンティティサービスによって認証されてもよい。
2017504909.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
ユーザに関連付けられた第１の認証を特定することと、
前記第１の認証に基づき保証レベル値を前記ユーザに割り当てることと、
前記ユーザが第２の認証に関連付けられているかどうかを判定することと、
前記ユーザが前記第２の認証に関連付けられている場合に、前記ユーザに割り当てられた前記保証レベル値をインクリメントすることと、
処理デバイスによって、前記ユーザに割り当てられた前記インクリメントされた保証レベル値が、前記アプリケーションに割り当てられたポリシーの第２の保証レベル値を満たすか又は上回る場合に、前記ユーザによるアプリケーションへのアクセスを許可することと、
を含む、方法。
【請求項２】
前記第１の認証又は前記第２の認証を提供するアイデンティティサービスから前記ユーザに関連付けられた補足属性を受信することであって、前記ポリシーの前記第２の保証レベル値は前記補足属性に基づく、ことを更に含む、請求項１に記載の方法。
【請求項３】
前記補足属性が前記ポリシーの条件に一致する場合に、前記第２の保証レベル値が、前記補足属性が前記ポリシーの前記条件に一致しない場合よりも高くなるように、前記ポリシーの前記第２の保証レベル値が前記補足属性に基づく、請求項２に記載の方法。
【請求項４】
前記第１の認証は第１のアイデンティティサービスに対するものであり、前記第２の認証は第２のアイデンティティサービスに対するものであり、前記第１のアイデンティティサービスは前記保証レベル値を割り当てられ、前記第２のアイデンティティサービスは第３の保証レベル値を割り当てられ、前記ユーザに割り当てられた前記保証レベル値を前記インクリメントすることは、前記第２のアイデンティティサービスに割り当てられた前記第３の保証レベル値に等しい量を増分とする、請求項１に記載の方法。
【請求項５】
第２のユーザは、前記第１及び第２のアイデンティティサービスと異なる第３のアイデンティティサービス及び第４のアイデンティティサービスに対して認証され、前記第２のユーザは、前記第３及び第４のアイデンティティサービスに割り当てられた保証レベル値に基づき第４の保証レベル値を割り当てられ、前記アプリケーションへのアクセスは、前記第２のユーザに割り当てられた前記第４の保証レベル値が、前記アプリケーションに割り当てられた前記ポリシーの前記第２の保証レベル値を満たすか又は上回る場合に許可される、請求項１に記載の方法。
【請求項６】
前記アプリケーションにアクセスするための前記ユーザからの要求を特定することと、
前記第１の認証に基づき前記ユーザに割り当てられた前記保証レベル値が、前記アプリケーションに割り当てられた前記ポリシーの前記第２の保証レベル値を満たさずかつ上回らないと判定することであって、前記第２の認証は第３の保証レベル値を割り当てられ、前記ユーザが前記第２の認証に関連付けられているかどうかを前記判定すること及び前記ユーザに割り当てられた前記保証レベル値を前記インクリメントすることは、前記第１の認証に基づき前記ユーザに割り当てられた前記保証レベル値が前記アプリケーションに割り当てられた前記ポリシーの前記第２の保証レベル値を満たさずかつ上回らないと判定したことに応じて実行され、前記ユーザに割り当てられた前記保証レベル値を前記インクリメントすることは前記第３の保証レベル値に等しい量を増分とする、ことと、
を更に含む、請求項１に記載の方法。
【請求項７】
第１の認証は一次認証であり、前記第２の認証は二次認証であり、前記第１の認証は認証シーケンスの第１の部分であり、前記二次認証は前記同じ認証シーケンスの第２の部分である、請求項１に記載の方法。
【請求項８】
システムであって、
メモリと、
前記メモリに結合されている処理デバイスであって、
ユーザに関連付けられた第１の認証を特定し、
前記第１の認証に基づき保証レベル値を前記ユーザに割り当て、
前記ユーザが第２の認証に関連付けられているかどうかを判定し、
前記ユーザが前記第２の認証に関連付けられている場合に、前記ユーザに割り当てられた前記保証レベル値をインクリメントし、
前記ユーザによるアプリケーションへのアクセスを、前記ユーザに割り当てられた前記インクリメントされた保証レベル値が、前記アプリケーションに割り当てられたポリシーの第２の保証レベル値を満たすか又は上回る場合に許可する、処理デバイスと、
を備える、システム。
【請求項９】
前記処理デバイスは更に、前記第１の認証又は前記第２の認証を提供するアイデンティティサービスから前記ユーザに関連付けられた補足属性を受信し、前記ポリシーの前記第２の保証レベル値は前記補足属性に基づく、請求項８に記載のシステム。
【請求項１０】
前記補足属性が前記ポリシーの条件に一致する場合に、前記第２の保証レベル値が、前記補足属性が前記ポリシーの前記条件に一致しない場合よりも高くなるように、前記ポリシーの前記第２の保証レベル値が前記補足属性に基づく、請求項９に記載のシステム。
【請求項１１】
前記第１の認証は第１のアイデンティティサービスに対するものであり、前記第２の認証は第２のアイデンティティサービスに対するものであり、前記第１のアイデンティティサービスは前記保証レベル値を割り当てられ、前記第２のアイデンティティサービスは第３の保証レベル値を割り当てられ、前記ユーザに割り当てられた前記保証レベル値を前記インクリメントすることは、前記第２のアイデンティティサービスに割り当てられた前記第３の保証レベル値に等しい量を増分とする、請求項８に記載のシステム。
【請求項１２】
第２のユーザは、前記第１及び第２のアイデンティティサービスと異なる第３のアイデンティティサービス及び第４のアイデンティティサービスに対して認証され、前記第２のユーザは、前記第３及び第４のアイデンティティサービスに割り当てられた保証レベル値に基づき第４の保証レベル値を割り当てられ、前記アプリケーションへのアクセスは、前記第２のユーザに割り当てられた前記第４の保証レベル値が、前記アプリケーションに割り当てられた前記ポリシーの前記第２の保証レベル値を満たすか又は上回る場合に許可される、請求項１１に記載のシステム。
【請求項１３】
前記処理デバイスは更に、
前記アプリケーションにアクセスするための前記ユーザからの要求を特定し、
前記第１の認証に基づき前記ユーザに割り当てられた前記保証レベル値が、前記アプリケーションに割り当てられた前記ポリシーの前記第２の保証レベル値を満たさずかつ上回らないと判定し、前記第２の認証は第３の保証レベル値を割り当てられ、前記ユーザが前記第２の認証に関連付けられているかどうかを前記判定すること及び前記ユーザに割り当てられた前記保証レベル値を前記インクリメントすることは、前記第１の認証に基づき前記ユーザに割り当てられた前記保証レベル値が前記アプリケーションに割り当てられた前記ポリシーの前記第２の保証レベル値を満たさずかつ上回らないと判定したことに応じて実行され、前記ユーザに割り当てられた前記保証レベル値を前記インクリメントすることは前記第３の保証レベル値に等しい量を増分とする、請求項８に記載のシステム。
【請求項１４】
第１の認証は一次認証であり、前記第２の認証は二次認証であり、前記第１の認証は認証シーケンスの第１の部分であり、前記二次認証は前記同じ認証シーケンスの第２の部分である、請求項８に記載のシステム。
【請求項１５】
処理デバイスによって実行されると前記処理デバイスに動作を行わせる命令を含む、非一時的コンピュータ可読記憶媒体であって、前記動作が、
ユーザに関連付けられた第１の認証を特定することと、
前記第１の認証に基づき保証レベル値を前記ユーザに割り当てることと、前記ユーザが第２の認証に関連付けられているかどうかを判定することと、
前記ユーザが前記第２の認証に関連付けられている場合に、
前記ユーザに割り当てられた前記保証レベル値をインクリメントすることと、
前記ユーザによるアプリケーションへのアクセスを、前記ユーザに割り当てられた前記インクリメントされた保証レベル値が、前記アプリケーションに割り当てられたポリシーの第２の保証レベル値を満たすか又は上回る場合に許可することと、
を含む、非一時的コンピュータ可読記憶媒体。
【請求項１６】
前記動作は、
前記第１の認証又は前記第２の認証を提供するアイデンティティサービスから前記ユーザに関連付けられた補足属性を受信することであって、前記ポリシーの前記第２の保証レベル値は前記補足属性に基づく、ことを更に含む、請求項１５に記載の非一時的コンピュータ可読記憶媒体。
【請求項１７】
前記補足属性が前記ポリシーの条件に一致する場合に、前記第２の保証レベル値が、前記補足属性が前記ポリシーの前記条件に一致しない場合よりも高くなるように、前記ポリシーの前記第２の保証レベル値が前記補足属性に基づく、請求項１６に記載の非一時的コンピュータ可読記憶媒体。
【請求項１８】
前記第１の認証は第１のアイデンティティサービスに対するものであり、前記第２の認証は第２のアイデンティティサービスに対するものであり、前記第１のアイデンティティサービスは前記保証レベル値を割り当てられ、前記第２のアイデンティティサービスは第３の保証レベル値を割り当てられ、前記ユーザに割り当てられた前記保証レベル値を前記インクリメントすることは、前記第２のアイデンティティサービスに割り当てられた前記第３の保証レベル値に等しい量を増分とする、請求項１５に記載の非一時的コンピュータ可読記憶媒体。
【請求項１９】
第２のユーザは、前記第１及び第２のアイデンティティサービスと異なる第３のアイデンティティサービス及び第４のアイデンティティサービスに対して認証され、前記第２のユーザは、前記第３及び第４のアイデンティティサービスに割り当てられた保証レベル値に基づき第４の保証レベル値を割り当てられ、前記アプリケーションへのアクセスは、前記第２のユーザに割り当てられた前記第４の保証レベル値が、前記アプリケーションに割り当てられた前記ポリシーの前記第２の保証レベル値を満たすか又は上回る場合に許可される、請求項１８に記載の非一時的コンピュータ可読記憶媒体。
【請求項２０】
前記動作は、
前記アプリケーションにアクセスするための前記ユーザからの要求を特定することと、
前記第１の認証に基づき前記ユーザに割り当てられた前記保証レベル値が、前記アプリケーションに割り当てられた前記ポリシーの前記第２の保証レベル値を満たさずかつ上回らないと判定することであって、前記第２の認証は第３の保証レベル値を割り当てられ、前記ユーザが前記第２の認証に関連付けられているかどうかを前記判定すること及び前記ユーザに割り当てられた前記保証レベル値を前記インクリメントすることは、前記第１の認証に基づき前記ユーザに割り当てられた前記保証レベル値が前記アプリケーションに割り当てられた前記ポリシーの前記第２の保証レベル値を満たさずかつ上回らないと判定したことに応じて実行され、前記ユーザに割り当てられた前記保証レベル値を前記インクリメントすることは前記第３の保証レベル値に等しい量を増分とする、ことと、
を更に含む、請求項１５に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は認証に関し、より詳細には、アイデンティティサービスの正規化された保証レベルに基づく認証シーケンシングに関する。
【背景技術】
【０００２】
シングルサインオン（single sign-on、ＳＳＯ）は、複数の独立したソフトウェア又はネットワークシステムに対するアクセス制御を提供する。例えば、ＳＳＯアクセス制御を使用すると、ユーザは、複数ではあるが独立したソフトウェア又はネットワークシステムに同時にログインしてそれらへのアクセスを得ることができ、独立したソフトウェア又はネットワークシステムのそれぞれで、その後も連続してログインするよう求められなくなる。すなわち、ＳＳＯアクセス制御は、ユーザが独立したソフトウェア又はネットワークシステムにログインすることが必要になる回数を低減することができ、ユーザが複数の異なるユーザ名及びパスワードの組み合わせを覚える必要性をなくすことができ、かつユーザがパスワードの再入力を要求され得る回数を低減することができる。
【０００３】
ＳＳＯアクセス制御は、それぞれが異なる種類又はソースの認証メカニズム又はサービスを提供する、複数のアイデンティティサービスを管理してもよい。更に、ユーザが一度認証されたら、そのユーザはソフトウェア又はネットワークアプリケーションへのアクセスを許可されてもよい。例えば、ユーザが第１のアイデンティティサービスに対して認証された場合、ユーザはアプリケーションにアクセスしてもよい。更に、ユーザはまた、第２のアイデンティティサービスに対しても認証されてもよい。ユーザは、第１のアイデンティティサービス及び第２のアイデンティティサービスに対する認証に基づき、別のアプリケーションにアクセスしてもよい。
【０００４】
ユーザがソフトウェア又はネットワークアプリケーションのそれぞれへのアクセスを認可又は許可され得る前に、ユーザが認証され得る対象となるアイデンティティサービスを定義するためのポリシーが、ソフトウェア又はネットワークアプリケーションに割り当てられてもよい。例えば、ＳＳＯアクセス制御を提供する中央認証サーバ又はシステムの管理者は、第１のソフトウェア又はネットワークアプリケーションが第１のアイデンティティサービス及び第２のアイデンティティサービスに対する認証を必要とすること、並びに第２のソフトウェア又はネットワークアプリケーションが第３のアイデンティティサービスに対する認証を必要とすることを定義してもよい。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
したがって、管理者は、個々のソフトウェア又はネットワークアプリケーション毎に具体的なアイデンティティサービスを特定することを要求され得る。各ソフトウェア又はネットワークアプリケーションに割り当てられるアイデンティティサービスのそのような個々の特定は、ＳＳＯアクセス制御を提供する中央認証サーバ又はシステムが多くの異なるアイデンティティサービスを管理する場合、複雑になり得る。
【課題を解決するための手段】
【０００６】
ユーザに関連付けられた第１の認証が特定されてもよい。第１の認証に基づき、保証レベル値がユーザに割り当てられてもよい。ユーザが第２の認証に関連付けられているかどうかの判定がなされてもよい。ユーザが第２の認証に関連付けられている場合、ユーザに割り当てられた保証レベル値はインクリメントされてもよい。ユーザによるアプリケーションへのアクセスは、ユーザに割り当てられたインクリメントされた保証レベル値が、アプリケーションに割り当てられたポリシーの第２の保証レベル値を満たすか又は上回る場合に許可されてもよい。
【０００７】
いくつかの実施形態では、ユーザに関連付けられた補足属性は、第１の認証又は第２の認証を提供するアイデンティティサービスから受信されてもよく、ポリシーの第２の保証レベル値は補足属性に基づいてもよい。
【０００８】
いくつかの実施形態では、補足属性がポリシーの条件に一致する場合に、第２の保証レベル値が、補足属性がポリシーの条件に一致しない場合よりも高くなり得るように、ポリシーの第２の保証レベル値が補足属性に基づいてもよい。
【０００９】
いくつかの実施形態では、第１の認証は第１のアイデンティティサービスに対するものであってもよく、第２の認証は第２のアイデンティティサービスに対するものであってもよく、第１のアイデンティティサービスは保証レベル値を割り当てられてもよく、第２のアイデンティティサービスは第３の保証レベル値を割り当てられてもよい。ユーザに割り当てられた保証レベル値をインクリメントすることは、第２のアイデンティティサービスに割り当てられた第３の保証レベル値に等しい量を増分としてもよい。
【００１０】
いくつかの実施形態では、第２のユーザは、第１及び第２のアイデンティティサービスと異なる第３のアイデンティティサービス及び第４のアイデンティティサービスに対して認証されてもよい。第２のユーザは、第３及び第４のアイデンティティサービスに割り当てられた保証レベル値に基づく、第４の保証レベル値を割り当てられてもよい。更に、アプリケーションへのアクセスは、第２のユーザに割り当てられた第４の保証レベル値が、アプリケーションに割り当てられたポリシーの第２の保証レベル値を満たすか又は上回る場合に許可されてもよい。
【００１１】
いくつかの実施形態では、アプリケーションにアクセスするためのユーザからの要求が特定されてもよく、第１の認証に基づきユーザに割り当てられた保証レベル値が、アプリケーションに割り当てられたポリシーの第２の保証レベル値を満たさずかつ上回らないと判定されてもよい。第２の認証は、第３の保証レベル値を割り当てられてもよい。更に、ユーザが第２の認証に関連付けられているかどうかを判定すること及びユーザに割り当てられた保証レベル値をインクリメントすることは、第１の認証に基づきユーザに割り当てられた保証レベル値が、アプリケーションに割り当てられたポリシーの第２の保証レベル値を満たさずかつ上回らないと判定したことに応じて実行されてもよい。ユーザに割り当てられた保証レベル値をインクリメントすることは、第３の保証レベル値に等しい量を増分としてもよい。
【００１２】
いくつかの実施形態では、第１の認証は一次認証であってもよく、かつ第２の認証は二次認証であってもよい。第１の認証は２要素認証の第１の段階であってもよく、かつ二次認証は同じ２要素認証の第２の段階であってもよい。
【図面の簡単な説明】
【００１３】
本開示は、以下の「発明を実施するための形態」及び本開示の様々な実施例の添付図面からより完全に理解されるであろう。
【図１】様々な実装に係る例示的なシステムアーキテクチャを示す。
【図２】本開示のいくつかの実施形態に係る、例示的なアイデンティティサービスブローカのブロック図である。
【図３】いくつかの実施形態に係る、認証シーケンシングモジュールの一実施例のブロック図である。
【図４】本開示のいくつかの実施形態に係る、保証レベルをインクリメントするための例示的な方法を示す流れ図である。
【図５】いくつかの実施形態に係る、アイデンティティサービス及び保証レベルを表示する例示的なユーザインタフェースを示す図である。
【図６】本開示のいくつかの実施形態に係る、ユーザに関連付けられた保証レベル値及び補足属性に基づき、アプリケーションにアクセスするための認可を提供するための例示的な方法を示す図である。
【図７】本明細書で説明される動作のうちの１つ以上を実行し得る例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００１４】
本明細書では、アイデンティティサービスの正規化された保証レベルに基づく認証シーケンシングのための方法及び装置が説明される。認証は、ある種類のソースの認証メカニズムを使用することによって、エンティティ又はユーザが、そのエンティティ又はユーザがそうであると主張するものであるかどうかを検証することを指してもよい。認可は、認証されたユーザのためのリソース（例えば、アプリケーション）に対するアクセス権を指定することを指してもよい。例えば、ユーザは、複数の種類又はソースの認証メカニズムを利用することによって、複数の独立したソフトウェア又はネットワークシステムに対するシングルサインオンアクセス制御メカニズムを提供する集中認証サーバ又はシステムにログインしてもよい。これらの種類又はソースの認証メカニズムはまた、アイデンティティサービスと呼ばれてもよい。この場合、集中認証サーバは、複数のアイデンティティサービスを管理し得るため、アイデンティティサービスブローカと呼ばれてもよい。
【００１５】
ユーザが一度アイデンティティサービスブローカに（例えば、ＳＳＯアクセス制御を通じて）ログインしたら、そのユーザはまた、アイデンティティサービスブローカによって管理されるアイデンティティサービスを通じて、又はそれに対して認証されてもよい。いくつかの実施形態では、アイデンティティサービスは、ある種類又は役割のアイデンティティサービスへと分類又はグループ化されてもよい。例えば、アイデンティティサービスは、限定するものではないが、一次認証サービス、二次認証サービス、及び補足属性サービスとして分類されてもよい。更に、いくつかの実施形態では、単一のアイデンティティサービスが２つの種類のサービスを提供するものとして分類されてもよい。例えば、単一のアイデンティティサービスが、一次認証サービス及び補足属性サービス、又は本明細書に含まれるサービスの任意の他の組み合わせを提供してもよい。
【００１６】
更に、アイデンティティサービスの分類のそれぞれは、保証レベル（level of assurance、ＬＯＡ）に関連付けられてもよい。いくつかの実施形態では、保証レベルは、エンティティ（例えば、ユーザ）を表すクレデンシャルがそのエンティティに属するものと信頼され得ることの確実性レベルに対応してもよい。例えば、保証レベルは、認証を求めるユーザによって提示されているクレデンシャルが、別のユーザではなく実際にそのユーザに発行されたことの確実性レベルを示してもよい。このため、保証レベルは、少なくとも１つのアイデンティティサービスに対して正常に認証されたユーザへの信頼レベルを示してもよい。
【００１７】
この場合、保証レベルは、アイデンティティサービスブローカによって管理されるアイデンティティサービスのそれぞれに割り当てられてもよい。例えば、１の値の保証レベルが第１のアイデンティティサービスに割り当てられてもよく、かつ２の保証レベル値が第２のアイデンティティサービスに割り当てられてもよい。ユーザがＳＳＯアクセス制御を通じてアイデンティティサービスブローカにログインしたときに、そのユーザは第１のアイデンティティサービス及び第２のアイデンティティサービスによって正常に認証されてもよい。アイデンティティサービスブローカは、第１のアイデンティティサービス及び第２のアイデンティティサービスに対するか又はこれらによって提供される正常な認証のための保証レベル値を含むように、ユーザに関連付けられた保証レベル値をインクリメントしてもよい。例えば、ユーザは３の保証レベル値に関連付けられてもよい。
【００１８】
いくつかの実施形態では、アイデンティティサービスブローカはまた、ソフトウェア又はネットワークアプリケーションに対するアクセス制御（例えば、認可）を提供してもよい。例えば、アイデンティティサービスブローカの管理者は、ユーザがソフトウェア又はネットワークアプリケーションにアクセスするために満たす必要がある、ソフトウェア又はネットワークアプリケーションのそれぞれに割り当てられるポリシーを指定してもよい。いくつかの実施形態では、本明細書で説明されるアイデンティティサービスブローカが各ポリシーに対する保証レベル値を割り当ててもよく、その後ポリシーがソフトウェア又はネットワークアプリケーションに割り当てられてもよい。例えば、ユーザは、そのユーザを正常に認証したアイデンティティサービスの保証レベル値が、ソフトウェア又はネットワークアプリケーションに割り当てられたポリシーの保証レベル値を満たすか又は上回る場合に、ソフトウェア又はネットワークアプリケーションのうちの１つにアクセスすることを認可されてもよい。更に、いくつかの実施形態では、ソフトウェア又はネットワークアプリケーションに割り当てられたポリシーはまた、アイデンティティサービスによっても提供される、ユーザの補足属性を定義してもよい。
【００１９】
この場合、アイデンティティサービスブローカは、ユーザに対する複数のアイデンティティサービスの認証シーケンシングを提供してもよい。例えば、認証シーケンシングは、ユーザを第１のアイデンティティサービスに対して認証すること、及びユーザをその後、第１のアイデンティティサービスにリンクされ得る第２のアイデンティティサービスに対して認証することを伴ってもよい。更に、アイデンティティサービスブローカは保証レベル値をポリシーに割り当て得るため、ポリシーへのアイデンティティサービスの個々の割り当てはもはや不要になり、その結果、アイデンティティサービスブローカ並びに対応するアイデンティティサービス及びポリシーの管理の複雑性及び時間消費が低減され得る。
【００２０】
本開示の実装は、以下で更に詳細に説明される、ユーザに関連付けられたアイデンティティサービスを特定するための認証シーケンシングモジュールを含んでもよく、このモジュールは、ユーザに関連付けられた保証レベル値をアイデンティティサービスに基づきインクリメントし、かつユーザに関連付けられたインクリメントされた保証レベル値が、ポリシーに関連付けられた保証レベル値を満たすか又は上回ったことに基づき、アプリケーションへのアクセスを認可する。以下で更に詳細に説明される、認証シーケンシングモジュールの特徴は、レシーバサブモジュール、保証レベルアサイナサブモジュール、認証判定サブモジュール、インクリメンタサブモジュール、認可サブモジュール、及び属性データサブモジュールを含んでもよい。
【００２１】
図１は、様々な実装のための例示的なシステムアーキテクチャ１００を示す。システムアーキテクチャ１００は、１つ以上のコンピューティングデバイス１１０、アイデンティティサービスブローカ１５０、並びにネットワーク１２０を介して互いに結合されたネットワークアプリケーション１３０及び１４０を含んでもよい。ネットワーク１２０は、パブリックネットワーク、プライベートネットワーク、無線ネットワーク、セルラーネットワーク、又はこれらの組み合わせであってもよい。
【００２２】
アイデンティティサービスブローカ１５０は、独立した別個のネットワーク又はソフトウェアシステムによってホスト又は提供されるアプリケーション１３０及び１４０に対する認証シーケンシング及び認可アクセスをコンピューティングデバイス１１０のクライアントに提供する中央認証サーバであってもよい。コンピューティングデバイス１１０は、デスクトップコンピュータ、ラップトップコンピュータ、又は限定するものではないが、携帯電話、携帯情報端末（personal digital assistant、ＰＤＡ）、ポータブルメディアプレーヤ、ネットブック、タブレットコンピュータ、ポータブルゲームコンソール、ポータブルテレビ、電子書籍リーダなどのポータブルコンピューティングデバイスであってもよい。図示されるように、１人以上のユーザは、アイデンティティサービスブローカ１５０による認証を行って、アプリケーション１３０及び１４０にアクセスするための認可を受信するために、コンピューティングデバイス１１０を使用してもよい。アイデンティティサービスブローカ１５０は、アプリケーション１３０及び１４０をホスト及び／又は実行し得るリモートサーバに対して、ネットワーク１２０を介した認証及び／又は認可サービスを提供するため、クラウドコンピューティングベースの認証システムと見なされてもよい。
【００２３】
アイデンティティサービスブローカ１５０は、１つ以上のアイデンティティサービス１６０、１７０、及び１８０に基づきユーザを認証してもよい。例えば、アイデンティティサービスブローカ１５０は、アイデンティティサービス１６０、１７０、及び１８０によって提供される、異なる種類又はソースの認証メカニズム又は情報を管理してもよい。認証メカニズムの実施例は、限定するものではないが、一次認証、二次認証、及び補足属性情報を含んでもよい。一次認証は、ユーザがユーザ名及びパスワード、証明書、トークンを提供すること又は他の方法に基づき、ユーザを一意かつ一義的に特定する認証を指してもよい。例えば、ユーザはユーザ名及びパスワードを入力してもよく、ユーザ名及びパスワードは、ユーザ名及びパスワードの有効な組み合わせのリポジトリを含み得る、Ａｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙ（ＡＤ）などの認証メカニズムに対して照合されてもよい。いくつかの実施形態では、二次認証は、一次認証に加えて提供される必要がある認証メカニズムを指してもよい。例えば、一次認証はユーザ名及びパスワードに対応してもよく、二次認証はセキュリティトークン、公開鍵基盤（Public Key Infrastructure、ＰＫＩ）証明書などのデジタル証明書に対応してもよい。ユーザが正常に認証されるには２つの異なる認証メカニズム又は情報が必要とされるため、一次認証及び二次認証の組み合わせは２要素又は多要素認証と呼ばれてもよい。更に、補足属性情報は、認証されるユーザのユーザ属性を指してもよい。いくつかの実施形態では、ユーザのユーザ属性は、別個の認証ソース（すなわち、アイデンティティサービス）内に記憶されてもよく、又は一次認証若しくは二次認証を提供するアイデンティティサービスに関連付けられるか若しくはそこに含まれてもよい。
【００２４】
図１に示すように、アイデンティティサービスブローカ１５０は、アイデンティティサービス１６０、１７０、及び１８０を管理してもよい。アイデンティティサービス１６０、１７０、及び１８０のそれぞれは、異なる認証メカニズム又は情報を提供してもよい。例えば、アイデンティティサービス１６０は、ユーザ名及びパスワードに基づき一次認証を提供する、Ａｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙ又はＳｅｃｕｒｉｔｙ  Ａｓｓｅｒｔｉｏｎ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＳＡＭＬ）ソースであってもよい。いくつかの実施形態では、一次認証は、アイデンティティサービスブローカ１５０に対するシングルサインオンアクセス制御に対応してもよい。同じ又は代替の実施形態では、一次認証はまた、ユーザによる最初のログインに応じてユーザに提供されるチケット（例えば、Ｋｅｒｂｅｒｏｓベースのチケット）に基づいてもよい。更に、アイデンティティサービス１７０は、ＰＫＩ証明書、トークン、又は任意の他のそのような情報に基づく二次認証メカニズムを提供してもよい。アイデンティティサービス１８０は、ユーザに対応する補足属性を提供してもよい。いくつかの実施形態では、アイデンティティサービス１６０及び１７０はまた、ユーザに対応する補足属性を提供してもよい。
【００２５】
アイデンティティサービスブローカ１５０は、アプリケーション１３０及び１４０に関連付けられたポリシーに関連付けられてもよく、かつ／又はそれらを記憶してもよい。いくつかの実施形態では、ポリシーは保証レベル値を含んでもよく、かつアプリケーション１３０及び１４０に割り当てられてもよい。例えば、「２」の保証レベル値を含む第１のポリシーはアプリケーション１３０に割り当てられてもよく、かつ「３」の保証レベル値を含む第２のポリシーはアプリケーション１４０に割り当てられてもよい。コンピューティングデバイス１１０のユーザがアイデンティティサービスブローカ１５０によってアイデンティティサービス１６０、１７０、及び１８０に対して認証されると、アイデンティティサービス１６０、１７０、及び１８０のうちのいずれに対してユーザが正常に認証されたかに基づき、ユーザに対する保証レベル値が計算されてもよい。例えば、コンピューティングシステム１１０のユーザに割り当てられた保証レベル値が「３」である場合、ユーザはアプリケーション１３０及びアプリケーション１４０の両方にアクセスしてもよい。アイデンティティサービスブローカ１５０は、ポリシーを定義し、ポリシーをアプリケーションに割り当て、かつシングルサインオンアクセス制御を提供するための機能、並びに、アイデンティティサービス１６０、１７０、及び１８０にまたがって正規化された保証レベルに基づき、認証シーケンシングを提供するための認証シーケンシングモジュールを含んでもよい。アイデンティティサービスブローカ１５０及び認証シーケンシングモジュールに関する更なる詳細が、以下で更に詳細に開示される。
【００２６】
図２は、いくつかの実施形態に係る、アイデンティティサービスブローカ２００のブロック図である。概して、アイデンティティサービスブローカ２００は、図１に示すようなアイデンティティサービスブローカ１５０に対応してもよい。アイデンティティサービスブローカ２００は、シングルサインオン（ＳＳＯ）モジュール２１０、認証シーケンシングモジュール２２０、ポリシーモジュール２３０、認可モジュール２４０、及びコンテキストサービスモジュール２５０を含んでもよい。代替の実施形態では、モジュールのうちの１つ以上の機能が組み合わされるか又は分割されてもよい。
【００２７】
図２に示すように、アイデンティティサービスブローカ２００はシングルサインオンモジュール２１０を含んでもよい。いくつかの実施形態では、シングルサインオンモジュール２１０は、複数のネットワーク又はシステムに対するユーザのアクセス制御を提供してもよい。例えば、ユーザは、ユーザ名及びパスワードをシングルサインオンモジュール２１０に提供し、かつユーザ名及びパスワードを、Ａｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙ（ＡＤ）、ＳＡＭＬソースなどからの有効なユーザ名及びパスワードの組み合わせと照合することに基づき認証されてもよく、又はＫｅｒｂｅｒｏｓチケットを提供してもよい。いくつかの実施形態では、シングルサインオンの結果が一次認証であってもよい。更に、アイデンティティサービスブローカ２００はポリシーモジュール２３０を含んでもよい。いくつかの実施形態では、ポリシーモジュール２３０は、保証レベル値を定義するか又はポリシーに割り当てるため、かつポリシーを１つ以上のアプリケーションに割り当てるために使用されてもよい。例えば、「３」の保証レベル値を要求するポリシーがアプリケーションに割り当てられてもよく、かつ「２」の保証レベル値を要求する別のポリシーが別のアプリケーションに割り当てられてもよい。この場合、ポリシーは、ユーザがアプリケーションに対して認可かつ／又は認証されるために満たす必要がある、ユーザに関連付けられた条件のセット（例えば、保証レベル及び／又は属性）であってもよい。更に、いくつかの実施形態では、ポリシーはまた、ユーザの必須の補足属性又はセッションコンテキスト属性を定義してもよく、かつ必要な保証レベル値を、以下で図６を参照して更に詳細に開示されるように、ユーザの補足属性に基づき変更してもよい。アイデンティティサービスブローカ２００は、認可モジュール２４０を含んでもよい。いくつかの実施形態では、認可モジュール２４０は、ユーザがアプリケーションに割り当てられたポリシーを満たしたことに基づき、１つ以上のアプリケーションへのアクセスを許可又は認可してもよい。
【００２８】
アイデンティティサービスブローカ２００は、認証シーケンシングモジュール２２０を含んでもよい。いくつかの実施形態では、認証シーケンシングモジュール２２０は、アイデンティティサービスブローカ２００にアクセスしたユーザのための保証レベル値を計算又は生成してもよい。例えば、認証シーケンシングモジュール２２０は、ユーザが正常に認証された対象（例えば、二次及び／又は一次認証）であるか又はユーザが関連付けられている（例えば、補足属性のソース）、認証情報の種類及び／又はソース（例えば、アイデンティティサービス）に基づき、ユーザに割り当てられた保証レベル値をインクリメントしてもよい。認証シーケンシングモジュール２２０に関する更なる詳細が、図３を参照して更に詳細に開示される。
【００２９】
図２に示すように、アイデンティティサービスブローカ２００はコンテキストサービスモジュール２５０を更に含んでもよい。いくつかの実施形態では、コンテキストサービスモジュール２５０は、認証されたユーザのコンテキストにアクセスしてもよい。同じ又は代替の実施形態では、コンテキストは、限定するものではないが、ユーザの特性及び属性並びにユーザに割り当てられた現在の保証レベル値を含んでもよい。更に、いくつかの実施形態では、コンテキストサービスモジュール２５０は、ユーザがアイデンティティサービスブローカ２００のＳＳＯにログインした時点のユーザセッションに関連付けられた情報を含むセッションコンテキスト情報にアクセスするか又はこれを生成してもよい。セッションコンテキスト情報は、アイデンティティサービスブローカにログインしたユーザのユーザ名、ユーザが認証された対象であるアイデンティティサービス（単数又は複数）の認証の種類、ユーザに関連付けられた保証レベル、ユーザセッションの日時、ユーザによって使用されたデバイスの種類、デバイスの評価、デバイスのインターネットプロトコル（Internet Protocol、ＩＰ）アドレスなどを含んでもよい。
【００３０】
この場合、アイデンティティサービスブローカ２００は、クラウドベースのシステム、並びに／又は、アプリケーション若しくはサービスを提供する他の独立したネットワーク及びシステムのための、シングルサインオンアクセス制御を提供してもよい。アイデンティティサービスブローカ２００は、ポリシーのための保証レベル値及び補足属性を指定し、かつポリシーをアプリケーション又はサービスに割り当てるために、使用されてもよい。更に、ユーザは、ユーザに関連付けられたアイデンティティサービスに基づく保証レベル値を割り当てられてもよい。アイデンティティサービスブローカ２００は、ユーザの補足属性及び保証レベル値がポリシーの条件を満たす場合に、ユーザがアプリケーションにアクセスすることを認可してもよい。
【００３１】
図３は、いくつかの実施形態に係る、認証シーケンシングモジュール３００のブロック図である。概して、認証シーケンシングモジュール３００は、図１及び２に示すようなアイデンティティサービスブローカ１５０又は２００内の認証シーケンシングモジュール３２０に対応してもよい。認証シーケンシングモジュール３００は、レシーバサブモジュール３１０、保証レベルアサイナサブモジュール３２０、認証判定サブモジュール３３０、インクリメンタサブモジュール３４０、認可サブモジュール３５０、及び属性サブモジュール３６０を含んでもよい。代替の実施形態では、サブモジュールのうちの１つ以上の機能が組み合わされるか又は分割されてもよい。
【００３２】
図３に示すように、認証シーケンシングモジュール３００はレシーバサブモジュール３１０を含んでもよい。いくつかの実施形態では、レシーバサブモジュール３１０は、ユーザの第１の認証の指示を受信してもよい。例えば、レシーバサブモジュール３１０は、ユーザが一次認証メカニズム又はソースを提供するアイデンティティサービスによって正常に検証されたことを受信してもよい。いくつかの実施形態では、レシーバサブモジュール３１０は、ユーザが、検証されたユーザ名及びパスワード又は他のそのような一次認証情報をアイデンティティサービスブローカのシングルサインオンアクセス制御サービスに提供したことの特定を受信してもよい。認証シーケンシングモジュール３００は、保証レベル（ＬＯＡ）アサイナサブモジュール３２０を更に含んでもよい。いくつかの実施形態では、保証レベルアサイナサブモジュール３２０は、第１のアイデンティティサービスに対して正常に認証されたユーザに保証レベル値を割り当ててもよい。例えば、保証レベルアサイナサブモジュール３２０は、一次認証を提供するアイデンティティサービスに対するユーザの第１の認証の指示をレシーバサブモジュール３１０が受信した、その対象であるユーザに、保証レベル値を割り当ててもよい。例えば、ユーザは、第１のアイデンティティサービスにも割り当てられた保証レベル値を割り当てられてもよい。
【００３３】
いくつかの実施形態では、保証レベルは、ユーザを表す電子クレデンシャルが実際にそのユーザに属するものと信頼され得ることを、ある程度の確実性レベルで判定する能力を指してもよい。このため、保証レベルは、ユーザのアイデンティティ保証の一種と呼ばれてもよい。例えば、ユーザは、高い保証レベル値が、比較して低い保証レベル値よりも大きい信頼を表すように、アイデンティティサービスの認証に基づき保証レベル値を割り当てられてもよい。
【００３４】
図３に戻ると、認証シーケンスモジュール３００は認証判定サブモジュール３３０を含んでもよい。いくつかの実施形態では、認証判定サブモジュール３３０は、ユーザが追加のアイデンティティサービスに対して正常に認証されたかどうかを判定してもよい。例えば、認証判定サブモジュール３３０は、第１のアイデンティティサービス（例えば、一次認証）に対して正常に認証されたユーザが、第２のアイデンティティサービス（例えば、二次認証）に対しても正常に認証されたかどうかを判定してもよい。更に、インクリメンタサブモジュール３４０は、ユーザが第２のアイデンティティサービスに対して認証されたことに基づき、保証レベルアサイナサブモジュール３２０によってユーザに割り当てられた保証レベル値をインクリメントするか又は増加させてもよい。いくつかの実施形態では、インクリメンタサブモジュール３４０は、ユーザに関連付けられた任意の他の追加のアイデンティティサービス又は認証メカニズム若しくはソースに基づき、ユーザに割り当てられた保証レベル値をインクリメントするか又は増加させてもよい。例えば、追加のアイデンティティサービスが保証レベル値を割り当てられてもよく、かつユーザに割り当てられた保証レベル値が、追加のアイデンティティサービスに割り当てられた保証レベル値の分だけ増加されてもよい。
【００３５】
いくつかの実施形態では、認証シーケンシングモジュール３００は属性サブモジュール３６０を含んでもよい。属性サブモジュール３６０は永続的な記憶装置であってもよい。いくつかの実施形態では、永続的な記憶装置はローカル記憶装置又はリモート記憶装置であってもよい。永続的な記憶装置は、磁気記憶装置、光記憶装置、ソリッドステート記憶装置、電子記憶装置（メインメモリ）、又は同様の記憶装置であってもよい。永続的な記憶装置は、モノリシック装置であるか、分散セットの装置であってもよい。本明細書で使用するとき、「セット」は、任意の正の整数のアイテムを指す。いくつかの実施形態では、属性サブモジュール３６０は、ユーザに関連付けられた補足属性を記憶及び／又は特定してもよい。補足属性は、一次認証若しくは二次認証も提供するか又はいかなる認証も提供し得ない、別のアイデンティティサービス内に記憶されてもよい。
【００３６】
認証シーケンスモジュール３００は、認可サブモジュール３５０を更に含んでもよい。いくつかの実施形態では、認可サブモジュール３５０は、ユーザに割り当てられた保証レベルに基づき、ユーザが１つ以上のアプリケーションにアクセスすることを認可してもよい。いくつかの実施形態では、認可サブモジュール３５０は、ユーザに割り当てられた保証レベル値を認可モジュール２４０に送信してもよい。
【００３７】
この場合、認証シーケンスモジュール３００は、ユーザが一次認証サービス（例えば、第１のアイデンティティサービス）に対して認証されたことに基づき、保証レベル値をユーザに割り当ててもよい。ユーザは一次認証サービスから保証レベル値を割り当てられてもよい。いくつかの実施形態では、ユーザはまた、二次認証サービスにリンクされてもよい。例えば、ユーザによって使用される一次認証サービスは、二次認証サービスにリンクされてもよい。ユーザが二次認証サービス（例えば、第２のアイデンティティサービス）とリンクされ、かつそれに対して正常に認証された場合、認証シーケンスモジュール３００は、ユーザに割り当てられた保証レベル値をインクリメントするか又は増加させてもよい。例えば、ユーザに割り当てられた保証レベル値は、第２のアイデンティティサービスに割り当てられた保証レベル値の分だけ増加されてもよい。更に、認証シーケンスモジュール３００は、一次及び／又は二次認証サービスと共に記憶されるか若しくはこれらに関連付けられ得るユーザの補足属性を、ユーザの補足属性の別個のリンクされたソースとして取得及び記憶してもよい。
【００３８】
図４は、保証レベルをインクリメントするための例示的な方法４００を示す流れ図である。方法４００は、ハードウェア（例えば、処理デバイス、回路、専用ロジック、プログラマブルロジック、マイクロコードなど）、ソフトウェア（例えば、処理デバイス上で実行される命令）、又はこれらの組み合わせを含み得る処理ロジックによって実行されてもよい。いくつかの実施形態では、方法４００は、アイデンティティサービスブローカ１５０又は２００内にある、図２及び３の認証シーケンスモジュール２２０又は３００によって実行されてもよい。
【００３９】
図４に示すように、方法４００は、ユーザの第１の認証を特定する処理ロジックによって開始されてもよい（ブロック４１０）。例えば、処理ロジックは、ユーザがアイデンティティサービスブローカのシングルサインオンアクセス制御にアクセスしたことを特定してもよい。いくつかの実施形態では、そのような第１の認証は、第１のアイデンティティサービスによって提供される一次認証と呼ばれてもよい。処理ロジックは、第１の認証に基づき、保証レベル値をユーザに更に割り当ててもよい（ブロック４２０）。例えば、処理ロジックは、一次認証の種類、又はユーザが正常に認証された対象である一次認証を提供する特定のアイデンティティサービスに基づき、保証レベル値をユーザに割り当ててもよい。いくつかの実施形態では、処理ロジックは、そのようなアイデンティティサービスの保証レベル値をユーザの保証レベル値として割り当ててもよい。
【００４０】
処理ロジックは、ユーザが追加の認証に関連付けられているかどうかを更に判定してもよい（ブロック４３０）。例えば、処理ロジックは、ユーザが二次認証に関連付けられているかどうかを判定してもよい。いくつかの実施形態では、二次認証は２要素認証の一部であってもよい。この場合、二次認証は、ユーザの第１の認証と異なる別の認証を提供する別個の認証サービス又は別個のアイデンティティサービスであってもよい。いくつかの実施形態では、追加の認証の判定は、ステップアップ認証と呼ばれてもよい。判定は、一次認証サービス又は第１のアイデンティティサービスからユーザに割り当てられた現在の保証レベル値を上回る保証レベル値を有するポリシーに関連付けられたアプリケーションにユーザがアクセスすることを試みたことに応じてなされてもよい。例えば、ユーザは、２の保証レベル値を割り当てられた第１のアイデンティティサービスに対する一次認証に関連付けられてもよい。ユーザはまた、２の保証レベル値を割り当てられてもよい。ユーザは、３の保証レベル値を有するポリシーが割り当てられたアプリケーションにアクセスすることを試みてもよい。第１のアイデンティティサービスから割り当てられたユーザの現在の保証レベル値は、アプリケーションに割り当てられたポリシーの保証レベル値を下回るため、ユーザが第２のアイデンティティサービスに対する二次認証に関連付けられているかどうかに関する判定がなされてもよい。
【００４１】
図４に戻ると、ユーザが追加の認証に関連付けられていない（例えば、ユーザが第２のアイデンティティサービスによって提供される二次認証に関連付けられていない）場合、処理ロジックは、ユーザに割り当てられた保証レベル値をインクリメントしなくてもよい（ブロック４４０）。ただし、ユーザが追加の認証に関連付けられている（例えば、ユーザが第２のアイデンティティサービスによって提供される二次認証に関連付けられている）場合、処理ロジックは、追加の認証に基づき、ユーザに（例えば、第１のアイデンティティサービスから）割り当てられた保証レベル値をインクリメントしてもよい（ブロック４５０）。例えば、処理ロジックは、二次認証を提供する第２のアイデンティティサービスに割り当てられた保証レベル値に基づく量だけ、ユーザに割り当てられた保証レベル値をインクリメントしてもよい。この場合、保証レベル値をインクリメントすることは、二次認証を提供するアイデンティティサービスに基づき変化してもよい。例えば、ユーザが第１の二次認証を提供する第２のアイデンティティサービスに関連付けられており、かつ第２のアイデンティティサービスが２の保証レベル値を割り当てられている場合、処理ロジックは、ユーザに割り当てられた保証レベル値を２の値だけインクリメントしてもよい。ただし、ユーザが第２のアイデンティティサービスに関連付けられておらず、その代わりに、別の二次認証を提供し、１の保証レベル値を割り当てられた、別のアイデンティティサービスに関連付けられている場合、処理ロジックは、ユーザに割り当てられた保証レベル値を１の値だけインクリメントしてもよい。
【００４２】
図４に戻ると、処理ロジックは、ユーザに関連付けられた保証レベル値に基づき、アプリケーションへのアクセスを更に認可してもよい（ブロック４６０）。例えば、ユーザがいかなる追加の認証にも関連付けられなかった場合、ユーザは、第１の認証に基づきユーザに割り当てられた保証レベル値に基づき、アプリケーションにアクセスすることを認可されてもよい。ただし、ユーザが追加の認証に関連付けられている場合、ユーザは、インクリメントされた保証レベル値（例えば、第２のアイデンティティサービスの第２の認証の保証レベル値に加算された、第１のアイデンティティサービスの第１の認証の保証レベル値）に基づき、アプリケーションにアクセスすることを認可されてもよい。
【００４３】
図５は、アイデンティティサービス及び保証レベルを表示する例示的なユーザインタフェース５００の図である。概して、ユーザインタフェース５００は、アイデンティティサービスブローカによって管理される様々なアイデンティティサービス、及びそれらのアイデンティティサービスのための対応する保証レベル値を示してもよい。ユーザインタフェース５００は、図１及び２のアイデンティティサービスブローカ１５０又は２００によって管理されるアイデンティティサービス１６０、１７０、及び１８０の概観を提供してもよい。
【００４４】
図５に示すように、ユーザインタフェース５００は、複数の種類のアイデンティティサービスを表示してもよい。例えば、アイデンティティサービスは、自動化された一次認証、一次認証、二次認証、及び補足属性に基づき編成されてもよい。いくつかの実施形態では、自動化された一次認証は、限定するものではないが、統合Ｗｉｎｄｏｗｓ認証（ＷＡ）アイデンティティサービス、公開鍵基盤（ＰＫＩ）アイデンティティサービス、Ｋｅｒｂｅｒｏｓアイデンティティサービスなどを含んでもよい。自動化された一次認証は、ユーザが認証されてトークンを受け取ることができ、かつユーザがポータル（例えば、アイデンティティサービスブローカのシグナルサインオンアクセス制御）にナビゲートされたときにユーザの介入なしでポータルにトークンが送信され得る、認証メカニズムを指してもよい。この場合、自動化された一次認証では、ユーザ名若しくはパスワード又はいかなる他の認証情報も、ユーザによって手動で入力されなくてもよい。更に、自動化されていない一次認証を提供するアイデンティティサービスは、限定するものではないが、Ａｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙ、サードパーティウェブサイトのクレデンシャル（例えば、別のネットワークのユーザ名及びパスワード）、ライトウェイトディレクトリアクセスプロトコル（ＬＤＡＰ）、Ｓｅｃｕｒｉｔｙ  Ａｓｓｅｒｔｉｏｎ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＳＡＭＬ）、ＰＫＩ証明書などに基づいてもよい。いくつかの実施形態では、二次認証を提供するアイデンティティサービスはまた、前に説明された種類のアイデンティティサービスのうちの任意のものを含んでもよい。更に、ユーザインタフェース５００は、補足属性のソースを表示してもよい。いくつかの実施形態では、補足属性は、ユーザがアイデンティティサービスに対して認証されたことに応じて受信されるユーザ情報又はデータであってもよい。例えば、補足属性はユーザプロファイル情報を含んでもよい。いくつかの実施形態では、補足属性は別個のアイデンティティサービスであってもよく、又は一次認証若しくは二次認証を提供する別のアイデンティティサービス内に含まれてもよい。
【００４５】
図５に戻ると、ユーザインタフェース５００はまた、様々なアイデンティティサービスに関連付けられた保証レベル値を表示してもよい。例えば、図示されるように、「ＩＷＡ」及び「ＰＫＩ」に基づく自動化された一次認証アイデンティティサービスは、それぞれ２の保証レベル値に関連付けられてもよい。すなわち、ユーザがいずれかのそのようなアイデンティティサービスに対して認証された場合、ユーザは最初に２の保証レベル値を割り当てられる。更に、Ａｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙに基づく自動化されていない一次認証アイデンティティサービス、サードパーティウェブサイトのクレデンシャル、及びＬＤＡＰは、それぞれ１の保証レベル値に関連付けられる。代替の実施形態では、一次認証を提供する異なるアイデンティティサービスに関連付けられた保証レベル値は、異なる保証レベル値に関連付けられてもよい。図示されるように、ユーザインタフェース５００はまた、二次認証を提供するアイデンティティサービスに関連付けられた、インクリメントされた保証レベル値を表示してもよい。例えば、「ＶＩＰ」認証に基づくアイデンティティサービスは、インクリメントされた２の保証レベル値に関連付けられてもよく、かつ「ＲＳＡ」認証に基づくアイデンティティサービスは、インクリメントされた１の保証レベル値に関連付けられてもよい。
【００４６】
一実施例として、ユーザはＩＷＡに基づくアイデンティティサービスに対して正常に認証され、それゆえに２の保証レベル値を割り当てられてもよい。いくつかの実施形態では、ユーザはまた、二次認証を提供するアイデンティティサービスにリンクされてもよい。例えば、ＩＷＡに基づくアイデンティティサービスもまた、二次認証にリンクされてもよい。一実施例として、ユーザが「ＶＩＰ」に基づくアイデンティティサービスに対しても正常に認証された場合、ユーザに割り当てられた保証レベル値は、４の保証レベル値がユーザに割り当てられるように、２の値だけインクリメントされてもよい。
【００４７】
いくつかの実施形態では、補足属性のみを提供するアイデンティティサービスは、ユーザに割り当てられた保証レベル値を増加させずかつインクリメントしなくてもよい。ただし、代替の実施形態では、ユーザの補足属性のみを提供するそのようなアイデンティティサービスは、結果として、ユーザに割り当てられた保証レベル値をインクリメントしてもよい。
【００４８】
したがって、本開示は、アイデンティティサービスの種類の正規化、及び異なるアイデンティティサービスに対する保証レベル値の正規化を可能にし得る。そのような正規化は、アイデンティティサービスブローカによってなされる、認証及び認可ポリシーに関する判断を容易にし得る。一実施例として、第１のユーザはアイデンティティサービスブローカにログイン（例えば、ＳＳＯを通じて）してもよく、アイデンティティサービスブローカの認証ハンドラは、ユーザに適用可能であるか又はユーザが使用可能なアイデンティティサービスを判定してもよい。いくつかの実施形態では、第１のアイデンティティサービスに対する一次認証は、一次認証を提供する、ユーザが使用可能なアイデンティティサービスから選択されてもよい。第１のアイデンティティサービスは、複数の二次アイデンティティサービスの中からの第２のアイデンティティサービスに更にリンクされてもよい。例えば、第１のアイデンティティサービスは一次認証として正規化されるか又は割り当てられてもよく、かつ第２のアイデンティティサービスは二次認証として正規化されるか又は割り当てられてもよい。第１のアイデンティティサービス及び第２のアイデンティティサービスは、異なる種類又はメカニズムの認証を提供してもよい。例えば、第１のアイデンティティサービスはユーザ名及びパスワード（又は他のそのような一次認証情報）に基づく認証メカニズムを提供してもよく、第２のアイデンティティサービスは証明書、トークン、ワンタイムパスワードなどに基づく認証メカニズムを提供してもよい。いくつかの実施形態では、ユーザは第１のアイデンティティサービスに対応する第１の保証レベル値を割り当てられてもよい。ユーザは、ポリシーの保証レベル値を有するポリシーが割り当てられたアプリケーションにアクセスすることを試みてもよい。第１のアイデンティティサービスからユーザに割り当てられた第１の保証レベル値がポリシーの保証レベル値を満たさずかつ上回らない場合、ユーザの現在の保証レベル値がポリシーの保証レベル値を満たさずかつ上回らないことに応じて、ステップアップ認証が実行されてもよい。例えば、ユーザの二次認証が実行されてもよい。この場合、ユーザが使用可能な、使用可能な二次認証として、第２のアイデンティティサービスが特定されてもよい。ユーザは第２のアイデンティティサービスによって提供される二次認証によって認証されてもよい。いくつかの実施形態では、第２のアイデンティティサービスは第２の保証レベル値を割り当てられてもよい。更に、ユーザに割り当てられた保証レベル値はその後、第２の保証レベル値に等しい量だけインクリメントされてもよい。次に、ユーザは、ユーザのインクリメントされた保証レベル値がポリシーの保証レベル値を満たすか又は上回る場合に、アプリケーションにアクセスすることを許可されてもよい。
【００４９】
説明したように、本明細書内の開示は、アイデンティティサービスの種類の正規化、及び異なるアイデンティティサービスの種類に対する保証レベル値の正規化を可能にする。例えば、第２のユーザがアイデンティティサービスブローカにログインしてもよく、第３のアイデンティティサービスが複数のそのようなアイデンティティサービスの中から使用可能な一次認証として選択されてもよく、かつ第４のアイデンティティサービスが、第２のユーザのための二次認証を提供する複数のそのようなアイデンティティサービスの中から使用可能な二次認証として選択されてもよい。第２のユーザは、第３のアイデンティティサービスの一次認証に対して認証され、かつ第３のアイデンティティサービスに割り当てられた保証レベル値を割り当てられてもよい。更に、第２のユーザは、ポリシーの保証レベル値を割り当てられた同じ又は別のアプリケーションにアクセスすることを試みてもよい。第３のアイデンティティサービスからの、第２のユーザの現在割り当てられている保証レベル値がポリシーの保証レベル値を満たすか又は上回る場合、第２のユーザはアプリケーションにアクセスしてもよい。ただし、第２のユーザの現在の保証レベル値がポリシーの保証レベル値を満たさずかつ上回らない場合、第２のユーザが使用可能な、使用可能な二次認証が選択されてもよい。例えば、第２のユーザは、第４のアイデンティティサービスによって提供される二次認証に対して認証されてもよい。正常に認証された場合、第２のユーザに割り当てられた保証レベル値が、第４のアイデンティティサービスに割り当てられた保証レベル値に基づきインクリメントされてもよい。その後、第３及び第４のアイデンティティサービスからの、第２のユーザの現在インクリメントされている保証レベル値がポリシーの保証レベル値を満たすか又は上回る場合、第２のユーザはアプリケーションにアクセスしてもよい。
【００５０】
この場合、保証レベル値は、任意の種類の認証メカニズムを提供する任意の種類のアイデンティティサービスに割り当てられてもよい。更に、アイデンティティサービスは、説明されたような一次若しくは二次認証及び／又は補足属性アイデンティティサービスなどの種類のアイデンティティサービスに従って正規化されてもよい。その後、ステップアップ認証のためのシーケンシングが、正規化されたアイデンティティサービスに基づき提供されてもよい。
【００５１】
図６は、ユーザに関連付けられた保証レベル値及び補足属性に基づき、アプリケーションにアクセスするための認可を提供するための例示的な方法６００である。方法６００は、ハードウェア（例えば、処理デバイス、回路、専用ロジック、プログラマブルロジック、マイクロコードなど）、ソフトウェア（例えば、処理デバイス上で実行される命令）、又はこれらの組み合わせを含み得る処理ロジックによって実行されてもよい。いくつかの実施形態では、方法６００は、図２及び３の認証シーケンスモジュール２２０若しくは３００又はアイデンティティサービスブローカの別の構成要素若しくはモジュールによって実行されてもよい。
【００５２】
図６に示すように、方法６００は、保証レベル値及び補足属性に基づきポリシーを定義する処理ロジックによって開始されてもよい（ブロック６１０）。例えば、処理ロジックは、１つ以上の保証レベル値及び／又は補足属性に基づく条件を含めるためのポリシーを生成してもよい。例えば、ポリシーは、補足属性が第１の条件に一致する場合に第１の保証レベル値を指定してもよく、並びにポリシーは、補足属性が第１の条件に一致せずかつ／又は第２の条件に一致する場合に第２の保証レベル値を更に指定してもよい。処理ロジックは、ポリシーをアプリケーションに更に割り当ててもよい（ブロック６２０）。いくつかの実施形態では、単一のポリシーが複数のアプリケーションに割り当てられてもよい。更に、処理ロジックはユーザの認証を特定してもよい（ブロック６３０）。例えば、処理ロジックは、一次認証を提供するアイデンティティサービスに対してユーザが認証されたことを特定してもよく、かつ処理ロジックは、二次認証を提供するアイデンティティサービスなどの任意の追加のアイデンティティサービスに対してユーザが認証されたかどうかを更に特定してもよい。ユーザの認証を特定したことに応じて、処理ロジックは、ユーザ認証に基づき保証レベル値をユーザに割り当ててもよく、かつ更にユーザの補足属性を受信してもよい（ブロック６４０）。例えば、ユーザは一次認証に基づき保証レベル値を割り当てられてもよく、かつ保証レベル値はその後、ユーザが二次認証に対しても認証された場合にインクリメントされてもよい。
【００５３】
図６に戻ると、処理ロジックは、ユーザの補足属性がポリシーの条件を満たすかどうかの判定をしてもよい（ブロック６５０）。例えば、ポリシーは１つ以上の補足属性の１つ以上の条件を定義してもよい。ユーザの補足属性がポリシーの条件を満たさない場合、ユーザは、より高い保証レベル値に基づき、ポリシーが割り当てられたアプリケーションにアクセスすることを認可されてもよい（ブロック６６０）。ただし、ユーザの補足属性がポリシーの条件を満たす場合、ユーザは、比較して低い保証レベル値に基づき、ポリシーが割り当てられたポリシーにアクセスすることを認可されてもよい（ブロック６７０）。
【００５４】
一実施例として、ユーザに関連付けられた補足属性は、ユーザの場所を含んでもよい。ポリシーは、ユーザの場所の補足属性に基づき、ユーザの異なる必要な保証レベル値を割り当ててもよい。例えば、ポリシーは、「米国カリフォルニア州マウンテンビュー」という場所の補足属性を有するユーザが対応するアプリケーションにアクセスするために、２の保証レベル値に関連付けられている必要があることを定義してもよく、かつポリシーは、「米国カリフォルニア州マウンテンビュー」に一致しない場所の補足属性を有するユーザが対応するアプリケーションにアクセスするために、３の保証レベル値に関連付けられている必要があることを更に定義してもよい。すなわち、必要な保証レベル値は、ユーザの１つ以上の補足属性に基づき変化してもよい。
【００５５】
図７は、本明細書に記載の方法のうちの任意の１つ以上をマシンに実行させるための命令セットが実行され得る、コンピュータシステム７００の例示的な機械を示す。代替の実装では、マシンは、ＬＡＮ、イントラネット、エクストラネット、及び／又はインターネット内の他のマシンに接続されても（例えば、ネットワーク化されても）よい。マシンは、クライアントサーバネットワーク環境内のサーバ若しくはクライアントマシンの容量内で、ピアツーピア（つまり、分散）ネットワーク環境内のピアマシンとして、又はクラウドコンピューティングインフラストラクチャ若しくは環境内のサーバ若しくはクライアントマシンとして動作してもよい。
【００５６】
マシンは、パーソナルコンピュータ（ＰＣ）、タブレットＰＣ、セットトップボックス（ＳＴＢ）、携帯情報端末（ＰＤＡ）、携帯電話、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチ若しくはブリッジ、又はそのマシンが取るべき動作を指定する（逐次的又は非逐次的）命令セットを実行できる任意のマシンであってよい。更に、単一のマシンが図示されているが、用語「マシン」は、個別に、又は連携して１つの命令セット（又は複数の命令セット）を実行して、本明細書に記載の方法のうちの任意の１つ以上を実行する、任意のマシン群を含むとも見なされるべきである。
【００５７】
例示的なコンピュータシステム７００は、処理デバイス７０２、メインメモリ７０４（例えば、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、同期ＤＲＡＭ（ＳＤＲＡＭ）又はＤＲＡＭ（ＲＤＲＡＭ）等のダイナミックランダムアクセスメモリ（ＤＲＡＭ）等）、静的メモリ７０６（例えば、フラッシュメモリ、静的ランダムアクセスメモリ（ＳＲＡＭ）等）、及びデータ記憶デバイス７１８を含み、それらはバス７３０を介して互いに通信する。
【００５８】
処理装置７０２は、マイクロプロセッサ、中央演算処理装置など１つ以上の汎用処理装置を示す。より具体的には、処理装置は、複合命令セットコンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピューティング（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、又は他の命令セットを実行するプロセッサ、若しくは命令セットの組み合わせを実行するプロセッサであってよい。処理装置１２０２はまた、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサなど１つ以上の専用処理装置であってよい。処理装置７０２は、本明細書に記載の操作及び工程を実行するために命令７２２を実行するように構成される。
【００５９】
コンピュータシステム７００は、ネットワークインターフェース機器７０８を更に含んでよい。コンピュータシステム７００はまた、ビデオディスプレイユニット７１０（例えば、液晶ディスプレイ（ＬＣＤ）又は陰極線管（ＣＲＴ））、英数字入力装置７１２（例えば、キーボード）、カーソル制御装置７１４（例えば、マウス）、及び信号生成装置７１６（例えば、スピーカ）を含んでよい。
【００６０】
データ記憶デバイス７１８は、本明細書に記載の方法論若しくは機能のうちの任意の１つ以上を具現化する１つ以上の命令セット又はソフトウェア７２２をそこに記憶したマシン可読記憶媒体７２８（コンピュータ可読媒体としても知られる）を含んでもよい。命令７２２はまた、コンピュータシステム７００によるその実行の間、メインメモリ７０４内及び／又は処理デバイス７０２内に完全に又は少なくとも部分的に属し、メインメモリ７０４及び処理デバイス７０２もまた、マシン可読記憶媒体を構成してもよい。
【００６１】
一実装では、命令７２２は、認証シーケンスモジュール（例えば、図２の認証シーケンスモジュール２２０又は図３の認証シーケンスモジュール３００）に対する命令、及び／又は認証シーケンスモジュール内のモジュール若しくはサブモジュールを呼び出すメソッドを含むソフトウェアライブラリを含む。マシン可読記憶媒体７２８は、例示的な実装において単一の媒体であるように示されるが、「マシン可読記憶媒体」という用語は、１つ以上の命令セットを記憶する単一の媒体又は複数の媒体（例えば、集中型又は分散型データベース、及び／若しくは関連するキャッシュ及びサーバ）を含むように取られるものとする。「マシン可読記憶媒体」という用語は、マシンによる実行のための、かつ、マシンに本開示の方法論のうちの任意の１つ以上を実行させる、１つの命令セットを記憶するか、又はコードすることができる、任意の媒体を含むようにも取られるものとする。したがって、「マシン可読記憶媒体」という用語は、限定するものではないが、ソリッドステートメモリ、光媒体、及び磁気媒体を含むように取られるものとする。
【００６２】
前述の「発明を実施するための形態」の一部は、コンピュータメモリ内のデータビットに関する動作のアルゴリズム及び象徴的表現に関して示された。これらのアルゴリズム的記述及び表現は、データ処理分野の当業者によって、他の当業者に仕事の内容を最も効果的に伝達するために使用される手段である。アルゴリズムは本明細書で、概して、所望の結果をもたらす、自己無撞着操作の連続であると考えられる。操作は、物理量の物理的操作を必要とするものである。必ずしもそうとは限らないが、通常、これらの量は、記憶する、組み合わせる、比較する、及び他の方法で操作することが可能な、電気信号又は磁気信号の形態を取る。これらの信号をビット、値、要素、記号、文字、用語、数値などと称することが、主に一般的な用法の理由から時には好都合であることが判明している。
【００６３】
しかしながら、これら及び同様の用語のすべてが、適切な物理量と関連付けられるものであり、これらの量に適用される好都合なラベルにすぎないことに留意すべきある。上記の考察から明らかなように、特に記述されない限り、説明全体にわたって、「特定する」、「判定する」、「実行する」、「収集する」、「作製する」、又は「送信する」などの用語を使用した考察は、コンピュータシステムのレジスタ及びメモリ内の物理（例えば、電子）量として表されるデータを、同様にコンピュータシステムのメモリ若しくはレジスタ、又は他のそのような情報記憶デバイス内の物理量として表される他のデータに操作及び変換する、コンピュータシステム又は類似の電子コンピューティングデバイスの動作及び処理を指すことを理解されたい。
【００６４】
本開示はまた、本明細書に記載の動作を実行するための装置に関する。この装置は、意図された目的のために特別に構築されてよく、又はコンピュータに記憶されるコンピュータプログラムによって選択的に作動若しくは再構成される汎用コンピュータを備えてよい。かかるコンピュータプログラムは、フロッピーディスク、光ディスク、ＣＤ−ＲＯＭ、及び光磁気ディスクを含む任意の種類のディスク、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気若しくは光カード、又は電子命令を記憶するのに好適な任意の種類の媒体などが挙げられるが、これらに限定されない、コンピュータ可読記憶媒体に記憶されてよく、それぞれがコンピュータシステムバスに接続される。
【００６５】
本明細書に記載のアルゴリズム及びディスプレイは、任意の特定のコンピュータ又は他の装置に本質的に関連しない。様々な汎用システムが、本明細書の教示に従ったプログラムと共に使用されてよいか、方法を実行するために、より特化した装置の構築が便利であることが判明することがある。様々なこれらのシステムの構造は、以下の説明から明らかとなる。加えて、本開示は、任意の特定のプログラミング言語に関して記載されていない。本明細書に記載されるように、本開示の教示を実施するために様々なプログラミング言語が使用されてよいことを理解されたい。
【００６６】
本開示は、コンピュータシステム（又は他の電子機器）に本開示に従ってプロセスを実行させるプログラムの作製に使用され得る、記憶された命令を有するマシン可読媒体を含んでよい、コンピュータプログラム製品又はソフトウェアとして提供されてよい。マシン可読媒体は、マシン（例えば、コンピュータ）可読の形態で情報を記憶する、任意のメカニズムを含む。例えば、マシン可読（例えば、コンピュータ可読）媒体は、読み取り専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイスなどマシン（例えば、コンピュータ）可読記憶媒体を含む。
【００６７】
前述の明細書では、本開示の実装は、その特定の例示的実装を参照して説明された。以下の「特許請求の範囲」に記載される、本開示の実施例のより広い趣旨及び範囲から逸脱することなく様々な変更を行うことができることは、明らかであろう。したがって、本明細書及び図面は、制限的意味ではなく、例示的意味と見なされるべきである。
【図１】
2017504909.tif 000003
【図２】
2017504909.tif 000004
【図３】
2017504909.tif 000005
【図４】
2017504909.tif 000006
【図５】
2017504909.tif 000007
【図６】
2017504909.tif 000008
【図７】
2017504909.tif 000009
【国際調査報告】
2017504909.tif 000010
2017504909.tif 000011