(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-21
(54)【発明の名称】パスワード・マネージャ・アクセサリ
(51)【国際特許分類】
G06F 21/45 20130101AFI20240313BHJP
G06F 21/31 20130101ALI20240313BHJP
G06F 3/04886 20220101ALI20240313BHJP
【FI】
G06F21/45
G06F21/31
G06F3/04886
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023555364
(86)(22)【出願日】2022-02-23
(85)【翻訳文提出日】2023-09-08
(86)【国際出願番号】 CN2022077445
(87)【国際公開番号】W WO2022193921
(87)【国際公開日】2022-09-22
(32)【優先日】2021-03-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)【復代理人】
【識別番号】110000420
【氏名又は名称】弁理士法人MIP
(72)【発明者】
【氏名】フィッシャー-スタウィンスキ、スティーブン リー
(72)【発明者】
【氏名】クワトラ、シカール
(72)【発明者】
【氏名】ムーカジ-ロイ、モイトレイー
(72)【発明者】
【氏名】シュナイダー、スコット イー
【テーマコード(参考)】
5E555
【Fターム(参考)】
5E555AA10
5E555AA13
5E555BA02
5E555BA14
5E555BB01
5E555BB06
5E555BC03
5E555BC16
5E555BD01
5E555CA12
5E555CB12
5E555CB33
5E555CC19
5E555DA02
5E555DB20
5E555DC09
5E555DD05
5E555DD07
5E555EA11
5E555EA14
5E555FA00
(57)【要約】
パスワード・マネージャとの通信、およびアプリケーション・ログイン・ダイアログ画面における迅速なテキスト入力を容易にする、論理的機能が埋め込まれたハードウェア・アクセサリのためのシステムおよび方法が提示される。ハードウェア・アクセサリは、パーソナル・コンピュータに物理的に取り付けられ、パーソナル・コンピュータから切り離され得る、USBアクセサリなどのポータブル電子装置として具体化される。ハードウェア・アクセサリはまた、パーソナル・コンピュータとワイヤレスで連結および分離され得るモバイル・フォンなどのポータブル・コンピューティング・デバイスとして具体化されてもよい。パスワードは、クラウド・ベース・ヴォルト内で維持され、パーソナル・コンピュータまたはモバイル・コンピューティング・デバイスを通じて取り出されてもよい。ハードウェア・アクセサリは、それぞれのアプリケーション・ログイン・ダイアログ画面への自動挿入のために、パスワードを、パーソナル・コンピュータに伝送されるキーストロークに変換する。
【特許請求の範囲】
【請求項1】
コンピューティング・デバイスに動作可能に連結された電子インターフェースであって、前記コンピューティング・デバイスが、処理デバイスと、前記処理デバイスに通信可能に連結されたローカル・パスワード・マネージャ・クライアントとを含む、前記電子インターフェースと、
前記電子インターフェースに通信可能に連結されたパスワード・マネージャ・モジュールであって、前記ローカル・パスワード・マネージャ・クライアントと通信するように構成された、前記パスワード・マネージャ・モジュールと、
前記パスワード・マネージャ・モジュールに通信可能に連結された仮想キーボード・モジュールであって、前記仮想キーボード・モジュールが、前記電子インターフェースを介して論理キーボードを前記処理デバイスに提示するように構成され、
前記パスワード・マネージャ・モジュールが、前記電子インターフェースを介して前記ローカル・パスワード・マネージャ・クライアントからパスワードを受け取るように構成され、
前記パスワード・マネージャ・モジュールが、前記パスワードを前記仮想キーボード・モジュールに伝送するようにさらに構成され、
前記仮想キーボード・モジュールが、前記電子インターフェースを介して1つまたは複数のキーストロークを前記処理デバイスに伝送するように構成される、
前記仮想キーボード・モジュールと
を備える、電子装置。
【請求項2】
前記電子インターフェースは、物理的に着脱可能なユニバーサル・シリアル・バス(USB)デバイスのためのポートを備える、請求項1に記載の電子装置。
【請求項3】
前記仮想キーボード・モジュールは、前記パスワードを前記1つまたは複数のキーストロークに変換するようにさらに構成される、請求項1に記載の電子装置。
【請求項4】
前記パスワード・マネージャ・モジュールは、前記ローカル・パスワード・マネージャ・クライアントを介してクラウド・ベースのコンピューティング環境から受け取られた前記パスワードをパスワード・ヴォルトから取り出すように構成される、請求項1に記載の電子装置。
【請求項5】
前記パスワード・マネージャ・モジュールは、前記パスワードを破棄するように構成される、請求項1に記載の電子装置。
【請求項6】
前記ローカル・パスワード・マネージャ・クライアントは、パーソナル・コンピュータのためのパスワード管理アプリケーションとして構成される、請求項1に記載の電子装置。
【請求項7】
前記パスワード・マネージャ・モジュールは、前記ローカル・パスワード・マネージャ・クライアント以外の少なくとも1つのアプリケーションからの通信を無視するように構成される、請求項1に記載の電子装置。
【請求項8】
物理的に着脱可能なインターフェースを介して、物理的に着脱可能なパスワード・マネージャ・ハードウェア・アクセサリをコンピューティング・デバイスと電子的にインターフェースすることであって、前記コンピューティング・デバイスが、処理デバイスを含む、前記インターフェースすることと、
前記パスワード・マネージャ・ハードウェア・アクセサリ内に埋め込まれたパスワード・マネージャ・モジュールにおいて、前記電子インターフェースを介して、ローカル・パスワード・マネージャ・クライアントからのパスワードを、前記処理デバイスを介して前記コンピューティング・デバイスから受け取ることと、
前記パスワード・マネージャ・モジュールからの前記パスワードを、前記パスワード・マネージャ・ハードウェア・アクセサリ内に埋め込まれた仮想キーボード・モジュールに伝送することと、
前記仮想キーボード・モジュールにおいて、前記パスワードを1つまたは複数のキーストロークに変換することと、
前記仮想キーボード・モジュールからの前記1つまたは複数のキーストロークを、前記電子インターフェースを介して前記処理デバイスに伝送することと
を含む、方法。
【請求項9】
前記物理的に着脱可能なインターフェースを前記連結することは、前記コンピューティング・デバイス上で定義されたユニバーサル・シリアル・バス(USB)ポートである、請求項8に記載の方法。
【請求項10】
前記パスワードは、クラウド・ベースのコンピューティング環境から受け取られたパスワード・ヴォルトから取り出される、請求項8に記載の方法。
【請求項11】
前記パスワード・マネージャ・モジュールによって前記パスワードを捨てること
をさらに含む、請求項8に記載の方法。
【請求項12】
前記ローカル・パスワード・マネージャ・クライアントは、パーソナル・コンピュータのためのパスワード管理アプリケーションである、請求項8に記載の方法。
【請求項13】
前記パスワード・マネージャ・モジュールは、前記ローカル・パスワード・マネージャ・クライアント以外の少なくとも1つのローカル・アプリケーションからの通信を無視するように構成される、請求項8に記載の方法。
【請求項14】
電子インターフェースを介して、第1のコンピューティング・デバイスにおいてパスワード・マネージャ・ハードウェア・アクセサリを登録することであって、前記第1のコンピューティング・デバイスが、第1の処理デバイスを含み、前記パスワード・マネージャ・ハードウェア・アクセサリが、第2の処理デバイスを含む、前記登録することと、
前記第1のコンピューティング・デバイスにおいて、前記電子インターフェースを介して、前記パスワード・マネージャ・ハードウェア・アクセサリ上の仮想キーボード・モジュールからの、パスワードを定義した1つまたは複数のキーストロークを受け取ることであって、前記パスワードが、クラウド・ベースのコンピューティング環境に常駐したパスワード・ヴォルトから取り出される、前記受け取ることと
を含む、方法。
【請求項15】
前記第1のコンピューティング・デバイスにおいて、前記第1のコンピューティング・デバイス上で動作するローカル・パスワード・マネージャ・クライアントによって前記パスワードを取り出すことであって、前記ローカル・パスワード・マネージャ・クライアントが、前記パスワード・ヴォルトと通信するように構成される、前記取り出すことと、
前記電子インターフェースを介して、前記ローカル・パスワード・マネージャ・クライアントからの前記パスワードを前記パスワード・マネージャ・ハードウェア・アクセサリに伝送することであって、仮想キーボード・モジュール・パスワード・マネージャ・ハードウェア・アクセサリが、前記パスワードを前記1つまたは複数のキーストロークに変換するように構成される、前記伝送することと
をさらに含む、請求項14に記載の方法。
【請求項16】
前記電子インターフェースはワイヤレスである、請求項15に記載の方法。
【請求項17】
前記パスワード・マネージャ・ハードウェア・アクセサリは、前記ローカル・パスワード・マネージャ・クライアント以外の前記第1の処理デバイス上で動く少なくとも1つのアプリケーションからの通信を無視するように構成される、請求項15に記載の方法。
【請求項18】
前記パスワードは、前記パスワード・マネージャ・ハードウェア・アクセサリにおいて、ローカル・パスワード・マネージャ・クライアントによって取り出され、前記ローカル・パスワード・マネージャ・クライアントは、前記パスワード・マネージャ・ハードウェア・アクセサリにおいて上で動作し、前記パスワード・ヴォルトと通信するように構成され、
前記パスワード・マネージャ・ハードウェア・アクセサリは、前記パスワードを前記1つまたは複数のキーストロークに変換し、前記電子インターフェースを介して前記1つまたは複数のキーストロークを送るように構成される、
請求項14に記載の方法。
【請求項19】
前記電子インターフェースはワイヤレスである、請求項18に記載の方法。
【請求項20】
前記電子インターフェースを介して、前記第1のコンピューティング・デバイス上で動作する第2のローカル・パスワード・マネージャ・クライアントによって、前記パスワード・マネージャ・ハードウェア・アクセサリ上の前記ローカル・パスワード・マネージャ・クライアントに前記パスワードのリクエストを伝送することであって、前記パスワードが、参照によって識別される、前記伝送すること
をさらに含む、請求項18に記載の方法。
【請求項21】
具体化された命令を備え、前記命令が、請求項8~20のいずれかに記載の方法を前記プロセッサに実施させるようにプロセッサによって実行可能である、コンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、パスワード・マネージャ・アクセサリに関し、より詳細には、論理的機能が埋め込まれたハードウェア・アクセサリに関する。
【背景技術】
【0002】
コンピューティング・デバイスのための多くの公知のセキュリティ機能およびアプリケーションは、不正アクセスを通じたデバイスおよびアプリケーションへのアクセスを可能にすることに関連付けられたリスクを最小化するように構成される。パスワード保護は、このような不正アクセスを防ぐための1つのメカニズムであり、このような保護は、コンピューティング・デバイスに対する広く普及した攻撃用ベクトルを著しく低減させる。現代のパスワード機能は、典型的には、無数のサービスに対して強い一意のパスワードを要求する。パスワードには、典型的には、英数字および記号の混合である最小数の文字であることが要求され、パスワードは、周期的に変更される必要がある。すべてサービスに同じパスワードを使用することは、典型的には、推奨されず、場合によっては、サービス間の様々なパスワード要件により可能ではない。一般に、数個以上のパスワードの記憶は難しく、ユーザを支援するように構成されたいくつかの公知の市販パスワード管理ツールがある。少なくとも2つの公知のパスワード管理ツールは、クラウド・ベース・ヴォルト、および、パスワードを格納し、シミュレートされたキーボードを通じてこれらのパスワードを入力するユニバーサル・シリアル・バス(USB:Universal Serial Bus)デバイスを含む。
【発明の概要】
【0003】
パスワード・マネージャとの通信、およびアプリケーション・ログイン・ダイアログ画面における迅速なテキスト入力を容易にする、論理的機能が埋め込まれたハードウェア・アクセサリのための装置および方法が提供される。
【0004】
一態様では、パスワード・マネージャとの通信、およびアプリケーション・ログイン・ダイアログ画面における迅速なテキスト入力を容易にする、論理的機能が埋め込まれたハードウェア・アクセサリとして電子装置が提供される。電子装置は、コンピューティング・デバイスに動作可能に連結された電子インターフェースを含む。コンピューティング・デバイスは、処理デバイスと、処理デバイスに通信可能に連結されたローカル・パスワード・マネージャ・クライアントとを含む。電子装置は、電子インターフェースに通信可能に連結されたパスワード・マネージャ・モジュールを含む。パスワード・マネージャ・モジュールは、ローカル・パスワード・マネージャ・クライアントと通信するように構成される。電子装置はまた、パスワード・マネージャ・モジュールに通信可能に連結された仮想キーボード・モジュールを含む。仮想キーボード・モジュールは、電子インターフェースを介して論理キーボードを処理デバイスに提示するように構成される。パスワード・マネージャは、電子インターフェースを介してローカル・パスワード・マネージャ・クライアントからパスワードを受け取り、パスワードを仮想キーボード・モジュールに伝送するように構成される。仮想キーボード・モジュールは、電子インターフェースを介して1つまたは複数のキーストロークを処理デバイスに伝送するように構成される。
【0005】
さらに別の態様では、パスワード・マネージャとの通信、およびアプリケーション・ログイン・ダイアログ画面における迅速なテキスト入力を容易にする、論理的機能が埋め込まれたハードウェア・アクセサリを使用するためのコンピュータ実行方法が提供される。方法は、物理的に着脱可能なインターフェースを介して、物理的に着脱可能なパスワード・マネージャ・ハードウェア・アクセサリをコンピューティング・デバイスと電子的にインターフェースすることを含む。コンピューティング・デバイスは、処理デバイスを含む。方法は、パスワード・マネージャ・ハードウェア・アクセサリ内に埋め込まれたパスワード・マネージャ・モジュールにおいて、電子インターフェースを介して、ローカル・パスワード・マネージャ・クライアントからのパスワードを、処理デバイスを介してコンピューティング・デバイスから受け取ることを含む。方法はまた、パスワード・マネージャ・モジュールからのパスワードを、パスワード・マネージャ・ハードウェア・アクセサリ内に埋め込まれた仮想キーボード・モジュールに伝送することを含む。方法は、仮想キーボード・モジュールにおいて、パスワードを1つまたは複数のキーストロークに変換することをさらに含む。方法はまた、仮想キーボード・モジュールからの1つまたは複数のキーストロークを、電子インターフェースを介して処理デバイスに伝送することを含む。
【0006】
さらに別の態様では、パスワード・マネージャとの通信、およびアプリケーション・ログイン・ダイアログ画面における迅速なテキスト入力を容易にする、論理的機能が埋め込まれたハードウェア・アクセサリを使用するためのコンピュータ実行方法が提供される。方法は、電子インターフェースを介して、第1のコンピューティング・デバイスにおいてパスワード・マネージャ・ハードウェア・アクセサリを登録することを含む。第1のコンピューティング・デバイスは、第1の処理デバイスを含み、パスワード・マネージャ・ハードウェア・アクセサリは、第2の処理デバイスを含む。方法はまた、第1のコンピューティング・デバイスにおいて、電子インターフェースを介して、パスワード・マネージャ・ハードウェア・アクセサリ上の仮想キーボード・モジュールからの、パスワードを定義した1つまたは複数のキーストロークを受け取ることを含む。パスワードは、クラウド・ベースのコンピューティング環境に常駐したパスワード・ヴォルトから取り出される。
【0007】
本概要は、本開示の各態様、あらゆる実装形態、もしくはあらゆる実施形態、またはそれらの組合せを示すことを意図するものではない。これらおよび他の特徴および利点は、添付の図面と共に理解される本実施形態の以下の詳細な説明から明らかになるであろう。
【0008】
本出願に含まれる図面は、本明細書に組み込まれ、本明細書の一部を形成する。本出願に含まれる図面は、本開示の実施形態を示し、説明と共に、本開示の原理を説明する役割を果たす。図面は、特定の実施形態を示したものであり、本開示を限定するものではない。
【図面の簡単な説明】
【0009】
【
図1】本開示のいくつかの実施形態による、クラウド・コンピュータ環境を示す概略図である。
【
図2】本開示のいくつかの実施形態による、クラウド・コンピューティング環境によって提供される機能抽象化モデル層のセットを示すブロック図である。
【
図3】本開示のいくつかの実施形態による、本明細書で説明されるプロセスを実行するために、クラウド・ベースのサポート・システムとして使用され得るコンピュータ・システム/サーバを示すブロック図である。
【
図4】本開示のいくつかの実施形態による、パスワード・マネージャとの通信、およびアプリケーション・ログイン・ダイアログ画面における迅速なテキスト入力を容易にする、論理的機能が埋め込まれたパスワード・マネージャ・ハードウェア・アクセサリの実例の構成を示すブロック図である。
【
図5A】本開示のいくつかの実施形態による、パスワード・マネージャと通信し、アプリケーション・ログイン・ダイアログ画面における迅速なテキスト入力を容易にするためのパスワード・マネージャ・ハードウェア・アクセサリを使用するためのプロセスを示すフローチャートである。
【
図5B】本開示のいくつかの実施形態による、
図5Aのフローチャートの続きである。
【
図6】本開示のいくつかの実施形態による、パスワード・マネージャとの通信、およびアプリケーション・ログイン・ダイアログ画面における迅速なテキスト入力を容易にする、論理的機能が埋め込まれたパスワード・マネージャ・ハードウェア・アクセサリの実例の構成を示すブロック図である。
【
図7A】本開示のいくつかの実施形態による、パスワード・マネージャと通信し、アプリケーション・ログイン・ダイアログ画面における迅速なテキスト入力を容易にするためのパスワード・マネージャ・ハードウェア・アクセサリを使用するためのプロセスを示すフローチャートである。
【
図7B】本開示のいくつかの実施形態による、
図7Aのフローチャートの続きである。
【発明を実施するための形態】
【0010】
本開示は、様々な変更形態および代替形式に対応可能であるが、その細目は、図面に例として示されており、詳細に説明される。それでも、その意図は、説明される特定の実施形態に本開示を限定することではないことを理解されたい。反対に、その意図は、本開示の範囲に入るすべての変更形態、同等物、および代替形態をカバーすることである。
【0011】
本明細書の図で一般に説明され示されるような本実施形態の構成要素は、多種多様の異なる構成で配置およびデザインされてもよいことが容易に理解されよう。したがって、図に提示されているような、本実施形態の装置、システム、方法、およびコンピュータ・プログラム製品の実施形態の以下の詳細な説明は、特許請求されるような実施形態の範囲を限定することを意図するものではなく、選択された実施形態を表しているにすぎない。追加として、固有の実施形態が例証のために本明細書で説明されてきたが、実施形態の範囲から逸脱することなく様々な変更が行われてもよいことが理解されよう、
【0012】
「選択実施形態」、「少なくとも1つの実施形態」、「一実施形態」、「別の実施形態」、「他の実施形態」、または「実施形態」、および類似の言葉への本明細書全体の言及は、実施形態と共に説明される特定の特徴、構造、または特性が、少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体の様々な場所における「選択された実施形態」、「少なくとも1つの実施形態」、「1つの実施形態では」、「別の実施形態」、「他の実施形態」、または「実施形態」という句の出現は、必ずしも同じ実施形態を指すわけではない。
【0013】
図示の実施形態は、図面を参照することによって最も良く理解され、全体を通して同様の部品が同様の番号で指名される。以下の説明は、例として意図されるにすぎず、本明細書で特許請求されるような実施形態と一致したデバイス、システム、およびプロセスの特定の選択された実施形態を単に示している。
【0014】
本開示は、クラウド・コンピューティングについての詳細な説明を含むが、本明細書で列挙される教示の実装形態は、クラウド・コンピューティング環境に限定されないことを理解されたい。むしろ、本開示の実施形態は、現在知られているか、後で開発される、他の任意のタイプのコンピューティング環境と併用して実行される能力がある。
【0015】
クラウド・コンピューティングは、サービスの提供者による最低限の管理努力または対話で迅速に提供および解放可能な、構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共用プールへの、便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも5つの特性、少なくとも3つのサービス・モデル、および少なくとも4つの展開モデルを含んでもよい。
【0016】
特性は、以下の通りである。
【0017】
オンデマンド・セルフ・サービス:クラウド利用者は、サービスの提供者との人間対話を必要とせず必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング能力を一方的に提供することができる。
【0018】
ブロード・ネットワーク・アクセス:能力は、ネットワークを介して利用可能であり、ヘテロジニアスなシンまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による使用を推進する標準メカニズムを通じてアクセスされる。
【0019】
リソース・プーリング:提供者のコンピューティング・リソースは、種々の物理および仮想リソースが、要求に従って動的に割当ておよび再割当てされる、マルチ・テナント・モデルを使用して多数の利用者をサーブするためにプールされる。利用者には一般に、提供されるリソースの正確な位置についての制御権も知識もなく、抽象化のより高いレベル(例えば、国、州、またはデータセンタ)で位置を指定でき得るという点で位置独立の意味がある。
【0020】
迅速な弾力性:能力は、素早くスケール・アウトするために迅速かつ伸縮自在に、場合によっては自動的に提供され、素早くスケール・インするために迅速に解放されることが可能である。利用者にとって、提供のために利用可能な能力は無制限のように見えることが多く、いつでも任意の量で購入可能である。
【0021】
測定されるサービス:クラウド・システムは、サービスのタイプに適した抽象化のいくつかのレベル(例えば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント)で計量能力を活用することによって、リソース使用を自動的に制御し、最適化する。利用されるサービスの提供者と利用者双方に透明性をもたらすリソース使用率が、監視、制御、レポートされることが可能である。
【0022】
サービス・モデルは、以下の通りである。
【0023】
サービスとしてのソフトウェア(SaaS):利用者に提供される能力は、クラウド・インフラストラクチャ上で動く提供者のアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(例えば、ウェブ・ベースの電子メール)などの、シン・クライアント・インターフェースを通じて様々なクライアント・デバイスからアクセス可能である。利用者は、限定的なユーザ固有アプリケーション構成設定を例外とする可能性もあるが、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または、個々のアプリケーション能力さえをも含む、基礎をなすクラウド・インフラストラクチャの管理も制御も行わない。
【0024】
サービスとしてのプラットフォーム(PaaS):利用者に提供される能力は、提供者によってサポートされるプログラミング言語およびツールを使用して制作された、利用者制作または獲得アプリケーションを、クラウド・インフラストラクチャ上に配置することである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基礎をなすクラウド・インフラストラクチャの管理も制御も行わず、配置したアプリケーション、および場合によっては、アプリケーション・ホスティング環境構成に対する制御を行う。
【0025】
サービスとしてのインフラストラクチャ(IaaS):利用者に提供される能力は、処理、ストレージ、ネットワーク、ならびに、オペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアを利用者が展開して動かすことができる他の基本的なコンピューティング・リソースを提供することである。利用者は、基礎をなすクラウド・インフラストラクチャの管理も制御も行わず、オペレーティング・システム、ストレージ、展開したアプリケーションに対する制御、および場合によっては、選択したネットワーキング構成要素(例えば、ホスト・ファイアウォール)の限定的な制御を行う。
【0026】
展開モデルは、以下の通りである。
【0027】
プライベート・クラウド:クラウド・インフラストラクチャは、組織のためにだけ運用される。クラウド・インフラストラクチャは、組織または第三者によって管理されてもよく、敷地内または敷地外にあってもよい。
【0028】
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織によって共有され、共有の懸念(例えば、ミッション、セキュリティ要件、ポリシ、およびコンプライアンス考慮)を有する固有のコミュニティをサポートする。クラウド・インフラストラクチャは、組織または第三者によって管理されてもよく、敷地内または敷地外にあってもよい。
【0029】
パブリック・クラウド:クラウド・インフラストラクチャは、一般大衆または大規模業界団体に対して利用可能にされ、クラウド・サービスを売る組織によって所有される。
【0030】
ハイブリッド・クラウド:クラウド・インフラストラクチャは、一意のエンティティのままであるが、データおよびアプリケーションの移植性を可能にする標準または独自の技術(例えば、クラウド間の負荷分散のためのクラウド・バースティング)によって一緒に結びつけられた、2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の合成物である。
【0031】
クラウド・コンピューティング環境は、無国籍、疎結合、モジュラリティ、および意味論的相互運用性に焦点を置いたサービス指向のものである。クラウド・コンピューティングの中心には、相互接続ノードのネットワークを含むインフラストラクチャがある。
【0032】
図1をここで参照すると、例証的なクラウド・コンピューティング環境50が描写されている。図示のように、クラウド・コンピューティング環境50は、例えば、パーソナル・デジタル・アシスタント(PDA)もしくはセルラー電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、またはそれらの組合せなどの、クラウド利用者によって使用されるローカル・コンピューティング・デバイスが通信し得る1つまたは複数のクラウド・コンピューティング・ノード10を含む。ノード10は、互いに通信してもよい。ノード10は、上記で説明されたような、プライベート、コミュニティ、パブリック、もしくはハイブリッド・クラウド、またはそれらの組合せなどの1つまたは複数のネットワークにおいて、物理的または仮想的にグループ化されてもよい(図示せず)。これは、クラウド利用者がローカル・コンピューティング・デバイス上でリソースを維持する必要のない、サービスとしてのインフラストラクチャ、プラットフォーム、もしくはソフトウェア、またはそれらの組合せをクラウド・コンピューティング環境50が提供することを可能にする。
図1に示されたコンピューティング・デバイス54A~54Nのタイプは、例証にすぎないことが意図され、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意のタイプのネットワークもしくはネットワーク・アドレス可能接続またはその両方を介して(例えば、ウェブ・ブラウザを使用して)任意のタイプのコンピュータ化デバイスと通信可能であることが理解される。
【0033】
図2をここで参照すると、クラウド・コンピューティング環境50(
図1)によって提供される機能抽象化層のセットが示されている。
図2に示された構成要素、層、および機能は、例証にすぎないことが意図され、本開示の実施形態はこれらに限定されないことを予め理解されたい。描写されたように、以下の層および対応する機能が提供される。
【0034】
ハードウェアおよびソフトウェア層60は、ハードウェアおよびソフトウェア構成要素を含む。ハードウェア構成要素の例は、メインフレーム61、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーキング構成要素66を含む。いくつかの実施形態では、ソフトウェア構成要素は、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
【0035】
仮想化層70は、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75といった、仮想エンティティの例が提供され得る抽象化層を提供する。
【0036】
一例では、管理層80は、下記で説明される機能を提供し得る。リソース提供81は、クラウド・コンピューティング環境内でタスクを実施するために利用されるコンピューティング・リソースおよび他のリソースの動的な調達を行う。計量および価格設定82は、クラウド・コンピューティング環境内でリソースが利用されるときのコスト追跡、および、これらのリソースの利用量に対する請求またはインボイスを行う。一例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでもよい。セキュリティは、クラウド利用者およびタスクの検証、ならびに、データおよび他のリソースの保護を行う。ユーザ・ポータル83は、利用者およびシステム・アドミニストレータに、クラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理84は、要求されるサービス・レベルを満たすように、クラウド・コンピューティング・リソースの配分および管理を行う。サービス・レベル・アグリーメント(SLA)計画およびフルフィルメント85は、SLAに応じて、将来の要件が予想されるクラウド・コンピューティング・リソースの事前配置および調達を行う。
【0037】
ワークロード層90は、クラウド・コンピューティング環境が利用され得る機能の例を提供する。この層から提供され得るワークロードおよび機能の例は、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想クラスルーム教育配信93、データ分析処理94、トランザクション処理95、ならびに、パスワード・マネージャとの通信、およびアプリケーション・ログイン・ダイアログ画面における迅速なテキスト入力を容易にするために、論理的機能が埋め込まれたハードウェア・アクセサリを使用すること96を含む。
【0038】
図3を参照すると、本明細書でコンピュータ・システム100と呼ばれる、実例のデータ処理システムのブロック図が提供されている。システム100は、単一のロケーションにあるコンピュータ・システム/サーバにおいて具体化されてもよく、または少なくとも1つの実施形態では、コンピューティング・リソースを共有するクラウド・ベースのシステムにおいて構成されてもよい。例えば、また限定することなく、コンピュータ・システム100は、クラウド・コンピューティング・ノード10として使用されてもよい。
【0039】
コンピュータ・システム100の態様は、単一のロケーションにあるコンピュータ・システム/サーバにおいて具体化されてもよく、または少なくとも1つの実施形態では、本明細書で説明されるシステム、ツール、およびプロセスを実行するように、クラウド・ベースのサポート・システムとしてコンピューティング・リソースを共有するクラウド・ベースのシステムにおいて構成されてもよい。コンピュータ・システム100は、数多くの他の汎用または専用コンピュータ・システム環境または構成で動作可能である。コンピュータ・システム100と共に使用するのに適切であり得る周知のコンピュータ・システム、環境、または構成、またはそれらの組合せの例は、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラム可能家電製品、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、ならびに、上記のシステム、デバイス、およびその同等物のいずれかを含む、ファイル・システム(例えば、分散ストレージ環境および分散クラウド・コンピューティング環境)を含むがこれらに限定されない。
【0040】
コンピュータ・システム100は、コンピュータ・システム100によって実行される、プログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明されてもよい。一般に、プログラム・モジュールは、特定のタスクを実施するか、特定の抽象データ型を実行する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含んでもよい。コンピュータ・システム100は、通信ネットワークを通じてリンクされたリモート処理デバイスによってタスクが実施される分散クラウド・コンピューティング環境で実践されてもよい。分散クラウド・コンピューティング環境では、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカルおよびリモート両方のコンピュータ・システム・ストレージ媒体に置かれてもよい。
【0041】
図3に示されているように、コンピュータ・システム100は、汎用コンピューティング・デバイスの形で示されている。コンピュータ・システム100の構成要素は、例えばハードウェア・プロセッサといった1つまたは複数のプロセッサまたは処理デバイス104(プロセッサおよび処理ユニットと呼ばれることもある)、システム・メモリ106(メモリ・デバイスと呼ばれることもある)、ならびに、システム・メモリ106を含む様々なシステム構成要素を処理デバイス104に連結する通信バス102を含んでもよいがこれらに限定されない。通信バス102は、メモリ・バスまたはメモリ・コントローラ、周辺バス、アクセラレイティッド・グラフィックス・ポート、および、様々なバス・アーキテクチャのいずれかを使用するプロセッサまたはローカル・バスを含む、バス構造のいくつかのタイプのいずれかのうちの1つまたは複数を表す。例として、また限定ではなく、このようなアーキテクチャは、インダストリ・スタンダード・アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、エンハンストISA(EISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA)ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト(PCI)バスを含む。コンピュータ・システム100は、典型的には、様々なコンピュータ・システム可読媒体を含む。このような媒体は、コンピュータ・システム100によってアクセス可能な任意の利用可能な媒体でもよく、揮発性媒体および不揮発性媒体の両方、取外し可能媒体および取外し不能媒体の両方を含む。追加として、コンピュータ・システム100は、1つまたは複数の永続ストレージ・デバイス108、通信ユニット110、入出力(I/O)ユニット112、およびディスプレイ114を含んでもよい。
【0042】
処理デバイス104は、システム・メモリ106にロードされ得るソフトウェアのための命令を実行する役割を果たす。処理デバイス104は、特定の実装形態に応じて、いくつかのプロセッサ、マルチコア・プロセッサ、または他のいくつかのタイプのプロセッサでもよい。アイテムを参照しながら本明細書で使用されるような数字は、1つまたは複数のアイテムを意味する。さらに、処理デバイス104は、単一のチップ上に2次プロセッサと共にメイン・プロセッサが存在する、いくつかのヘテロジニアス・プロセッサ・システムを使用して実装されてもよい。別の例証的な例として、処理デバイス104は、同じタイプの複数のプロセッサを含む対称マルチプロセッサ・システムでもよい。
【0043】
システム・メモリ106および永続ストレージ108は、ストレージ・デバイス116の例である。ストレージ・デバイスは、例えば限定することなく、(データ、関数形式のプログラム・コードなどの)情報、もしくは他の適切な情報、またはその両方を、一時的もしくは永久的またはその両方で格納する能力がある任意のハードウェアでもよい。システム・メモリ106は、これらの例では、例えば、ランダム・アクセス・メモリ、または任意の他の適切な揮発性もしくは不揮発性ストレージ・デバイスでもよい。システム・メモリ106は、ランダム・アクセス・メモリ(RAM)もしくはキャッシュ・メモリまたはその両方など、揮発性メモリの形のコンピュータ・システム可読媒体を含むことができる。
【0044】
永続ストレージ108は、特定の実装形態に応じて様々な形をしていてもよい。例えば、永続ストレージ108は、1つまたは複数の構成要素またはデバイスを含んでもよい。例えば、また限定することなく、永続ストレージ108は、取外し不能不揮発性磁気媒体(図示されていないが、典型的には「ハード・ドライブ」と呼ばれる)を読み書きするために提供可能である。図示していないが、取外し可能不揮発性磁気ディスク(例えば、「フロッピー(登録商標)ディスク」)を読み書きするための磁気ディスク・ドライブ、およびCD-ROM、DVD-ROM、または他の光媒体などの取外し可能不揮発性光ディスクを読み書きするための光ディスク・ドライブが提供されることが可能である。このような事例では、1つまたは複数のデータ媒体インターフェースによって通信バス102にそれぞれが接続可能である。
【0045】
これらの例における通信ユニット110は、他のコンピュータ・システムまたはデバイスとの通信を提供してもよい。これらの例では、通信ユニット110は、ネットワーク・インターフェース・カードである。通信ユニット110は、物理通信リンクおよびワイヤレス通信リンクのどちらかまたは両方の使用を通じて通信を提供してもよい。
【0046】
入出力ユニット112は、コンピュータ・システム100に接続され得る他のデバイスとのデータの入力および出力を可能にすることができる。例えば、入出力ユニット112は、キーボード、マウス、もしくは他のいくつかの適切な入力デバイス、またはそれらの組合せを通じてユーザ入力のための接続を提供してもよい。さらに、入出力ユニット112は、出力をプリンタに送ってもよい。ディスプレイ114は、ユーザに情報を表示するためのメカニズムを提供してもよい。コンピュータ・システム100内の様々なデバイスとの間の通信を確立することを容易にする入出力ユニット112の例は、限定することなく、ネットワーク・カード、モデム、および入出力インターフェース・カードを含む。追加として、コンピュータ・システム100は、ネットワーク・アダプタ(
図3に図示せず)を介して、ローカル・エリア・ネットワーク(LAN)、一般的なワイド・エリア・ネットワーク(WAN)、もしくはパブリック・ネットワーク(例えば、インターネット)、またはそれらの組合せなどの、1つまたは複数のネットワークと通信することができる。図示していないが、他のハードウェアもしくはソフトウェア構成要素またはその両方が、コンピュータ・システム100と併用して使用可能であることを理解されたい。このような構成要素の例は、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムを含むがこれらに限定されない。
【0047】
オペレーティング・システム、アプリケーション、もしくはプログラム、またはそれらの組合せのための命令は、ストレージ・デバイス116に置かれてもよく、ストレージ・デバイス116は、通信バス102を通じて処理デバイス104と通信している。これらの例証的な例では、命令は、永続ストレージ108上の関数形式である。これらの命令は、処理デバイス104による実行のためにシステム・メモリ106にロードされてもよい。異なる実施形態のプロセスは、システム・メモリ106などのメモリに置かれ得るコンピュータ実行命令を使用して処理デバイス104によって実施されてもよい。これらの命令は、処理デバイス104のプロセッサによって読み込まれ実行され得る、プログラム・コード、コンピュータ使用可能プログラム・コード、またはコンピュータ可読プログラム・コードと呼ばれる。異なる実施形態におけるプログラム・コードは、システム・メモリ106または永続ストレージ108などの、異なる物理または有形コンピュータ可読媒体上で具体化されてもよい。
【0048】
プログラム・コード118は、選択的に取外し可能なコンピュータ可読媒体120に関数形式で置かれてもよく、処理デバイス104による実行のためにコンピュータ・システム100にロードされるか、移送されてもよい。プログラム・コード118およびコンピュータ可読媒体120は、これらの例では、コンピュータ・プログラム製品122を形成してもよい。一例では、コンピュータ可読媒体120は、コンピュータ可読ストレージ媒体124またはコンピュータ可読信号媒体126でもよい。コンピュータ可読ストレージ媒体124は、永続ストレージ108の一部であるハード・ドライブなどの、ストレージ・デバイスに移送するために、永続ストレージ108の一部であるドライブまたは他のデバイスに挿入または置かれた、例えば、光または磁気ディスクを含んでもよい。コンピュータ可読ストレージ媒体124はまた、コンピュータ・システム100に接続された、ハード・ドライブ、サム・ドライブ、またはフラッシュ・メモリなど、永続ストレージの形をしていてもよい。いくつかの事例では、コンピュータ可読ストレージ媒体124は、コンピュータ・システム100から取外し可能でなくてもよい。
【0049】
代替として、プログラム・コード118は、コンピュータ可読信号媒体126を使用してコンピュータ・システム100に移送されてもよい。コンピュータ可読信号媒体126は、例えば、プログラム・コード118を含む伝搬されたデータ信号でもよい。例えば、コンピュータ可読信号媒体126は、電磁気信号、光信号、もしくは任意の他の適切なタイプの信号、またはそれらの組合せでもよい。これらの信号は、ワイヤレス通信リンク、光ファイバ・ケーブル、同軸ケーブル、ワイヤ、もしくは任意の他の適切なタイプの通信リンク、またはそれらの組合せなどの、通信リンクを介して伝送されてもよい。言い換えれば、通信リンクもしくは接続またはその両方は、例証的な例では、物理でもワイヤレスでもよい。
【0050】
いくつかの例証的実施形態では、プログラム・コード118は、コンピュータ・システム100内での使用のために、コンピュータ可読信号媒体126を通じて別のデバイスまたはコンピュータ・システムから永続ストレージ108に、ネットワークを介してダウンロードされてもよい。例えば、サーバ・コンピュータ・システム内のコンピュータ可読ストレージ媒体に格納されたプログラム・コードは、サーバからコンピュータ・システム100にネットワークを介してダウンロードされてもよい。プログラム・コード118を提供するコンピュータ・システムは、サーバ・コンピュータ、クライアント・コンピュータ、または、プログラム・コード118を格納および伝送する能力がある他のいくつかのデバイスでもよい。
【0051】
プログラム・コード118は、例として、また限定ではなくシステム・メモリ106に格納され得る1つまたは複数のプログラム・モジュール(
図3に図示せず)、ならびに、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データを含んでもよい。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データのそれぞれ、またはそのいくつかの組合せは、ネットワーキング環境の実装形態を含んでもよい。プログラム・コード118のプログラム・モジュールは一般に、本明細書で説明されるような実施形態の機能もしくは方法またはその両方を実行する。
【0052】
コンピュータ・システム100のための示された異なる構成要素は、異なる実施形態が実装され得る様式への構造上の限定を提供するためのものではない。異なる例証的実施形態は、コンピュータ・システム100のために示されたものに追加したまたはその代わりの構成要素を含むコンピュータ・システムにおいて実装されてもよい。
【0053】
本開示は、統合の任意の可能な技術詳細レベルにおけるシステム、方法、もしくはコンピュータ・プログラム製品、またはそれらの組合せでもよい。コンピュータ・プログラム製品は、本開示の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体(または複数の媒体)を含んでもよい。
【0054】
コンピュータ可読ストレージ媒体は、命令実行デバイスによる使用のための命令を保持および格納可能な有形デバイスであることが可能である。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の適切な組合せでもよいがこれらに限定されない。コンピュータ可読ストレージ媒体のより具体的な例の完全に網羅されていないリストは、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー・ディスク、命令を記録したパンチ・カードまたは溝内隆起構造などの機械的にエンコードされたデバイス、および前述の任意の適切な組合せを含む。本明細書で使用されるようなコンピュータ可読ストレージ媒体は、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを通じて伝送される電気信号などの、本質的に一時的な信号であると解釈されるべきではない。
【0055】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、あるいは、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくはワイヤレス・ネットワーク、またはそれらの組合せといった、ネットワークを介して外部コンピュータまたは外部ストレージ・デバイスに、ダウンロード可能である。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバ、またはそれらの組合せを備えてもよい。各コンピューティング/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、コンピュータ可読プログラム命令をネットワークから受け取り、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に格納するためにコンピュータ可読プログラム命令を転送する。
【0056】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、あるいは、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくはワイヤレス・ネットワーク、またはその組合せといった、ネットワークを介して外部コンピュータまたは外部ストレージ・デバイスに、ダウンロード可能である。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバ、またはそれらの組合せを備えてもよい。各コンピューティング/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、コンピュータ可読プログラム命令をネットワークから受け取り、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に格納するためにコンピュータ可読プログラム命令を転送する。
【0057】
本開示の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ(ISA)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路機器用の構成データ、または、Smalltalk(登録商標)、C++、もしくは同様のものなどのオブジェクト指向プログラミング言語、および「C」プログラミング言語または類似のプログラミング言語などの手続き型プログラミング言語を含む1つもしくは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードでもよい。コンピュータ可読プログラム命令は、全面的にユーザのコンピュータ上で、もしくは、部分的にユーザのコンピュータ上で、スタンド・アロン・ソフトウェア・パッケージとして、または、部分的にユーザのコンピュータ上かつ部分的にリモート・コンピュータ上で、または全面的にリモート・コンピュータもしくはサーバ上で実行してもよい。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続されてもよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを通じて)外部コンピュータに対して行われてもよい。いくつかの実施形態では、例えば、プログラム可能論理回路機器、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路機器は、本開示の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路機器を個別化することによって、コンピュータ可読プログラム命令を実行してもよい。
【0058】
本開示の態様は、本開示の実施形態による、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャートもしくはブロック図またはその両方を参照しながら本明細書で説明される。フローチャートもしくはブロック図またはその両方の各ブロック、ならびにフローチャートもしくはブロック図またはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実行可能であることが理解されよう。
【0059】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行する命令が、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックで指定された機能/行為を実行するための手段を作り出すべく、機械を生み出すために、コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供されてもよい。これらのコンピュータ可読プログラム命令はまた、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックで指定された機能/行為の態様を実行する命令を含む製品を、命令を格納したコンピュータ可読ストレージ媒体が備えるべく、コンピュータ可読ストレージ媒体に格納されてもよく、コンピュータ、プログラム可能データ処理装置、もしくは他のデバイス、またはそれらの組合せに特定の様式で機能するように指図することができる。
【0060】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能装置、または他のデバイス上で実行する命令が、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックで指定された機能/行為を実行するべく、コンピュータ実行処理を生み出すために、コンピュータ、他のプログラム可能装置、または他のデバイスで一連の動作ステップを実施させるために、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされてもよい。
【0061】
図中のフローチャートおよびブロック図は、本開示の様々な実施形態による、システム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示す。この点に関して、フローチャートまたはブロック図の各ブロックは、指定の論理機能を実施するための1つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または一部を表してもよい。いくつかの代替的な実装形態では、ブロックに記された機能は、図に記された順序とは無関係に行われてもよい。例えば、連続して示された2つのブロックは、実際には、同時に、実質的に同時に、部分的もしくは全面的に時間重複した様式で実行される1つのステップとして行われてもよく、またはブロックは、時には、含まれる機能に応じて逆の順序で実行されてもよい。ブロック図もしくはフローチャートまたはその両方の各ブロック、および、ブロック図もしくはフローチャートまたはその両方におけるブロックの組合せは、指定の機能もしくは行為を実施するか、または、専用ハードウェアとコンピュータ命令との組合せを実行する、専用ハードウェア・ベースのシステムによって実行可能であることも指摘される。
【0062】
コンピューティング・デバイスのための多くの公知のセキュリティ機能およびアプリケーションは、不正アクセスを通じたデバイスおよびアプリケーションへのアクセスを可能にすることに関連付けられたリスクを最小化するように構成される。パスワード保護は、このような不正アクセスを防ぐための1つのメカニズムであり、このような保護は、コンピューティング・デバイスに対する広く普及した攻撃用ベクトルを著しく低減させる。現代のパスワード機能は、典型的には、無数のサービスに対して強い一意のパスワードを要求する。パスワードには、典型的には、英数字および記号の混合である最小数の文字であることが要求され、パスワードは、周期的に変更される必要がある。すべてサービスに同じパスワードを使用することは、典型的には、推奨されず、場合によっては、サービス間の様々なパスワード要件により、可能ではない。一般に、数個以上のパスワードの記憶は難しく、ユーザを支援するように構成されたいくつかの公知の市販パスワード管理ツールがある。少なくとも1つの公知のパスワード管理ツールは、クラウド・ベース・ヴォルトを含む。少なくとも1つの公知のパスワード管理ツールは、パスワードを格納し、シミュレートされたキーボードを通じてこれらのパスワードを入力するユニバーサル・シリアル・バス(USB)デバイスを含む。それでも、パスワード記憶およびタイムリな投入を容易にするためのこれらの公知のメカニズムのうちの少なくともいくつかは、コピーされたパスワードのペーストを通じてパスワード投入フィールドもしくはウィンドウを埋めること、ウィンドウにタイプするための前述のツールの使用を通じてパスワード投入スペースを自動的に埋めること、または、パスワード・フィールド内のテキスト文字を閲覧するための選択肢を提供しないこと、を妨げるように構成された特定のアプリケーションによって無益な状態にされる。パスワードのすべてを記憶する必要のない素早いパスワード入力を容易にできないことは、時間のかかるものになることがあり、パスワード・マネージャを通じた強くて一意のパスワードの使用を思いとどまらせ、短いパスワードおよびパスワードの再使用など、次善の実践を助長する。
【0063】
少なくともいくつかの公知のクラウド・ベースのパスワード管理構成は、インターネット接続を通じてクラウド内のパスワード・ヴォルトに通信可能に連結された、ローカル・パスワード・マネージャ・クライアント、すなわち市販のパスワード管理アプリケーションを含む。主題の構成は、パーソナル・コンピュータおよびモバイル・デバイスを含む様々なプラットフォームに適用され得る。パスワード管理アプリケーションは、プラットフォームに常駐した1つまたは複数のブラウザおよびアプリケーションにも通信可能に連結され、ブラウザは、クラウド内の様々なウェブサイトと通信するように構成され、アプリケーションは、クラウド内のサービスと通信するように構成される。パスワード管理アプリケーションは、アプリケーションおよびブラウザの代わりにパスワード・ヴォルトと通信する。プラットフォームもしくはアプリケーションまたはその両方は、パスワード管理アプリケーションと、ブラウザもしくはアプリケーションまたはその両方との間の通信を制限してもよい。
【0064】
少なくとも他のいくつかの公知のクラウド・ベースのパスワード管理構成は、プラットフォーム上のUSBスロットに挿入されたユニバーサル・シリアル・バス(USB)デバイスなどの、外部および着脱可能なハードウェア・デバイスにロードされたハードウェア・ベースのパスワード・マネージャを含む。USBデバイスは、シミュレートされたUSBキーボード・モジュールまたはヒューマン・インターフェース・デバイス(HID)と共に、USBデバイスに埋め込まれたローカル・パスワード・ヴォルトを含む。USBデバイスはまた、USBデバイスの動作を容易にするための、例えばボタンといった、外部制御を含み、これにより、USBデバイスの使用の複雑性を増加させる。外部制御は、シミュレートされたUSBキーボード・モジュールの動作がローカル・パスワード・ヴォルトにアクセスして、パスワードを取り出し、プラットフォームにロードされた作用を受けるブラウザおよびアプリケーションのための関連付けられたログオン・フィールド用に、パスワードをキーボード文字またはキーストロークに変換することを可能にする。いくつかのこのようなデバイスは、ユーザのデバイス上では、キーボードと実質的に区別できないように見えるので、これらのデバイスは、パスワード入力フィールドにおけるコピー/ペースト・アクションを不可能にするアプリケーションによるものなど、クラウド・ベースのパスワード管理システムの前述の欠点のうちのいくつかを防ぐ。パスワードは、USBデバイスにローカルに格納されるので、パスワードは、デバイス間で同期不可能であり、USBポートまたは他の互換性のあるハードウェア接続がない場合、これらのデバイスを通じてアクセス不能である。追加として、このようなデバイスは一般に、パスワードを格納および取り出すための制限されたまたは手間のかかるインターフェースに苦労する。その上、このようなデバイスは、デバイスに格納されたパスワードが原因で、紛失するか盗まれた場合、セキュリティ欠陥となり得る。いくつかの条件では、このようなデバイスは、デバイスに常駐した暗号化済みパスワードへのアクセス権を取得して、このパスワードを復号しようとするという強引な方法を通じた、クラッキング攻撃の影響を受けやすくなり得る。
【0065】
パスワード・マネージャとの通信、およびアプリケーション・ログイン・ダイアログ画面における迅速なテキスト入力を容易にする、論理的機能が埋め込まれたハードウェア・アクセサリのための装置および方法が本明細書で開示および説明される。ハードウェア・アクセサリは、処理デバイスと、処理デバイスに通信可能に連結されたローカル・パスワード・マネージャ・クライアントとを有するコンピューティング・デバイスに動作可能に連結された電子インターフェースを含む電子装置である。いくつかの実施形態では、ハードウェア・アクセサリは、電子インターフェースに通信可能に連結され、ローカル・パスワード・マネージャ・クライアントと通信するように構成されたパスワード・マネージャ・モジュールを含む。ハードウェア・アクセサリはまた、パスワード・マネージャ・モジュールに通信可能に連結された仮想キーボード・モジュールを含む。仮想キーボード・モジュールは、電子インターフェースを介して論理キーボードを処理デバイスに提示するように構成される。パスワード・マネージャは、ローカル・パスワード・マネージャ・クライアントおよび電子インターフェースを通じてクラウド・ベース・ヴォルトからパスワードを受け取り、パスワードを仮想キーボード・モジュールに伝送するように構成され、仮想キーボード・モジュールは、電子インターフェースを介して1つまたは複数のキーストロークを処理デバイスに伝送するように構成される。必要なパスワード・セキュリティを維持するために、現代のセキュリティ機能が使用される。
【0066】
いくつかの実施形態では、ハードウェア・アクセサリは、パーソナル・コンピュータのUSBポートに挿入され得るユニバーサル・シリアル・バス(USB)デバイスとして構成される。このような実施形態では、電子インターフェースは、USBインターフェースであり、パーソナル・コンピュータ上のローカル・パスワード・マネージャ・クライアントは、パーソナル・コンピュータに挿入されたUSBアクセサリ・デバイスへの伝送のために、リクエストされたパスワードを取り出すこと、もしくはリクエストされたパスワードを取り出すことになるクラウド・ベースのパスワード・ヴォルトのローカル・コピーを同期すること、またはその両方を行うために、クラウド・ベースのパスワード・ヴォルトと通信する。パスワードは、パスワード・マネージャによってパーソナル・コンピュータ上でローカルに復号され、プレーン・テキストで、もしくは新しい別個の暗号化を行って、USBアクセサリに伝送されてもよく、または代替として、パスワードは、USBアクセサリで復号するために、USBアクセサリに維持および伝送された暗号化でヴォルトから抽出されてもよい。USBアクセサリ・デバイスは、ブラウザを通じたそれぞれのアプリケーションもしくはウェブサイトまたはその両方を通じたウェブ・ベースのサービスへのアクセスのために、復号されたパスワードからキーストロークを生成するキーボードをシミュレートし、パスワードを含むユーザの資格証明の認証のためのパーソナル・コンピュータ上で動くアプリケーションまたはブラウザに、キーストロークを伝送するモジュールを含む。
【0067】
いくつかの実施形態では、電子インターフェースは、パーソナル・コンピュータと、例えばモバイル・フォンといったモバイル・コンピューティング・デバイスとの間で確立されたワイヤレス接続である。このような実施形態では、モバイル・デバイスに常駐したローカル・パスワード・マネージャ・クライアントは、復号のため、および、パーソナル・コンピュータの外部の通信チャネルを通じたモバイル・デバイスへの伝送のための、リクエストされたパスワードを取り出すために、クラウド・ベースのパスワード・ヴォルトのローカル・コピーとの通信もしくは同期またはその両方を行う。モバイル・デバイスは、ブラウザを通じたそれぞれのアプリケーションもしくはウェブサイトまたはその両方を通じたウェブ・ベースのサービスへのアクセスのために、復号されたパスワードからキーストロークを生成するキーボードをシミュレートし、パスワードを含むユーザの資格証明の認証のためのパーソナル・コンピュータ上で動くアプリケーションまたはブラウザに、キーストロークを伝送するモジュールを含む。
【0068】
図4は、論理的機能が埋め込まれた、本明細書で「アクセサリ400」と呼ばれる、パスワード・マネージャ・ハードウェア・アクセサリ400の実例の構成を示すブロック図である。アクセサリ400は、パスワード・マネージャとの通信、および、アプリケーション・ログイン・ダイアログ画面における迅速なテキスト入力を容易にする電子装置である。アクセサリ400は、
図1および
図2に関して示され説明されたようなコンピューティング環境50に類似のクラウド・ベースのコンピューティング環境410内に埋め込まれて示されている。コンピューティング環境410はまた、コンピューティング・デバイス420およびクラウド450を含み、コンピューティング・デバイス420は、(
図3に示された)コンピューティング・システム100に類似のものである。実施形態では、コンピューティング・デバイス420は、パーソナル・コンピュータである。
【0069】
アクセサリ400は、シミュレートされたユニバーサル・シリアル・バス(USB)キーボード404に通信可能に連結された論理パスワード・マネージャ・モジュール402を含む。いくつかの実施形態では、シミュレートされたUSBキーボード404は、ヒューマン・インターフェース・デバイス(HID)と呼ばれる。論理パスワード・マネージャ・モジュール402は、通信ルート(communication conduit)406を通じて、シミュレートされたUSBキーボード404に通信可能に連結され、通信ルート406は、本明細書で説明されるような、論理パスワード・マネージャ・モジュール402と、シミュレートされたUSBキーボード404との間の通信を可能にする任意の技術である。
【0070】
アクセサリ400は、コンピューティング・デバイス420に連結される。したがって、アクセサリ400は、コンピューティング・デバイス420に対する周辺デバイスとして構成される。いくつかの実施形態では、アクセサリは、ストレージ・デバイス用に一般に使用される形状のUSBキー・ドングル、またはフォブとして物理的に構成されたキー・デバイスである。コンピューティング・デバイス420は、USBインターフェース422における定義されたUSBポート423を介して、これらの間の物理的な連結を通じて、アクセサリ400を受け取るように構成された、例えばUSBインターフェース422といった、電子インターフェースを含む。USBインターフェース422は、アクセサリ400など、物理的に着脱可能なユニバーサル・シリアル・バス(USB)デバイス用の電子インターフェースとして構成される。矢印430は、USBインターフェース422からのアクセサリ400の挿入(取付け)および除去(切離し)を指示する。コンピューティング・デバイス420はまた、USBインターフェース422に通信および動作可能に連結されたUSBハブ424と、USBハブ424に通信可能に連結された処理デバイス426を含む。処理デバイス426は、(
図3に示された)処理デバイス104に類似のものである。コンピューティング・デバイス420は、常駐している1つまたは複数のアプリケーション432およびブラウザ434にプラットフォームを提供する。コンピューティング・デバイス420は、少なくともいくつかの実施形態では、パーソナル・コンピュータ用のパスワード管理アプリケーションとして構成された、ローカル・パスワード・マネージャ・クライアント436をさらに含む。
【0071】
コンピューティング・デバイス420は、1つまたは複数のインターネット接続440を通じてクラウド450に連結される。複数のサービス452およびウェブサイト454が、クラウド450内に常駐している。追加として、1つまたは複数のパスワード・ヴォルト460(ただ1つが示されている)が、クラウド450内に常駐している。少なくともいくつかの実施形態では、パスワード・ヴォルト460は、パスワードの目録を格納するように構成される。サービス452は、アプリケーション432に通信可能に連結され、ウェブサイトは、ブラウザ434に通信可能に連結され、パスワード・ヴォルト460は、ローカル・パスワード・マネージャ・クライアント436に通信可能に連結され、この間の通信は、インターネット接続440を通じて伝送される。ローカル・パスワード・マネージャ・クライアント436は、直接的にローカル・パスワード・マネージャ・クライアント436からのパスワードのソフト入力のための既存のチャネルである通信チャネル438を通じて、ブラウザ434およびアプリケーション432に通信可能に連結される。
【0072】
シミュレートされたUSBキーボード404は、アプリケーション432およびブラウザ434に通信可能に連結される。論理パスワード・マネージャ・モジュール402は、ローカル・パスワード・マネージャ・クライアント436に通信可能に連結される。アクセサリ400と、コンピューティング・デバイス420の構成要素との間の通信は、USBハブ・インターフェース422、USBハブ424、および処理デバイス426を通じて伝送される。シミュレートされたUSBキーボード404は、コンピューティング・デバイス420に論理キーボードを提示するようにさらに構成された、仮想キーボード・モジュールとして構成される。
【0073】
1つまたは複数の実施形態では、論理パスワード・マネージャ・モジュール402は、電子インターフェース、すなわちUSBインターフェース422を介して、ローカル・パスワード・マネージャ・クライアント436からのパスワードを受け取るように構成される。少なくともいくつかの実施形態では、アクセサリ400は、認証されたセッションを始めるために、認証プロセスを通じてローカル・パスワード・マネージャ・クライアント436など、コンピューティング・デバイス420における特定のアプリケーション・プログラムへの、アクセサリ400の応答を制限するように構成される。このような実施形態では、アクセサリ400は、認証プロセスを実施するように構成されていないアプリケーションからの通信を無視するものと理解されてもよい。いくつかの実施形態では、論理パスワード・マネージャ・モジュール402には、アクセサリとコンピューティング・デバイス420との間の厳密にセキュアな通信を容易にするための、追加のセキュリティ機能が構成される。例えば、また限定することなく、アクセサリ400は、多要素認証のために、例えばBluetooth(登録商標)インターフェースといったワイヤレスを通じて、例えばスマート・フォンといったモバイル・デバイスと通信してもよく、または、いくつかの実施形態では、モバイル・デバイスは、ワイヤレス・リンクを通じて多要素認証コードをアクセサリ400に渡してもよい。いくつかの実施形態では、シミュレートされたUSBキーボード404として具体化された論理デバイスは、仮想キーボードである必要はなく、代わりに、他のユーザ入力を受け取るように構成されたHIDでもよい。このような代替ユーザ入力は、ユーザからのマウス・ジェスチャおよびマウス・クリックに従うマウス、ユーザによるスクリーン・タッチを容易にするためのタッチスクリーン、ユーザからのスピーチ・オーディオをサポートするためのマイクロフォン、ゲーム・コントローラ・ボタン押下、スタイラス・ストローク、カメラ画像入力、例えば、また限定することなく、電子指紋識別パッドといった、バイオメトリック・センサ、等を限定することなく含み、このようなデバイスは、チャレンジ・レスポンスがユーザに提示されるものは何でも生成するように構成され得る。追加として、やはり限定することなく、さらなるセキュリティをログイン・プロセスに追加するために、タイミング・デバイスが、前述のデバイスのうちの1つまたは複数と統合されてもよい。このようなHIDはまた、ヒューマン・インターフェース・デバイス出力をコンピューティング・デバイス420に伝送するように構成される。
【0074】
いくつかの実施形態では、論理パスワード・マネージャ・モジュール402は、1つまたは複数の署名付きトークンを通じてコンピューティング・デバイス420に認証されてもよい。いくつかの実施形態では、アクセサリ400のセキュリティは、アクセサリ400内に置かれたリード・オンリ・メモリ(ROM)デバイスを通じてアクセサリ400にプリロードされた秘密鍵を通じた、キー・ペア、すなわち公開鍵暗号化(PKE)の使用を通じて改善されてもよく、公開鍵は、カードもしくはラベルに印刷されること、もしくはリクエストされるとアクセサリ400によってコンピューティング・デバイス420上のオペレーティング・システムにレポートされること、またはその両方が行われる。いくつかの実施形態では、アクセサリ400と共に常駐するファームウェアは、秘密鍵を使用して信頼できるソースから提供されたことを識別するために署名されてもよい。いくつかの実施形態では、ローカル・パスワード・マネージャ・クライアント436は、アクセサリのファームウェアの秘密鍵および署名で、キー・ペアを生成して、アクセサリ400に常駐するプログラマブルROM(PROM)をフラッシュし、次いで、秘密鍵を破棄するように構成されてもよい。この場合、公開鍵は、アクセサリ400に対する将来の検証を実施するために、ローカル・パスワード・マネージャ・クライアント436によって維持される。したがって、アクセサリ400は、ローカル・パスワード・マネージャ・クライアント436で認証されたセッションに応答して、コンピューティング・デバイス420にキーストロークを送ることのみを行うように構成される。そうでなければ、アクセサリ400は、何らかの手段を通じていずれかのデバイスに伝送することはない。
【0075】
論理パスワード・マネージャ・モジュール402は、通信ルート406を介して、仮想キーボード・モジュール、すなわちシミュレートされたUSBキーボード404にパスワードを伝送するようにさらに構成される。追加として、シミュレートされたUSBキーボード404は、論理パスワード・マネージャ・モジュール402からパスワードを受け取り、パスワードを1つまたは複数のキーストロークに変換し、USBインターフェース422を介して処理デバイス426に1つまたは複数のキーストロークを伝送するように構成される。
【0076】
動作中、また、本明細書でさらに詳細に説明されるように、ユーザは、矢印430で示されたように、USBインターフェース430にアクセサリ400を物理的に挿入する。論理パスワード・マネージャ・クライアント436と論理パスワード・マネージャ・モジュールとの間の通信は、USBインターフェース422、USBハブ424、および処理デバイス426を通じて確立される。USB構成は、USBハブ424、またはUSBバス上の複数の論理デバイスとして、アクセサリ400を登録することを容易にする。具体的には、図示の実施形態では、シミュレートされたUSBキーボード404および論理パスワード・マネージャ・モジュール402は、別個の論理エンティティとしてコンピューティング・デバイス420に登録される。
【0077】
ローカル・パスワード・マネージャ・クライアント436は、アプリケーション432もしくはブラウザ434のうちのいずれか1つ、もしくはサービス452およびウェブサイト454、またはその両方へのアクセスのためにユーザが必要とするパスワードをヴォルト460から収集するために、パスワード・ヴォルト460と通信するように構成される。ローカル・パスワード・マネージャ・クライアント436は、暗号化済みパスワードを受け取り、このパスワードは、処理デバイス426を通じて復号され(いくつかの実施形態では、パスワードは既に復号されていてもよい)、次いで、USBハブ424およびUSBインターフェース422を通じて論理パスワード・マネージャ・モジュール402に伝送される。論理パスワード・マネージャ・モジュール402はまた、パスワードを形成するために典型的に使用される英数字および記号を表す個々のキーストロークの生成を通じてパスワードを変換するために、通信ルート406を通じて、シミュレートされたUSBキーボード404にパスワードを伝送するように構成される。キーストロークは、アプリケーション432またはブラウザ434のそれぞれのログオン・フィールドに伝送され、次に、コンピューティング・デバイス420のユーザと、サービス452またはウェブサイト454との間の機能リンクを確立するために、それぞれのサービス452またはウェブサイト454に伝送されてもよい。キーストロークへのパスワードの変換、およびコンピューティング・デバイス420へのキーストロークの伝送が完了すると、パスワードは、論理パスワード・マネージャ・モジュール402から破棄され、したがって、パスワードは、アクセサリ400に格納されない。必要に応じて、アクセサリ400は、矢印430で示されたように、USBポート423から物理的に切り離されてもよい。
【0078】
いくつかの実施形態では、(直接的にローカル・パスワード・マネージャ・クライアント436からのパスワードのソフト入力のための既存のチャネルである)通信チャネル438を通じて、ローカル・パスワード・マネージャ・クライアント436のソフト・フォーカスからブラウザ434およびアプリケーション432へのシフトを克服することを容易にするために、アクセサリ400は、アクセサリ400からコンピューティング・デバイス420にキーストロークがいつ送られるかを制御するように構成された外部ハード・ボタンを含んでもよい。代替として、いくつかの実施形態では、ローカル・パスワード・マネージャ・クライアント436は、適切なフォーカス、すなわち、通信チャネル438またはアクセサリ400を通じた既存のソフト・フォーカスをユーザがクリックするための時間、例えば、限定しないが5秒などを指定するように構成されてもよい。さらに、アクセサリ400によってキーストロークが送られるレートは、人間の入力をより良くシミュレートするように調節されてもよい。例えば、単位時間あたりの一定または平均数のキーストロークは、電子的に可能なものに比べて減速されてもよく、さらに、個々のキー押下の間の時間遅延は、履歴上の人間のタイピング・パターン、物理キーボード上のキー間距離、またはランダムのうちの1つまたは複数に基づいて変化してもよい。
【0079】
図5Aを参照すると、(
図4に示された)ローカル・パスワード・マネージャ・クライアント436などのパスワード・マネージャと通信し、アプリケーション・ログイン・ダイアログ画面における迅速なテキスト入力を容易にするための、(
図4に示された)アクセサリ400などのパスワード・マネージャ・ハードウェア・アクセサリを使用するためのプロセス500を示すフローチャートが提供される。また
図4を参照すると、いくつかの実施形態では、ユーザは、アプリケーション、ブラウザ、サービス、またはウェブサイトのそれぞれのパスワード・フィールドにパスワードを入力しようとすることがあるがテキスト入力制限に遭遇し、例えば、パスワードに関連付けられたソフト・キーボード入力機能がない、すなわち、コピーされたパスワードをペーストすることが、フィールド内で許可さなく、そこで、ユーザは、アクセサリ400と併せてプロセス500を使用することを選ぶことがある。具体的には、プロセス500は、物理的に着脱可能なインターフェース、すなわち、USBインターフェース422における定義されたUSBポート423を介して、物理的に着脱可能なパスワード・マネージャ・ハードウェア・アクセサリ400をコンピューティング・デバイス420と電子的にインターフェースすること(502)を含む。プロセス500はまた、ユーザによって、ローカル・パスワード・マネージャ・クライアント436を、パーソナル・コンピュータのためのパスワード管理アプリケーションとして起動すること(504)を含む。ユーザは、次いで、ローカル・パスワード・マネージャ・クライアント436にログインする(506)。いくつかの実施形態では、ユーザは、コンピューティング・セッションにおいて後でパスワードの難題に遭遇することを予想して、朝、仕事をするために座ることなど、コンピューティング・セッションの始めに、アクセサリ400を連結し、ローカル・パスワード・マネージャ・クライアント436を起動することを選んでもよい。
【0080】
実施形態では、ローカル・パスワード・マネージャ・クライアント436は、クラウド・ベースのパスワード・ヴォルト460と同期し(508)、ローカル・パスワード・マネージャ・クライアント436は、ヴォルト460内のパスワードを復号する(510)。いくつかの実施形態では、ローカル・パスワード・マネージャ・クライアント436は、パスワードのコピーをヴォルト460から抜き出し、処理デバイス426を通じてパスワードを復号してもよい。ユーザは、コンピューティング・デバイス420上でアプリケーション432を起動し(512)、アプリケーション432は、制限されたパスワード入力機能を含む。ユーザはまた、同様の制限的なパスワード入力機能を有する、パスワード制限されたブラウザ434を起動しようとすること、パスワード制限されたサービス452を初期化しようとすること、または、パスワード制限されたウェブサイト454にアクセスすることを行ってもよく、アプリケーション432のための説明されたような同様のアクションが実行されることになる。ユーザは、アプリケーション432におけるパスワード入力ダイアログ・スペースのためのテキスト入力をアクティブにし(514)、ローカル・パスワード・マネージャ・クライアント436は、構成されたように認証プロトコルを実行するためにアクセサリ400と通信する(516)。前述のように、論理パスワード・マネージャ・モジュール402は、ローカル・パスワード・マネージャ・クライアント436にだけ応答するように構成される。
【0081】
図5Bを参照すると、
図5Aのフローチャートの続きが提示されている。
図4および
図5Aを参照し続けると、プロセス500は、認証を条件として、ローカル・パスワード・マネージャ・クライアント436によって、クラウド450に常駐しているパスワード・ヴォルト460からパスワードを受け取ること(518)も含む。論理パスワード・マネージャ・モジュール402は、アクセサリ400内に埋め込まれた論理パスワード・マネージャ・モジュール402において、USBインターフェース422を介して、ローカル・パスワード・マネージャ・クライアント436からの復号されたパスワードを受け取る(520)。パスワードは、論理パスワード・マネージャ・モジュール402から、アクセサリ400内に同様に埋め込まれた、シミュレートされたUSBキーボード404に伝送される(522)。プロセス500は、シミュレートされたUSBキーボード404において、パスワードを1つまたは複数のキーストロークに変換すること(524)をさらに含む。キーストロークは、USBインターフェース422およびUSBハブ424を介して、シミュレートされたUSBキーボード404から処理デバイス426に伝送される(526)。1つまたは複数の実施形態では、キーストロークは、本明細書で説明されるように、互いに通信している、シミュレートされたUSBキーボード404、処理デバイス426、およびアプリケーション432を動作可能にする、任意のデータ・フォーマットの任意のデータを含んでもよい。
【0082】
いくつかの実施形態では、キーストロークは、テキスト文字および記号を含む。いくつかの実施形態では、パスワード文字をキーボード文字と並べるために、キーボード・マッピングが使用される。いくつかの実施形態では、他の任意のタイプのデータ構造が使用されてもよい。例えば、所望の文字の数字シーケンスの入力をシミュレートしつつ、ALTキーを押したままにすることをシミュレートすることによって、特定のロケールの標準的なキーボード上で通常ではタイプ可能でない文字および記号を入力するように、Unicodeテーブルが、Microsoft Windows(登録商標) ALTコードのテーブルと連結されてもよい。いくつかの実施形態では、パスワードおよびキーストロークは、暗号化されたままでもよいし、またはキーストロークは、伝送の前に暗号化されてもよい。いくつかの実施形態では、キーストロークをパスワード・スペースにどのように入力するかについての命令は、キーストロークと共に伝送されてもよい。キーストロークは、アプリケーション432におけるそれぞれのパスワード・スペースに挿入され(528)、ユーザは、アプリケーション432にアクセスし(530)、パスワードは、論理パスワード・マネージャ・モジュール402から破棄される(532)。
【0083】
図6を参照すると、論理的機能が埋め込まれた、「アクセサリ600」と本明細書で呼ばれる、パスワード・マネージャ・ハードウェア・アクセサリ600の実例の構成を示すブロック図が提供されている。
図4も参照すると、少なくともいくつかの実施形態では、アクセサリ600は、パスワード・マネージャとの通信、およびアプリケーション・ログイン・ダイアログ画面における迅速なテキスト入力を容易にする、第2のコンピューティング・デバイス、すなわちモバイル・フォンなどのモバイル・コンピューティング・デバイスの形の電子装置である。アクセサリ600は、
図1および
図2に関して示され説明されたようなコンピューティング環境50、ならびにコンピューティング環境410に類似の、クラウド・ベースのコンピューティング環境610内に埋め込まれて示されている。コンピューティング環境610はまた、第1のコンピューティング・デバイス620およびクラウド650を含み、第1のコンピューティング・デバイス620は、(
図3に示された)コンピューティング・システム100、およびコンピューティング・デバイス420に類似のものであり、クラウド650は、クラウド450と実質的に同一である。実施形態では、第1のコンピューティング・デバイス620は、パーソナル・コンピュータである。
【0084】
少なくともいくつかの実施形態では、アクセサリ600は、論理パスワード・マネージャ・モジュール402に類似の論理モジュールではなく、第1のローカル・パスワード・マネージャ・クライアント602を含み、第1のローカル・パスワード・マネージャ・クライアント602は、ワイヤレスBluetooth(登録商標)プロトコル、赤外線、近距離無線通信(NFC)、Wi-Fi、または類似の短距離ワイヤレス・プロトコルを使用して通信可能に連結され得る、シミュレートされたワイヤレス・キーボード604に通信可能に連結されている。いくつかの実施形態では、シミュレートされたワイヤレス・キーボード604は、ヒューマン・インターフェース・デバイス(HID)と呼ばれる。第1のローカル・パスワード・マネージャ・クライアント602は、通信ルート606を通じて、シミュレートされたワイヤレス・キーボード604に通信可能に連結され、通信ルート606は、本明細書で説明されるような、第1のローカル・パスワード・マネージャ・クライアント602と、シミュレートされたワイヤレス・キーボード604との間の通信を可能にする任意の技術である。実施形態では、シミュレートされたワイヤレス・キーボード604および通信ルート606は、その対照物404および406とそれぞれ実質的に類似のものである。第1のローカル・パスワード・マネージャ・クライアント602は、ローカル・パスワード・マネージャ・クライアント436に類似のものであり、第1のローカル・パスワード・マネージャ・クライアント602は、アクセサリ600上で使用するように構成された論理構造である。
【0085】
1つまたは複数の実施形態では、アクセサリ600は、PC上のパスワード・マネージャがモバイル・デバイス上のパスワード・マネージャを制御するために、例えば、また限定することなく、Bluetooth(登録商標)および近距離無線通信(NFC)といった、1つまたは複数のワイヤレス接続624を通じたワイヤレス・インターフェースを通じて、第1のコンピューティング・デバイス620に連結される。ワイヤレス・インターフェース624およびワイヤレス接続624という用語は、したがって、本明細書では区別なく使用される。したがって、アクセサリ600は、本明細書で説明されるような、コンピューティング環境610内でアクセサリ600の動作を可能にするための、第1のコンピューティング・デバイス620へのワイヤレス周辺デバイスとして構成される。アクセサリ600は、モバイル・フォンなどのモバイル・コンピューティング・デバイスとして構成されるので、アクセサリ600は、(
図3に示された)処理デバイス104に類似の第2の処理デバイス608を含み、コンピューティング・デバイスは、処理デバイス426と実質的に類似の第1の処理デバイス626を含む。第1のローカル・パスワード・マネージャ・クライアント602は、第2の処理デバイス608に通信可能に連結される。
【0086】
第1のコンピューティング・デバイス620は、常駐した1つまたは複数のアプリケーション632およびブラウザ634のためのプラットフォームを提供するという点で、コンピューティング・デバイス420と類似のものである。いくつかの実施形態では、第1のコンピューティング・デバイス620は、少なくともいくつかの実施形態では、パーソナル・コンピュータのためのパスワード管理アプリケーションとして構成された、第2のパスワード・マネージャ・クライアント636をさらに含む。したがって、いくつかの実施形態では、第2のパスワード・マネージャ・クライアント636は、ローカル・パスワード・マネージャ・クライアント436に類似のものである。いくつかの実施形態では、第1のコンピューティング・デバイス620は、パスワード・マネージャを何も含まない。第1のコンピューティング・デバイス620は、1つまたは複数のインターネット接続640を通じてクラウド650に連結される。複数のサービス652およびウェブサイト654が、クラウド650内に常駐している。追加として、1つまたは複数のパスワード・ヴォルト660(1つだけが示されている)がクラウド650内に常駐しており、パスワード・ヴォルト660は、パスワード・ヴォルト660に類似のものである。インターネット接続640を通じてクラウド650と第1のコンピューティング・デバイス620との間を通信および動作連結することは、コンピューティング環境410について説明されたものに類似のものである。第2のパスワード・マネージャ・クライアント636は、直接的に第2のパスワード・マネージャ・クライアント636からパスワードのソフト入力のための既存のチャネルである通信チャネル638を通じて、ブラウザ634およびアプリケーション632に通信可能に連結される。
【0087】
シミュレートされたワイヤレス・キーボード604は、第2の処理デバイス608を通じて、およびワイヤレス接続624を介して第1の処理デバイス626を通じて、アプリケーション632およびブラウザ634に通信可能に連結される。第1のローカル・パスワード・マネージャ・クライアント602は、本明細書で説明されるように、アクセサリ600の動作を可能にする任意の様式で、ワイヤレス接続624およびインターネット接続640を通じてパスワード・ヴォルト660に直接的に通信可能に連結される。第2のローカル・パスワード・マネージャ・クライアント636、通信チャネル638、第2のローカル・パスワード・マネージャ・クライアント636とシミュレートされたワイヤレス・キーボード604との間の通信接続、およびパスワード・ヴォルト660は、第2のローカル・パスワード・マネージャ・クライアント636が二次動作的なアーチファクトであることを示すために、架空の一点鎖線で示されており、第1のローカル・パスワード・マネージャ・クライアント602は、原理動作的なアーチファクトである。但し、実施形態では、第1のローカル・パスワード・マネージャ・クライアント602および第2のパスワード・マネージャ・クライアント636の採用は、入替え可能である。少なくともいくつかの実施形態では、アクセサリ600は、第1のコンピューティング・デバイス620における特定のアプリケーション・プログラムへの応答を、例えば認証プロセスを通じて第1のコンピューティング・デバイス620内の第2のローカル・パスワード・マネージャ・クライアント636に応答するのみなどに制限するように構成される。このような実施形態では、アクセサリ600は、認証プロセスを実施するように構成されていないアプリケーションからの通信を無視するものと理解されてもよい。したがって、第2のローカル・パスワード・マネージャ・クライアント636の動作は、本明細書で説明されるような、ローカル・パスワード・マネージャ・クライアント436について説明されたものに類似のものである。コンピューティング環境410について説明された認証機能は、アクセサリ600と第1のコンピューティング・デバイス620、およびアクセサリ600とパスワード・ヴォルト660との間の通信を確立することに関して、コンピューティング環境610のために実質的に再現される。
【0088】
1つまたは複数の実施形態では、第1のローカル・パスワード・マネージャ・クライアント602は、パスワード・ヴォルト660内のパスワードを復号し(または、アクセサリ600においてローカルに特定のパスワードを復号し)、特定のパスワードをリクエストし、求められた特定のパスワードを受け取るために、インターネット接続640およびワイヤレス接続624を通じてパスワード・ヴォルト660と通信するように構成される。第1のローカル・パスワード・マネージャ・クライアント602は、通信ルート606を介して、パスワードを仮想キーボード・モジュール、すなわちシミュレートされたワイヤレス・キーボード604に伝送するようにさらに構成される。追加として、シミュレートされたワイヤレス・キーボード604は、第1のローカル・パスワード・マネージャ・クライアント602からパスワードを受け取り、パスワードを1つまたは複数のキーストロークに変換し、1つまたは複数のキーストロークを第2の処理デバイス608およびワイヤレス接続624を介して処理デバイス626に伝送するように構成される。シミュレートされたワイヤレス・キーボード604はまた、第2のローカル・パスワード・マネージャ・クライアント636からパスワードを受け取り、パスワードを1つまたは複数のキーストロークに変換し、1つまたは複数のキーストロークを第2の処理デバイス608およびワイヤレス接続624を介して処理デバイス626に伝送するように構成される。実施形態では、第2のローカル・パスワード・マネージャ・クライアントは、パスワードではなく、パスワードへの参照だけを、第1のローカル・パスワード・マネージャ・クライアント602に伝送し、第1のローカル・パスワード・マネージャ・クライアント602は、参照を使用して、どのパスワードを取り出して、シミュレートされたキーボード604に渡すべきかを識別する。したがって、いくつかの実施形態では、パスワードのリクエストは、第1のコンピューティング・デバイス620上で動作する第2のローカル・パスワード・マネージャ・クライアント636によって、電子インターフェース、すなわちワイヤレス接続624を介してパスワード・マネージャ・ハードウェア・アクセサリ600上の第1のローカル・パスワード・マネージャ・クライアント602に伝送され、パスワードは、参照によって識別される。
【0089】
動作中、また、本明細書でさらに詳細に説明されるように、ユーザは、アクセサリ600と第1のコンピューティング・デバイス620との間の通信を確立するために、本明細書で説明されるような1つまたは複数の認証プロトコルを使用したワイヤレス接続624を通じて、アクセサリ600を第1のコンピューティング・デバイス620にワイヤレス接続する。具体的には、図示の実施形態では、シミュレートされたワイヤレス・キーボード604および第1のローカル・パスワード・マネージャ・クライアント602は、別個の論理エンティティとして第1のコンピューティング・デバイス620に登録される。第1のローカル・パスワード・マネージャ・クライアント602は、アプリケーション632もしくはブラウザ634、またはサービス652およびウェブサイト654、またはその両方のうちのいずれか1つへのアクセスのためにユーザが必要とするパスワードをヴォルト660から収集するために、パスワード・ヴォルト660と通信するように構成される。
【0090】
第1のローカル・パスワード・マネージャ・クライアント602は、第2の処理デバイス608を通じて復号された、暗号化済みパスワードを受け取り(いくつかの実施形態では、パスワードは、既に復号されていてもよい)、復号されたパスワードは、次いで、第1のローカル・パスワード・マネージャ・クライアント602に伝送される。第1のローカル・パスワード・マネージャ・クライアント602はまた、パスワードを形成するために典型的に使用される英数字および記号を表す個々のキーストロークを生成することを通じてパスワードを変換するために、通信ルート606を通じて、シミュレートされたワイヤレス・キーボード604にパスワードを伝送するように構成される。キーストロークは、アプリケーション632またはブラウザ634のそれぞれのログオン・フィールドに伝送され、次に、第1のコンピューティング・デバイス620のユーザと、サービス652またはウェブサイト654との間の機能リンクを確立するために、それぞれのサービス652またはウェブサイト654に伝送されてもよい。キーストロークへのパスワードの変換および第1のコンピューティング・デバイス620へのキーストロークの伝送が完了すると、パスワードは、第1のローカル・パスワード・マネージャ・クライアント602内に維持されて、今後この特定のパスワードを速やかに使用し易くするものとされてもよい。少なくともいくつかの実施形態では、ユーザは、アクセサリ600からパスワードをクリアするための選択肢を維持する。
【0091】
第1のローカル・パスワード・マネージャ・クライアント602および第2のローカル・パスワード・マネージャ・クライアント636両方を含むいくつかの実施形態では、(直接的に第2のローカル・パスワード・マネージャ・クライアント636からパスワードのソフト入力のための既存チャネルである)通信チャネル638を通じた、ブラウザ634およびアプリケーション632への第2のパスワード・マネージャ・クライアント636のソフト・フォーカスからのシフトを克服し易くするように、アクセサリ600は、第1のローカル・パスワード・マネージャ・クライアント602内に常駐した論理的機能を含んでもよい。このような論理的機能は、キーストロークがアクセサリ600からコンピューティング・デバイス620に送られる時期を制御するように構成された選択可能なソフト制御機能として具体化されてもよい。代替として、いくつかの実施形態では、第1のローカル・パスワード・マネージャ・クライアント602は、適切なフォーカス、すなわち通信チャネル638を通じた既存のソフト・フォーカスまたはアクセサリ600のいずれかをユーザがクリックするための時間、例えば、限定しないが5秒などを指定するように構成されてもよい。
【0092】
図7Aを参照すると、(
図6に示された)第1のローカル・パスワード・マネージャ・クライアント602などのパスワード・マネージャと通信するため、およびアプリケーション・ログイン・ダイアログ画面における迅速なテキスト入力を容易にするために、(
図6に示された)アクセサリ600などのパスワード・マネージャ・ハードウェア・アクセサリを使用するためのプロセス700を示すフローチャートが提供される。
図6も参照すると、いくつかの実施形態では、ユーザは、アプリケーション、ブラウザ、サービス、またはウェブサイトのそれぞれのパスワード・フィールドにパスワードを入力しようとすることがあるが、テキスト入力制限に遭遇し、例えば、パスワードに関連付けられたソフト・キーボード入力機能がない、すなわち、コピーされたパスワードをフィールドにペーストすることが許可されなく、そこで、ユーザは、アクセサリ600と併せてプロセス700を使用することを選んでもよい。具体的には、プロセス700は、第1のコンピューティング・デバイス620において、電子インターフェース、すなわちワイヤレス接続624を介して、アクセサリ600を登録すること(702)を含む。プロセス700はまた、ユーザによって、第1のローカル・パスワード・マネージャ・クライアント602を、スマート・フォンなどのモバイル・デバイスのためのパスワード管理アプリケーションとして起動すること(704)を含む。ユーザは、次いで、モバイル・デバイスを通じて、第1のローカル・パスワード・マネージャ・クライアント602にログインする(706)。
【0093】
実施形態では、第2のコンピューティング・デバイス、すなわちアクセサリ600は、第1のコンピューティング・デバイス620にワイヤレスで連結され、登録されたアクセサリ600は、第1のコンピューティング・デバイス620で認証され、第1のコンピューティング・デバイス620と同期される(708)。第1のローカル・パスワード・マネージャ・クライアント602は、クラウド・ベースのパスワード・ヴォルト660と同期し(710)、第1のローカル・パスワード・マネージャ・クライアント602は、ヴォルト660内のパスワードを復号する(712)。いくつかの実施形態では、第1のローカル・パスワード・マネージャ・クライアント602は、ヴォルト660からパスワードのコピーを取り出し、処理デバイス608を通じてパスワードを復号してもよい。ユーザは、第1のコンピューティング・デバイス620上のアプリケーション632を起動し(714)、アプリケーション632は、制限されたパスワード入力機能を含む。ユーザはまた、類似の制限的なパスワード入力機能を有し、アプリケーション632について説明されたような類似のアクションが実行されることになる、パスワード制限されたブラウザ634を起動しようとするか、パスワード制限されたサービス652を初期化しようとするか、パスワード制限されたウェブサイト654にアクセスしてもよい。ユーザは、アプリケーション632におけるパスワード入力ダイアログ・スペースのためのテキスト入力をアクティブにする(716)。
【0094】
図7Bを参照すると、
図7Aのフローチャートの続きが提示されている。
図6および
図7Aへの参照を続けると、プロセス700はまた、認証を条件として、第1のローカル・パスワード・マネージャ・クライアント602によって、クラウド650に常駐したパスワード・ヴォルト660からパスワードを受け取ること(718)を含む。第1のローカル・パスワード・マネージャ・クライアント602は、第2の処理デバイス608を通じて復号される、暗号化済みパスワードを受け取り(いくつかの実施形態では、パスワードは、既に復号されていてもよい)、復号されたパスワードは、次いで、第1のローカル・パスワード・マネージャ・クライアント602に伝送される。パスワードは、第1のローカル・パスワード・マネージャ・クライアント602からシミュレートされたワイヤレス・キーボード604に伝送される(720)。プロセス700は、シミュレートされたワイヤレス・キーボード604において、パスワードを1つまたは複数のキーストロークに変換すること(722)をさらに含む。キーストロークは、ワイヤレス・インターフェース624を介して、シミュレートされたワイヤレス・キーボード604から第1のコンピューティング・デバイス620内の第1の処理デバイス626に伝送される(724)。1つまたは複数の実施形態では、キーストロークは、本明細書で説明されるように、および
図4のコンピューティング環境410について説明されたような様式で、互いに通信している、シミュレートされたワイヤレス・キーボード604、第1の処理デバイス626、およびアプリケーション632を動作可能にする、任意のデータ・フォーマットの任意のデータを含んでもよい。キーストロークは、アプリケーション632におけるそれぞれのパスワード・スペースに挿入され(726)、ユーザは、アプリケーション632にアクセスする(728)。
【0095】
第1のコンピューティング・デバイス620が、第2のローカル・パスワード・マネージャ・クライアント636を含み、ユーザが、第1のローカル・パスワード・マネージャ・クライアント602を使用しないことを選ぶ実施形態では、第2のローカル・パスワード・マネージャ・クライアント636は、第1のローカル・パスワード・マネージャ・クライアント602が実施するはずのプロセス700の動作を実行する。
【0096】
本明細書で開示されたような装置および方法は、パスワード保護された機能またはアプリケーションに関連付けられたパスワード・フィールドへの、パスワード資格証明の自動挿入を容易にするための、公知のシステム、装置、および方法の短所および制限を克服し易くする。装置および方法は、パーソナル・コンピュータと、USBアクセサリ・デバイスまたはモバイル・デバイスとの間の動作および通信可能に連結を含み、これらのデバイスには、パーソナル・コンピュータと当該デバイスとの協働に必要な論理的機能が常駐するが、この協働は、クラウド・ベースのパスワード・ヴォルトとの通信を確立し、所望のパスワードを取り出して復号し、パスワードをキーストロークに変換(translate)し、それぞれのフィールドへの挿入のためにキーストロークをパーソナル・コンピュータに伝送するためのものである。このような構成は、セキュリティを改善するために、コンピューティング・デバイスの外部のパスワード・ヴォルト、およびアクセサリを維持する。例えば、いくつかの実施形態では、クラウド・ベースのパスワード・ヴォルトは、ハードウェア・アクセサリがあってもなくても、パスワードがアクセスされ、コンピューティング・デバイス間で同期されることを可能にすることを容易にする。USB構成は、コンピューティング・デバイス上のUSBプロトコルが、本明細書で説明されるような単一のアクセサリを含む、複数のデバイスを容易にするように典型的に構成されるので、コンピューティング・デバイス上のアクセサリの登録を容易にする。追加として、シミュレートされたキーボードとアクセサリ内の論理パスワード・マネージャとの間の通信は、パーソナル・コンピュータ上のUSBネットワークには完全に見えなくてもよい。同様に、モバイル・デバイス上のこのような通信は、パーソナル・コンピュータには見えなくてもよい。したがって、本明細書で説明されるような構成は、コンピューティング・デバイス内の追加の内部バスが、本明細書で説明される特徴を受け入れるためにインストールされる必要をなくす。
【0097】
追加として、本明細書で開示された実施形態は、テキスト入力制限(例えば、ソフト・キーボード入力、および、コピーされたパスワードをパスワード・フィールドにペーストすることを許容しないことなどの機能)を克服すること容易にする。したがって、ユーザがパスワードを入力したいと思い、このような制限に遭遇したとき、ユーザは、パスワード・マネージャにおいて所望のパスワードを単にアクティブにし、次いで、テキスト入力フォーカスを、アクセサリがハード・キーストロークを生成するパスワード・フィールドに自動的または手動的に変更する。特に、本明細書で説明される装置、システム、および方法は、(パーソナル・コンピュータ、USBデバイス、およびモバイル・フォンを含む)様々な市販のコンピューティング・デバイス、ならびにそれぞれのオペレーティング・システムには実質的に不可知論的である。
【0098】
本開示の様々な実施形態の説明は、例証のために提示されてきたが、網羅的であること、または開示の実施形態に限定されることを意図するものではない。多くの変更形態および変形形態が、説明された実施形態の範囲から逸脱することなく、当業者には明らかであろう。本明細書で使用される専門用語は、実施形態の原理、実用的用途、もしくは市場で見つかる技術に対する技術的改善を最も良く説明するように、または、本明細書で開示された実施形態を当業者が理解できるように、選ばれた。
【手続補正書】
【提出日】2023-09-21
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピューティング・デバイスに動作可能に連結された電子インターフェースであって、前記コンピューティング・デバイスが、処理デバイスと、前記処理デバイスに通信可能に連結されたローカル・パスワード・マネージャ・クライアントとを含む、前記電子インターフェースと、
前記電子インターフェースに通信可能に連結されたパスワード・マネージャ・モジュールであって、前記ローカル・パスワード・マネージャ・クライアントと通信するように構成された、前記パスワード・マネージャ・モジュールと、
前記パスワード・マネージャ・モジュールに通信可能に連結された仮想キーボード・モジュールであって、前記仮想キーボード・モジュールが、前記電子インターフェースを介して論理キーボードを前記処理デバイスに提示するように構成され、
前記パスワード・マネージャ・モジュールが、前記電子インターフェースを介して前記ローカル・パスワード・マネージャ・クライアントからパスワードを受け取るように構成され、
前記パスワード・マネージャ・モジュールが、前記パスワードを前記仮想キーボード・モジュールに伝送するようにさらに構成され、
前記仮想キーボード・モジュールが、前記電子インターフェースを介して1つまたは複数のキーストロークを前記処理デバイスに伝送するように構成される、
前記仮想キーボード・モジュールと
を備える、電子装置。
【請求項2】
前記電子インターフェースは、物理的に着脱可能なユニバーサル・シリアル・バス(USB)デバイスのためのポートを備える、請求項1に記載の電子装置。
【請求項3】
前記仮想キーボード・モジュールは、前記パスワードを前記1つまたは複数のキーストロークに変換するようにさらに構成される、請求項1
または2に記載の電子装置。
【請求項4】
前記パスワード・マネージャ・モジュールは、前記ローカル・パスワード・マネージャ・クライアントを介してクラウド・ベースのコンピューティング環境から受け取られた前記パスワードをパスワード・ヴォルトから取り出すように構成される、請求項1
~3のいずれか1項に記載の電子装置。
【請求項5】
前記パスワード・マネージャ・モジュールは、前記パスワードを破棄するように構成される、請求項1
~4のいずれか1項に記載の電子装置。
【請求項6】
前記ローカル・パスワード・マネージャ・クライアントは、パーソナル・コンピュータのためのパスワード管理アプリケーションとして構成される、請求項1
~5のいずれか1項に記載の電子装置。
【請求項7】
前記パスワード・マネージャ・モジュールは、前記ローカル・パスワード・マネージャ・クライアント以外の少なくとも1つのアプリケーションからの通信を無視するように構成される、請求項1
~6のいずれか1項に記載の電子装置。
【請求項8】
物理的に着脱可能なインターフェースを介して、物理的に着脱可能なパスワード・マネージャ・ハードウェア・アクセサリをコンピューティング・デバイスと電子的にインターフェースすることであって、前記コンピューティング・デバイスが、処理デバイスを含む、前記インターフェースすることと、
前記パスワード・マネージャ・ハードウェア・アクセサリ内に埋め込まれたパスワード・マネージャ・モジュールにおいて、
電子インターフェースを介して、ローカル・パスワード・マネージャ・クライアントからのパスワードを、前記処理デバイスを介して前記コンピューティング・デバイスから受け取ることと、
前記パスワード・マネージャ・モジュールからの前記パスワードを、前記パスワード・マネージャ・ハードウェア・アクセサリ内に埋め込まれた仮想キーボード・モジュールに伝送することと、
前記仮想キーボード・モジュールにおいて、前記パスワードを1つまたは複数のキーストロークに変換することと、
前記仮想キーボード・モジュールからの前記1つまたは複数のキーストロークを、前記電子インターフェースを介して前記処理デバイスに伝送することと
を含む、方法。
【請求項9】
電子インターフェースを介して、第1のコンピューティング・デバイスにおいてパスワード・マネージャ・ハードウェア・アクセサリを登録することであって、前記第1のコンピューティング・デバイスが、第1の処理デバイスを含み、前記パスワード・マネージャ・ハードウェア・アクセサリが、第2の処理デバイスを含む、前記登録することと、
前記第1のコンピューティング・デバイスにおいて、前記電子インターフェースを介して、前記パスワード・マネージャ・ハードウェア・アクセサリ上の仮想キーボード・モジュールからの、パスワードを定義した1つまたは複数のキーストロークを受け取ることであって、前記パスワードが、クラウド・ベースのコンピューティング環境に常駐したパスワード・ヴォルトから取り出される、前記受け取ることと
を含む、方法。
【請求項10】
前記第1のコンピューティング・デバイスにおいて、前記第1のコンピューティング・デバイス上で動作するローカル・パスワード・マネージャ・クライアントによって前記パスワードを取り出すことであって、前記ローカル・パスワード・マネージャ・クライアントが、前記パスワード・ヴォルトと通信するように構成される、前記取り出すことと、
前記電子インターフェースを介して、前記ローカル・パスワード・マネージャ・クライアントからの前記パスワードを前記パスワード・マネージャ・ハードウェア・アクセサリに伝送することであって、仮想キーボード・モジュール・パスワード・マネージャ・ハードウェア・アクセサリが、前記パスワードを前記1つまたは複数のキーストロークに変換するように構成される、前記伝送することと
をさらに含む、請求項
9に記載の方法。
【請求項11】
前記電子インターフェースはワイヤレスである、請求項
10に記載の方法。
【請求項12】
前記パスワード・マネージャ・ハードウェア・アクセサリは、前記ローカル・パスワード・マネージャ・クライアント以外の前記第1の処理デバイス上で動く少なくとも1つのアプリケーションからの通信を無視するように構成される、請求項
10または11に記載の方法。
【請求項13】
前記パスワードは、前記パスワード・マネージャ・ハードウェア・アクセサリにおいて、ローカル・パスワード・マネージャ・クライアントによって取り出され、前記ローカル・パスワード・マネージャ・クライアントは、前記パスワード・マネージャ・ハードウェア・アクセサリにおいて上で動作し、前記パスワード・ヴォルトと通信するように構成され、
前記パスワード・マネージャ・ハードウェア・アクセサリは、前記パスワードを前記1つまたは複数のキーストロークに変換し、前記電子インターフェースを介して前記1つまたは複数のキーストロークを送るように構成される、
請求項
9~12のいずれか1項に記載の方法。
【請求項14】
前記電子インターフェースはワイヤレスである、請求項
13に記載の方法。
【請求項15】
前記電子インターフェースを介して、前記第1のコンピューティング・デバイス上で動作する第2のローカル・パスワード・マネージャ・クライアントによって、前記パスワード・マネージャ・ハードウェア・アクセサリ上の前記ローカル・パスワード・マネージャ・クライアントに前記パスワードのリクエストを伝送することであって、前記パスワードが、参照によって識別される、前記伝送すること
をさらに含む、請求項
13または14に記載の方法。
【請求項16】
具体化された命令を備え、前記命令が、請求項8~
15のいずれかに記載の方法を前記プロセッサに実施させるようにプロセッサによって実行可能である、コンピュータ・プログラム。
【請求項17】
請求項16に記載のコンピュータ・プログラムを記録した、コンピュータ可読ストレージ媒体。
【国際調査報告】