(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-09
(45)【発行日】2023-11-17
(54)【発明の名称】セキュリティーアサーションマークアップランゲージ(SAML)サービスプロバイダー起点のシングルサインオンのための方法及びプログラム
(51)【国際特許分類】
G06F 21/41 20130101AFI20231110BHJP
H04L 67/00 20220101ALI20231110BHJP
【FI】
G06F21/41
H04L67/00
【外国語出願】
(21)【出願番号】P 2019136341
(22)【出願日】2019-07-24
【審査請求日】2022-06-20
(32)【優先日】2018-09-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】507031918
【氏名又は名称】コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッド
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】スラパラジュ, ラウル
(72)【発明者】
【氏名】バーバー, ダニエル
【審査官】吉田 歩
(56)【参考文献】
【文献】特開2018-018143(JP,A)
【文献】特開2018-092446(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/41
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
セキュリティーアサーションマークアップランゲージ(SAML)サービスプロバイダー起点の(SP起点の)シングルサインオン(SSO)フローのための方法であって、前記方法は、
シングルサインオン(SSO)法により認証サーバー上でクライアントを認証するステップと、
前記認証サーバー上で前記クライアントに一組のアクセストークンを発行するステップであって、前記一組のアクセストークンは、認証されたユーザーを記述するクレームのリストを含むステップと、
前記クライアントがSAML-SPサーバー上でホスティングされているリソースへのリクエストを前記認証サーバーに送信するステップであって、前記リクエストは、前記認証サーバーのドメイン及び統一資源位置指定子と前記一組のアクセストークンとを含むステップと、
前記認証サーバー上で前記リクエストを受信し、前記リクエストから前記一組のアクセストークンを解析し、前記認証されたユーザーを有効にするステップと、
前記認証サーバー上でページをレンダリングし、前記認証サーバーの前記ドメインに関連付けられたログインクッキーとともに前記ページを前記クライアントに渡すステップであって、前記ページは、前記リクエストを前記クライアントから前記SAML-SPサーバーにリダイレクトするJavaScriptコードを含むステップと、
前記SAML-SPサーバー上で
前記リソースにアクセスするためのリソースリクエストを受信
するステップと、
前記SAML-SPサーバーが、認証リクエストプロトコルメッセージを使用して前記ユーザーの認証を得るために、前記リソースリクエストを前記SAML-SPサーバーから前記認証サーバーにリダイレクト
するステップと、
前記認証サーバー上で前記SAML-SPサーバーからSAML SSOリクエストを受信するステップと、
前記認証サーバー上で前記認証されたユーザーについてのアサーションとともに前記SAML-SPサーバーにSAML SSOレスポンスを発行するステップと、
前記SAML-SPサーバーが前記SAML-SPサーバー上でホスティングされている前記リソースへのアクセスを前記認証されたユーザーに許諾するステップと、
を含む方法。
【請求項2】
前記SAML-SPサーバー上でホスティングされている前記リソースへの前記リクエストを送信するためにクライアント装置上のウェブブラウザーを起動するステップをさらに含み、前記SAML-SPサーバー上でホスティングされている前記リソースへの前記リクエストは、前記クライアント装置上のアプリケーションによって生成され、前記リクエストはウェブブラウザーアドレスを有し、前記ウェブブラウザーアドレスは、前記認証サーバーの前記ドメイン及び前記統一資源位置指定子と前記一組のアクセストークンとを有する、
請求項1に記載の方法。
【請求項3】
前記認証サーバー上で前記一組のアクセストークンを解析し、前記一組のアクセストークンを有効にするステップをさらに含む、
請求項1又は2に記載の方法。
【請求項4】
前記SAML-SPサーバーが前記クライアントからリダイレクトされた前記リクエストを受信すると、前記認証されたユーザーにユーザー名を入力するよう要求するステップをさらに含む、
請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記SAML SSOリクエストから前記認証サーバー上で受信されたクッキーが有効であることを確認し、前記クッキー中のクレームを使用して前記認証されたユーザーの
認可を判定するステップをさらに含む、
請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記シングルサインオン(SSO)法はバイオメトリックであり、前記バイオメトリックは、指紋、手のひら静脈、顔認識、DNA、掌紋、掌形認証、虹彩認識、及び/又は網膜である、
請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記一組のアクセストークンはジェイソンウェブトークン(JWT)である、
請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記ジェイソンウェブトークンは
、HMAC SHA256で
符号化されている、
請求項7に記載の方法。
【請求項9】
前記
SAML-SPサーバーに係るサービスプロバイダーは、電気通信サービスプロバイダー(TSP)、アプリケーションサービスプロバイダー(ASP)、ストレージサービスプロバイダー(SSP)、及び/又はインターネットサービスプロバイダー(ISP)である、
請求項1から8のいずれか一項に記載の方法。
【請求項10】
前記認証されたユーザーについてのクレームのリストを記述するステップをさらに含み、前記クレームのリストは、ユーザー名と、前記SAML-SPサーバー上のコンテンツにアクセスするための一つ以上のアクセス権限とを含む、
請求項1から9のいずれか一項に記載の方法。
【請求項11】
前記認証サーバーが、前記一組のアクセストークンが有効である場合に、前記一組のアクセストークンから前記クレームのリストを抽出するステップをさらに含む、
請求項1から10のいずれか一項に記載の方法。
【請求項12】
前記認証サーバーは、SAML IdP(セキュリティーアサーションマークアップランゲージアイデンティティープロバイダー)である、
請求項1から11のいずれか一項に記載の方法。
【請求項13】
前記SAML-SPサーバーが前記SAML-SPサーバー上でホスティングされている前記リソースへのアクセスを
前記認証されたユーザーに許諾
するステップが一旦行われた後は、前記SAML-SPサーバー又は前記認証サーバーのいずれにおいても、さらなるログインは必要とされない、
請求項1から12のいずれか一項に記載の方法。
【請求項14】
セキュリティーアサーションマークアップランゲージ(SAML)サービスプロバイダー起点の(SP起点の)シングルサインオン(SSO)フローのためにプロセッサーによって実行されるコンピューター読取可能なプログラムであって、前記プロセッサーに、
シングルサインオン(SSO)法により認証サーバー上でクライアントを認証するステップと、
前記認証サーバー上で前記クライアントに一組のアクセストークンを発行するステップであって、前記一組のアクセストークンは、認証されたユーザーを記述するクレームのリストを含むステップと、
前記クライアントがSAML-SPサーバー上でホスティングされているリソースへのリクエストを前記認証サーバーに送信するステップであって、前記リクエストは、前記認証サーバーのドメイン及び統一資源位置指定子と前記一組のアクセストークンとを含むステップと、
前記認証サーバー上で前記リクエストを受信し、前記リクエストから前記一組のアクセストークンを解析し、前記認証されたユーザーを有効にするステップと、
前記認証サーバー上でページをレンダリングし、前記認証サーバーの前記ドメインに関連付けられたログインクッキーとともに前記ページを前記クライアントに渡すステップであって、前記ページは、前記リクエストを前記クライアントから前記SAML-SPサーバーにリダイレクトするJavaScriptコードを含むステップと、
前記SAML-SPサーバー上で
前記リソースにアクセスするためのリソースリクエストを受信
するステップと、
前記SAML-SPサーバーが、認証リクエストプロトコルメッセージを使用して前記ユーザーの認証を得るために、前記リソースリクエストを前記SAML-SPサーバーから前記認証サーバーにリダイレクト
するステップと、
前記認証サーバー上で前記SAML-SPサーバーからSAML SSOリクエストを受信するステップと、
前記認証サーバー上で前記認証されたユーザーについてのアサーションとともに前記SAML-SPサーバーにSAML SSOレスポンスを発行するステップと、
前記SAML-SPサーバーが前記SAML-SPサーバー上でホスティングされている前記リソースへのアクセスを前記認証されたユーザーに許諾するステップと、
を実行させるためのプログラム。
【請求項15】
前記プロセッサーに、前記SAML-SPサーバー上でホスティングされている前記リソースへの前記リクエストを送信するためにクライアント装置上のウェブブラウザーを起動するステップをさらに実行させ、前記SAML-SPサーバー上でホスティングされている前記リソースへの前記リクエストは、前記クライアント装置上のアプリケーションによって生成され、前記リクエストはウェブブラウザーアドレスを有し、前記ウェブブラウザーアドレスは、前記認証サーバーの前記ドメイン及び前記統一資源位置指定子と前記一組のアクセストークンとを有する、
請求項14に記載のプログラム。
【請求項16】
前記プロセッサーに、前記認証サーバー上で前記一組のアクセストークンを解析し、前記一組のアクセストークンを有効にするステップをさらに実行させる、
請求項14又は15に記載のプログラム。
【請求項17】
前記プロセッサーに、前記SAML-SPサーバーが前記クライアントからリダイレクトされた前記リクエストを受信すると、前記認証されたユーザーにユーザー名を入力するよう要求するステップをさらに実行させる、
請求項14から16のいずれか一項に記載のプログラム。
【請求項18】
前記プロセッサーに、前記認証されたユーザーについてのクレームのリストを記述するステップをさらに実行させ、前記クレームのリストは、ユーザー名と、前記SAML-SPサーバー上のコンテンツにアクセスするための一つ以上のアクセス権限とを含む、
請求項14から17のいずれか一項に記載のプログラム。
【請求項19】
前記プロセッサーに、前記一組のアクセストークンが有効である場合に、前記一組のアクセストークンから前記クレームのリストを抽出するステップをさらに実行させる、
請求項14から18のいずれか一項に記載のプログラム。
【請求項20】
前記認証サーバーは、SAML IdP(セキュリティーアサーションマークアップランゲージアイデンティティープロバイダー)であり、
前記プロセッサーに、前記SAML-SPサーバーが前記SAML-SPサーバー上でホスティングされている前記リソースへのアクセスを
前記認証されたユーザーに許諾
するステップを一旦実行させた後は、前記SAML-SPサーバー又は前記認証サーバーのいずれにおいても、さらなるログインは必要とされない、
請求項14から19のいずれか一項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、ユーザーの挿入された暗黙的なセキュア認証による真のシームレスなSAML(セキュリティーアサーションマークアップランゲージ)SP起点の(サービスプロバイダー起点の)SSO(シングルサインオン)フローのためのコンピューターネットワーキングシステム及び方法に関し、特に、認証されたユーザーがSP起点のSAMLフローを開始する際に引き起こされるHTTP(ハイパーテキストトランスファープロトコル)リダイレクションを導入する、修正されたSAML SP起点のSSOフローに関する。
【背景技術】
【0002】
セキュリティーアサーションマークアップランゲージ(SAML)は、ユーザーアイデンティティーをアサートするSAML連携アイデンティティープロバイダー(SAML-IdP)と、ユーザーアイデンティティー情報を使用するSAML連携サービスプロバイダー(SAML-SP)との間でシングルサインオン(SSO)情報をやり取りするためのXML規格である。シングルサインオンは、ユーザーが一組のログインクレデンシャルで複数のアプリケーションにアクセスすることを可能にする認証プロセスである。シングルサインオンは、例えば、ローカルエリアネットワーク(LAN)に接続された複数のリソースにクライアントがアクセスする、企業における共通の手続きである。
【0003】
SAMLv2.0(セキュリティーアサーションマークアップランゲージ・バージョン2)は、IdP起点及びSP起点のフローをサポートする。IdP起点のSAML SSOフローでは、SAML-IdPがユーザーアイデンティティーについてのSAMLシングルサインオンアサーションを作成し、当該SAMLシングルサインオンアサーションをSP(サービスプロバイダー)に未承諾の形式で送信する。SP起点のSAML SSOフローでは、SPが連携プロセスの第1のステップとしてSAML-IdPに送信されるSAML2.0AuthnRequest(すなわち認証リクエスト)を生成し、次いでSAML-IdPがSAMLレスポンスに応答する。これらのインタラクションは両方とも互いに非同期である。
【0004】
IdP起点のSAML SSOは、ユーザーが既に認証されており、SAML-IdPのポータルページを訪れる場合に、ユーザーフローにこのような簡略化をもたらし、SAML-IdPは、ユーザーを認証するSAML2.0アサーションを構築することができ(すなわち、ユーザーは認証されており)、ユーザーは、SAML-SPにおいて他の場合には保護されているリソースにアクセスすることができ、SAML-IdPは、SAMLv2.0アサーションをSAML-SPに未承諾の形式で送信する。
【0005】
現在のSAML2.0連携SP起点のインプリメンテーションは、フローセマンティクスの相違の結果としてIdP起点のSSOフローによるこのような有用性を欠いている。
【0006】
SP起点よりもIdP起点を選択することは、SAMLv2.0の下では現在は選択対象ではない。SP起点のSAML SSOフローは、IdP起点のフローに対して著しい有利性をもたらすことができ、例えば、ディープリンクのサポート及びCSRF(クロスサイトリクエストフォージェリ)攻撃に対する保護を挙げることができる。ディープリンクは、ウェブサイトのホームページ(例えば「http://example.com」)ではなく、ウェブサイト上の、ある特定の、一般に検索可能な又はインデックス付きのウェブコンテンツ(例えば「http://example.com/path/page」)にリンクするハイパーリンクの使用である。また、サービスプロバイダー(SP)の一部は、IdP起点のSAMLフローを許可していない。
【0007】
SAML2.0のSP起点のSSOフロー中に、ユーザーは、SAML-IdPがそのような試みに気付いていない状態で、SP側の保護されたリソースに直接アクセスすることを試みる。ユーザーがモバイル/デスクトップアプリ上で(IdPを含むSAML任意の認証サービスで)既に認証されている多くの典型的な場合において、起こり得る問題は、モバイル装置(つまりユーザーによって操作されている)のモバイル/デスクトップクライアント及び(SAML-IdPをホスティングしている)認証サービスがユーザーに再認証するよう強制し得ることを含む。したがって、ユーザーに再認証することを求めることにより、IdP起点のSAML SSOフローによって別の方法でもたらされるSSOプロセスのシームレス性が失われ得る。また、連携アイデンティティーの認証が必要であれば、サービスプロバイダー(SP)は、対応するSAML-IdPサーバーを識別する必要がある。SP起点のログインでは、SPはユーザーのアイデンティティーについて当初は何も知らず、ユーザーの干渉が求められるため、SPは、IdP起点のSAML SSOフローと比較して、使用性及びパフォーマンス/レイテンシ問題を抱える可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【0008】
上記の問題を考慮して、認証されたユーザーがSP起点のSAMLフローを開始する際に開始され得る(引き起こされ得る)HTTPリダイレクションを導入することにより、修正されたSAML SP起点のSSOフローのための方法及びプログラムを有することが望ましく、このような修正されたSAML2.0 SP起点のフローは、SAML2.0仕様に十分に適合することになる。
【課題を解決するための手段】
【0009】
セキュリティーアサーションマークアップランゲージ(SAML)サービスプロバイダー起点の(SP起点の)シングルサインオン(SSO)フローのための方法が開示される。前記方法は、シングルサインオン(SSO)法により認証サーバー上でクライアントを認証するステップと、前記認証サーバー上で前記クライアントに一組のアクセストークンを発行するステップであって、前記一組のアクセストークンは、認証されたユーザーを記述するクレームのリストを含むステップと、前記クライアントがSAML-SPサーバー上でホスティングされているリソースへのリクエストを前記認証サーバーに送信するステップであって、前記リクエストは、前記認証サーバーのドメイン及び統一資源位置指定子と前記一組のアクセストークンとを含むステップと、前記認証サーバー上で前記リクエストを受信し、前記リクエストから前記一組のアクセストークンを解析し、前記認証されたユーザーを有効にするステップと、前記認証サーバー上でページをレンダリングし、前記認証サーバーの前記ドメインに関連付けられたログインクッキーとともに前記ページを前記クライアントに渡すステップであって、前記ページは、前記リクエストを前記クライアントから前記SAML-SPサーバーにリダイレクトするJavaScriptコードを含むステップと、前記SAML-SPサーバー上で前記リソースにアクセスするためのリソースリクエストを受信するステップと、前記SAML-SPサーバーが、認証リクエストプロトコルメッセージを使用して前記ユーザーの認証を得るために、前記リソースリクエストを前記SAML-SPサーバーから前記認証サーバーにリダイレクトするステップと、前記認証サーバー上で前記SAML-SPサーバーからSAML SSOリクエストを受信するステップと、前記認証サーバー上で前記認証されたユーザーについてのアサーションとともに前記SAML-SPサーバーにSAML SSOレスポンスを発行するステップと、前記SAML-SPサーバーが前記SAML-SPサーバー上でホスティングされている前記リソースへのアクセスを前記認証されたユーザーに許諾するステップと、を含む。
【0010】
セキュリティーアサーションマークアップランゲージ(SAML)サービスプロバイダー起点の(SP起点の)シングルサインオン(SSO)フローのためにプロセッサーによって実行されるコンピューター読取可能なプログラムが開示される。前記プログラムは、前記プロセッサーに、シングルサインオン(SSO)法により認証サーバー上でクライアントを認証するステップと、前記認証サーバー上で前記クライアントに一組のアクセストークンを発行するステップであって、前記一組のアクセストークンは、認証されたユーザーを記述するクレームのリストを含むステップと、前記クライアントがSAML-SPサーバー上でホスティングされているリソースへのリクエストを前記認証サーバーに送信するステップであって、前記リクエストは、前記認証サーバーのドメイン及び統一資源位置指定子と前記一組のアクセストークンとを含むステップと、前記認証サーバー上で前記リクエストを受信し、前記リクエストから前記一組のアクセストークンを解析し、前記認証されたユーザーを有効にするステップと、前記認証サーバー上でページをレンダリングし、前記認証サーバーの前記ドメインに関連付けられたログインクッキーとともに前記ページを前記クライアントに渡すステップであって、前記ページは、前記リクエストを前記クライアントから前記SAML-SPサーバーにリダイレクトするJavaScriptコードを含むステップと、前記SAML-SPサーバー上で前記リソースにアクセスするためのリソースリクエストを受信するステップと、前記SAML-SPサーバーが、認証リクエストプロトコルメッセージを使用して前記ユーザーの認証を得るために、前記リソースリクエストを前記SAML-SPサーバーから前記認証サーバーにリダイレクトするステップと、前記認証サーバー上で前記SAML-SPサーバーからSAML SSOリクエストを受信するステップと、前記認証サーバー上で前記認証されたユーザーについてのアサーションとともに前記SAML-SPサーバーにSAML SSOレスポンスを発行するステップと、前記SAML-SPサーバーが前記SAML-SPサーバー上でホスティングされている前記リソースへのアクセスを前記認証されたユーザーに許諾するステップと、を実行させる。
【0011】
上述の総括的な記載及び以下の詳細な記載は、両方とも例示及び説明のためのものであり、請求される発明のさらなる説明を提供することが意図されていると解釈されるべきである。
【0012】
添付の図面は、発明のさらなる理解をもたらすために含まれ、本明細書に組み込まれるか、又は本明細書の一部を構成する。図面は発明の実施形態を例示し、明細書とともに発明の原理を説明する役割を有する。
【図面の簡単な説明】
【0013】
【
図1】例示的な実施形態に係る、ユーザーの挿入された暗黙的なセキュア認証によるSAML SP起点のSSOフローを有するシステムの例示である。
【
図2】例示的な実施形態に係るコンピューター又はサーバーである。
【
図3】SAML2仕様に係るSAML SP起点のSSOフローの一例である。
【
図4】例示的な実施形態に係るSAML SP起点のSSOフローの一例である。
【発明を実施するための形態】
【0014】
本発明の好ましい実施形態に詳細に言及し、その例が添付の図面に例示される。可能な限り、同じか又は同様の部分に言及するために同じ参照符号が図面及び説明において使用される。
【0015】
図1は、例示的な実施形態に係る、ユーザーの挿入された暗黙的なセキュア認証による真のシームレスなSAML SP起点のSSOフローが可能なシステム100の例示である。
図1に示すように、システム100は、コンピューター又はクライアント装置110と、少なくとも一つのモバイルコンピューター112と、複数のSAML-SPサーバー120と、認証サーバー130とを含むことができる。例示的な実施形態によれば、コンピューター又はクライアント装置110、少なくとも一つのモバイルコンピューター112、複数のSAML-SPサーバー120、及び認証サーバー130は、通信ネットワーク150を介して接続されることができる。また、例えば、アクセスポイント140は、通信ネットワーク150と通信して、モバイルコンピューター(例えばスマートフォン)112と通信ネットワーク150との間に無線又はセルラーデータ通信を提供することができる。例示的な実施形態によれば、アクセスポイント140は、Wi-Fi装置が有線ネットワークに接続することを可能にする任意のネットワーキングハードウェア装置、又は、例えばスマートフォン等のセルラー装置が有線ネットワーク150に接続することを可能にするハードウェア装置とすることができる。
【0016】
図2は、コンピューティング装置200の例示であり、コンピューター110、モバイルコンピューター112、SAML-SPサーバー120、又は認証サーバー130とすることができる。
図2に示すように、例示的なコンピューティング装置200は、プロセッサー又は中央処理装置(CPU)202と、ソフトウェアプログラム及び(プリントされるファイル等の)データを保存するための一つ以上のメモリー204とを含むことができる。プロセッサー又はCPU202は、コンピューティング装置200の機能の少なくとも一部分を動作させ、かつ/又は制御するコンピュータープログラムの指示を実行する。コンピューティング装置200は、入力部206と、表示部又はグラフィカルユーザーインタフェース(GUI)208と、通信ネットワーク(又はネットワーク)150に接続されるネットワークインタフェース(I/F)210とを含むこともできる。バス212は、コンピューティング装置200内の様々な部材202,204,206,208,210を接続することができる。
【0017】
例示的な実施形態によれば、一つ以上のコンピューティング装置200の各々は、例えば、コンピューティング装置200のメモリー204内のウェブブラウザー(図示せず)にアクセスすることができる表示部又はグラフィカルユーザーインタフェース(GUI)208を含むことができる。コンピューティング装置200は、コンピューターハードウェアを管理し、様々なソフトウェアプログラムの効率的な実行のための共通のサービスを提供するオペレーティングシステム(OS)を含むこともできる。例示的な実施形態によれば、CPU202のOSは、Linux又はWindows(登録商標)ベースのオペレーティングシステムである。ソフトウェアプログラムは、例えば、アプリケーションソフトウェア及びプリンタードライバーソフトウェアを含むことができる。例えば、プリンタードライバーソフトウェアは、例えばコンピューティング装置200と接続されたマルチファンクションプリンター又はプリンター(図示せず)を制御し、プリンタードライバーソフトウェアは、通信ネットワーク150を介してインストールされる。ある実施形態では、プリンタードライバーソフトウェアは、画像及び/又はドキュメントデータに基づくプリントジョブ及び/又はドキュメントを生成することができる。
【0018】
例示的な実施形態によれば、複数のSAML-SPサーバー120は、セキュリティーアサーションマークアップランゲージのシングルサインオン(SSO)プロファイルとともに認証アサーションを受信し受け付けるように構成される。SAMLドメインモデルにおいて、SAMLリライングパーティーは、他のシステムエンティティーから情報を受信し受け付ける任意のシステムエンティティーである。特に興味深いのは、SAMLオーソリティーによって発行されるSAMLアサーションを受信し受け付けるSAMLリライングパーティーである。重要な種類のSAMLオーソリティーは、SAMLアイデンティティープロバイダー、SAMLのSSOプロファイルとともに認証アサーションを発行するシステムエンティティーである。そのようなアサーションを使用するリライングパーティーは、SAMLサービスプロバイダー(又は、ドメインが分かれば単にサービスプロバイダー)と呼ばれる。したがって、SAMLサービスプロバイダー(SAML-SP)は、SAMLアイデンティティープロバイダー(SAML-IdP)によって発行される認証アサーションを受信し受け付けるシステムエンティティーである。
【0019】
例示的な実施形態によれば、SAML SPは、企業サーバー、例えばコンサルティング、法律、不動産、通信、ストレージ、処理を組織に提供する任意のエンティティーとすることができる。例えば、SAML SPは、サードパーティー又はアウトソーシングサプライヤー、例えば、電気通信サービスプロバイダー(TSP)、アプリケーションサービスプロバイダー(ASP)、ストレージサービスプロバイダー(SSP)、及びインターネットサービスプロバイダー(ISP)とすることができる。
【0020】
例えば、TSPは、従来から電話及び同様のサービスを提供してきた通信サービスプロバイダーの一種であり、既存の地域通信事業者、競合する地域通信事業者、及びモバイル無線通信会社を含むことができる。ASPは、コンピューターベースのサービスをネットワーク上で顧客に提供する事業である。例えば、ASPは、例えばHTTP等の標準プロトコルを用いて(顧客関係管理等の)特定のソフトウェアアプリケーションへのアクセスを提供することができる。SSPは、コンピューターストレージスペース及び関連するマネジメントサービス、定期的なバックアップ、及びアーカイブを提供する任意の企業である。
【0021】
例示的な実施形態によれば、SAML-IdPは、セキュリティーアサーションマークアップランゲージ(SAML)のシングルサインオン(SSO)プロファイルとともに認証アサーションを発行するシステムエンティティーである。SAMLドメインモデルにおいて、SAMLオーソリティーは、SAMLアサーションを発行する任意のシステムエンティティーである。SAMLオーソリティーの二つの重要な例は、認証オーソリティー及び属性オーソリティーである。
【0022】
例示的な実施形態によれば、コンピューター(又はクライアント装置)110及びモバイル装置112は、好ましくは、例えば指紋認識若しくは認証、又はモバイル装置上で現在実施されているか若しくは実施予定の他の認証プロトコルによってユーザーを認証する認証モジュールを含むこともできる。例えば、ユーザー名及びパスワード等のクレデンシャルを使用するパスワード認証プロトコルを使用することができる。
【0023】
例示的な実施形態によれば、通信ネットワーク又はネットワーク150は、公衆電気通信回線及び/又はネットワーク(例えば、LAN又はWAN)とすることができる。通信ネットワーク150の例として、開示の実施形態と一致する任意の電気通信回線及び/又はネットワークを挙げることができる。開示の実施形態は、電気通信若しくは電話回線、インターネット、イントラネット、図示のローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)及び/又は無線周波数(RF)及び/又は赤外線(IR)通信を使用した無線接続を含むが、これらに限定されない。
【0024】
図3は、SAMLv2仕様に係るSAML SP起点のSSOフロー300の一例である。
図3に示すように、ステップ1において、モバイル装置(例えばスマートフォン)112を有するユーザーが、SAML-SPサーバー120によってホスティングされているリソース、サービス、又はアプリケーションをリクエストする。当該リクエスト(すなわちアクセスリソース)は、モバイル装置112から通信ネットワーク150を介してSAML-SPサーバー120に送信される。ステップ2において、SAML-SPサーバー120は、リクエストを認証サーバー130にリダイレクトし、認証サーバー130は、受信し次第、「クレデンシャルの要求」、すなわちユーザー名及びパスワードについて、モバイル装置112にリクエストを送信する。ステップ4において、モバイル装置112のユーザーがユーザー名及びパスワードを入力し、認証サーバー130に送信される。検証後のユーザー名及びパスワードの受信に応じて、ステップ5において、認証サーバー(すなわちSAML-IdP)130は、署名付き「レスポンス」をHTML形式でモバイル装置112に送信する。ステップ6において、モバイル装置112は、POST署名付き「レスポンス」をSAML-SPサーバー120に転送する。POSTは、ワールドワイドウェブによって使用されるHTTPによって使用されるHTTPによってサポートされるリクエスト法である。意図的に、POSTリクエスト法は、ウェブサーバーがリクエストメッセージの本文に含まれているデータを受け付けることをリクエストする。ステップ7において、SAML-SPサーバーは、リクエストされたリソース122をモバイル装置112に提供又は供給する。
【0025】
図4は、例示的な実施形態に係るSAML SP起点のSSOフロー400の一例である。
図4に示すように、例示的な実施形態によれば、モバイル装置112のユーザーは、有効な認証シングルサインオン(SSO)法、例えば、指紋、ユーザー名及びパスワード、又はピンを使用して、認証サーバー130上でホスティングされているシングルサインオン(SSO)サービス132にログインする。例えば、シングルサインオン(SSO)法は、バイオメトリック、例えば、指紋、手のひら静脈、顔認識、DNA、掌紋、掌形認証、虹彩認識、及び/又は網膜とすることができる。例示的な実施形態によれば、認証サーバー130は、
図4に示すように認証サーバー130上でホスティングされているシングルサインオン(SSO)サービス132を含むことができる。
【0026】
例えばシングルサインオン(SSO)サービスにより認証サーバー130にログインすると、クライアント(すなわちモバイル装置112)に一組のトークンが発行される。例えば、例示的な実施形態によれば、一組のトークンは、認証サーバー130によるジェイソンウェブトークン(JWT)及び認証サーバー130の対応するシングルサインオン(SSO)サービス132に基づく。例えば、例示的な実施形態によれば、一組のトークンは、符号化されたHMAC(鍵付きハッシュメッセージ認証コード又はハッシュベースのメッセージ認証コード)SHA256(セキュアハッシュアルゴリズム)とすることができる。また、一組のトークン中のキーはクレームのリストを含み、当該クレームのリストは、ログインしているユーザーを表す。当該クレームのリストは、例えば、ユーザー名、アクセス権限(パーミッション)等を含むことができる。また、JWTトークンは、期限が切れるように設定することができ、リフレッシュすることができる。
【0027】
例示的な実施形態によれば、
図4に示すように、モバイル装置112は、好ましくはクライアントアプリケーション114を有し、クライアントアプリケーション114は、例えばクライアント又はモバイルアプリケーション114(すなわちシンククライアント/モバイルアプリケーション)によって管理される外部のウェブブラウザー116等のサービスプロバイダー(SP)上でホスティングされているリソース又はサービスへのアクセスをモバイル装置112のユーザーに提供するように設定される。例示的な実施形態によれば、モバイル装置112のユーザーは、SAML-SP120を選択することができる。(例えば、大部分のSPはウェブベースであることから)モバイル装置112上のクライアントアプリケーションは、好ましくはウェブブラウザーを起動する。ウェブブラウザー116は、ワールドワイドウェブ上の情報にアクセスするためのソフトウェアアプリケーションである。
【0028】
例示的な実施形態によれば、ウェブブラウザーアドレスは、認証サーバー130のドメイン名/統一資源位置指定子(ドメイン/url)へのものであり、JWTトークンがアドレスの一部である。ステップ1において、認証サーバー130がリクエストを受信して、サービスプロバイダー(SAML-SP120)のウェブページをレンダリングする。認証サーバー130はJWTトークンを解析し、JWTトークンの署名、満了等のうち一つ以上を(データベースにヒットすることなく)有効にする。ステップ2において、認証サーバー130は次いで、JWTトークンが有効であれば、JWTトークンからクレームを抽出する。例示的な実施形態によれば、認証サーバー130は、クレームを使用してクレームプリンシパルを構築することができ、クレームプリンシパルは、SAML-SPサーバー120のドメインに関連付けられたログインクッキーに挿入される。ログインクッキーは、例えば、ユーザー名、アクセス権限等を含むユーザーについての情報を含む、認証サーバー130から送信される小さなデータである。
【0029】
認証サーバー130は、ページをレンダリングし、モバイル装置112のウェブブラウザーにログインクッキーを渡す。例示的な実施形態によれば、ステップ3において、認証サーバー130から受信されたページ(すなわちリクエスト)は、ブラウザーをSAML-SP120に(例えば、gmail.comに)リダイレクトするJavaScriptコードを含む。SAML-SP120はリクエストを受信し、ウェブページをレンダリングする。例示的な実施形態によれば、SAML-SP120がモバイル装置112のウェブブラウザーからリクエストを受信した後でユーザーがユーザー名及び/又はパスワードを入力する必要があってもよいし、なくてもよい。
【0030】
ステップ4において、SAML-SPサーバー120は、次いで認証サーバー130(すなわちセキュリティーアサーションマークアップランゲージアイデンティティープロバイダー(SAML-IdP)134(例えば、idp.enterprise1.com))にリダイレクトされ、シングルサインオンセキュリティーアサーションマークアップランゲージ(SSO/SAML)を使用してユーザーのアイデンティティーを取得する。認証サーバー130(すなわちSAML-IdP134)は、SAML-SPサーバー120からSSO/SAMLリクエストを受信する。認証サーバー130(すなわちSAML-IdP134)は、認証サーバー130からのクッキーも有する(例えば、ドメインが同じ際にはクッキーを自動的に使用することができる)。利用可能なクッキーに加え、クレームをクッキーに含ませることもできる。
【0031】
例示的な実施形態によれば、SAML-IdP134は、クッキーが有効であることを確認し、クレームを使用して(データベース、すなわちシングルサインオンサーバー132にヒットすることなく)ユーザーの認可を判定する。ステップ5において、認証サーバー130(すなわちSAML-IdP134)は、SSO/SAMLレスポンスをSAML-SP120に発行し、ユーザーをSAML-SPアドレスにリダイレクトする。
【0032】
ステップ6において、SAML-SP120は、ユーザーについてのアサーション(クレーム)を含むSSO/SAMLレスポンスを受信する。ステップ7において、SAML-SP120は、リソースへのアクセスを許諾し(例えば、リソース122を認証ユーザー及びモバイル装置/クライアント112に供給し)、ユーザーは、SAML-SPサーバー120及び/又は認証サーバー130のいずれにもログインする必要なしに通常通り進むことができる。
【0033】
例示的な実施形態によれば、サービスプロバイダーは、例えば、microsoftonline.comとすることができる。対応するユーザーID、SAMLサブジェクト名、及び属性は以下の通りであり得る。
【表1】
【0034】
例示的な実施形態によれば、SAML-IdP134は、追加のリダイレクションに対処しつつ、認証されたユーザーのための所要の情報、例えばドメイン名及び/又はeメールアドレスを抽出して、例えばSAML-SP120におけるリソースへのアクセスを自動化するためのURLを生成する。したがって、開示されているシステム及び方法は、ユーザーの発明によって別の方法で利用可能なレイテンシがあるにもかかわらず、当該方法及びシステムに高速の真のシームレスな効果をもたらす比較的シームレスなシングルサインオン(SSO)を提供することができる。
【0035】
例示的な実施形態によれば、開示されている方法及びプロセスは、非一時的なコンピューター読取可能な媒体上で実施されることができる。非一時的なコンピューター読取可能な媒体は、磁気記録媒体、光磁気記録媒体、又は将来開発されることになる任意の他の記録媒体であってもよく、全て同じやり方で本発明に適用可能であると考えることができる。主要な複製製品及び二次的な複製製品等を含むそのような媒体の複製は、もちろん上記の媒体と同等であると考えられる。さらに、本発明の実施形態がソフトウェア及びハードウェアの組合せであっても、発明の概念からは全く逸脱しない。本発明は、そのソフトウェア部分が予め記録媒体に書き込まれており、動作において必要に応じて読み込まれることになるように実施されてもよい。
【0036】
ここで使用される限りにおいて、単数で記載され「a」又は「an」という語が前に付けられた要素又はステップは、明示的に記載されない限り、複数の要素又はステップを除外していないと理解されるべきである。さらに、本開示の「例示的な実施形態」又は「一実施形態」という言及は、記載されている特徴を同じく組み込んだ追加的な例の存在を除外すると解釈されることを意図していない。
【0037】
本書類の末尾にある特許請求項は、従来のミーンズプラスファンクション文言が明確に記載されていない限り、例えば「ための手段」又は「ためのステップ」という文言が請求項に明確に記載されていない限り、米国特許法第112条(f)に基づいて解釈されることを意図していない。
【0038】
発明の範囲又は精神から逸脱することなく本発明の構造に様々な修正及び変更を行うことができることは、当業者にとっては明らかであろう。以上に鑑み、本発明は、下記の請求項及びそれらの等価物の範囲に入るならばこの発明の修正及び変更を対象とすることが意図される。