(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-11-14
(54)【発明の名称】複数の認証オプションによるシングルサインオン(SSO)認証
(51)【国際特許分類】
G06F 21/41 20130101AFI20221107BHJP
G06F 21/33 20130101ALI20221107BHJP
【FI】
G06F21/41
G06F21/33
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022508510
(86)(22)【出願日】2020-08-31
(85)【翻訳文提出日】2022-02-09
(86)【国際出願番号】 JP2020032878
(87)【国際公開番号】W WO2021049355
(87)【国際公開日】2021-03-18
(32)【優先日】2019-09-13
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100121131
【氏名又は名称】西川 孝
(74)【代理人】
【識別番号】100082131
【氏名又は名称】稲本 義雄
(74)【代理人】
【識別番号】100168686
【氏名又は名称】三浦 勇介
(72)【発明者】
【氏名】村尾 貞佳
(72)【発明者】
【氏名】ピンギリ シュリニヴァーサ
(72)【発明者】
【氏名】小野 孝一
(57)【要約】
複数の認証オプションによるシングルサインオン(SSO)認証のためのハイブリッド認証システム、方法、および非一時的コンピュータ可読媒体が提供される。ハイブリッド認証システムは、ウェブアプリケーションサーバおよび公開台帳に通信可能に結合された制御回路を含む。制御回路は、リソースサーバ上のセキュアコンテンツにアクセスすることを求める要求をウェブアプリケーションサーバから受信し、受信される要求に基づいてユーザデバイスのユーザインターフェース上のユーザ選択可能オプションのセットの表示を制御する。制御回路は、ウェブベースの認証方式およびウォレットベースの認証方式のうちの1つを認証方式として選択し、さらに、選択された認証方式に基づいて要求の認証を制御する。認証の選択は、規定のセキュリティ基準、または表示されたユーザ選択可能オプションのセットのうちの1つを介したユーザ入力に基づく。
【特許請求の範囲】
【請求項1】
ハイブリッド認証システムであって、
ウェブアプリケーションサーバおよびスマートコントラクトを記憶する公開台帳に通信可能に結合されている制御回路を備え、
前記制御回路は、
リソースサーバ上のセキュアコンテンツにアクセスすることを求める要求を前記ウェブアプリケーションサーバから受信することと、
前記受信される要求に基づいてユーザデバイスのユーザインターフェース上のユーザ選択可能オプションのセットの表示を制御することであって、
前記ユーザ選択可能オプションのセットは、ウェブベースの認証方式およびウォレットベースの認証方式に相当し、
前記ウォレットベースの認証方式は、前記公開台帳上の前記記憶されているスマートコントラクトに基づく、制御することと、
規定のセキュリティ基準または前記ユーザ選択可能オプションの表示されているセットのうちの1つを介したユーザ入力に基づいて、前記ウェブベースの認証方式および前記ウォレットベースの認証方式のうちの1つを認証方式として選択することと、
前記選択された認証方式に基づいて、前記受信される要求の認証を制御することと
を行うように構成されている、ハイブリッド認証システム。
【請求項2】
前記ウェブアプリケーションサーバは、少なくとも1つのウェブアプリケーションをホストし、
前記ウェブアプリケーションサーバは、前記少なくとも1つのウェブアプリケーションへのシングルサインオン(SSO)アクセスを求めるユーザ開始要求の受信に基づいて前記要求を提供する、請求項1に記載のハイブリッド認証システム。
【請求項3】
前記スマートコントラクトは、ウォレットアドレス、前記リソースサーバのアクセストークン、ユーザ識別子、およびステータス識別子を記憶する自己実行可能プログラムであり、
前記ウォレットアドレスは、前記公開台帳上のユーザのウォレットアカウントのためのものであり、
前記ステータス識別子は、前記ユーザのウォレットアカウントの前記ウォレットアドレスまたはウォレットアイデンティティ(ID)のうちの一方が、アイデンティティプロバイダのウェブIDにリンクされているか、またはリンクされていないことを示す、請求項1に記載のハイブリッド認証システム。
【請求項4】
前記リソースサーバは、アイデンティティプロバイダによって管理されるアプリケーションプログラミングインターフェース(API)サーバであり、
前記リソースサーバは、前記セキュアコンテンツとしてユーザ固有の情報を記憶する、請求項1に記載のハイブリッド認証システム。
【請求項5】
前記ウェブアプリケーションサーバは、前記ユーザデバイスのウェブクライアントからのユーザのアクセス要求に基づいて、前記ハイブリッド認証システムにアクセス要求およびユーザ登録詳細を送信する、請求項1に記載のハイブリッド認証システム。
【請求項6】
前記制御回路は、
前記ウェブアプリケーションサーバによって送信される前記アクセス要求および前記ユーザ登録詳細を受信することと、
前記受信されるアクセス要求の認証のために、前記受信されるアクセス要求をアイデンティティプロバイダにリダイレクトすることと、
前記受信されるアクセス要求の認証に基づいて前記アイデンティティプロバイダからアクセストークンを受信することと
を行うようにさらに構成されている、請求項5に記載のハイブリッド認証システム。
【請求項7】
前記制御回路は、
前記受信されるアクセストークンおよび前記受信されるユーザ登録詳細を、前記スマートコントラクトを介して前記公開台帳に安全に記憶することと、
前記スマートコントラクト内のステータス識別子をリンクされていないものとして更新することであって、前記更新されているステータス識別子は、ユーザのウォレットアカウントのウォレットアドレスまたはウォレットアイデンティティ(ID)のうちの一方が前記アイデンティティプロバイダのウェブIDにリンクされていないことを示す、更新することと
を行うようにさらに構成されている、請求項6に記載のハイブリッド認証システム。
【請求項8】
前記制御回路は、
イベントリスナを前記公開台帳に展開することと、
前記展開されたイベントリスナによって、前記公開台帳上の前記記憶されたスマートコントラクトに関連付けられた1つまたは複数のイベントを検出することと
を行うようにさらに構成されている、請求項7に記載のハイブリッド認証システム。
【請求項9】
前記制御回路は、
前記公開台帳上の前記検出された1つまたは複数のイベントに基づいて、前記アイデンティティプロバイダによる前記受信されるアクセストークンの有効性検証要求を開始することと、
前記開始された検証要求に対する前記アイデンティティプロバイダの応答を受信することと、
前記受信された応答に基づいて前記受信されたアクセストークンの有効性を検証するように構成されている、請求項8に記載のハイブリッド認証システム。
【請求項10】
前記制御回路は、
前記受信されるアクセストークンの前記有効性検証に基づいて、アイデンティティプロバイダのウェブIDを、前記公開台帳上の前記ユーザのウォレットアカウントのウォレットアドレスまたはウォレットIDとリンクさせることと、
前記リンクに基づいて前記スマートコントラクト内の前記ステータス識別子をリンクされているものとして更新することと
を行うようにさらに構成されている、請求項9に記載のハイブリッド認証システム。
【請求項11】
前記制御回路は、
相当する複数のアイデンティティプロバイダの複数のウェブIDを、前記公開台帳上の前記ユーザのウォレットアカウントのウォレットアドレスまたはウォレットIDとリンクさせることと、
前記リンクに基づいて前記スマートコントラクト内の前記ステータス識別子をリンクされているものとして更新することと
を行うようにさらに構成されている、請求項9に記載のハイブリッド認証システム。
【請求項12】
前記制御回路は、
前記ウェブベースの認証方式の選択のために前記表示されたユーザ選択可能オプションのセットの第1のユーザ選択可能オプションを介して前記ユーザ入力を受信することと、
前記受信されるユーザ入力に基づいて前記ウェブベースの認証方式として前記認証方式を選択することと、
前記ウェブベースの認証方式に従って前記受信される要求の前記認証を制御することと
を行うようにさらに構成されており、
前記ウェブベースの認証方式は、Oauthプロトコルに基づく、請求項1に記載のハイブリッド認証システム。
【請求項13】
前記制御回路は、
前記ウォレットベースの認証方式の選択のために前記表示されたユーザ選択可能オプションのセットの第2のユーザ選択可能オプションを介して前記ユーザ入力を受信することと、
前記受信されるユーザ入力に基づいて前記ユーザデバイスのウェブクライアント上でプロンプトをトリガすることであって、
前記プロンプトは、ユーザのウォレットアカウントのウォレットアドレスおよび前記ウォレットアドレスに関連付けられた秘密鍵を使用して、前記ユーザのウォレットアカウントへのユーザログインを可能にするようにトリガされる、トリガすることと、
前記ユーザデバイス上の前記ウェブクライアントを介して、前記ユーザのウォレットアカウントへの前記ユーザログインを検出することと、
前記ウォレットアドレスに関連付けられた公開鍵、前記ユーザログインの前記検出、および前記記憶されているスマートコントラクトに基づいて、前記受信される要求の前記認証を制御することと
を行うようにさらに構成されており、
前記公開鍵は、前記ハイブリッド認証システムに記憶される、請求項1に記載のハイブリッド認証システム。
【請求項14】
前記制御回路は、前記受信される要求の前記認証に基づいてアクセス認証情報を前記ウェブアプリケーションサーバと共有するようにさらに構成されている、請求項1に記載のハイブリッド認証システム。
【請求項15】
前記ウェブアプリケーションサーバは、
前記共有認証情報を使用して前記リソースサーバ上の前記セキュアコンテンツにアクセスすることと、
前記アクセスされたセキュアコンテンツに基づいて前記ユーザデバイスのウェブクライアント上の前記ウェブアプリケーションのセッションを初期化することと、
前記初期化されたセッションにセッションIDを割り当てることであって、前記割り当てられるセッションIDはウェブベースのログインに基づくサインオンのセッションIDと同一である、割り当てることと
を行う、請求項14に記載のハイブリッド認証システム。
【請求項16】
前記制御回路は、前記受信される要求の前記認証に基づいてユーザプロファイルイメージを構築するようにさらに構成されており、前記ユーザプロファイルイメージは、前記ウェブアプリケーションサーバ上でホストされている少なくとも1つのウェブアプリケーションのアプリケーション統一資源位置指定子(URL)、認証タイプ、アイデンティティプロバイダ名、アクセストークンに事前に割り当てられている有効期間、および再認証ステータスを含む、請求項1に記載のハイブリッド認証システム。
【請求項17】
前記規定のセキュリティ基準は、前記ウェブアプリケーションサーバ上でホストされている少なくとも1つのウェブアプリケーションのうちの特定のウェブアプリケーションについての規定のセキュリティレベル、前記特定のウェブアプリケーションについてのユーザが選好する認証方式、または前記ウェブベースの認証方式もしくは前記ウォレットベースの認証方式のうちの1つに基づいて以前に試みられた前記認証の失敗ステータスを含む、請求項1に記載のハイブリッド認証システム。
【請求項18】
方法であって、
ウェブアプリケーションサーバおよびスマートコントラクトを記憶する公開台帳に通信可能に結合されているハイブリッド認証システムにおいて、
リソースサーバ上のセキュアコンテンツにアクセスすることを求める要求を前記ウェブアプリケーションサーバから受信することと、
前記受信される要求に基づいてユーザデバイスのユーザインターフェース上のユーザ選択可能オプションのセットの表示を制御することであって、
前記ユーザ選択可能オプションのセットは、ウェブベースの認証方式およびウォレットベースの認証方式に相当し、
前記ウォレットベースの認証方式は、前記公開台帳上の前記記憶されているスマートコントラクトに基づく、制御することと、
規定のセキュリティ基準または前記ユーザ選択可能オプションの表示されているセットのうちの1つを介したユーザ入力に基づいて、前記ウェブベースの認証方式および前記ウォレットベースの認証方式のうちの1つを認証方式として選択することと、
前記選択された認証方式に基づいて、前記受信される要求の認証を制御することと
を含む、方法。
【請求項19】
前記ウェブベースの認証方式の選択のために前記表示されたユーザ選択可能オプションのセットの第1のユーザ選択可能オプションを介して前記ユーザ入力を受信することと、
前記受信されるユーザ入力に基づいて前記ウォレットベースの認証方式として前記認証方式を選択することと、
前記ウェブベースの認証方式に従って前記受信される要求の前記認証を制御することと
をさらに含み、
前記ウェブベースの認証方式は、Oauthプロトコルに基づく、請求項18に記載の方法。
【請求項20】
前記ウォレットベースの認証方式の選択のために前記表示されたユーザ選択可能オプションのセットの第2のユーザ選択可能オプションを介して前記ユーザ入力を受信することと、
前記受信されるユーザ入力に基づいて前記ユーザデバイスのウェブクライアント上でプロンプトをトリガすることであって、
前記プロンプトは、ユーザのウォレットアカウントのウォレットアドレスおよび前記ウォレットアドレスに関連付けられた秘密鍵を使用して、前記ユーザのウォレットアカウントへのユーザログインを可能にするようにトリガされる、トリガすることと、
前記ユーザデバイス上の前記ウェブクライアントを介して、前記ユーザのウォレットアカウントへの前記ユーザログインを検出することと、
前記ウォレットアドレスに関連付けられた公開鍵、前記ユーザログインの前記検出、および前記記憶されているスマートコントラクトに基づいて、前記受信される要求の前記認証を制御することと
をさらに含み、
前記公開鍵は、前記ハイブリッド認証システムに記憶される、請求項18に記載の方法。
【請求項21】
ハイブリッド認証システムによって実行されると、前記ハイブリッド認証システムに動作を実行させるコンピュータ実行可能命令を記憶されている非一時的コンピュータ可読媒体であって、前記動作は、
リソースサーバ上のセキュアコンテンツにアクセスすることを求める要求をウェブアプリケーションサーバから受信することと、
前記受信される要求に基づいてユーザデバイスのユーザインターフェース上のユーザ選択可能オプションのセットの表示を制御することであって、
前記ユーザ選択可能オプションのセットは、ウェブベースの認証方式およびウォレットベースの認証方式に相当し、
前記ウォレットベースの認証方式は、公開台帳上のスマートコントラクトに基づく、制御することと、
規定のセキュリティ基準または前記ユーザ選択可能オプションの表示されているセットのうちの1つを介したユーザ入力に基づいて、前記ウェブベースの認証方式および前記ウォレットベースの認証方式のうちの1つを認証方式として選択することと、
前記選択された認証方式に基づいて、前記受信される要求の認証を制御することと
を含む、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の様々な実施形態は、認証技術に関する。より具体的には、本開示の様々な実施形態は、複数の認証オプションによるシングルサインオン(SSO)認証のためのシステムおよび方法に関する。
【0002】
<関連出願の相互参照/参照による組み込み>
なし。
【背景技術】
【0003】
認証技術の進歩により、ユーザに様々な認証オプションが提供されている。従来、場合によっては、ユーザはシングルサインオン(SSO)機能を使用することを選択することができ、それによってユーザは単一のユーザアカウント(例えば、電子メールまたはソーシャルメディアアカウント)に基づいて異なるアプリケーションにサインオンする柔軟性を有する。いくつかの他の例では、安全性の低い環境での認証のための抽象化およびセキュリティの追加の層を追加するために、複数の認証オプションも組み込まれる。例えば、SSO認証オプションおよびワンタイムパスワード(OTP)ベースの認証オプションによる2要素認証である。従来の認証オプションのほとんどは、多くの場合、重要なもしくは重要でないユーザ情報の損失の可能性を残す安全性の低い方法でユーザを認証するか、またはユーザにとって望ましくないもしくは許容できない煩わしさを生じさせる。
【0004】
本出願の残りの部分に、および、図面を参照して説明される本開示のいくつかの態様との記載されたシステムの比較を通して、慣習的な手法および従来の手法のさらなる制限および欠点が当業者に明らかになるであろう。
【発明の概要】
【0005】
複数の認証オプションによるシングルサインオン(SSO)認証のためのシステムおよび方法が、特許請求の範囲により完全に記載されているように、図面の少なくとも1つに実質的に示され、かつ/またはそれに関連して説明されているように、提供される。
【0006】
本開示のこれらのおよび他の特徴および利点は、本開示の以下の詳細な説明を、添付の図面とともに検討することによって理解され得る。図面において、同様の参照符号は全体にわたって同様の部分を指す。
【図面の簡単な説明】
【0007】
【
図1】本開示の一実施形態による、複数の認証オプションによるSSO認証のための例示的なネットワーク環境を示す図である。
【
図2】本開示の一実施形態による、複数の認証オプションによるSSO認証のための例示的なハイブリッド認証システムを示すブロック図である。
【
図3A】
図3Bとまとめて、本開示の一実施形態による、アイデンティティプロバイダのウェブIDをユーザのウォレットアカウントにリンクさせるためのシーケンス図である。
【
図3B】
図3Aとまとめて、本開示の一実施形態による、アイデンティティプロバイダのウェブIDをユーザのウォレットアカウントにリンクさせるためのシーケンス図である。
【
図4A】
図4Bとまとめて、本開示の一実施形態による、複数の認証オプションによるSSO認証のためのシーケンス図である。
【
図4B】
図4Aとまとめて、本開示の一実施形態による、複数の認証オプションによるSSO認証のためのシーケンス図である。
【
図5】本開示の一実施形態による、ユーザ識別子と、複数のユーザアカウントと、複数のウェブアカウントまたは複数のウェブIDとの間の関連付けを示す例示的な図である。
【
図6】本開示の一実施形態による、複数の認証オプションによるSSO認証のための例示的な方法を示す流れ図である。
【発明を実施するための形態】
【0008】
以下に説明される実施態様は、複数の認証オプションによるシングルサインオン(SSO)認証のための開示されたシステムおよび方法に見出すことができる。本開示の例示的な態様は、SSO認証のためのハイブリッド認証システムを提供する。ハイブリッド認証システムは、ウェブアプリケーションの複数の認証オプションをユーザに提供するシングルサインインシステムであり得る。例として、ハイブリッド認証システムは、2つの認証オプション、すなわちウェブベースの認証およびウォレットベースの認証を提供する。ウェブベースの認証は、Oauthプロトコルに基づくことができ、それによって、Oauthサーバ等のアイデンティティプロバイダは、リソースサーバ(APIサーバとも呼ばれる)上のユーザ固有の情報にアクセスすることを求める要求の認証を担当することができる。一方、ウォレットベースの認証は、公開台帳に記憶されたスマートコントラクトと、公開台帳上のユーザのウォレットアカウントに関連付けられた秘密鍵とに基づくことができる。スマートコントラクトは、アイデンティティプロバイダによって事前共有されたアクセストークンと、ユーザのウォレットアカウントのウォレットアドレスと、ユーザのウォレットアカウントがアイデンティティプロバイダのウェブID(またはウェブアカウント)にリンクされているか否かを示すステータス識別子とを記憶することができる。
【0009】
ハイブリッド認証システムは、2要素認証または2要素認証のうちの一方、すなわちウェブベースの認証とウォレットベースの認証のうちの一方または両方を選択する柔軟性をユーザに提供する。例えば、ユーザは通常のログイン認証情報(例えば、電子メールID/電話番号およびパスワード)を使用してウェブアプリケーションに対してSSOを行う柔軟性を有するか、または、ユーザはユーザのウォレットアカウントのウォレットIDおよび秘密鍵を使用して公開台帳上のユーザのウォレットアカウントにログインすることでウェブアプリケーションに対してSSOを行うことができる。付加的または代替的に、セキュリティ基準は、2要素認証を選択するかまたは2要素認証のうちの一方を選択するかに基づいて定義されてもよい。例として、セキュリティ基準は、ウェブアプリケーションサーバ上でホストされている特定のウェブアプリケーションについての規定のセキュリティレベル(例えば、ユーザ定義のセキュリティレベル)、特定のウェブアプリケーションについてのユーザが選好する認証、またはウェブベースの認証もしくはウォレットベースの認証のうちの1つに基づいて以前に試みられた認証の失敗ステータスを含むことができる。ウォレットベースの認証に基づくSSOアクセスの場合、ユーザデバイスのウェブクライアント上の初期化されたセッションが、ウェブベースのログインに基づいて初期化されたセッションのセッションIDとして発行され得る。したがって、ウェブアプリケーションへのサインオン後、認証オプションのいずれかの選択にかかわらず、クライアント側インターフェースの状態はユーザにとって同一のままであり得る。
【0010】
図1は、本開示の一実施形態による、複数の認証オプションによるSSO認証のための例示的なネットワーク環境を示す図である。
図1を参照すると、ネットワーク環境100が示されている。ネットワーク環境100は、ハイブリッド認証システム102と、ウェブアプリケーションサーバ104と、ウェブアプリケーションサーバ104上でホストされるウェブアプリケーション106とを含む。ネットワーク環境100は、リソースサーバ108と、アイデンティティプロバイダ110と、公開台帳112と、例えば、ウェブブラウザ等のウェブクライアント114aをホストするユーザデバイス114とをさらに含む。SSOクライアント106aおよびSSOクライアント108bが、それぞれウェブアプリケーション106およびリソースサーバ108上に存在することができる。ネットワーク環境100は、通信ネットワーク116をさらに含む。通信ネットワーク116は、ネットワーク環境100の複数のコンピューティングデバイス間で確立することができる。例として、通信ネットワーク116は、ハイブリッド認証システム102、ウェブアプリケーションサーバ104、アイデンティティプロバイダ110、リソースサーバ108、公開台帳112、およびユーザデバイス114の間にあってもよい。ユーザデバイス114に関連付けられたユーザ118がさらに示されている。
【0011】
ハイブリッド認証システム102は、リソースサーバ108上のセキュアコンテンツ108aへのアクセスを要求するユーザおよび/またはウェブアプリケーションのためのアイデンティティ(ID)管理に関連する動作を実行するように構成することができる適切なロジック、回路、およびインターフェースを備えることができる。ハイブリッド認証システム102は、リソースサーバ108上のセキュアコンテンツ108aにアクセスすることを求める要求の認証および/または認証レベル(例えば、単一要素または2要素認証)を制御するように構成することができる。一例として、要求は、ウェブアプリケーションサーバ104上でホストされている少なくとも1つのウェブアプリケーション(ウェブアプリケーション106等)へのSSOアクセスを求める、ユーザ開始要求の受信に基づいてウェブアプリケーションサーバ104によって提供されてよい。さらに、ハイブリッド認証システム102は、要求の認証状態の維持ならびにユーザおよび/またはウェブアプリケーションのアクセスプロファイル管理に関連する動作を処理することができる。ハイブリッド認証システム102の例は、サーバ、サーバの分散ネットワーク、コンピューティングデバイス、メインフレームマシン、コンピュータワークステーション、および/または家電(CE)デバイスを含むことができるが、これらに限定されない。
【0012】
ウェブアプリケーションサーバ104は、少なくとも1つのウェブアプリケーションをホストするように構成することができる適切なロジック、回路、およびインターフェースを備えることができる。例として、ウェブアプリケーションサーバ104は、ウェブアプリケーション106のサーバ側ロジック、サーバ側プログラム、およびアプリケーションデータをホストすることができる。ユーザ118がウェブクライアント114aを介してウェブアプリケーション106の機能にアクセスするようにウェブアプリケーションサーバ104に要求するときはいつでも、ウェブアプリケーションサーバ104は、要求を満たすようにウェブアプリケーションのサーバ側プログラムおよびサーバ側ロジックを実行する。ウェブアプリケーションサーバ104の例は、サーバ、リモートサーバ、コンピューティングデバイス、メインフレームマシン、コンピュータワークステーション、および/または家電(CE)デバイスを含むことができるが、これらに限定されない。
【0013】
ウェブアプリケーション106は、クライアント-サーバコンピュータ実装プログラムであってもよく、例えば、クライアント側インターフェース、クライアント側ロジック、サーバ側プログラム、およびサーバ側ロジックを含んでもよい。ウェブアプリケーション106は、ウェブアプリケーションサーバ104上でホストされる1つまたは複数のウェブアプリケーションのうちの1つであってもよい。例として、クライアント側インターフェースは、ウェブブラウザにロードされているウェブページであってもよい。クライアント側ロジックは、ASP、JSP/Java、Node.js、PHP、またはPython等のウェブ技術を使用して、ウェブページから要求を受信し、サーバ側プログラムのクエリ、更新、またはアクションとして要求を処理するプログラムであってもよい。ウェブアプリケーション106の例は、ウェブブラウザにロードアップするウェブページベースのアプリケーション、モバイルアプリケーション、ネイティブウェブアプリケーション、デスクトップベースのウェブアプリケーションを含むことができるが、これらに限定されない。
【0014】
SSOクライアント106aはウェブアプリケーションサーバ104上でホストされるウェブアプリケーション106上に存在するアプリケーションであってよい。SSOクライアント106aは、ウェブアプリケーション106および/またはユーザデバイス114のウェブクライアント114aとのアクセス、対話、および/または情報交換のためにハイブリッド認証システム102へのインターフェースを提供することができる。例として、SSOクライアント106aはウェブブラウザ(すなわち、ウェブクライアント114a)を介してユーザにSSOアクセスに関連する一連のサービスを提供することができる。ハイブリッド認証システム102上のSSOエージェント(
図1には図示せず)はSSOクライアント106aと通信することができる。一例として、SSOクライアント106aは、ハイブリッド認証システム102がユーザデバイス114のウェブクライアント114aからユーザ認証情報を取り出すこと、またはウェブアプリケーション106へのSSOアクセスのためのユーザ認証情報を提供するようユーザをトリガするユーザインターフェースをプッシュすることを可能にできる。
【0015】
リソースサーバ108は、セキュアコンテンツ108a、例えば、ユーザ118に関連するユーザ固有情報または個人識別情報(PII)を記憶するように構成することができる適切なロジック、回路、およびインターフェースを備えることができる。セキュアコンテンツ108aは、ユーザ118のアイデンティティを確立するのに十分であり得る。例として、Oauth 2.0により、リソースサーバ108は、アプリケーションプログラミングインターフェース(API)サーバとも称することができ、セキュアコンテンツ108aにアクセスするための有効なアクセス認証情報を有するウェブアプリケーションの認証に関する要求を処理するように構成することができる。
【0016】
アイデンティティプロバイダ110は、ウェブアプリケーション106がリソースサーバ108からのセキュアコンテンツ108aにアクセスすることを可能にするために、ユーザ118に代わってウェブアプリケーション106にアクセス認証情報を発行するサーバ、サーバのネットワーク、オンラインサービス、またはウェブサイトであってよい。また、アイデンティティプロバイダ110は、クライアントとしてウェブアプリケーション106にサービスとしてのSSOを提供することもできる。リソースサーバ108は、アイデンティティプロバイダ110によって管理することができる。Oauthベースの認証の場合、アイデンティティプロバイダ110は、ウェブアプリケーション106に対してユーザ118に代わってアクセス認証情報を発行することができるOauthサーバであってもよい。アイデンティティプロバイダ110の例は、電子メールサービスプロバイダ、ソーシャルメディアネットワーク、または他のウェブベースのログインサービスを含むことができるが、これらに限定されない。
【0017】
公開台帳112は、データ操作またはトランザクションの不変レコードを維持する非集中的、分散型で、公開のデータベースシステムであってもよい。データ操作のセットは、ブロックとしてともにグループ化することができ、チェーンを形成するためにデータ操作の以前のブロックにさらにリンクさせることができる。データ操作のすべてのブロックは非集中的に記憶することができ、それによってすべての参加者またはパブリックノードはすべてのブロックを記憶する。さらに、公開台帳112は、複数の当事者の間、例えば、ユーザとハイブリッド認証システム102との間のスマートコントラクトの展開を可能にするオペレーティングシステムを含むことができる。本明細書において、スマートコントラクトは、公開台帳112上で実行することができる自己実行可能プログラムまたはコンピュータコードとすることができ、スマートコントラクトの複数の当事者が互いに対話することに同意する条件のセットを含むことができる。スマートコントラクトは、公開台帳112上の特定のアドレスに記憶することができ、コンピュータコード(すなわち、関数)およびデータ(すなわち、アカウントの状態)の集合とすることができる。
【0018】
例として、公開台帳112は、状態オブジェクトとしてアカウントを使用するEthereumブロックチェーンであってもよく、各アカウントの状態は、Ethereumブロックチェーンによって追跡することができる。本明細書において、アカウントは、ユーザ、マイニングノード、または自動化エージェントのアイデンティティを表す。データ操作のすべてのブロックまたはスマートコントラクトは、Ethereumブロックチェーン上のアカウントに関連付けられている。
【0019】
ユーザデバイス114は、ユーザデバイス114上のウェブクライアント114aを介してウェブアプリケーション106にアクセスするように構成することができる適切なロジック、回路、およびインターフェースを備えることができる。例えば、ウェブクライアント114aは、マルチメディアストリーミングアプリケーションのクライアント側インターフェースをロードアップするウェブブラウザであってもよい。ユーザデバイス114上のウェブクライアント114aは、例えば、ソーシャルメディアアカウントや電子メールアカウント等の、アイデンティティプロバイダ110によってリソースサーバ108上で維持されるユーザ118のアイデンティティ情報/認証情報に基づいて、マルチメディアストリーミングアプリケーションへのSSOアクセスに対するユーザ開始要求を生成する規定を有することができる。ユーザデバイス114は、ウェブクライアント114aとウェブアプリケーションサーバ104および/またはハイブリッド認証システム102との通信を容易にするための適切な入出力(I/O)機能およびネットワーキング機能を含むことができる。ユーザデバイス114の例は、コンピューティングデバイス、携帯電話、スマートフォン、コンピュータワークステーション、および/または任意の家電(CE)デバイスを含むことができるが、これらに限定されない。
【0020】
ウェブクライアント114aは、ユーザデバイス114上のウェブブラウザ等のコンピュータアプリケーションであってもよい。ウェブクライアント114aは、ウェブアプリケーションサーバ104上でホストされているウェブアプリケーション106のクライアント側インターフェースにアクセスするためのユーザデバイス114上のプラットフォームに相当することができる。
【0021】
通信ネットワーク116は、ハイブリッド認証システム102、ウェブアプリケーションサーバ104、リソースサーバ108、アイデンティティプロバイダ110、公開台帳112、およびユーザデバイス114が互いに通信することができる通信媒体を含むことができる。通信ネットワーク116の例は、インターネット、クラウドネットワーク、ワイヤレスフィデリティ(Wi-Fi)ネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、またはメトロポリタンエリアネットワーク(MAN)を含むことができるが、これらに限定されない。ネットワーク環境100内の様々なデバイスは、様々な有線および無線通信プロトコルに従って、通信ネットワーク116に接続するように構成することができる。このような有線および無線通信プロトコルの例は、伝送制御プロトコルおよびインターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル(UDP)、ハイパーテキスト転送プロトコル(HTTP)、ファイル転送プロトコル(FTP)、Zig Bee、EDGE、IEEE 802.11、ライトフィデリティ(Li-Fi)、802.16、IEEE 802.11 s、IEEE 802.11 g、マルチホップ通信、無線アクセスポイント(AP)、デバイス間通信、セルラ通信プロトコル、およびBluetooth(BT)通信プロトコルのうちの少なくとも1つを含むことができるが、これらに限定されない。
【0022】
動作時、ウェブアプリケーションサーバ104は、ウェブアプリケーション106等の1つまたは複数のウェブアプリケーションをホストすることができる。ユーザデバイス114上で、ウェブクライアント114aは、ウェブアプリケーション106のクライアント側インターフェースにアクセスするための第1のユーザ入力(例えば、ウェブアプリケーションの統一資源位置指定子(URL))を受信することができる。クライアント側インターフェースがロードされ、ユーザデバイス114のユーザインターフェース上に表示されると、ウェブクライアント114aは、クライアント側インターフェースを介して、ウェブアプリケーションへのSSOアクセスを求める要求として第2のユーザ入力を受信することができる。第2のユーザ入力は、ウェブアプリケーション106へのSSOアクセスのためのプロセスをトリガし、アイデンティティプロバイダ110によって提供されるシングルサインオン認証情報を使用してウェブアプリケーション106に関連する複数のシステムまたはサービスへのアクセスを得るために提供されてよい。
【0023】
ウェブアプリケーションサーバ104は、ウェブアプリケーション106へのSSOアクセスを求めるユーザ開始要求を受信することができる。ユーザ開始要求の受信に基づいて、ウェブアプリケーションサーバ104は、要求をさらに生成し、ハイブリッド認証システム102に送信することができる。要求は、リソースサーバ108上のセキュアコンテンツ108aにアクセスするための認証プロセスを開始するために送信することができる。セキュアコンテンツ108aは、ユーザ名、電子メールID、年齢、性別、誕生日(DOB)、ユーザ位置等のユーザ固有の情報を含むことができる。ウェブアプリケーションサーバ104は、ウェブアプリケーション106にユーザがログインもしくはサインアップするために、および/またはユーザ118のアイデンティティを作成/検証するために、ユーザ固有の情報にアクセスする必要があり得る。
【0024】
ハイブリッド認証システム102は、ウェブアプリケーションサーバ104から、リソースサーバ108上のセキュアコンテンツ108aにアクセスすることを求める要求を受信するように構成することができる。ハイブリッド認証システム102は、ウェブアプリケーションサーバ104から受信される要求に基づいて、ユーザデバイス114のユーザインターフェース上のユーザ選択可能オプションのセットの表示を制御するようにさらに構成することができる。一例として、ユーザインターフェースは、ユーザ選択可能オプションのセットを表示するウェブページまたはポップアップウィンドウであってもよい。ユーザ選択可能オプションのセットは、ウェブベースの認証方式およびウォレットベースの認証方式に相当することができる。ウェブベースの認証方式は、Oauth(例えば、Oauth 2.0)プロトコルに基づくことができ、2要素認証オプションの第1の認証オプションに相当することができる。ウォレットベースの認証方式は、公開台帳112に記憶されたスマートコントラクトに基づくことができる。
【0025】
スマートコントラクトは、ウォレットアドレス、リソースサーバ108のアクセストークン、ユーザ識別子、および公開台帳112上のステータス識別子を記憶することができる。ここで、アクセストークンは、ウェブアプリケーションサーバ104によって提供されるアクセス要求の認証に基づいて、アイデンティティプロバイダ110によって事前に共有されてもよいことが留意され得る。例として、アイデンティティプロバイダ110は、Oauthプロトコルを使用した過去の認証に基づいて、Oauthトークンをアクセストークンとしてウェブアプリケーションサーバ104と事前共有してもよい。アクセストークンを取得するための動作の詳細は、例えば、
図3Aおよび
図3Bに提供されている。
【0026】
ウォレットアドレスは、公開台帳112上のユーザのウォレットアカウント(すなわち、ユーザ118のウォレットアカウント)に利用することができる。アクセストークンは、アクセストークンのベアラがリソースサーバ108へのアクセスを認可されており、アクセストークンに認められた範囲に従ってリソースサーバ108に対して特定の操作(例えば、データ取り出し)を実行することを許可されていることを示すことができる固有の文字列を含んでもよい。さらに、アクセストークンは、ユーザ識別子にリンクさせることができ、公開台帳112にともに記憶することができる。アイデンティティプロバイダ110からアクセストークンを取得するための動作の詳細は、例えば、
図3Aおよび
図3Bに提供されている。
【0027】
ステータス識別子は、ユーザのウォレットアカウントのウォレットアドレスまたはウォレットアイデンティティ(ID)のうちの一方が、アイデンティティプロバイダ110のウェブID(またはウェブアカウント)にリンクされているか否かを示すことができる。特定の事例において、複数のウェブアカウント(またはウェブID)をユーザのウォレットアカウントにリンクさせて、ユーザ118がウェブアプリケーションへのSSOアクセスに適した任意のウェブIDを選択することを可能にすることができる。ユーザのウォレットアカウントのウォレットアドレスまたはウォレットIDとウェブID(複数可)とのリンクは、例えば、
図3Aおよび
図3Bに記載されている。
【0028】
ハイブリッド認証システム102は、認証方式として、ウェブベースの認証方式およびウォレットベースの認証方式のうちの一方を選択するようにさらに構成することができる。認証方式は、規定のセキュリティ基準、またはユーザ選択可能オプションの表示されたセットのうちの1つを介したユーザ118からのユーザ入力に基づいて選択することができる。例として、規定のセキュリティ基準は、ウェブアプリケーションサーバ104上でホストされている1つまたは複数のウェブアプリケーションのうちの特定のウェブアプリケーションについての規定のセキュリティレベルを含むことができる。規定のセキュリティ基準は、ウェブアプリケーションサーバ104によって開始される要求に対して単一要素認証または2要素認証をさらに選択すべきかを判定するために使用され得る。特定の例示的なシナリオでは、2要素認証のために、例えば、ワンタイムパスワード(OTP)ベースの認証またはピンベースの認証等の他の認証方式が、選択された認証方式を一次認証要素とする二次認証要素として選択され得る。付加的または代替的に、規定のセキュリティ基準は、特定のウェブアプリケーションのためのユーザが選好する認証方式を含むことができる。一例として、認証方式の過去のユーザ選好または過去の選択に基づいて、異なるウェブアプリケーションに対する、ユーザが選好する認証方式のレコードをハイブリッド認証システム102によって維持することができる。
【0029】
付加的または代替的に、規定のセキュリティ基準は、ウェブベースの認証方式またはウォレットベースの認証方式のうちの1つに基づいて以前に試行された認証の失敗ステータスを含み得る。例えば、ウェブベースの認証方式を使用してウェブアプリケーションサーバ104の要求を認証するための認証失敗の過去のレコードおよび/または失敗した試行のログを分析して、選択認証方式としてウォレットベースの認証方式を選択し、ウォレットベースの認証方式に基づいて認証を再試行することができる。
【0030】
ハイブリッド認証システム102は、選択認証方式に基づいて、受信された要求の認証を制御するようにさらに構成することができる。一実施形態では、ハイブリッド認証システム102は、ウェブベースの認証方式を選択するために、表示されているユーザ選択可能オプションのセットのうちの第1のユーザ選択可能オプションを介してユーザ入力を受信するように構成することができる。ハイブリッド認証システム102は、ユーザ118から受信されるユーザ入力に基づいて、この認証方式をウェブベースの認証方式として選択するようにさらに構成することができる。ハイブリッド認証システム102は、ウェブベースの認証方式に従って、受信された要求の認証を制御するようにさらに構成することができる。例として、ウェブベースの認証方式は、Oauth 2.0プロトコル(以下、Oauthプロトコルと称する)に従い得る。Oauthプロトコルは、トークンベースの認証および認可のためのオープン規格であり、ウェブアプリケーション106のためのユーザ認可APIを必要とするサービスにアクセスするための標準的な方法を提供する。Oauthプロトコルは当業者に知られており、そのため、簡潔にするためにOauthプロトコルの詳細は本開示から省略する。
【0031】
ウェブベースの認証方式が選択されると、ハイブリッド認証システム102は、アクセストークンが期限切れであり、新しいアクセストークンが要求されるべきか否かを判定するように構成することができる。アクセストークンが期限切れになっていない場合、ハイブリッド認証システム102は、アイデンティティプロバイダ110によって生成されるアクセストークンに基づいて、受信される要求の認証を制御するように構成することができる。例として、認証は、ウェブアプリケーションサーバ104とリソースサーバ108との間でトークン交換プロセスをディスパッチすることによって制御されてもよい。より具体的には、ウェブアプリケーションサーバ104は、アクセストークンを取り出し、アクセストークンをリソースサーバ108に送信してもよい。リソースサーバ108は、アクセストークンの有効性を検証し、アクセストークンのベアラのアイデンティティを検証し、ウェブアプリケーションサーバ104がセキュアコンテンツ108aにアクセスすることを認可することができる。
【0032】
他の実施形態では、ハイブリッド認証システム102は、ウォレットベースの認証方式を選択するために、表示されているユーザ選択可能オプションのセットのうちの第2のユーザ選択可能オプションを介してユーザ入力を受信するように構成することができる。ハイブリッド認証システム102は、ユーザ118から受信されるユーザ入力に基づいて、この認証方式をウォレットベースの認証方式として選択するようにさらに構成することができる。ハイブリッド認証システム102は、ウォレットベースの認証方式に従って、受信された要求の認証を制御するようにさらに構成することができる。ウォレットベースの認証方式が選択されると、ハイブリッド認証システム102は、アクセストークンが期限切れであり、新しいアクセストークンが要求されるべきか否かを判定するように構成することができる。アクセストークンが期限切れになっていない場合、ハイブリッド認証システム102は、ウォレットベースの認証プロセスをディスパッチすることによって、受信される要求の認証を制御するように構成することができる。
【0033】
ウォレットベースの認証プロセスにおいて、ハイブリッド認証システム102は、受信されるユーザ入力に基づいてユーザデバイス114のウェブクライアント114a上でプロンプトをトリガするように構成され得る。プロンプトは、公開台帳112上のユーザのウォレットアカウントへのユーザログインを可能にするようにトリガすることができる。例えば、プロンプトは、ユーザデバイス114上のウェブクライアント114aを介して、ユーザのウォレットアカウントへのユーザログインを可能にするようにトリガされてもよい。ユーザのウォレットアカウントへのユーザログインは、ユーザのウォレットアカウントのウォレットアドレスおよびウォレットアドレスに関連付けられた秘密鍵を使用して有効にすることができる。ユーザのウォレットアカウントに関連付けられた秘密鍵は、ユーザ118のみがアクセス可能であり得る。
【0034】
ハイブリッド認証システム102は、公開台帳112上のユーザのウォレットアカウントへのユーザログインを検出するようにさらに構成することができる。ユーザ118は、例えば、ウェブクライアント114aにおいてトリガされるプロンプトを介して、ユーザのウォレットアカウントがユーザログインを実行するためのウォレットIDおよび秘密鍵またはパスワードを入力することができる。ハイブリッド認証システム102は、ウォレットアドレスに関連付けられた公開鍵、ユーザログインの検出、およびスマートコントラクトに基づいて、受信される要求の認証を制御するようにさらに構成することができる。ウォレットアドレスに関連付けられた公開鍵は、ハイブリッド認証システム102に記憶することができる。
【0035】
ハイブリッド認証システム102は、受信される要求の認証に基づいて認証情報をウェブアプリケーションサーバ104と共有するようにさらに構成することができる。認証情報は、ウェブアプリケーションサーバ104からのセキュアコンテンツ108aへのアクセス要求が認証されたことを示すように、ハイブリッド認証システム102がウェブアプリケーションサーバ104に提供することができる認証情報に相当することができる。ウェブアプリケーションサーバ104は、SSOクライアント106aを介してハイブリッド認証システム102から認証情報を受信することができる。その後、ウェブアプリケーションサーバ104は、共有認証情報を使用してリソースサーバ108上のセキュアコンテンツ108aにアクセスすることができる。例として、リソースサーバ108Aは、ウェブアプリケーションサーバ104から認証情報を受信して、セキュアコンテンツ108aにアクセスすることができる。リソースサーバ108上のSSOクライアント108bは受信される認証情報をハイブリッド認証情報によって検証することができる。リソースサーバ108は、共有認証情報の検証に基づいてセキュアコンテンツ108aにアクセスすることを求める要求の有効性を検証することができる。付加的または代替的に、リソースサーバ108は、セキュアコンテンツ108aにアクセスすることを求める要求が有効なトークンベアラ、すなわちウェブアプリケーション106からのものであることを検証することができる。
【0036】
ウェブアプリケーションサーバ104は、アクセスされたセキュアコンテンツ108aに基づいて、ユーザデバイス114のウェブクライアント114a上のウェブアプリケーション106のセッションを初期化することができる。ウェブアプリケーション106は、ユーザデバイス114上のウェブクライアント114a上の初期化されたセッションにセッションIDを割り当てることができる。割り当てられたセッションIDは、ウェブベースのログインに基づくサインオンのセッションIDと同一であり得る。換言すれば、割り当てられたセッションIDは、ウェブクライアント114a上でのウェブベースのログインのためにウェブアプリケーション106に割り当てられ得るセッションIDと同一であり得る。
【0037】
いくつかの例示的な実施形態では、ハイブリッド認証システム102は、受信される要求の認証に基づいてユーザプロファイルイメージを構築するように構成することができる。ユーザプロファイルイメージは、ウェブアプリケーションサーバ104上でホストされている1つまたは複数のウェブアプリケーションのためのアプリケーション統一資源位置指定子(URL)、認証タイプ、アイデンティティプロバイダ名、アクセストークンに事前に割り当てられた有効期間、および再認証ステータスを含むことができる。例えば、ユーザ118のユーザプロファイルイメージは、ウェブクライアント114aを介してウェブアプリケーションサーバ104上でホストされているウェブアプリケーション106のURLを含むことができる。ユーザ118のユーザプロファイルイメージは、特定のウェブアプリケーションからの要求の認証のために選択される認証方式(複数可)を指定することができる認証タイプをさらに含むことができる。例えば、認証タイプは、ウェブベースの認証、ウォレットベースの認証、またはウェブベースの認証とウォレットベースの認証の両方であり得る。ユーザ118のユーザプロファイルイメージは、アイデンティティプロバイダ110の名前およびアイデンティティプロバイダ110によって提供されるアクセストークンに事前に割り当てられた有効期間をさらに含むことができる。ユーザ118のユーザプロファイルイメージは、SSOアクセスの再認証が将来ユーザ118に必要かまたは不要かを示す再認証ステータスをさらに含んでよい。
【0038】
ユーザプロファイルイメージの一例を以下の表1に示す。
【表1】
表1:ハイブリッド認証構成のユーザプロファイルイメージ
【0039】
表1では、ウェブアカウント(ID_Provider_1、ID_Provider_2、ID_Provider_3、およびID_Provider_4)は、複数のアイデンティティプロバイダに相当し得る。複数のアイデンティティプロバイダの相当するウェブアカウント(またはウェブID)は、ユーザが異なるウェブアカウント/ウェブIDを介してSSO認証を選択することを可能にするように、ユーザのウォレットアカウントのウォレットIDまたはウォレットアドレスにリンクさせることができる。
【0040】
いくつかの例示的な実施形態では、ハイブリッド認証システム102は、受信される要求の認証のための2要素認証方式を提供するようにさらに構成することができる。2要素認証方式は、受信される要求の認証のためのウェブベースの認証方式とウォレットベースの認証方式の両方を含み得る。ハイブリッド認証システム102は、ウェブベースの認証方式とウォレットベースの認証方式の両方に従って、要求の認証を制御するようにさらに構成することができる。
【0041】
図2は、本開示の一実施形態による、複数の認証オプションによるSSO認証のための例示的なハイブリッド認証システムを示すブロック図である。
図2は、
図1の要素と関連して説明される。
図2を参照すると、ハイブリッド認証システム102のブロック
図200が示されている。ハイブリッド認証システム102は、制御回路202、メモリ204、および永続的データ記憶装置206を含むことができる。ハイブリッド認証システム102は、イベントリスナ208およびネットワークインターフェース210をさらに含むことができる。制御回路202は、ネットワークインターフェース210を使用することによって、ウェブアプリケーションサーバ104、リソースサーバ108、公開台帳112、アイデンティティプロバイダ110、およびユーザデバイス114と通信するように構成することができる。また、制御回路202は、メモリ204、永続的データ記憶装置206、イベントリスナ208、およびネットワークインターフェース210に通信可能に結合することができる。
【0042】
制御回路202は、ウェブアプリケーションサーバ104から、リソースサーバ108上のセキュアコンテンツ108aにアクセスすることを求める要求を受信するように構成することができる適切なロジック、回路、およびインターフェースを備えることができる。制御回路202は、受信される要求の認証のためにウェブベースの認証方式およびウォレットベースの認証方式のうちの一方を選択するようにさらに構成することができる。認証方式は、規定のセキュリティ基準またはユーザデバイス114を介したユーザ入力に基づいて選択することができる。制御回路202は、選択認証方式に基づいて、受信された要求の認証を制御するようにさらに構成することができる。制御回路202は、メモリ204に記憶された命令を実行するように構成された1つまたは複数のプロセッサを含むことができ、ハイブリッド認証システム102内の別個のプロセッサまたは回路として実装され得る1つまたは複数の専用処理ユニットを含むことができる。
【0043】
一実施形態では、1つまたは複数の専用処理ユニットおよび制御回路202は、集合的に1つまたは複数の専用処理ユニットおよび制御回路202の機能を実行する統合プロセッサまたはプロセッサのクラスタとして実装されてもよい。制御回路202は、当技術分野で知られているいくつかのプロセッサ技術に基づいて実装されてもよい。制御回路202の実施態様の例は、x86ベースのプロセッサ、縮小命令セットコンピューティング(RISC)プロセッサ、特定用途向け集積回路(ASIC)プロセッサ、複合命令セットコンピューティング(CISC)プロセッサ、マイクロコントローラ、中央処理装置(CPU)、グラフィック処理装置(GPU)、および/または他の制御回路であってもよい。
【0044】
メモリ204は、制御回路202によって実行可能なプログラム命令を記憶するように構成することができる適切なロジック、回路、およびインターフェースを備えることができる。特定の実施形態では、メモリ204は、オペレーティングシステムおよび関連するアプリケーション固有の情報を記憶するように構成することができる。メモリ204は、コンピュータ実行可能命令またはデータ構造を搬送または記憶するためのコンピュータ可読記憶媒体を含むことができる。このようなコンピュータ可読記憶媒体は、汎用または専用コンピュータによってアクセスされ得る任意の利用可能な媒体を含むことができる。このようなコンピュータ可読記憶媒体は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、コンパクトディスク読み出し専用メモリ(CD-ROM)もしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、フラッシュメモリデバイス(例えば、ソリッドステートメモリデバイス)、または、コンピュータ実行可能命令もしくはデータ構造の形態で特定のプログラムコードを搬送もしくは記憶するために使用することができ、汎用もしくは専用コンピュータによってアクセスすることができる任意の他の記憶媒体を含む、有形または非一時的コンピュータ可読記憶媒体を含むことができる。上記の組み合わせもまた、コンピュータ可読記憶媒体の範囲内に含まれ得る。コンピュータ実行可能命令は、例えば、ハイブリッド認証システム102に関連する特定の動作または動作群を制御回路202に実行させるように構成された命令およびデータを含むことができる。
【0045】
永続的データ記憶装置206は、制御回路202によって実行可能なプログラム命令、オペレーティングシステム、ならびに/またはログおよびアプリケーション固有のデータベース等のアプリケーション固有の情報を記憶するように構成することができる適切なロジック、回路、およびインターフェースを備えることができる。永続的データ記憶装置206は、コンピュータ実行可能命令またはデータ構造を搬送または記憶するためのコンピュータ可読記憶媒体を含むことができる。このようなコンピュータ可読記憶媒体は、汎用または専用コンピュータによってアクセスされ得る任意の利用可能な媒体を含むことができる。限定ではなく例として、このようなコンピュータ可読記憶媒体は、コンパクトディスク読み出し専用メモリ(CD-ROM)もしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス(例えば、ハードディスクドライブ(HDD))、フラッシュメモリデバイス(例えば、ソリッドステートドライブ(SSD)、セキュアデジタル(SD)カード、他のソリッドステートメモリデバイス)、または、コンピュータ実行可能命令もしくはデータ構造の形態で特定のプログラムコードを搬送もしくは記憶するために使用することができ、汎用もしくは専用コンピュータによってアクセスすることができる任意の他の記憶媒体を含む、有形または非一時的コンピュータ可読記憶媒体を含むことができる。上記の組み合わせもまた、コンピュータ可読記憶媒体の範囲内に含まれ得る。コンピュータ実行可能命令は、例えば、ハイブリッド認証システム102に関連する特定の動作または動作群を制御回路202に実行させるように構成された命令およびデータを含むことができる。
【0046】
イベントリスナ208は、公開台帳112上の記憶されているスマートコントラクトに関連する1つまたは複数のイベントを検出するように構成することができる適切なロジック、回路、およびインターフェースを備えることができる。イベントリスナ208は、公開台帳112上の記憶されているスマートコントラクトに関連する1つまたは複数のイベントを検出するように、制御回路202によって公開台帳112上に展開することができる。1つまたは複数のイベントは、公開台帳112上のユーザのウォレットアカウントのスマートコントラクトに関連付けられた1つまたは複数のレコードに相当することができる。イベントリスナ208は、プログラムコード/ソフトウェアプログラムおよび/または当該技術分野において知られているいくつかのプロセッサ技術に基づいて実装されてもよい。
【0047】
ネットワークインターフェース210は、通信ネットワーク116を介して、ハイブリッド認証システム102、ウェブアプリケーションサーバ104、リソースサーバ108、アイデンティティプロバイダ110、公開台帳112、およびユーザデバイス114の間の通信を容易にするように構成することができる適切なロジック、回路、およびインターフェースを備えることができる。ネットワークインターフェース210は、ハイブリッド認証システム102と通信ネットワーク116との有線または無線通信をサポートするための様々な既知の技術の使用によって実装されてもよい。ネットワークインターフェース210は、限定ではないが、アンテナ、無線周波数(RF)送受信機、1つもしくは複数の増幅器、チューナ、1つもしくは複数の発振器、デジタル信号プロセッサ、コーダ/デコーダ(CODEC)チップセット、加入者識別モジュール(SIM)カード、またはローカルバッファ回路を含むことができる。ネットワークインターフェース210は、無線通信を介して、インターネット、イントラネット、または携帯電話ネットワーク、無線ローカルエリアネットワーク(LAN)およびメトロポリタンエリアネットワーク(MAN)等の無線ネットワークと通信するように構成することができる。
【0048】
無線通信は、グローバルシステムフォーモバイルコミュニケーションズ(GSM)、拡張データGSM環境(EDGE)、広帯域符号分割多元接続(W-CDMA)、ロングタームエボリューション(LTE)、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、Bluetooth、ワイヤレスフィデリティ(Wi-Fi)(IEEE 802.11 a、IEEE 802.11 b、IEEE 802.11 g、またはIEEE 802.11 n等)、ボイスオーバーインターネットプロトコル(VoIP)、ライトフィデリティ(Li-Fi)、世界規模相互運用マイクロ波アクセス(Wi-MAX)、電子メール、インスタントメッセージング、およびショートメッセージサービス(SMS)のためのプロトコル等の複数の通信規格、プロトコル、および技術のうちの1つまたは複数を使用するように構成されてもよい。
【0049】
いくつかの例示的な実施形態では、ハイブリッド認証システム102は、ウェブアプリケーションサーバ104からの要求のウォレットベースの認証を実行するように構成することができる1つまたは複数のエッジデバイス212をさらに含むことができる。1つまたは複数のエッジデバイス212の各エッジデバイスは、企業またはサービスプロバイダ基幹ネットワークへのエントリポイントを提供することができる。1つまたは複数のエッジデバイス212は、例えば、ルータ、ルーティングスイッチ、統合アクセスデバイス(IAD)、マルチプレクサ、ならびに様々なMANおよびWANアクセスデバイスを含んでもよい。制御回路202によって実行される動作は、例えば、
図3A、
図3B、
図4A、
図4B、および
図5に詳細に記載されている。
【0050】
図3Aおよび
図3Bは集合的に、本開示の一実施形態による、アイデンティティプロバイダのウェブIDをユーザのウォレットアカウントにリンクさせるためのシーケンス図を示す。
図3Aおよび
図3Bは、
図1および
図2の要素に関連して説明される。
図3Aおよび
図3Bを参照すると、アイデンティティプロバイダ110のウェブIDをユーザのウォレットアカウントの公開鍵にリンクさせる方法を示すシーケンス
図300が示されている。一連の動作は、ハイブリッド認証システム102、ウェブアプリケーションサーバ104、アイデンティティプロバイダ110、および公開台帳112等のネットワーク環境100の様々な要素によって実行され得る302~324であってもよい。
【0051】
302において、ウェブアプリケーションサーバ104は、ユーザ118のアクセス要求およびユーザ登録詳細をハイブリッド認証システム102に送信することができる。アクセス要求は、アイデンティティプロバイダ110からアクセストークンを取得するために送信することができる。ウェブアプリケーションサーバ104、すなわちトークンベアラは、リソースサーバ108から、ユーザ118に関連するセキュアコンテンツ108aにアクセスするために、ユーザ118に代わって認証される。また、アクセス要求およびユーザ登録詳細は、ユーザデバイス114のウェブクライアント114aを介して、ウェブアプリケーション106上でのSSOを求めるユーザの要求に基づいてハイブリッド認証システム102に送信することもできる。
【0052】
304において、ハイブリッド認証システム102は、認証のためにアクセス要求をアイデンティティプロバイダ110にリダイレクトするように構成することができる。ハイブリッド認証システム102は、ウェブアプリケーションサーバ104からユーザ118のアクセス要求およびユーザ登録詳細を受信するように構成することができる。例えば、ハイブリッド認証システム102は、アクセス要求をアイデンティティプロバイダ110のウェブページにリダイレクトするように構成することができる。
【0053】
306において、アイデンティティプロバイダ110は、アクセス要求の認証に基づいてアクセストークンを発行するように構成することができる。一例として、アクセストークンは、Oauthプロトコルに従って、アイデンティティプロバイダ110によって発行されるOauthトークンであってもよい。アイデンティティプロバイダ110は、ユーザ118のユーザ登録詳細に基づいてアクセス要求およびユーザ118のアイデンティティを認証するように構成することができる。アイデンティティプロバイダ110は、ユーザ118のアクセス要求に関連付けられたアクセストークンを生成するようにさらに構成することができる。アクセストークンは、アクセストークンのベアラがリソースサーバ108へのアクセスを認可されており、アクセストークンに認められた範囲に従ってリソースサーバ108に対して特定の操作(例えば、データ取り出し)を実行することを許可されていることを表すことができる固有の文字列を含んでもよい。
【0054】
308において、ハイブリッド認証システム102は、スマートコントラクトを介して、アクセストークンおよびユーザ登録詳細を公開台帳112に安全に記憶するようにさらに構成することができる。スマートコントラクトは、ウォレットアドレス、ユーザ識別子、およびステータス識別子、ならびにリソースサーバ108のアクセストークンを公開台帳112上に記憶する自己実行可能プログラムであってもよい。スマートコントラクト自体は、公開台帳112に記憶することができる。
【0055】
ウォレットアドレスは、ユーザ118のウォレットアカウント等の、ユーザのウォレットアカウントのためのものであってもよい。スマートコントラクトに記憶されているステータス識別子は、ユーザのウォレットアカウントのウォレットアドレスまたはウォレットIDが、アイデンティティプロバイダ110のウェブIDにリンクされているか否かを示すことができる。本明細書において、ウェブIDは、統一資源識別子(URI)を使用して企業、組織、またはエージェントを識別するための固有の方法であり得る。アイデンティティプロバイダ110のウェブIDは、予め指定されたURIであってもよく、これは、アイデンティティプロバイダ110を一義的に識別するために使用され得る文字列であってもよい。公開台帳112上のユーザ118のウォレットアカウントは、公開台帳112上のユーザ118の暗号化ウォレットアカウントであってもよい。公開台帳112上のユーザ118のウォレットアカウントは、公開鍵および秘密鍵に関連付けられ得る。ユーザのウォレットアカウントのウォレットIDは、公開台帳112上のユーザのウォレットアカウントに割り当てられた一意のIDであり得る。
【0056】
310において、ハイブリッド認証システム102は、スマートコントラクト内のステータス識別子をリンクされていないものとして更新するように構成することができる。リンクされていないステータス識別子は、ユーザのウォレットアカウントのウォレットID(またはウォレットアドレス)がアイデンティティプロバイダ110のウェブIDにリンクされていないことを示すことができる。最初に、ウォレットID(またはウォレットアドレス)はウェブIDにリンクされていなくてもよく、そのため、ステータス識別子はリンクされていないとして更新されてもよい。公開台帳112に記憶されたウォレットアドレス、ユーザ識別子、ステータス識別子、およびアクセストークンの例示的なレコードは、以下のように表2に提供される。
【表2】
表2:公開台帳上の例示的なレコード
【0057】
312において、ハイブリッド認証システム102は、イベントリスナ208を公開台帳112に対して展開するようにさらに構成することができる。ハイブリッド認証システム102は、展開されたイベントリスナ208を使用して、公開台帳112上の記憶されたスマートコントラクトに関連する1つまたは複数のイベントを検出するようにさらに構成することができる。1つまたは複数のイベントは、公開台帳112上のユーザのウォレットアカウントのスマートコントラクトに関連付けられた1つまたは複数のレコードに相当することができる。例えば、イベントは、公開台帳112上のユーザのウォレットアカウントに関連付けられた現在のユーザ活動のレコードに相当することができる。
【0058】
314において、イベントリスナ208は、記憶されたスマートコントラクトに関連するイベント情報をハイブリッド認証システム102に送信するように構成することができる。イベント情報は、公開台帳112上の記憶されたスマートコントラクトに関連する検出された1つまたは複数のイベントを含むことができる。例えば、検出されたイベントは、公開台帳112上のユーザのウォレットアカウントへのユーザログインに相当することができる。
【0059】
316において、ハイブリッド認証システム102は、公開台帳112上の検出された1つまたは複数のイベントに基づいて、アイデンティティプロバイダ110による受信したアクセストークンの有効性検証要求を開始するようにさらに構成することができる。アイデンティティプロバイダ110は、受信されたアクセストークンが有効であるか否かを判定するように構成することができる。
【0060】
318において、アイデンティティプロバイダ110は、開始された有効性検証要求に対する応答をハイブリッド認証システム102に送信するようにさらに構成することができる。応答は、アクセストークンが有効であるか否かを示すことができる情報を含むことができる。例えば、受信されるアクセストークンが有効である場合、アイデンティティプロバイダ110は、受信されるアクセストークンが有効であることを示す応答をハイブリッド認証システム102に送信するように構成されてもよい。代替的に、受信されるアクセストークンが無効である場合、アイデンティティプロバイダ110は、受信されるアクセストークンが無効であることを示す応答をハイブリッド認証システム102に送信するように構成されてもよい。ハイブリッド認証システム102は、アイデンティティプロバイダ110から応答を受信するように構成されてもよい。
【0061】
320において、ハイブリッド認証システム102は、アイデンティティプロバイダ110から受信される応答に基づいて、受信されているアクセストークンの有効性を検証するようにさらに構成することができる。ハイブリッド認証システム102は、アイデンティティプロバイダ110から受信される応答がアクセストークンを有効と確認する場合、受信されているアクセストークンを有効と確認するようにさらに構成することができる。代替的に、ハイブリッド認証システム102は、アイデンティティプロバイダ110から受信される応答がユーザ118と関連付けられるアクセストークンを無効と確認する場合、受信されているアクセストークンを無効と確認するようにさらに構成されてもよい。
【0062】
322において、ハイブリッド認証システム102は、受信されるアクセストークンの有効性検証に基づいて、アイデンティティプロバイダ110のウェブIDをユーザのウォレットアカウントのウォレットID(またはウォレットアドレス)とリンクさせるようにさらに構成することができる。例えば、アイデンティティプロバイダ110が電子メールサービスプロバイダである場合、ハイブリッド認証システム102は、電子メールサービスプロバイダのウェブIDを、公開台帳112上のユーザのウォレットアカウントのウォレットID(またはウォレットアドレス)とリンクさせるように構成することができる。
【0063】
付加的または代替的に、ユーザのウォレットアカウントは、相当する複数のアイデンティティプロバイダの複数のウェブIDにリンクされてもよい。ハイブリッド認証システム102は、相当する複数のアイデンティティプロバイダの複数のウェブIDを、公開台帳112上のユーザのウォレットアカウントのウォレットID(またはウォレットアドレス)とリンクさせるようにさらに構成することができる。例えば、アイデンティティプロバイダとしての電子メールサービスプロバイダ、および1つまたは複数のソーシャルメディアネットワークプロバイダを用いて、ハイブリッド認証システム102は、アイデンティティプロバイダのウェブIDをユーザのウォレットアカウントのウォレットID(またはウォレットアドレス)とリンクさせるように構成されてもよい。
【0064】
324において、ハイブリッド認証システム102は、アイデンティティプロバイダ110のウェブIDとユーザのウォレットアカウントのウォレットID(またはウォレットアドレス)との間のリンクに基づいて、リンクされているスマートコントラクト内のステータス識別子を更新するようにさらに構成することができる。アイデンティティプロバイダ110のウェブIDを含む更新されたステータス識別子は、公開台帳112に記憶することができ、ウォレットID(またはウォレットアドレス)とアイデンティティプロバイダ110のウェブIDとの間の関連付けを示すことができる。公開台帳112上のウェブID、アクセストークン、ウォレットID、および更新されたステータス識別子の例示的なレコードは、以下のように表3に提供される。
【表3】
表3:公開台帳上の更新されたレコード
【0065】
図4Aおよび
図4Bは集合的に、本開示の一実施形態による、複数の認証オプションによるSSO認証のためのシーケンス図を示す。
図4Aおよび
図4Bは、
図1、
図2、
図3Aおよび
図3Bの要素に関連して説明される。
図4Aおよび
図4Bを参照すると、複数の認証オプションによるSSO認証の方法を示すシーケンス
図400が示されている。一連の動作は、ハイブリッド認証システム102、ウェブアプリケーションサーバ104、リソースサーバ108、およびユーザデバイス114等のネットワーク環境100の様々な要素によって実行され得る402~420であってもよい。
【0066】
402において、ユーザデバイス114はウェブアプリケーションサーバ104のウェブアプリケーション106へのSSOアクセスを要求することができる。SSOアクセスを求める要求はウェブクライアント114aを介してユーザ118によって開始でき、ウェブアプリケーションサーバ104に通信することができる。
【0067】
404において、ウェブアプリケーションサーバ104は、リソースサーバ108上のセキュアコンテンツ108aへのアクセスを要求することができる。要求は、ユーザ118によるウェブアプリケーション106へのSSOアクセスを求めるユーザ要求の受信に基づいてハイブリッド認証システム102に提供することができる。セキュアコンテンツ108aへのアクセスは、ユーザデバイス114のウェブクライアント114aを介してユーザ118にウェブアプリケーション106の特定のサービスを提供するために必要とされ得る。
【0068】
406において、ハイブリッド認証システム102は、ウェブアプリケーションサーバ104から受信される要求に基づいて、ユーザデバイス114のユーザインターフェース上のユーザ選択可能オプションのセットの表示を制御するように構成することができる。ユーザ選択可能オプションのセットは、ウェブベースの認証方式およびウォレットベースの認証方式に相当することができる。
【0069】
408において、要求の認証のためにウェブベースの認証方式が選択された場合、ハイブリッド認証システム102は、ウェブベースの認証方式に従って要求の認証を制御するように構成することができる。認証方式は、規定のセキュリティ基準、またはユーザ選択可能オプションの表示されたセットのうちの1つを介したユーザ入力に基づいて選択することができる。ウェブベースの認証方式は、Oauthプロトコルに基づいてもよい。ウェブベースの認証方式の詳細は、例えば、
図1に提供されている。
【0070】
410において、要求の認証のためにウォレットベースの認証方式が選択された場合、ハイブリッド認証システム102は、受信されるユーザ入力に基づいてユーザデバイス114のウェブクライアント114a上でプロンプトをトリガするように構成することができる。プロンプトは、例えば、Ethereumブロックチェーン等、公開台帳112上のユーザのウォレットアカウントへのユーザログインを可能にするようにトリガすることができる。例として、ユーザのウォレットアカウントへのユーザログインは、ユーザのウォレットアカウントのウォレットアドレスおよびウォレットアドレスに関連付けられた秘密鍵に基づくことができる。ハイブリッド認証システム102は、ウェブクライアント114aを介して、公開台帳112上のユーザのウォレットアカウントへのユーザログインを検出するようにさらに構成することができる。
【0071】
412において、ハイブリッド認証システム102は、ウォレットアドレスに関連付けられた公開鍵、ユーザログインの検出、およびスマートコントラクトに基づいて、要求の認証を制御するようにさらに構成することができる。例として、要求は、ユーザのウォレットアカウントへのユーザログインの有効性検証に基づいて、さらに、ユーザのウォレットアカウントに関連付けられた公開鍵、および公開台帳112に記憶され、スマートコントラクトにリンクされたアクセストークンに基づいて認証され得る。
【0072】
414において、ハイブリッド認証システム102は、受信される要求の認証に基づいて認証情報をウェブアプリケーションサーバ104と共有するように構成することができる。認証情報は、認証情報のベアラがリソースサーバ108上のセキュアコンテンツ108aにアクセスすることを認可されていることを表すことができる情報を含むことができる。また、認証情報は、ウェブアプリケーションサーバ104からのセキュアコンテンツ108aへのアクセス要求が認証されたことを示すように、ハイブリッド認証システム102によってウェブアプリケーションサーバ104に提供することができる。
【0073】
416において、ウェブアプリケーションサーバ104は、共有認証情報を使用することによってリソースサーバ108上のセキュアコンテンツ108aにアクセスすることができる。例として、ウェブアプリケーションサーバ104は、認証情報をリソースサーバ108Aに送信して、セキュアコンテンツ108aにアクセスすることができる。リソースサーバ108は、受信される認証情報をハイブリッド認証システム102によって検証することができる。ウェブアプリケーションサーバ104は、リソースサーバ108による認証情報の有効性検証に基づいて、リソースサーバ108上のセキュアコンテンツ108aにアクセスすることを許可され得る。
【0074】
418において、ウェブアプリケーションサーバ104は、アクセスされたセキュアコンテンツ108aに基づいて、ユーザデバイス114のウェブクライアント114a上のウェブアプリケーション106のセッションを初期化することができる。
【0075】
420において、ウェブアプリケーションサーバ104は、ユーザデバイス114上のウェブクライアント114a上の初期化されたセッションにセッションIDを割り当てるようにさらに構成することができる。割り当てられたセッションIDは、ウェブクライアント114a上のウェブベースのログインに基づくサインオンのセッションIDと同一であり得る。セッションIDは、ウェブアプリケーションサーバ104が特定の期間にわたってウェブクライアント114a上のウェブアプリケーション106のセッションに割り当てることができる一意の番号であってもよい。セッションIDは、例えば、ウェブクライアント114a上のクッキー、フォームフィールド、または統一資源位置指定子(URL)内で指定されてもよい。
【0076】
図5は、本開示の一実施形態による、ユーザ識別子と、複数のユーザアカウントと、複数のウェブアカウントまたは複数のウェブIDとの間の関連付けを示す例示的な図である。
図5は、
図1、
図2、
図3Aおよび
図3B、ならびに
図4Aおよび
図4Bの要素に関連して説明される。
図5を参照すると、例示的な
図500が示されている。
【0077】
例示的な
図500は、ユーザ識別子502、複数のユーザアカウント504、および複数のウェブアカウント506を含む。図示のように、複数のユーザアカウント504は、例えば、公開台帳112上のウォレットアカウント、デジタル識別カード、または非接触スマートカードを含むことができる。同様に、複数のウェブアカウント506は、例えば、ID_Provider_1、ID_Provider_2、ID_Provider_3、およびID_Provider_4を含み得る。これらの複数のウェブアカウント506は、それぞれのウェブIDを有することができ、ユーザに代わってそれぞれのリソースサーバ上のセキュアコンテンツへのアクセスを要求するウェブアプリケーションにサービスとしてのSSOを提供する複数のアイデンティティプロバイダに相当することができる。
【0078】
複数のウェブアカウント506およびそれらのそれぞれのタイプの例を以下の表4に示す。
【表4】
表4:複数のウェブアカウントの例
【0079】
示されるように、例えば、電子メールID等のユーザ識別子502は、公開台帳112上のウォレットアカウント、デジタル識別カード、および非接触スマートカードの各々にリンクさせることができる。ウォレットアカウントは、ID_Provider_1およびID_Provider_3にリンクさせることができる。同様に、デジタル識別カードはID_Provider_3にリンクさせることができ、非接触アイデンティティカードはID_Provider_2およびID_Provider_3にリンクさせることができる。複数のユーザアカウント504は、単一のユーザによって所有されてもよく、ユーザがそれぞれ複数のユーザアカウント504および複数のウェブアカウント506から選好するユーザアカウントおよび選好するウェブアカウントを選択することを可能にしてもよい。例えば、ユーザデバイス114上のウェブクライアント114aを介して、公開台帳112上のウォレットアカウント、および、ウェブアプリケーション106へのSSOアクセスのためのアイデンティティプロバイダ110としてのID_Provider_3を選択するためのユーザ入力が提供されてもよい。
【0080】
図6は、本開示の一実施形態による、複数の認証オプションによるSSO認証のための例示的な方法を示す流れ図である。
図6は、
図1、
図2、
図3A、
図3B、
図4A、
図4B、および
図5の要素に関連して説明される。
図6を参照すると、流れ
図600が示されている。流れ
図600の例示的な方法は、例えば、ハイブリッド認証システム102等の任意のコンピューティングシステムによって実行することができる。流れ
図600の例示的な方法は、602において開始し、604に進むことができる。
【0081】
604において、ウェブアプリケーションサーバ104から、リソースサーバ108上のセキュアコンテンツ108aにアクセスすることを求める要求を受信することができる。ハイブリッド認証システム102は、ウェブアプリケーションサーバ104から、リソースサーバ108上のセキュアコンテンツ108aにアクセスすることを求める要求を受信するように構成することができる。ウェブアプリケーションサーバ104は、ウェブアプリケーションサーバ104のウェブアプリケーション106へのSSOアクセスを求めるユーザ開始要求の受信に基づいて要求を送信するようさらに構成できる。
【0082】
606において、受信される要求に基づいてユーザデバイス114のユーザインターフェース上のユーザ選択可能オプションのセットの表示を制御することができる。ハイブリッド認証システム102は、ユーザデバイス114のユーザインターフェース上のユーザ選択可能オプションのセットの表示を制御するようにさらに構成することができる。ユーザ選択可能オプションのセットは、ウェブベースの認証方式およびウォレットベースの認証方式に相当することができる。
【0083】
608において、規定のセキュリティ基準またはユーザ選択可能オプションの表示されたセットのうちの1つを介したユーザ入力に基づいて、認証方式をウェブベースの認証方式およびウォレットベースの認証方式のうちの一方として選択することができる。規定のセキュリティ基準は、ウェブアプリケーションサーバ104上でホストされている1つまたは複数のウェブアプリケーションのうちの特定のウェブアプリケーションについての規定のセキュリティレベル、特定のウェブアプリケーションについてのユーザが選好する認証方式、またはウェブベースの認証方式もしくはウォレットベースの認証方式のうちの1つに基づいて以前に試みられた認証の失敗ステータスを含むことができるが、これらに限定されない。ハイブリッド認証システム102は、認証方式を、ウェブベースの認証方式およびウォレットベースの認証方式のうちの一方として選択するように構成することができる。
【0084】
610において、選択された認証方式に基づいて、受信された要求の認証を制御することができる。ハイブリッド認証システム102は、選択認証方式に基づいて、受信された要求の認証を制御するようにさらに構成することができる。ウェブベースの認証方式が選択された場合、ハイブリッド認証システム102は、ウェブベースの認証に従って要求の認証を制御するように構成することができる。ウェブベースの認証は、Oauthプロトコルに基づいてもよい。ウォレットベースの認証方式が選択された場合、ハイブリッド認証システム102は、ウォレットベースの認証方式に従って要求の認証を制御するように構成することができる。ウォレットベースの認証方式は、公開台帳112上の記憶されたスマートコントラクトに基づくことができる。受信される要求の認証の制御に関するさらなる詳細は、例えば、
図1、
図4A、および
図4Bに記載されている。制御は終了に進むことができる。
【0085】
本開示の様々な実施形態は、複数の認証オプションによるシングルサインオン(SSO)認証のための、ハイブリッド認証システム等の、機械および/またはコンピュータによって実行可能な命令を記憶されている、非一時的コンピュータ可読媒体および/もしくは記憶媒体、ならびに/または非一時的機械可読媒体および/もしくは記憶媒体を提供することができる。少なくとも1つのコードセクションは、機械および/またはコンピュータに、ウェブアプリケーションサーバからリソースサーバ上のセキュアコンテンツにアクセスすることを求める要求を受信することを含む動作を実行させることができる。ハイブリッド認証システムは、ウェブアプリケーションサーバおよびスマートコントラクトを記憶する公開台帳に通信可能に結合することができる。動作は、受信される要求に基づいて、ユーザデバイスのユーザインターフェース上のユーザ選択可能オプションのセットの制御表示をさらに含む。ユーザ選択可能オプションのセットは、ウェブベースの認証方式およびウォレットベースの認証方式に相当することができる。ウォレットベースの認証方式は、公開台帳上の記憶されたスマートコントラクトに基づくことができる。動作は、規定のセキュリティ基準またはユーザ選択可能オプションの表示されたセットのうちの1つを介したユーザ入力に基づいて、ウェブベースの認証方式およびウォレットベースの認証方式のうちの一方を認証方式として選択することをさらに含むことができる。動作は、選択された認証方式に基づいて、受信された要求の認証を制御することをさらに含む。
【0086】
本開示の例示的な態様は、ウェブアプリケーションサーバ104および公開台帳112に通信可能に結合された制御回路202を含むハイブリッド認証システム102を含むことができる。公開台帳112は、スマートコントラクトを記憶することができる。制御回路202は、ウェブアプリケーションサーバ104から、リソースサーバ108上のセキュアコンテンツ108aにアクセスすることを求める要求を受信するように構成することができる。制御回路202は、受信される要求に基づいて、ユーザデバイス114のユーザインターフェース上のユーザ選択可能オプションのセットの表示を制御するようにさらに構成することができる。ユーザ選択可能オプションのセットは、ウェブベースの認証方式およびウォレットベースの認証方式に相当することができる。ウォレットベースの認証方式は、公開台帳112上の記憶されたスマートコントラクトに基づくことができる。制御回路202は、規定のセキュリティ基準またはユーザ選択可能オプションの表示されたセットのうちの1つを介したユーザ入力に基づいて、ウェブベースの認証方式およびウォレットベースの認証方式のうちの一方を認証方式として選択するようにさらに構成することができる。制御回路202は、選択認証方式に基づいて、受信された要求の認証を制御するようにさらに構成することができる。制御回路202は、受信される要求の認証に基づいて認証情報をウェブアプリケーションサーバ104と共有するようにさらに構成することができる。
【0087】
ウェブアプリケーションサーバ104は、1つまたは複数のウェブアプリケーションをホストすることができ、ウェブアプリケーション106へのシングルサインオン(SSO)アクセスを求めるユーザ開始要求の受信に基づいて要求を提供することができる。スマートコントラクトは、ウォレットアドレス、リソースサーバ108のアクセストークン、ユーザ識別子、およびステータス識別子を記憶する自己実行可能プログラムであってもよい。ウォレットアドレスは、公開台帳112上のユーザのウォレットアカウントのためのものであり得る。ステータス識別子は、ユーザのウォレットアカウントのウォレットアドレスまたはウォレットIDのうちの一方が、アイデンティティプロバイダ110のウェブIDにリンクされているか否かを示すことができる。リソースサーバ108は、アイデンティティプロバイダ110によって管理され得るアプリケーションプログラミングインターフェース(API)サーバであってもよい。
【0088】
ウェブアプリケーションサーバ104は、ユーザデバイス114のウェブクライアント114aからのユーザのアクセス要求に基づいて、ハイブリッド認証システム102にアクセス要求およびユーザ登録詳細を送信することができる。制御回路202は、ウェブアプリケーションサーバ104によって送信されるアクセス要求およびユーザ登録詳細を受信するようにさらに構成することができる。制御回路202は、受信されるアクセス要求の認証のために、受信されるアクセス要求をアイデンティティプロバイダ110にリダイレクトするようにさらに構成することができる。制御回路202は、受信されるアクセス要求の認証に基づいて、アイデンティティプロバイダ110からアクセストークンを受信するようにさらに構成することができる。制御回路202は、受信されるアクセストークンおよび受信されるユーザ登録詳細を、スマートコントラクトを介して公開台帳112上に安全に記憶するようにさらに構成することができる。
【0089】
制御回路202は、スマートコントラクト内のステータス識別子をリンクされていないものとして更新するようにさらに構成することができる。更新されたステータス識別子は、ユーザのウォレットアカウントのウォレットアドレスまたはウォレットIDのうちの一方が、アイデンティティプロバイダ110のウェブIDにリンクされていないことを示すことができる。制御回路202は、イベントリスナを公開台帳112上に展開するようにさらに構成することができる。制御回路202は、展開されたイベントリスナによって、公開台帳112上の記憶されたスマートコントラクトに関連する1つまたは複数のイベントを検出するようにさらに構成することができる。
【0090】
制御回路202は、公開台帳112上の検出された1つまたは複数のイベントに基づいて、アイデンティティプロバイダ110による受信したアクセストークンの有効性検証要求を開始するようにさらに構成することができる。制御回路202は、開始された有効性検証要求に対するアイデンティティプロバイダ110の応答を受信するようにさらに構成することができる。制御回路202は、受信される応答に基づいて、受信されるアクセストークンの有効性を検証するようにさらに構成することができる。制御回路202は、受信されるアクセストークンの有効性検証に基づいて、アイデンティティプロバイダ110のウェブIDを、公開台帳112上のユーザのウォレットアカウントの公開鍵、ウォレットアドレス、またはウォレットIDのうちの1つとリンクさせるようにさらに構成することができる。
【0091】
制御回路202は、リンクに基づいて、スマートコントラクト内のステータス識別子をリンクされているものとして更新するようにさらに構成することができる。制御回路202は、相当する複数のアイデンティティプロバイダの複数のウェブIDを、公開台帳112上のユーザのウォレットアカウントの公開鍵、ウォレットアドレス、またはウォレットIDのうちの1つにリンクさせるようにさらに構成することができる。制御回路202は、リンクに基づいて、スマートコントラクト内のステータス識別子をリンクされているものとして更新するようにさらに構成することができる。
【0092】
一実施形態によれば、制御回路202は、ウェブベースの認証方式を選択するために、表示されているユーザ選択可能オプションのセットのうちの第1のユーザ選択可能オプションを介してユーザ入力を受信するようにさらに構成することができる。制御回路202は、受信されるユーザ入力に基づいて、この認証方式をウェブベースの認証方式として選択するようにさらに構成することができる。制御回路202は、ウェブベースの認証方式に従って、受信された要求の認証を制御するようにさらに構成することができる。ウェブベースの認証方式は、Oauthプロトコルに基づいてもよい。
【0093】
一実施形態によれば、制御回路202は、ウォレットベースの認証方式を選択するために、表示されているユーザ選択可能オプションのセットのうちの第2のユーザ選択可能オプションを介してユーザ入力を受信するようにさらに構成することができる。制御回路202は、受信されるユーザ入力に基づいてユーザデバイス114のウェブクライアント114a上でプロンプトをトリガするようにさらに構成することができる。プロンプトは、ユーザのウォレットアカウントのウォレットアドレスおよびウォレットアドレスに関連付けられた秘密鍵を使用してユーザのウォレットアカウントへのユーザログインを可能にするようにトリガすることができる。制御回路202は、ユーザデバイス114上のウェブクライアント114aを介して、ユーザのウォレットアカウントへのユーザログインを検出するようにさらに構成することができる。制御回路202は、ウォレットアドレスに関連付けられた公開鍵およびユーザログインの検出に基づいて、受信される要求の認証を制御するようにさらに構成することができる。公開鍵は、ハイブリッド認証システム102に記憶することができる。
【0094】
制御回路202は、受信される要求の認証に基づいてアクセス認証情報をウェブアプリケーションサーバ104と共有するようにさらに構成することができる。ウェブアプリケーションサーバ104は、共有認証情報を使用してリソースサーバ108上のセキュアコンテンツ108aにアクセスすることができる。ウェブアプリケーションサーバ104はさらに、アクセスされたセキュアコンテンツ108aに基づいて、ユーザデバイス114のウェブクライアント114a上のウェブアプリケーション106のセッションを初期化することができる。ウェブアプリケーションサーバ104はさらに、初期化されたセッションにセッションIDを割り当てることができる。割り当てられたセッションIDは、ウェブベースのログインに基づくサインオンのセッションIDと同一であり得る。
【0095】
制御回路202は、受信される要求の認証に基づいてユーザプロファイルイメージを構築するようにさらに構成することができる。ユーザプロファイルイメージは、ウェブアプリケーションサーバ104上でホストされている1つまたは複数のウェブアプリケーションのためのアプリケーション統一資源位置指定子(URL)、認証タイプ、アイデンティティプロバイダ名、アクセストークンに事前に割り当てられた有効期間、および再認証ステータスを含むことができる。規定のセキュリティ基準は、ウェブアプリケーションサーバ104上でホストされている1つまたは複数のウェブアプリケーションのうちの特定のウェブアプリケーションについての規定のセキュリティレベル、特定のウェブアプリケーションについてのユーザが選好する認証方式、またはウェブベースの認証方式もしくはウォレットベースの認証方式のうちの1つに基づいて以前に試みられた認証の失敗ステータスを含むことができる。
【0096】
本開示は、ハードウェア、またはハードウェアとソフトウェアとの組み合わせで実現されてもよい。本開示は、少なくとも1つのコンピュータシステムにおいて集中化様式で、または、複数の異なる要素がいくつかの相互接続されたコンピュータシステムにわたって分散され得る分散様式で実現されてもよい。本明細書に記載の方法を実行するように適合されたコンピュータシステムまたは他の装置が適し得る。ハードウェアとソフトウェアの組み合わせは、ロードされ実行されるときに、コンピュータシステムが本明細書に記載の方法を実行するようにコンピュータシステムを制御することができるコンピュータプログラムを有する汎用コンピュータシステムであってもよい。本開示は、他の機能も実行する集積回路の一部を含むハードウェアにおいて実現されてもよい。
【0097】
本開示はまた、本明細書に記載された方法の実施を可能にするすべての特徴を含み、コンピュータシステムにロードされたときにこれらの方法を実行することができるコンピュータプログラム製品に組み込まれてもよい。本明細書において、コンピュータプログラムとは、情報処理能力を有するシステムに、特定の機能を直接的に、または、a)別の言語、コードまたは表記法への変換、b)異なる素材形式での再生のいずれかまたは両方の後に実行させるように意図された命令セットの任意の言語、コードまたは表記の表現を意味する。
【0098】
本開示は、特定の実施形態を参照して説明されているが、本開示の範囲から逸脱することなく、様々な変更がなされ得、均等物が置換され得ることが、当業者によって理解される。その上、その範囲から逸脱することなく、特定の状況または材料を本開示の教示に適合させるために、多くの修正がなされてもよい。そのため、本開示は、開示される特定の実施形態に限定されず、本開示は、添付の特許請求項の範囲内に入るすべての実施形態を含むことが意図される。
【国際調査報告】