IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特表2023-552457フェデレーテッド認証のための第二要素ベースのレルム選択
<>
  • 特表-フェデレーテッド認証のための第二要素ベースのレルム選択 図1
  • 特表-フェデレーテッド認証のための第二要素ベースのレルム選択 図2
  • 特表-フェデレーテッド認証のための第二要素ベースのレルム選択 図3
  • 特表-フェデレーテッド認証のための第二要素ベースのレルム選択 図4
  • 特表-フェデレーテッド認証のための第二要素ベースのレルム選択 図5
  • 特表-フェデレーテッド認証のための第二要素ベースのレルム選択 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-15
(54)【発明の名称】フェデレーテッド認証のための第二要素ベースのレルム選択
(51)【国際特許分類】
   G06F 21/31 20130101AFI20231208BHJP
【FI】
G06F21/31
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023534341
(86)(22)【出願日】2021-12-05
(85)【翻訳文提出日】2023-06-06
(86)【国際出願番号】 IB2021061344
(87)【国際公開番号】W WO2022130106
(87)【国際公開日】2022-06-23
(31)【優先権主張番号】17/122,519
(32)【優先日】2020-12-15
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(74)【復代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】デュール、トーマス
(72)【発明者】
【氏名】ベイスラー、マイケル
(72)【発明者】
【氏名】ケーニッヒ、ホルガー
(72)【発明者】
【氏名】コス、オリバー
(72)【発明者】
【氏名】シュワルツ、トーマス
(57)【要約】
ユーザ名の認証のためのアプローチにおいて、プロセッサは、ユーザ名及びレルムのマッピングを維持する。プロセッサは、認証アプリケーションに基づき、ユーザ名及びユーザ名に対する時間ベースのワンタイムパスワードコード(TOTPコード)を受信する。プロセッサは、TOTPコードの受信時に、受信されたユーザ名及び受信されたTOTPに基づき、マッピングからレルムを判定し;ユーザ名に関連するクレデンシャルのレルムへの入力を要求する。プロセッサは、要求されたクレデンシャルの受信時に、受信されたクレデンシャルがレルムについて予測されたクレデンシャルと合致すると判定することにより、ユーザ名を認証する。
【特許請求の範囲】
【請求項1】
ユーザ名の認証のためのコンピュータ実装方法であって:
1つ又は複数のプロセッサが、ユーザ名及びレルムのマッピングを維持する段階;
1つ又は複数のプロセッサが、認証アプリケーションに基づき、ユーザ名及び前記ユーザ名に対する時間ベースのワンタイムパスワードコード(TOTPコード)を受信する段階;
前記TOTPコードの受信時に:
1つ又は複数のプロセッサが、前記受信されたユーザ名及び前記受信されたTOTPに基づき、前記マッピングからレルムを判定する段階;及び
1つ又は複数のプロセッサが、前記ユーザ名に関連するクレデンシャルの前記レルムへの入力を要求する段階;及び
前記要求されたクレデンシャルの受信時に、1つ又は複数のプロセッサが、前記受信されたクレデンシャルが前記レルムについて予測されたクレデンシャルと合致すると判定することにより、前記ユーザ名を認証する段階
を備える、方法。
【請求項2】
1つ又は複数のプロセッサが、前記ユーザ名及び前記TOTPコードを2段階で受信する段階
を更に備える、請求項1に記載の方法。
【請求項3】
1つ又は複数のプロセッサが、前記ユーザ名及び前記TOTPコードを受信するために適応されたユーザインタフェースを提供する段階
を更に備える、請求項1又は2に記載の方法。
【請求項4】
前記ユーザインタフェースは、グラフィカルユーザインタフェース及びコマンドラインインタフェースからなる群から選択される、請求項3に記載の方法。
【請求項5】
1つ又は複数のプロセッサが、前記ユーザ名及び前記TOTPコードを1段階のプロセスで受信する段階
を更に備える、請求項1から4のうちいずれか一項に記載の方法。
【請求項6】
クラウドコンピューティング環境、マーケットプレイス、ソフトウェア開発環境、ソーシャルメディアプラットフォームコンポーネント、及びインターネットショップにおけるアプリケーションからなる群から前記レルムが選択される、請求項1から5のうちいずれか一項に記載の方法。
【請求項7】
前記認証アプリケーションは、クライアントサイドのTOTPコード生成器である、請求項1から6のうちいずれか一項に記載の方法。
【請求項8】
前記マッピングは、TOTPコードをも含む、請求項1から7のうちいずれか一項に記載の方法。
【請求項9】
前記マッピングは、テーブル、連結リスト、及びデータベースからなる群からの選択を用いて実行される、請求項1から8のうちいずれか一項に記載の方法。
【請求項10】
1つ又は複数のプロセッサが、前記TOTPコードが依然として有効であることを判定する段階;及び
前記TOTPコードがもはや有効でなくなった時点で、1つ又は複数のプロセッサが、プロセスを終了させる段階
を更に備える、請求項1から9のうちいずれか一項に記載の方法。
【請求項11】
ユーザ名の認証のためのコンピュータプログラム製品であって:
1つ又は複数のコンピュータ可読記憶媒体、及び、前記1つ又は複数のコンピュータ可読記憶媒体上に集合的に記憶されたプログラム命令、前記プログラム命令は:
ユーザ名及びレルムのマッピングを維持するためのプログラム命令;
認証アプリケーションに基づき、ユーザ名及び前記ユーザ名に対する時間ベースのワンタイムパスワードコード(TOTPコード)を受信するためのプログラム命令;
前記TOTPコードの受信時に:
前記受信されたユーザ名及び前記受信されたTOTPに基づき、前記マッピングからレルムを判定するためのプログラム命令;及び
前記ユーザ名に関連するクレデンシャルの前記レルムへの入力を要求するためのプログラム命令;及び
前記要求されたクレデンシャルの受信時に、前記受信されたクレデンシャルが前記レルムについて予測されたクレデンシャルと合致すると判定することにより、前記ユーザ名を認証するためのプログラム命令
を有する
を備える、コンピュータプログラム製品。
【請求項12】
前記1つ又は複数のコンピュータ可読記憶媒体上に集合的に記憶された、前記ユーザ名及び前記TOTPコードを2段階で受信するためのプログラム命令
を更に備える、請求項11に記載のコンピュータプログラム製品。
【請求項13】
前記1つ又は複数のコンピュータ可読記憶媒体上に集合的に記憶された、前記ユーザ名及び前記TOTPコードを受信するために適応されたユーザインタフェースを提供するためのプログラム命令
を更に備える、請求項11又は12に記載のコンピュータプログラム製品。
【請求項14】
前記ユーザインタフェースは、グラフィカルユーザインタフェース及びコマンドラインインタフェースからなる群から選択される、請求項13に記載のコンピュータプログラム製品。
【請求項15】
前記1つ又は複数のコンピュータ可読記憶媒体上に集合的に記憶された、前記ユーザ名及び前記TOTPコードを1段階のプロセスで受信するためのプログラム命令
を更に備える、請求項11から14のうちいずれか一項に記載のコンピュータプログラム製品。
【請求項16】
クラウドコンピューティング環境、マーケットプレイス、ソフトウェア開発環境、ソーシャルメディアプラットフォームコンポーネント、及びインターネットショップにおけるアプリケーションからなる群から前記レルムが選択される、請求項11から15のうちいずれか一項に記載のコンピュータプログラム製品。
【請求項17】
前記認証アプリケーションは、クライアントサイドのTOTPコード生成器である、請求項11から16のうちいずれか一項に記載のコンピュータプログラム製品。
【請求項18】
前記マッピングは、TOTPコードをも含む、請求項11から17のうちいずれか一項に記載のコンピュータプログラム製品。
【請求項19】
前記マッピングは、テーブル、連結リスト、及びデータベースからなる群からの選択を用いて実行される、請求項11から18のうちいずれか一項に記載のコンピュータプログラム製品。
【請求項20】
前記1つ又は複数のコンピュータ可読記憶媒体上に集合的に記憶された、前記TOTPコードが依然として有効であることを判定するためのプログラム命令;及び
前記1つ又は複数のコンピュータ可読記憶媒体上に集合的に記憶された、前記TOTPコードがもはや有効でなくなった時点で、プロセスを終了させるためのプログラム命令
を更に備える、請求項11から19のうちいずれか一項に記載のコンピュータプログラム製品。
【請求項21】
ユーザ名の認証のためのコンピュータシステムであって:
1つ又は複数のコンピュータプロセッサ、1つ又は複数のコンピュータ可読記憶媒体、及び、前記1つ又は複数のコンピュータプロセッサのうちの少なくとも1つが:
ユーザ名及びレルムのマッピングを維持するためのプログラム命令;
認証アプリケーションに基づき、ユーザ名及び前記ユーザ名に対する時間ベースのワンタイムパスワードコード(TOTPコード)を受信するためのプログラム命令;
前記TOTPコードの受信時に:
前記受信されたユーザ名及び前記受信されたTOTPに基づき、前記マッピングからレルムを判定し、
前記ユーザ名に関連するクレデンシャルの前記レルムへの入力を要求する
ためのプログラム命令;及び
前記要求されたクレデンシャルの受信時に、前記受信されたクレデンシャルが前記レルムについて予測されたクレデンシャルと合致すると判定することにより、前記ユーザ名を認証するためのプログラム命令
を有するプログラム命令を実行するために、前記1つ又は複数のコンピュータ可読記憶媒体上に集合的に記憶されたプログラム命令
を備える、コンピュータシステム。
【請求項22】
前記1つ又は複数のコンピュータ可読記憶媒体上に集合的に記憶された、前記ユーザ名及び前記TOTPコードを2段階で受信するためのプログラム命令
を更に備える、請求項21に記載のコンピュータシステム。
【請求項23】
前記1つ又は複数のコンピュータ可読記憶媒体上に集合的に記憶された、前記ユーザ名及び前記TOTPコードを受信するために適応されたユーザインタフェースを提供するためのプログラム命令
を更に備える、請求項21又は22に記載のコンピュータシステム。
【請求項24】
前記ユーザインタフェースは、グラフィカルユーザインタフェース及びコマンドラインインタフェースからなる群から選択される、請求項23に記載のコンピュータシステム。
【請求項25】
前記1つ又は複数のコンピュータ可読記憶媒体上に集合的に記憶された、前記ユーザ名及び前記TOTPコードを1段階のプロセスで受信するためのプログラム命令
を更に備える、請求項21から24のうちいずれか一項に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概してユーザ名の認証の分野に関し、より具体的には、レルムの自動選択を伴うクラウドコンピューティング環境におけるユーザ名の認証に関する。
【背景技術】
【0002】
インハウス/オンサイトでアプリケーションを維持する代わりに、クラウドプロバイダによって運用されるクラウドコンピューティングリソースを使用する傾向は途絶えていない。「クラウド」というトピックは、依然としてCIOの上位3つの優先事項の1つである。しかしながら、ハイブリッドクラウド及びより複雑なクラウドコンピューティングのオファリングの利用傾向の継続は、IT組織及びユーザにとって負担にもなりつつある。クラウドコンピューティングセンタが拡大を続け、コンピューティング及びストレージキャパシティが増加するにつれ、そのようなリソースへのアクセスもまた、より複雑化し得る。これは、クラウドコンピューティングリソースへのより安全なアクセスに伴う複雑性と結びつけられる必要がある。二要素認証は、非常に多くの場合に政府規制に準拠する多くの垂直産業における必要条件となっている。
【0003】
現在、大規模なクラウドは、多くの場合、顧客所有のユーザレポジトリを用いたフェデレーテッドログインをサポートしている。それにより、そのようなレポジトリのそれぞれは、「レルム」IDとして示される識別子により表され得る。しかしながら、レルム識別子は、長く複雑な暗号化されたID(識別子)であり得る。ユーザにとって、暗号を用いたIDを覚えることは容易ではない、又は、完全に不可能である。ユーザ名は全てのユーザレポジトリにおいて一意ではないため、通常、ターゲットスコープIDは、検索中に手動で選択される必要がある。加えて、手動のレルム選択は多数のレルムを伴うことがあり、これは、正しいものを選択することを不可能にし得る。ユーザの観点からすれば、本問題は、基本的に全ての本格的なクラウドコンピューティングプロバイダにおいて存在する。
【0004】
しかしながら、レルム選択フィールドの代替手段、すなわちスタティックレルムリストもまた、先ほど説明されたのと基本的に同じ制限及び制約を共有している。
【0005】
セキュリティの観点から、二要素認証とも示される第二要素認証は、パスワード攻撃を防止するための最新技術である。そのような第二要素は、時間ベースのワンタイムパスワード、又は、時間ベースのワンタイムパスワードコード(TOTPコード)を用いて実装されてよい。それにより、使用される認証サーバ上でレルムごとの各ユーザのためにTOTPメカニズムが設定され、クライアントアプリケーションにエクスポートされる。クライアントアプリケーションによって生成されたTOTPコードは、一定の時間においてのみ有効であり、認証サーバ上で検証されるためにユーザ名/パスワードの組み合わせの入力後に提供されなければならない。本プロセスは、全ての有名なクラウドプロバイダにおいて基本的に同じである。しかしながら、全ての選択されたレルム識別子を打ち込むという要件のために、それは依然として厄介なプロセスである。
【0006】
本明細書において提案された解決策の技術的文脈を説明する既知の複数の文書が存在する。米国特許第9,419,968号B1は、ネイティブクライアントベースのログオンのためのモバイルプッシュユーザ認証について説明している。それにより、認証サーバは、ネイティブクライアントのユーザインタフェースから、ネイティブクライアントベースでリモートサーバにログオンするためのパスワードを受信する。方法は、パスワードの一部がワンタイムパスワード(OTP)を含むかどうかを判定する。パスワードがOTPを含む場合、方法は、パスワードの残りの部分を第一認証要素として検証し、OTPを第二認証要素として検証する。
【0007】
加えて、米国特許出願公開第2020/0153814号A1は、フェデレーティング認証サーバを介した識別子プロバイダによる認証のための方法を説明しており、ここでフェデレーティング認証サーバは、少なくとも1つのアイデンティティプロバイダに対して少なくとも1つのインタフェースを有する。各識別子プロバイダは、それぞれの検証方法を用いてユーザアイデンティティを検証するように構成されている。それにより、方法は、ウェブページを介してログインデータを受信する段階を備え、ログインデータは、少なくともアイデンティティプロバイダ及びユーザを示す。
【0008】
しかしながら、クラウドコンピューティング環境において、特に、複雑な、又は暗号を用いた識別子により表される、レルムの識別情報を入力する必要性という既知の欠点が残っている。従って、現在の解決策におけるこの制限を克服し、大規模なクラウドコンピューティングシステムにおいて、クラウドコンピューティングレルムへの容易なアクセスを提供する必要がある。
【発明の概要】
【0009】
本発明の一態様によれば、ユーザ名の認証のためのコンピュータ実装方法が提供され得る。方法は、ユーザ名及びレルムのマッピングを維持する段階、及び、認証アプリケーションに基づき、ユーザ名及びユーザ名に対する時間ベースのワンタイムパスワードコード(TOTPコード)を受信する段階を備え得る。方法は、TOTPコードの受信時に、受信されたユーザ名及び受信されたTOTPに基づき、マッピングからレルムを判定する段階、及び、ユーザ名に関連するクレデンシャルのレルムへの入力を要求する段階、を更に備え得る。更に、方法は、要求されたクレデンシャルの受信時に、受信されたクレデンシャルがレルムについて予測されたクレデンシャルと合致したと判定することにより、ユーザ名を認証する段階を備え得る。
【0010】
本発明の別の態様によれば、ユーザ名の認証のための認証システムが提供され得る。認証システムは、プロセッサに通信可能に結合されたメモリを備えてよく、当該メモリは、ユーザ名及びレルムのマッピングを維持する手順、及び、認証アプリケーションに基づき、ユーザ名及びユーザ名に対する時間ベースのワンタイムパスワードコード(TOTPコード)を受信する手順をプロセッサが実行することを可能にするように適応されたプログラムコード部分を記憶している。
【0011】
加えて、認証システムは、TOTPコードの受信時に、受信されたユーザ名及び受信されたTOTPに基づき、マッピングからレルムを判定する手順、及び、ユーザ名に関連するクレデンシャルのレルムへの入力を要求する手順、を備え得る。
【0012】
更に、方法は、要求されたクレデンシャルの受信時に、受信されたクレデンシャルがレルムについて予測されたクレデンシャルと合致したと判定することにより、ユーザ名を認証する段階を備え得る。
【0013】
ユーザ名の認証のために提案された方法は、複数の利点、技術的効果、貢献及び/又は改善を提供し得る。
【0014】
大規模且つ複雑なクラウドコンピューティング環境において、ユーザアクセプタンス、すなわちユーザフレンドリネスが向上し得る。既知の技術とは対照的に、ログインはもはや制約を受けておらず、暗号を用いた(レルム)IDを含み得る長いリストからレルムを手動で選択することをもはや要しない。これは、選択されたクラウドコンピューティングログインプロセスを用いたユーザエクスペリエンスを大幅に向上させ得る。
【0015】
また、向上したセキュリティ、すなわち、パスワード攻撃が一切不可能であることも観察され得る。成功したTOTPプロセスの前にユーザインタフェースにおいてパスワードフィールドが利用可能になることはないため、それは、ユーザ及び顧客に対し、クラウドコンピューティング環境における彼らのレポジトリにおいて第二要素認証方法を有効化するよう動機付ける上でも役立つ可能性があり、その結果、これもまた、クラウドコンピューティング環境において記憶され運用されるデータ及びアプリケーションのセキュリティを向上させ得る。
【0016】
そのため、レルムへのログインの従来のシーケンス、すなわち、レルムの選択、ユーザ名の提供、パスワードの検証、及びTOTPコードの検証は、当該シーケンスが今後、ユーザ名の提供、TOTPコードの検証、及び既知のTOTPコードによるレルムの自動選択になり得るという点において、大幅に、且つ有利に変更される。最後に、レルムに対するパスワードが検証される。このように、正の効果をもってシーケンスが変更されるため、ユーザは、レルムIDをもはや気に掛ける必要がない。
【0017】
以下において、本発明のコンセプトの追加的な実施形態が説明される。
【0018】
有用な実施形態によれば、方法は、ユーザ名及びTOTPコードを2段階で受信する段階をも備え得る。従って、ユーザは、例えば「エンター」を押すことにより、第1段階においてユーザ名を、そして、例えばそれぞれのパスコードを確認するために再度「エンター」を押すことにより、又はユーザインタフェースの確認フィールド上をクリックすることにより、第2段階においてTOTPコードを、確認し得る。
【0019】
別の興味深い実施形態によれば、方法は、ユーザ名及び/又はTOTPコードを受信するために適応されたユーザインタフェースを提供する段階をも備え得る。従って、ユーザは、ただ一度のトランザクションにおいてユーザ名及びTOTPコードを入力し得る。これは、本明細書において提案された解決策のユーザエクスペリエンスのアクセプタンス値を向上させ得る。従って、及び別の実施形態によれば、方法は、ユーザ名及びTOTPコードを1段階のプロセスで受信する段階をも備え、それにより、ユーザビリティを更に一層向上させる。
【0020】
方法の任意の実施形態によれば、ユーザインタフェースは、グラフィカルユーザインタフェース又はコマンドラインインタフェースであり得る。基本的に、任意のタイプのユーザインタフェースが使用され得る。これは、ユーザインタフェースの部分がAPI(アプリケーションプログラミングインタフェース)として実装され得る場合、認証もまた別のプログラムを用いて実装され得るという利点をも有し得る。
【0021】
方法の有利な実施形態によれば、レルムは、クラウドコンピューティング環境、マーケットプレイス、ソフトウェア開発環境、ソーシャルメディアプラットフォームコンポーネント、及びインターネットショップにおけるアプリケーションからなる群から選択され得る。基本的に、様々なレルムが存在し得るクラウドコンピューティング環境においてユーザの認証を要する任意のアプリケーション又はアプリケーション群が実装可能であり、提案されたコンセプトは有利に用いられ得る。
【0022】
方法の更なる好ましい実施形態によれば、マッピングを維持する段階は、認証サーバによって実行され得る。これは、マルチレルムコンピューティング環境において、安全且つ容易なログインのために求められる様々な変数の確実なマッピングのために、信頼性の高いシステム、すなわち、認証サーバが用いられ得るという利点を有し得る。
【0023】
方法の強化された一実施形態によれば、認証アプリケーションは、クライアントサイドのTOTPコード生成器であり得る。
【0024】
方法の強化された一実施形態によれば、マッピングは、TOTPコードをも含み得る。従って、最も完全なマッピング関係のために、3つの要素全て、すなわち、ユーザ名、レルム識別子、及びTOTPコードが存在し得る。これら3つの利用可能な要素をもって、特定のレルムに対するユーザ名の容易な認証が成功裏に達成され得る。
【0025】
方法の追加的な一実施形態によれば、マッピングは、テーブル、連結リスト、又はデータベースを用いて実行され得る。加えて、当業者において既知の他のマッピングメカニズムもまた使用され得る。しかしながら、ユーザ名、レルム、すなわちレルム識別子、及びTOTPコードを含むトリプレットに直接アクセス可能であり得ることが求められる場合がある。
【0026】
任意選択的な実施形態によれば、方法は、TOTPコードが依然として有効であることを判定する段階、及び、TOTPコードがもはや有効でなくなった時点で、方法の基礎をなすプロセスを終了させる段階をも備え得る。この場合、レルムの認証及び事前選択は一切不可能である。
【0027】
更に、実施形態は、コンピュータ又は任意の命令実行システムによって、又はこれらとの関連において使用するためのプログラムコードを提供する、コンピュータ可用又はコンピュータ可読媒体からアクセス可能な、関連するコンピュータプログラム製品の形態を取り得る。本説明の目的において、コンピュータ可用又はコンピュータ可読媒体は、命令実行システム、装置又はデバイスによって、又はこれらとの関連において使用するためのプログラムを記憶、通信、伝播又は移送するための手段を含み得る、任意の装置であってよい。
【図面の簡単な説明】
【0028】
図1】本発明の一実施形態に係る、クラウドコンピューティングノードを示す。
【0029】
図2】本発明の一実施形態に係る、クラウドコンピューティング環境を示す。
【0030】
図3】本発明の一実施形態に係る、抽象化モデル層を示す。
【0031】
図4】本発明の一実施形態に係る、ユーザ名の認証のためのアプローチの動作段階を示すフローチャートである。
【0032】
図5】本発明の一実施形態に係る、複数のコンポーネントを利用したユーザ名の認証のためのアプローチのデータフロー図である。
【0033】
図6】本発明の一実施形態に係る、認証システムを含むコンピューティング環境を例示する機能ブロック図である。
【発明を実施するための形態】
【0034】
本開示はクラウドコンピューティングに関する詳細な説明を含むが、本明細書に記載される教示内容の実装は、クラウドコンピューティング環境に限定されないことを理解されたい。むしろ、本発明の実施形態は、現在既知又は将来開発される任意の他のタイプのコンピューティング環境と併せて実装されることが可能である。
【0035】
クラウドコンピューティングは、構成可能なコンピューティングリソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス)の共有プールへの利便性の高いオンデマンドのネットワークアクセスを可能にするサービス提供のモデルであり、最小限の管理努力又はサービスのプロバイダとのやり取りによって迅速にプロビジョニング及びリリースされ得る。本クラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル、及び少なくとも4つの展開モデルを含んでよい。
【0036】
特性は以下の通りである。
【0037】
オンデマンドセルフサービス:クラウドコンシューマは、サービスプロバイダとの人的対話を要することなく、必要に応じて自動的に、サーバ時間及びネットワークストレージなどのコンピューティング能力を一方的にプロビジョニングすることができる。
【0038】
幅広いネットワークアクセス:能力は、ネットワークを介して利用可能であり、また、異種混交のシンクライアントプラットフォーム又はシッククライアントプラットフォーム(例えば、携帯電話、ラップトップ、及びPDA(登録商標))による使用を促進する標準的なメカニズムを通じてアクセスされる。
【0039】
リソースプーリング:プロバイダのコンピューティングリソースは、マルチテナントモデルを用いて複数のコンシューマにサービスを提供するようにプールされており、様々な物理リソース及び仮想リソースが需要に沿って動的に割り当てられ、また再割り当てされる。コンシューマは概して、提供されたリソースの正確なロケーションに対して制御又は知識を有していないが、より高いレベルの抽象化(例えば、国、州、又はデータセンタ)においてロケーションを指定することが可能であり得るという点で、ロケーションの独立性がある。
【0040】
迅速な拡張性:能力は迅速に且つ伸縮自在に、場合によっては自動的にプロビジョニングされ、即座にスケールアウトすることも、迅速にリリースして即座にスケールインすることもできる。コンシューマにとって、多くの場合、プロビジョニングのために利用可能な能力は無制限に見え、任意の時点において任意の量で購入され得る。
【0041】
計測可能なサービス:クラウドシステムは、ある程度の抽象化レベルでサービスのタイプ(例えば、ストレージ、処理、帯域幅、及びアクティブなユーザアカウント)に適した計測能力を活用することにより、リソース利用を自動的に制御し最適化する。リソース使用量はモニタリング、制御及び報告され得、それにより、利用されるサービスのプロバイダ及びコンシューマの両方に透明性が提供される。
【0042】
サービスモデルは以下の通りである。
【0043】
サービスとしてのソフトウェア(SaaS):コンシューマに提供される能力は、クラウドインフラストラクチャ上で動作しているプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブブラウザ(例えば、ウェブベースの電子メール)などのシンクライアントインタフェースを通じて様々なクライアントデバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定を考え得る例外として、ネットワーク、サーバ、オペレーティングシステム、ストレージ又は更には個々のアプリケーション能力を含む、基礎をなすクラウドインフラストラクチャを管理又は制御しない。
【0044】
サービスとしてのプラットフォーム(PaaS):コンシューマに提供される能力は、プロバイダによってサポートされるプログラミング言語及びツールを用いて作成された、コンシューマが作成又は取得したアプリケーションをクラウドインフラストラクチャ上に展開することである。コンシューマは、ネットワーク、サーバ、オペレーティングシステム、又はストレージを含む、基礎をなすクラウドインフラストラクチャを管理又は制御しないが、展開されたアプリケーション、及び場合によってはアプリケーションホスティング環境構成に対して制御を有する。
【0045】
サービスとしてのインフラストラクチャ(IaaS):コンシューマに提供される能力は、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティングリソースをプロビジョニングすることであり、コンシューマは、オペレーティングシステム及びアプリケーションを含み得る任意のソフトウェアを展開し、動作させることができる。コンシューマは、基礎をなすクラウドインフラストラクチャを管理又は制御しないが、オペレーティングシステム、ストレージ、展開されたアプリケーションに対する制御及び、場合によっては、選択されたネットワーキングコンポーネント(例えば、ホストファイアウォール)に対する限定的な制御を有する。
【0046】
展開モデルは以下の通りである。
【0047】
プライベートクラウド:クラウドインフラストラクチャは、一組織のためだけに運用される。それは、当該組織又はサードパーティによって管理されてよく、オンプレミス又はオフプレミスで存在してよい。
【0048】
コミュニティクラウド:クラウドインフラストラクチャは、複数の組織により共有されており、共通の関心事(例えば、ミッション、セキュリティ要件、ポリシ、及び法令順守に関わる考慮事項)を有する特定のコミュニティをサポートする。それは、当該組織又はサードパーティによって管理されてよく、オンプレミス又はオフプレミスで存在してよい。
【0049】
パブリッククラウド:クラウドインフラストラクチャは、一般大衆又は大規模な業界団体により利用可能になり、クラウドサービスを販売する組織により所有されている。
【0050】
ハイブリッドクラウド:クラウドインフラストラクチャは、2つ又はそれより多くのクラウド(プライベート、コミュニティ、又はパブリック)を組み合わせたものであり、固有のエンティティのままであるが、データ及びアプリケーションポータビリティ(例えば、クラウド間における負荷分散のためのクラウドバースト)を可能にする標準化技術又は専有技術によって結びつけられている。
【0051】
クラウドコンピューティング環境は、ステートレス性、低結合、モジュール性、及び意味的相互運用性に重点を置いたサービス指向型である。クラウドコンピューティングの中核には、相互接続されたノードからなるネットワークを含むインフラストラクチャが存在する。
【0052】
ここで図1を参照すると、クラウドコンピューティングノードの一例の概略図が示されている。クラウドコンピューティングノード10は、好適なクラウドコンピューティングノードの単なる一例であり、本明細書に記載の本発明の実施形態の使用又は機能の範囲に関するいかなる限定を示唆することも意図されていない。いずれにしても、クラウドコンピューティングノード10は、上記に記載の機能のいずれも実装及び/又は実行することができる。
【0053】
クラウドコンピューティングノード10には、コンピュータシステム/サーバ12があり、これは、多くの他の汎用又は専用のコンピューティングシステム環境又は構成で動作する。コンピュータシステム/サーバ12とともに使用するのに好適であり得る、周知のコンピューティングシステム、環境及び/又は構成の例には、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、シッククライアント、ハンドヘルドデバイス又はラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラマブル家電、ネットワークPC、ミニコンピュータシステム、メインフレームコンピュータシステム、及び上記のシステムまたデバイスのいずれかを含む分散型クラウドコンピューティング環境などが含まれるが、これらに限定されない。
【0054】
コンピュータシステム/サーバ12は、プログラムモジュールなどの、コンピュータシステムによって実行されるコンピュータシステム実行可能命令の一般的な文脈で説明され得る。一般に、プログラムモジュールは、特定のタスクを実行する、又は、特定の抽象データタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、及び、データ構造などを含み得る。コンピュータシステム/サーバ12は、分散型クラウドコンピューティング環境において実施されてよく、タスクは、通信ネットワークを通じてリンクされているリモート処理デバイスによって実行される。分散型クラウドコンピューティング環境において、メモリ記憶デバイスを含むローカルコンピュータシステム記憶媒体及びリモートコンピュータシステム記憶媒体の両方にプログラムモジュールが配置されてよい。
【0055】
図1に示されている通り、クラウドコンピューティングノード10におけるコンピュータシステム/サーバ12は、汎用コンピューティングデバイスの形態で示されている。コンピュータシステム/サーバ12のコンポーネントは、1つ又は複数のプロセッサ又は処理ユニット16、システムメモリ28、及びシステムメモリ28を含む様々なシステムコンポーネントをプロセッサ16に結合するバス18を含み得るが、これらに限定されない。
【0056】
バス18は、複数のタイプのバス構造のうちのいずれかの1つ又は複数を表し、メモリバス又はメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポート、及び様々なバスアーキテクチャのいずれかを使用するプロセッサ又はローカルバスを含む。限定ではなく例として、そのようなアーキテクチャは、インダストリスタンダードアーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、エンハンスドISA(EISA)バス、ビデオエレクトロニクススタンダーズアソシエーション(VESA)ローカルバス、及びペリフェラルコンポーネントインターコネクト(PCI)バスを含む。
【0057】
コンピュータシステム/サーバ12は、通常、様々なコンピュータシステム可読媒体を含む。そのような媒体は、コンピュータシステム/サーバ12によってアクセス可能な任意の利用可能な媒体であってよく、それは、揮発性及び不揮発性媒体、リムーバブル及びノンリムーバブル媒体の両方を含む。
【0058】
システムメモリ28は、ランダムアクセスメモリ(RAM)30及び/又はキャッシュメモリ32など、揮発性メモリの形態のコンピュータシステム可読媒体を含み得る。コンピュータシステム/サーバ12は、他のリムーバブル/ノンリムーバブル、揮発性/不揮発性コンピュータシステム記憶媒体を更に含んでよい。単なる例として、ストレージシステム34は、(図示せず、通常「ハードドライブ」と称される)ノンリムーバブル不揮発性磁気媒体に読み出し及び書き込みをするために提供され得る。図示されていないが、リムーバブル不揮発性磁気ディスク(例えば、「フロッピディスク」)からの読み出し及びこれへの書き込みを行うための磁気ディスクドライブ、及び、CD-ROM、DVD-ROM又は他の光媒体などのリムーバブル不揮発性光ディスクからの読み出し及びこれへの書き込みを行うための光ディスクドライブを提供することができる。そのような場合において、各々が1つ又は複数のデータ媒体インタフェースによりバス18に接続され得る。以下で更に図示及び説明されるように、メモリ28は、本発明の実施形態の機能を実行するように構成されているプログラムモジュールのセット(例えば、少なくとも1つ)を有する、少なくとも1つのプログラム製品を備えてよい。
【0059】
プログラムモジュール42のセット(少なくとも1つ)を有するプログラム/ユーティリティ40は、限定ではなく例として、メモリ28に記憶されてよく、また、オペレーティングシステム、1つ又は複数のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータも同様である。オペレーティングシステム、1つ又は複数のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータのそれぞれ、又はそれらの幾つかの組み合わせは、ネットワーキング環境の実装を含んでよい。プログラムモジュール42は概して、本明細書に記載の本発明の実施形態の機能及び/又は方法論を実行する。
【0060】
コンピュータシステム/サーバ12はまた、キーボード、ポインティングデバイス、ディスプレイ24等などの1つ又は複数の外部デバイス14;ユーザがコンピュータシステム/サーバ12と相互に作用することを可能にする1つ又は複数のデバイス;及び/又はコンピュータシステム/サーバ12が1つ又は複数の他のコンピューティングデバイスと通信することを可能にする任意のデバイス(例えば、ネットワークカード、モデムなど)と通信してよい。そのような通信は、入出力(I/O)インタフェース22を介して生じ得る。また更に、コンピュータシステム/サーバ12は、ネットワークアダプタ20を介して、ローカルエリアネットワーク(LAN)、一般的なワイドエリアネットワーク(WAN)、及び/又はパブリックネットワーク(例えば、インターネット)などの1つ又は複数のネットワークと通信することができる。図示されている通り、ネットワークアダプタ20は、バス18を介して、コンピュータシステム/サーバ12の他のコンポーネントと通信する。図示されていないが、他のハードウェア及び/又はソフトウェアコンポーネントはコンピュータシステム/サーバ12と併せて使用され得ることを理解されたい。例は、マイクロコード、デバイスドライバ、冗長処理ユニット、外部ディスクドライブアレイ、RAIDシステム、テープドライブ、及びデータアーカイブストレージシステム等を含むが、これらに限定されない。
【0061】
ここで図2を参照すると、例示的なクラウドコンピューティング環境50が示されている。図示されている通り、クラウドコンピューティング環境50は、例えば、パーソナルデジタルアシスタント(PDA)又はセルラー電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C、及び/又は自動車コンピュータシステム54Nなど、クラウドコンシューマによって使用されるローカルコンピューティングデバイスが通信し得る1つ又は複数のクラウドコンピューティングノード10を含む。ノード10は、互いに通信し得る。それらは、本明細書の上記で説明されたようなプライベートクラウド、コミュニティクラウド、パブリッククラウド、又はハイブリッドクラウド、又はこれらの組み合わせなど、1つ又は複数のネットワーク内で物理的に又は仮想的にグループ化されてよい(図示せず)。これは、クラウドコンピューティング環境50が、クラウドコンシューマがローカルコンピューティングデバイス上でリソースを維持する必要のないインフラストラクチャ、プラットフォーム、及び/又はソフトウェアをサービスとして提供することを可能にする。図2に示されるコンピューティングデバイス54A-Nのタイプは、単なる例示を意図したものであり、コンピューティングノード10及びクラウドコンピューティング環境50は、任意のタイプのネットワーク及び/又はネットワークアドレス可能接続を介して(例えば、ウェブブラウザを使用して)、任意のタイプのコンピュータ化デバイスと通信し得るが理解される。
【0062】
ここで図3を参照すると、クラウドコンピューティング環境50(図2)により提供される機能抽象化層のセットが示されている。図3に示されるコンポーネント、層、及び機能は、単なる例示を意図したものであり、本発明の実施形態はこれらに限定されないことを予め理解されたい。図示されている通り、以下の層及び対応する機能が提供されている。
【0063】
ハードウェア及びソフトウェア層60は、ハードウェア及びソフトウェアコンポーネントを含む。ハードウェアコンポーネントの例は、メインフレーム61;RISC(縮小命令セットコンピュータ)アーキテクチャベースのサーバ62;サーバ63;ブレードサーバ64;ストレージデバイス65;及び、ネットワーク及びネットワーキングコンポーネント66を含む。幾つかの実施形態において、ソフトウェアコンポーネントは、ネットワークアプリケーションサーバソフトウェア67及びデータベースソフトウェア68を含む。
【0064】
仮想化層70は、仮想エンティティの以下の例、すなわち、仮想サーバ71;仮想ストレージ72;仮想プライベートネットワークを含む仮想ネットワーク73;仮想アプリケーション及びオペレーティングシステム74;及び仮想クライアント75が提供され得る抽象化層を提供する。
【0065】
1つの例において、管理層80は、以下で説明される機能を提供してよい。リソースプロビジョニング81は、クラウドコンピューティング環境内でタスクを実行するのに利用される、コンピューティングリソース及び他のリソースの動的な調達を提供する。計量及び価格設定82は、クラウドコンピューティング環境内でリソースが利用される際のコスト追跡、及びこれらのリソースの消費に対する請求又はインボイス作成を提供する。1つの例において、これらのリソースは、アプリケーションソフトウェアライセンスを含んでよい。セキュリティは、クラウドコンシューマ及びタスクに対するアイデンティティ検証、並びに、データ及び他のリソースに対する保護を提供する。ユーザポータル83は、コンシューマ及びシステム管理者のために、クラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84は、必要とされるサービスレベルが満たされるように、クラウドコンピューティングリソース割り当て及び管理を提供する。サービスレベルアグリーメント(SLA)計画及び履行85は、SLAに従って将来の要件が予測されるクラウドコンピューティングリソースの事前準備及び調達を提供する。
【0066】
ワークロード層90は、クラウドコンピューティング環境が利用され得る機能の例を提供する。この層から提供され得るワークロード及び機能の例は、マッピング及びナビゲーション91;ソフトウェア開発及びライフサイクル管理92;仮想クラスルーム教育配信93;データ分析処理94;トランザクション処理95;及び認証96を含む。
【0067】
本説明の文脈において、以下の慣用句、用語、及び/又は表現が使用され得る。
【0068】
「認証」という用語は、ユーザ識別子(UID)を検証し、それに基づき、特定のコンピューティングリソース、例えばアプリケーション、ストレージスペース、ネットワークコンポーネント等へのアクセスを許可するプロセスを示し得る。
【0069】
「ユーザ名」という用語は、複雑なクラウドコンピューティング環境のレルムに含まれるログイン識別子として使用され得るユーザアカウントの識別子を示し得る。
【0070】
「レルム」という用語は、より大規模なクラウドコンピューティング環境における動的に構成可能なコンピューティングリソースのサブグループを示し得る。レルムは、そのため、より大規模なクラウドコンピューティング環境の限られた部分に対する特定のビューであり得る。
【0071】
「時間ベースのワンタイムパスワードコード」、略して「TOTPコード」という用語は、所定の期間においてのみ有効であるデジタルコードを示し得る。所定の期間が経過すると、TOTPコードはもはや使用できなくなり得る。特定のユーザID、すなわちユーザ名又はUIDのためのTOTPコードは、特定の認証アプリケーションによって利用可能になり得る。当業者であれば、これらの一般的なクライアントサイドの認証アプリケーションの代替手段をも知り得る。
【0072】
「認証アプリケーション」という用語は、クラウドコンピューティング環境から独立して利用可能であり、TOTPコードを生成するように適応されたクライアントサイドのコンピューティングシステム上にインストールされているアプリケーションを示し得る。
【0073】
「クレデンシャル」という用語は、ユーザ名と共に、コンピューティングリソースへのアクセスを可能にする秘密のデジタルコードを示し得る。ユーザ名及びクレデンシャル又はパスワードが利用可能になると、ユーザ名及びクレデンシャルの組み合わせは、以前に保存されたユーザ名/クレデンシャルの組み合わせと比較され得る。合致した場合、要求されたリソースへのアクセスが付与され得る。
【0074】
クラウドソフトウェアは、ステートレス性(例外を有する)、低結合、モジュール性、及び意味的相互運用性に重点を置いたサービス指向型であることにより、クラウドパラダイムを最大限に活用している点に留意されたい。
【0075】
以下において、図及び関連する実施形態の詳細な説明が提供される。図中の全ての命令は、模式的なものである。最初に、ユーザ名の認証のための発明の方法の一実施形態のブロック図が提供される。その後、更なる実施形態、並びに、ユーザ名の認証のための認証システムの実施形態が説明される。
【0076】
図4は、ユーザ名の認証のためのプロセス100の好ましい一実施形態のブロック図を示す。例えば、クラウドアプリケーション、クラウドコンピューティングリソース(例えば、ストレージ及びデータ)、又は、マーケットプレイス、ウェブアプリケーション等にアクセスするための、成功した認証が提供され得る。プロセスは、段階102において、ユーザ名及びレルムのマッピングを維持する段階、段階104において、クライアントサイドで実行され得る認証アプリケーションに基づき、好ましくはユーザインタフェースによって、或いはAPIを介してユーザ名を、及び、例えばユーザの嗜好に基づき、例えば特権に関連して潜在的に選択された、ユーザ名に対する時間ベースのワンタイムパスワードコード(TOTPコード)を受信する段階、を備える。それにより、レルム管理システムは、自動的に正しいレルムを選択する。
【0077】
プロセス100は、TOTPコードの受信時に、段階106において、受信されたユーザ名及び受信されたTOTPに基づき、マッピングからレルムを判定する段階、及び、段階108において、ユーザ名に関連するクレデンシャル、例えばパスワードのレルムへの入力を要求する段階、をも備える。
【0078】
プロセス100は、要求されたクレデンシャルの受信時に、段階110において、受信されたクレデンシャルがレルムについて予測されたクレデンシャルと合致したと判定することにより、ユーザ名を認証する段階を更に備える。受信されたクレデンシャルが、レルムについて予測されたクレデンシャルと合致しない場合、アクセスは拒否されるものとする。
【0079】
図5は、ユーザ202、ブラウザ204、認証アプリケーション206、認証サーバ208、及びアイデンティティ又は識別子「x」を含む特定のレルムを示すレルム_x210といった要素を有する、提案されたコンセプトの実際の一実施形態のデータフロー図200を示す。
【0080】
第1段階において、ユーザ202は、彼らのユーザ名をブラウザ204に提供212する、すなわち、彼らは彼らのユーザ名を入力する。これにより、クライアントサイドの認証アプリケーション206を介して、TOTPダイアログ214が開く。このために、ユーザID、すなわちユーザ名に対するリクエスト「UIDに対するTOTPコードを取得する」が要求216され、認証アプリケーション206に送信される。これにより、TOTPコード218がブラウザ204において利用可能になる。ここから、認証サーバ208によってTOTPコードが検証220され、認証サーバ208がUIDに対するレルムを取得222する。加えて、認証サーバ208によって、レルムIDが検証224される。その後選択されたレルム_x、特に、関連する識別子が、ブラウザ204に返される226。これに基づき、ブラウザ204及びユーザ202の間において可能なダイアログが開始228される。
【0081】
ユーザが彼らのユーザ名(すなわち、UID)に関連する彼らのパスワードを入力230した後に、レルム_x210において、パスワード及びUID(すなわち、ユーザ名)が検証232される。そのような検証に際し、検証リクエストが、ブラウザ204から認証サーバ208に送信され、これは次に、レルム_x210によって、パスワードを検証234させる。確認、例えば「OK」が、認証サーバ208に返される236。これに基づき、認証サーバ208は、レルム_x210に対し、ユーザのログインを確認238する。従って、本明細書に記載のログインプロセスもまた、二要素認証プロセスを用いるが、クラウドコンピューティング環境のレルムにおけるログインプロセスに際しては、より利便性の高い方法で用いる。
【0082】
図6は、ユーザ名の認証のための、本明細書において提案された認証サーバ300の一実施形態のブロック図を示す。実装は、メモリ302又はプロセッサ304(両者はその場合、互いに通信可能に結合される)及びメモリに記憶されたプログラムコードの一部の組み合わせにおいて行われることがあり、これにより、プロセッサは活動を実行し得る。或いは、機能は、モジュール及び/又はユニットの一部として実装されてもよい。以下の説明は、両方の選択肢を反映している。
【0083】
プログラムコード部分は、従って、例えば維持ユニット306によって、ユーザ名及びレルムのマッピングを維持する手順、及び、受信機308によって、認証アプリケーションに基づき、ユーザ名及びユーザ名に対する時間ベースのワンタイムパスワードコード(TOTPコード)を受信する手順、をプロセッサが実行することを可能にするように適応されている。
【0084】
プログラムコード部分は、TOTPコードの受信時に、例えば判定ユニット310によって、受信されたユーザ名及び受信されたTOTPに基づき、マッピングからレルムを判定する手順、及び、要求モジュール312によって、ユーザ名に関連するクレデンシャルのレルムへの入力を要求する手順、をプロセッサが実行することをも可能にし得る。
【0085】
更に、プログラムコード部分は、要求されたクレデンシャルの受信時に、受信されたクレデンシャルがレルムについて予測されたクレデンシャルと合致したと判定することにより、例えば認証モジュール314によって、ユーザ名を認証する手順をプロセッサが実行することをも可能にし得る。
【0086】
ハードウェア実装の場合、信号及びデータ交換のために、ユニット及びモジュールが通信可能に結合され得る。これは、特に、メモリ302、プロセッサ304、維持ユニット306、受信機308、判定ユニット310、要求モジュール312、及び認証モジュール314に適用され得る。それらは、1:1方式で相互接続され得、或いは、データ及び信号交換のために、それらは認証システム内部バスシステム316に接続され得る。
【0087】
本発明は、任意の可能な技術的詳細レベルの統合におけるシステム、方法及び/又はコンピュータプログラム製品であってよい。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(又は複数のコンピュータ可読記憶媒体)を含んでよい。
【0088】
コンピュータ可読記憶媒体は、命令実行デバイスにより使用される命令を保持及び記憶することのできる有形デバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、又は上述したものの任意の好適な組み合わせであってよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、以下、すなわち、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピディスク、パンチカード又は命令が記録された溝内の隆起構造などの機械的にエンコードされたデバイス、及び上述したものの任意の好適な組み合わせを含む。本明細書において使用される場合、コンピュータ可読記憶媒体は、電波又は他の自由に伝播する電磁波、導波路又は他の伝送媒体を通じて伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又はワイヤを通じて伝送される電気信号などの一時的な信号自体であるものとして解釈されるべきではない。
【0089】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から、それぞれのコンピューティング/処理デバイスに、或いは、ネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又は無線ネットワークを介して、外部コンピュータ又は外部ストレージデバイスに、ダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び/又はエッジサーバを備え得る。各コンピューティング/処理デバイス内のネットワークアダプタカード又はネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、当該コンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するために転送する。
【0090】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データであってよく、Smalltalk(登録商標)、又はC++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語などの手続き型プログラミング言語を含む1つ又は複数のプログラミング言語の任意の組み合わせで書き込まれたソースコード又はオブジェクトコードのいずれかであってよい。コンピュータ可読プログラム命令は、スタンドアロンのソフトウェアパッケージとして、ユーザのコンピュータ上で全体を実行すること、ユーザのコンピュータ上で一部分を実行することができ、ユーザのコンピュータ上で一部分を、リモートコンピュータ上で一部分を実行すること、又は、リモートコンピュータ又はサーバ上で全体を実行することができる。後者のシナリオでは、リモートコンピュータが、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてよく、又はその接続が、(例えば、インターネットサービスプロバイダを用いたインターネットを介して)外部コンピュータに対して行われてよい。幾つかの実施形態において、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、又はプログラマブルロジックアレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行して、電子回路をパーソナライズしてよい。
【0091】
本発明の態様は、本明細書において、本発明の実施形態に係る方法、装置(システム)、及びコンピュータプログラム製品のフローチャート図及び/又はブロック図を参照して説明されている。フローチャート図及び/又はブロック図の各のブロック、及び、フローチャート図及び/又はブロック図におけるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装され得ることが理解されよう。
【0092】
これらのコンピュータ可読プログラム命令をコンピュータ、又は他のプログラマブルデータ処理装置のプロセッサに提供してマシンを生み出してよく、それにより、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサを介して実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックで指定された機能/動作を実装するための手段を作成する。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラマブルデータ処理装置及び/又は他のデバイスに特定の様式で機能するように指示することができるコンピュータ可読記憶媒体にも記憶され得、それにより、その中に命令が記憶されたコンピュータ可読記憶媒体が、フローチャート及び/又はブロック図の1つ又は複数のブロックで指定された機能/動作の態様を実装する命令を含む製品を有する。
【0093】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイスにロードして、一連の動作段階をコンピュータ、他のプログラマブル装置又は他のデバイス上で実行させ、コンピュータ実装プロセスを生成してよく、それにより、コンピュータ、他のプログラマブル装置、又は他のデバイス上で実行される命令は、フローチャート及び/又はブロック図の1つ又は複数のブロックで指定された機能/動作を実装する。
【0094】
図におけるフローチャート及びブロック図は、本発明の様々な実施形態に係る、システム、方法、及びコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、及び動作を示す。これに関して、フローチャート又はブロック図における各ブロックは、指定された論理機能を実装するための1つ又は複数の実行可能命令を含む命令のモジュール、セグメント、又は一部を表し得る。幾つかの代替的な実装形態において、ブロックに記されている機能は、図に記されている順序とは異なる順序で行われ得る。例えば、連続して示されている2つのブロックが、実際には、1つの段階として実現されてよく、同時に、実質的に同時に、部分的に又は全体的に時間が重複する方式で実行されてよく、又は、ブロックは、場合によっては、関与する機能に応じて逆の順序で実行されてよい。ブロック図及び/又はフローチャート図の各ブロック、及び、ブロック図及び/又はフローチャート図におけるブロックの組み合わせは、指定された機能又は動作を実行する、又は専用ハードウェア及びコンピュータ命令の組み合わせを実行する、専用ハードウェアベースシステムにより実装され得ることにも留意されたい。
【0095】
本発明の様々な実施形態の記載は、図示の目的で提示されてきたが、網羅的であること、又は、開示される実施形態に限定されることは意図されていない。本発明の範囲及び趣旨から逸脱することなく、多くの修正形態及び変形形態が当業者にとって明らかになるであろう。本明細書で使用されている用語は、実施形態の原理、実際の適用、又はマーケットプレイスに見られる技術に対する技術的改良を最もよく説明するため、又は、他の当業者が本明細書で開示されている実施形態を理解できるようにするために選択されたものである。
【0096】
簡潔に説明すると、本発明のコンセプトは以下の通り要約され得る。
【0097】
ユーザ名の認証のための方法であって、ユーザ名及びレルムのマッピングを維持する段階;認証アプリケーションに基づき、ユーザ名及びユーザ名に対する時間ベースのワンタイムパスワードコード(TOTPコード)を受信する段階;TOTPコードの受信時に、受信されたユーザ名及び受信されたTOTPに基づき、マッピングからレルムを判定する段階;及び、ユーザ名に関連するクレデンシャルのレルムへの入力を要求する段階;及び、要求されたクレデンシャルの受信時に、受信されたクレデンシャルがレルムについて予測されたクレデンシャルと合致したと判定することにより、ユーザ名を認証する段階を備える、方法。
【0098】
ユーザ名及びTOTPコードを2段階で受信する段階をも備える、方法。
【0099】
ユーザ名及びTOTPコードを1段階のプロセスで受信する段階をも備える、方法。
【0100】
ユーザ名及び/又はTOTPコードを受信するために適応されたユーザインタフェースを提供する段階をも備える、前項のいずれかに記載の方法。
【0101】
ユーザインタフェースが、グラフィカルユーザインタフェース又はコマンドラインインタフェースであることをも含む、方法。
【0102】
クラウドコンピューティング環境、マーケットプレイス、ソフトウェア開発環境、ソーシャルメディアプラットフォームコンポーネント、インターネットショップにおけるアプリケーションを少なくとも含む群からレルムが選択される、前項のいずれかに記載の方法。
【0103】
マッピングを維持する段階は、認証サーバによって実行される、前項のいずれかに記載の方法。
【0104】
認証アプリケーションは、クライアントサイドのTOTPコード生成器である、前項のいずれかに記載の方法。
【0105】
マッピングは、TOTPコードをも含む、前項のいずれかに記載の方法。
【0106】
マッピングは、テーブル、連結リスト、又はデータベースを用いて実行される、前項のいずれかに記載の方法。
【0107】
TOTPコードが依然として有効であることを判定する段階;及び、TOTPコードがもはや有効でなくなった時点で、方法の基礎をなすプロセスを終了させる段階をも備える、前項のいずれかに記載の方法。
【0108】
ユーザ名の認証のための認証システムであって:プロセッサに通信可能に結合されたメモリ、当該メモリは、ユーザ名及びレルムのマッピングを維持する手順、認証アプリケーションに基づき、ユーザ名及びユーザ名に対する時間ベースのワンタイムパスワードコード(TOTPコード)を受信する手順、TOTPコードの受信時に、受信されたユーザ名及び受信されたTOTPに基づき、マッピングからレルムを判定する手順、及び、ユーザ名に関連するクレデンシャルのレルムへの入力を要求する手順、及び、要求されたクレデンシャルの受信時に、受信されたクレデンシャルがレルムについて予測されたクレデンシャルと合致したと判定することによりユーザ名を認証する手順、をプロセッサが実行することを可能にするように適応されたプログラムコード部分を記憶している、認証システム。
【0109】
プログラムコード部分は、プロセッサが、ユーザ名及びTOTPコードを2段階で受信することをも可能にするように適応されている、認証システム。
【0110】
プログラムコード部分は、プロセッサが、ユーザ名及びTOTPコードを1段階のプロセスで受信することをも可能にするように適応されている、認証システム。
【0111】
プログラムコード部分は、プロセッサが、ユーザ名及び/又はTOTPコードを受信するために適応されたユーザインタフェースを提供することをも可能にするように適応されている、認証システム。
【0112】
ユーザインタフェースが、グラフィカルユーザインタフェース又はコマンドラインインタフェースである、認証システム。
【0113】
クラウドコンピューティング環境、マーケットプレイス、ソフトウェア開発環境、ソーシャルメディアプラットフォームコンポーネント、インターネットショップにおけるアプリケーションを少なくとも含む群からレルムが選択される、認証システム。
【0114】
マッピングを維持する段階は、認証サーバによって実行される、認証システム。
【0115】
認証アプリケーションは、クライアントサイドのTOTPコード生成器である、認証システム。
【0116】
マッピングは、TOTPコードをも含む、認証システム。
【0117】
マッピングは、テーブル、連結リスト、又はデータベースを用いて実行される、認証システム。
【0118】
プログラムコード部分は、TOTPコードが依然として有効であることを判定する手順、及び、TOTPコードがもはや有効でなくなった時点で、方法の基礎をなすプロセスを終了させる手順をもプロセッサが実行することを可能にするように適応されている、認証システム。
【0119】
ユーザ名の認証のためのコンピュータプログラム製品であって、当該コンピュータプログラム製品は、それにより具現化されるプログラム命令を有するコンピュータ可読記憶媒体を備え、当該プログラム命令は、1つ又は複数のコンピューティングシステムに、ユーザ名及びレルムのマッピングを維持する手順、認証アプリケーションに基づき、ユーザ名及びユーザ名に対する時間ベースのワンタイムパスワードコード(TOTPコード)を受信する手順、TOTPコードの受信時に、受信されたユーザ名及び受信されたTOTPに基づき、マッピングからレルムを判定する手順、及び、ユーザ名に関連するクレデンシャルのレルムへの入力を要求する手順、及び、要求されたクレデンシャルの受信時に、受信されたクレデンシャルがレルムについて予測されたクレデンシャルと合致したと判定することにより、ユーザ名を認証する手順を実行させるために、当該1つ又は複数のコンピューティングシステム又はコントローラによって実行可能である、コンピュータプログラム製品。
図1
図2
図3
図4
図5
図6
【手続補正書】
【提出日】2023-06-29
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ユーザ名の認証のためのコンピュータ実装方法であって:
1つ又は複数のプロセッサが、ユーザ名及びレルムのマッピングを維持する段階;
1つ又は複数のプロセッサが、認証アプリケーションに基づき、ユーザ名及び前記ユーザ名に対する時間ベースのワンタイムパスワードコード(TOTPコード)を受信する段階;
前記TOTPコードの受信時に:
1つ又は複数のプロセッサが、前記受信されたユーザ名及び前記受信されたTOTPに基づき、前記マッピングからレルムを判定する段階;及び
1つ又は複数のプロセッサが、前記ユーザ名に関連するクレデンシャルの前記レルムへの入力を要求する段階;及び
前記要求されたクレデンシャルの受信時に、1つ又は複数のプロセッサが、前記受信されたクレデンシャルが前記レルムについて予測されたクレデンシャルと合致すると判定することにより、前記ユーザ名を認証する段階
を備える、方法。
【請求項2】
1つ又は複数のプロセッサが、前記ユーザ名及び前記TOTPコードを2段階で受信する段階
を更に備える、請求項1に記載の方法。
【請求項3】
1つ又は複数のプロセッサが、前記ユーザ名及び前記TOTPコードを受信するために適応されたユーザインタフェースを提供する段階
を更に備える、請求項1又は2に記載の方法。
【請求項4】
前記ユーザインタフェースは、グラフィカルユーザインタフェース及びコマンドラインインタフェースからなる群から選択される、請求項3に記載の方法。
【請求項5】
1つ又は複数のプロセッサが、前記ユーザ名及び前記TOTPコードを1段階のプロセスで受信する段階
を更に備える、請求項1から4のうちいずれか一項に記載の方法。
【請求項6】
クラウドコンピューティング環境、マーケットプレイス、ソフトウェア開発環境、ソーシャルメディアプラットフォームコンポーネント、及びインターネットショップにおけるアプリケーションからなる群から前記レルムが選択される、請求項1から5のうちいずれか一項に記載の方法。
【請求項7】
前記認証アプリケーションは、クライアントサイドのTOTPコード生成器である、請求項1から6のうちいずれか一項に記載の方法。
【請求項8】
前記マッピングは、TOTPコードをも含む、請求項1から7のうちいずれか一項に記載の方法。
【請求項9】
前記マッピングは、テーブル、連結リスト、及びデータベースからなる群からの選択を用いて実行される、請求項1から8のうちいずれか一項に記載の方法。
【請求項10】
1つ又は複数のプロセッサが、前記TOTPコードが依然として有効であることを判定する段階;及び
前記TOTPコードがもはや有効でなくなった時点で、1つ又は複数のプロセッサが、プロセスを終了させる段階
を更に備える、請求項1から9のうちいずれか一項に記載の方法。
【請求項11】
ユーザ名の認証のためのコンピュータプログラムであって、プロセッサに:
ユーザ名及びレルムのマッピングを維持する手順;
認証アプリケーションに基づき、ユーザ名及び前記ユーザ名に対する時間ベースのワンタイムパスワードコード(TOTPコード)を受信する手順;
前記TOTPコードの受信時に:
前記受信されたユーザ名及び前記受信されたTOTPに基づき、前記マッピングからレルムを判定する手順;及び
前記ユーザ名に関連するクレデンシャルの前記レルムへの入力を要求する手順;及び
前記要求されたクレデンシャルの受信時に、前記受信されたクレデンシャルが前記レルムについて予測されたクレデンシャルと合致すると判定することにより、前記ユーザ名を認証する手順
を実行させるためのコンピュータプログラム。
【請求項12】
前記プロセッサに、
記1つ又は複数のコンピュータ可読記憶媒体上に集合的に記憶された、前記ユーザ名及び前記TOTPコードを2段階で受信する手順をに実行させる、請求項11に記載のコンピュータプログラム。
【請求項13】
前記プロセッサに、
記1つ又は複数のコンピュータ可読記憶媒体上に集合的に記憶された、前記ユーザ名及び前記TOTPコードを受信するために適応されたユーザインタフェースを提供する手順をに実行させる、請求項11又は12に記載のコンピュータプログラム。
【請求項14】
前記ユーザインタフェースは、グラフィカルユーザインタフェース及びコマンドラインインタフェースからなる群から選択される、請求項13に記載のコンピュータプログラム。
【請求項15】
前記プロセッサに、
前記1つ又は複数のコンピュータ可読記憶媒体上に集合的に記憶された、前記ユーザ名及び前記TOTPコードを1段階のプロセスで受信する手順をに実行させる、請求項11から14のうちいずれか一項に記載のコンピュータプログラム。
【請求項16】
クラウドコンピューティング環境、マーケットプレイス、ソフトウェア開発環境、ソーシャルメディアプラットフォームコンポーネント、及びインターネットショップにおけるアプリケーションからなる群から前記レルムが選択される、請求項11から15のうちいずれか一項に記載のコンピュータプログラム。
【請求項17】
前記認証アプリケーションは、クライアントサイドのTOTPコード生成器である、請求項11から16のうちいずれか一項に記載のコンピュータプログラム。
【請求項18】
前記マッピングは、TOTPコードをも含む、請求項11から17のうちいずれか一項に記載のコンピュータプログラム。
【請求項19】
前記マッピングは、テーブル、連結リスト、及びデータベースからなる群からの選択を用いて実行される、請求項11から18のうちいずれか一項に記載のコンピュータプログラム。
【請求項20】
前記プロセッサに、
記1つ又は複数のコンピュータ可読記憶媒体上に集合的に記憶された、前記TOTPコードが依然として有効であることを判定する手順;及び
前記1つ又は複数のコンピュータ可読記憶媒体上に集合的に記憶された、前記TOTPコードがもはや有効でなくなった時点で、プロセスを終了させる手順
に実行させる、請求項11から19のうちいずれか一項に記載のコンピュータプログラム。
【請求項21】
ユーザ名の認証のためのコンピュータシステムであって:
1つ又は複数のコンピュータプロセッサ、1つ又は複数のコンピュータ可読記憶媒体、及び、前記1つ又は複数のコンピュータプロセッサのうちの少なくとも1つが:
ユーザ名及びレルムのマッピングを維持するためのプログラム命令;
認証アプリケーションに基づき、ユーザ名及び前記ユーザ名に対する時間ベースのワンタイムパスワードコード(TOTPコード)を受信するためのプログラム命令;
前記TOTPコードの受信時に:
前記受信されたユーザ名及び前記受信されたTOTPに基づき、前記マッピングからレルムを判定し、
前記ユーザ名に関連するクレデンシャルの前記レルムへの入力を要求する
ためのプログラム命令;及び
前記要求されたクレデンシャルの受信時に、前記受信されたクレデンシャルが前記レルムについて予測されたクレデンシャルと合致すると判定することにより、前記ユーザ名を認証するためのプログラム命令
を有するプログラム命令を実行するために、前記1つ又は複数のコンピュータ可読記憶媒体上に集合的に記憶されたプログラム命令
を備える、コンピュータシステム。
【請求項22】
前記1つ又は複数のコンピュータ可読記憶媒体上に集合的に記憶された、前記ユーザ名及び前記TOTPコードを2段階で受信するためのプログラム命令
を更に備える、請求項21に記載のコンピュータシステム。
【請求項23】
前記1つ又は複数のコンピュータ可読記憶媒体上に集合的に記憶された、前記ユーザ名及び前記TOTPコードを受信するために適応されたユーザインタフェースを提供するためのプログラム命令
を更に備える、請求項21又は22に記載のコンピュータシステム。
【請求項24】
前記ユーザインタフェースは、グラフィカルユーザインタフェース及びコマンドラインインタフェースからなる群から選択される、請求項23に記載のコンピュータシステム。
【請求項25】
前記1つ又は複数のコンピュータ可読記憶媒体上に集合的に記憶された、前記ユーザ名及び前記TOTPコードを1段階のプロセスで受信するためのプログラム命令
を更に備える、請求項21から24のうちいずれか一項に記載のコンピュータシステム。
【国際調査報告】