特許第5978307号(P5978307)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ アマゾン テクノロジーズ インコーポレイテッドの特許一覧

特許5978307ポリシー遵守に基づくセキュアデータアクセス
<>
  • 特許5978307-ポリシー遵守に基づくセキュアデータアクセス 図000002
  • 特許5978307-ポリシー遵守に基づくセキュアデータアクセス 図000003
  • 特許5978307-ポリシー遵守に基づくセキュアデータアクセス 図000004
  • 特許5978307-ポリシー遵守に基づくセキュアデータアクセス 図000005
  • 特許5978307-ポリシー遵守に基づくセキュアデータアクセス 図000006
  • 特許5978307-ポリシー遵守に基づくセキュアデータアクセス 図000007
  • 特許5978307-ポリシー遵守に基づくセキュアデータアクセス 図000008
  • 特許5978307-ポリシー遵守に基づくセキュアデータアクセス 図000009
  • 特許5978307-ポリシー遵守に基づくセキュアデータアクセス 図000010
  • 特許5978307-ポリシー遵守に基づくセキュアデータアクセス 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5978307
(24)【登録日】2016年7月29日
(45)【発行日】2016年8月24日
(54)【発明の名称】ポリシー遵守に基づくセキュアデータアクセス
(51)【国際特許分類】
   G06F 21/44 20130101AFI20160817BHJP
   G06F 21/57 20130101ALI20160817BHJP
【FI】
   G06F21/44
   G06F21/57
【請求項の数】14
【全頁数】26
(21)【出願番号】特願2014-533693(P2014-533693)
(86)(22)【出願日】2012年9月26日
(65)【公表番号】特表2014-529154(P2014-529154A)
(43)【公表日】2014年10月30日
(86)【国際出願番号】US2012057383
(87)【国際公開番号】WO2013049246
(87)【国際公開日】20130404
【審査請求日】2014年3月27日
(31)【優先権主張番号】13/246,445
(32)【優先日】2011年9月27日
(33)【優先権主張国】US
【前置審査】
(73)【特許権者】
【識別番号】506329306
【氏名又は名称】アマゾン テクノロジーズ インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】特許業務法人 谷・阿部特許事務所
(72)【発明者】
【氏名】グレイム ディー.ベイア
(72)【発明者】
【氏名】グレゴリー ビー.ロス
【審査官】 平井 誠
(56)【参考文献】
【文献】 特開2010−141705(JP,A)
【文献】 米国特許出願公開第2007/0130472(US,A1)
【文献】 特表2007−520763(JP,A)
【文献】 国際公開第2009/001447(WO,A1)
【文献】 米国特許出願公開第2007/0006289(US,A1)
【文献】 特開2005−293117(JP,A)
【文献】 特開2002−366525(JP,A)
【文献】 特開2010−286883(JP,A)
【文献】 特開2005−094619(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21
(57)【特許請求の範囲】
【請求項1】
サーバによってクライアントを認証する方法であって、前記方法は、
実行可能命令とともに構成される1または複数のコンピュータシステムの制御下で、
前記クライアントからセキュア情報へのアクセス要求を受信することであって、前記要求は、前記クライアントおよび前記サーバにアクセス可能な認証シードに少なくとも部分的に基づいて生成される応答コードを少なくとも含み、前記応答コードは前記認証シードとは異なる、ことと、
前記要求を受信した時に、1組の命令を前記クライアントに送ることであって、前記1組の命令は、前記クライアントによって実行される、ことと、
前記クライアントのセキュリティ設定が1組のセキュリティポリシーを遵守するかどうかを判定するために、前記クライアントから1組のセキュリティパラメータ値を受信することであって、前記1組のセキュリティパラメータ値は、前記サーバが前記判定を行うことを可能にする、前記1組の命令の実行による出力を含む、ことと、
前記1組のセキュリティパラメータ値を受信したことに応答して、前記1組のセキュリティパラメータ値が、前記クライアントが前記1組のセキュリティポリシーを遵守することを示すかどうかを判定することであって、前記1組のセキュリティパラメータ値に含まれる前記出力は、前記クライアントが前記1組のセキュリティポリシーを遵守することを示す肯定応答値である、ことと、
前記クライアントが前記1組のセキュリティポリシーを遵守すると判定した時に、前記クライアントがセキュア情報にアクセスすることを可能にすることと、
を備える方法。
【請求項2】
前記要求を受信した時に、前記クライアントに前記1組のセキュリティパラメータ値を要求することであって、前記1組のセキュリティパラメータ値は、前記サーバによって課される前記1組のセキュリティポリシーに対応する、ことをさらに備える、請求項1の方法。
【請求項3】
前記応答コードの前記生成はさらに、ユーザ名、パスワード、現在の時間、カウンタ、以前の認証コード、または前記要求の少なくとも1つに基づく、請求項1の方法。
【請求項4】
前記判定することは、前記1組のセキュリティパラメータ値が対応する1組のポリシーを遵守することを証明するために、ポリシー施行エージェントとリアルタイムで通信することを備える、請求項1の方法。
【請求項5】
前記1組のセキュリティパラメータ値は、前記クライアントの現在位置の識別子を含み、前記識別子は、対応するセキュリティポリシーによって指定される許容領域内にある、請求項1の方法。
【請求項6】
前記要求はさらに、ユーザ名およびパスワードを含み、前記クライアントの情報へのアクセスは、前記ユーザ名および前記パスワードを検証した時点で可能になる、請求項1の方法。
【請求項7】
前記1組のセキュリティポリシーは、前記クライアントと、前記判定を行う認証パーティによって選択される場所との間の最大許容距離を含む、請求項1の方法。
【請求項8】
セキュリティポリシーを遵守することを通してセキュア情報へのアクセスを取得するように構成されたコンピュータシステムであって、
命令を含むメモリに連結される、少なくとも1つのプロセッサを備え、前記命令は、実行時に、前記コンピュータシステムに、
セキュア情報へのアクセスを提供するアプリケーションを起動することと、
シード値に少なくとも部分的に基づいて認証コードをクライアント上で生成することであって、前記認証コードは前記シード値とは異なる、ことと、
セキュア情報へのアクセス要求をサーバに送信することであって、前記要求は、少なくとも前記認証コードを含む、ことと、
前記アクセス要求に応答して前記サーバによって送信された1組の命令を実行することと、
1組のパラメータ値を、前記クライアントが1組のセキュリティポリシーを遵守するかどうかを判定するように構成される前記サーバに提供することであって、前記1組のパラメータ値は、前記サーバが前記判定を行うことを可能にする、前記1組の命令の実行による出力を含み、前記出力は、前記クライアントが前記1組のセキュリティポリシーを遵守することを示す肯定応答値である、ことと、
前記クライアントが前記1組のセキュリティポリシーを遵守すると判定されたときに、前記セキュア情報へのアクセスを取得することと、
を実行させる、コンピュータシステム。
【請求項9】
前記メモリはさらに、実行時に、前記コンピュータシステムに、
前記1組のセキュリティポリシーに関連する前記1組のパラメータ値の要求を受信することを実行させる命令を含む、請求項8のコンピュータシステム。
【請求項10】
前記認証コードは、前記クライアントへブートストラップされる、認証シードを含むアプリケーションを使用して生成される、請求項8のコンピュータシステム。
【請求項11】
前記メモリはさらに、実行時に、前記コンピュータシステムに、
前記クライアントの場所判定要素を使用して、現在位置を判定することであって、前記サーバに送信される前記1組のパラメータ値の1つは、前記判定された場所に基づく、ことを実行させる命令を含む、請求項8のコンピュータシステム。
【請求項12】
前記メモリはさらに、実行時に、前記コンピュータシステムに、
前記1組のセキュリティポリシーの更新バージョンを要求することと、
前記1組のセキュリティポリシーの前記更新バージョンを使用して、前記クライアントが遵守するかどうかを判定することと
を実行させる命令を含む、請求項8のコンピュータシステム。
【請求項13】
前記更新バージョンは、クライアントが更新されたセキュリティポリシーを遵守することを確実にするために、セキュア情報への前記アクセス要求が行われる度に取り出される、請求項12のコンピュータシステム。
【請求項14】
前記クライアントが、リモートワイプ能力を可能にすること、および最小ピン長という要件のうちの少なくとも1つを含むときに、前記クライアントは、前記1組のセキュリティポリシーの1つを遵守する、請求項8のコンピュータシステム。
【発明の詳細な説明】
【背景技術】
【0001】
人々は、電子メールの確認、会社情報へのアクセス、および企業連絡先の管理等の種々の異なるタスクについて、ますますコンピューティングデバイスを利用している。コンピューティングデバイスを通してアクセスされている情報量が増加するにつれて、コンピューティングデバイスに記憶される、またはそれによってアクセス可能な情報を保護することに対する必要性も絶えず増加している。種々のコンピューティングリソースへのアクセスを制御するために、およびコンピューティングデバイスを通してアクセス可能な情報を保護するために、ポリシーが適用され得る。
【0002】
ポリシー施行は、しばしば、1つ以上のコンピューティングリソースへのアクセスを獲得するために、ユーザが、種々のプロセスを通して、ユーザの識別情報を確認する、ユーザ認証を含む。種々の理由から、ユーザは、機密またはセキュア情報を含む種々のタイプの情報へのアクセスを取得することを望み得、それは、ユーザに、ユーザのコンピューティングデバイスにそのような情報へのアクセスを提供することが望ましくなり得る。こうした事例のいくつかでは、しばしば、ユーザアクセスを付与する前に、より信頼性のある認証(多要素認証等)を必要とすることが望ましい。信頼性のある認証を達成するための従来の手法は、煩雑になる可能性があり、多くの場合、不必要なリスクを伴い得る。
【図面の簡単な説明】
【0003】
以下、本開示に従う種々の実施態様を、図面を参照して説明する。
【0004】
図1】一実施形態に従って使用することができる、ネットワーク構成の実施例を示す図である。
図2】いくつかの実施形態に従う認証コードの生成時に、クライアントが一連のセキュリティポリシーを遵守することを検証するための、操作フローの実施例を示す図である。
図3】いくつかの実施形態に従って、クライアントのセキュア情報へのアクセスを可能にする前に、クライアントが一連のセキュリティポリシーを遵守することを検査するための、例示的な操作フローを示す図である。
図4】一実施形態に従ってクライアントが多要素認証サーバによって施行される1組のセキュリティポリシーを遵守することを検証するための、例示的なプロセスを示す図である。
図5】いくつかの実施形態に従って1組のセキュリティポリシーを遵守することを通してセキュア情報へのアクセスを取得するための、例示的なプロセスを示す図である。
図6】いくつかの実施形態に従ってサーバによってクライアントを認証するための、例示的なプロセスを示す図である。
図7】いくつかの実施形態に従ってセキュリティポリシーを遵守することを通してセキュア情報へのアクセスを取得するための、例示的なプロセスを示す図である。
図8】いくつかの実施形態に従って使用することができる、例示的な携帯型コンピューティングデバイスの正面図および背面図を示す図である。
図9図8に関して説明されるデバイス等の、電子コンピューティングデバイスの1組の基本構成要素を示す図である。
図10】種々の実施形態が実現することができる環境を示す図である。
【発明を実施するための形態】
【0005】
本開示の種々の実施形態に従うシステムおよび方法は、電子環境において機密情報および/またはリソースへのアクセスを管理するために従来の手法で経験する、上述のおよび他の欠陥の1つ以上を解決し得る。具体的には、いくつかの実施形態は、電子デバイスのユーザが機密情報および/またはリソースにアクセスすることを可能にする前に、電子デバイスがいくつかのセキュリティポリシーを遵守することを必要とし得る。例えば、いくつかの実施形態は、最小長のパスワードを必要とすること、数回の試行失敗後の自動セルフワイプを必要とすること(すなわち、デバイスがメモリから全てのデータを削除することを必要とすること)、記憶装置の暗号化を必要とすること、リモートワイプ能力を必要とすること(すなわち、デバイスが、デバイスの管理者またはユーザがメモリの中のデータを遠隔に削除する能力を有することを可能にすることを必要とすること)、デバイスが特定の領域内に位置することを必要とすること、デバイスがある高度または温度範囲内にあることを必要とすること、等の、いくつかのセキュリティ特徴がデバイスで施行されると判定されるときにだけ、電子デバイスが、機密もしくはセキュア情報および/またはリソースへのアクセスを取得することを可能にする。
【0006】
いくつかの実施形態は、認証シードまたは共有秘密鍵等のランダム鍵を使用して、認証コードまたは検証コードを生成することができる、認証コード生成アプリケーションを提供する。ランダム鍵は、少なくとも2つのパーティ(例えば、クライアントデバイスおよびサーバ)によって共有することができ、パーティ間の認証を可能にする。このアプリケーションをクライアントデバイスで起動させると、例えば、クライアントデバイス(またはいくつかの実施形態のモバイルコンピューティングデバイス)は、デバイスコンプライアンスを確認するために、要求をサーバに自動的に送ることができる。
【0007】
いくつかの実施形態において、要求は、ユーザの信用情報(例えば、ユーザ名、パスワード)を含む。いくつかの事例において、クライアントデバイスはまた、クライアントデバイスに関する情報(例えば、ユーザがデバイスのコンテンツへのアクセスを獲得する前にクライアントデバイスに必要とされるピン長、デバイスの場所情報、デバイスがあるセキュリティ要件を遵守するかどうか(すなわち、確認肯定応答)、等)を含む、1組のセキュリティパラメータ値も提供し得る。いくつかの実施形態のサーバは、クライアントデバイスが、(例えば、第三者のポリシー施行エージェントに判定を行うことを要求することによって、プログラムコードを実行用のクライアントデバイスに伝送することによって、クライアントデバイスに、判定を行うクライアントデバイスにインストールされたプログラムを実行させることによって)、課される規則およびポリシーを遵守するかどうかを判定する。
【0008】
クライアントデバイスが課されたセキュリティポリシーを遵守すると判定した時点で、サーバは、この実施形態において、クライアントデバイスに認証シードを発行する。いくつかの実施形態において、クライアントデバイスのアプリケーションは、認証シードを使用して、ユーザが機密情報へのアクセスを取得するために必要な認証コードを生成する。いくつかの実施形態は、有効なユーザ名、パスワード、および認証コードを受け取った時点で、セキュア情報へのアクセスを提供する。例えば、クライアントデバイスの同じまたは異なるアプリケーションは、ユーザが有効なユーザ名、パスワード、および認証コードを入力した時点で、企業データへのユーザアクセスを提供し得る。
【0009】
いくつかの実施形態において、認証コード生成アプリケーションは、起動された時点で、認証コードを生成する。初期シーケンスまたは共有秘密は、アプリケーションがデバイスに記憶または予めロードされた共有秘密を使用して認証コードを生成し得るように、クライアントデバイスでブートストラップされ得る。認証コードは、共有秘密に加えて、ユーザの信用情報(例えば、ユーザ名、パスワード)、現在のタイムスタンプ、および/またはイベント(例えば、選択可能なユーザインターフェースアイテムのユーザ選択時)に基づいて生成され得る。いくつかの実施形態において、デバイスは、一連のデータ文字のユーザ入力を通して、認証コードがその中に埋め込まれ得るクイックレスポンス(QR)コードを走査することを通して、共有秘密を取得し得る。
【0010】
アプリケーションでの認証コードの生成時に、いくつかの実施形態のクライアントデバイスは、サーバが、クライアントデバイスがセキュリティポリシーを遵守するかどうかを判定するために、要求をサーバ(例えば、プロビジョニングサーバ)に自動的に送る。いくつかの実施形態において、サーバは、第三者のポリシー施行エージェントが、クライアントデバイスが現在セキュリティポリシーを遵守しているかどうかを判定することを可能にする。いくつかの実施形態は、サーバが、クライアントデバイスが遵守するかどうかを判定する際に実行するためのプログラムコードを、クライアントデバイスに送ることを可能にする。いくつかの実施形態のサーバは、クライアントデバイスに、判定を行うためにクライアントデバイスにインストールされるプログラムを実行させる。
【0011】
クライアントデバイスが、セキュリティポリシーを遵守することを検証した時点で、サーバは、機密情報および/またはリソースへのクライアントデバイスアクセスを付与する。いくつかの実施形態において、機密情報は、企業電子メール、企業連絡先、および/またはカレンダー情報であり得る。セキュア情報へのアクセスを可能にする前に、クライアントデバイスでの一連のセキュリティポリシー(例えば、企業ポリシー)を遵守することを必要とすることによって、関心のパーティ(例えば、企業)は、セキュア情報が十分に保護されていることを相当に保証することができる。セキュリティポリシーはまた、クライアントデバイスがそれに応じてそのセキュリティ設定を調整するように、その時々に応じても更新され得る。いくつかの実施形態において、ポリシーチェックは、定期的に行われるが、いくつかの実施形態は、検証の試行が行われる度に(例えば、ユーザが企業の電子メールアカウントへのログインを試みるときに)、ポリシーチェックを行う。
【0012】
種々の他のアプリケーション、機能、および利点は、種々の実施形態に関して下で提示される。説明および図面は、いくつかの実施例を提供するが、種々の実施形態の範囲内で可能な代替例および変形例が、完全に説明されないことを理解されたい。しかしながら、代替例および変形例は、本明細書に含まれる教示および提案に照らして当業者に明らかになるであろう。
【0013】
図1は、一実施形態に従って使用することができる、ネットワーク構成の実施例を図示する。この実施例において、エンドユーザデバイスまたはクライアントデバイス102は、ネットワーク104を通して、少なくとも1つのホストまたはサーバ106にアクセスするように接続することができる。クライアントは、1つ以上の共有秘密鍵または認証シードを記憶するための少なくとも1つの共有秘密データリポジトリ112へのアクセスを有し得る。サーバは、ユーザデバイス102からの要求を提供する際に使用するための少なくとも1つのデータリポジトリ108、および1つ以上の共有秘密鍵または認証シードを記憶するための1つの共有秘密データリポジトリ114へのアクセス有し得る。サーバおよびユーザデバイスは、認証のための1つ以上の認証シードを共有し得る。上で述ベられたように、いくつかの実施形態において、ユーザデバイスの認証シードは、ユーザがユーザデバイスを受け取る前に、ユーザデバイスへとブートストラップされる初期シーケンスであり得る。ユーザデバイスのユーザは、バーコードまたはQRコード(登録商標)を走査すること、一連の文字を入力すること、電子メールからそれを抜き出すこと等によって、取得した認証シードを有し得る。いくつかの実施形態において、記憶装置108および114に記憶されるデータは、1つの物理記憶装置(例えば、ハードディスク、RAM等)に記憶される。他の実施形態では、種々のデータが別々の物理記憶装置(例えば、異なるタイプの記憶装置、異なるディスク等)に記憶されるか、または1つを超えるタイプのデータが1つの物理記憶装置に記憶される一方で、他のデータが異なる物理記憶装置に記憶される。加えて、データセットの1つ以上が、複数の物理記憶装置にわたって分散され得る。
【0014】
ユーザデバイス102およびサーバ106またはデータベース108に関して使用されるいくつかのタイプのセキュリティおよび管理ポリシーがあり得、これらは、サーバ、ホスト、および任意の関連する構成要素のセキュリティポリシーコンプライアンスを構成し、管理することができるセキュリティ管理者デバイス110によって制御され得る。例えば、ユーザは、サーバ106にユーザデバイス102のポリシーチェックを行わせる、認証コード生成アプリケーションを起動させ得る。別の実施例において、サーバは、サーバによって提供されるサービスまたは機能へのアクセスを提供するために、ユーザデバイス102のセキュア認証を必要とし得、また、データリポジトリ108にアクセスし、および/またはデータをそこに記憶するために、異なるセキュリティ基準を必要とし得る。ユーザデバイスの認証が行われているときに、共有秘密データリポジトリ112および114のそれぞれにおいて1つ以上の共有秘密鍵が使用され得る。ユーザデバイスは、その共有秘密データリポジトリ112において1つ以上の共有秘密鍵を使用して、認証コードを生成し得る一方で、サーバは、その共有秘密データリポジトリ114において1つ以上の共有秘密鍵を使用して、ユーザデバイスを認証し得る。種々の他のタイプのセキュリティを、本明細書の他の場所で論じられ、提案されるように利用することができる。
【0015】
図2は、いくつかの実施形態に従う認証コードの生成時に、クライアントが一連のセキュリティポリシーを遵守することを検証するための、操作フロー200の実施例を図示する。この実施例では、認証コードを生成するためのアプリケーション(例えば、ソフトトークン生成器)が、クライアントデバイス202にインストールされる。いくつかの実施形態では、ユーザがアプリケーションを起動させた時点で、またはユーザが有効なユーザ名および/またはパスワードをアプリケーションに入力した時点で、認証コードが生成される。いくつかの実施形態のアプリケーションは、デバイスにインポートされる共有秘密値または認証シードに加えて、特定のイベント(例えば、ボタンのユーザ選択、60秒毎、アプリケーションの起動毎)および/または現在の時間値に基づいて、認証コードを生成する。
【0016】
いくつかの実施形態において、認証シードまたは初期シーケンスは、デバイスへとブートストラップされ得る。いくつかの実施形態は、後でデバイスにインポートされた認証シードを使用して、認証コードを生成する。例えば、デバイスは、認証シードが埋め込まれたバーコードの写真を撮ること、認証シードを含む着信テキストメッセージを受け取ること、ユーザが長い一連のデータを入力すること等によって認証シードを取得し得る。
【0017】
この実施例では、208で、要求がサーバ204に送られ、セキュア情報へのアクセスを要求する。要求は、ユーザのユーザ名、パスワード、および/またはデバイスにインポートされた認証シードを使用して生成される認証コードを含み得る。いくつかの実施形態では、ユーザが、内部ウェブサイトまたはデバイスのアプリケーションおよびユーザの信用情報の検証を通して、セキュア情報(例えば、企業の電子メール)へのアクセスを要求することに応じて、要求がサーバに送られる。クライアントデバイスは、いくつかの実施形態において、ユーザの信用情報(例えば、ユーザ名およびパスワード)を受け取ることに応じて、および生成された認証コードを受け取った時点で、要求をサーバに送る。いくつかの実施形態は、認証コードの生成時に、サーバに要求を自動的に送る。
【0018】
いくつかの実施形態において、クライアントデバイスが1組のセキュリティポリシーを遵守することを検証するために、サーバは、クライアントデバイスによって現在課されているセキュリティポリシーを判定するために一連の問い合わせを行う。この実施例において、210で、サーバは、1組のセキュリティポリシーに対応する1組のパラメータ値(例えば、クライアントデバイスに関する構成情報、コンプライアンスの確認等)をクライアントに要求し、この1組のパラメータ値は、サーバが判定を行うために必要である。いくつかの実施形態において、1組のセキュリティポリシーは、管理者によって指定される。いくつかの実施形態において、管理者は、ユーザアクセスを付与する条件としてセキュリティポリシーコンプライアンスを指定した、企業のセキュリティ担当者であり得る。1組のセキュリティポリシーは、クライアントデバイスの現在の場所が、閾値領域内、および/または閾値温度範囲内、および/または閾値高度範囲内にあるという要件、クライアントデバイスのピン長が、少なくとも閾値長であるという要件、デバイスが、リモートワイプを可能にしているという要件、デバイスが、特定の1組の無線/有線ネットワークに接続しているという要件、認証パーティ(例えば、クライアントデバイス)および認証者(例えば、サーバ、データセンター)、または認証者によって選択された場所(例えば、本社)が互いの閾値距離内にあるという要件、等を含み得る。
【0019】
212で、クライアントデバイスは、サーバの要求時にサーバによって要求される1組のパラメータ値を送る。いくつかの実施形態において、クライアントデバイスは、サーバが1組のパラメータ値を要求することなく、1組のセキュリティポリシーに対応する1組のパラメータ値を送る。クライアントデバイスは、ユーザのセキュア情報への最初のアクセス要求とともに、1組のパラメータ値を送り得る。いくつかの実施形態において、デバイスが最初の要求を送る前に1組のパラメータ値が判定されるように、クライアントデバイスは、1組のセキュリティポリシーのコピーを有する。いくつかの実施形態は、クライアントデバイスが、更新されたセキュリティポリシーに対応する1組のパラメータ値を判定し得るように、クライアントデバイスが、1組のセキュリティポリシーの更新されたコピーを要求することを可能にする。
【0020】
いくつかの実施形態において、サーバは、クライアントデバイスが1組のセキュリティポリシーを遵守するかどうかに関して判定を行う。いくつかの実施形態は、214で、サーバが、クライアントデバイスから受け取った1組のパラメータ値を第三者ポリシー施行エージェント206に送って、コンプライアンスの判定を行うことを可能にする。次いで、いくつかの実施形態において、ポリシー施行エージェントは、クライアントデバイスが1組のポリシーを遵守するかどうかを判定する。いくつかの実施形態において、クライアントデバイスは、サーバから1組のセキュリティポリシーの更新バージョンを取得することによって、ポリシーチェックを行い得る。次いで、クライアントデバイスは、判定を行った時点で、クライアントデバイスが遵守するかどうかをサーバに通知し得る。
【0021】
この実施例において、216で、ポリシー施行エージェントは、判定を行った時点で、クライアントデバイスが1組のセキュリティポリシーを遵守するかどうかに関してサーバに通知する。次いで、218で、サーバは、クライアントデバイスが1組のセキュリティポリシーを遵守すると判定した時点で、クライアントデバイスがセキュア情報へのアクセスを取得することを可能にする。ポリシー施行エージェントが、クライアントデバイスが1組のセキュリティポリシーを遵守していないと判定した場合、クライアントデバイスは、セキュア情報へのアクセスを有し得ない。クライアントデバイスは、いくつかの実施形態において、そのセキュリティ設定を調整し、再度アクセスを獲得しようと試み得る。
【0022】
いくつかの実施形態において、210で、サーバは、1組のセキュリティポリシーに対応する1組のセキュリティパラメータ値を要求する代わりに、(例えば、エージェントをクライアントデバイスに送ることによって)クライアントデバイスでプログラムコードを実行することをクライアントデバイスに要求し得るか、またはプログラムコードをクライアントデバイスに実行させ得る。いくつかの実施形態において、エージェントまたはプログラムコードは、更新されたプログラムコードが、例えばなりすましコードを検出することによって、クライアントコンプライアンスを確実にし得るように、クライアントデバイスによる修正から独立して更新することができる。プログラムを実行させた時点で、出力がサーバに伝送され得、よって、サーバは、クライアントデバイスがセキュリティポリシーを遵守するかどうかを判定し得る。いくつかの実施形態において、サーバは、クライアントデバイスの最初のセキュア情報へのアクセス要求を受け取った時点で、実行可能なコードまたはプログラムコードをクライアントデバイスに送る。プログラムコードをクライアントデバイスに送る代わりに、いくつかの実施形態のサーバは、クライアントデバイスの最初の要求を受け取った時点で、クライアントデバイスに、クライアントデバイスのダウンロードしたプログラムまたはエージェント220を実行させ得る。
【0023】
このような実施形態において、クライアントデバイスは、212で、コードを実行し、出力をサーバに送る。出力は、クライアントデバイスが1組のセキュリティポリシーを遵守することを示す、一連の肯定応答であり得る。いくつかの実施形態において、出力は、サーバが、クライアントデバイスがセキュリティポリシーを遵守するかどうかに関してさらなる判定を行うことを可能にする、1組の値であり得る。いくつかの実施形態において、218で、次いで、サーバは、受け取った値または実行したプログラムコードからの出力を使用して、クライアントデバイスがセキュリティポリシーを遵守するかどうかに関して判定を行い、クライアントデバイスが遵守すると判定した時点で、セキュア情報へのアクセスを提供する。
【0024】
図3は、いくつかの実施形態に従って、セキュア情報へのアクセスを可能にする前に、クライアントが一連のセキュリティポリシーを遵守することを検査するための、例示的な操作フロー300を示す図である。この実施例では、1つ以上の共有秘密鍵を使用して認証コードを生成するためのアプリケーションが、クライアントデバイス302にインストールされる。いくつかの実施形態において、308で、クライアントデバイスは、クライアントデバイスでの認証コード生成アプリケーションの起動時に、認証シードまたは共有秘密の要求をサーバ304に送る。いくつかの実施形態は、アプリケーションを起動し、クライアントデバイスのユーザから信用情報(例えば、ユーザ名および/またはピン)を受け取った時点で、要求をサーバに送り得る。いくつかの実施形態において、クライアントデバイスは、認証シードを要求するときに、1組のセキュリティポリシーに対応する1組のパラメータ値を判定し、(例えば、クライアントデバイスの認証シードの最初の要求とともに)判定された1組の値をサーバに送り得る。
【0025】
サーバは、認証シードをクライアントデバイスに発行する前に、クライアントデバイスが1組のセキュリティポリシーを遵守するかどうかを判定する。この実施例において、310で、クライアントが1組のセキュリティポリシーを遵守するかどうかを判定するために、サーバは、クライアントデバイスから1組のパラメータ値を要求する。上で述べられたように、1組のセキュリティポリシーは、デバイスがセキュア情報へのアクセスを取得することを可能にする前に、いくつかのセキュリティ機構がデバイスに実装されることを必要とする、管理者によって課されるポリシーであり得る。セキュリティポリシーは、デバイスのユーザがログインする際に閾値数を超える試行を行った後に、デバイスがセルフワイプを行うという要件、最小ピン長の要件、デバイスが、可能なリモートワイプを有するという要件、デバイスが、特定の高度範囲内に位置するという要件、デバイスが、特定のコンピュータネットワークに接続しているという要件、等を含み得る。
【0026】
この実施例において、312で、サーバの1組のパラメータ値の要求に応じて、クライアントデバイスは、1組のパラメータ値を判定し、サーバに送る。この実施例において、サーバは、1組のパラメータ値の要求をクライアントデバイスに送るが、いくつかの実施形態において、クライアントデバイスは、サーバの要求に関わらず、1組のパラメータ値を判定し、送る。サーバは、次いで、1組のパラメータ値を使用して、ポリシーコンプライアンスの判定を行い得る。いくつかの実施形態において、314で、サーバは、第三者ポリシー施行エージェント306に判定を行うことを要求する。次いで、ポリシー施行エージェントは、クライアントデバイスが1組のセキュリティポリシーを遵守するかどうかを判定する。いくつかの実施形態において、ポリシー施行エージェントは、サーバからセキュリティポリシーの更新されたコピーを定期的に取得する。いくつかの実施形態は、サーバがポリシー施行エージェントに判定を行うことを要求するときに、ポリシー施行エージェントが、サーバからセキュリティポリシーの更新されたコピーを取得することを可能にする。316で、クライアントデバイスが遵守するかどうかを判定した時点で、ポリシー施行エージェントは、クライアントデバイスが遵守するかどうかをサーバに通知する。
【0027】
いくつかの実施形態において、318で、ポリシー施行エージェントが、クライアントが遵守すると判定すると、サーバは、認証シードを生成し、(例えば、セキュア接続を通して)認証シードをクライアントデバイスに送る。認証シードを受け取った後に、クライアントデバイスは、認証シードを使用して、認証コードを生成し得る。いくつかの実施形態において、アプリケーションは、認証シードを受け取り、それをメモリに記憶する。いくつかの実施形態において、アプリケーションは、次いで、デバイスのユーザがアプリケーションを起動させる度に、認証シードを使用して新しい認証コードを生成し得る。いくつかの実施形態において、クライアントデバイスは、アプリケーションが起動され、認証コードが要求される度に、デバイスが遵守することを検証するために要求を送る。
【0028】
説明されるように、310で、サーバは、1組のセキュリティパラメータ値(例えば、デバイスに関する1組の値、デバイスが遵守するかどうかを示す1組の値(すなわち、はい、いいえ))を要求する代わりに、コンプライアンスの判定を行うために、クライアントデバイスの1組の命令またはプログラムコードを実行することをクライアントデバイスに要求し得るか、またはプログラムコードをクライアントデバイスに実行させ得る。クライアントデバイスは、次いで、1組の命令を実行することによって、クライアントデバイスがセキュリティポリシーを遵守するかどうかに関して、セキュリティポリシーチェックを行い得る。いくつかの実施形態において、サーバは、クライアントデバイスの認証シードの最初の要求を受け取った時点で、実行可能なプログラムコードをクライアントデバイスに伝送する。プログラムコードをクライアントデバイスに送る代わりに、いくつかの実施形態のサーバは、クライアントデバイスの最初の要求を受け取った時点で、クライアントデバイスに、クライアントデバイスの予めダウンロードしたプログラムまたはエージェント320を実行させ得る。
【0029】
このような実施形態において、312で、クライアントデバイスは、コードを実行し、出力をサーバに送る。出力は、クライアントデバイスが1組のセキュリティポリシーを遵守することを示す、肯定応答値であり得る。いくつかの実施形態において、出力は、サーバが、クライアントデバイスがセキュリティポリシーを遵守するかどうかに関して判定を行うことを可能にする、1組の値であり得る。いくつかの実施形態において、318で、次いで、サーバは、受け取った値または実行したプログラムコードからの出力を使用して、クライアントデバイスがセキュリティポリシーを遵守するかどうかに関して判定を行い、クライアントデバイスが遵守すると判定した時点で、認証シードまたは共有秘密鍵値を提供する。
【0030】
図4は、一実施形態に従ってクライアントが多要素認証サーバによって施行される1組のセキュリティポリシーを遵守することを検証するためのプロセス400の実施例を示す図である。しかしながら、本明細書で説明される任意のプロセスについて、種々の実施形態の範囲内で、別途指示がない限り、類似もしくは代替の順序で、または並行して行われる、さらなる、より少ない、または代替のステップがあり得ることを理解されたい。この実施例において、402で、クライアントデバイスから認証シードの要求が受け取られる。説明されるように、認証シードは、認証シードを保有する2つのパーティが互いに認証することを可能にするためのセキュリティ情報を含む、共有秘密鍵である。いくつかの実施形態において、クライアントは、サーバから認証シードを要求し、認証シードをクライアントデバイスに発行する前に、サーバに、クライアントデバイスでセキュリティポリシーチェックを行うようにプロンプトする。認証シードは、サーバを通して(例えば、システム管理者を通して)、またはクライアントを通して(例えば、クライアントデバイスのユーザが、いくつかの文字データを手動で入力するとき、またはシードが埋め込まれたバーコードを走査するときに)変更され得る。
【0031】
上で述ベられたように、いくつかの実施形態において、サーバは、認証コード生成アプリケーションの起動時に、認証シードの要求を受け取り得る。いくつかの実施形態は、クライアントデバイスのユーザが有効なユーザ名および/またはパスワードを入力するときに要求を受け取る。404で、クライアントデバイスからの認証シードの要求に応じて、1組のセキュリティポリシーに対応する1組のパラメータ値の要求がクライアントデバイスに送られる。いくつかの実施形態において、クライアントがサーバによって課される1組のセキュリティポリシーを遵守するかどうかを判定するために、サーバは、1組のパラメータ値の要求をクライアントに送る。1組のセキュリティポリシーは、クライアントの場所が特定の領域内にあるという要件、クライアントデバイスのコンテンツへのアクセスに対するパスワード要件、デバイスでリモートワイプを可能にするという要件、クライアントにインストールされる最新のパッチレベルの要件、暗号化された記憶装置の要件、複数回の間違ったパスワード入力時の自動セルフワイプの要件、等を含み得る。異なる実施形態は、クライアントがセキュアまたは機密情報にアクセスすることを可能にする前に、クライアントが遵守することを必要とする、異なる組または異なる組み合わせの要件またはセキュリティポリシーを課し得る。
【0032】
いくつかの実施形態では、1組のセキュリティポリシーに対応する1組のパラメータ値を要求する代わりに、サーバは、クライアントが遵守するかどうかを尋ねる要求をクライアントに送る。課されたまたは更新されたポリシーのコピーは、要求とともにサーバによって送られ得るか、または要求を受け取った時点で、クライアントによって取り出され得る。いくつかの実施形態において、クライアントは、そのキャッシュされたコピーが古過ぎる場合、更新されたポリシーのコピーを取り出し得る。クライアントはまた、作成されたときにプロビジョニングされたポリシーのコピーも使用し得る。いくつかの実施形態において、クライアントは、次いで、判定を行い、その後に、クライアントが遵守するかどうかをサーバに通知し得る。
【0033】
406で、次いで、1組のパラメータ値が、クライアントデバイスから受け取られる。408で、1組のパラメータ値が、クライアントデバイスが1組のセキュリティポリシーを遵守することを示すかどうかを判定する。いくつかの実施形態において、パラメータ値のそれぞれは、その対応するセキュリティポリシーを遵守するかどうかに関して判定される。ある場合において、モバイルデバイスに関する6桁のピンの要件は、最小で4桁のピンを必要とするセキュリティポリシーを遵守すると判定される。別の場合において、有効な3回の間違ったピンの入力時の自動セルフワイプ能力は、最高で5回試行した後に自動セルフワイプを必要とすることを課すセキュリティポリシーの1つを遵守すると判定される。いくつかの実施形態において、セキュリティポリシーは、一方のセキュリティパラメータは満たされるが、もう一方は満たされないときに遵守され得る。例えば、いくつかの実施形態は、クライアントデバイスが、リモートワイプ能力を可能にするか、または最小ピン長要件(例えば少なくとも4桁のピンを必要とする)を実現するときに、クライアントがセキュリティポリシー要件の1つを遵守すると判定し得る。
【0034】
いくつかの実施形態は、サーバがこのポリシーチェックを行うことを可能にするが、いくつかの実施形態は、第三者ポリシー施行エージェントがポリシーチェックを行うことを可能にする。次いで、サーバは、1組のパラメータ値をポリシー施行エージェントに送って、1組のパラメータ値が、クライアントがセキュリティポリシーを遵守することを示すかどうかを判定し得る。説明されるように、いくつかの実施形態は、クライアントデバイスが(例えば、クライアントデバイスの、またはサーバから受け取ったプログラムコードを実行することによって)ポリシーチェックを行うことを可能にする。
【0035】
410で、1組のパラメータ値が、クライアントデバイスが1組のセキュリティポリシーを遵守することを示すときに、認証シードがクライアントデバイスに送られる。いくつかの実施形態のクライアントは、次いで、認証シードを使用して、認証コードを生成する。いくつかの実施形態において、認証コードは、現在の時間および認証シードに基づいて生成することができる。いくつかの実施形態は、現在の時刻、認証シード、およびユーザのユーザ名および/またはパスワード等の他のさらなる因子を使用して、認証コードを生成する。いくつかの実施形態において、次いで、クライアントは、認証コードならびに/またはユーザ名およびパスワードを使用して、機密情報へのアクセスを取得し得る。
【0036】
412で、1組のパラメータ値が、クライアントデバイスが1組のセキュリティポリシーを遵守しないことを示すときに、エラーメッセージがクライアントデバイスに送られる。エラーメッセージは、デバイスの構成がセキュリティポリシーを遵守しないことをユーザに通知するために、クライアントデバイスの表示要素上に表示され得る。機密情報へのアクセスを取得するために、デバイスの構成またはセキュリティ設定は、セキュリティポリシーを遵守するように修正され得る。
【0037】
図5は、いくつかの実施形態に従って1組のセキュリティポリシーを遵守することを通してセキュア情報へのアクセスを取得するための、例示的なプロセス500を図示する。この実施例では、502で、認証シードの要求がサーバに送られる。いくつかの実施形態において、クライアントデバイスは、デバイスのユーザがセキュア情報へのアクセスを取得することを試みることに応じて、要求を送る。504で、サーバによって指定される1組のセキュリティポリシーに対応する1組のセキュリティパラメータ値の要求が、サーバから受け取られる。論じられるように、いくつかのセキュリティポリシーは、クライアントデバイスが、機密情報にアクセスできるようになる前に、セキュリティポリシーを遵守することを確実にするように指定され得る。
【0038】
506で、クライアントが1組のセキュリティポリシーを遵守するかどうかを判定するために、1組のセキュリティパラメータ値がサーバに送られる。いくつかの実施形態において、サーバは、判定を行うために、1組のセキュリティパラメータ値を外部システムまたはポリシー施行エージェントに送る。いくつかのそのような実施形態において、ポリシー施行エージェントは、1組のセキュリティパラメータ値を使用して、セキュリティポリシーのコピーを取得し、クライアントがセキュリティポリシーのそれぞれを遵守するかどうかを判定する。いくつかの実施形態は、サーバが、クライアントデバイスから取得される1組のセキュリティパラメータ値を使用してクライアントデバイスが1組のセキュリティポリシーを遵守するかどうかに関して判定を行うことを可能にする。
【0039】
508で、クライアントが1組のセキュリティポリシーを遵守しないと判定されると、エラーメッセージが受け取られる。クライアントが1組のセキュリティポリシーを遵守しないと判定されるとき、サーバは、エラーメッセージをクライアントに送る。いくつかの実施形態において、クライアントは、認証シードまたは共有秘密鍵を取得することなく、機密情報へのアクセスを取得し得ない。510で、クライアントが1組のセキュリティポリシーを遵守すると判定されると、認証シードが受け取られる。いくつかの実施形態において、サーバは、クライアントが認証シードを使用して認証コードを生成し得るように、認証シードをクライアントに送る。いくつかの実施形態は、認証シードに加えて、ユーザのユーザ名および/またはパスワードを使用して認証コードを生成する。いくつかの実施形態において、クライアントは、次いで、認証コードおよび/またはユーザ名およびパスワードを使用して、セキュアまたは機密情報へのアクセスを取得することができる。
【0040】
図6は、いくつかの実施形態に従ってサーバによってクライアントを認証するための、例示的なプロセス600を図示する。この実施例では、602で、セキュア情報へのアクセス要求が、クライアントから受け取られる。いくつかの実施形態において、要求は、ユーザ名、パスワード、および認証シードまたはクライアントデバイスの共有秘密を使用して生成される応答コードを含む。いくつかの実施形態において、応答コードは、認証シード、ならびにクライアントデバイスのユーザのユーザ名および/またはパスワードを使用して生成され得る。いくつかの実施形態では、ユーザが、機密情報にアクセスするためのクライアントのアプリケーション(例えば、企業カレンダー、連絡先、および電子メールへのアクセスを提供するアプリケーション)を起動させ、ユーザ名、パスワード、および応答コードを入力して、情報へのアクセスを取得しようと試みた時点で、クライアントから要求が受け取られる。
【0041】
604で、要求に応じて、1組のセキュリティポリシーに対応する1組のパラメータ値の要求がクライアントデバイスに送られる。いくつかの実施形態のサーバは、クライアントデバイスが1組のセキュリティポリシーを遵守するかどうかを判定するために、1組のパラメータ値の要求をクライアントデバイスに送る。いくつかの実施形態では、606で、クライアントから1組のパラメータ値が受け取られる。608で、1組のセキュリティパラメータ値が、クライアントが1組のセキュリティポリシーを遵守することを示すかどうかが判定される。上で述べられたように、サーバは、判定を行い得るか、またはサーバは、外部のポリシー施行エージェントに判定を行うことを要求し得る。クライアントの1組のセキュリティパラメータ値は、セキュリティパラメータ値のそれぞれが1組のセキュリティポリシーのそれぞれによって示される値の許容範囲内に含まれる場合に、クライアントが1組のセキュリティポリシーを遵守することを示し得る。
【0042】
610で、1組のセキュリティパラメータ値が、クライアントが1組のセキュリティポリシーを遵守することを示すと判定した時点で、クライアントは、セキュア情報にアクセスすることが可能になる。いくつかの実施形態において、クライアントがセキュリティポリシーを遵守すると判定した時点で、サーバは、クライアントに機密情報へのアクセスを付与する。612で、クライアントが1組のセキュリティポリシーを遵守しないと判定されると、エラーメッセージがクライアントに送られ得る。エラーメッセージは、クライアントデバイスのユーザインターフェースを通してクライアントデバイスのユーザに表示され得る。
【0043】
図7は、いくつかの実施形態に従ってセキュリティポリシーを遵守することを通してセキュア情報へのアクセスを取得するための、例示的なプロセス700を図示する。この実施例において、702で、セキュア情報へのアクセスを可能にするアプリケーションが起動される。いくつかの実施形態において、アプリケーションは、認証コード生成アプリケーションである。いくつかの実施形態において、アプリケーションは、セキュア情報へのアクセスを提供する一方で、認証コードの生成を提供し得る。704で、現在の時間値およびシード値に基づいて、認証コードが生成される。いくつかの実施形態において、シード値は、(例えば、電子メールを通して、SMSを通して、バーコードを走査することによって、等で)クライアントデバイスによって取得された、共有シードまたは認証シードである。いくつかの実施形態は、現在の時間およびシード値を使用して認証コードを生成するが、いくつかの実施形態は、デバイスのユーザのユーザ名および/またはパスワード等のさらなる値を使用して、認証コードを生成し得る。
【0044】
706で、セキュア情報へのアクセス要求がサーバに送られる。いくつかの実施形態において、送られる要求は、認証コードを含む。708で、1組のセキュリティポリシーに関する1組のパラメータ値の要求が受け取られる。クライアントがセキュア情報へのアクセスを要求することに応じて、サーバは、1組のセキュリティポリシーに関連する1組のパラメータ値を送ることをクライアントに要求し得る。710で、クライアントが1組のセキュリティポリシーを遵守するかどうかを判定するために、1組のパラメータ値がサーバに送られる。712で、クライアントが1組のセキュリティポリシーを遵守すると判定されると、セキュア情報へのアクセスが取得される。いくつかの実施形態において、サーバは、クライアントが1組のセキュリティポリシーを遵守するかどうかに関して判定を行う。いくつかの実施形態は、判定を行うために、サーバが、1組のパラメータ値を外部システムまたはポリシー施行エージェントに送ることを可能にする。サーバが、クライアントが1組のセキュリティポリシーを遵守すると判定すると、クライアントは、セキュア情報へのアクセスを取得し得る。
【0045】
本開示の種々の例示的な実施形態は、以下の付記を考慮して説明することができる。
【0046】
付記1.セキュアデータへのアクセスを付与するために、クライアントが1組のセキュリティポリシーを遵守することを検証する方法であって、
実行可能命令とともに構成される1つ以上のコンピュータシステムの制御下で、
モバイルデバイスから、認証コードが導き出され得るセキュリティ情報を含む認証シードの要求を受け取ることと、
要求に応じて、モバイルデバイスが1組のセキュリティポリシーを遵守するかどうかを判定するために、1組のセキュリティポリシーに対応する1組のパラメータ値の要求をモバイルデバイスに送ることと、
モバイルデバイスから1組のパラメータ値を受け取ることと、
1組のパラメータ値が、モバイルデバイスが1組のセキュリティポリシーを遵守することを示すかどうかを判定することと、
1組のパラメータ値が、モバイルデバイスが1組のセキュリティポリシーを遵守することを示すときに、モバイルデバイスが認証コードを生成することを可能にするために、認証シードをモバイルデバイスに送信することであって、認証コードは、認証シードに少なくとも部分的に基づいて生成することができる、送信することと、
を含む、方法。
【0047】
付記2.認証コードの生成はさらに、現在の時間値、カウンタ、以前の認証コード、要求、またはサーバによって提供されるチャレンジのうちの少なくとも1つに基づく、付記1に記載の方法。
【0048】
付記3.1組のパラメータ値が、モバイルデバイスが1組のセキュリティポリシーを遵守しないことを示すときに、エラーメッセージをモバイルデバイスに送ることをさらに含む、付記1に記載の方法。
【0049】
付記4.1組のセキュリティポリシーは、ピンの最小長さ、リモートワイプを可能にすること、最新のパッチレベル、暗号化された記憶装置、間違った入力/試行の最大回数に応じて自動セルフワイプを可能にすること、モバイルデバイスが企業電子メールシステムと関連付けられること、モバイルデバイスが特定の高度範囲内にあること、モバイルデバイスが特定の温度範囲内にあること、モバイルデバイスが特定の無線ネットワークに接続していること、またはモバイルデバイスが場所範囲内にあること、のうちの少なくとも1つを含む、付記1に記載の方法。
【0050】
付記5.1組のパラメータ値が、モバイルデバイスが遵守することを示すかどうかを判定することは、1組のパラメータ値が1組のセキュリティポリシーを遵守することを証明するために、ポリシー施行エージェントとリアルタイムで通信することを含む、付記1に記載の方法。
【0051】
付記6.1組のパラメータ値が、モバイルデバイスが遵守することを示すかどうかを判定することは、モバイルデバイスで実行するためのソフトウェアをモバイルデバイスに伝送することを含み、モバイルデバイスから受け取られる1組のパラメータ値は、ソフトウェアの実行による出力を含む、付記1に記載の方法。
【0052】
付記7.モバイルデバイスに、1組のポリシーの少なくとも1つをモバイルデバイスに課すように指示することをさらに含む、付記1に記載の方法。
【0053】
付記8.認証シードの要求は、サインイン時にモバイルデバイスのユーザからユーザ名およびパスワードを受け取った時点で行われる、付記1に記載の方法。
【0054】
付記9.認証シードの要求は、認証コードを生成するアプリケーションの起動時に行われる、付記1に記載の方法。
【0055】
付記10.1組のセキュリティポリシーは、モバイルデバイスに知られていない、付記1に記載の方法。
【0056】
付記11.サーバによってクライアントを認証する方法であって、
実行可能命令によって構成される1つ以上のコンピュータシステムの制御下で、
クライアントから、セキュア情報へのアクセス要求を受け取ることであって、該要求は、クライアントおよびサーバにアクセス可能な認証シードに少なくとも部分的に基づいて生成される、少なくとも応答コードを含む、受け取ることと、
クライアントのセキュリティ設定が1組のセキュリティポリシーを遵守するかどうかを判定するために、クライアントから1組のセキュリティパラメータ値を受け取ることと、
1組のセキュリティパラメータ値が、クライアントが1組のセキュリティポリシーを遵守することを示すかどうかを判定することと、
クライアントが1組のセキュリティポリシーを遵守すると判定した時点で、クライアントがセキュア情報にアクセスすることを可能にすることと、
を含む、方法。
【0057】
付記12.要求を受け取った時点で、クライアントから1組のセキュリティパラメータ値を要求することをさらに含み、1組のセキュリティパラメータ値は、サーバによって課される1組のセキュリティポリシーに対応する、付記11に記載の方法。
【0058】
付記13.応答コードの生成はさらに、ユーザ名、パスワード、現在の時間、カウンタ、以前の認証コード、要求、またはサーバによって提供されるチャレンジのうちの少なくとも1つに基づく、付記11に記載の方法。
【0059】
付記14.判定することは、1組のセキュリティパラメータ値が対応する1組のポリシーを遵守することを証明するために、ポリシー施行エージェントとリアルタイムで通信することを含む、付記11に記載の方法。
【0060】
付記15.要求を受け取った時点で、1組の命令をクライアントに送ることと、
クライアントが、1組の命令を実行して、クライアントが1組のセキュリティポリシーを遵守するかどうかを判定することを可能にすることと、をさらに含み、1組のセキュリティパラメータ値は、1組の命令の実行による出力を含む、付記11に記載の方法。
【0061】
付記16.1組のセキュリティパラメータ値は、クライアントの現在位置の識別子を含み、識別子は、対応するセキュリティポリシーによって指定される許容領域内にある、付記11に記載の方法。
【0062】
付記17.要求はさらに、ユーザ名およびパスワードを含み、クライアントの情報へのアクセスは、ユーザ名およびパスワードを検証した時点で可能になる、付記11に記載の方法。
【0063】
付記18.1組のセキュリティポリシーは、クライアントと、判定を行う認証パーティによって選択される場所との間の最大許容距離を含む、付記11に記載の方法。
【0064】
付記19.クライアントと認証パーティとの間の信号の往復時間が閾値期間を超えるときに、クライアントと認証パーティによって選択される場所との間の距離が最大許容距離を超える、付記18に記載の方法。
【0065】
付記20.セキュリティポリシーコンプライアンスを通してセキュア情報へのアクセスを取得する方法であって、
実行可能命令とともに構成される1つ以上のコンピュータシステムの制御下で、
セキュア情報へのアクセスを提供するアプリケーションを起動させることと、
シード値に少なくとも部分的に基づいて認証コードを生成することと、
セキュア情報へのアクセス要求をサーバに送ることであって、該要求は、少なくとも認証コードを含む、送ることと、
1組のパラメータ値を、クライアントが1組のセキュリティポリシーを遵守するかどうかを判定するように構成されるサーバに提供することと、
クライアントが1組のセキュリティポリシーを遵守すると判定されるときに、セキュア情報へのアクセスを取得することと、
を含む、方法。
【0066】
付記21.1組のセキュリティポリシーに関連する1組のパラメータ値の要求を受け取ることをさらに含む、付記20に記載の方法。
【0067】
付記22.認証コードは、クライアントへとブートストラップされる、認証シードを含むアプリケーションを使用して生成される、付記20に記載の方法。
【0068】
付記23.クライアントで場所判定要素を使用して、現在位置を判定することをさらに含み、サーバに送られる1組のパラメータ値の1つは、判定された場所に基づく、付記20に記載の方法。
【0069】
付記24.1組のセキュリティポリシーの更新バージョンを要求することと、
1組のセキュリティポリシーの更新バージョンを使用して、クライアントが遵守するかどうかを判定することと、をさらに含む、付記20に記載の方法。
【0070】
付記25.更新バージョンは、クライアントが更新されたセキュリティポリシーを遵守することを確実にするために、セキュア情報へのアクセス要求の度に取り出される、付記24に記載の方法。
【0071】
付記26.クライアントが、リモートワイプ能力を可能にすること、および最小ピン長という要件のうちの少なくとも1つを含むときに、クライアントは、1組のセキュリティポリシーの1つを遵守する、付記20に記載の方法。
【0072】
付記27.少なくとも認証コードを使用してセキュア情報へのアクセスを取得するための命令を含む、非一時的なコンピュータ読み出し可能な記憶媒体であって、該命令は、コンピューティングシステムの少なくとも1つのプロセッサによって実行されたときに、コンピューティングシステムに、
認証シードの要求をサーバに送らせ、
1組の値を、該1組の値を使用してクライアントデバイスが1組のセキュリティポリシーを遵守するかどうかを判定するように構成されるサーバに提供させ、
クライアントデバイスが1組のセキュリティポリシーを遵守しないと判定されるときに、エラーメッセージを受け取らせ、そして、
クライアントデバイスが1組のセキュリティポリシーを遵守すると判定されるときに、認証シードを受け取らせ、
クライアントデバイスは、認証シードを使用して生成される認証コードを使用して、セキュア情報へのアクセスを取得することができる、
非一時的なコンピュータ読み出し可能な記憶媒体。
【0073】
付記28.命令は、実行されたときにさらに、コンピューティングシステムに、
プログラムコードを受け取らせ、
プログラムコードを実行するために要求を受け取らせ、そして、
プログラムコードを実行させ、1組の値は、プログラムコードの実行による1組の出力値である、付記27に記載の非一時的なコンピュータ読み出し可能な記憶媒体。
【0074】
付記29.命令は、実行されたときにさらに、コンピューティングシステムに、
認証エージェントをクライアントデバイスにインストールさせ、そして、
1組のセキュリティポリシーを受け取らせ、認証エージェントは、クライアントデバイスが1組のセキュリティポリシーを遵守するかどうかを判定する、付記27に記載の非一時的なコンピュータ読み出し可能な記憶媒体。
【0075】
付記30.命令は、実行されたときにさらに、コンピューティングシステムに、
サーバから、1組のセキュリティポリシーに対応する1組のセキュリティパラメータ値の要求を受け取らせ、該1組の値は、1組のセキュリティパラメータ値であり、サーバは、1組のセキュリティパラメータ値が1組のセキュリティポリシーを遵守するかどうかを判定することによって、クライアントデバイスが1組のセキュリティポリシーを遵守するかどうかを判定する、付記27に記載の非一時的なコンピュータ読み出し可能な記憶媒体。
【0076】
付記31.サーバは、クライアントデバイスがセキュリティポリシーを遵守するかどうかに関して判定を行うために、1組のセキュリティパラメータ値をポリシー施行エージェントに送る、付記30に記載の非一時的なコンピュータ読み出し可能な記憶媒体。
【0077】
付記32.命令は、実行されたときにさらに、コンピューティングシステムに、認証コードを提供することができるアプリケーションを起動させる、付記27に記載の非一時的なコンピュータ読み出し可能な記憶媒体。
【0078】
付記33.要求は、クライアントデバイスのユーザのユーザ名およびパスワードを含む企業の信用情報に少なくとも部分的に基づく、付記27に記載の非一時的なコンピュータ読み出し可能な記憶媒体。
【0079】
付記34.命令は、実行されたときにさらに、コンピューティングシステムに、
認証シードを使用して認証コードを生成させ、そして、
サーバが、クライアントデバイスのユーザのユーザ名およびパスワードが有効であると判定したときに、認証コードを使用して、セキュア情報へのアクセスを取得させる、付記27に記載の非一時的なコンピュータ読み出し可能な記憶媒体。
【0080】
付記35.1組のセキュリティポリシーは、クライアントデバイスの場所要件を含む、付記27に記載の非一時的なコンピュータ読み出し可能な記憶媒体。
【0081】
付記36.クライアントデバイスの場所は、クライアントデバイスの場所判定要素、またはクライアントデバイスのネットワーク場所のうちの少なくとも1つに基づいて判定される、付記35に記載の非一時的なコンピュータ読み出し可能な記憶媒体。
【0082】
付記37.セキュアデータへのクライアントアクセスを付与するために、クライアントが1組のセキュリティポリシーを遵守することを検証するためのシステムであって、
プロセッサと、
命令を含むメモリデバイスと、を備え、該命令は、プロセッサによって実行されたときに、システムに、
認証シードの要求を受け取らせ、
1組のセキュリティポリシーに対応する応答の要求をクライアントに送信させ、
クライアントから応答を受け取らせ、
応答が、クライアントが1組のセキュリティポリシーを遵守することを示すかどうかを判定させ、
応答が、クライアントが1組のセキュリティポリシーを遵守することを示すと判定した時点で、認証シードをクライアントに送らせ、そして、
認証シードに少なくとも部分的に基づいて認証コードを生成させ、
クライアントは、少なくとも認証コードを使用して、機密情報へのアクセスを取得することができる、
システム。
【0083】
付記38.応答は、サーバによって要求される1組のパラメータ値であり、該1組のパラメータ値は、クライアントの構成情報、または肯定応答のうちの少なくとも1つを含む、付記37に記載のシステム。
【0084】
付記39.命令は、実行されたときにさらに、システムに、
クライアントで実行するための1組の命令を含むコンピュータプログラムを送らせ、受け取られる応答は、コンピュータプログラムの出力である、付記37に記載のシステム。
【0085】
図8は、種々の実施形態に従って使用することができる、例示的な携帯型コンピューティングデバイス800の正面図および背面図を図示する。1つのタイプの携帯型コンピューティングデバイス(例えば、スマートフォン、電子ブックリーダー、またはタブレットコンピュータ)が示されているが、本明細書で論じられる種々の実施形態に従って、入力を判定し、処理し、そして提供することができる種々の他のタイプの電子デバイスを、使用することができることを理解されたい。デバイスとしては、例えば、数ある中でも、ノートブックコンピュータ、携帯情報端末、携帯電話、ビデオゲーミングコンソールもしくはコントローラ、および携帯型メディアプレーヤーが挙げられる。
【0086】
この実施例において、携帯型コンピューティングデバイス800は、画像コンテンツを1人以上のデバイスのユーザまたは視聴者に表示するように操作可能な、表示画面802(例えば、液晶ディスプレイ(LCD)要素)を有する。少なくともいくつかの実施形態において、表示画面は、例えば、容量性または抵抗性のタッチ技術を使用する、タッチまたはスワイプに基づく入力を提供する。そのような表示要素は、例えば、ユーザが、マウスの右または左ボタン、タッチポイント等の、ボタンの画像に対応する表示領域を押圧することによって入力を提供することを可能にするために使用することができる。
【0087】
例示的な携帯型コンピューティングデバイスは、従来の画像および/または映像取り込み等の目的で、1つ以上の画像取り込み要素を含むことができる。コンピューティングデバイスは、この実施例において、デバイスの「正面」の1つの画像取り込み要素804と、デバイスの「背面」の1つの画像取り込み要素812とを含むが、画像取り込み要素はまた、または代替として、デバイスの側部または隅部に配置することができること、および類似するまたは異なるタイプの任意の適切な数の取り込み要素があり得ることを理解されたい。各画像取り込み要素は、例えば、カメラ、電荷結合素子(CCD)、行動検出センサ、もしくは赤外線センサであり得、または別の画像取り込み技術を利用することができる。コンピューティングデバイスはまた、ある実施形態において位置の変化を判定するために、またはユーザ入力を受け取るため等に使用され得る、音声データを取り込むことができる、少なくとも1つのマイクロホン806または他の音声取り込み要素も含むことができる。いくつかのデバイスでは、マイクロホンが1つだけであり得るが、他のデバイスでは、デバイスの両側および/もしくは隅部に、または他の適切な場所に少なくとも1つのマイクロホンがあり得る。
【0088】
デバイス800はまた、この実施例において、デバイスの位置、方向、運動、または方位等の情報を提供するように操作可能な、少なくとも1つの場所判定要素808も含む。これらの要素としては、例えば、加速度計、慣性センサ、電子ジャイロスコープ、電子コンパス、およびGPS要素が挙げられる。種々のタイプの運動または方位の変化は、別のデバイスの少なくとも1つの制御信号を起動することができるデバイスに入力を提供するために使用することができる。例示的なデバイスはまた、少なくとも1つの通信機構814も含み、1つ以上の電子デバイスと通信するように操作可能な、少なくとも1つの有線または無線の構成要素等が挙げられる。デバイスはまた、電力システム816も含み、従来のプラグイン手法を通して、または電力マットもしくは他のそのようなデバイスに近接することによる容量性充電等の他の手法を通して再充電されるように操作可能な電池等が挙げられる。種々の他の要素および/または組み合わせもまた、種々の実施形態の範囲内で可能である。
【0089】
図9は、図8に関して説明されるデバイス800等の、電子コンピューティングデバイス900の1組の基本構成要素を図示する。この実施例において、デバイスは、メモリデバイスまたは要素904に記憶することができる命令を実行するための、少なくとも1つの処理ユニット902を含む。当業者には明らかなように、デバイスは、処理ユニット(複数可)902によって実行するためのプログラム命令のための第1のデータ記憶装置等の、数多くのタイプのメモリ、データ記憶装置、またはコンピュータ読み出し可能な媒体を含むことができ、同じまたは別個の記憶装置を画像またはデータに使用することができ、他のデバイスと情報を共有するためにリムーバブルメモリを利用することができ、また、他のデバイスと共有するために任意の数の通信手法を利用することができる。
【0090】
デバイスは、一般的に、タッチ画面、電子インク(eインク)、有機発光ダイオード(OLED)、または液晶ディスプレイ(LCD)等の、いくつかのタイプの表示要素906を含むが、携帯型メディアプレーヤー等のデバイスは、音声スピーカーを通す等の、他の手段を介して情報を伝達し得る。
【0091】
いくつかの実施形態において、デバイスは、ユーザから従来の入力を受け取ることができる、少なくとも1つの追加入力デバイス908を含むことができる。この従来の入力としては、例えば、押しボタン、タッチパッド、タッチ画面、ホイール、ジョイスティック、キーボード、マウス、キーパッド、または、それによってユーザがコマンドをデバイスに入力することができる任意の他のそのようなデバイスもしくは要素が挙げられる。いくつかの実施形態において、これらのI/Oデバイスは、無線赤外線もしくはBluetooth(登録商標)、または他のリンクによってもまた接続することができる。いくつかのデバイスとしてはまた、声または他の音声コマンドを受け付ける、マイクロホンまたは他の音声取り込み要素も挙げられる。例えば、デバイスは、全くボタンを含まずとも良く、ユーザがデバイスと接触することを必要とせずにデバイスを制御することができるような、視覚および音声コマンドの組み合わせだけを通して制御され得る。
【0092】
デバイスはまた、種々の電力構成要素910を含み、従来のプラグイン手法を通して、または電力パッドもしくは他のそのようなデバイスに近接することによる容量性充電等の他の手法を通して再充電されるように操作可能な電池等が挙げられる。種々の他の要素および/または組み合わせもまた、種々の実施形態の範囲内で可能である。
【0093】
論じられるように、デバイスは、数多くの実施形態において、デバイス(またはデバイスのユーザ)の場所を判定するための、少なくとも場所判定要素912を含む。場所判定要素は、デバイスの位置の相対座標を判定するように操作可能な、GPSまたは類似する構成要素を含むことができる。上で述べられるように、位置決定要素は、デバイスの場所を判定するために場所情報を放送し得るか、または信号の三角測量を可能にし得る、無線アクセスポイント、基地局等を含み得る。他の位置決定要素としては、QRコード(登録商標)、バーコード、RFIDタグ、NFCタグ等が挙げられるが、それらは、デバイスが(例えば、識別子を対応する場所にマップすることによって)場所情報を取得することを可能にする場所情報または識別子を、デバイスが検出し、受け取ることを可能にする。種々の実施形態は、任意の適切な組み合わせで1つ以上のそのような要素を含むことができる。
【0094】
例示的なデバイスはまた、セルラーネットワーク構成要素、無線インターネット構成要素、Bluetooth(登録商標)機構、WLANコネクタ等の、1つ以上のネットワーク構成要素914も含む。そのような構成要素は、デバイスが、少なくとも1つのネットワークを通じてデバイス、システム、またはサービスと通話することを可能にすることができ、また、いくつかの実施形態では、他のコンピューティングデバイスおよび/またはアクセサリと直接通信することを可能にすることができる。無線インターネット構成要素は、特定の無線チャネルの通信範囲内で1つ以上の電子デバイスと通信するように操作可能である。無線チャネルは、Bluetooth(登録商標)、セルラー、またはWi−Fiチャネル等の、デバイスが無線で通信することを可能にするために使用される、任意の適切なチャネルとすることができる。デバイスは、当技術分野で知られている1つ以上の従来の有線通信接続を有することができることを理解されたい。
【0095】
論じられるように、説明される実施形態に従って、異なる手法を種々の環境で実現することができる。例えば、図10は、種々の実施形態に従って態様を実現するための、環境1000の実施例を図示する。認識されるように、説明の目的でウェブに基づく環境が使用されるが、種々の実施形態を実現するために、必要に応じて、異なる環境が使用され得る。システムは、電子クライアントデバイス1002を含み、該デバイスとしては、適切なネットワーク1004を通じて要求、メッセージ、または情報を送信および受信し、情報をデバイスのユーザに搬送するように操作可能な、任意の適切なデバイスが挙げられる。そのようなクライアントデバイスの例としては、パーソナルコンピュータ、携帯電話、ハンドヘルドメッセージングデバイス、ラップトップコンピュータ、セットトップボックス、携帯情報端末、電子ブックリーダー等が挙げられる。ネットワークとしては、イントラネット、インターネット、セルラーネットワーク、ローカルエリアネットワーク、もしくは任意の他のそのようなネットワーク、またはそれらの組み合わせを含む、任意の適切なネットワークが挙げられる。そのようなシステムに使用される構成要素は、選択されたネットワークおよび/または選択環境のタイプに少なくとも部分的に依存し得る。そのようなネットワークを介して通信するためのプロトコルおよび構成要素はよく知られており、本明細書では詳細に論じない。ネットワークを通じた通信は、有線接続または無線接続、およびそれらの組み合わせを介して可能にすることができる。この実施例では、当業者には明らかなように、要求を受け取り、それに応じてコンテンツを提供するためのウェブサーバ1006を環境が含むので、このネットワークは、インターネットを含むが、他のネットワークの場合、類似の目的を提供する代替のデバイスを使用することができる。
【0096】
実例となる環境は、少なくとも1つのアプリケーションサーバ1008と、データストア1010とを含む。連鎖され得るまたは別様には構成され得る、適切なデータストアからデータを取得する等の作業を行うように相互作用することができる、いくつかのアプリケーションサーバ、層もしくは他の要素、過程、または構成要素があり得ることを理解されたい。本明細書で使用される「データストア」という用語は、データを記憶し、それにアクセスし、それを取り出すことができる任意のデバイスまたはデバイスの組み合わせを指し、任意の数のデータサーバ、データベース、データ記憶デバイス、データ記憶媒体、およびそれらの任意の組み合わせを、任意の標準型、分散型、またはクラスタ型の環境において含み得る。アプリケーションサーバ1008は、クライアントデバイスのための1つ以上のアプリケーションの態様を実行するために、必要に応じて、データストア1010と統合するための、およびアプリケーションのためのデータアクセスおよびビジネスロジックの大部分を取り扱うための、任意の適切なハードウェアおよびソフトウェアを含むことができる。アプリケーションサーバは、データストアと連携してアクセス制御サービスを提供し、また、この実施例においてHTML、XML、または別の適切な構造化言語の形態でウェブサーバ1006によってユーザに提供され得る、ユーザに転送されるテキスト、グラフィックス、オーディオ、および/またはビデオ等のコンテンツを生成することができる。全ての要求および応答、ならびにクライアントデバイス1002とアプリケーションサーバ1008との間のコンテンツの送達は、ウェブサーバ1006によって取り扱うことができる。本明細書で論じられる構造化コードは、本明細書で他の場所で論じられるように、任意の適切なデバイスまたはホストマシン上で実行することができるので、ウェブサーバおよびアプリケーションサーバは必要とされず、これらは単に例示的な構成要素に過ぎないことを理解されたい。
【0097】
データストア1010は、いくつかの別個のデータテーブル、データベース、または他のデータ記憶機構と、特定の態様に関連するデータを記憶するための媒体を含むことができる。例えば、例示されるデータストアは、製品側のコンテンツを提供するために使用することができる、コンテンツ(例えば、製品データ)1012およびユーザ情報1016を記憶するための機構を含む。データストアはまた、ログデータまたはセッションデータ1014を記憶するための機構も含むように示される。ページ画像情報およびアクセス権利情報等の、データストアに記憶する必要があり得る、数多くの他の態様があり得、必要に応じて上で列記した機構のいずれかに、またはデータストア1010の付加的な機構に記憶することができることを理解されたい。データストア1010は、アプリケーションサーバ1008から命令を受け取って、それに応じてデータを取得する、更新する、または別様には処理するために、それと関連する論理を通して操作可能である。一例において、ユーザは、特定のタイプのアイテムの検索要求を提出し得る。この場合、データストアは、ユーザの識別情報を照合するためにユーザ情報にアクセスし得、また、そのタイプのアイテムに関する情報を取得するために、カタログの詳細情報にアクセスすることができる。情報は、次いで、ユーザがユーザデバイス1002上のブラウザを介して視聴することができる、ウェブページ上の結果リスト等で、ユーザに返すことができる。関心の特定のアイテムの情報は、ブラウザの専用ページまたはウィンドウで視聴することができる。
【0098】
各サーバは、一般的に、そのサーバの一般管理および操作のための実行可能プログラム命令を提供するオペレーティングシステムを含み、また一般的に、サーバのプロセッサによって実行されたときに、サーバがその意図する機能を行うことを可能にする命令を記憶する、コンピュータ読み出し可能な媒体を含む。オペレーティングシステムおよびサーバの一般機能の好適な実現例は、既知であるか、または商業的に入手可能であり、また、特に本明細書の開示に照らして、当業者によって容易に実現される。
【0099】
一実施形態における環境は、1つ以上のコンピュータネットワークまたは直接接続を使用して、通信リンクを介して相互接続される複数のコンピュータシステムおよび構成要素を利用する、分散コンピューティング環境である。しかしながら、そのようなシステムは、図10で例示されるよりも少ない数または多い数の構成要素を有するシステムで十分同等に動作できることが、当業者に認識されるであろう。したがって、図10のシステム1000の描写は、事実上、実例となるものであり、本開示の範囲を限定するものとみなすべきではない。
【0100】
種々の実施形態はさらに、多種多様な操作環境で実現することができ、一部の場合において、いくつかのアプリケーションのいずれかを操作するために使用することができる、1つ以上のユーザコンピュータまたはコンピューティングデバイスを含むことができる。ユーザまたはクライアントデバイスとしては、標準的なオペレーティングシステムを実行するデスクトップまたはラップトップコンピュータ等の、数多くの汎用パーソナルコンピュータ、ならびに、モバイルソフトウェアを実行し、かついくつかのネットワークおよびメッセージングプロトコルをサポートすることができる、セルラーデバイス、無線デバイス、およびハンドヘルドデバイスのいずれかが挙げられる。そのようなシステムとしてはまた、開発およびデータベース管理等の目的で、種々の市販のオペレーティングシステムおよび他の既知のアプリケーションのいずれかを実行する、数多くのワークステーションも挙げられる。これらのデバイスとしてはまた、ネットワークを介して通信することができる、ダミー端末、シンクライアント、ゲームシステム、および他のデバイス等の、他の電子デバイスも挙げられる。
【0101】
大部分の実施形態は、TCP/IP、OSI、FTP、UPnP、NFS、CIFS、およびAppleTalk等の、種々の市販のプロトコルのいずれかを使用して通信をサポートするための、当業者が精通している少なくとも1つのネットワークを利用する。ネットワークは、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、およびそれらの任意の組み合わせとすることができる。
【0102】
ウェブサーバを利用する実施形態において、ウェブサーバは、HTTPサーバ、FTPサーバ、CGIサーバ、データサーバ、Java(登録商標)サーバ、およびビジネスアプリケーションサーバを含む、種々のサーバまたは中間層アプリケーションのいずれかを動作させることができる。サーバ(複数可)はまた、ユーザデバイスからの要求に応じて、Java(登録商標)、C、C#、もしくはC++等の任意のプログラミング言語、またはPerl、Python、もしくはTCL等の任意のスクリプト言語、ならびにそれらの組み合わせで書かれた1つ以上のスクリプトまたはプログラムとして実現され得る1つ以上のウェブアプリケーションを実行すること等によって、プログラムまたはスクリプトを実行することも可能であり得る。サーバ(複数可)としてはまた、Oracle(登録商標)、Microsoft(登録商標)、Sybase(登録商標)、およびIBM(登録商標)から市販されているものが挙げられるがそれらに限定されない、データベースサーバも挙げられる。
【0103】
環境は、上で論じたように、種々のデータストア、ならびに他のメモリおよび記憶媒体を含むことができる。これらは、1つ以上のコンピュータに対してローカルな(および/またはその中に存在する)、またはネットワーク全体にわたるコンピュータのいずれかまたは全てからリモートな記憶媒体上等の、種々の場所に存在することができる。特定の1組の実施形態において、情報は、当業者が精通しているストレージエリアネットワーク(「SAN」)の中に存在し得る。同様に、必要に応じて、コンピュータ、サーバ、または他のネットワークデバイスに起因する機能を行うための任意の必要なファイルが、ローカルおよび/またはリモートで記憶され得る。システムがコンピュータ制御のデバイスを含む場合、そのような各デバイスは、バスを介して電気的に連結され得るハードウェア要素を含むことができ、該要素は、例えば、少なくとも1つの中央処理ユニット(CPU)と、少なくとも1つの入力デバイス(例えば、マウス、キーボード、コントローラ、タッチセンサ式表示要素、またはキーパッド)と、少なくとも1つの出力デバイス(例えば、表示デバイス、プリンタ、またはスピーカー)とを含む。そのようなシステムはまた、ディスクドライブ、光記憶デバイス、およびランダムアクセスメモリ(RAM)またはリードオンリーメモリ(ROM)等の固体記憶デバイス、ならびにリムーバブル媒体デバイス、メモリカード、フラッシュカード等の、1つ以上の記憶デバイスも含み得る。
【0104】
そのようなデバイスとしてはまた、上で説明したように、コンピュータ読み出し可能な記憶媒体リーダー、通信デバイス(例えば、モデム、ネットワークカード(無線または有線)、赤外線通信デバイス)、および作業メモリも挙げられる。コンピュータ読み出し可能な記憶媒体リーダーは、リモート、ローカル、固定の、および/またはリムーバブルな記憶デバイスを表すコンピュータ読み出し可能な記憶媒体、ならびにコンピュータ読み出し可能な情報を一時的におよび/またはより恒久的に含む、記憶する、伝送する、および取り出すための記憶媒体と接続することができる、またはそれを受け取るように構成することができる。システムおよび種々のデバイスはまた、一般的に、オペレーティングシステム、およびクライアントアプリケーションまたはウェブブラウザ等のアプリケーションプログラムを含む、少なくとも1つのワーキングメモリデバイス内に位置する、数多くのソフトウェアアプリケーション、モジュール、サービス、または他の要素も含む。代替の実施形態は、上で説明した数多くの変形例を有し得ることを理解されたい。例えば、カスタマイズされたハードウェアも使用され得、および/または特定の要素が、ハードウェア、ソフトウェア(アプレット等のポータブルソフトウェアを含む)、または双方で実現され得る。さらに、ネットワーク入力/出力デバイス等の他のコンピューティングデバイスへの接続が利用され得る。
【0105】
コードまたはコードの部分を収容するための記憶媒体およびコンピュータ読み出し可能な媒体としては、コンピュータ読み出し可能な命令、データ構造、プログラムモジュール、または他のデータ等の情報を記憶および/または伝送するための任意の方法または技術で実装される揮発性および不揮発性で、取り外し可能および取り外し不可能な媒体等が挙げられるが、それらに限定されない、RAM、ROM、EEPROM、フラッシュメモリ、または他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、または他の磁気記憶デバイス、または所望の情報を記憶するために使用することができ、システムデバイスによってアクセスすることができる、任意の他の媒体を含む、記憶媒体および通信媒体を含む、当技術分野において知られているまたは使用される、任意の適切な媒体が挙げられる。本明細書で提供される開示および教示に基づいて、当業者は、種々の実施形態を実現するための他の様式および/または方法を認識するであろう。
【0106】
したがって、本明細書および図面は、限定的な意味ではなく、例示的な意味であるとみなされるべきである。しかしながら、特許請求の範囲に記載された本発明のより広い趣旨および範囲から逸脱することなく、種々の修正および変更が行われ得ることが明らかであろう。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10