(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-27
(45)【発行日】2023-01-11
(54)【発明の名称】マルチアプリコミュニケーションシステムにおける向上した多要素認証のための方法、システム、および装置
(51)【国際特許分類】
G06F 21/42 20130101AFI20221228BHJP
【FI】
G06F21/42
(21)【出願番号】P 2021544285
(86)(22)【出願日】2020-01-30
(86)【国際出願番号】 US2020015924
(87)【国際公開番号】W WO2020160297
(87)【国際公開日】2020-08-06
【審査請求日】2022-09-22
(32)【優先日】2019-01-31
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】322001222
【氏名又は名称】スラック テクノロジーズ, エルエルシー
(74)【代理人】
【識別番号】110001427
【氏名又は名称】弁理士法人前田特許事務所
(72)【発明者】
【氏名】パイク マーク
(72)【発明者】
【氏名】スキーマーズ ローランド
(72)【発明者】
【氏名】マクフェイル ジェームズ
(72)【発明者】
【氏名】ワール マシュー
【審査官】小林 秀和
(56)【参考文献】
【文献】米国特許出願公開第2009/0300744(US,A1)
【文献】米国特許第9596223(US,B1)
【文献】特開2017-146985(JP,A)
【文献】特表2014-531683(JP,A)
【文献】特開2012-032993(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/42
G06F 21/31
G06Q 50/00
H04L 51/04
(57)【特許請求の範囲】
【請求項1】
検証済みサードパーティ多要素認証リソースと通信が可能なマルチアプリコミュニケーションシステムであって、
前記マルチアプリコミュニケーションシステムは、クライアントデバイス上で実行されるマルチアプリコミュニケーションシステムアプリケーションを介してサードパーティリソースへの認証されたアクセスを提供するよう構成され、
前記マルチアプリコミュニケーションシステムは、少なくとも1つのプロセッサと、前記プロセッサに関連付けられ、コンピュータコード化された命令を有するメモリとを備え、前記コンピュータコード化された命令は、前記プロセッサによって実行された時、前記マルチアプリコミュニケーションシステムに、
認証されたユーザアカウントに関連付けられた認証されたセッションを起動することと、
前記認証されたユーザアカウントに関連付けられた前記認証されたセッションの間に、前記クライアントデバイス上で実行される前記マルチアプリコミュニケーションシステムアプリケーションからサードパーティサインイン要求を受け取ることと、
多要素確認メッセージを前記検証済みサードパーティ多要素認証リソースへ送信させることと、
前記多要素確認メッセージを特定するために前記検証済みサードパーティ多要素認証リソースへのクエリを実行することと、
ユーザエンゲージメントが行われなくても認証のために前記多要素確認メッセージから多要素メッセージコードを自動的に抽出することと、
前記認証されたユーザアカウントに関連付けられた前記認証されたセッションの間に、前記サードパーティリソースへのアクセスをイネーブルすることと、
を行わせるように構成されている、マルチアプリコミュニケーションシステム。
【請求項2】
前記コンピュータコード化された命令は、前記マルチアプリコミュニケーションシステムに、
前記多要素メッセージコードの妥当性を確認させること
を行わせるようにさらに構成されている、請求項1に記載の
マルチアプリコミュニケーションシステム。
【請求項3】
前記多要素確認メッセージから前記多要素メッセージコードを前記マルチアプリコミュニケーションシステムに抽出させるよう構成された前記コンピュータコード化された命令は、前記マルチアプリコミュニケーションシステムに、
前記多要素確認メッセージを解析して前記多要素メッセージコードを含む認証リンクを特定することと、
前記認証リンクから前記多要素メッセージコードを抽出することと、
を行わせるようにさらに構成されている、請求項2に記載の
マルチアプリコミュニケーションシステム。
【請求項4】
前記コンピュータコード化された命令は、前記マルチアプリコミュニケーションシステムに、
サインインプロンプトインタフェースを生成することと、
前記マルチアプリコミュニケーションシステムアプリケーションを介して、前記サインインプロンプトインタフェースのレンダリングを前記クライアントデバイスにさせることと、
を行わせるようにさらに構成されており、
前記クライアントデバイスを介する前記サインインプロンプトインタフェースとのエンゲージメントに応答して、前記サードパーティサインイン要求が受け取られる、
請求項1に記載の
マルチアプリコミュニケーションシステム。
【請求項5】
前記コンピュータコード化された命令は、前記マルチアプリコミュニケーションシステムに、
前記サードパーティリソースに関連付けられた検証済みリソース情報を受け取ることであって、
前記検証済みリソース情報は、前記サードパーティリソースへのアクセスをイネーブルするように構成されている、
検証済みリソース情報を受け取ることと、
前記認証されたユーザアカウントに関連付けられている前記検証済みリソース情報を記憶することと
を行わせるようにさらに構成されている、請求項1に記載の
マルチアプリコミュニケーションシステム。
【請求項6】
前記検証済みリソース情報は、前記サードパーティリソースに関連付けられたサードパーティリソース認証トークンを含む、請求項5に記載の
マルチアプリコミュニケーションシステム。
【請求項7】
前記コンピュータコード化された命令は、前記マルチアプリコミュニケーションシステムに、
前記認証されたユーザアカウントに関連付けられているユーザアカウント詳細を特定することと、
1次認証法を用いて、前記サードパーティリソースに対する前記ユーザアカウント詳細の妥当性を前記サードパーティリソースに確認させることと、
前記ユーザアカウント詳細がサードパーティリソースユーザアカウントに関連付けられていることを示す認証応答を受け取ることと、
を行わせるようにさらに構成されている、請求項1に記載の
マルチアプリコミュニケーションシステム。
【請求項8】
前記コンピュータコード化された命令は、前記マルチアプリコミュニケーションシステムに、
サードパーティ多要素認証リソースアクセス要求を送信することと、
前記マルチアプリコミュニケーションシステムアプリケーションを介して、サードパーティ多要素認証リソースアクセスプロンプトインタフェースのレンダリングを前記クライアントデバイスにさせることと、
前記サードパーティ多要素認証リソースアクセスプロンプトインタフェースとのユーザエンゲージメントに応答して、サードパーティ多要素認証リソースアクセス許可を受け取ることと、
を行わせるようにさらに構成されている、請求項1に記載の
マルチアプリコミュニケーションシステム。
【請求項9】
前記コンピュータコード化された命令は、前記マルチアプリコミュニケーションシステムに、
サードパーティリソースアクセス要求を送信することと、
前記マルチアプリコミュニケーションシステムアプリケーションを介して、サードパーティリソースアクセスプロンプトインタフェースのレンダリングを前記クライアントデバイスにさせることと、
前記サードパーティリソースアクセスプロンプトインタフェースとのユーザエンゲージメントに応答して、サードパーティリソースアクセス許可を受け取ることと
を行わせるようにさらに構成されている、請求項1に記載の
マルチアプリコミュニケーションシステム。
【請求項10】
前記コンピュータコード化された命令は、前記マルチアプリコミュニケーションシステムに、
前記多要素確認メッセージを生成すること
を行わせるようにさらに構成されており、
前記多要素確認メッセージを送信させるよう構成された前記コンピュータコード化された命令は、前記マルチアプリコミュニケーションシステムに、
前記多要素確認メッセージを前記検証済みサードパーティ多要素認証リソースへ送信すること
を行わせるように構成されたコンピュータコード化された命令を含む、
請求項1に記載の
マルチアプリコミュニケーションシステム。
【請求項11】
前記多要素確認メッセージを送信させるよう構成された前記コンピュータコード化された命令は、前記マルチアプリコミュニケーションシステムに、
前記多要素確認メッセージを前記検証済みサードパーティ多要素認証リソースへ送信させるために多要素要求を前記サードパーティリソースへ送信すること
を行わせる、請求項1に記載の
マルチアプリコミュニケーションシステム。
【請求項12】
前記コンピュータコード化された命令は、前記マルチアプリコミュニケーションシステムに、
前記認証されたセッションの起動に応答して、アプリ内自動認証プロンプトインタフェースを生成することと、
前記アプリ内自動認証プロンプトインタフェースのレンダリングを第2クライアントデバイスにさせることと、
前記アプリ内自動認証プロンプトインタフェースとのユーザエンゲージメントに応答して、アプリ内自動認証許可を受け取ることと、
を行わせるようにさらに構成されている、請求項1に記載の
マルチアプリコミュニケーションシステム。
【請求項13】
前記コンピュータコード化された命令は、前記マルチアプリコミュニケーションシステムに、
前記認証されたセッションの起動に応答して、アプリ内自動認証プロンプトインタフェースを生成することと、
前記アプリ内自動認証プロンプトインタフェースのレンダリングを第2クライアントデバイスにさせることと、
前記アプリ内自動認証プロンプトインタフェースとのユーザエンゲージメントに応答して、アプリ内自動認証取り消しを受け取ることと、
前記アプリ内自動認証取り消しに応答して、前記認証されたセッションを終了することと、
を行わせるようにさらに構成されている、請求項1に記載の
マルチアプリコミュニケーションシステム。
【請求項14】
前記多要素確認メッセージは、電子メールメッセージを含み、
前記検証済みサードパーティ多要素認証リソースは、検証済み電子メールリソースを含む、
請求項1に記載の
マルチアプリコミュニケーションシステム。
【請求項15】
前記サードパーティリソースへの前記イネーブルされたアクセスは、ワンタイムセッションに関連付けられている、
請求項1に記載の
マルチアプリコミュニケーションシステム。
【請求項16】
前記コンピュータコード化された命令は、前記マルチアプリコミュニケーションシステムに、
前記クライアントデバイスが前記検証済みサードパーティ多要素認証リソースにアクセスするように構成されていることを検証すること
を行わせるようにさらに構成されている、請求項1に記載の
マルチアプリコミュニケーションシステム。
【請求項17】
前記クライアントデバイスが前記検証済みサードパーティ多要素認証リソースにアクセスするように構成されていることを
前記マルチアプリコミュニケーションシステムに検証させるように構成されている前記コンピュータコード化された命令は、前記マルチアプリコミュニケーションシステムに、
前記サードパーティサインイン要求に関連付けられているターゲットインスタンス識別子を特定することと、
前記多要素確認メッセージに関連付けられている確認インスタンス識別子を特定することと、
前記ターゲットインスタンス識別子に基づいて前記確認インスタンス識別子の妥当性を確認することと、
を行わせるようにさらに構成されている、請求項16に記載の
マルチアプリコミュニケーションシステム。
【請求項18】
前記コンピュータコード化された命令は、前記マルチアプリコミュニケーションシステムに、
前記多要素確認メッセージを解析してアクション通知を特定することと、
前記クライアントデバイス上で実行される前記マルチアプリコミュニケーションシステムアプリケーションを介して、前記アクション通知に関連付けられたマルチアプリコミュニケーションシステムインタフェースのレンダリングを前記クライアントデバイスにさせることと、
を行わせるようにさらに構成されている、請求項1に記載の
マルチアプリコミュニケーションシステム。
【請求項19】
検証済みサードパーティ多要素認証リソースと通信が可能なマルチアプリコミュニケーションシステムを介して、サードパーティリソースへの認証されたアクセスを提供するための
コンピュータにより実行される方法であって、
前記マルチアプリコミュニケーションシステムは、クライアントデバイス上で実行されるマルチアプリコミュニケーションシステムアプリケーションと通信が可能であり、
前記方法は、
認証されたユーザアカウントに関連付けられた認証されたセッションを起動することと、
前記認証されたユーザアカウントに関連付けられた前記認証されたセッションの間に、前記クライアントデバイス上で実行される前記マルチアプリコミュニケーションシステムアプリケーションからサードパーティサインイン要求を受け取ることと、
多要素確認メッセージを前記検証済みサードパーティ多要素認証リソースへ送信させることと、
前記多要素確認メッセージを特定するために前記検証済みサードパーティ多要素認証リソースへのクエリを実行することと、
ユーザエンゲージメントが行われなくても認証のために前記多要素確認メッセージから多要素メッセージコードを自動的に抽出することと、
前記認証されたユーザアカウントに関連付けられた前記認証されたセッションの間に、前記サードパーティリソースへのアクセスをイネーブルすることと、
を含む、コンピュータにより実行される方法。
【請求項20】
検証済みサードパーティ多要素認証リソースと通信が可能なマルチアプリコミュニケーションシステムを介して、サードパーティリソースへの認証されたアクセスを提供するための
コンピュータプログラムであって、
前記マルチアプリコミュニケーションシステムは、クライアントデバイス上で実行されるマルチアプリコミュニケーションシステムアプリケーションと通信が可能であり、
前記コンピュータプログラムは、
認証されたユーザアカウントに関連付けられた認証されたセッションを起動することと、
前記認証されたユーザアカウントに関連付けられた前記認証されたセッションの間に、前記クライアントデバイス上で実行される前記マルチアプリコミュニケーションシステムアプリケーションからサードパーティサインイン要求を受け取ることと、
多要素確認メッセージを前記検証済みサードパーティ多要素認証リソースへ送信させることと、
前記多要素確認メッセージを特定するために前記検証済みサードパーティ多要素認証リソースへのクエリを実行することと、
ユーザエンゲージメントが行われなくても認証のために前記多要素確認メッセージから多要素メッセージコードを自動的に抽出することと、
前記認証されたユーザアカウントに関連付けられた前記認証されたセッションの間に、前記サードパーティリソースへのアクセスをイネーブルすることと、
をコンピュータに実現させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本願は、2019年1月31日に出願された“METHODS, SYSTEMS, AND APPARATUSES FOR IMPROVED MULTI-FACTOR AUTHENTICATION IN A MULTI-APP COMMUNICATION SYSTEM”と題された米国特許出願第16/263,889号に基づく優先権を主張し、その範囲および内容の全体がそれぞれここで参照により援用される。
【0002】
本開示の実施形態は、一般的には多要素認証に関し、より具体的には、認証ユーザアカウントに関連付けられた認証セッション中、ユーザエンゲージメントが行われなくても、認証ユーザアカウントに関連付けられた多要素確認メッセージを妥当性確認することにより、多要素認証を利用するように構成されるサードパーティリソースを検証するように、マルチアプリコミュニケーションシステムを構成することに関する。
【背景技術】
【0003】
ユーザを認証する際に、さまざまなソフトウェアリソースおよびソフトウェアアプリケーションが2要素認証プロトコルを利用している。出願人は、そのような2要素認証プロトコルの従来の用途に関連する複数の欠陥および問題を特定している。適用される試み、創意工夫、およびイノベーションを通じて、出願人は、本開示の実施形態に含まれる解決手段を開発しており、その多くを本明細書において詳細に説明する。
【発明の概要】
【0004】
本明細書の実施形態は、多要素メッセージコードの自動的な特定及び妥当性確認のために、検証済みサードパーティ多要素認証リソースとの通信により、サードパーティリソースおよび/またはマルチアプリコミュニケーションシステムの機能への認証されたアクセスを提供することを目的とする。
【0005】
例示的な実施形態は、検証済みサードパーティ多要素認証リソースと通信可能なマルチアプリコミュニケーションシステムを含む。例示的なマルチアプリコミュニケーションシステムは、また、マルチアプリコミュニケーションシステムおよび/またはサードパーティリソースにアクセスするためのマルチアプリコミュニケーションシステムアプリケーションを実行するクライアントデバイスとも通信可能である。この例示的なマルチアプリコミュニケーションシステムは、少なくとも1つのプロセッサおよび当該プロセッサに関連付けられているメモリを備える。メモリは、コンピュータコード化された命令を内部に含む。メモリおよびコンピュータコード化された命令は、プロセッサにより、マルチアプリコミュニケーションシステムに、認証ユーザアカウントに関連付けられた認証セッション中にクライアントデバイス上で実行されるマルチアプリコミュニケーションシステムアプリケーションからサードパーティサインイン要求を受信させるように構成されている。さらに、この例示的なマルチアプリコミュニケーションシステムにより、多要素確認メッセージが検証済みサードパーティ多要素認証リソースへ送信される。さらに、この例示的なマルチアプリコミュニケーションシステムにより、多要素確認メッセージを特定するために検証済みサードパーティ多要素認証リソースへのクエリが作成される。さらに、この例示的なマルチアプリコミュニケーションシステムにより、認証ユーザアカウントに関連付けられた認証セッション中にサードパーティリソースへのアクセスがイネーブルされる。
【0006】
別の例示的な実施形態は、検証済みサードパーティ多要素認証リソースと通信可能なマルチアプリ通信装置を備える。この例示的なマルチアプリ通信装置は、マルチアプリ通信装置および/またはサードパーティリソースにアクセスするためのマルチアプリコミュニケーションシステムアプリケーションを実行するクライアントデバイスとも通信可能である。この例示的なマルチアプリ通信装置は、少なくとも1つのプロセッサおよび当該プロセッサに関連付けられているメモリを備える。メモリは、内部にコンピュータコード化された命令を含む。メモリおよびコンピュータコード化された命令は、プロセッサにより、マルチアプリ通信装置に、認証ユーザアカウントに関連付けられた認証セッション中にクライアントデバイス上で実行されるマルチアプリコミュニケーションシステムアプリケーションからサードパーティサインイン要求を受信させるように構成されている。さらに、この例示的なマルチアプリ通信装置により、多要素確認メッセージが検証済みサードパーティ多要素認証リソースへ送信される。さらに、この例示的なマルチアプリ通信装置により、多要素確認メッセージを特定するために検証済みサードパーティ多要素認証リソースへのクエリが作成される。さらに、この例示的なマルチアプリ通信装置により、認証ユーザアカウントに関連付けられた認証セッション中にサードパーティリソースへのアクセスがイネーブルされる。
【0007】
別の例示的な実施形態は、検証済みサードパーティ多要素認証リソースと通信可能なマルチアプリコミュニケーションシステムを介してサードパーティリソースへの認証されたアクセスを提供する方法を含む。マルチアプリコミュニケーションシステムは、クライアントデバイス上で実行されるマルチアプリコミュニケーションシステムアプリケーションと通信可能である。この例示的な方法は、認証ユーザアカウントに関連付けられた認証セッション中にクライアントデバイス上で実行されるマルチアプリコミュニケーションシステムアプリケーションからサードパーティサインイン要求を受信するステップを含む。この例示的な方法は、多要素確認メッセージを検証済みサードパーティ多要素認証リソースへ送信させるステップをさらに含む。この例示的な方法は、多要素確認メッセージを特定するために検証済みサードパーティ多要素認証リソースへのクエリを実行するステップをさらに含む。この例示的な方法は、認証ユーザアカウントに関連付けられた認証セッション中、サードパーティリソースへのアクセスをイネーブルするステップをさらに含む。
【0008】
別の例示的な実施形態は、検証済みサードパーティ多要素認証リソースと通信可能なマルチアプリコミュニケーションシステムを介してサードパーティリソースへの認証されたアクセスを提供するコンピュータプログラム製品を含む。マルチアプリコミュニケーションシステムは、クライアントデバイス上で実行されるマルチアプリコミュニケーションシステムアプリケーションと通信可能である。この例示的なコンピュータプログラム製品は、コンピュータ実行可能なプログラムコード命令を内部に保存した少なくとも1つの非一時的コンピュータで読み取り可能な記憶媒体を備える。この例示的なコンピュータプログラム製品は、認証ユーザアカウントに関連付けられた認証セッション中にクライアントデバイス上で実行されるマルチアプリコミュニケーションシステムアプリケーションからサードパーティサインイン要求を受信するためのコンピュータ実行可能なプログラムコード命令を含む。この例示的なコンピュータプログラム製品は、多要素確認メッセージを検証済みサードパーティ多要素認証リソースへ送信させるためのプログラムコード命令をさらに含む。この例示的なコンピュータプログラム製品は、多要素確認メッセージを特定するために検証済みサードパーティ多要素認証リソースへのクエリを実行させるためのプログラムコード命令をさらに含む。この例示的なコンピュータプログラム製品は、認証ユーザアカウントに関連付けられた認証セッション中にサードパーティリソースへのアクセスをイネーブルするためのプログラムコード命令をさらに含む。
【0009】
いくつかの例示的な実施形態は、多要素確認メッセージから多要素メッセージコードを抽出するステップ、および多要素メッセージコードを検証させるステップを含み、またはそうでなければ多要素確認メッセージから多要素メッセージコードを抽出し、多要素メッセージコードを検証させるための命令を含む。
【0010】
いくつかの例示的な実施形態は、多要素確認メッセージを解析して多要素メッセージコードを含む認証リンクを特定するステップ、および認証リンクから多要素メッセージコードを抽出するステップを含み、またはそうでなければ多要素確認メッセージを解析して多要素メッセージコードを含む認証リンクを特定し、認証リンクから多要素メッセージコードを抽出するための命令を含む。
【0011】
いくつかの例示的な実施形態は、サインインプロンプトインタフェースを生成するステップ、およびマルチアプリコミュニケーションシステムアプリケーションを介してクライアントデバイスにサインインプロンプトインタフェースをレンダリングさせるステップを含み、またはそうでなければサインインプロンプトインタフェースを生成し、マルチアプリコミュニケーションシステムアプリケーションを介してクライアントデバイスにサインインプロンプトインタフェースをレンダリングさせるための命令を含み、ここで、サードパーティサインイン要求は、クライアントデバイスを介するサインインプロンプトインタフェースとのエンゲージメントに応じて受信される。
【0012】
いくつかの例示的な実施形態は、サードパーティリソースに関連付けられ、サードパーティリソースにアクセスするように構成される検証済みリソース情報を受信するステップ、および認証ユーザアカウントに関連付けられている検証済みリソース情報を保存するステップを含み、またはそうでなければサードパーティリソースに関連付けられ、サードパーティリソースにアクセスするように構成される検証済みリソース情報を受信し、認証ユーザアカウントに関連付けられている検証済みリソース情報を保存するための命令を含む。
【0013】
いくつかの例示的な実施形態では、検証済みリソース情報は、サードパーティリソースに関連付けられているサードパーティリソース認証トークンを含む。これに加えてまたはこれに代えて、いくつかの実施形態では、サードパーティリソース認証トークンは、特定のサードパーティリソースユーザアカウントにリンクされる。
【0014】
いくつかの例示的な実施形態は、認証ユーザアカウントに関連付けられているユーザアカウント詳細を特定するステップ、1次認証法を用いてサードパーティリソースにより、サードパーティリソースに対するユーザアカウント詳細を妥当性確認させるステップ、およびユーザアカウント詳細がサードパーティリソースユーザアカウントに関連付けられていることを示す認証応答を受信するステップを含み、またはそうでなければ認証ユーザアカウントに関連付けられているユーザアカウント詳細を特定し、1次認証法を用いてサードパーティリソースにより、サードパーティリソースに対するユーザアカウント詳細を妥当性確認させ、ユーザアカウント詳細がサードパーティリソースユーザアカウントに関連付けられていることを示す認証応答を受信するための命令を含む。
【0015】
いくつかの例示的な実施形態は、サードパーティ多要素認証リソースアクセス要求を送信するステップ、マルチアプリコミュニケーションシステムアプリケーションを介してクライアントデバイスにサードパーティ多要素認証リソースアクセスプロンプトインタフェースをレンダリングさせるステップ、およびサードパーティ多要素認証リソースアクセスプロンプトインタフェースとのユーザエンゲージメントに応じてサードパーティ多要素認証リソースアクセス許可を受信するステップを含み、またはそうでなければサードパーティ多要素認証リソースアクセス要求を送信し、マルチアプリコミュニケーションシステムアプリケーションを介してクライアントデバイスにサードパーティ多要素認証リソースアクセスプロンプトインタフェースをレンダリングさせ、サードパーティ多要素認証リソースアクセスプロンプトインタフェースとのユーザエンゲージメントに応じてサードパーティ多要素認証リソースアクセス許可を受信するための命令を含む。
【0016】
いくつかの例示的な実施形態は、サードパーティリソースアクセス要求を送信するステップ、マルチアプリコミュニケーションシステムアプリケーションを介してクライアントデバイスにサードパーティリソースアクセスプロンプトインタフェースをレンダリングさせるステップ、およびサードパーティリソースアクセスプロンプトインタフェースとのユーザエンゲージメントに応じてサードパーティリソースアクセス許可を受信するステップを含み、またはそうでなければサードパーティリソースアクセス要求を送信し、マルチアプリコミュニケーションシステムアプリケーションを介してクライアントデバイスにサードパーティリソースアクセスプロンプトインタフェースをレンダリングさせ、サードパーティリソースアクセスプロンプトインタフェースとのユーザエンゲージメントに応じてサードパーティリソースアクセス許可を受信するための命令を含む。
【0017】
いくつかの例示的な実施形態は、多要素確認メッセージを生成するステップ、および検証済みサードパーティ多要素認証リソースに多要素確認メッセージを送信することにより多要素確認メッセージを送信させるステップを含み、またはそうでなければ多要素確認メッセージを生成し、検証済みサードパーティ多要素認証リソースに多要素確認メッセージを送信することにより多要素確認メッセージを送信させるための命令を含む。
【0018】
いくつかの例示的な実施形態は、多要素確認メッセージを検証済みサードパーティ多要素認証リソースへ送信させるために多要素要求をサードパーティリソースへ送信することにより多要素確認メッセージを送信するステップを含み、またはそうでなければ多要素確認メッセージを検証済みサードパーティ多要素認証リソースへ送信させるために多要素要求をサードパーティリソースへ送信することにより多要素確認メッセージを送信するための命令を含む。
【0019】
いくつかの例示的な実施形態は、認証セッションの起動に応じてアプリ内自動認証プロンプトインタフェースを生成するステップ、第2のクライアントデバイスにアプリ内自動認証プロンプトインタフェースをレンダリングさせるステップ、およびアプリ内自動認証プロンプトインタフェースとのユーザエンゲージメントに応じてアプリ内自動認証許可を受信するステップを含み、またはそうでなければ認証セッションの起動に応じてアプリ内自動認証プロンプトインタフェースを生成し、第2のクライアントデバイスにアプリ内自動認証プロンプトインタフェースをレンダリングさせ、アプリ内自動認証プロンプトインタフェースとのユーザエンゲージメントに応じてアプリ内自動認証許可を受信するための命令を含む。
【0020】
いくつかの例示的な実施形態は、認証セッションの起動に応じてアプリ内自動認証プロンプトインタフェースを生成するステップ、第2のクライアントデバイスにアプリ内自動認証プロンプトインタフェースをレンダリングさせるステップ、アプリ内自動認証プロンプトインタフェースとのユーザエンゲージメントに応じてアプリ内自動認証取り消しを受信するステップ、およびアプリ内自動認証取り消しに応じて認証セッションを終了するステップを含み、またはそうでなければ認証セッションの起動に応じてアプリ内自動認証プロンプトインタフェースを生成し、第2のクライアントデバイスにアプリ内自動認証プロンプトインタフェースをレンダリングさせ、アプリ内自動認証プロンプトインタフェースとのユーザエンゲージメントに応じてアプリ内自動認証取り消しを受信し、アプリ内自動認証取り消しに応じて認証セッションを終了するための命令を含む。
【0021】
いくつかの例示的な実施形態では、多要素確認メッセージは、電子メールメッセージを含み、検証済みサードパーティ多要素認証リソースは、検証済み電子メールリソースを含む。いくつかの例示的な実施形態では、イネーブルされるサードパーティリソースへのアクセスは、ワンタイムセッションに関連付けられている。
【0022】
いくつかの例示的な実施形態は、クライアントデバイスが検証済みサードパーティ多要素認証リソースにアクセスするように構成されていることを検証するステップを含み、またはそうでなければクライアントデバイスが検証済みサードパーティ多要素認証リソースにアクセスするように構成されていることを検証するための命令を含む。いくつかの例示的な実施形態は、サードパーティサインイン要求に関連付けられているターゲットインスタンス識別子を特定すること、確認インスタンス識別子を特定すること、およびターゲットインスタンス識別子に基づいて確認インスタンス識別子を検証することにより、クライアントデバイスが検証済みサードパーティ多要素認証リソースにアクセスするように構成されていることを検証するステップを含み、またはそうでなければサードパーティサインイン要求に関連付けられているターゲットインスタンス識別子を特定すること、確認インスタンス識別子を特定すること、およびターゲットインスタンス識別子に基づいて確認インスタンス識別子を妥当性確認することにより、クライアントデバイスが検証済みサードパーティ多要素認証リソースにアクセスするように構成されていることを検証するための命令を含む。
【0023】
いくつかの実施形態では、ターゲットインスタンス識別子は、デバイス識別子、インターネットプロトコルアドレス、クライアントデバイスに関連付けられている場所、およびアプリケーション識別子を含むグループから選択される1つを含む。いくつかの実施形態では、確認インスタンス識別子は、デバイス識別子、インターネットプロトコルアドレス、クライアントデバイスに関連付けられている場所、およびアプリケーション識別子を含むグループから選択される1つを含む。
【0024】
いくつかの例示的な実施形態は、多要素確認メッセージを解析してアクション通知を特定するステップ、およびクライアントデバイス上で実行されるマルチアプリコミュニケーションシステムアプリケーションを介して、クライアントデバイスに、アクション通知に関連付けられているマルチアプリコミュニケーションシステムインタフェースをレンダリングさせるステップを含み、またはそうでなければ多要素確認メッセージを解析してアクション通知を特定し、クライアントデバイス上で実行されるマルチアプリコミュニケーションシステムアプリケーションを介して、クライアントデバイスに、アクション通知に関連付けられているマルチアプリコミュニケーションシステムインタフェースをレンダリングさせるための命令を含む。いくつかの実施形態では、アクション通知は、サードパーティリソースに関連付けられているサードパーティリソースアクション通知を含み、マルチアプリコミュニケーションシステムインタフェースは、サードパーティリソースに関連付けられている。
【0025】
別の例示的な実施形態は、検証済みサードパーティ多要素認証リソースと通信可能なマルチアプリコミュニケーションシステムを含む。この例示的なマルチアプリコミュニケーションシステムは、マルチアプリコミュニケーションシステムにアクセスするためのマルチアプリコミュニケーションシステムアプリケーションを実行するクライアントデバイスと通信することも可能である。この例示的なマルチアプリコミュニケーションシステムは、少なくとも1つのプロセッサおよび当該プロセッサに関連付けられているメモリを備える。メモリは、コンピュータコード化された命令を内部に含む。メモリおよびコンピュータコード化された命令は、プロセッサとともに、マルチアプリコミュニケーションシステムにより、認証ユーザアカウントに関連付けられた認証セッション中にクライアントデバイス上で実行されるマルチアプリコミュニケーションシステムアプリケーションから多要素サインイン要求を受信させるように構成される。さらに、この例示的なマルチアプリコミュニケーションシステムにより、多要素確認メッセージを検証済みサードパーティ多要素認証リソースへ送信させる。さらに、この例示的なマルチアプリコミュニケーションシステムにより、多要素確認メッセージを特定するために検証済みサードパーティ多要素認証リソースへのクエリを実行させる。さらに、この例示的なマルチアプリコミュニケーションシステムにより、特定された多要素確認メッセージに基づいて認証ユーザアカウントに関連付けられた認証セッションを起動させる。
【0026】
別の例示的な実施形態は、検証済みサードパーティ多要素認証リソースと通信可能なマルチアプリ通信装置を備える。この例示的なマルチアプリ通信装置は、マルチアプリ通信装置および/またはサードパーティリソースにアクセスするためのマルチアプリコミュニケーションシステムアプリケーションを実行するクライアントデバイスとも通信可能である。この例示的なマルチアプリ通信装置は、少なくとも1つのプロセッサおよび当該プロセッサに関連付けられているメモリを備える。メモリは、コンピュータコード化された命令を内部に含む。メモリおよびコンピュータコード化された命令は、プロセッサとともに、マルチアプリ通信装置により、認証ユーザアカウントに関連付けられた認証セッション中にクライアントデバイス上で実行されるマルチアプリコミュニケーションシステムアプリケーションからマルチアプリサインイン要求を受信させるように構成される。さらに、この例示的なマルチアプリ通信装置により、多要素確認メッセージを検証済みサードパーティ多要素認証リソースへ送信させる。さらに、この例示的なマルチアプリ通信装置により、多要素確認メッセージを特定するために検証済みサードパーティ多要素認証リソースへのクエリを実行させる。さらに、この例示的なマルチアプリ通信装置により、特定された多要素確認メッセージに基づいて認証ユーザアカウントに関連付けられた認証セッションを起動させる。
【0027】
別の例示的な実施形態は、検証済みサードパーティ多要素認証リソースと通信可能なマルチアプリコミュニケーションシステムを介してサードパーティリソースへの認証されたアクセスを提供する方法を含む。マルチアプリコミュニケーションシステムは、クライアントデバイス上で実行されるマルチアプリコミュニケーションシステムアプリケーションと通信可能である。この例示的な方法は、認証ユーザアカウントに関連付けられた認証セッション中にクライアントデバイス上で実行されるマルチアプリコミュニケーションシステムアプリケーションからマルチアプリサインイン要求を受信するステップを含む。この例示的な方法は、多要素確認メッセージを検証済みサードパーティ多要素認証リソースへ送信させるステップをさらに含む。この例示的な方法は、多要素確認メッセージを特定するために検証済みサードパーティ多要素認証リソースへのクエリを実行するステップをさらに含む。この例示的な方法は、特定された多要素確認メッセージに基づいて認証ユーザアカウントに関連付けられた認証セッションを起動するステップをさらに含む。
【0028】
別の例示的な実施形態は、検証済みサードパーティ多要素認証リソースと通信可能なマルチアプリコミュニケーションシステムを介してサードパーティリソースへの認証されたアクセスを提供するコンピュータプログラム製品を含む。マルチアプリコミュニケーションシステムは、クライアントデバイス上で実行されるマルチアプリコミュニケーションシステムアプリケーションと通信可能である。この例示的なコンピュータプログラム製品は、内部にコンピュータ実行可能なプログラムコード命令を保存した少なくとも1つの非一時的コンピュータで読み取り可能な記憶媒体を備える。この例示的なコンピュータプログラム製品は、認証ユーザアカウントに関連付けられた認証セッション中にクライアントデバイス上で実行されるマルチアプリコミュニケーションシステムアプリケーションからマルチアプリサインイン要求を受信するためのコンピュータ実行可能なプログラムコード命令を含む。この例示的なコンピュータプログラム製品は、多要素確認メッセージを検証済みサードパーティ多要素認証リソースへ送信させるためのプログラムコード命令をさらに含む。この例示的なコンピュータプログラム製品は、多要素確認メッセージを特定するために検証済みサードパーティ多要素認証リソースへのクエリを実行するためのプログラムコード命令をさらに含む。この例示的なコンピュータプログラム製品は、特定された多要素確認メッセージに基づいて認証ユーザアカウントに関連付けられた認証セッションを起動するためのプログラムコード命令をさらに含む。
【0029】
いくつかの例示的な実施形態は、多要素サインイン要求からユーザ認証クレデンシャルを抽出するステップ、1次認証法を用いてユーザ認証クレデンシャルを妥当性確認するステップ、および検証されたユーザ認証クレデンシャルに基づいて認証ユーザアカウントを特定するステップを含み、またはそうでなければ多要素サインイン要求からユーザ認証クレデンシャルを抽出し、1次認証法を用いてユーザ認証クレデンシャルを検証し、妥当性確認されたユーザ認証クレデンシャルに基づいて認証ユーザアカウントを特定するための命令を含み、検証済みサードパーティ多要素認証リソースへのクエリ作成は、特定された認証ユーザアカウントに基づく。
【0030】
いくつかの例示的な実施形態は、多要素確認メッセージから多要素メッセージコードを抽出するステップ、および多要素メッセージコードを検証させるステップを含み、またはそうでなければ多要素確認メッセージから多要素メッセージコードを抽出し、多要素メッセージコードを妥当性確認させるための命令を含む。
【0031】
いくつかの実施形態では、多要素確認メッセージから多要素メッセージコードを抽出することは、多要素確認メッセージを解析して多要素メッセージコードを含む認証リンクを特定し、認証リンクから多要素メッセージコードを抽出することを含む。
【0032】
いくつかの例示的な実施形態は、マルチアプリコミュニケーションシステムサインインプロンプトインタフェースを生成するステップ、およびマルチアプリコミュニケーションシステムアプリケーションを介してクライアントデバイスにマルチアプリコミュニケーションシステムサインインプロンプトインタフェースをレンダリングさせるステップを含み、またはそうでなければマルチアプリコミュニケーションシステムサインインプロンプトインタフェースを生成し、マルチアプリコミュニケーションシステムアプリケーションを介してクライアントデバイスにマルチアプリコミュニケーションシステムサインインプロンプトインタフェースをレンダリングさせるための命令を含み、ここで、多要素サインイン要求は、クライアントデバイスを介するマルチアプリコミュニケーションシステムサインインプロンプトインタフェースとのエンゲージメントに応じて受信される。
【0033】
いくつかの例示的な実施形態は、サードパーティリソースアクセス要求を送信するステップ、マルチアプリコミュニケーションシステムアプリケーションを介してクライアントデバイスにサードパーティリソースアクセスプロンプトインタフェースをレンダリングさせるステップ、およびサードパーティリソースアクセスプロンプトインタフェースとのユーザエンゲージメントに応じてサードパーティリソースアクセス許可を受信するステップとを含み、またはそうでなければサードパーティリソースアクセス要求を送信し、マルチアプリコミュニケーションシステムアプリケーションを介してクライアントデバイスにサードパーティリソースアクセスプロンプトインタフェースをレンダリングさせ、サードパーティリソースアクセスプロンプトインタフェースとのユーザエンゲージメントに応じてサードパーティリソースアクセス許可を受信するための命令を含む。
【0034】
いくつかの例示的な実施形態は、多多要素確認メッセージを生成するステップを含み、またはそうでなければ多要素確認メッセージを生成するための命令を含み、ここで、多要素確認メッセージを送信させることは、多要素確認メッセージを検証済みサードパーティ多要素認証リソースへ送信することを含む。
【0035】
いくつかの例示的な実施形態は、多要素確認メッセージを検証済みサードパーティ多要素認証リソースへ送信させるために多要素要求をサードパーティリソースへ送信するステップを含み、またはそうでなければ多要素確認メッセージを検証済みサードパーティ多要素認証リソースへ送信させるために多要素要求をサードパーティリソースへ送信するための命令を含む。
【0036】
いくつかの例示的な実施形態は、認証セッションの起動に応じてアプリ内自動認証プロンプトインタフェースを生成するステップ、第2のクライアントデバイスにアプリ内自動認証プロンプトインタフェースをレンダリングさせるステップ、およびアプリ内自動認証プロンプトインタフェースとのユーザエンゲージメントに応じてアプリ内自動認証許可を受信するステップを含み、またはそうでなければ認証セッションの起動に応じてアプリ内自動認証プロンプトインタフェースを生成し、第2のクライアントデバイスにアプリ内自動認証プロンプトインタフェースをレンダリングさせ、アプリ内自動認証プロンプトインタフェースとのユーザエンゲージメントに応じてアプリ内自動認証許可を受信するための命令を含む。
【0037】
いくつかの例示的な実施形態は、認証セッションの起動に応じてアプリ内自動認証プロンプトインタフェースを生成するステップ、第2のクライアントデバイスにアプリ内自動認証プロンプトインタフェースをレンダリングさせるステップ、アプリ内自動認証プロンプトインタフェースとのユーザエンゲージメントに応じてアプリ内自動認証取り消しを受信するステップ、およびアプリ内自動認証取り消しに応じて認証セッションを終了するステップを含み、またはそうでなければ認証セッションの起動に応じてアプリ内自動認証プロンプトインタフェースを生成し、第2のクライアントデバイスにアプリ内自動認証プロンプトインタフェースをレンダリングさせ、アプリ内自動認証プロンプトインタフェースとのユーザエンゲージメントに応じてアプリ内自動認証取り消しを受信し、アプリ内自動認証取り消しに応じて認証セッションを終了するための命令を含む。
【0038】
いくつかの例示的な実施形態では、多要素確認メッセージは、電子メールメッセージを含み、検証済みサードパーティ多要素認証リソースは、検証済み電子メールリソースを含む。いくつかの実施形態では、多要素確認メッセージは、ワンタイムセッションに関連付けられている。
【0039】
いくつかの例示的な実施形態は、クライアントデバイスが検証済みサードパーティ多要素認証リソースにアクセスするように構成されていることを検証するステップを含み、またはそうでなければクライアントデバイスが検証済みサードパーティ多要素認証リソースにアクセスするように構成されていることを検証するための命令を含む。
【0040】
いくつかの実施形態では、クライアントデバイスが検証済みサードパーティ多要素認証リソースにアクセスするように構成されていることを検証することは、多要素サインイン要求に関連付けられているターゲットインスタンス識別子を特定し、確認インスタンス識別子を特定し、ターゲットインスタンス識別子に基づいて確認インスタンス識別子を妥当性確認することを含む。
【0041】
いくつかの実施形態では、ターゲットインスタンス識別子は、デバイス識別子、クライアントデバイスに関連付けられている場所、インターネットプロトコルアドレス、およびアプリケーション識別子を含むグループから選択される1つである。いくつかの実施形態では、確認インスタンス識別子は、デバイス識別子、クライアントデバイスに関連付けられている場所、インターネットプロトコルアドレス、およびアプリケーション識別子を含むグループから選択される1つである。
【0042】
いくつかの例示的な実施形態は、多要素確認メッセージを解析してアクション通知を特定するステップ、およびクライアントデバイス上で実行されるマルチアプリコミュニケーションシステムアプリケーションを介して、クライアントデバイスに、アクション通知に関連付けられているマルチアプリコミュニケーションシステムインタフェースをレンダリングさせるステップを含み、またはそうでなければ多要素確認メッセージを解析してアクション通知を特定し、クライアントデバイス上で実行されるマルチアプリコミュニケーションシステムアプリケーションを介して、クライアントデバイスに、アクション通知に関連付けられているマルチアプリコミュニケーションシステムインタフェースをレンダリングさせるための命令を含む。
【0043】
いくつかの実施形態では、アクション通知は、新たなユーザアクションがマルチアプリコミュニケーションシステムに関連して発生したことを示すマルチアプリコミュニケーションシステムアクション通知を含み、マルチアプリコミュニケーションシステムインタフェースは、新たなユーザアクションに関連付けられる。
【図面の簡単な説明】
【0044】
【
図1】本開示の実施形態が動作することができる、特別に構成されうるシステムのブロック図を示す。
【
図2】本開示の例示的な実施形態により特別に構成されうるマルチアプリ通信装置のブロック図を示す。
【
図3】本開示の例示的な実施形態により構成されるマルチアプリコミュニケーションシステムを介して認証ユーザアカウントに関連付けられた認証セッションを起動する動作ステップを図示する動作データフロー図を示す。
【
図4】本開示の例示的な実施形態により構成されるマルチアプリコミュニケーションシステムを介して、認証ユーザアカウントに関連付けられた認証セッション中にサードパーティリソースを検証する動作ステップを図示する動作データフロー図を示す。
【
図5】本開示の例示的な実施形態によりサードパーティリソースを検証する例示的処理で実行されるさまざまな動作を図示するフロー図を示す。
【
図6】本開示の例示的な実施形態によるマルチアプリコミュニケーションシステムを介してサードパーティリソースを検証する詳細な例示的処理で実行されるさまざまな動作を図示するフロー図を示す。
【
図7】本開示の例示的な実施形態による、アクション通知を特定するために、電子メールメッセージの解析に応じてマルチアプリ通信インタフェースに自動的にアクセスする例示的処理で実行されるさまざまな動作を図示するフロー図を示す。
【発明を実施するための形態】
【0045】
ここで添付の図面を参照して以下に本開示の実施形態をより全体的に説明する。図面には本開示の実施形態のいくつかを示しており、すべてではない。実際には、本開示の実施形態は、多くの異なる形態で具現化されてよく、かつ本明細書に記載される実施形態に限定されるものと解釈されるべきではない。むしろ、これらの実施形態は、本開示が適用可能な法的要件を満たすように提供される。同じ番号は、全体を通して同じ要素を指す。
【0046】
[定義]
本明細書で用いるように、「データ」、「コンテンツ」、「デジタルコンテンツ」、「デジタルコンテンツオブジェクト」、「情報」なる用語および類似の用語は、同義で用いられ、本開示の実施形態により送信され、受信され、かつ/または保存されうるデータを指してよい。したがって、そのような用語を用いても、本開示の実施形態の趣旨および範囲を限定するものと解釈されるべきではない。さらに、本明細書において別の演算デバイスからデータを受信する演算デバイスを説明する場合、データは別の演算デバイスから直接的に受信されてよく、または本明細書で「ネットワーク」と称する場合がある1つ以上の中間演算デバイス、例えば1つ以上のサーバ、中継装置、ルータ、ネットワークアクセスポイント、基地局、ホスト等を介して間接的に受信されてよいことが理解される。同様に、本明細書において別の演算デバイスにデータを送信する演算デバイスを説明する場合、データは別の演算デバイスに直接的に送信されてよく、または1つ以上の中間演算デバイス、例えば1つ以上のサーバ、中継装置、ルータ、ネットワークアクセスポイント、基地局、ホスト等を介して間接的に送信されてよいことが理解される。
【0047】
「コンピュータで読み取り可能な記憶媒体」なる用語は、非一時的ストレージ媒体、物理的ストレージ媒体、または有形ストレージ媒体(例えば、揮発性メモリまたは不揮発性メモリ)を指し、電磁信号を指す「コンピュータ可読送信媒体」と区別される場合がある。
【0048】
本明細書で用いるように、「させる(cause,causing,causes)」なる用語は、一連のステップまたは動作の開始または始動を指し、それらのそれぞれが開始エンティティにより実行される必要はない。例えば、一実施形態ではマルチアプリコミュニケーションシステムは、サードパーティリソースに多要素メッセージコードを妥当性確認させる。いくつかの実施形態では、開始エンティティは、特別に構成される要求および/または送信信号を送ることにより第2のエンティティに1つ以上の動作を実行させる。
【0049】
「ユーザ」なる用語は、個人、個人のグループ、事業体、組織等を指す。本明細書で言及されるユーザは、マルチアプリコミュニケーションシステムアプリケーションを実行する少なくとも1つのクライアントデバイスを用いてマルチアプリコミュニケーションシステムにアクセスする。
【0050】
「マルチアプリコミュニケーションシステム」(multi-app communication system、マルチアプリ通信システム)、「MACシステム」、または「MACS」なる用語は、ソフトウェアプラットフォーム、ならびに(1)ネイティブなユーザ間通信機能および(2)1つ以上のサードパーティリソースとの管理された相互運用性を提供し、支援し、かつ維持するように構成される関連ハードウェアを指す。いくつかの実施形態では、MACSは、特定の認証ユーザアカウントに関連付けられているユーザに1つ以上の検証済みサードパーティリソースとの認証エンゲージメントを提供するように構成される。例示的なMACSは、MACSアプリケーション(例えば、Slack(登録商標)等のグループまたはチームベースのメッセージングサービス)に関連付けられ、またはMACSアプリケーションを介してネイティブな機能を提供するように構成され、かつMACS経由でさまざまなサードパーティリソース(例えば、Asana(登録商標)、GitHub(商標)、Zendesk(登録商標)、Google Drive(商標)、Salesforce(登録商標)、Dropbox(登録商標)等)と統合し、さまざまなサードパーティリソースへの認証されたアクセスを提供するようにさらに構成される。本明細書で考察されるさまざまな実施形態により構造化されるMACSは、さまざまなサードパーティリソースのそのようなサービスアプリケーションのサインインおよび認証動作フローを管理するようにさらに構成される。
【0051】
「マルチアプリコミュニケーションシステムアプリケーション」(multi-app communication system application、マルチアプリ通信システムアプリケーション)なる用語は、レンダリングされた1つ以上のMACSインタフェースを介してMACSに関連付けられている情報、トランザクション、または他のサービスを提供するためにクライアントデバイス上で実行されるように構成されるソフトウェアモジュール、ならびに/またはハードウェアモジュールおよびソフトウェアモジュールの組み合わせを指す。例えば、MACSアプリケーションとしては、デスクトップアプリケーション、ラップトップアプリケーション、スマートフォンアプリケーション、PDAアプリケーション、ウェブアプリケーション等が挙げられうるが、これらに限定されない。1つ以上のMACSインタフェースがMACSのネイティブな機能、および1つ以上の検証済みサードパーティリソースに関連付けられている機能を有効にするように構成される場合は、例示的なMACSアプリケーションは、当該1つ以上のMACSインタフェースを表示するように構成される。
【0052】
「マルチアプリコミュニケーションシステムインタフェース」(multi-app communication system interface、マルチアプリ通信システムインタフェース)または「MACSインタフェース」なる用語は、規定されたグループのユーザのみに対してアクセス可能となるように十分なセキュリティを有するMACSのユーザインタフェースを指す。例えば、ACME Corporationの従業員のみのために起動され、かつ従業員のみアクセス可能なSlack(登録商標)ワークスペースのユーザインタフェースは、例示的なMACSインタフェースである。MACSは、複数の特定のユーザグループおよび別のユーザグループを支援し、かつ/または接続する1つ以上の「MACSインタフェース」を備え、またはそうでなければ管理してよい。
【0053】
「サービスアプリケーション」なる用語は、レンダリングされた1つ以上のユーザインタフェースを介してクライアントデバイスに、アプリケーションサーバに関連付けられている情報、トランザクション、または他のサービスを提供するためにクライアントデバイス上で実行されるように構成されるソフトウェアモジュール、ならびに/またはハードウェアモジュールおよびソフトウェアモジュールの組み合わせを指す。例えば、サービスアプリケーションとしては、デスクトップアプリケーション、ラップトップアプリケーション、スマートフォンアプリケーション、PDAアプリケーション等が挙げられうるが、これらに限定されない。上記で定義した「MACSアプリケーション」は、特別に構成された具体的なサービスアプリケーションの例である。サードパーティリソースは、MACSアプリケーションとは別個に関連付けられたサービスアプリケーションを有してよい。
【0054】
「ユーザデバイス」または「クライアントデバイス」なる用語は、MACSにより利用可能になるMACSアプリケーションにアクセスするように構成されるコンピュータハードウェアおよび/またはコンピュータソフトウェアを指す。クライアントデバイスとしては、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、ウェアラブル機器、パーソナルコンピュータ、エンタープライズコンピュータ等が挙げられうるが、これらに限定されない。いくつかの例示的なシステムでは、クライアントデバイスは、ネットワークを介してアプリケーションサーバにアクセスするように構成される。
【0055】
「認証されたセッション(authenticated session)」なる用語は、クライアントデバイスとMACSとの間の通信のために妥当性確認されたMACSアプリケーションインスタンスまたはアクセス期間を指す。MACSアプリケーションインスタンスまたはアクセス期間中、クライアントデバイスは、MACSアプリケーションにより、MACSを介して認証されたユーザアカウントに関連付けられている特定の機能を実行し、またはそうでなければアクセスするように構成される。いくつかの実施形態では、認証ユーザアカウントに関連付けられているユーザ認証クレデンシャルがMACSに提供され、認証ユーザアカウントに関連付けられた認証セッションを起動または開始する。いくつかの実施形態では、MACSは、認証ユーザアカウントに関連付けられた認証セッション中にMACSに関連付けられている機能および/または認証ユーザアカウントに関連付けられている1つ以上の検証済みサードパーティリソースを、対応するクライアントデバイスに提供するように構成される。さらにいくつかの実施形態では、MACSは本明細書に説明するように、認証ユーザアカウントに関連付けられた認証セッション中に認証ユーザアカウントに関連付けられているサードパーティリソースを新たに検証するように構成され、それによりユーザは認証ユーザアカウントに関連付けられた認証セッション中に新たな検証済みサードパーティリソースに関連付けられている機能にアクセスしてよい。
【0056】
認証セッションは、セッションの開放または起動と、セッションの終了により定義される。さらに、認証セッションは、さらなるセッション情報、例えばセッションID番号、ユーザデバイス識別子、関連付けられているユーザ認証データ、および/または関連付けられている認証ユーザアカウントに関連付けられてよいが、これらに限定されない。
【0057】
「サードパーティリソース」なる用語は、1つ以上のサービス、トランザクション、および/または情報を1つ以上のクライアントデバイスに提供するように構成されるソフトウェアプログラム、アプリケーション、システム、プラットフォーム、またはサービスを指す。サードパーティリソースは、MACSを支援するものとは別の異なるコンパイルコードベースまたはコンパイルコードリポジトリで動作する。いくつかの実施形態では、MACSが1つ以上のアプリケーションプログラムインタフェース(API)経由でサードパーティリソースと通信し、かつその逆ともなるように構成される。いくつかの実施形態では、MACSは、マルチアプリ通信ネットワークまたはマルチアプリ通信プロトコル(例えば、ネットワークファイアウォールプロトコル)に関連付けられるセキュリティ層を考慮してサードパーティリソースとMACSとの間のセキュアな通信を容易にするために用いられるセキュリティトークンおよび/または他の認証クレデンシャルを送信する。サードパーティリソースの例としては、Asana(登録商標)、GitHub(商標)、Zendesk(登録商標)、Google Drive(商標)、Salesforce(登録商標)、Dropbox(登録商標)等が挙げられるが、これらに限定されない。
【0058】
サードパーティリソースは、識別子、例えばサードパーティリソースを一意に識別する「サードパーティリソース識別子」に関連付けられてよい。サードパーティリソース識別子の例としては、数字列、英字数字列、インターネットプロトコル(IP)アドレス等が挙げられる。
【0059】
「サードパーティ多要素認証リソース」なる用語は、クライアントまたはクライアントデバイスへの多要素確認メッセージを生成し、かつ/または提供するように構成される特定のサードパーティリソースを指す。例えば、サードパーティ多要素認証リソースなる用語は、電子メールリソース、テキストメッセージリソース、チャットメッセージングリソース、SMSリソース等を含む。サードパーティ多要素認証リソースは、MACSを支援するものとは別の異なるコンパイルコードベースまたはコンパイルコードリポジトリで動作する。いくつかの実施形態では、ユーザがサードパーティ多要素認証リソースとMACSとの間の通信を許可した後に、MACSが1つ以上のアプリケーションプログラムインタフェース(API)経由でサードパーティ多要素認証リソースと通信し、かつその逆ともなるように構成される。いくつかの実施形態では、MACSは、マルチアプリ通信ネットワークまたはマルチアプリ通信プロトコル(例えば、ネットワークファイアウォールプロトコル)に関連付けられるセキュリティ層を考慮してサードパーティ認証リソースとMACSとの間のセキュアな通信を容易にするために用いられるセキュリティトークンおよび/または他の認証クレデンシャルを送信する。サードパーティ多要素認証リソースの例としては、Microsoft Outlook(商標)、Gmail(登録商標)、WhatsApp(登録商標)、およびGoogle Hangouts(商標)が挙げられるが、これらに限定されない。
【0060】
いくつかの実施形態では、サードパーティ多要素認証リソースは電子メールリソースである。いくつかの実施形態では、サードパーティ多要素認証リソースは、クライアントデバイスに、テキストメッセージまたはSMSメッセージとして多要素メッセージコードを提供するように構成されるサードパーティリソースである。
【0061】
サードパーティ多要素認証リソースは、サードパーティ多要素認証リソースを一意に識別する「サードパーティ多要素認証リソース識別子」に関連付けられてよい。多要素認証リソースの例としては、数字列、英字数字列、インターネットプロトコル(IP)アドレス等が挙げられる。
【0062】
いくつかのサードパーティ多要素認証リソースは、多要素確認メッセージおよび/または対応する多要素メッセージコードの提供および/または生成のみに関連付けられている機能を提供する。他のサードパーティ多要素認証リソースは、多要素確認メッセージおよび/または多要素メッセージコードの提供および/または生成とは別の機能をさらに実行し、したがってサードパーティリソースおよび多要素認証リソースとして機能する。すなわち、いくつかの多要素認証リソースは、多要素確認メッセージおよび/または多要素メッセージコードの提供および/または生成の両方の機能、ならびにそのようなアクションに関連付けられない機能を提供する。以下に定義する検証済み電子メールリソースは、多要素サードパーティ認証リソース機能だけよりも多くのものを提供するように構成されるサードパーティリソースの例である。
【0063】
「サインイン要求」なる用語は一般には、クライアントデバイスからMACSに送信され、ユーザが、MACSに関連付けられた認証セッションまたはMACSに関連付けられている検証済みサードパーティリソースの起動を要望することを示す情報またはデータを指す。サインイン要求は、サインインプロンプトインタフェース、例えばMACSアプリケーションを介してクライアントデバイスにレンダリングされるサインインプロンプトインタフェースとのユーザエンゲージメントに応じて受信されてよい。
【0064】
MACSにより提供されるMACS機能へのアクセスに関連付けられるサインイン要求、例えばユーザのMACSによる認証が成功する前に送信されたサインイン要求は、「マルチアプリサインイン要求」と称してよい。いくつかの実施形態では、マルチアプリサインイン要求は、MACSアプリケーションに関連付けられている「マルチアプリサインインプロンプトインタフェース」とのユーザエンゲージメントに応じて受信される。いくつかの実施形態では、マルチアプリサインインプロンプトインタフェースは、MACSに関連付けられているユーザ認証クレデンシャルを受信するように構成される。
【0065】
MACSを介するサードパーティリソース機能ヘのアクセスに関連付けられるサインイン要求、例えばユーザが(例として、MACSに関連付けられた認証セッション中の)検証済みサードパーティリソースに関連付けられているMACSによる認証が成功した後に送信されるサインイン要求は、「サードパーティリソースサインイン要求」と称してよい。いくつかの実施形態では、サードパーティリソースサインイン要求は、ユーザデバイス上で実行されるMACSアプリケーションに関連付けられている「サードパーティリソースサインインプロンプトインタフェース」とのユーザエンゲージメントに応じて受信される。いくつかの実施形態では、サードパーティリソースサインインプロンプトインタフェースは、サードパーティリソースに関連付けられているユーザ認証クレデンシャルを受信するように構成される。あるいは、いくつかの実施形態では、サードパーティサインイン要求は、ユーザによるMACSアプリケーションの開始、または検証済みサードパーティリソースの開始の際に自動的に受信される。
【0066】
「サードパーティリソースサインイン要求」なる表現は「マルチアプリサインイン要求」と区別するために用いられうるが、「サインイン要求」なる用語を基準として一般に「マルチアプリサインイン要求」および「サードパーティリソースサインイン要求」と称してよいことを理解されたい。
【0067】
「サードパーティリソース統合要求」なる用語は、MACSによりクライアントデバイスから受信される情報および/またはデータを指し、MACSがサードパーティリソースに関連付けられている機能を提供するように構成されるように、ユーザに関連して検証する、MACSに関連付けられている未検証サードパーティリソースをユーザが選択したことを示す。
【0068】
「サードパーティリソースアクセス要求」なる用語は、MACSによりクライアントデバイスに送信され、認証ユーザアカウントの代わりにMACSがサードパーティリソースと通信し、またはサードパーティリソースにアクセスするために認証ユーザアカウントに関連付けられているユーザの承認を要求する情報および/またはデータを指す。「サードパーティリソースアクセス応答」なる用語は、MACSによりクライアントデバイスから受信され、ユーザによるサードパーティリソースアクセス要求の許可または拒否を示す情報を指す。「サードパーティリソースアクセス許可」なる用語は、具体的には、MACSが認証ユーザアカウントに関連付けられているサードパーティリソースと通信し、または認証ユーザアカウントに関連付けられているサードパーティリソースにアクセスするのをユーザが許可したことを示すサードパーティリソースアクセス応答を指す。
【0069】
いくつかの実施形態では、サードパーティリソースアクセス要求は、クライアントデバイスにより、クライアントデバイス上で実行される対応するサービスアプリケーションを介して「サードパーティリソースアクセスプロンプトインタフェース」をレンダリングさせるように構成される。その結果、いくつかの実施形態では、MACSは、クライアントデバイスを介してレンダリングされるサードパーティリソースアクセスプロンプトインタフェースまたはその要素とのユーザエンゲージメントに応じてサードパーティリソースアクセス応答を受信する。例示的なサードパーティリソースアクセスプロンプトインタフェースは、リソースアクセスメッセージを含む。リソースアクセスメッセージは、ユーザに、アクセスされるサードパーティリソースと、MACSがサードパーティリソースと統合することに対して承認を要求していることとを示すテキスト、画像、および/または他のデータを含む。いくつかの実施形態では、サードパーティリソースアクセスプロンプトインタフェースは、サードパーティリソースアクセス要求の許可を示し、かつユーザエンゲージメントに応じてMACSにサードパーティリソースアクセス許可を送信するように構成される確認ボタンを含む。これに加えてまたはこれに代えて、いくつかの実施形態では、サードパーティリソースアクセスプロンプトインタフェースは、サードパーティリソースアクセス要求の拒否を示し、かつユーザエンゲージメントに応じてMACSにサードパーティリソースアクセス拒否を送信するように構成される取り消しボタンを含む。
【0070】
同様に、いくつかの実施形態では、サードパーティ多要素認証リソースは、上記の定義で説明した統合およびサインイン処理を要求する。「サードパーティ多要素認証リソースアクセス要求」、「サードパーティ多要素認証リソースアクセス応答」、「サードパーティ多要素認証リソースアクセス許可」、および「サードパーティ多要素認証リソースアクセスプロンプトインタフェース」なる用語は、サードパーティリソースに関連して上記の対応する用語により定義される情報を指す。サードパーティリソースは、具体的にはサードパーティ多要素認証リソースである。
【0071】
「検証済み(verified)」なる用語は、MACSとサードパーティリソースとの間で通信が許可されている状態を指す。これによりMACSは、認証ユーザアカウントに関連付けられたセッション中にサードパーティリソースに関連付けられている機能を提供するように構成される。いくつかの実施形態では、MACSは、MACSに関連付けられた現在の認証セッションに関連付けられている認証ユーザアカウントの代わりに検証済みサードパーティリソースと通信するように構成される。その結果、サードパーティリソースと関連付けられた認証セッション中にMACSは、認証ユーザアカウントに関連付けられているサードパーティリソースの機能にアクセスするように構成される。
【0072】
「認証リンク」なる用語は、ユーザエンゲージメントの際にMACSまたは検証済みサードパーティリソースに関連付けられている認証されたアクセスを提供するように構成されるアクセス可能な要素を指す。いくつかの実施形態では、認証リンクは、MACSによるユーザ認証に用いられる1つ以上のリンクパラメータを含む。
【0073】
「多要素メッセージコード」なる用語は、クライアントデバイスおよび/またはユーザプロファイルに関連付けられるさらなるセキュリティを提供するように構成される一意なコード、数字列、英字数字列、または機械および/または人間により解釈可能な文字列を指す。例示的な実施形態では、多要素メッセージコードは、設定された長さを有する数字コードを含む。いくつかの実施形態では、多要素メッセージコードは、アクセスリンク、例えばリンクパラメータとして多要素メッセージコードを含む認証リンクに含まれる。
【0074】
「多要素確認メッセージ」なる用語は、サードパーティ多要素認証リソースにより提供され、MACSまたはサードパーティリソースを用いてセキュアに認証を行うために利用される多要素メッセージコードを含む電子メッセージ、通知、または他の送信を指す。多要素確認メッセージは、MACSへのアクセスまたはMACSを介するサードパーティリソースへのアクセスに関連付けられてよい。例示的な実施形態では、多要素確認メッセージは、MACSへのアクセスまたはMACSを介するサードパーティリソースへのアクセスに関連付けられている多要素メッセージコードを含む電子メールメッセージを含む。別の例示的な実施形態では、多要素確認メッセージは、MACSへのアクセスまたはMACSを介するサードパーティリソースへのアクセスに関連付けられている認証リンクを含む電子メールメッセージである。認証リンクは多要素メッセージコードを含む。
【0075】
「電子メールリソース」なる用語は、電子メーリングサービス、電子メッセージ等をクライアントデバイスに提供するように構成されるサードパーティリソースを指す。「検証済み電子メールリソース」なる用語は、本明細書に説明するように、検証済み電子メールリソースに関連付けられた認証セッション中に電子メールリソースに関連付けられているデータおよび/または情報にアクセスし、読み出し、かつ/またはそうでなければ解析するためのアクセスを所与のユーザがMACSに対して承諾した電子メールリソースを指す。特定の実施形態では、例えば、電子メール多要素確認メッセージがMACSにより読み出され、解析され、またはアクセスされうるように、電子メールメッセージの形態の多要素確認メッセージを対応する電子メールアドレスに提供することにより、検証済み電子メールリソースは、検証済みサードパーティ多要素認証リソースとして機能するように構成される。これに加えてまたはこれに代えて、いくつかの実施形態では、電子メールリソースは、1つ以上の多要素メッセージの生成および/または送信に追加される、かつ/または代わる機能を提供するように構成される。例示的な実施形態では、多要素認証リソースアクセスプロンプトインタフェースを利用して、ユーザは、MACSが電子メールリソースにアクセスするのを承認し、かつ認証するので、当該電子メールリソースは、「検証済み電子メールリソース」と称してもよい。
【0076】
電子メールリソースは、電子メールクライアント(すなわち、電子メールリソースのサービスアプリケーション)、シンプルメールトランスファープロトコル(「SMTP」)サーバ、およびドメインネームサーバ(「DNS」)を含む。電子メールリソースは、送信ユーザ(「送信者」)が電子メールメッセージを作成して受信ユーザ(「受信者」)に送信することをイネーブルするように構成される。各電子メールメッセージは、電子フォーマットを規定する電子メール封筒、送信者/受信者の情報および電子メールの件名を含む電子メールヘッダ、ならびにテキスト、画像、およびファイル添付物を含む電子メール本文を含む。電子メールリソースは、MACSを支援するものとは別の異なるコンパイルコードベースまたはリポジトリで動作する。例示的な電子メールリソースとしては、Microsoft Office 365(登録商標)、Microsoft Outlook(商標)、Gmail(登録商標)、およびYahoo Mail(登録商標)が挙げられる。
【0077】
電子メールリソースの電子メールクライアントは、電子メールメッセージを作成して送信する送信者により用いられてよい。したがって、電子メールメッセージのテキストおよび添付物は、送信メールとしてSMTPサーバにアップロードされる。電子メールメッセージのコピーは、後で取り出すために送信者に関連付けられている電子メールアウトボックスに保存される。SMTPサーバは、DNSと通信し、電子メールヘッダから引き出された受信者情報を用いて受信者の電子メールサーバを見つけ出す。SMTPサーバは、受信者の電子メールサーバを見つけ出すと、電子メールメッセージを受信者の電子メールサーバに転送する。受信者が次に電子メールクライアントにアクセスするときに、電子メールクライアントは、受信者の電子メールサーバから電子メールメッセージをダウンロードし、電子メールインボックスインタフェースで受信者に提示する。
【0078】
「多要素要求」なる用語は、MACSにより送信され、多要素認証リソースにより多要素確認メッセージを提供させるように構成される情報またはデータを指す。特定の実施形態では、多要素要求は、検証済み電子メールリソースにより多要素確認電子メールの形態の多要素確認メッセージを提供させる。例示的な実施形態では、MACSは、多要素要求を検証済み電子メールリソースに送信する。多要素要求は、多要素メッセージコードを含む多要素確認電子メールメッセージ、および/またはMACSが多要素要求(例えば、ユーザにより提出されるサインイン要求)を生成したイベントに相関させるように構成される状態を含む。別の例では、MACSは、例えば多要素要求をサードパーティリソースに送信することによりサードパーティリソースにより多要素要求を検証済み電子メールリソースに送信させる。
【0079】
「アプリ内自動認証プロンプトインタフェース」(in-app auto-authentication prompt interface)なる用語は、MACSによるメッセージ確認コードの妥当性確認(validation)の成功に応答してMACSアプリケーションを介してMACSにより提示されるデータ、情報、および/またはユーザインタフェースを指す。いくつかの実施形態では、アプリ内自動認証プロンプトインタフェースは、ユーザがMACSに関連付けられているMACSアプリケーションを閉じ、またはそうでなければMACSアプリケーションから離れることなく、本明細書に説明するように自動多要素メッセージコードの妥当性確認(automatic multi-factor message code validation)を用いて開始された起動済み認証セッションをユーザが許可し、または取り消したことを示すユーザエンゲージメントを受信するように構成される。いくつかの実施形態では、アプリ内自動認証プロンプトインタフェースは、MACSまたはサードパーティリソースへのアクセスのイネーブル化を成功させたクライアントデバイスとは異なる認証ユーザアカウントに関連付けられている1つ以上のクライアントデバイスにレンダリングされる。
【0080】
「アプリ内自動認証許可」(in-app auto-authentication approval)なる用語は、認証セッションのためにMACSに関連してMACSへの認証されたアクセスを承諾するアプリ内自動認証プロンプトインタフェースとのユーザエンゲージメントに応じて受信されるデータおよび/または情報を指す。いくつかの実施形態では、アプリ内自動認証プロンプトインタフェースまたはその要素、例えば「Okay」、または他の確認ボタンとのユーザエンゲージメントに応答して受信されるアプリ内自動認証許可は、MACSに関連付けられているMACSアプリケーションを介してクライアントデバイスにレンダリングされる。
【0081】
「アプリ内自動認証取り消し」(in-app auto-authentication revocation)なる用語は、MACSに関連付けられている、またはMACSを介して検証済みサードパーティリソースに関連付けられている認証されたアクセスを拒絶または取り消すアプリ内自動認証プロンプトインタフェースとのユーザエンゲージメントに応じて受信されるデータおよび/または情報を指す。いくつかの実施形態では、MACSに関連付けられているMACSアプリケーションを介してクライアントデバイスにレンダリングされるアプリ内自動認証プロンプトインタフェースまたはその要素、例えば「アクセスの取り消し」ボタンまたは他のアクセス拒絶ボタンとのユーザエンゲージメントに応じてアプリ内自動認証取り消しを受信する。
【0082】
「インスタンス識別子」なる用語は、特定のMACSアプリケーションインスタンスまたはクライアントデバイスを一意に識別する識別子を含む情報および/またはデータを指す。インスタンス識別子の例としては、デバイス識別子、国際的な製造者の機器識別、クライアントデバイスの場所、ユーザプロファイル識別子、インターネットプロトコルアドレス、MACSアプリケーション識別番号、アプリケーションインスタンス番号、または他の識別子が挙げられるが、これらに限定されない。いくつかの実施形態では、インスタンス識別子は、クライアントデバイス上で動作するデバイス管理ソフトウェア、例えば携帯デバイス管理ソフトウェア経由で判定される。いくつかの実施形態では、クライアントデバイスの場所は、クライアントデバイスが認証ユーザアカウントに関連付けられた信頼できる近接性内にあるかを判定するために用いられる。
【0083】
「ターゲットインスタンス識別子」なる用語は、MACSにより受信されるサインイン要求に関連付けられている特定のインスタンス識別子を指す。いくつかの実施形態では、MACSは、ユーザプロファイルおよび/またはサインイン要求を送信するクライアントデバイスに関連付けられているターゲットインスタンス識別子を含むサインイン要求を受信する。他の実施形態では、MACSは、受信したサインイン要求に関連付けられているターゲットインスタンス識別子を判定する。
【0084】
「確認インスタンス識別子」なる用語は、MACSにより読み出され、解析され、またはアクセスされる特定された多要素確認メッセージに関連付けられている特定のインスタンス識別子を指す。いくつかの実施形態では、MACSは、特定された多要素確認メッセージへのアクセスを有するクライアントデバイスまたはMACSアプリケーションインスタンスに関連付けられている確認インスタンス識別子を特定するように構成される。他の実施形態では、多要素確認メッセージは確認インスタンス識別子を含み、かつMACSは多要素確認メッセージから確認インスタンス識別子を抽出するように構成される。
【0085】
「ワンタイムセッション」なる用語は、指定された期間中のMACSを介する機能への認証されたアクセスを指す。いくつかの実施形態では、ワンタイムセッションは所定の期間中、継続する。他の実施形態では、ワンタイムセッションは、ユーザのサインオフまで継続する。いくつかの実施形態では、ワンタイムセッションは認証ユーザアカウントに関連付けられている。その結果、ユーザは、ワンタイムセッション中にMACSにネイティブに関連付けられている機能または1つ以上の検証済みサードパーティリソースに関連付けられている機能にアクセスしてよい。いくつかの実施形態では、多要素メッセージコードは、限定された多要素メッセージコードとなるように特別に構成され、これによりMACSまたはサードパーティリソースに一度だけアクセスさせる。いくつかの実施形態では、限定された多要素メッセージコードは、ユーザクレデンシャルを入力しないワンタイムセッションを提供するように構成される。
【0086】
「アクション通知」なる用語は、特定のMACSインタフェースでのユーザの動きに関連付けられる情報を含むクライアントデバイスへのメッセージ、送信、またはメッセージもしくは他の送信に含まれるテキストを指す。例えば、アクション通知は、MACSによりアクセス可能な検証済み電子メールリソースにより提供される電子メールメッセージまたは電子メールメッセージの一部であってよい。「サードパーティリソースアクション通知」なる用語は、具体的には、特定のMACSインタフェースのサードパーティリソースに関連付けられるユーザの動きを示すMACSアクション通知を指す。
【0087】
[概観]
プライバシーへの懸念およびソフトウェアのライセンス供与の制限により、サードパーティリソースは、サードパーティリソースに関連付けられている機能にアクセスが提供される前にユーザアカウント認証を要求する。サードパーティリソースは、サードパーティリソースへのアクセスを試みるユーザがそのようなアクセスを受けることを実際に許可されているかを確認する努力の一環として、例えばユーザクレデンシャル(例えばユーザ名およびパスワード)の入力を要求する場合がある。しかし、ユーザクレデンシャルの入力のみでは、ハッカーおよび悪意の行為者に関連するリスクを軽減するには非効果的であることが明らかとなっている。2要素認証プロトコルは、別のチャネル、周波数帯、デバイス、または他の通信方法を利用してユーザを妥当性確認または認証することによりそのようなリスクを軽減するために用いられる。2要素認証は、有効なユーザクレデンシャルおよび二次的な別個の信頼できる通信チャネルまたは通信デバイスの両方にアクセスを有するサードパーティリソースへのアクセスを要求するユーザが許可ユーザであるはずだという前提に基づいて機能する。
【0088】
本開示のさまざまな実施形態は、認証ユーザアカウントに関連付けられた認証セッション中にサードパーティリソース(例えば、Asana(商標))を検証し、またはMACSに関連付けられた認証セッションを起動するために、2要素認証に共通して関連付けられる直接のユーザエンゲージメントが行われなくても、多要素確認メッセージを自動的に妥当性確認するように構成されるMACS(例えば、Slack(登録商標))に関する。例示的なMACSは、サードパーティリソース、例えばサードパーティ多要素認証リソースへのアクセスのユーザ承認を受信した後に、多要素確認メッセージ(例えば、Gmail(登録商標)アカウントで受信された電子メール確認メッセージ)を取り出し、多要素確認メッセージから多要素メッセージコードを抽出し、かつ多要素メッセージコードを妥当性確認してサードパーティリソース(この例ではAsana(商標))の妥当性確認されたユーザアカウントに関連付けられた認証セッションを起動するように構成される。
【0089】
本開示のいくつかの実施形態では、ユーザデバイスからサインイン要求を受信し、検証済みサードパーティ多要素認証リソースにより多要素確認メッセージを提供させ、多要素確認メッセージを特定するために検証済みサードパーティ多要素認証リソースへのクエリを実行し、多要素確認メッセージから多要素メッセージコードを抽出し、認証ユーザアカウントに関連付けられている多要素メッセージコードを妥当性確認し、かつMACSを介してサインイン要求に関連付けられている機能へのアクセスをイネーブルするように構成される。例えば、MACSは、ユーザが(1)MACSおよび/または1つ以上の検証済みサードパーティリソースに関連付けられている機能にアクセスし、または(2)その機能にアクセスするために、本明細書に説明するようにサードパーティリソースを検証することができるように、認証ユーザアカウントに関連付けられた認証セッションを起動してよい。MACSは、例えば、認証ユーザアカウントに関して検証したものとしてサードパーティリソースを関連付け、かつ新たな検証済みサードパーティリソースに関連付けられた認証情報を保存することによりサードパーティリソースへのアクセスをイネーブルしてもよい。例えば、MACSは、新たな検証済みサードパーティリソースに関連付けられたサードパーティリソース認証トークンを保存してよい。
【0090】
本開示の実施形態は、ユーザセキュリティを向上させる一方、全体としてのシステムの効率性および有用性も向上させる。検証済みサードパーティ多要素認証リソースにより提供される多要素メッセージコードを利用することにより、例示的なシステムは、従来のユーザ名およびパスワードの使用と比べてユーザセキュリティを向上させる。さらに、多要素コードを検証済みサードパーティ多要素認証リソースから自動的に取り出すことにより、本開示の実施形態は、サードパーティ多要素認証リソースから多要素コードを手動で取り出すことに関連する、例えばサードパーティ多要素認証リソースに関連付けられている別のサービスアプリケーションにアクセスすることによるユーザエラーまたは関連する技術的エラーの機会を取り除く。この機能は、単一のユーザアカウントを多数のサードパーティリソースとリンクするために2要素認証が要求される場合があるMACS環境では特に重要である。
【0091】
有利なことに、本開示のさまざまな実施形態は、関連付けられているMACSアプリケーションインタフェースを離れることなく、さまざまな認証セッション(例えば、妥当性確認されたサードパーティリソースセッション)の起動もイネーブルする。その結果、本開示の実施形態はシステムの有用性およびシステムに関連する全体としてのユーザエクスペリエンスを向上させる。なぜならMACSアプリケーションを利用するユーザは、関連付けられているMACSアプリケーションを閉じ、終了し、離れ、またはそうでなければナビゲートすることなく認証を開始し、かつ完了することができるからである。
【0092】
[技術的基礎]
MACSは、1つ以上のユーザグループ間の通信を容易にし、かつ1つ以上のサードパーティリソースと統合して1つ以上のサードパーティリソースに関連付けられているさらなる機能を提供する。特定の実施形態では、ユーザグループはセキュアにグループ化され、かつ別々のMACSインタフェースを介してセグメント化されている。それぞれのMACSインタフェースは、所与のユーザが対応するMACSインタフェースを介して特定のグループ内の他のユーザと通信するのをイネーブルするように構成される。例えば、ACME Corporationの従業員のみのために起動され、かつ従業員のみアクセス可能なSlack(登録商標)ワークスペースのユーザインタフェースは、例示的なMACSインタフェースである。
【0093】
本実施形態によるMACSは、複数のサードパーティリソースに関連付けられている。これらのサードパーティリソースは、例えば、MACSと統合するように構成され、それによりMACSは、サードパーティリソースに関連付けられている機能を特定のユーザ、ユーザグループ、または特定のMACSインタフェースに提供することができる。具体的な例として、第1サードパーティリソースはタスク管理機能を提供してよく、第2のサードパーティリソースは日程表機能を提供してよく、第3のサードパーティリソースはビデオ会議機能を提供してよく、かつ第4のサードパーティリソースは文書共有機能を提供してよい。これらは単にサードパーティリソースの例であり、かつMACSを介してサードパーティソフトウェアに関連付けられている任意の機能を提供するサードパーティリソースが存在してよいことを理解されたい。
【0094】
MACSに関連付けられているそれぞれの認証ユーザアカウントは、1つ以上の検証済みサードパーティリソースに同様に関連付けられてよい。ユーザが認証ユーザアカウントに関連付けられた認証セッションのためにMACSにアクセスする場合、MACSがサードパーティリソースに関連付けられている機能にアクセスして当該機能を提供することをユーザがイネーブルするように、ユーザは、MACSに関連付けられているサードパーティリソースを検証してよい。MACSは、特定の認証ユーザアカウントに関連付けられている検証済みサードパーティリソースを特定する情報、例えばフラグまたはインジケータを保存してよい。これに代えてまたはこれに加えて、MACSは、検証済みサードパーティリソースを介して認証ユーザアカウントに関連付けられている情報にアクセスするための検証済み情報、例えば検証済みサードパーティリソースおよび/または認証ユーザアカウントに特に関連付けられているサードパーティリソース認証トークンを保存してよい。
【0095】
MACSアプリケーション経由でMACSにアクセスするユーザは、MACSを用いて自身のアイデンティティを認証しなければならない。いくつかの実施形態では、MACSは、クライアントデバイスからのユーザ認証クレデンシャルおよび/または認証されるべきクライアントデバイスもしくはユーザに関連付けられているさらなる情報を受信する。MACSは、受信したユーザ認証クレデンシャルに関連付けられている認証ユーザアカウントを特定し、かつ認証ユーザアカウントに関連付けられた認証セッションを起動してよい。その結果、ユーザは、認証セッション中にクライアントデバイス上で実行されるMACSアプリケーションを介してMACSに関連付けられている機能または検証済みサードパーティリソースに関連付けられている機能にアクセスしてよい。これに加えてまたはこれに代えて、ユーザは、本明細書に説明するようにサードパーティリソースを新たに検証してよい。サードパーティリソースが検証済みサードパーティリソースになった後、MACSは、認証ユーザアカウントに関連付けられた認証セッション中に検証済みサードパーティリソースに関連付けられた機能を提供することが可能になる。いくつかの実施形態では、MACSが後で認証ユーザアカウントに関連付けられている別の認証セッション、または新たな認証セッションを起動する場合に、ユーザが新たな検証済みサードパーティリソースに関連付けられている機能にアクセスできるように、サードパーティリソースの検証済みステータスを認証ユーザアカウントに関連付ける情報が保存されてよい。
【0096】
例示的なMACSは、数十、数百、数千、またはそれより多いサードパーティリソースに関連付けられてよい。例示的なMACSは、サードパーティリソースストア、サードパーティアプリケーションストア、またはサードパーティ統合ストアとして機能し、またはサードパーティリソースストア、サードパーティアプリケーションストア、またはサードパーティ統合ストアに関連付けられるように構成されてよい。MACSが特定の認証ユーザアカウントについてMACSに関連付けられた認証セッションを開始するように、ユーザがMACSを用いて認証を行う場合、ユーザはサードパーティリソースを閲覧し、かつその後に用いるサードパーティリソースを選択してよい。その結果、MACSシステムは選択したサードパーティリソースへのアクセスの承認を要求してよく、かつユーザから許可/承認を受信した後、MACSはユーザ、グループ、またはMACSインタフェースの代わりにサードパーティリソースと通信するように構成されてよい。その結果、MACSシステムがユーザの代わりにサードパーティリソースに関連付けられている機能を提供するためにサードパーティリソースと通信することができるようにMACSシステムがサードパーティリソースと統合された時点で、サードパーティリソースは、「検証済みサードパーティリソース」と称することができる。
【0097】
検証済みサードパーティリソースは、認証ユーザアカウントに関連付けられてよい。その結果、MACSが認証ユーザアカウントに関連付けられた認証セッションを起動するとき、例えばユーザがクライアントデバイス上で実行されるMACSアプリケーションを介してMACSにサインインするときはいつでも、ユーザは検証済みサードパーティリソースに関連付けられている機能にアクセスしてよい。
【0098】
1つ以上のサードパーティリソースは、多要素認証を実行し、かつ/またはそうでなければサインイン処理に関連付けられている多要素確認コードを生成し、かつ/または提供するように特別に構成されてよい。これらのサードパーティリソースは、特に「サードパーティ多要素認証リソース」と称することで、当該リソースをそのような機能を欠く他のサードパーティリソースから区別してよい。例示的な実施形態によるMACSは、サードパーティ多要素認証リソースと通信し、サードパーティ多要素認証リソースにより多要素確認メッセージを提供させ、サードパーティ多要素認証リソースを利用して(例えば、多要素認証リソースへのクエリを実行することにより)多要素確認メッセージを特定し、多要素確認メッセージから多要素メッセージコードを抽出し、かつ抽出した多要素メッセージコードを妥当性確認し、またはそうでなければ妥当性確認をさせる。そのような構成では、MACSとサードパーティ多要素認証リソースとの間の通信の統合された性質により、1つ以上の多要素メッセージコードの効率的で向上した、かつ自動的な妥当性確認を可能にする。
【0099】
多要素メッセージコードは、MACS自身にアクセスするためのサインインに関連付けられている多要素認証または別の検証済みサードパーティリソースにアクセスするためのサインインに関連付けられている多要素認証に関連付けられてよい。例えば、ユーザがサードパーティ多要素認証リソースへのアクセスを承諾した場合、ユーザが認証セッションのためにMACSへのアクセスを試み、またはユーザが認証セッションのために検証済みサードパーティリソースへのアクセスを試みるときは、現在の検証済みサードパーティ多要素認証リソースは、多要素確認メッセージを受信してよい。有利なことに、本実施形態によるMACSは、多要素確認メッセージを特定し、かつその後に多要素確認メッセージ中の多要素メッセージコードを特定し、及び/又は妥当性確認するために解析するように構成される。したがって、本実施形態によるシステムは、MACS経由でのサードパーティリソースへのアクセスに関連するセキュリティを向上させる。さらに、本実施形態によるシステムは、多要素認証を含むユーザ認証をMACSが自動的に実行することをイネーブルすることにより全体としてのシステムの効率性を向上させる。さらに、本実施形態によるシステムは、ユーザ認証に関連するユーザエクスペリエンスをさらに向上させる。なぜならユーザは、多要素認証に関連する余分なステップを実行する必要がなく、そのような余分なステップを実行する際に考えられる技術的エラーまたはユーザエラーを起こしにくく、かつユーザ認証処理中にMACSアプリケーション内にずっと留まることができるからである。
【0100】
いくつかの実施形態では、複数の多要素確認メッセージが送信されてよく、かつ対応する複数の多要素メッセージコードが妥当性確認されてよいことを理解されたい。いくつかの実施形態では、単一の検証済み多要素認証リソースが複数の多要素確認メッセージを提供してよい。これに加えてまたはこれに代えて、いくつかの実施形態では、複数の検証済み多要素認証リソースがそれぞれ、1つ以上の多要素確認メッセージを提供してよい。本実施形態によるMACSは、さまざまな多要素認証リソースにより提供されるさまざまな多要素確認コードを妥当性確認するように構成されてよい。例えば、MACSは、検証済み電子メールリソースを介して提供された多要素確認電子メールメッセージから抽出された第1の多要素メッセージコードおよび検証済みメッセージングリソースを介して提供された多要素確認テキストメッセージから抽出された第2の多要素メッセージコードを妥当性確認してよい。その結果、本開示の実施形態は、システムの効率性およびユーザエクスペリエンスをさらに向上させる。
【0101】
例示的な一実施形態では、電子メールメッセージを生成し、かつ/または提供するように構成される電子メールリソースが検証され、かつ検証済みサードパーティ多要素認証リソースとして機能する。ユーザは電子メールリソースをMACSと統合し、MACSを用いて電子メールリソースを検証し、かつ現在の検証済み電子メールリソースを特定の認証ユーザアカウントに関連付けてよい。それにより、MACSは、認証ユーザアカウントに関連付けられた認証セッション中に、特定の認証ユーザアカウントに関連付けられているユーザ電子メールプロファイルに関連付けられている1つ以上の電子メールメッセージ(例えば、検証済み電子メールリソースに関連付けられている特定の電子メールプロファイルに送信された電子メールメッセージ。当該特定の電子メールプロファイルは、MACSのユーザに関連付けられている)にアクセスしてよい。その後に、多要素認証が可能となった状態でユーザがMACSにサインインすること、またはMACSを介してサードパーティリソースを新たに検証することを試みる場合、多要素確認メッセージは、検証済み電子メールリソースを介して受信されてよい。MACSは、多要素確認電子メールを特定するために検証済み電子メールリソースへのクエリを実行し、かつその後に電子メールを利用してサードパーティリソースを検証し、またはサードパーティリソースの検証を完了し、またはMACSに関連付けられた認証セッションを起動してよい。
【0102】
さらに、検証済みサードパーティリソース、例えば検証済み電子メールリソースにアクセスするように構成されるMACSは、1つ以上の他の検証済みサードパーティリソースに関連付けられているアクション通知を特定してよい。例えば、サードパーティユーザが検証済みサードパーティリソースに関連付けられたアクションを実行する場合、アクション通知を含む電子メールメッセージが検証済み電子メールリソースを介して、実行されるアクションに関連付けられているユーザに提供されてよい。検証済み電子メールリソースと通信するように構成されるMACSは、アクション通知を含むこれらの電子メールメッセージを特定してよく、かつその後にアクション通知に関連付けられたMACSインタフェースを特定し、かつ/または対応するクライアントデバイスによりアクション通知に関連付けられたMACSインタフェースをレンダリングさせてよい。
【0103】
検証済み電子メールリソースにアクセスしてアクション通知を特定する本実施形態によるMACSは、ユーザに関連するユーザインタフェースを自動的に提示することによりシステムの効率性を向上させる。これに加えてまたはこれに代えて、この機能は、ユーザがサインインの際にMACSと不必要にそれ以上エンゲージすることなく関連付けられているMACSインタフェースにナビゲートすることができるように、本明細書に説明する自動多要素認証と組み合わされてよい。
【0104】
[システムアーキテクチャ]
図1は、本開示の実施形態が動作することができる例示的なシステムを示すブロック図である。例えば、示している例示的なシステムは、MACS102、クライアントデバイス104(具体的にはクライアントデバイス104A~104C)、検証済み電子メールリソース106、検証済み多要素認証リソース108、検証済みサードパーティリソース110(具体的には、検証済みサードパーティリソース110A~110C)、およびサードパーティリソース112(具体的にはサードパーティリソース112A~112C)を備える。これらのデバイスおよび/またはシステムのそれぞれがネットワーク、具体的にはネットワーク114を介して通信するように構成される。
【0105】
サードパーティリソース112は、特定の認証ユーザアカウントに関連して検証を行うと、クライアントデバイス104のうちの1つ以上に関連付けられているユーザの代わりに、サードパーティリソースに関連付けられているサードパーティ機能をMACS102に提供するように構成されるさまざまなサードパーティシステム、サードパーティデバイス、および/またはサードパーティ演算装置を含む。示しているように、サードパーティリソース112は、特定の認証ユーザアカウントに関連付けられて統合され、かつ検証されてよいが、示しているように、特定の認証ユーザアカウントに対してまだ統合され、かつ検証されていない。その結果、MACS102は検証のためにサードパーティリソース112と通信するように構成されるが、いくつかの実施形態では、MACS102は、認証ユーザアカウントの代わりに、または認証ユーザアカウントに関連付けられている情報と引き換えにサードパーティリソース112と通信することが承認されておらず、サードパーティリソース112と通信するように構成されてもいない。MACS102は、1つ以上のAPIを介してサードパーティリソース112のうちの1つ以上と通信してよい。
【0106】
検証済みサードパーティリソース110は、本明細書に説明するように、ユーザの代わりにMACS102にサードパーティリソースに関連付けられているサードパーティ機能を提供するように構成され、統合され、承認され、またはそうでなければ検証されるさまざまなサードパーティシステム、サードパーティデバイス、および/またはサードパーティ演算装置により具現化されてよい。ユーザは、それぞれの検証済みサードパーティリソースに関連付けられている機能が認証ユーザアカウントに関連付けられた認証セッション中にアクセス可能となるように、認証ユーザアカウントに関連付けられた認証セッション中にいくつかの検証済みサードパーティリソースを統合し、かつ検証しておいてよい。それぞれの検証済みサードパーティリソースの検証済みステータスは、MACSがそれぞれの認証ユーザアカウントに関連付けられている検証済みサードパーティリソースを特定することができるように、MACSにより保存されてよい。例えば、示しているように、第1の認証ユーザアカウント(例えば、認証ユーザアカウント「JaneDoe」)は、第1の認証ユーザアカウントに関連付けられた認証セッション中に、検証済みサードパーティリソース110A~110Nのそれぞれに関連付けられている機能がMACSを介して、例えばクライアントデバイス上で実行されるMACSアプリケーション経由でアクセス可能となるように、検証済みサードパーティリソース110A~110Nを検証しておいてよい。第2の認証ユーザアカウント(例えば、認証ユーザアカウント「JohnDoe」)は、第2の認証ユーザアカウントに関連付けられた認証セッション中に、これらの検証済みサードパーティリソース(110Aおよび110B)がMACSを介してアクセス可能となるように、検証済みサードパーティリソース110Aおよび110Bのみを検証してよい。その結果、MACS102は、クライアントデバイス104のうちの1つ以上に検証済みサードパーティリソース110のそれぞれに関連付けられている機能を提供してよい。MACS102は、1つ以上のAPIを介して検証済みサードパーティリソース110のうちの1つ以上と通信してよい。
【0107】
検証済み多要素認証リソース108は、クライアントデバイス104のうちの1つ以上に、1つ以上の多要素確認メッセージを提供するように構成され、統合され、かつ承認されているシステム、デバイス、および/または演算装置により具現化されてよい。検証済み多要素認証リソース108は、MACS102と通信するように統合され、かつ承認されている。例えば、MACS102は、検証済み多要素認証リソース108と通信して、多要素メッセージコードを含む多要素確認メッセージを生成し、かつ提供してよい。次に、MACS102は、多要素確認メッセージを特定するために検証済み多要素認証リソース108へのクエリを実行し、かつ多要素メッセージコードを抽出してよい。次に、MACS102は多要素メッセージコードを利用してユーザを認証し、かつ認証セッションを開始してよい。MACS102は、1つ以上のAPIを介して検証済み多要素認証リソース108と通信してよい。
【0108】
検証済み電子メールリソース106は、本明細書に説明するようにMACS102を介して電子メール読み出し、電子メール作成、および関連する機能を提供するように構成され、かつ検証されるサードパーティシステム、サードパーティデバイス、および/またはサードパーティコンピュータ装置により具現化されてよい。さらに、検証済み電子メールリソース106は、例えばMACS102によりアクセス可能な1つ以上の多要素確認メッセージを生成し、かつ/または提供することにより検証済みサードパーティ多要素認証リソースとして機能してよい。MACS102は、1つ以上のAPIを介して検証済み電子メールリソース106と通信してよい。
【0109】
クライアントデバイス104は、さまざまなユーザデバイス、システム、演算装置等により具現化されてよい。例えば、クライアントデバイス104Aは特定のユーザ用のデスクトップコンピュータであってよいが、クライアントデバイス104Bは特定のユーザ用のラップトップコンピュータであってよく、かつクライアントデバイス104Cは特定のユーザ用のスマートフォンデバイスであってよい。クライアントデバイス104のそれぞれは、例えばクライアントデバイスにインストールされ、かつ/またはクライアントデバイス上で実行されるMACSアプリケーション経由でMACS102と通信するように構成されてよい。例えば、ユーザは、MACS102と通信するように構成されるクライアントデバイス104A上でMACSデスクトップアプリケーションを実行してよい。
【0110】
MACS102は、1つ以上の特別に構成されたシステム、サーバ、ネットワークデバイス、コンピュータ装置等により具現化されてよい。MACS102は、ネットワーク、例えばネットワーク114経由でクライアントデバイス104のうちの1つ以上に機能を提供するように構成される。それぞれのクライアントデバイスは、MACS102と通信するためにユーザデバイス上でMACSアプリケーションを実行してよい。例示的な実施形態では、クライアントデバイス上で実行されるMACSアプリケーションは、クライアントデバイスにインストールされたブラウザアプリケーションの形で機能してよい。別の例示的な実施形態では、クライアントデバイス上で実行されるMACSアプリケーションは、クライアントデバイスに別々にインストールされたアプリケーションとして機能してよい。
【0111】
MACS102経由でクライアントデバイス、例えばクライアントデバイス104Aに提供される機能は、MACS102により提供されるネイティブな機能を含む。すなわち、MACS102はいずれの検証済みサードパーティリソースとも通信することなく何らかの機能を提供するように構成される。具体的には、MACS102は、1つ以上の特別に構成されたMACSインタフェースを介してユーザ間またはユーザのグループ間の通信を容易にするように構成される。いずれのサードパーティリソースとも統合することなく、クライアントデバイス、例えばクライアントデバイス104Aを操作するユーザは、MACSアプリケーションを介してMACS102と通信し、そのような機能を利用してよい。
【0112】
MACSアプリケーション経由で、MACS102はクライアントデバイス、例えばクライアントデバイス104Aと通信し、クライアントデバイス104Aに関連付けられているユーザからのエンゲージメント、データ、または他の情報、ならびに/またはクライアントデバイス104Aに関連付けられているユーザに対して表示されるレンダリング情報を受信してよい。例えば、クライアントデバイス104Aは、クライアントデバイス104A上で実行されるMACSアプリケーションを介してクライアントデバイス104Aにレンダリングされる1つ以上のインタフェースとのユーザエンゲージメント、または当該1つ以上のインタフェースに関連付けられているユーザナビゲーションに応じてMACS102に1つ以上の要求および/または応答を送信してよい。具体的には、クライアントデバイス104Aは、サードパーティサインイン要求、サードパーティリソース統合要求、サードパーティアクセス応答、サードパーティ多要素認証リソースアクセス応答、および/またはアプリ内自動認証応答を送信してよい。
【0113】
さらにMACS102は、MACS102により提供されるネイティブな機能に加えて、検証済みサードパーティリソース110のうちの1つ以上に関連付けられている機能をクライアントデバイス104のうちの1つ以上に提供してよい。例えば、検証済みサードパーティリソース110Aは文書の保存および共有に関連付けられてよく、検証済みサードパーティリソース110Bはビデオ会議に関連付けられてよく、かつ検証済みサードパーティリソース110Nはユーザのグループのタスク管理に関連付けられてよい。MACS102は、クライアントデバイス上で実行されるMACSアプリケーション経由で検証済みサードパーティリソース110A、110B、および110Nと通信して1つ以上のクライアントデバイス、例えばクライアントデバイス104Aに機能を提供するように構成されてよい。その結果、ユーザが1つ以上の検証済みサードパーティリソース(例えば、検証済みサードパーティリソース110)を統合し、かつ承認し、またはそうでなければ検証した後、MACS102は、例えばそれぞれの検証済みサードパーティリソースに関連付けられている1つ以上のAPI経由で1つ以上の検証済みサードパーティリソース110と通信し、クライアントデバイス上で実行される単一のMACSアプリケーション経由ですべての検証済みサードパーティリソース110の機能にアクセスし、かつ当該機能を提供してよい。
【0114】
いくつかの実施形態では、MACS102は検証済み多要素認証リソース、例えば検証済み多要素認証リソース108または検証済み電子メールリソース106を利用して、MACS102または検証済みサードパーティリソース110のうちの1つにサインインする認証処理中に関連する多要素認証を実行してよい。ユーザがMACS102のネイティブな機能にアクセスすることができる認証セッションをMACS102が開始する前に、MACS102はユーザに認証処理を受けるよう要求し、新たなサードパーティリソース112を統合し、かつ/または検証済みサードパーティリソース110を用いて認証を行い、かつ検証済みサードパーティリソース110に関連付けられた機能にアクセスするように構成されてよい。例示的な認証処理は1次認証法を含んでよく、例えばMACS102がユーザに、クライアントデバイス、例えばクライアントデバイス104A上で実行されるMACSアプリケーションを介してMACS102にユーザ名およびパスワード等のユーザ認証クレデンシャルを提供するように要求してよい。1次認証法が成功して完了した後、MACS102は、認証セッションを開始する前にさらなる1つ以上の認証法を要求してよい。
【0115】
例として検証済み電子メールリソース106を用いることによって、MACS102は、1次認証法またはその後の認証法の完了後にサインイン要求を受信し、かつ/またはクライアントデバイス、例えばクライアントデバイス104Aに関連付けられているユーザを決定すると、検証済み電子メールリソース106により多要素確認メッセージを提供させる。例えば、MACSはユーザにより提供されたユーザ認証クレデンシャルに関連付けられている特定の認証ユーザアカウントを特定してよく、かつ当該特定のユーザアカウントに関連付けられている電子メールプロファイルも特定してもよい。具体的な例では、MACS102は、電子メール多要素確認メッセージを生成し、かつ電子メール多要素確認メッセージを含む多要素要求を検証済み多要素認証リソースに送信してよい。次に、検証済み電子メールリソースは、ユーザアカウントに関連付けられている特定された電子メールプロファイルに対して検証済み電子メールリソースを利用可能にすることにより、電子メール多要素確認メッセージを提供してよい。その結果、MACS102は、クライアントデバイスに関連付けられているユーザが電子メール確認メッセージにアクセスしたかを判定するために、検証済み電子メールリソース106へのクエリを実行してよい。ユーザがアクセスした場合、MACS102は、電子メール確認メッセージを受信し、または取り出し、多要素確認コードを特定するために電子メール確認メッセージを解析し、かつ多要素確認コードを検証してよい。その後に、MACS102は、MACS102に関連付けられた認証セッションを開始してよく、それによりクライアントデバイス104Aは、認証セッション中にクライアントデバイス104A上で実行されるMACSアプリケーションを介してMACSにアクセスしてよい。
【0116】
それぞれのクライアントデバイスは、1つ以上の識別子、例えばデバイス識別子、IPアドレス、国際移動体装置識別(IMEI)番号等に関連付けられてよい。これに加えてまたはこれに代えて、クライアントデバイス上で実行されるMACSアプリケーションは、1つ以上の識別子、例えばアプリケーション識別子、アプリケーションインスタンス識別子等に関連付けられてよい。クライアントデバイスは、MACS102に送信されるすべてまたはいくつかのデータ/情報送信の一部としてクライアントデバイスに関連付けられている1つ以上の識別子および/またはMACSアプリケーションに関連付けられている1つ以上の識別子を送信してよい。MACSは、受信したデータを解析し、かつサインインを要求するクライアントデバイスが検証済み多要素認証リソース、例えば検証済み多要素認証リソース108および/または検証済み電子メールリソース106を介して送信された多要素確認メッセージへのアクセスを有するかを検証する際に用いるデバイス/MACSアプリケーション識別子を抽出してよい。
【0117】
いくつかの実施形態では、MACS102は、検証済み多要素認証リソース、例えば検証済み多要素認証リソース108および/または検証済み電子メールリソース106を利用して1つ以上のサードパーティリソース112Aの検証を容易にしてよい。例えば、ユーザは、MACS102が例えば1つ以上のAPIを介してサードパーティリソース112Aと通信し、例えばサードパーティリソース112Aに関連付けられている機能を提供することができるように、MACS102を用いてサードパーティリソース112Aを検証してもよい。MACS102がサードパーティリソース112Aを検証済みとみなし、かつ認証ユーザアカウントに関連付けられた認証セッション中にサードパーティリソースへのアクセスをイネーブルするように構成される前に、ユーザが、本明細書に記載するようにサードパーティアプリケーション112Aに関連する1次認証法およびその後に続くユーザエンゲージメントを行わない多要素認証を受けなければならなくなるように、MACS102はサードパーティリソース112Aの認証を容易にしてよい。
【0118】
MACS102は、認証ユーザアカウントに関連付けられた認証セッション中に、ユーザ認証クレデンシャルを含むサードパーティリソースサインイン要求を受信してよい。MACS102は、サードパーティリソース112Aとの通信によりサードパーティリソース112Aに関連付けられている認証ユーザアカウントを特定してよい。他の実施形態では、MACS102はサードパーティリソース112Aに関連付けられている認証ユーザアカウントを自動的に特定してよい。その後に、MACS102は、サードパーティリソースが、例えば検証済み電子メールリソース106経由で特定された認証ユーザアカウントに関連付けられているさらなる認証(例えば、多要素認証)を要求していると判定してよい。いくつかの実施形態では、MACS102は、検証済み電子メールリソース106が多要素確認メッセージを提供することができるように、多要素確認メッセージを生成し、かつ多要素確認メッセージを検証済み電子メールリソース106に送信する。他の実施形態では、サードパーティリソース112AまたはMACS102は、多要素確認メッセージを生成させ、かつ/または提供させてよい。
【0119】
次に、MACS102はサードパーティリソースに関連付けられている多要素メッセージを特定してよい。例えば、MACS102は、多要素確認メッセージを特定するために検証済み電子メールリソース106へのクエリを実行し、かつこれと引き換えに多要素確認メッセージを受信してよい。次に、MACS102は多要素確認メッセージを解析して多要素メッセージコードを特定し、かつ多要素メッセージコードを検証するように構成されてよい。最後に、MACS102は、例えば多要素認証が成功して完了したことを示す認証成功指標、多要素メッセージコード等をサードパーティリソースに送信することにより、サードパーティリソース112Aへのアクセスをイネーブルしてよい。いくつかの実施形態では、MACS102は、例えば認証トークンと引き換えにサードパーティリソース112Aへのアクセスをイネーブルする情報を受信してよい。いくつかの実施形態では、MACS102は、認証ユーザアカウントに関連付けられているアクセス情報を保存してよい。
【0120】
検証済みサードパーティリソース110A、110B、および110Nを図示しているが、任意の数の検証済みサードパーティリソースがMACS102に関連付けられてよいことを理解されたい。さらに、検証済みサードパーティリソース110はユーザ毎に異なっていてよい。MACS102は、1つ以上のサードパーティリソース識別子に基づいて所与のユーザの検証済みサードパーティリソースの集合を判定するように構成されてよい。MACSに関連付けられてよい検証済みサードパーティリソースは、図示し、かつ上記で説明した検証済みサードパーティリソース110A、110B、および110Nに限定されない。
【0121】
同様に、サードパーティリソース112A、112B、および112Nを図示しているが、任意の数のサードパーティリソースがMACS102に関連付けられてよいことを理解されたい。例えば、MACS102は数十、数百、数千、またはそれより多いサードパーティリソースに関連付けられてよく、これらのサードパーティリソースをユーザはMACS102と統合し、かつMACS102経由で機能にアクセスしてよい。MACSに関連付けられてよいサードパーティリソースは、図示し、かつ上記で説明したサードパーティリソース112A、112B、および112Nに限定されない。
【0122】
同様に、任意の数および種類のクライアントデバイスがMACSに関連付けられてよいことを理解されたい。いくつかの実施形態では、ユーザは単一のクライアントデバイスのみに関連付けられてよい。他の実施形態では、ユーザは、いくつかの実施形態では同じ種類の複数のユーザデバイス(例えば、2つのデスクトップコンピュータ)を含む、異なる種類の複数のユーザデバイスに関連付けられてよい。代替的または追加のクライアントデバイスが本明細書の実施形態によるシステム内でMACSに関連付けられてよいことを理解されたい。したがって、MACSに関連付けられるクライアントデバイスは、図示し、かつ上記で説明したクライアントデバイス104A、104B、および104Cに限定されない。
【0123】
MACS102は、1つ以上の演算システム、例えば
図2に示すマルチアプリ通信装置200により具現化されてよい。
図2に示すように、装置200は、プロセッサ202、メモリ204、入力/出力モジュール206、通信モジュール208、インタフェース生成モジュール210、アプリケーション接続モジュール212、および認証管理モジュール214を備えてもよい。装置200は、
図1に関連して上記で説明し、かつ
図3~
図7に関連して以下に説明する動作を実行するように構成されてよい。要素202~214を機能的限定に関連して説明するが、特定の実装形態は特定のハードウェアの使用を必ず含むことを理解されたい。これらの要素202~214のうちの特定のものが類似のハードウェアを備えてよいことも理解されたい。例えば、2つのモジュールの両方が同じプロセッサ、ネットワークインタフェース、ストレージ媒体等の使用を活用して関連付けられている機能を実行し、それにより重複するハードウェアがモジュール毎に必要とされないようにしてよい。したがって、装置の要素に関連して本明細書で用いる「モジュール」および/または「回路」なる用語の使用は、本明細書に説明する特定の当該モジュールに関連付けられる機能を実行するようにソフトウェアとともに構成される特定のハードウェアを含む。
【0124】
勿論、「モジュール」および/または「回路」なる用語は、ハードウェアを含むものとして広く理解されるべきであり、いくつかの実施形態では、モジュールおよび/または回路はハードウェアを構成するソフトウェアも含んでよい。例えばいくつかの実施形態では、モジュールおよび/または回路は処理回路、ストレージ媒体、ネットワークインタフェース、入力/出力デバイス等を含んでよい。いくつかの実施形態では、装置200の他の要素が特定のモジュールの機能を提供し、または補完してよい。例えば、プロセッサ202は処理機能を提供してよく、メモリ204はストレージ機能を提供してよく、通信モジュール208はネットワークインタフェース機能を提供してよい。
【0125】
いくつかの実施形態では、プロセッサ202(および/またはコプロセッサまたはプロセッサを補助しまたはそうでなければプロセッサに関連付けられているコプロセッサもしくは任意の他の処理回路)は、装置の複数の要素間で情報を渡すバスを介してメモリ204と通信してよい。メモリ204は非一時的であってよく、かつ例えば、1つ以上の揮発性メモリおよび/または不揮発性メモリを含んでよい。すなわち、例えばメモリは電子ストレージデバイス(例えば、コンピュータで読み取り可能な記憶媒体)であってよい。メモリ204は、装置が本開示の例示的な実施形態によるさまざまな機能を実行するのをイネーブルする情報、データ、コンテンツ、アプリケーション、命令等を保存するように構成されてよい。
【0126】
プロセッサ202は、複数の異なる方法で具現化されてよく、かつ例えば独立して実行するように構成される1つ以上の処理デバイスを含んでよい。これに加えてまたはこれに代えて、プロセッサは、バスを介してタンデムに構成されて、命令の独立した実行、パイプライン処理および/またはマルチスレッド処理を可能にする、1つ以上のプロセッサを含んでよい。「処理モジュール」および/または「処理回路」なる用語の使用は、シングルコアプロセッサ、マルチコアプロセッサ、装置内部の複数のプロセッサ、および/または遠隔プロセッサもしくは「クラウド」プロセッサを含むものとして理解されてよい。
【0127】
例示的な実施形態では、プロセッサ202は、メモリ204内に保存されるか、またはそうでなければプロセッサによりアクセス可能な命令を実行するように構成されてよい。これに代えてまたはこれに加えて、プロセッサはハードコードされた機能を実行するように構成されてよい。したがって、ハードウェアもしくはソフトウェアによる方法、またはハードウェアとソフトウェアの組み合わせにより構成されるかにかかわらず、プロセッサは本開示の実施形態による動作を実行することができる(例えば、回路内に物理的に具現化される)エンティティを表すとともに、これに応じて構成されてよい。あるいは、別の例として、プロセッサがソフトウェア命令の実行部として具現化される場合、これらの命令は、実行された際に本明細書に説明するアルゴリズムおよび/または演算を実行するようにプロセッサを具体的に構成してよい。
【0128】
いくつかの実施形態では、装置200はプロセッサ202と通信してユーザに出力を提供し、かついくつかの実施形態ではユーザから指標を受信することができる入力/出力モジュール206を備えてよい。入力/出力モジュール206はユーザインタフェースを備えてよく、かつウェブユーザインタフェース、モバイルアプリケーション、クライアントデバイス等を備えうるデバイスディスプレイ、例えばユーザデバイスディスプレイを備えてよい。いくつかの実施形態では、入力/出力モジュール206は、キーボード、マウス、ジョイスティック、タッチスクリーン、タッチ領域、ソフトキー、マイク、スピーカ、または他の入力/出力メカニズムも備えてよい。プロセッサおよび/またはプロセッサを備えるユーザインタフェース回路は、プロセッサによりアクセス可能なメモリ(例えば、メモリ204等)に保存されたコンピュータプログラム命令(例えば、ソフトウェアおよび/またはファームウェア)により1つ以上のユーザインタフェース要素の1つ以上の機能を制御するように構成されてよい。
【0129】
通信モジュール208は、ネットワークおよび/または装置200と通信する任意の他のデバイス、回路、もしくはモジュールとの間でデータを受信し、かつ/または送信するように構成されるハードウェアまたはハードウェアおよびソフトウェアの組み合わせで具現化される任意の手段、例えばデバイス、モジュール、または回路であってよい。これに関連して、通信モジュール208は、例えば有線または無線の通信ネットワークとの通信をイネーブルするネットワークインタフェースを備えてよい。例えば、通信モジュール208は、1つ以上のネットワークインタフェースカード、アンテナ、バス、スイッチ、ルータ、モデム、ならびに支援ハードウェアおよび/もしくは支援ソフトウェア、またはネットワークを介する通信をイネーブルするのに適した任意の他のデバイスを備えてよい。これに加えてまたはこれに代えて、通信インタフェースはアンテナとインタラクトして当該アンテナを介して信号を送信させ、または当該アンテナを介して受信した信号を処理する回路を備えてよい。これらの信号は、複数の無線パーソナルエリアネットワーク(PAN)技術、例えばBluetooth(登録商標)v1.0~v3.0、Bluetooth Low Energy(BLE)、赤外線無線(例えば、IrDA)FREC、超広帯域(UWB)、誘導無線送信等のいずれかを用いる装置200により送信されてよい。さらに、これらの信号がWi-Fi、近距離無線通信(NFC)、マイクロ波アクセスのための全世界相互運用(Worldwide Interoperability for Microwave Access、WiMAX)、または他の近接性ベースの通信プロトコルを用いて送信されてよいことを理解されたい。
【0130】
いくつかの実施形態では、通信モジュール208は、装置200と1つ以上のクライアントデバイス、例えば
図1に示すクライアントデバイス104との間の通信を容易にしてよい。例えば、通信モジュール208は、MACSアプリケーションを実行する1つ以上のクライアントデバイスに、MACSの機能に関連付けられているデータを送信するのを容易にしてよい。これに加えてまたはこれに代えて、通信モジュール208は、装置200と、サードパーティリソース112、検証済みサードパーティリソース110、検証済み電子メールリソース106、および検証済み多要素認証リソース108を含む1つ以上のサードパーティリソースとの間の通信を容易にしてよい。
【0131】
インタフェース生成モジュール210は、1つ以上のユーザインタフェースとのユーザエンゲージメントに応じてユーザインタフェースを生成し、クライアントデバイスにユーザインタフェースを送信し、かつ/またはそうでなければクライアントデバイスから情報を受信するように構成されるハードウェアまたはハードウェアおよびソフトウェアの組み合わせで具現化される任意の手段、例えばデバイス、モジュール、または回路であってよい。特定の実施形態では、インタフェース生成モジュール210は、少なくとも1つのマルチアプリサインインプロンプトインタフェース、サードパーティリソースサインインプロンプトインタフェース、および/またはアプリ内自動認証プロンプトインタフェースを生成し、かつ/またはそうでなければ取り出すように構成される。いくつかの実施形態では、インタフェース生成モジュール210は1つ以上の他のモジュール、例えばプロセッサ202および/または通信モジュール208と通信し、ユーザインタフェースをクライアントデバイスに送信し、かつクライアントデバイスによりユーザインタフェースをレンダリングさせる。いくつかの実施形態では、インタフェース生成モジュール210は上記の機能を実行するために別個のプロセッサ、特別に構成されたフィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)を備えてよいことも理解されたい。
【0132】
アプリケーション接続モジュール212は、1つ以上のサードパーティリソースおよび/または1つ以上の検証済みサードパーティリソースと通信し、1つ以上のサードパーティリソースおよび/または1つ以上の検証済みサードパーティリソースに関連付けられている機能を提供するように構成されるハードウェアまたはハードウェアおよびソフトウェアの組み合わせで具現化される任意の手段、例えばデバイス、モジュール、または回路であってよい。いくつかの実施形態では、アプリケーション接続モジュール212は、1つ以上のサードパーティリソースと通信するように構成され、それによりサードパーティリソースは、本実施形態によるMACSと統合されうる。いくつかの実施形態では、アプリケーション接続モジュール212は、1つ以上の検証済みサードパーティリソースに関連付けられている機能を、単独でまたは1つ以上の他のモジュール、例えばプロセッサ202および/もしくは通信モジュール208とともに提供するように構成される。これに加えてまたはこれに代えて、いくつかの実施形態では、アプリケーション接続モジュール212は、1つ以上の検証済み多要素認証リソースおよび/または検証済み電子メールリソースに関連付けられている機能を提供するように構成される。いくつかの実施形態では、アプリケーション接続モジュール212は上記の機能を実行するために別個のプロセッサ、特別に構成されたフィールドプログラマブルゲートアレイ(FPGA)、または特定用途向け集積回路(ASIC)を備えてよいことも理解されたい。
【0133】
認証管理モジュール214は、MACSおよび/または1つ以上の検証済みサードパーティリソースに関連付けられているユーザ認証を提供するように構成されるハードウェアまたはハードウェアおよびソフトウェアの組み合わせで具現化される任意の手段、例えばデバイス、モジュール、または回路であってよい。いくつかの実施形態では、認証管理モジュール214はユーザ認証クレデンシャルを受信し、かつ/または妥当性確認して関連付けられているユーザアカウントを特定するように構成される。これに加えてまたはこれに代えて、いくつかの実施形態では、認証管理モジュール214は、1つ以上のサードパーティ多要素認証リソースと通信してそのようなリソースにより、特定されたユーザアカウントに関連する多要素確認を提供させるように構成される。これに加えてまたはこれに代えて、いくつかの実施形態では、認証管理モジュール214は、多要素確認メッセージから多要素メッセージコードを抽出するように構成される。これに加えてまたはこれに代えて、いくつかの実施形態では、認証管理モジュール214は、多要素メッセージコードを妥当性確認するように構成される。いくつかの実施形態では、認証管理モジュール214は応答して、MACSに関連付けられた認証セッションを開始するように構成される。他の実施形態では、認証管理モジュール214は応答して、認証ユーザアカウントに関連付けられた認証セッション中にサードパーティリソースへのアクセスをイネーブルするように構成される。いくつかの実施形態では、認証管理モジュール214は1つ以上の検証済みサードパーティリソースまたはサードパーティリソースを用いて1つ以上のユーザ認証ステップを実行するように構成される。例えば、認証管理モジュール214は、認証ユーザアカウントに関連付けられた認証セッション中に認証セッションのために認証ユーザアカウントに関連付けられた認証クレデンシャル、セキュリティトークン等を自動的に取り出し、かつ検証中に取り出したクレデンシャル、トークン等を利用してサードパーティリソースに関連付けられている1次認証ステップを実行するように構成される。
【0134】
理解されるように、任意のそのようなコンピュータプログラム命令および/または他の種類のコードがコンピュータ、プロセッサ、または他のプログラミング可能な装置の回路に読み込まれて機械を生成し、それにより機械内部のコードを実行するコンピュータ、プロセッサ、または他のプログラミング可能な回路が本明細書に説明するものを含むさまざまな機能を実装する手段を作り出してよい。
【0135】
上記に説明したように、かつ本開示に基づいて理解されるように、本開示の実施形態はシステム、方法、携帯デバイス、バックエンドネットワークデバイス等として構成されてよい。したがって、実施形態は全体としてハードウェアを含むか、またはソフトウェアおよびハードウェアの任意の組み合わせを含むさまざまな手段を備えてよい。さらに、実施形態は少なくとも1つの非一時的コンピュータで読み取り可能な記憶媒体内に保存されたコンピュータプログラム製品であって、ストレージ媒体内にコンピュータ可読プログラム命令(例えば、コンピュータソフトウェア)を具現化させるコンピュータプログラム製品の形態を取ってよい。非一時ハードディスク、CD-ROM、フラッシュメモリ、光ストレージデバイス、または磁気ストレージデバイスを含む任意の適したコンピュータで読み取り可能な記憶媒体が利用されてよい。
【0136】
クライアントデバイス104のそれぞれは、やはりプロセッサ、メモリ、入力/出力モジュール、および通信モジュールを備える1つ以上の演算システムにより具現化されてよい。本開示に説明する動作に関係するので、これらの要素の機能は
図2に関連して上記に説明した同じ名称の要素と同様であってよく、簡潔にするため、これらの要素のメカニズムのさらなる説明を省略する。
【0137】
本開示に含まれる例示的なデバイスの具体的な要素を説明したので、本開示の例示的な実施形態が動作することができるシステムの例示的なデータフローを
図3に関連して以下に説明する。
【0138】
[自動多要素認証フロー]
図3に本開示の例示的な実施形態により構成されるMACSに関連付けられた認証セッションを起動し、またはそうでなければ開始する動作ステップを含むデータフロー図を示す。
図3の動作は、例えばMACSアプリケーション332、MACS334、および検証済みサードパーティ多要素認証リソース336を備えるシステムにより実行されてよい。例示的なシステムは、クライアントデバイス、例えばMACSアプリケーション332を実行するように構成されるクライアントデバイス104Aのうちの1つを備えてよい。クライアントデバイスはネットワークを介してMACS334と通信するように構成されてよい。さらに、MACS334は、同じネットワークまたは異なるネットワーク経由で検証済みサードパーティ多要素認証リソース336と通信するように構成されてよい。
【0139】
いくつかの実施形態では、検証済みサードパーティ多要素認証リソース336は検証済み電子メールリソースであるか、または検証済み電子メールリソースに関連付けられている。例えば、検証済みサードパーティ多要素認証リソース336は手動または自動の検証処理により検証された検証済み電子メールリソースであってよい。
【0140】
MACSアプリケーション332は、ステップ302で、ユーザデバイス上で実行され、初期化され、またはそうでなければ起動される。いくつかの実施形態では、クライアントデバイスに関連付けられているユーザは、例えばソフトウェアプログラムを実行することによりMACSアプリケーション332を起動する。他の実施形態では、MACSアプリケーション332は、クライアントデバイス上で自動的に起動され、かつ実行される。
【0141】
MACS334は、ステップ304でマルチアプリサインインプロンプトインタフェースを生成するためにインタフェース生成モジュール210、プロセッサ202等の手段を備える。MACS334は、ステップ302で起動に成功したことに応じてMACSアプリケーション332から受信した情報/データに応じてこのステップを実行してよい。その後に、MACS334は、ステップ306でMACSアプリケーション332を実行するクライアントデバイスにマルチアプリサインインプロンプトインタフェースを送信する。MACS334の送信により、その後のステップでMACSアプリケーション332によりマルチアプリサインインプロンプトインタフェースをレンダリングさせてよい。
【0142】
MACSアプリケーション332は、ステップ308でマルチアプリサインインプロンプトインタフェースをレンダリングする。いくつかの実施形態では、レンダリングされたマルチアプリサインインプロンプトインタフェースはユーザ認証クレデンシャルを受信し、かつ(例えば、「提示」ボタンを介して)ユーザ認証クレデンシャルをMACS334に提示させるように構成される少なくとも1つ以上のインタフェース要素を備える。いくつかの実施形態では、ステップ304および306は実行されず、それによりフローはステップ302からステップ308に直接進む。例えばいくつかの実施形態では、MACSアプリケーション332は、MACSアプリケーションの初期の起動に応じてマルチアプリサインインプロンプトインタフェースを直ぐにレンダリングするように構成されてよい。
【0143】
MACSアプリケーション332は、ステップ310でMACS334にマルチアプリサインイン要求を送信する。いくつかの実施形態では、MACSアプリケーションはレンダリングされたマルチアプリサインインプロンプトインタフェースとのユーザエンゲージメントに応じてマルチアプリサインイン要求を送信するように構成される。マルチアプリサインイン要求は、サインインしてMACSに関連付けられた認証セッションのためにMACS334にアクセスするというユーザの要望を示してよい。いくつかの実施形態では、マルチアプリサインイン要求はMACSにとって有用なユーザの特定および/またはユーザの認証に関連付けられているさらなる情報および/またはデータも含んでよい。例えば、マルチアプリサインイン要求はユーザ認証クレデンシャルを含む。これに加えてまたはこれに代えて、いくつかの実施形態では、マルチアプリサインイン要求は、MACSアプリケーション332を実行するクライアントデバイスに関連付けられている少なくとも1つのデバイス識別子を含む。これに加えてまたはこれに代えて、いくつかの実施形態では、マルチアプリサインイン要求は、MACSアプリケーション332に関連付けられている少なくとも1つのアプリケーション識別子および/またはアプリケーションインスタンス識別子を含む。
【0144】
例示的な実施形態では、MACS334は、マルチアプリサインイン要求を自動的に受信する。マルチアプリサインイン要求は、特定のクライアントデバイス、MACSアプリケーション332等に関連付けられている認証ユーザアカウントを特定する情報を含んでよい。例えば、クライアントデバイス上で実行されるMACSアプリケーション332は、デバイス識別子、ユーザ認証クレデンシャル等を自動的に取り出し、かつ/または判定し、かつこの情報をMACS334に送信されるマルチアプリサインイン要求に含めてよい。それに応じて、MACSアプリケーション332を実行するクライアントデバイスは、対応する認証ユーザアカウントを特定するのに必要なユーザ認証クレデンシャルまたは同等な情報を自動的に提供するように構成されてよい。
【0145】
MACSは、ステップ312でマルチアプリサインイン要求を受信するために通信モジュール208、認証管理モジュール214、プロセッサ202等の手段を備える。いくつかの実施形態では、MACS334は、ステップ312で受信したマルチアプリサインイン要求中に含まれる情報を妥当性確認し、かつ/または保存してよい。例えば、MACS334は、受信したユーザ認証クレデンシャルを妥当性確認し、かつ受信したクレデンシャルに関連付けられている認証ユーザアカウントを特定してよい。
【0146】
示しているように、MACS334は、ステップ314で検証済みサードパーティ多要素認証リソース、具体的には検証済みサードパーティ多要素認証リソース336に多要素確認メッセージを送信させるためにアプリケーション接続モジュール212、認証管理モジュール214、プロセッサ202、通信モジュール208等の手段を備える。例えばいくつかの実施形態では、MACS334は、多要素要求を送信し、サードパーティ多要素認証リソースユーザアカウントを用いて検証済みサードパーティ多要素認証リソースにより多要素確認メッセージをユーザに提供させ、またはそうでなければ多要素確認メッセージを利用可能にする。いくつかの実施形態では、MACS334は、多要素確認メッセージを生成してよい。MACS334は、例えば検証済みサードパーティ多要素認証リソース336に送信された多要素要求の一部として、多要素確認メッセージを検証済みサードパーティ多要素認証リソース336に送信してよい。例えばいくつかの実施形態では、MACS334は、受信したユーザ認証クレデンシャル、マルチアプリサインイン要求で受信した他の情報、および/または先に特定されたユーザアカウント、例えばステップ312で特定されたユーザアカウントを用いて検証済みサードパーティ多要素認証リソース336を特定してよい。MACS334は、多要素確認メッセージおよび/または多要素メッセージコードを含みうる多要素要求を検証済みサードパーティ多要素認証リソース336に送信してよい。
【0147】
検証済みサードパーティ多要素認証リソース336は、ステップ316でユーザに多要素確認メッセージを提供する。いくつかの実施形態では、検証済みサードパーティ多要素認証リソース336は、多要素要求に応じてユーザアカウントに関連付けられている多要素確認メッセージを生成し、かつ/または利用可能にしてよい。検証済みサードパーティ多要素認証リソースは、MACS334から受信した情報、例えば受信した多要素要求に含まれる情報を用いてユーザアカウントを特定してよい。いくつかの実施形態では、検証済み多要素認証リソース336は、多要素確認メッセージに関連付けられている情報を含む多要素確認メッセージを提供した後、MACS334に応答を送信してよい。
【0148】
MACS334は、ステップ318で多要素確認メッセージを特定するために検証済みサードパーティ多要素認証リソースへのクエリを実行する、アプリケーション接続モジュール212、認証管理モジュール214、プロセッサ202、通信モジュール208等の手段を備える。
【0149】
検証済み多要素認証リソース336は、ステップ320でユーザに提供された多要素確認を取り出し、かつステップ322でMACS334に多要素確認メッセージを送信する。MACS334に送信される情報は、ステップ316で検証済み多要素認証リソースが多要素確認メッセージを提供したクライアントデバイスを特定する情報をさらに含んでよい。例えば、検証済みサードパーティ多要素認証リソース336は、多要素確認メッセージを含む送信の一部として、または多要素確認メッセージを含む送信に加えてデバイス識別子、アプリケーションインスタンス識別子等をMACS334に送信してよい。例えばいくつかの実施形態では、新たな電子メールメッセージが(例えばサードパーティリソース認証トークンにより)認証ユーザアカウントに関連付けられている電子メールプロファイルに関連付けられている場合、MACSは、ウェブフックを利用して検証済みサードパーティ電子メールリソースから新たな電子メールメッセージを受信してよい。
【0150】
MACS334は、ステップ324で多要素確認メッセージを受信して多要素確認メッセージから多要素メッセージコードを抽出するために認証管理モジュール214、アプリケーション接続モジュール212、通信モジュール208、プロセッサ202等の手段を備える。いくつかの実施形態では、MACS334は、受信した多要素確認メッセージを解析して多要素メッセージコードを含む認証リンクを特定し、かつ多要素確認メッセージから多要素メッセージコードを抽出する手段を備える。いくつかの実施形態では、MACS334は、1つ以上の識別子、プレフィックス、または他のテキスト検索を利用して多要素メッセージコードを特定し、かつ抽出するように構成される手段を備える。
【0151】
いくつかの実施形態では、MACSは、無数の方法で多要素確認メッセージを特定し、かつ/または1つ以上の多要素確認メッセージを解析してよい。例示的な実施形態では、MACSは、1つ以上のサードパーティルールの集合をサードパーティリソースに関連付けてよい。例示的なサードパーティルールの集合は、多要素確認メッセージに含まれる情報および/または多要素確認メッセージに関連付けられているメタデータに基づいて多要素確認メッセージを特定するルールを含んでよい。例えば、サードパーティルールの集合は、多要素確認メッセージの送信者に関連付けられている送信者名、多要素確認メッセージに関連付けられている件名テキスト(例えば、多要素確認電子メールメッセージの件名)、多要素確認メッセージのメッセージコンテンツ、多要素確認メッセージの送信者に関連付けられている識別子(例えば、IPアドレス)、および/または多要素確認メッセージに埋め込まれたメタデータ等の群の1つ以上に基づいて多要素確認メッセージを特定してよい。特定のサードパーティルールの集合は、この情報および/またはさらなる情報の組み合わせを利用して多要素確認メッセージを特定してよい。
【0152】
具体的な例では、MACS334は、第1のサードパーティルールの集合を第1の検証済みサードパーティ多要素認証リソース、例えば特定の検証済み電子メールリソースに関連付けてよい。第1のサードパーティルールの集合により、多要素確認メッセージの送信者名、件名、およびメッセージコンテンツに基づいてMACS334が多要素確認メッセージを特定するのを可能としうる。また、MACS334は、第2のサードパーティルールの集合を第2の検証済みサードパーティ多要素認証リソースに関連付けてよい。第2のサードパーティルールの集合により、多要素確認メッセージの送信者名およびメッセージコンテンツに基づいてMACS334が多要素確認メッセージを特定するのを可能としうる。それに応じて、MACS334は特定のサードパーティ多要素認証リソースに関連付けられている適切なサードパーティルールの集合を用いて、当該サードパーティ多要素認証リソースにより提供された多要素確認メッセージを特定してよい。
【0153】
追加として又は代替として、いくつかの実施形態では、同じか、または追加のサードパーティルールの集合が多要素確認メッセージを解析して多要素メッセージコードを特定するルールを含んでよい。例えば特定の実施形態では、MACSは、サードパーティリソースに関連付けられている特定のサードパーティルールの集合を用いて特定の多要素確認メッセージを特定し、かつその後にサードパーティルールの集合を利用して多要素確認メッセージを解析してよい。例えば、サードパーティルールの集合は、サードパーティリソースがどのように多要素認証または他の妥当性確認情報を含むか(例えばメタデータとして、認証リンクの一部として等)を包含してよい。いくつかの実施形態では、MACSは、多要素確認メッセージを特定し、かつ解析するサードパーティルールの集合を特定する。他の実施形態では、MACSは、多要素確認メッセージを特定する第1のサードパーティルールの集合、および特定した多要素確認メッセージを解析して多要素確認コードを特定する第2のサードパーティルールの集合を特定する。
【0154】
MACS334は、ステップ326で多要素メッセージコードを妥当性確認させるために認証管理モジュール214、プロセッサ202等の手段を備える。いくつかの実施形態では、MACS334は、MACS334が知っているか、または保存した情報に基づいて、例えば多要素メッセージコードを先に保存した予想コードと比較することにより多要素メッセージコードを検証するように構成される。これに代えてまたはこれに加えて、いくつかの実施形態では、MACS334は、妥当性確認するために多要素メッセージコードを検証済みサードパーティリソースに送信する。MACS334は、クライアントデバイス、特定した認証ユーザアカウント等に関する情報を保存し、さらなる検証を行うことなく、クライアントデバイスがその後の認証セッションを容易に起動するのを可能にしてよい。
【0155】
これに加えてまたはこれに代えて、いくつかの実施形態では、MACS334は、ステップ326における多要素メッセージコードの妥当性確認の一部として認証セッションを要求するクライアントデバイスおよび多要素メッセージコードに関連付けられているクライアントデバイスが同じであることを妥当性確認してよい。例えば、MACSはクライアントデバイスおよび多要素メッセージコードに関連付けられている1つ以上のインスタンス識別子を比較してよい。例えば、MACS334は、マルチアプリサインイン要求を送信したクライアントデバイスに関連付けられているターゲットインスタンス識別子を受信してよい。ターゲットインスタンス識別子は、クライアントデバイスを一意に識別し(例えば、IPアドレス、IMEI、または他のデバイス識別子)、またはクライアントデバイスを介して実行されるMACSアプリケーションインスタンスを一意に識別してよい(例えば、アプリケーションインスタンス識別子)。MACS334は、確認インスタンス識別子を受信し、またはそうでなければ判定してよい。確認インスタンス識別子は、クライアントデバイス、またはクライアントデバイス上で実行されるMACSアプリケーションを示してよい。これにより、提供された多要素確認メッセージへのアクセスを有するクライアントデバイスを示す。例えば、MACS334は、多要素確認メッセージを提供したクライアントデバイスに関連付けられている検証済み多要素認証リソース336から確認インスタンス識別子を受信してよい。あるいは、いくつかの実施形態では、MACS334は、既知の信頼できるクライアントデバイスに関連付けられている1つ以上の信頼できる確認インスタンス識別子を追跡してよい。例えば、MACSは信頼できるクライアントデバイスに関連付けられている1つ以上の既知のデバイス識別子を含んでよい。これに加えてまたはこれに代えて、MACSはクライアントデバイスに関連付けられている既知の信頼できる場所を、受信したクライアントデバイスの場所と比較して、当該デバイスが検証済みサードパーティ多要素認証リソースにアクセスできるか判定するように構成されてよい。サインインを要求するクライアントデバイスが多要素確認メッセージにアクセスできることをMACS334が確認できない場合、例えばターゲットインスタンス識別子および確認インスタンス識別子が一致しない場合、MACS334は、MACSに関連付けられた認証されたセッションの妥当性確認に失敗し及び/又はそうでなければ起動できない可能性がある。
【0156】
いくつかの実施形態では、MACS334がステップ326で多要素メッセージコードの妥当性確認に失敗した場合、フローはステップ328に進まず、したがってMACSに関連付けられた認証セッションを起動しない可能性がある。いくつかの実施形態では、MACS334はMACSアプリケーション332を実行するクライアントデバイスに検証失敗応答を送信してよい。検証失敗応答は、MACS334がクライアントデバイスにより提供された情報を検証できなかったことを示す。
【0157】
MACS334は、ユーザの妥当性確認(validating)が成功した後、ステップ328でMACSに関連付けられた認証セッションを起動するために認証管理モジュール214、プロセッサ202等の手段を備える。MACS334は、サインイン要求に関連付けられているクライアントデバイスがクライアントデバイス上で実行されるMACSアプリケーション332経由でMACS334に関連付けられている機能にアクセスできるように認証セッションを構成してよい。特定の例示的実施形態では、MACS334は認証トークンを構成し、MACSアプリケーション332を実行するクライアントデバイスに認証トークンを送信してよい。認証トークンまたは他の手段により、認証セッションは、以前のステップのうちの1つ以上における動作により認証されたユーザアカウントに関連付けられてよい。
【0158】
いくつかの実施形態では、いったんユーザの認証が成功すると、MACS334はその後の認証を自動的にイネーブルするように構成される。例えば、MACSは特定された認証ユーザアカウントに関連付けられているクライアントデバイス識別子、IPアドレス、および/または他の識別情報を保存してよい。その結果、MACSがクライアントデバイスからその後のマルチアプリサインイン要求を受信した場合、MACSは、クライアントデバイスが特定の認証ユーザアカウントに関連付けられてすでに認証されたと判定してよく、かつ特定の認証ユーザアカウントに関連付けられた認証セッションを自動的に起動してよい。いくつかの実施形態では、MACS334は認証ユーザアカウントに関連付けられた認証トークンを生成し、かつ/または構成するように構成され、それにより認証トークンは、認証クレデンシャルの代わりに用いられてよい。MACSは、認証ユーザアカウントに関連付けられている認証トークンを保存し、かつ/またはクライアントデバイスに認証ユーザアカウントに関連付けられている認証トークンを保存させるように構成されてよい。それにより、クライアントデバイスは、マルチアプリサインイン要求とともに認証トークンをMACS334に提供し、認証ユーザアカウントに関連付けられた認証セッションの起動を容易にしてよい。
【0159】
あるいは、いくつかの実施形態では、MACSにより起動される認証セッションは、ワンタイムセッションとして構成される。例えば、MACSは、多要素メッセージコードがワンタイムセッションに関連付けられていることを特定してもよい。それに応じて、認証セッションがワンタイムセッションであるいくつかの実施形態では、MACSは、ユーザを再び認証することなく、クライアントデバイスに関連付けられた追加またはその後のいずれの認証セッションも起動しないように構成されてよい。例えば、MACS334は、その後の認証セッションを特定のクライアントデバイスから起動するためにクライアントデバイスを信頼できるデバイスとして保存しなくてよく、かつ/またはそうでなければユーザに認証を要求しなくてよい。
【0160】
ステップ330で、MACSに関連付けられた認証セッションが開始する。例えば、クライアントデバイスは認証セッション中にMACSアプリケーション332を介してMACSにアクセスするための情報、例えばMACSにより構成された認証トークンを受信し、かつ保存してよい。それに応じて、ユーザは、MACSアプリケーション332を用いて、受信した情報、例えば認証トークンを利用して認証セッション中にMACS334に関連付けられている機能要求を実行してよい。
【0161】
図4に関連して以下に考察するように、ユーザは、ステップ330の後、クライアントデバイス上で実行されるMACSアプリケーションを介してMACS334に関連付けられている1つ以上のサードパーティリソースを統合し、かつ/またはそうでなければ検証し、MACS334と関連付けられている機能にアクセスし、またはMACSを介して、1つ以上の検証済みサードパーティリソースに関連付けられている機能にアクセスするためにMACS334に関連付けられている1つ以上の検証済みサードパーティリソースに関連付けられた認証セッションを起動してよい。
【0162】
図3に示すフローは単なる例であり、かつ他のフローは代替的なステップ、さらなるステップ、またはステップの代替的な組み合わせを含んでよいことを理解されたい。例えば、ステップ326に関連して上記に説明したユーザデバイス妥当性確認は、ステップ318、ステップ324、または妥当性確認を実行するために要求されるすべての情報が受信されている他のステップで実行されうる。したがって、
図3に示す具体的なフローは本開示の範囲および趣旨を限定するものではない。
【0163】
[サードパーティリソースの検証(verification)]
図4に、サードパーティリソースに関連付けられている機能が本開示の例示的な実施形態により構成されるMACSを介して、認証ユーザアカウントに関連付けられた認証セッション中にアクセス可能になるように、サードパーティリソースを検証する動作ステップを含むデータフロー図を示す。
図4の動作は例えば、クライアントデバイス(例えばクライアントデバイス104A)上で実行されるMACSアプリケーション332、MACS334、検証済みサードパーティ多要素認証リソース336、およびサードパーティリソース338を備えるシステムにより実行されてよい。クライアントデバイスは、ネットワークを介してMACS334と通信するように構成されてよい。さらに、MACS334は、同じネットワークまたは異なるネットワーク経由で検証済みサードパーティ多要素認証リソース336および/またはサードパーティリソース338と通信するように構成されてよい。
【0164】
示しているように、MACS334に関連付けられた認証セッション中に、図示している動作は実行されてよい。認証セッションは認証ユーザアカウントに関連付けられる。例えば、ユーザは、
図3に示す処理、認証ユーザアカウントに関連する自動認証後の1次認証法(例えば、ユーザ名およびパスワードを用いるサインイン)、または代替的な処理によりまずサインインしてMACSアプリケーションを実行するクライアントデバイスを認証しなければならない場合がある。したがって、実行される際に、
図4により図示する動作は認証セッションに関連付けられた認証ユーザアカウントに関連付けられてよい。
【0165】
MACSアプリケーション332に関連付けられているクライアントデバイスは、ステップ402でサードパーティリソース、例示のため具体的にはサードパーティリソース338へのアクセスおよびサードパーティリソース338との統合を開始する。ユーザは、このステップでサードパーティリソースに関連付けられている機能にアクセスするというユーザの要望を示す。いくつかの実施形態では、ユーザはMACSアプリケーション332とエンゲージし、MACSとサードパーティリソースとの間の通信を開始してよい。例えば、いくつかの実施形態では、MACSシステム334は、サードパーティリソースに関連するサードパーティリソース統合要求を受信する。サードパーティリソース統合要求は、サードパーティリソースに関連付けられているサードパーティリソース識別子を含んでよい。他の実施形態では、MACS334がユーザアカウントに関連付けられた認証セッションを起動すると、1つ以上のサードパーティリソースが開始される。MACS334は、このステップで送信される情報の一部として、クライアントデバイスに関連付けられているターゲットインスタンス識別子を受信してよい。
【0166】
MACS334は、ステップ404で検証済みサードパーティリソース338のサインインを管理するために認証管理モジュール214、アプリケーション接続モジュール212、通信モジュール208、プロセッサ202等の手段を備える。いくつかの実施形態では、MACS334は、ユーザデバイス上で実行されるMACSアプリケーション332を介してユーザに提示するため、サードパーティリソース338からサードパーティサインインインタフェースを取り出すように構成されてよい。他の実施形態では、MACS334はユーザクレデンシャルを自動的に提供し、かつ/またはそうでなければサードパーティリソース338に関連する1次認証法に必要な情報を提供するように構成される。例えば、MACS334は、認証トークンまたは1次認証トークンおよび/または認証セッションに関連付けられた認証ユーザアカウントに関連付けられているユーザアカウント詳細(例えば、電子メール、デバイス識別子等)をサードパーティリソース338に提供し、それによりユーザは、追加のいずれの認証クレデンシャルもサードパーティリソース338に入力する必要がなくなってよい。それに応じて、いくつかの実施形態では、フローはステップ404からステップ420に直接進んでよい。
【0167】
サードパーティリソース338は、ステップ406でサードパーティサインインインタフェースを特定する。いくつかの実施形態では、サードパーティリソース338は、サードパーティサインインインタフェースを生成する。他の実施形態では、サードパーティリソース338は、1つ以上のサードパーティサインインインタフェースを含むデータベースからサードパーティサインインインタフェースを取り出し、またはサードパーティサインインインタフェースを生成するデータ/命令を取り出す。その後に、サードパーティリソース338は、ステップ408でサードパーティサインインインタフェース408をMACS334に送信する。
【0168】
MACS334は、ステップ410でサードパーティサインインインタフェースを受信するためにインタフェース生成モジュール210、アプリケーション接続モジュール212、通信モジュール208、プロセッサ202等の手段を備える。MACS334は、ステップ412でMACSアプリケーション332を実行するクライアントデバイスにサードパーティサインインインタフェースを送信するためにインタフェース生成モジュール210、通信モジュール208、プロセッサ202等の手段を備える。MACS334は、MACSアプリケーション332を実行するクライアントデバイスへの送信の一部としてサードパーティサインインインタフェースまたは同等のデータを送信し、これによりMACSアプリケーション332にサードパーティサインインインタフェースをレンダリングさせてよい。
【0169】
MACSアプリケーション332は、ステップ414でクライアントデバイスにサインインインタフェースをレンダリングする。レンダリングされるサードパーティサインインインタフェースは、ユーザ認証クレデンシャルを受信するように構成される1つ以上の要素を含んでよい。これに加えてまたはこれに代えて、レンダリングされるサードパーティサインインインタフェースは、MACS334への情報の送信を容易にする、例えばサードパーティサインイン要求を送信させるように構成される1つ以上の要素を含んでよい。いくつかの実施形態では、サードパーティサインインインタフェースは、MACSアプリケーション332を介して、例えばクレデンシャルマネージャ、パスワードマネージャ等を介してユーザ認証クレデンシャルを自動的に受信するように構成されてよい。
【0170】
ステップ416において、クライアントデバイスは、サードパーティサインイン要求をMACSアプリケーション332を介してMACS334に送信する。いくつかの実施形態では、クライアントデバイスは、サードパーティサインイン要求をサードパーティサインインインタフェースとのユーザエンゲージメントに応答して、MACSアプリケーション332を介して送信する。いくつかの実施形態では、MACSアプリケーション332は、サードパーティサインイン要求を、レンダリングされたサードパーティサインインインタフェースとのユーザエンゲージメントに応答して送信するように構成される。サードパーティサインイン要求は、MACS334を介してサードパーティリソース338にサインインし、またはそうでなければサードパーティリソース338に関連付けられている機能にアクセスするというユーザの要望を示してよい。いくつかの実施形態では、サードパーティサインイン要求は、MACSにとって有用なユーザ識別および/またはデバイス識別、ならびに/または認証に関連付けられているさらなる情報および/またはデータも含んでよい。例えば、サードパーティサインイン要求は、ユーザ認証クレデンシャルを含んでよい。これに加えてまたはこれに代えて、いくつかの実施形態では、サードパーティサインイン要求は、MACSアプリケーション332を実行するクライアントデバイスに関連付けられている少なくとも1つのターゲットインスタンス識別子を含む。これに加えてまたはこれに代えて、いくつかの実施形態では、サードパーティサインイン要求は、MACSアプリケーション332に関連付けられている少なくとも1つのアプリケーション識別子および/またはインスタンス識別子を含む。
【0171】
MACS334は、ステップ418でサードパーティサインイン要求を受信するために認証管理モジュール214、通信モジュール208、プロセッサ202等の手段を備える。サードパーティサインイン要求は、認証ユーザアカウントに関連付けられた認証セッション中にMACS334を介してサードパーティリソース338に関連付けられている機能にアクセスすることができるように、サインインしてサードパーティリソース338を妥当性確認するというユーザの要望を示してよい。いくつかの実施形態では、サードパーティサインイン要求は、MACSにとって有用なユーザ識別および/またはユーザ認証に関連付けられているさらなる情報および/またはデータも含んでよい。例えば、サードパーティサインイン要求は、サードパーティリソース338に関連付けられているユーザ認証クレデンシャルを含んでよい。これに加えてまたはこれに代えて、いくつかの実施形態では、サードパーティサインイン要求は、MACSアプリケーション332を実行するクライアントデバイスに関連付けられている少なくとも1つのデバイス識別子を含む。これに加えてまたはこれに代えて、いくつかの実施形態では、サードパーティサインイン要求は、MACSアプリケーション332に関連付けられている少なくとも1つのアプリケーション識別子および/またはインスタンス識別子を含む。
【0172】
MACS334は、ステップ420でサードパーティサインイン要求、および/または受信した、あるいはサードパーティサインイン要求に関連付けられた情報をサードパーティリソース338に送信し、かつサードパーティリソース338は、1次認証法を用いてユーザを認証する。例えば、MACS334は、提供されたユーザ認証クレデンシャルに基づいてユーザがサードパーティリソース338に登録されていることを妥当性確認するために、特定された、またはMACSアプリケーション332を実行するクライアントデバイスから受信した少なくともユーザ認証クレデンシャルを送信してよい。
【0173】
サードパーティリソース338は、ステップ422で1次認証法を用いてユーザの認証が成功したという指標を送信する。これに加えてまたはこれに代えて、サードパーティリソース338は、1次認証法を用いて認証された認証ユーザアカウントに関連付けられている認証トークンまたは他のデータを含んでよい。サードパーティリソース338は、多要素認証が要求されることを示す情報、および/または1次認証法を用いて認証されたユーザアカウントに関連付けられている検証済みサードパーティ多要素認証リソースも含んでよい。これに加えてまたはこれに代えて、サードパーティリソースは、このステップでMACSアプリケーション332を実行するクライアントデバイスに関連付けられているターゲットインスタンス識別子を送信してよい。MACS334は、ステップ424で成功した認証の指標を受信するためにアプリケーション接続モジュール212、通信モジュール208、プロセッサ202等の手段を備える。当該指標は、ターゲットインスタンス識別子、予想される多要素メッセージコード、および/または多要素メッセージコードを妥当性確認するための他の情報を含んでよい。
【0174】
MACS334は、ステップ424で検証済みサードパーティ多要素認証リソース、具体的には、示しているように検証済みサードパーティ多要素認証リソース336に多要素確認メッセージを送信させるためにアプリケーション接続モジュール212、通信モジュール208、プロセッサ202等の手段を備える。いくつかの実施形態では、多要素確認メッセージを送信させることによって、検証済みサードパーティ多要素認証リソース336によりユーザに多要素確認メッセージを提供させ、またはそうでなければサードパーティ多要素認証リソースユーザアカウントを用いて多要素確認メッセージを利用可能にする。例えば、いくつかの実施形態では、MACS334は、サードパーティリソース338に多要素要求を送信してよい。多要素要求は、サードパーティリソースにより多要素確認メッセージを生成させ、かつ多要素確認メッセージを検証済みサードパーティ多要素認証リソース336に送信させるように構成される。他の実施形態では、MACS334は、多要素確認メッセージを生成し、かつ多要素確認メッセージを含む多要素要求を検証済みサードパーティ多要素認証リソース336に送信してよい。いくつかの実施形態では、MACS334は、サードパーティリソース338と通信して検証済みサードパーティ多要素認証リソースを特定し、かつ/または検証済みサードパーティ多要素認証リソースにより多要素確認メッセージを提供させてよい。いくつかの実施形態では、MACS334は、ステップ422で、またはステップ424と同時にサードパーティリソース338により検証済みサードパーティ多要素認証リソース336に情報を送信させる。例えば、MACS334は、サードパーティリソース338により多要素確認メッセージを生成させ、かつ/または検証済みサードパーティリソース338により検証済みサードパーティ多要素認証リソース336がユーザに多要素確認メッセージを提供するようにさせてよい。
【0175】
検証済みサードパーティ多要素認証リソース336は、ステップ425でユーザに多要素確認メッセージを提供する。多要素確認メッセージは、1次認証法によりサードパーティリソースを用いて認証が成功したユーザに関連付けられている少なくとも1つの多要素メッセージコードを含む。特定の実施形態では、検証済みサードパーティ多要素認証リソース336は検証済み電子メールリソースである。検証済み電子メールリソースは、1次認証法を用いてサードパーティリソース338により認証されたユーザに関連付けられている電子メールに電子メール多要素確認メッセージを提供する。例えば、検証済みサードパーティ多要素認証リソース336は、認証セッションに関連付けられている認証ユーザアカウントに関連付けられている電子メールプロファイル、例えばMACS334またはサードパーティリソース338により特定された電子メールプロファイルに電子メールメッセージを提供してよい。
【0176】
MACS334は、ステップ426で多要素確認メッセージを特定するために検証済みサードパーティ多要素認証リソース336へのクエリを実行するべく、アプリケーション接続モジュール212、プロセッサ202、通信モジュール208等の手段を備える。いくつかの実施形態では、MACS334は、保存した検証済み認証情報、例えば特定のサードパーティ多要素認証リソースユーザアカウントに関連付けられているサードパーティリソース認証トークン、および/またはクライアントデバイス識別子、IPアドレス、電子メールプロファイル等のうちの1つ以上に基づいて情報、データ、および/またはメッセージについて検証済みサードパーティ多要素認証リソース336へのクエリを実行してよい。いくつかの実施形態では、クエリは、検証済みサードパーティ多要素認証リソース336と統合されたウェブフックを用いて自動的に実行される。他の実施形態では、MACS334は、1つ以上のAPIを用いて、例えば所定の間隔で検証済みサードパーティ多要素認証リソースへのクエリを実行するように構成される。
【0177】
検証済みサードパーティ多要素認証リソース336は、ステップ428でユーザに提供された多要素確認メッセージを取り出す。いくつかの実施形態では、検証済みサードパーティ多要素認証リソース336は、MACS334により提供された情報を用いて多要素確認メッセージを取り出す。検証済みサードパーティ多要素認証モジュール336は、ステップ430で、例えば送信によりMACS334に多要素確認メッセージを提供する。MACS334に送信される情報は、検証済み多要素認証リソースがステップ425で多要素確認メッセージを提供したクライアントデバイスを特定する情報をさらに含んでよい。例えば、検証済みサードパーティ多要素認証リソース336は、多要素確認メッセージとともにさらなる情報、例えばデバイス識別子、アプリケーションインスタンス識別子等を特定し、かつ/またはMACS334に送信してよい。
【0178】
MACS334は、ステップ432で多要素確認メッセージを受信し、かつ多要素確認メッセージから多要素メッセージコードを抽出するためにアプリケーション接続モジュール212、認証管理モジュール214、通信モジュール208、プロセッサ202等の手段を備える。いくつかの実施形態では、MACS334は、ウェブフックにより検証済みサードパーティ多要素認証リソース336から多要素確認メッセージを受信する。MACS334は、検証済みサードパーティ多要素認証リソースにより提供されるすべてのメッセージを受信するように構成されてよい。いくつかの実施形態では、MACS334は、受信した多要素確認メッセージを解析して多要素メッセージコードを含む認証リンクを特定し、かつ多要素確認メッセージから多要素メッセージコードを抽出する手段を備える。いくつかの実施形態では、MACS334は、1つ以上の識別子、プレフィックス、または他のテキスト検索を利用して多要素メッセージコードを特定し、かつ抽出するように構成される手段を備える。いくつかの実施形態では、MACS334は、多要素メッセージコードを抽出するための1つ以上のサードパーティルールの集合を特定してよい。例えば、MACS334は、検証済みサードパーティ多要素認証リソース336により送信される多要素メッセージコードを抽出するための特定のサードパーティルールの集合を特定してよい。
【0179】
MACS334は、ステップ434で多要素メッセージコードを妥当性確認させるために認証管理モジュール214、プロセッサ202等の手段を備える。いくつかの実施形態では、MACS334は、MACS334が知っているか、または保存した情報に基づいて、例えば多要素メッセージコードを先に保存した予想コードと比較することによりコードを検証するように構成される。いくつかの実施形態では、MACS334は、サードパーティリソース338または検証済みサードパーティ多要素認証リソース336により多要素メッセージコードを妥当性確認させる。例示的な実施形態では、MACS334は、サードパーティリソースまたはサードパーティ多要素認証リソースによる妥当性確認のために多要素メッセージコードを送信し、かつ多要素コードの妥当性確認が成功したかを示す妥当性確認指標応答(validation indication response)を受信する。
【0180】
追加として又は代替として、MACS334は、ステップ434での多要素メッセージコードの妥当性確認の一部として認証セッションを要求するクライアントデバイスおよび多要素メッセージコードに関連付けられているクライアントデバイスが同じであることを妥当性確認してよい。例えば、MACSは、クライアントデバイスに関連付けられている1つ以上のインスタンス識別子を、多要素メッセージコードに関連付けられている1つ以上のインスタンス識別子と比較してよい。確認インスタンス識別子は、例えば提供されたことのあるクライアントデバイスのプロキシとして機能してよく、したがって多要素確認メッセージへのアクセスを有する。例示的な実施形態では、MACS334は、サードパーティサインイン要求を送信したクライアントデバイスに関連付けられているターゲットインスタンス識別子を受信する。ターゲットインスタンス識別子は、クライアントデバイスを一意に識別するか(例えば、IPアドレス、IMEI、または他のデバイス識別子)、またはサードパーティリソースを検証するように要求しているクライアントデバイスにより実行されるMACSアプリケーションインスタンスを一意に識別してよい(例えば、アプリケーションインスタンス識別子)。MACS334は、確認インスタンス識別子を受信し、またはそうでなければ判定してよい。確認インスタンス識別子は、クライアントデバイス、またはクライアントデバイス上で実行されるMACSアプリケーションを示してよく、提供される多要素確認メッセージへのアクセスを有する。例えば、MACS334は、多要素確認メッセージを提供したクライアントデバイスに関連付けられている検証済み多要素認証リソース336から確認インスタンス識別子を受信してよい。あるいは、MACS334は、受信したターゲットインスタンス識別子と比較するために1つ以上の確認インスタンス識別子(例えば、クライアントデバイス識別子、信頼できるクライアントデバイスに関連付けられている場所等)を追跡してよい。例えば、MACS334は、信頼できるクライアントデバイスに関連付けられている1つ以上の確認インスタンス識別子を含み、かつ受信したターゲットインスタンス識別子を比較してよい。これに代えてまたはこれに加えて、MACS334は、信頼できるクライアントデバイスに関連付けられている1つ以上の信頼できる場所を保存してよく、かつターゲットインスタンス識別子の場所を信頼できる場所と比較し、その場所が信頼できる近接性内にあるか、したがってクライアントデバイスがサードパーティ多要素認証リソースにアクセスすることが可能な信頼できるクライアントデバイスであるかを判定してよい。いくつかの実施形態では、サインインを要求するクライアントデバイスが多要素確認メッセージにアクセスできることをMACS334が確認できない場合、例えばターゲットインスタンス識別子および確認インスタンス識別子が一致しない場合、MACS334は、サードパーティリソースの妥当性確認に失敗し、及び/又はそうでなければサードパーティリソースを検証しない場合がある。
【0181】
いくつかの実施形態では、MACS334がステップ434で多要素メッセージコードの妥当性確認に失敗した場合、フローはステップ436に進まない。いくつかの実施形態では、MACS334は、MACSアプリケーション332を実行するクライアントデバイスに検証失敗応答を送信してよい。検証失敗応答は、MACS334がクライアントデバイスおよび/または認証ユーザアカウントに関連付けられている情報を自動的に妥当性確認することができなかったことを示す。
【0182】
MACS334は、ステップ436で認証ユーザアカウントに関連付けられた認証セッション中にサードパーティリソース338へのアクセスをイネーブルするために認証管理モジュール214、プロセッサ202等の手段を備える。MACS334は、認証セッション中にユーザがクライアントデバイス上で実行されるMACSアプリケーション332経由でMACS334に関連付けられている機能にアクセスすることができるようにMACSアプリケーションを構成してよい。具体的で例示的な実施形態では、MACS334は、サードパーティリソース338から検証済み認証情報を受信し、かつ/またはサードパーティリソース338に関連付けられている検証済み認証情報を構成してよい。例えば、検証済み認証情報はサードパーティリソース認証トークンを含んでよい。サードパーティリソース認証トークンは、サードパーティリソースおよび/またはサードパーティリソースユーザアカウントに関連付けられている。MACS334は、MACSアプリケーション332を実行するクライアントデバイスに検証済み認証情報、例えばサードパーティリソース認証トークンを送信してよい。それに応じて、認証セッション中に検証済み認証トークンおよび/または他の手段を利用してMACSアプリケーション332を実行するクライアントデバイスにより作成される要求または取られるアクションが、認証セッションに関連付けられた認証ユーザアカウントに関連付けられてよい。例えば、サードパーティリソース認証トークンは、サードパーティリソースに関連付けられている機能にアクセスするために用いられてよく、かつ具体的にはサードパーティリソース認証トークンに紐付けされた特定のサードパーティリソースユーザアカウントに特に関連付けられている機能にアクセスするために用いられてよい。
【0183】
いくつかの実施形態では、MACS334は、認証ユーザアカウントに関連付けられているサードパーティリソース338(現在の検証済みサードパーティリソース)へのアクセスをイネーブルする情報を保存するように構成される。例えば、MACS334は、検証済み認証情報が認証ユーザアカウントに関連付けられて取り出し可能になるように、受信した検証済み認証情報をデータベース内に保存するように構成されてよい。いくつかの実施形態では、MACS334がサードパーティリソース認証トークンを用いて、認証ユーザアカウントに関連付けられた認証セッション中に現在の検証済みサードパーティリソースにアクセスすることができるように、MACS334は、認証ユーザアカウントに関連付けられているサードパーティリソース認証トークンを保存する。これに加えてまたはこれに代えて、サードパーティリソース認証トークンは、サードパーティリソースユーザアカウントにリンクされ/関連付けられてよい。その結果、認証ユーザアカウントに関連付けられているユーザは、認証ユーザアカウントに関連付けられたMACS認証セッション中にMACSを介してサードパーティリソースユーザアカウントに関連付けられている機能にアクセスしてよい(例えば、サードパーティリソースを介して自身の特定のファイルまたは情報にアクセスしてよい)。
【0184】
例えば、特定の実施形態では、サードパーティリソース338は、提供された情報に関連付けられているサードパーティリソース認証トークンをMACS334に提供してよい。サードパーティリソース認証トークンは、対応するサードパーティリソースユーザアカウントにリンクされてよく、それによりサードパーティリソース認証トークンは、情報を取り出し、かつ/またはサードパーティリソースユーザアカウントに関連付けられている機能にアクセスするために利用されてよい。それに応じて、MACS334は、認証セッションのために認証ユーザアカウントに関連付けられているサードパーティリソース認証トークンを保存してよく、それによりサードパーティリソースユーザアカウントおよび認証ユーザアカウントもリンクされる。したがって、ユーザが認証ユーザアカウントに関連付けられた認証セッション中にMACS334にアクセスする場合、MACS334は、サードパーティリソース認証トークンを取り出し、かつ利用して、以前に妥当性確認されたユーザの対応するサードパーティリソースユーザアカウントに特に関連付けられているサードパーティリソース338を介して情報および/または機能にアクセスしてよい。
【0185】
あるいは、いくつかの実施形態では、MACSは、サードパーティリソースをワンタイムセッションのためにアクセス可能になるように構成する。その結果、サードパーティリソースは、認証ユーザアカウントに関連付けられた現在の認証セッションについてのみ検証済みのままであり、認証ユーザアカウントに関連付けられているその後の認証セッションについては検証されなくてよい。すなわち、サードパーティリソースは現在のセッション以外では検証されず、したがって認証ユーザアカウントに関連付けられたその後の認証セッションでは再び検証される必要があってよい。しかし、MACS334は、現在の認証セッション中にサードパーティリソース338に関連付けられている機能、具体的にはサードパーティリソース338に関連付けられている特定のサードパーティリソースユーザアカウントに関連付けられている機能にアクセスしてよい。
【0186】
例えば、いくつかの実施形態では、MACS334は、多要素メッセージコードがワンタイムセッションのためのアクセスをイネーブルすることに関連付けられるように構成されていることを特定してよい(例えば、多要素メッセージコードは限定された多要素メッセージコードとして特定される)。それに応じて、いくつかの実施形態では、MACSは、認証ユーザアカウントに関連付けられた現在の認証セッション中にサードパーティリソースに関連するアクセスをイネーブルしてよく、かつそのようなアクセスは、所定の時間または認証セッションが終了したとき(例えば、ユーザがMACSアプリケーションを終了し、またはサインアウトしたとき)に終了してよい。そのような状況では、MACS334は、サードパーティリソース338に関連付けられている検証済み認証情報を保存しなくてよい。あるいは、サードパーティリソース338は、限定的な検証済み認証情報、例えば限定サードパーティリソース認証トークンを提供してよい。限定的な検証済み認証情報は、現在のセッションのためのみ、または所定の長さの時間中にのみサードパーティリソースに関連付けられている機能にアクセスするために用いられてよい。
【0187】
MACSアプリケーション332は、ステップ438でサードパーティリソース336、現在の検証済みサードパーティリソース336へのアクセスの指標を受信する。それに応じて、ユーザは、MACSアプリケーション332を介して認証ユーザアカウントに関連付けられた認証セッションを用いて新たに検証されたサードパーティリソース338に関連付けられている機能にアクセスしてよい。例えば、クライアントデバイスは、サードパーティサインイン要求に応じてMACS334を介して新たな検証済みサードパーティリソース338に関連付けられている機能にアクセスするための情報を受信してよい。具体的な例では、MACS334は、新たな検証済みサードパーティリソース338にアクセスするためのサードパーティリソース認証トークンを提供してよい。MACSアプリケーション332を実行するユーザデバイスは、MACSアプリケーション332を介してMACSおよび/または検証済みサードパーティリソースにより構成された認証トークンを受信し、かつ認証トークンを保存してよく、それにより、検証済みサードパーティリソース338に関連付けられた認証セッション中にその後の要求を妥当性確認するためにサードパーティリソース認証トークンが用いられてよい。それに応じて、ユーザは、MACSアプリケーション332を用いて認証セッション中にMACS334を介して検証済みサードパーティリソース338に関連付けられている機能要求にアクセスしてよい。
【0188】
図4に示すフローは単なる例であり、かつ他のフローは代替的なステップ、さらなるステップ、またはステップの代替的な組み合わせを含んでよいことを理解されたい。例えば、ステップ434に関連して上記で説明したユーザデバイス妥当性確認は、ステップ424、ステップ418、または妥当性確認を実行するために要求されるすべての情報が受信されている他のステップで実行されうる。したがって、
図4に示す具体的なフローは本開示の範囲および趣旨を限定するものではない。
【0189】
例示のためにのみ、サードパーティリソースを検証する動作に関連して1つの具体的で例示的な実施形態を本明細書に開示する。具体的で例示的な本実施形態では、MACS334は、グループベースコミュニケーションシステムサーバ、例えばSlack Technologies, Inc.のSlack(登録商標)サーバであってよい。ユーザは、特定の認証ユーザアカウント、例えばユーザのSlack(登録商標)アカウントに関連付けられた認証セッションをすでに起動している場合がある。それにより、ユーザは、Slack(登録商標)および1つ以上の検証済みサードパーティリソースに関連付けられている機能にアクセスしてよい。具体的な本実施形態では、検証済みサードパーティ多要素認証リソース336は、認証ユーザアカウントに関連付けられている検証済み電子メールリソースであってよい。検証済み電子メールリソースは、Slack(登録商標)サーバが1つ以上のAPIを介して検証済み電子メールリソースにアクセスするように構成されるように、サードパーティサーバ上でホストされてよい。Slack(登録商標)サーバは、検証済み電子メールリソースにアクセスしてSlack(登録商標)認証ユーザアカウントに紐付けされた電子メールプロファイルに関連付けられている1つ以上の電子メールメッセージを取り出してよい。具体的な本実施形態では、サードパーティリソース338は、ユーザがMACSを介してアクセスすることを希望する未検証サードパーティリソースであってよい。例えば、サードパーティリソースは、Slack(登録商標)サーバが1つ以上のAPIのユーザを介してサードパーティリソースにアクセスできるように、サードパーティサーバ上でホストされる文書管理リソース(例えば、Dropbox(登録商標))であってよい。さらに、具体的な本実施形態では、MACSアプリケーション332は、Slack Technologies, Inc.により利用可能にされる、クライアントデバイス上で実行されるSlack(登録商標)アプリケーションである。Slack(登録商標)アプリケーションは、クライアントデバイス上で実行されるローカルアプリケーション/ネイティブアプリケーションであってよく、またはクライアントデバイス上で実行されるウェブブラウザアプリケーションを介してアクセスされるSlack(登録商標)ウェブアプリケーションであってもよい。ユーザは、
図4に関連して示すさまざまな動作においてSlack(登録商標)サーバと通信するためにSlack(登録商標)アプリケーションを利用してよい。
【0190】
具体的な本実施形態では、
図4に関連して図示する動作を実行する前に、ユーザは、Slack(登録商標)サーバを用いて自身を認証してよい。例えば、ユーザは、有効なユーザ名およびパスワードを提供してSlack(登録商標)サーバにより、ユーザの対応するSlack(登録商標)認証ユーザアカウントに関連付けられた認証セッションを起動させてよい(ブロックAに続く)。
【0191】
具体的な本実施形態では、ユーザは、クライアントデバイス上で実行されるSlack(登録商標)アプリケーション経由でサードパーティリソースに関連するアクセスを開始してよい。例えば、ユーザは、Slack(登録商標)アプリケーションストアを利用して、ユーザが用いたい新たなサードパーティリソースを見つけてよい。あるいは、ユーザは、他のユーザ、例えば同じチャネル、メッセージスレッド、ワークスペース等における他のユーザについて検証されるサードパーティリソースに関連するアクセスを開始してよい。ユーザは、Slack(登録商標)サーバにサードパーティ統合要求を送信するように構成されるユーザインタフェース要素とエンゲージすることによりアクセスを開始してよい。サードパーティ統合要求は、検証されるべき新たなサードパーティリソースを具体的に特定するサードパーティ識別子を含んでよい。
【0192】
Slack(登録商標)サーバは、サードパーティリソースからサードパーティサインインインタフェースを取り出してよい。サードパーティサインインインタフェースは、Slack(登録商標)サーバまたはサードパーティリソースにより、サードパーティリソースに関連付けられているユーザ認証クレデンシャルを受信するように構成されてよい。Slack(登録商標)サーバは、レンダリングのためにSlack(登録商標)アプリケーションを実行するクライアントデバイスにサードパーティサインインインタフェースを送信することによりサードパーティサインインインタフェースをレンダリングさせてよい。例えばクレデンシャルマネージャまたはユーザによる手動エンゲージメントによりユーザ認証クレデンシャルが入力された後、ユーザは、(例えば、ブロック416で送信されるサードパーティサインイン要求の一部として)Slack(登録商標)サーバにこれらのクレデンシャルを提示してよい。
【0193】
Slack(登録商標)サーバは、サードパーティリソースと連動してユーザにより提供された受信ユーザ認証クレデンシャルを認証してよい。ユーザ認証クレデンシャルがサードパーティリソースユーザアカウントと一致する場合、ユーザは1次認証法を用いて認証されてよく、かつ(例えば、ステップ420および422で)Slack(登録商標)サーバに通知されてよい。この場合、Slack(登録商標)サーバは、検証済み電子メールリソースに、サードパーティリソースを用いて認証を完了するための多要素メッセージコードを含む多要素確認電子メールを提供させることができる。例えば、Slack(登録商標)サーバは、例えば多要素要求の一部として多要素確認電子メールを生成し、これを検証済み電子メールリソースに送信することができる。あるいは、Slack(登録商標)サーバは、サードパーティリソースにより検証済み電子メールリソースに多要素要求を送信させ、それによって、検証済み電子メールリソースにより多要素確認電子メールを提供させてよい。いくつかの実施形態では、サードパーティリソースは、多要素確認電子メールを生成し、多要素確認電子メールを多要素要求に含める。
【0194】
次に、Slack(登録商標)サーバは、検証済み電子メールリソースから多要素確認電子メールを取り出してよい。具体的には、Slack(登録商標)サーバは、認証ユーザアカウントおよび/またはサードパーティリソースユーザアカウントにリンクされた電子メールプロファイルに関連付けられているメッセージを取り出してよい。例えば、ユーザは、Slack(登録商標)サーバが1つ以上のAPI要求を利用して電子メールプロファイルに関連付けられている電子メールメッセージを取り出すことができるように、検証済み電子メールリソースに関連付けられている電子メールプロファイルを妥当性確認しておいてよい。例えば、Slack(登録商標)サーバは、(ステップ426に示すように)多要素確認電子メールを特定するために検証済み電子メールリソースへのクエリを実行してよい。これに応じて、Slack(登録商標)サーバは多要素確認メッセージを受信してよい。
【0195】
次に、Slack(登録商標)サーバは、(ステップ432に示すように)多要素確認電子メールから多要素メッセージコードを抽出してよい。例えば、多要素メッセージコードは具体的には、ユーザの特定のSlack(登録商標)サーバ認証セッションに紐付けされてよく、それにより多要素メッセージコードは、認証セッション中にサードパーティリソースを用いてユーザを認証するために用いられてよい。例えば、多要素メッセージコードは特別に構成された英字数字列であってよい。
【0196】
いくつかの実施形態では、多要素確認電子メールは認証リンクを含んでよい。認証リンクは多要素メッセージコードを含んでよく、またはそうでなければ多要素メッセージコードに関連付けられてよく、それにより、多要素メッセージコードが認証リンクから抽出されてよい。さらに、認証リンクはユーザエンゲージメントを受信するように構成されてよい。それにより、ユーザが検証済み電子メールリソースに関連付けられている電子メールサービスアプリケーションにアクセスする場合には、当該リンクをクリックし、タップし、またはそうでなければリンクとエンゲージして、Slack(登録商標)サーバに多要素メッセージコードを送信することができる。しかし、Slack(登録商標)サーバは、ユーザエンゲージメントを行わず、かつユーザが検証済み電子メールリソースに関連付けられているサービスアプリケーションを利用しなくても、多要素メッセージコードを抽出してよい。その結果、本実施形態はシステムの効率性およびユーザエクスペリエンスを向上させる一方、ユーザセキュリティを維持する。
【0197】
次に、Slack(登録商標)サーバは、(ステップ434に示すように)多要素メッセージコードを妥当性確認させてよい。Slack(登録商標)サーバは、サードパーティリソースに多要素メッセージコードを妥当性確認する要求を送信することにより、サードパーティリソースに多要素メッセージコードを妥当性確認させることができ、これにより、サードパーティリソースが多要素メッセージコードを妥当性確認する。次に、Slackサーバは、これに応じて認証成功指標を受信してよい。代替として、Slack(登録商標)サーバは、多要素メッセージコード自身を妥当性確認してよい。例えば、Slack(登録商標)サーバは、先のステップ(例えば、ステップ402~432のうちの1つ)で予想された多要素メッセージコードを保存し、かつ多要素メッセージコードを抽出した多要素メッセージコードと比較してよい。
【0198】
多要素メッセージコードを妥当性確認すると、Slack(登録商標)サーバが認証ユーザアカウントに関連付けられた認証セッション中にサードパーティリソースにアクセスすることが可能になってよい。例えば、Slack(登録商標)サーバは、サードパーティリソースからサードパーティ認証情報を受信してよい。サードパーティ認証情報は、サードパーティリソースにアクセスする際に用いられてよい。具体的には、サードパーティ認証情報は、サードパーティリソースからのサードパーティリソース認証トークンであってよい。サードパーティリソース認証トークンは、Slack(登録商標)認証ユーザアカウントおよび/またはサードパーティリソースユーザアカウントに関連付けられる。その結果、ユーザは、サードパーティリソース認証トークンを利用してSlack(登録商標)サーバ経由でサードパーティリソースに関連付けられている機能にアクセスしてよい。例えば、文書管理リソースの例に戻ると(例えば、Slack(登録商標)サーバを介してDropbox(登録商標)機能にアクセスする)、Slack(登録商標)サーバは、サードパーティリソース認証トークンを用いてサードパーティリソースにアクセスし、かつサードパーティリソースにより保存されている1つ以上の文書を取り出してよい。サードパーティリソース認証トークンは、Slack(登録商標)認証ユーザアカウントをサードパーティリソースユーザアカウントとリンクさせてよい。例えば、Slack(登録商標)サーバは、特定のSlack(登録商標)認証ユーザアカウントに関連付けられた認証セッション中にサードパーティリソース認証トークンを利用して特定のサードパーティリソースユーザアカウントに関連付けられているリソースにアクセスしてよい。
【0199】
妥当性確認中に、Slack(登録商標)サーバは、多要素メッセージコードがサードパーティサインイン要求を提示するクライアントデバイスによりアクセス可能であることも妥当性確認してよい。Slack(登録商標)サーバは、多要素メッセージコードを妥当性確認する前にクライアントデバイスからターゲットインスタンス識別子を受信し、または判定してよい。例えば、Slack(登録商標)サーバは、前のステップ(例えば、ステップ402~430)のうちの1つの間にサードパーティリソースへのアクセスを要求するクライアントデバイスに関連付けられているクライアントデバイス識別子、IPアドレス、IMEI、Slack(登録商標)アプリケーションインスタンス識別子等を受信してよい。ターゲットインスタンス識別子は、クライアントデバイスから直接に、またはサードパーティリソースから受信されてよい(例えば、サードパーティリソースは、所与のサードパーティリソースユーザアカウントの信頼できるクライアントデバイスに関連付けられているターゲットインスタンス識別子を保存してよい)。Slack(登録商標)サーバは、検証済み電子メールリソースに関連付けられている検証済み電子メールリソースの電子メールプロファイルにアクセスするように構成される信頼できるクライアントデバイスに関連付けられている確認インスタンス識別子も受信し、または判定してよい。例えば、確認インスタンス識別子は、検証済み電子メールリソースにより受信されてよい。次に、Slack(登録商標)サーバは、サードパーティサインイン要求を提示するクライアントデバイスがターゲットインスタンス識別子および確認インスタンス識別子を用いて多要素メッセージコードにアクセスしてよいと判定してよい。例えば、Slack(登録商標)サーバは、ターゲットインスタンス識別子を確認インスタンス識別子と比較し、識別子が一致する場合、クライアントデバイスが多要素確認メッセージへのアクセスを有すると判定してよい。
【0200】
いくつかの実施形態では、Slack(登録商標)サーバは、デバイス管理ソフトウェアから識別子情報を受信してよい。これに代えてまたはこれに加えて、いくつかの実施形態では、Slack(登録商標)サーバは、Slack(登録商標)アプリケーションを実行するクライアントデバイス、例えばラップトップから識別子情報を受信してよい。いくつかの実施形態では、ターゲット識別子は、既知の信頼できるデバイスに関連付けられている情報に基づいて判定されてよい。したがって、アクセスを要求するクライアントデバイスが信頼できるデバイスであるとSlack(登録商標)サーバが判定した場合に妥当性確認が進むように、Slack(登録商標)サーバは、それぞれの認証ユーザアカウントに関連付けられている既知のクライアントデバイスを追跡してよい。
【0201】
Slack(登録商標)サーバは、サードパーティ認証情報(例えば、サードパーティリソース認証トークン)がSlack(登録商標)認証ユーザアカウントに関連付けられるようにサードパーティ認証情報を保存してよい。したがって、Slack(登録商標)サーバがSlack(登録商標)認証ユーザアカウントに関連付けられた認証セッションを起動したときに、Slack(登録商標)サーバは、サードパーティリソース認証トークンを取り出し、かつユーザに機能を提供するためにサードパーティリソース認証トークンを利用してよい。具体的には、サードパーティリソース認証トークンはサードパーティリソースユーザアカウントに紐付けされてよく、したがって、ユーザは、Slack(登録商標)サーバを介して自身のサードパーティリソースユーザアカウントに関連付けられている機能にアクセスしてよい(例えば、サードパーティリソースが文書管理リソースである例では、具体的には自身の文書にアクセスしてよい)。
【0202】
あるいは、Slack(登録商標)サーバは、ワンタイムセッションへのアクセスをイネーブルしてよい。例えば、多要素メッセージコードは具体的には、ワンタイムセッションに関連付けられてよい(例えば、特別なコードであるか、またはそうでなければコードがワンタイムセッション用であることを示してよい)。したがって、多要素メッセージコードを妥当性確認した後、Slack(登録商標)サーバが限定的な時間の間、例えば現在の認証セッションの期間中にのみサードパーティリソースにアクセスすることが可能になってよい。サードパーティリソースは、現在の認証セッション中にのみ有効な限定サードパーティリソース認証トークンを提供してよい。あるいは、Slack(登録商標)サーバは、サードパーティリソース認証トークンを受信するが、保存はしないように構成されてよい。したがって、サードパーティリソースへのアクセスがワンタイムセッション中に可能になる場合、ユーザがその後の認証セッション中にサードパーティリソースを検証するように要求されてよい。
【0203】
次に、Slack(登録商標)サーバは、ユーザにサードパーティリソースが検証されてアクセス可能であることを示してよい。例えば、Slack(登録商標)サーバは、サードパーティリソースが検証され、かつアクセス可能であることを示すテキストを含む確認インタフェースを提供してよい。
【0204】
図5に認証ユーザアカウントに関連付けられた認証セッション中にアクセスするためにMACSに関連付けられているサードパーティリソースを検証する例示的な動作の別の集合を示す。いくつかの実施形態では、
図5に関連して示す動作は、本明細書の開示によるMACSの実施形態、例えば装置200により実行される。サードパーティリソースを検証することにより、ユーザは、認証セッションに関連付けられたMACSアプリケーションを実行するクライアントデバイスを介して検証済みサードパーティリソースに関連付けられている機能にアクセスすることができる。例えば、ユーザは、クラウド内で文書の保存および取り出しを実行するサードパーティリソースを検証してよい。したがって、サードパーティリソースを検証した後、ユーザはMACSを介して検証済みサードパーティリソースにサインインし、かつMACSを介して検証済みサードパーティリソースに関連付けられている文書の保存および取り出しを実行してよい。
【0205】
いくつかの実施形態では、
図5に関連して図示する動作により、MACSに関連付けられているサードパーティリソース、MACSに関連付けられている多要素認証リソース、MACSに関連付けられている電子メールリソース等を検証してよいことを理解されたい。いくつかの実施形態では、サードパーティリソース、多要素認証リソース、電子メールリソース等を検証するためにさらなる、または代替的な動作が実行されてよい。例えば、いくつかの実施形態では、ユーザは、
図5に関連して示している検証動作を完了した後、多要素認証を手動で実行してよい。いくつかの他の実施形態では、本明細書に説明するように、
図5に関連して示している検証動作を完了した後、ユーザエンゲージメントを行うことなく多要素認証を実行してよい。
【0206】
装置200は、ステップ502で未検証サードパーティリソースに関連付けられたサードパーティリソース統合要求を受信するためにアプリケーション接続モジュール212、通信モジュール208、プロセッサ202等の手段を備える。いくつかの実施形態では、サードパーティリソース統合要求は、統合され、かつ検証されるサードパーティリソースを一意に識別するサードパーティリソース識別子を含む。いくつかの実施形態では、サードパーティリソース統合要求は、MACSアプリケーションを介してレンダリングされたユーザインタフェース、またはそのユーザインタフェース要素とのユーザエンゲージメントに応じてMACSアプリケーションを実行するクライアントデバイスから受信される。
【0207】
いくつかの実施形態では、MACSがサードパーティリソースと通信することに対する承認をユーザが承諾することを確認するために、その後の認証がユーザにより要求されてよい。しかし、他の実施形態では、ステップ502で受信されたサードパーティリソース統合要求に加えてユーザ承認は必要とされない。したがって、いくつかの実施形態では、動作504、506、および508は実施形態により実行されなくてよい。
【0208】
いくつかの実施形態では、MACSは、クライアントデバイス上で実行されるMACSアプリケーションを介してユーザから、例えば統合サードパーティリソースを用いる妥当性確認のためにユーザ認証クレデンシャルを取り出すように構成されてよい。他の実施形態では、MACSは、ユーザの代わりにサードパーティリソースを用いるサインインおよび認証を自動的に管理するように構成され、それにより、新たに統合されたサードパーティリソースに関連付けられているユーザ認証クレデンシャルを得ることが必要とされないようにしてよい。したがって、いくつかの実施形態では、動作510、512、および514は、実施形態により実行されなくてよい。
【0209】
装置200は、ステップ504でサードパーティリソースアクセスプロンプトインタフェースを特定するためにアプリケーション接続モジュール212、インタフェース生成モジュール210、プロセッサ202等の手段を備える。いくつかの実施形態では、装置200により具現化されるMACSは、1つ以上のインタフェースを保存するように構成されるデータベースからサードパーティリソースアクセスプロンプトインタフェースを取り出すように構成される。他の実施形態では、装置200により具現化されるMACSは、サードパーティリソースアクセスプロンプトインタフェースを生成するように構成される。
【0210】
装置200は、ステップ506で、クライアントデバイス上で実行されるMACSアプリケーションを介して、クライアントデバイスによりサードパーティリソースアクセスプロンプトインタフェースをレンダリングさせるためにインタフェース生成モジュール210、通信モジュール208、プロセッサ202等の手段を備える。いくつかの実施形態では、装置200により具現化されるMACSは、サードパーティリソースアクセスプロンプトインタフェースまたは同等のデータを含むサードパーティリソースアクセス要求を送信するように構成されてよい。サードパーティリソースアクセス要求は、装置200により具現化されるMACSが、サードパーティリソースアクセス要求の受信に応じてクライアントデバイスによりサードパーティリソースアクセスプロンプトインタフェースをレンダリングさせるように構成されてよい。
【0211】
装置200は、ステップ508でサードパーティ認証許可を受信するためにアプリケーション接続モジュール212、通信モジュール208、プロセッサ202等の手段を備える。いくつかの実施形態では、クライアントデバイスは、サードパーティリソースアクセス要求またはその部分要素、例えばサードパーティリソースをMACSと統合することに対する承認を示す「許可」ボタンまたは類似の要素とのユーザエンゲージメントに応じて、クライアントデバイス上で実行されるMACSアプリケーションを介してサードパーティ認証許可を送信してよい。
【0212】
装置200は、ステップ510で未検証サードパーティリソースに関連付けられているサードパーティリソースサインインインタフェースを特定するためにインタフェース生成モジュール210、アプリケーション接続モジュール212、認証管理モジュール214、通信モジュール208、プロセッサ202等の手段を備える。いくつかの実施形態では、装置200により具現化されるMACSは、サードパーティリソースサインインインタフェースを要求し、かつ未検証サードパーティリソースからサードパーティリソースサインインインタフェースを受信するように構成されてよい。
【0213】
装置200は、ステップ512で、クライアントデバイス上で実行されるMACSアプリケーションを介してクライアントデバイスによりサードパーティリソースサインインインタフェースをレンダリングさせるためにアプリケーション接続モジュール212、通信モジュール208、プロセッサ202等の手段を備える。いくつかの実施形態では、装置200により具現化されるMACSは、サードパーティリソースサインインインタフェースを含む情報またはデータを送信してよい。装置200により具現化されるMACSからの送信は、他の方法でクライアントデバイスによりサードパーティリソースサインインインタフェースをレンダリングさせるように構成されてよい。いくつかの実施形態では、サードパーティリソースサインインインタフェースは、ユーザエンゲージメントを受信し、かつ/または1つ以上のクレデンシャルマネージャ、例えばパスワードマネージャまたはシングルサインオンと統合するように構成されてよい。
【0214】
装置200は、ステップ514でMACSアプリケーションを実行するクライアントデバイスからサードパーティリソースサインイン要求を受信するためにアプリケーション接続モジュール212、通信モジュール208、プロセッサ202等の手段を備える。いくつかの実施形態では、サードパーティリソースサインイン要求は、少なくともユーザ認証クレデンシャルを含んでよい。いくつかの実施形態では、クライアントデバイスは、サードパーティリソースサインインインタフェースとのユーザエンゲージメントに応じて、クライアントデバイス上で実行されるMACSアプリケーションを介してサードパーティリソースサインイン要求を送信してよい。
【0215】
装置200は、ステップ516でサードパーティリソースを用いてユーザ認証クレデンシャルの妥当性確認を行うためにアプリケーション接続モジュール212、認証管理モジュール214、通信モジュール208、プロセッサ202等の手段を備える。いくつかの実施形態では、装置200により具現化されるMACSは、ユーザ入力が行われなくてもサードパーティリソースに関連付けられているユーザ認証クレデンシャルを取り出すことによりサインインを自動的に管理するように構成される。他の実施形態では、装置200により具現化されるMACSは、クライアントデバイスから送信された情報、例えば受信したサードパーティリソースサインイン要求からユーザ認証クレデンシャルを抽出するように構成される。いくつかの実施形態では、装置200により具現化されるMACSは、ユーザ認証クレデンシャルおよび/または追加又は代替のデータ、例えばサードパーティリソースに関連付けられている認証トークンをサードパーティリソースに送信して妥当性確認を促進するために認証管理モジュール214、アプリケーション接続モジュール212、通信モジュール208、プロセッサ202等の手段を備える。
【0216】
装置200は、判定518でユーザクレデンシャルが妥当性確認されたかを示す応答を受信し、かつユーザクレデンシャルの妥当性確認が成功したことを当該応答が示しているかを判定するためにアプリケーション接続モジュール212、認証管理モジュール214、通信モジュール208、プロセッサ202等の手段を備えてよい。例えば、一実施形態は、ユーザクレデンシャルの妥当性確認が成功したことを示すビット、情報、または他のデータフラグを含む応答をサードパーティリソースから受信してよい。これに代えてまたはこれに加えて、いくつかの実施形態は、サードパーティリソースに関連付けられている対応するユーザアカウント、または対応するユーザアカウントに関連付けられている情報をサードパーティリソースから受信してよい。
【0217】
判定518でユーザクレデンシャルの妥当性確認が成功しなかったことを指標が示す場合、フローはステップ520に進む。装置200は、ブロック520でMACSアプリケーションを実行するクライアントデバイスにサードパーティリソース認証失敗応答を送信するためにアプリケーション接続モジュール212、認証管理モジュール214、通信モジュール208、プロセッサ202等の手段を備える。いくつかの実施形態では、サードパーティリソース認証失敗応答は、レンダリングされたか、または以前にレンダリングされたサードパーティリソースサインインインタフェースをクライアントデバイスによりリセットさせ、新たなユーザ認証クレデンシャルを受信させるように構成される。次に、新たなサードパーティリソースサインイン要求がクライアントデバイスにより送信された後にフローはブロック514に進む。
【0218】
判定518に戻って、ユーザ認証クレデンシャルの妥当性確認が成功したことを指標が示す場合、フローはステップ522に進む。装置200は、ステップ522で受信した指標に基づいて、サードパーティリソースにアクセスするように構成された情報を保存するためにアプリケーション接続モジュール212、認証管理モジュール214、プロセッサ202等の手段を備える。例示的な実施形態では、MACSは、認証ユーザアカウントに関連付けられている認証トークンを含む情報を受信し、それにより、認証トークンは、サードパーティリソースに送信され、サードパーティリソースにより提供されかつ認証ユーザアカウントに関連付けられている機能にアクセスするために用いられてよい。いくつかの実施形態では、装置200により具現化されるMACSは、ユーザがサードパーティリソースの検証に成功したことを示す情報、例えばサードパーティリソースに関連付けられているサードパーティリソース識別子を保存する。具体的には、例示的な実施形態では、MACSは、ユーザアカウントまたはユーザアカウント識別子に関連付けられているサードパーティ識別子を保存してよい。それにより、サードパーティリソースは、検証済みとして特定されてよく、したがってサードパーティリソースに関連付けられている機能が、認証ユーザアカウントに関連付けられた認証セッション中に提供されてよい。
【0219】
[検証済み多要素認証リソースを用いるアクセス可能化の詳細]
図6に本開示の例示的な実施形態によりMACSへのアクセス、またはMACSを介してサードパーティリソースへのアクセスをイネーブルする例示的な詳細な処理で実行されるさまざまな動作を図示するフロー図を示す。具体的には、
図6により示す処理は、検証済み多要素認証リソースを利用して多要素認証を自動的に実行することによりセキュアかつ効率的にMACSまたはサードパーティリソースへのアクセスをイネーブルする。いくつかの実施形態では、
図6に関連して示す動作は本明細書の開示の実施形態によるMACS、例えば装置200により実行される。
【0220】
装置200により具現化されるMACSは、ステップ602でクライアントデバイスからサインイン要求を受信するためにアプリケーション接続モジュール212、認証管理モジュール214、プロセッサ202、通信モジュール208等の手段を備える。いくつかの実施形態では、サインイン要求は、クライアントデバイス上で実行されるMACSアプリケーションを介してクライアントデバイスにレンダリングされたサインインプロンプトインタフェースとのユーザエンゲージメントに応じて受信される。他の実施形態では、サインイン要求は、例えばユーザがクライアントデバイス上でMACSアプリケーションを実行するのに応じて自動的にクライアントデバイスから受信される。
【0221】
サインイン要求は、ユーザを認証し、かつ/または多要素認証を実行するためにMACSにより用いられる情報を含んでよい。いくつかの実施形態では、サインイン要求は、ユーザに関連付けられているユーザ認証クレデンシャル、またはユーザクレデンシャルを取り出す際に用いられる情報(例えば、クライアントデバイス識別子、アプリケーションインスタンス識別子等)を含む。これに加えてまたはこれに代えて、いくつかの実施形態では、サインイン要求はターゲットインスタンス識別子を含む。ターゲットインスタンス識別子は、送信者クライアントデバイス、送信者クライアントデバイスに関連付けられているMACSアプリケーション等を一意に識別する。これに代えてまたはこれに加えて、いくつかの実施形態では、ターゲットインスタンス識別子は、サインイン要求の受信に応じてユーザデバイスから装置により要求される。
【0222】
セキュリティを向上させるために、いくつかの実施形態では、装置200は、認証管理モジュール214、アプリケーション接続モジュール212、通信モジュール208、プロセッサ202等の手段を備え、1次認証法を用いたサインイン要求に基づいて受信された、または特定された認証クレデンシャルを妥当性確認し、または妥当性確認させる。例えば、いくつかの実施形態では、MACSは、受信したユーザ名およびパスワードを妥当性確認してユーザ名およびパスワードに関連付けられているユーザアカウントを特定してよい。他の実施形態では、例えばサインイン要求がサードパーティサインイン要求である場合、MACSは、受信したユーザ名およびパスワードを妥当性確認するために検証済みサードパーティリソースを利用してよい。しかし、いくつかの実施形態では、MACSがそのような1次認証を要求しないことを理解されたい。
【0223】
装置200は、ステップ604で検証済みサードパーティ多要素認証リソースに多要素確認メッセージを送信させるためにアプリケーション接続モジュール212、通信モジュール208、プロセッサ202等の手段を備える。多要素確認メッセージは、多要素メッセージコードを含む。いくつかの実施形態では、多要素確認メッセージを送信することによって、検証済みサードパーティ多要素認証リソースにより多要素確認メッセージをユーザに提供させ、またはそうでなければサードパーティ多要素認証リソースユーザアカウントを用いて多要素確認メッセージをユーザに対して利用可能にする。いくつかの実施形態では、装置200は、受信した/特定されたユーザ認証クレデンシャル、受信したターゲットインスタンス識別子、クライアントデバイスに関連付けられているクライアントデバイス識別子、または装置200により具現化されるMACSによりアクセス可能な他の情報に基づいて検証済みサードパーティ多要素認証リソースを特定する。いくつかの実施形態では、装置200により具現化されるMACSは、検証済みサードパーティ多要素認証リソースに多要素要求を送信して検証済みサードパーティ多要素認証リソースにより多要素確認メッセージを提供させるためにアプリケーション接続モジュール212、認証管理モジュール214、通信モジュール208、および/またはプロセッサ202等の手段を備える。いくつかの実施形態では、MACSは、例えば多要素要求の一部として、または多要素要求に加えて検証済みサードパーティ多要素認証リソースに関連付けられているユーザおよび/またはユーザアカウントを特定する情報を送信する。例えば、いくつかの実施形態では、多要素要求は、例えばデバイス識別子、サインイン要求に基づいて受信され、かつ/または特定されたユーザ認証クレデンシャル、1次認証法を用いる検証に基づいて特定されたユーザアカウントに関連付けられている特定された電子メールプロファイル等を含む。
【0224】
いくつかの実施形態では、装置200により具現化されるMACSは、サードパーティリソースにより検証済みサードパーティ多要素認証リソースに要求または情報を送信させることによって、検証済みサードパーティ多要素認証リソースにより多要素確認メッセージを提供させてよい。例えば、いくつかの実施形態では、サードパーティリソースは、多要素確認メッセージを生成し、または生成させ、かつ検証済みサードパーティ多要素認証リソースに多要素確認メッセージを送信し、または送信させるように構成されてよい。
【0225】
装置200は、ステップ606で多要素確認メッセージを特定するために検証済みサードパーティ多要素認証リソースへのクエリを実行するべく、アプリケーション接続モジュール212、認証管理モジュール214、通信モジュール208、プロセッサ202等の手段を備える。特定の実施形態では、検証済みサードパーティ多要素認証リソースは、検証済み電子メールリソースである。装置200は、例えば受信したユーザ認証クレデンシャル、1次認証法に基づいて特定されたユーザアカウント等に基づいてユーザに関連付けられている電子メールプロファイルを特定し、かつ電子メールプロファイルに関連付けられている多要素確認メッセージについて検証済み電子メールリソースへのクエリを実行してよい。
【0226】
例えば、いくつかの実施形態では、MACSは、サードパーティ多要素認証リソースを検証し、かつサードパーティ多要素認証リソースのサードパーティ多要素認証リソースユーザアカウントに認証ユーザアカウントをリンクさせ、またはそうでなければ関連付けてよい。例示的な実施形態では、例えばサードパーティ多要素認証リソースユーザアカウントに関連付けられているクレデンシャルを提供することにより、ユーザが初めてサードパーティ多要素認証リソースの検証に成功した場合、MACSは、サードパーティ多要素認証リソースから検証済み認証情報を受信してよい。具体的には、検証済み認証情報は、MACSが検証済み認証情報に関連付けられているサードパーティ認証リソースユーザアカウントに特に関連付けられている情報および/または機能にアクセスするために検証済み認証情報を用いることができるように、特定のサードパーティ多要素認証リソースに関連付けられてよい。具体的な例では、検証済み認証情報は、対応するサードパーティ多要素認証リソースユーザアカウントに関連付けられている情報および/または機能へのアクセスをイネーブルするように特に構成されるサードパーティリソース認証トークンを含んでよい。
【0227】
MACSは、特定のMACS認証ユーザアカウントに関連付けられている検証済み認証情報を保存してよい。したがって、MACSは、認証ユーザアカウントに関連付けられた認証セッション中に特定の検証済みサードパーティ多要素認証リソースからの多要素確認メッセージを含むメッセージについてクエリを実行するために検証済み認証情報を用いてよい。特定の検証済み認証情報(例えば、認証ユーザアカウントに関連付けられている1つ以上のサードパーティリソース認証トークン)を用いることにより、MACSは、検証済みサードパーティ多要素認証リソースにより、対応するサードパーティ多要素認証リソースユーザアカウントに提供されたメッセージについてクエリを実行してよい。電子メールリソースを用いる具体的な例では、ユーザは、認証ユーザアカウントに関連付けられた認証セッション中に電子メールリソースを検証してよく、かつMACSは、サードパーティリソース認証トークンを受信してよい。サードパーティリソース認証トークンは、ユーザが検証中に認証した電子メールプロファイルにリンクされる。すなわち、サードパーティリソース認証トークンは、リンクされたサードパーティ多要素認証リソースユーザアカウントに提供される情報および/または機能にアクセスするために用いられてよい。この具体的な例を続けると、MACSは、認証ユーザアカウントに関連付けられた認証セッション中に取り出し可能になるようにサードパーティリソース認証トークンを保存し、かつその後にサードパーティリソース認証トークンを取り出し、サードパーティリソース認証トークンにリンクされた電子メールプロファイル(例えば、検証中にユーザにより検証された関連する電子メールプロファイル)に提供された新たな電子メールメッセージについてクエリを実行してよい。いくつかの実施形態では、検証済み認証情報は、複数のサードパーティリソース認証トークン、例えばサードパーティ認証アクセストークン、サードパーティ認証リフレッシュトークン等を含む。
【0228】
装置は、判定608で多要素確認メッセージが認証リンクを含むか判定するために認証管理モジュール214、プロセッサ202等の手段を備える。多要素メッセージコードは無数の方法で多要素確認メッセージ中に含まれてよいことを理解されたい。例えば、いくつかの実施形態では、多要素メッセージコードは、(いくつかの実施形態ではユーザエンゲージメントのために構成されてよい)認証リンクの一部として、テキストとして、メタデータとして、または多要素確認メッセージの他の部分として含まれてよい。したがって、
図6に関連して2つの可能性のみを図示しているが、これらは例であり、本明細書の開示の範囲および趣旨を限定しないことを理解されたい。
【0229】
多要素確認メッセージは、多要素メッセージコードを含んでよい。多要素確認メッセージは、検証済みサードパーティ多要素認証リソース(例えば、検証済み電子メールリソースおよび対応するウェブアプリケーションまたはネイティブアプリケーション)に関連付けられているサービスアプリケーションを介してアクセス可能であってよい。いくつかのシステムでは、多要素メッセージコードは、クライアントデバイス上で実行されるMACSアプリケーションを介してユーザにより手動で入力されてよい。そのような方法では、ユーザは、対応するサービスアプリケーション経由での検証済みサードパーティ多要素認証リソースヘのアクセス、または対応するサービスアプリケーションを介する多要素確認メッセージへのアクセスに関連するユーザエクスペリエンスの問題(例えば、注意散漫、タイムアウト等)および技術的問題(例えば、アクセスの問題、接続性の問題等)を被りやすくなる。したがって、本開示のいくつかの実施形態は、対応するサービスアプリケーションを介する多要素認証メッセージへのアクセスに関連するユーザエンゲージメントステップを削除し、ユーザエンゲージメントが行われなくても、MACSが多要素メッセージコードに対応するユーザおよび/または認証ユーザアカウントの自動認証を可能にし、したがってシステムの効率性およびユーザエクスペリエンスを向上させる。
【0230】
認証リンクは、クライアントデバイスにより多要素メッセージコードをMACSに提供させるように構成されてよい。例えば、いくつかの実施形態では、認証リンクは、ユーザエンゲージメント(例えば、認証リンクに関連付けられるクリック、タップ、タッチ、または他のジェスチャ)に応じてクライアントデバイスにより多要素メッセージコードをMACSに提供させるように構成される。しかし、認証リンクにアクセスするために、ユーザは、MACSアプリケーションから離れるように要求され、またはそうでなければナビゲートされる場合がある。したがって、そのような方法では、ユーザは、対応するサービスアプリケーション経由での検証済みサードパーティ多要素認証リソースへのアクセス、または認証リンクを含む多要素確認メッセージへのアクセスに関連するユーザエクスペリエンスの問題(例えば、注意散漫、タイムアウト等)および技術的問題(例えば、アクセスの問題、接続性の問題等)を被りやすくなる。したがって、本開示の実施形態は、認証リンクへのアクセスに関連するユーザエンゲージメントステップを削除し、かつ対応する多要素メッセージコードの自動認証を可能にし、したがって、システムの効率性およびユーザエクスペリエンスを向上させる。
【0231】
本実施形態のMACSシステムは、無数の方法で多要素確認メッセージを特定し、かつ/または1つ以上の多要素確認メッセージを解析してよい。例示的な実施形態では、MACSは、サードパーティリソースに1つ以上の多要素メッセージルールの集合を関連付けてよい。例示的なサードパーティルールの集合は、多要素確認メッセージに含まれる情報および/または多要素確認メッセージに関連付けられているメタデータに基づいて多要素確認メッセージを特定するルールを含んでよい。例えば、サードパーティルールの集合は、多要素確認メッセージの送信者、多要素確認メッセージに関連付けられている件名(例えば、多要素確認電子メールメッセージの件名)、多要素確認メッセージの本文中で提供される情報、多要素確認メッセージの送信者に関連付けられている識別子(例えば、IPアドレス)、および/または多要素確認メッセージ中に埋め込まれたメタデータ等を含む群の1つ以上に基づいて多要素確認メッセージを特定してよい。
【0232】
これに加えてまたはこれに代えて、いくつかの実施形態では、同じか、またはさらなるサードパーティルールの集合が、多要素確認メッセージを解析して多要素メッセージコードを特定するルールを含んでよい。例えば、特定の実施形態では、MACSは、サードパーティリソースに関連付けられている特定のサードパーティルールの集合を用いて特定の多要素確認メッセージを特定し、かつその後に当該サードパーティルールの集合を利用して多要素確認メッセージを解析してよい。例えば、サードパーティルールの集合は、サードパーティリソースがどのように多要素認証または他の妥当性確認情報を含むか(例えばメタデータとして、認証リンクの一部として等)を包含してよい。いくつかの実施形態では、MACSは、多要素確認メッセージを特定し、かつ解析するサードパーティルールの集合を特定する。他の実施形態では、MACSは、多要素確認メッセージを特定する第1のサードパーティルールの集合、および特定された多要素確認メッセージを解析して多要素確認コードを特定する第2のサードパーティルールの集合を特定する。
【0233】
判定608で多要素確認メッセージが認証リンクを含まないと装置200が判定した場合、フローはステップ610に進む。装置200は、ステップ610で多要素確認メッセージから多要素メッセージコードを抽出するために認証管理モジュール214、プロセッサ202等の手段を備える。例えば、装置200は、さらなる、または代替的な動作とともに1つ以上のテキスト検索を実行して多要素確認メッセージを特定し、かつ抽出するように構成されてよい。いくつかの実施形態では、装置200は、特定されたサードパーティルールの集合に基づいて多要素メッセージコードを抽出するために1つ以上のアクションを実行するように構成されてよい。
【0234】
判定608で多要素確認メッセージが認証リンクを含まないと装置200が判定した場合、フローはステップ612に進む。装置200は、ステップ612で多要素確認メッセージを解析して認証リンクを特定するために認証管理モジュール214、プロセッサ202等の手段を備える。
【0235】
装置200は、ステップ614で認証リンクから多要素メッセージコードを抽出するために認証管理モジュール214、プロセッサ202等の手段を備える。例えば、装置200は、認証リンクに関連付けられているクエリパラメータとして多要素メッセージコードを特定するように構成されてよい。いくつかの実施形態では、装置200は、サードパーティルールの集合を特定し、かつ特定されたサードパーティルールの集合に基づいて多要素メッセージコードを抽出するために1つ以上のアクションを実行するように構成されてよい。
【0236】
装置200は、ステップ616で多要素メッセージコードを妥当性確認して認証ユーザアカウントを特定するために認証管理モジュール214、アプリケーション接続モジュール212、プロセッサ202等の手段を備える。いくつかの実施形態では、装置200は、多要素確認メッセージに関連付けられている確認インスタンス識別子を特定し、かつ確認インスタンス識別子を用いてサインインを要求するクライアントデバイスが多要素確認メッセージへのアクセスを有することを検証してよい。いくつかの実施形態では、例えば装置200により具現化されるMACSが、確認インスタンス識別子を特定し、かつ確認インスタンス識別子が、受信したサインイン要求に関連付けられている先に受信した、または特定されたターゲットインスタンス識別子と一致することを検証してよい。クライアントデバイスが提供されたことがあること、またはそうでなければ多要素確認メッセージにアクセスできることを検証することにより、システムのセキュリティが向上する。なぜなら、クライアントデバイスが多要素確認メッセージ/検証済みサードパーティ多要素認証リソースにアクセスする場合に、クライアントデバイスは自動多要素認証を利用してこのステップを迂回できないからである。いくつかの実施形態では、装置200により具現化されるMACSは、受信した、または特定されたユーザ認証クレデンシャルに基づいて確認インスタンス識別子および/またはターゲットインスタンス識別子が、特定されたユーザアカウントに関連付けられているクライアントデバイスに関連付けられていることを検証するように構成されてよい。
【0237】
装置200は、ステップ618で認証ユーザアカウントに関連するアクセスをイネーブルするために認証管理モジュール214、プロセッサ202等の手段を備える。いくつかの実施形態では、受信したサインイン要求がマルチアプリサインイン要求である場合、MACSは、認証ユーザアカウントに関連付けられた認証セッションを起動してよい。認証セッション中にはユーザがMACSに関連付けられている機能、または認証ユーザアカウントに関連付けられている1つ以上の検証済みサードパーティリソースに関連付けられている機能にアクセスできるように、認証ユーザアカウントに関連付けられた認証セッション中にはユーザがMACSを介して検証した検証済みサードパーティリソースに特に関連付けられている機能にアクセスできるように、認証セッションはMACSの特定の認証ユーザアカウントに関連付けられてよい。認証セッション中に行われるすべての要求および/またはトランザクションが認証ユーザアカウントに帰属し、または関連付けられうるように、認証セッションは認証ユーザアカウントにも関連付けられてよい。いくつかの実施形態では、受信されたサインイン要求が、検証を行うサードパーティリソースに関連付けられるサードパーティサインイン要求である場合、MACSは、サードパーティリソースに関連付けられている検証情報を受信し、特定し、またはそうでなければ決定することによりサードパーティリソースへのアクセスをイネーブルしてよい。例えば、MACSは、サードパーティリソースから認証ユーザアカウントに関連付けられているサードパーティ認証トークンを受信してよく、かつMACSは、認証ユーザアカウントに関連付けられた1つ以上の認証セッション中にサードパーティリソース認証トークンを取り出し、かつ現在の検証済みサードパーティリソースへのアクセスをイネーブルするために用いることができるように、認証ユーザアカウントに関連付けられているサードパーティリソース認証トークンを保存してよい。
【0238】
いくつかの実施形態では、システムのセキュリティをさらに向上させるために、装置200により具現化されるMACSは、MACSが自動的な多要素妥当性確認に成功したことを1つ以上のクライアントデバイス上でユーザに通知し、かつ/または1つ以上のクライアントデバイスにそのようなアクセスを取り消す方法を与えるように構成されてよい。
【0239】
状況に応じて、いくつかの実施形態では、装置200は、ステップ620でエンゲージメントに応じてアプリ内自動認証応答を送信するように構成されるアプリ内自動認証プロンプトインタフェースを生成するために認証管理モジュール214、インタフェース生成モジュール210、プロセッサ202等の手段を備える。いくつかの実施形態では、アプリ内自動認証プロンプトインタフェースは、確認要素および取り消し要素を備え、確認要素は確認要素とのエンゲージメント(例えばユーザエンゲージメント)に応じてアプリ内自動認証許可を送信するように構成され、取り消し要素は、取り消し要素とのエンゲージメント(例えばユーザエンゲージメント)に応じてアプリ内自動認証取り消しを送信するように構成される。アプリ内自動認証プロンプトインタフェースは、多要素認証を用いてユーザが自動的に妥当性確認されたことを示し、かつアクセスを継続したいか、または取り消したいかをユーザに尋ねるプロンプトメッセージをさらに含んでよい。
【0240】
装置200は、ステップ622で1つ以上のクライアントデバイスによりアプリ内自動認証プロンプトインタフェースをレンダリングさせるために認証管理モジュール214、プロセッサ202、通信モジュール208等の手段を備える。いくつかの実施形態では、認証ユーザアカウントは、1つ以上の信頼できるクライアントデバイス、例えばユーザがすでに認証したクライアントデバイスに関連付けられる。本実施形態によるMACSは、1つ以上の信頼できるクライアントデバイスを特定し、かつ1つ以上の信頼できるデバイスによりアプリ内自動認証プロンプトインタフェースをレンダリングさせてよい。例えば、MACSは、クライアントデバイスにアプリ内自動認証プロンプトインタフェースを含む情報またはデータを送信してよい。この送信は、送信の受信時にクライアントデバイスによりアプリ内自動認証プロンプトインタフェースをレンダリングさせるように構成される。いくつかの実施形態では、MACSは、第2のクライアントデバイスによりアプリ内自動認証プロンプトインタフェースをレンダリングさせる。第2のクライアントデバイスは、サインインを要求するクライアントデバイスとは異なる。その結果、実施形態は、特定の認証ユーザアカウントに関連付けられている信頼できるデバイスが新たなサインインに関連して承諾されたアクセスを取り消すことを許可することによりシステムに関連するセキュリティを向上させる。例えば、MACSは、認証ユーザアカウントに関連付けられているラップトップデバイスにより、ラップトップデバイス上で実行されるMACSアプリケーションを介してアプリ内自動認証プロンプトインタフェースをレンダリングさせ、それにより正規のユーザは、悪意のユーザが新たなデバイスを介して自動的に妥当性確認し、かつ認証セッションを開始した第2のデバイスへのアクセスを取り消してよい。
【0241】
いくつかの実施形態では、装置200により具現化されるMACSは、判定624でアプリ内自動認証応答を受信するためにアプリケーション接続モジュール212、プロセッサ202、通信モジュール208等の手段を備える。いくつかの実施形態では、ユーザが所定の時間内にアプリ内自動認証プロンプトインタフェースに応答しないか、またはアプリ内自動認証プロンプトインタフェースを無視した場合、装置200により具現化されるMACSは、認証応答が受信されなかったと判定してよく、かつフローは終了する。
【0242】
アプリ内自動認証応答が受信された場合、フローは判定626に進む。装置200により具現化されるMACSは、判定626で応答がアプリ内自動認証取り消しであるかを判定するためにアプリケーション接続モジュール212、認証管理モジュール214、プロセッサ202等の手段を備える。いくつかの実施形態では、アプリ内自動認証取り消しは、フラグ、例えばビットフラグまたは他の情報フラグに基づく取り消しであることを示してよい。
【0243】
アプリ内自動認証応答がアプリ内自動認証取り消しでない場合、フローは判定626の後に終了する。アプリ内自動認証応答がアプリ内自動認証取り消しであると判定された場合、フローはステップ628に進む。
【0244】
装置200は、ステップ628で、ステップ618でイネーブルされたアクセスを終了するためにアプリケーション接続モジュール212、認証管理モジュール214、プロセッサ202等の手段を備える。例えば、MACSがステップ618で認証ユーザアカウントに関連付けられた認証セッションを起動した場合、MACSは、ステップ628で認証セッションを終了してよい。あるいは、MACSがステップ618で認証セッション中のサードパーティリソースへのアクセスをイネーブルした場合、MACSは、ステップ628でサードパーティリソースへのアクセスを終了してよい。いくつかの実施形態では、装置200は、イネーブルされたアクセスを終了するべく、認証セッション中に送信および/または要求を妥当性確認するために用いられる情報、例えば先の認証ユーザアカウントに関連付けられている認証トークンを破棄し、無効にし、またはそうでなければ終了するように構成されてよい。さらに、いくつかの実施形態では、装置200により具現化されるMACSは、将来のサインイン要求のために終了を記憶するように構成される。それにより、ユーザが多要素認証を自動的に妥当性確認させるという要望をさらに示すまで、MACSは、特定のクライアントデバイスからのサインイン要求に関連付けられている/認証ユーザアカウントに関連付けられている多要素認証を自動的に実行しない。
【0245】
[検証済みサードパーティリソースを介して受信されたアクセス通知への自動アクセス]
多要素認証を自動的に実行して1つ以上のサードパーティリソース、例えば1つ以上の検証済み多要素認証リソースを検証することに加えて、本明細書の開示による実施形態は、アクション通知を特定し、かつアクション通知に関連付けられている1つ以上のアクションを実行し、例えば受信したアクション通知に対応するマルチアプリコミュニケーションシステムインタフェースを提供するように構成されてよい。アクション通知は、例えばMACS自身、検証済みサードパーティリソース、または新たな検証済みサードパーティリソースを介して提供されてよい。例えば、検証済み電子メールリソースは、MACSおよび/または1つ以上の他のサードパーティリソースに関連付けられている1つ以上のアクション通知を提供してよい。本実施形態によるMACSは、検証済み電子メールプロバイダを介して受信したアクション通知を特定し、かつアクション通知に基づいて、クライアントデバイス上で実行されるMACSアプリケーションを介してクライアントデバイスによりMACSインタフェースをレンダリングさせるように構成されてよい。
【0246】
特定の例示的な実施形態では、MACSまたは検証済みサードパーティリソースを介して新たなユーザアクションが実行されると、MACSのユーザは、検証済みサードパーティリソース(例えば、自身の電子メールプロバイダ)を介して電子メールメッセージを受信してよい。アクション通知は、MACSのユーザに影響を与える新たなユーザアクションが実行されたことを示すテキストを含んでよい。例えば、アクション通知は、ユーザが他のユーザから新たなメッセージを受信し、かつ他のユーザが検証済みサードパーティリソース等を介してユーザによりアクセス可能な情報を更新したことを示してよい。これに代えてまたはこれに加えて、アクション通知は、アクション通知に関連付けられているMACSインタフェースにアクセスするための情報、例えば、アクション通知に関連付けられている情報を表示するMACSインタフェースに迅速にアクセスするためにユーザがエンゲージすることができるリンクを含んでよい。例えば、アクション通知が検証済みサードパーティリソースを介して第1のユーザによりアクセス可能なファイルを更新する第2のユーザに関連付けられる場合、対応するMACSインタフェースは、MACSアプリケーション経由での更新ファイルへのアクセスを容易にしてよい。
【0247】
図7に、本開示の例示的な実施形態により、アクション通知を含む電子メールメッセージの解析に応じて、クライアントデバイス上で実行されるMACSアプリケーションを介してMACSインタフェースを自動的に提供する例示的な処理で実行されるさまざまな動作を図示するフロー図を示す。
【0248】
MACSは、ステップ702で電子メールリソースを検証し、それによりMACSは、クライアントデバイスに関連付けられているユーザの代わりに検証済み電子メールリソースと通信してよい。例えば、未検証電子メールリソースは、
図4または
図5に関連して上記で示した動作により検証されてよい。あるいは、いくつかの実施形態では、MACSは、所与の認証ユーザアカウントの検証済み電子メールリソースにすでに関連付けられていてよく、それにより認証ユーザアカウントに関連付けられた認証セッション中に検証済み電子メールリソースにアクセスされてよい。
【0249】
MACSは、ステップ704で、MACSがクライアントデバイスに関連付けられているユーザの代わりに検証済みサードパーティリソースと通信できるように、サードパーティリソースを検証する。例えば、未検証サードパーティリソースは、
図4または
図5に関連して上記で示した動作により検証されてよい。いくつかの実施形態では、MACSは、所与の認証ユーザアカウントの検証済みサードパーティリソースにすでに関連付けられていてよく、それにより認証ユーザアカウントに関連付けられた認証セッション中に検証済みサードパーティリソースがアクセスされてよい。いくつかの実施形態では、例えばアクション通知がMACS自身に関連付けられている新たなユーザアクションに関連付けられる場合、サードパーティリソースが検証される必要はない。したがって、いくつかの実施形態では、ステップ704は任意である。
【0250】
MACSは、ステップ706でアクション通知に関連付けられている電子メールメッセージについて検証済み電子メールリソースへのクエリを実行する。例示的な実施形態では、MACSは、所定のスケジュール(例えば、5分毎、またはより一般的にはX分またはX秒毎。Xは数である)に基づいてMACSおよび/または1つ以上の検証済みサードパーティリソースに関連付けられている電子メールメッセージについて検証済み電子メールリソースへのクエリを実行してよい。あるいは、いくつかの実施形態では、MACSは、MACSおよび/または1つ以上の検証済みサードパーティリソースに関連付けられ、かつ検証済み電子メールリソースにより提供された新たな電子メールメッセージ毎に検証済み電子メールリソースへのクエリを実行するように構成されてよい。例えば、いくつかの実施形態では、MACSは、新たな電子メールメッセージが(例えば、サードパーティリソース認証トークンを用いて)認証ユーザアカウントに関連付けられている電子メールプロファイルに関連付けられる場合、検証済みサードパーティ電子メールリソースから当該新たな電子メールメッセージを受信するためにウェブフックを利用してよい。
【0251】
MACSは、ステップ708でアクション通知に関連付けられている選択された電子メールメッセージを受信するように構成される。選択された電子メールメッセージは、検証済みサードパーティリソースに関連付けられている新たなアクション通知を含んでよい。例えば、検証済みサードパーティリソースが文書管理リソースである場合、新たな選択された電子メールメッセージは、ユーザが認証セッション中にMACSのユーザに関連付けられているフォルダに新たな文書をアップロードしたことを示すアクション通知を含んでよい。いくつかの実施形態では、選択された電子メールメッセージは、アクション通知を含む多要素確認メッセージである。いくつかの実施形態では、MACSは、受信した1つ以上のメッセージを解析してアクション通知に関連付けられている選択された電子メールメッセージを特定するように構成される。
【0252】
いくつかの実施形態では、MACSは、所定のルールの集合に基づいてアクション通知に関連付けられている選択された電子メールメッセージを特定するように構成されてよい。例えば、所定のルールの集合は、それぞれの検証済みサードパーティリソースに関連付けられてよく、それぞれの所定のルールの集合は、選択電子メール通知がアクション通知に関連付けられていると判定するのに必要な情報を記載する。その結果、MACSは、検証済みサードパーティリソースに関連付けられている所定のルールの集合を利用して1つ以上の電子メールメッセージを取り出し、かつ所与の検証済みサードパーティリソースの選択された電子メールメッセージを特定してよい。電子メールメッセージを選択するために用いられる例示的な所定のルールの集合は、電子メールメッセージの送信者、電子メールメッセージのフォーマット(例えば、主題、本文等)、電子メールメッセージ中の1つ以上の予想ユニフォームリソースロケータ(URL)、電子メールメッセージ中の1つ以上の予想コード等に基づいてよい。
【0253】
MACSは、ステップ710で選択された電子メールメッセージを解析してアクション通知を特定するように構成される。例えば、MACSは、選択された電子メールメッセージを解析してリンクアクション通知を特定してよい。リンクは、ユーザとエンゲージされ、かつユーザをアクション通知に関連付けられているMACSインタフェースにナビゲートするように構成される。
【0254】
MACSは、ステップ712でアクション通知に関連付けられているMACSインタフェースを特定してよい。例えば、MACSは、検証済みサードパーティリソースに関連して実行されるアクションを表示し、かつ/またはMACSを介して実行されるアクションに関連付けられている検証済みサードパーティリソースに関連付けられている機能を実行するように構成されるMACSインタフェースを特定してよい。例えば、検証済みサードパーティリソースが文書管理リソースである例を続けると、ユーザが新たなファイルをアップロードし、かつ/または新たなファイルをユーザと共有すると、特定されたMACSインタフェースが新たなファイルを表示し、かつ/またはユーザがMACSを介してファイルをダウンロードし、かつ/またはファイルを編集するのをイネーブルするように構成されてよい。
【0255】
MACSは、ステップ714で、クライアントデバイス上で実行されるMACSアプリケーションを介してクライアントデバイスにより、アクション通知に関連付けられている特定されたMACSインタフェースをレンダリングさせてよい。例えば、MACSは、MACSアプリケーションを介して、特定されたMACSインタフェース、またはMACSインタフェースを表す対応するデータをクライアントデバイスに送信してよい。MACSからの送信を受信すると、クライアントデバイスは、MACSアプリケーションを介して受信したMACSインタフェースをレンダリングしてよい。
【0256】
図7に関連して上記で説明した動作を、例示のみのためにアクション通知に関連付けられている検証済み電子メールリソースおよび対応する電子メールメッセージに関連して具体的に説明している。いくつかの実施形態では、他のメッセージタイプがアクション通知(例えば、プッシュ通知、チャットメッセージ等)に関連付けられてよいことを理解されたい。さらに、いくつかの実施形態では、他の種類の検証済みサードパーティリソースが電子メールメッセージ以外の対応するメッセージタイプを提供してよいことを理解されたい。したがって、
図7に示す具体的な実施形態は、本開示の範囲および趣旨を限定するものと解釈されるべきではない。
【0257】
図3~
図7に示した特定のステップは、いくつかのシステム、独立したシステム、またはシステムの組み合わせにより実行されてよいことが理解される。これに加えてまたはこれに代えて、いくつかの実施形態では、ステップの代替的動作、代替的動作、および/または動作の異なる配列が本明細書の開示の範囲内で実施形態により実行されてよい。したがって、
図3~
図7に示した具体的なフローは単に例示的なものであり、限定のためではない。
【0258】
[さらなる実装形態の詳細]
いくつかの実施形態では、上記の動作のうちのいくつかは、変更され、またはさらに拡張されてよい。さらに、いくつかの実施形態では、さらなる任意の動作が含まれてよい。上記の動作の変更、拡張、または追加は、任意の順序および任意の組み合わせで実行されてよい。
【0259】
本開示が関する分野の、上記の説明および関連する図面に提示される教示の利益を有する当業者は、本明細書に記載する開示の多くの変更例および他の実施形態に想到する。したがって、本開示は開示される特定の実施形態に限定されず、かつ変更例および他の実施形態が添付の特許請求の範囲に包含されることを意図するものと理解されたい。さらに、上記の説明および関連する図面は、特定の例示的な組み合わせの要素および/または機能の観点から例示的な実施形態を説明するが、添付の特許請求の範囲から逸脱することなく、異なる組み合わせの要素および/または機能が代替的実施形態により提供されてよいことを理解されたい。これに関連して、例えば上記で明示的に説明したものとは異なる組み合わせの要素および/または機能も、添付の特許請求の範囲のいくつかで記載されうるものと同様に企図される。本明細書において具体的な用語を採用しているが、これらの用語は包括的および記述的な意味で用いられており、限定のためではない。
【0260】
[結論]
説明する主題の多くの実施形態は、本明細書に説明するシステム、装置、方法、および/またはコンピュータプログラム製品のすべて、一部、または一部の組み合わせを含む。本明細書に説明する主題は以下の実施形態を含むが、これらに限定されない。
【0261】
1:検証済みサードパーティ多要素認証リソースと通信可能なマルチアプリコミュニケーションシステムを介してサードパーティリソースへの認証されたアクセスを提供するコンピュータで実行される方法であって、前記マルチアプリコミュニケーションシステムは、クライアントデバイス上で実行されるマルチアプリコミュニケーションシステムアプリケーションと通信可能であり、前記コンピュータで実行される方法が、
認証ユーザアカウントに関連付けられた認証セッション中に前記クライアントデバイス上で実行されるマルチアプリコミュニケーションシステムアプリケーションからサードパーティサインイン要求を受信するステップと、
多要素確認メッセージを前記検証済みサードパーティ多要素認証リソースへ送信させるステップと、
前記多要素確認メッセージを特定するために前記検証済みサードパーティ多要素認証リソースへのクエリを実行するステップと、
前記認証ユーザアカウントに関連付けられた前記認証セッション中に前記サードパーティリソースへのアクセスをイネーブルするステップと
を含む、コンピュータで実行される方法。
【0262】
2:前記コンピュータで実行される方法が、
前記多要素確認メッセージから多要素メッセージコードを抽出するステップと、
前記多要素メッセージコードを妥当性確認させるステップと
をさらに含む、実施形態1記載のコンピュータで実行される方法。
【0263】
3:前記多要素確認メッセージから前記多要素メッセージコードを抽出するステップは、
前記多要素確認メッセージを解析して前記多要素メッセージコードを含む認証リンクを特定するステップと、
前記認証リンクから前記多要素メッセージコードを抽出するステップと
をさらに含む、実施形態2記載のコンピュータで実行される方法。
【0264】
4:前記コンピュータで実行される方法が、
サインインプロンプトインタフェースを生成するステップと、
前記マルチアプリコミュニケーションシステムアプリケーションを介して前記クライアントデバイスに前記サインインプロンプトインタフェースをレンダリングさせるステップと
をさらに含み、
前記クライアントデバイスを介する前記サインインプロンプトインタフェースとのエンゲージメントに応じて、前記サードパーティサインイン要求が受信される、
実施形態1から3までのいずれか1つ記載のコンピュータで実行される方法。
【0265】
5:前記コンピュータで実行される方法が、
前記サードパーティリソースに関連付けられ、前記サードパーティリソースへのアクセスをイネーブルするように構成された検証済みリソース情報を受信するステップと、
前記認証ユーザアカウントに関連付けられている前記検証済みリソース情報を保存するステップと
をさらに含む、実施形態1から4までのいずれか1つ記載のコンピュータで実行される方法。
【0266】
6:前記検証済みリソース情報は、前記サードパーティリソースに関連付けられているサードパーティリソース認証トークンを含む、実施形態5記載のコンピュータで実行される方法。
【0267】
7:前記コンピュータで実行される方法が、
前記認証ユーザアカウントに関連付けられているユーザアカウント詳細を特定するステップと、
1次認証法を用いて、前記サードパーティリソースに、前記サードパーティリソースに対する前記ユーザアカウント詳細を妥当性確認させるステップと、
前記ユーザアカウント詳細がサードパーティリソースユーザアカウントに関連付けられていることを示す認証応答を受信するステップと
をさらに含む、実施形態1から6までのいずれか1つ記載のコンピュータで実行される方法。
【0268】
8:前記コンピュータで実行される方法が、
サードパーティ多要素認証リソースアクセス要求を送信するステップと、
前記マルチアプリコミュニケーションシステムアプリケーションを介して前記クライアントデバイスにサードパーティ多要素認証リソースアクセスプロンプトインタフェースをレンダリングさせるステップと、
前記サードパーティ多要素認証リソースアクセスプロンプトインタフェースとのユーザエンゲージメントに応じてサードパーティ多要素認証リソースアクセス許可を受信するステップと
をさらに含む、実施形態1から7までのいずれか1つ記載のコンピュータで実行される方法。
【0269】
9:前記コンピュータで実行される方法が、
サードパーティリソースアクセス要求を送信するステップと、
前記マルチアプリコミュニケーションシステムアプリケーションを介して前記クライアントデバイスにサードパーティリソースアクセスプロンプトインタフェースをレンダリングさせるステップと、
前記サードパーティリソースアクセスプロンプトインタフェースとのユーザエンゲージメントに応じてサードパーティリソースアクセス許可を受信するステップと
をさらに含む、実施形態1から8までのいずれか1つ記載のコンピュータで実行される方法。
【0270】
10:前記コンピュータで実行される方法が、
前記多要素確認メッセージを生成するステップ
をさらに含み、
前記多要素確認メッセージを送信させるステップは、
前記多要素確認メッセージを前記検証済みサードパーティ多要素認証リソースへ送信するステップ
を含む、実施形態1から9までのいずれか1つ記載のコンピュータで実行される方法。
【0271】
11:前記多要素確認メッセージを送信させるステップは、
前記多要素確認メッセージを前記検証済みサードパーティ多要素認証リソースへ送信させるために多要素要求を前記サードパーティリソースへ送信するステップ
を含む、実施形態1から10までのいずれか1つ記載のコンピュータで実行される方法。
【0272】
12:前記コンピュータで実行される方法が、
前記認証セッションの起動に応じてアプリ内自動認証プロンプトインタフェースを生成するステップと、
第2のクライアントデバイスに前記アプリ内自動認証プロンプトインタフェースをレンダリングさせるステップと、
前記アプリ内自動認証プロンプトインタフェースとのユーザエンゲージメントに応じてアプリ内自動認証許可を受信するステップと
をさらに含む、実施形態1から11までのいずれか1つ記載のコンピュータで実行される方法。
【0273】
13:前記コンピュータで実行される方法が、
前記認証セッションの起動に応じてアプリ内自動認証プロンプトインタフェースを生成するステップと、
第2のクライアントデバイスに前記アプリ内自動認証プロンプトインタフェースをレンダリングさせるステップと、
前記アプリ内自動認証プロンプトインタフェースとのユーザエンゲージメントに応じてアプリ内自動認証取り消しを受信するステップと、
前記アプリ内自動認証取り消しに応じて前記認証セッションを終了するステップと
をさらに含む、実施形態1から12までのいずれか1つ記載のコンピュータで実行される方法。
【0274】
14:前記多要素確認メッセージは、電子メールメッセージを含み、前記検証済みサードパーティ多要素認証リソースは、検証済み電子メールリソースを含む、実施形態1から13までのいずれか1つ記載のコンピュータで実行される方法。
【0275】
15:イネーブルされた前記サードパーティリソースへの前記アクセスは、ワンタイムセッションに関連付けられている、実施形態1から14までのいずれか1つ記載のコンピュータで実行される方法。
【0276】
16:前記コンピュータで実行される方法が、
前記クライアントデバイスが前記検証済みサードパーティ多要素認証リソースにアクセスするように構成されていることを検証するステップ
をさらに含む、実施形態1から15までのいずれか1つ記載のコンピュータで実行される方法。
【0277】
17:前記マルチアプリコミュニケーションシステムに、前記クライアントデバイスが前記検証済みサードパーティ多要素認証リソースにアクセスするように構成されていることを検証させるステップは、
前記サードパーティサインイン要求に関連付けられているターゲットインスタンス識別子を特定するステップと、
前記多要素確認メッセージに関連付けられている確認インスタンス識別子を特定するステップと、
前記ターゲットインスタンス識別子に基づいて前記確認インスタンス識別子を妥当性確認するステップと
を含む、実施形態16記載のコンピュータで実行される方法。
【0278】
18:前記ターゲットインスタンス識別子は、デバイス識別子、インターネットプロトコルアドレス、前記クライアントデバイスに関連付けられている場所、およびアプリケーション識別子を含むグループから選択されるインスタンス識別子を含む、実施形態17記載のコンピュータで実行される方法。
【0279】
19:前記確認インスタンス識別子は、デバイス識別子、インターネットプロトコルアドレス、前記クライアントデバイスに関連付けられている場所、およびアプリケーション識別子を含むグループから選択されるインスタンス識別子を含む、実施形態17記載のコンピュータで実行される方法。
【0280】
20:前記コンピュータで実行される方法が、
前記多要素確認メッセージを解析してアクション通知を特定するステップと、
前記クライアントデバイス上で実行される前記マルチアプリコミュニケーションシステムアプリケーションを介して前記クライアントデバイスに前記アクション通知に関連付けられているマルチアプリコミュニケーションシステムインタフェースをレンダリングさせるステップと
をさらに含む、実施形態1から19までのいずれか1つ記載のコンピュータで実行される方法。
【0281】
21:前記アクション通知は、前記サードパーティリソースに関連付けられているサードパーティリソースアクション通知を含み、前記マルチアプリコミュニケーションシステムインタフェースは、前記サードパーティリソースに関連付けられている、実施形態20記載のコンピュータで実行される方法。
【0282】
22:検証済みサードパーティ多要素認証リソースと通信可能なマルチアプリコミュニケーションシステムを介してサードパーティリソースへの認証されたアクセスを提供する装置であって、
前記装置は、少なくとも1つのプロセッサと、少なくとも1つの非一時的メモリとを備え、
前記少なくとも1つの非一時的メモリは、内部に保存されたコンピュータコード化された命令を含み、前記コンピュータコード化された命令は、前記少なくとも1つのプロセッサにより実行される際に、実施形態1から21までのいずれか1つ記載のコンピュータで実行される方法を実行するように前記装置を構成する、装置。
【0283】
23:検証済みサードパーティ多要素認証リソースと通信可能なマルチアプリコミュニケーションシステムを介してサードパーティリソースへの認証されたアクセスを提供するコンピュータプログラム製品であって、
前記コンピュータプログラム製品は、少なくとも1つの非一時的コンピュータで読み取り可能な記憶媒体を備え、
前記少なくとも1つの非一時的コンピュータで読み取り可能な記憶媒体は、内部に保存されたコンピュータプログラムコードを含み、前記コンピュータプログラムコードは、少なくとも1つのプロセッサにより実行される際に、実施形態1から21までのいずれか1つ記載のコンピュータで実行される方法を実行するように構成されている、コンピュータプログラム製品。
【0284】
24:検証済みサードパーティ多要素認証リソースと通信可能なマルチアプリコミュニケーションシステムを介してサードパーティリソースへの認証されたアクセスを提供する装置であって、実施形態1から21までのいずれか1つ記載のコンピュータで実行される方法の各ステップを実行する手段を備える、装置。
【0285】
25:マルチアプリコミュニケーションシステムに関連付けられている機能への認証されたアクセスを提供するコンピュータで実行される方法であって、前記マルチアプリコミュニケーションシステムは、検証済みサードパーティ多要素認証リソース、およびクライアントデバイス上で実行されるマルチアプリコミュニケーションシステムアプリケーションと通信可能であり、前記コンピュータで実行される方法は、
前記クライアントデバイス上で実行される前記マルチアプリコミュニケーションシステムアプリケーションから多要素サインイン要求を受信するステップと、
多要素確認メッセージを前記検証済みサードパーティ多要素認証リソースへ送信させるステップと、
前記多要素確認メッセージを特定するために前記検証済みサードパーティ多要素認証リソースへのクエリを実行するステップと、
特定された前記多要素確認メッセージに基づいて認証ユーザアカウントに関連付けられた認証セッションを起動するステップと
を含む、コンピュータで実行される方法。
【0286】
26:前記コンピュータで実行される方法が、
前記多要素サインイン要求からユーザ認証クレデンシャルを抽出するステップと、
1次認証法を用いて前記ユーザ認証クレデンシャルを妥当性確認するステップと、
妥当性確認された前記ユーザ認証クレデンシャルに基づいて認証ユーザアカウントを特定するステップと
をさらに含み、
前記検証済みサードパーティ多要素認証リソースへのクエリを実行するステップは、特定された前記認証ユーザアカウントに基づく、実施形態25記載のコンピュータで実行される方法。
【0287】
27:前記コンピュータで実行される方法が、
前記多要素確認メッセージから多要素メッセージコードを抽出するステップと、
前記多要素メッセージコードを妥当性確認させるステップと
をさらに含む、実施形態25または26記載のコンピュータで実行される方法。
【0288】
28:前記多要素確認メッセージから前記多要素メッセージコードを抽出するステップは、
前記多要素確認メッセージを解析して前記多要素メッセージコードを含む認証リンクを特定するステップと、
前記認証リンクから前記多要素メッセージコードを抽出するステップと
を含む、実施形態27記載のコンピュータで実行される方法。
【0289】
29:前記コンピュータで実行される方法が、
マルチアプリコミュニケーションシステムサインインプロンプトインタフェースを生成するステップと、
前記マルチアプリコミュニケーションシステムアプリケーションを介して前記クライアントデバイスに前記マルチアプリコミュニケーションシステムサインインプロンプトインタフェースをレンダリングさせるステップと
をさらに含み、
前記多要素サインイン要求は、前記クライアントデバイスを介する前記マルチアプリコミュニケーションシステムサインインプロンプトインタフェースとのエンゲージメントに応じて受信される、実施形態25から28までのいずれか1つ記載のコンピュータで実行される方法。
【0290】
30:前記コンピュータで実行される方法が、
サードパーティリソースアクセス要求を送信するステップと、
前記マルチアプリコミュニケーションシステムアプリケーションを介して前記クライアントデバイスにサードパーティリソースアクセスプロンプトインタフェースをレンダリングさせるステップと、
前記サードパーティリソースアクセスプロンプトインタフェースとのユーザエンゲージメントに応じてサードパーティリソースアクセス許可を受信するステップと
をさらに含む、実施形態25から29までのいずれか1つ記載のコンピュータで実行される方法。
【0291】
31:前記コンピュータで実行される方法が、
前記多要素確認メッセージを生成するステップ
をさらに含み、
前記多要素確認メッセージを前記検証済みサードパーティ多要素認証リソースへ送信させるステップは、
前記多要素確認メッセージを前記検証済みサードパーティ多要素認証リソースへ送信するステップ
を含む、実施形態25から30までのいずれか1つ記載のコンピュータで実行される方法。
【0292】
32:前記多要素確認メッセージを前記検証済みサードパーティ多要素認証リソースへ送信させるステップは、
前記多要素確認メッセージを前記検証済みサードパーティ多要素認証リソースへ送信させるために多要素要求を前記サードパーティリソースへ送信するステップ
を含む、実施形態25から31までのいずれか1つ記載のコンピュータで実行される方法。
【0293】
33:前記コンピュータで実行される方法が、
前記認証セッションの起動に応じてアプリ内自動認証プロンプトインタフェースを生成するステップと、
第2のクライアントデバイスにより前記アプリ内自動認証プロンプトインタフェースをレンダリングさせるステップと、
前記アプリ内自動認証プロンプトインタフェースとのユーザエンゲージメントに応じてアプリ内自動認証許可を受信するステップと
をさらに含む、実施形態25から32までのいずれか1つ記載のコンピュータで実行される方法。
【0294】
34:前記コンピュータで実行される方法が、
前記認証セッションの起動に応じてアプリ内自動認証プロンプトインタフェースを生成するステップと、
第2のクライアントデバイスに前記アプリ内自動認証プロンプトインタフェースをレンダリングさせるステップと、
前記アプリ内自動認証プロンプトインタフェースとのユーザエンゲージメントに応じてアプリ内自動認証取り消しを受信するステップと、
前記アプリ内自動認証取り消しに応じて前記認証セッションを終了するステップと
をさらに含む、実施形態25から33までのいずれか1つ記載のコンピュータで実行される方法。
【0295】
35:前記多要素確認メッセージは、電子メールメッセージを含み、前記検証済みサードパーティ多要素認証リソースは、検証済み電子メールリソースを含む、実施形態25から34までのいずれか1つ記載のコンピュータで実行される方法。
【0296】
36:前記多要素確認メッセージは、ワンタイムセッションに関連付けられている、実施形態25から35までのいずれか1つ記載のコンピュータで実行される方法。
【0297】
37:前記コンピュータで実行される方法が、
前記クライアントデバイスが前記検証済みサードパーティ多要素認証リソースにアクセスするように構成されていることを検証するステップ
をさらに含む、実施形態25から36までのいずれか1つ記載のコンピュータで実行される方法。
【0298】
38:前記クライアントデバイスが前記検証済みサードパーティ多要素認証リソースにアクセスするように構成されていることを検証するステップは、
前記多要素サインイン要求に関連付けられているターゲットインスタンス識別子を特定するステップと、
前記多要素確認メッセージに関連付けられている確認インスタンス識別子を特定するステップと、
前記ターゲットインスタンス識別子に基づいて前記確認インスタンス識別子を妥当性確認するステップと
を含む、実施形態37記載のコンピュータで実行される方法。
【0299】
39:前記ターゲットインスタンス識別子は、デバイス識別子、前記クライアントデバイスに関連付けられている場所、インターネットプロトコルアドレス、およびアプリケーション識別子を含むグループから選択されるインスタンス識別子を含む、実施形態38記載のコンピュータで実行される方法。
【0300】
40:前記確認インスタンス識別子は、前記クライアントデバイスに関連付けられている場所、デバイス識別子、インターネットプロトコルアドレス、およびアプリケーション識別子を含むグループから選択されるインスタンス識別子を含む、実施形態38記載のコンピュータで実行される方法。
【0301】
41:前記コンピュータで実行される方法が、
前記多要素確認メッセージを解析してアクション通知を特定するステップと、
前記クライアントデバイス上で実行される前記マルチアプリコミュニケーションシステムアプリケーションを介して、前記クライアントデバイスに、前記アクション通知に関連付けられているマルチアプリコミュニケーションシステムインタフェースをレンダリングさせるステップと
をさらに含む、実施形態25から40までのいずれか1つ記載のコンピュータで実行される方法。
【0302】
42:前記アクション通知は、前記マルチアプリコミュニケーションシステムに関連して発生した新たなユーザアクションを示すマルチアプリコミュニケーションシステムアクション通知を含み、前記マルチアプリコミュニケーションシステムインタフェースは、前記新たなユーザアクションに関連付けられる、実施形態41記載のコンピュータで実行される方法。
【0303】
43:検証済みサードパーティ多要素認証リソースと通信可能なマルチアプリコミュニケーションシステムを介してサードパーティリソースへの認証されたアクセスを提供する装置であって、前記装置は、少なくとも1つのプロセッサと、少なくとも1つの非一時的メモリとを備え、前記少なくとも1つの非一時的メモリは、内部に保存されたコンピュータコード化された命令を含み、前記コンピュータコード化された命令は、前記少なくとも1つのプロセッサにより実行される際に、実施形態25から42までのいずれか1つ記載のコンピュータで実行される方法を実行するように前記装置を構成する、装置。
【0304】
44:検証済みサードパーティ多要素認証リソースと通信可能なマルチアプリコミュニケーションシステムを介してサードパーティリソースへの認証されたアクセスを提供するコンピュータプログラム製品であって、前記コンピュータプログラム製品は、少なくとも1つの非一時的コンピュータで読み取り可能な記憶媒体を備え、前記少なくとも1つの非一時的コンピュータで読み取り可能な記憶媒体は、内部に保存されたコンピュータプログラムコードを含み、前記コンピュータプログラムコードは、少なくとも1つのプロセッサにより実行される際に、実施形態25から42までのいずれか1つ記載のコンピュータで実行される方法を実行するように構成されている、コンピュータプログラム製品。
【0305】
45:検証済みサードパーティ多要素認証リソースと通信可能なマルチアプリコミュニケーションシステムを介してサードパーティリソースへの認証されたアクセスを提供する装置であって、実施形態25から42までのいずれか1つ記載のコンピュータで実行される方法の各ステップを実行する手段を備える、装置。