(57)【要約】（ａ）データセットに、時間を示すデータを含めることと、（ｂ）データセットに対してハッシュ関数を実行し、ハッシュ値を生成することと、（ｃ）デバイスにアクセスするために、ハッシュ値を、ユーザのパスワードとして適用することと、を含む方法が提供される。（ａ）データセットに、時間を示すデータを含めることと、（ｂ）データセットに対してハッシュ関数を実行し、ハッシュ値を生成することと、（ｃ）ハッシュ値がユーザからのパスワードと一致していることを判定することと、（ｄ）ユーザに対して、デバイスへのアクセスを許可することと、を含む方法も提供される。この方法を実行するシステムと、プロセッサに対してこの方法を実行させるための命令群を含む記憶デバイスともまた提供される。
2015514269.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
時間を示すデータを、データセットに含めることと、
前記データセットに対してハッシュ関数を実行し、ハッシュ値を生成することと、
デバイスにアクセスするために、前記ハッシュ値を、ユーザのパスワードとして適用することと、
を備える方法。
【請求項２】
前記含めることはさらに、前記デバイスへアクセスするための、前記ユーザの許可レベルを、前記データセットに含めることを備える、請求項１に記載の方法。
【請求項３】
前記時間は、現在の日付を含んでいる、請求項１に記載の方法。
【請求項４】
前記時間は、現在の時刻を含んでいる、請求項１に記載の方法。
【請求項５】
システムであって、
プロセッサと、
前記プロセッサによって読取可能な命令群を含むメモリとを備え、
前記命令群は、前記プロセッサに対して、
時間を示すデータを、データセットに含めることと、
前記データセットに対してハッシュ関数を実行し、ハッシュ値を生成することと、
デバイスにアクセスするために、前記ハッシュ値を、ユーザのパスワードとして適用することと
を実行させる、システム。
【請求項６】
前記命令群はさらに、前記プロセッサに対して、前記デバイスにアクセスするための前記ユーザの許可レベルを、前記データセットに含めることを実行させる、請求項５に記載のシステム。
【請求項７】
前記時間は、現在の日付を含んでいる、請求項５に記載のシステム。
【請求項８】
前記時間は、現在の時刻を含んでいる、請求項５に記載のシステム。
【請求項９】
プロセッサによって読取可能な命令群を備える記憶デバイスであって、
前記命令群は、前記プロセッサに対して、
時間を示すデータを、データセットに含めることと、
前記データセットに対してハッシュ関数を実行し、ハッシュ値を生成することと、
デバイスにアクセスするために、前記ハッシュ値を、ユーザのパスワードとして適用することと
を実行させる、記憶デバイス。
【請求項１０】
前記命令群はさらに、前記プロセッサに対して、前記デバイスにアクセスするための前記ユーザの許可レベルを、前記データセットに含めることを実行させる、請求項９に記載の記憶デバイス。
【請求項１１】
前記時間は、現在の日付を含んでいる、請求項９に記載の記憶デバイス。
【請求項１２】
前記時間は、現在の時刻を含んでいる、請求項９に記載の記憶デバイス。
【請求項１３】
方法であって、
時間を示すデータを、データセットに含めることと、
前記データセットに対してハッシュ関数を実行し、ハッシュ値を生成することと、
前記ハッシュ値がユーザからのパスワードと一致していることを判定することと、
前記ユーザに対して、デバイスへのアクセスを許可することと、
を備える方法。
【請求項１４】
前記含めることはさらに、前記デバイスにアクセスするための前記ユーザの許可レベルを、前記データセットに含めることを備え、
前記許可することは、前記ユーザに対して、前記許可レベルで前記デバイスにアクセスすることを許可することを備える、請求項１３に記載の方法。
【請求項１５】
前記時間は、現在の日付を含んでいる、請求項１３に記載の方法。
【請求項１６】
前記時間は、現在の時刻を含んでいる、請求項１３に記載の方法。
【請求項１７】
システムであって、
プロセッサと、
前記プロセッサによって読取可能な命令群を含むメモリとを備え、
前記命令群は、前記プロセッサに対して、
時間を示すデータを、データセットに含めることと、
前記データセットに対してハッシュ関数を実行し、ハッシュ値を生成することと、
前記ハッシュ値がユーザからのパスワードと一致していることを判定することと、
前記ユーザに対して、デバイスへのアクセスを許可することと
を実行させる、システム。
【請求項１８】
前記命令群はさらに、前記プロセッサに対して、
前記デバイスにアクセスするための前記ユーザの許可レベルを、前記データセットに含めることと、
前記ユーザに対して、前記許可レベルで前記デバイスにアクセスすることを許可することと
を実行させる、請求項１７に記載のシステム。
【請求項１９】
前記時間は、現在の日付を含んでいる、請求項１７に記載のシステム。
【請求項２０】
前記時間は、現在の時刻を含んでいる、請求項１７に記載のシステム。
【請求項２１】
プロセッサによって読取可能な命令群を備える記憶デバイスであって、
前記命令群は、前記プロセッサに対して、
時間を示すデータを、データセットに含めることと、
前記データセットに対してハッシュ関数を実行し、ハッシュ値を生成することと、
前記ハッシュ値がユーザからのパスワードと一致していることを判定することと、
前記ユーザに対して、デバイスへのアクセスを許可することと
を実行させる、記憶デバイス。
【請求項２２】
前記命令群はさらに、前記プロセッサに対して、
前記デバイスにアクセスするための前記ユーザの許可レベルを、前記データセットに含めることと、
前記ユーザに対して、前記許可レベルで前記デバイスにアクセスすることを許可することと
を実行させる、請求項２１に記載の記憶デバイス。
【請求項２３】
前記時間は、現在の日付を含んでいる、請求項２１に記載の記憶デバイス。
【請求項２４】
前記時間は、現在の時刻を含んでいる、請求項２１に記載の記憶デバイス。
【発明の詳細な説明】
【著作権上の注意】
【０００１】
本特許文献の開示の一部は、著作権保護に従う資料を含んでいる。本特許文献または本特許開示は、特許商標庁における特許出願または記録に表れるので、著作権所有者は、本特許文献または本特許開示のいかなる人による複写再生成にも反対しないが、そうではない場合には、著作権所有者は、すべての著作権を持つ。
【技術分野】
【０００２】
本発明は、一般に、情報システム・リソースへの無許可のアクセスを阻止するためのコンピュータ・ベースのシステムおよび方法に関し、特に、認証および許可のためのスタンド・アロンの信用証明を生成することに関する。
【背景技術】
【０００３】
本セクションに記載されたアプローチは、追及されうるアプローチであるが、必ずしも、以前に考慮または追及されているアプローチである必要はない。したがって、本セクションに記載されたアプローチは、本願における特許請求の範囲に対する従来技術ではないかもしれず、本セクションに含められることによって、従来技術であるとは認められないことがありうる。
【０００４】
ノードは、セキュアな、ネットワークされたデバイスであり、このノードがマウントされたところまたは近傍における、例えば、ポール・トップまたはコンクリート・パッド上の変換器のような電力グリッド・コンポーネントに関する情報を収集し配信する。電力グリッドを操作するユーティリティの従業員である技術者は、サービス・コール中、このノードにローカルにログインする必要がありうる。このノードは、ネットワーク・オペレーション・センタ内のネットワーク認証サーバに接続する場合、ネットワーク認証サーバへ、ローカル・ログイン要求を転送しうる。しかしながら、ノードがオフラインである場合、ノードは、ネットワーク認証サーバと通信できないであろう。ノードがオフラインである場合、ネットワーク認証サーバへのバックアップとして、ノードのためのオフライン認証メカニズムが必要である。
【０００５】
共通のオフライン認証メカニズムは、ローカル・パスワード・ファイルである。ローカル・パスワード・ファイルの脆弱性は、暗号化により低減することができうる。しかしながら、その時でさえ、この脆弱性は、その他多くの認証メカニズムの脆弱性よりも大きい。攻撃者は、ローカル・パスワード・ファイルを用いてセキュアにされているデバイスへの物理的なアクセスを取得すると、攻撃者が、力ずくの攻撃を用いてローカル・パスワード・ファイルを読み取ることができるまで、単なる時間の問題となるであろう。ノードの位置がさらけ出されると、ノードにおけるローカル・パスワード・ファイルの使用が、特に脆弱になる。ノード上でローカル・パスワード・ファイルを用いることよりも脆弱ではない、ノードのためのオフライン認証メカニズムが必要である。
【０００６】
ワン・タイム・パスワードは、同様の状況における解決策としてしばしば使用される。しかしながら、ワン・タイム・パスワードを、一度よりも多く使用することができないことは、技術者が、ノードへサービス・コールをする場合に不便になるであろう。技術者は、サービス・コール中、一度よりも多くノードへログインする必要がありうる。再使用可能なパスワードはこの問題を解決するだろうが、辞書攻撃、社会工学、盗み、および偶然の開示を含むその他のタイプの脆弱性をさらにもたらすだろう。物理的なトークンも、同様の脆弱性を持っており、技術者が、サービス・コール中に操作することを困難にしうる。
【０００７】
サービス・コール中に繰り返されるログインすることを可能とするが、再使用可能なパスワードまたは物理的なトークンほど脆弱ではないノードのためのオフライン認証メカニズムが必要である。
【発明の概要】
【０００８】
ノードのためのオフライン認証メカニズムは、制限された寿命しか有さない再使用可能なパスワードのオフライン・パスワード生成器を含む。オフライン・パスワード生成器は、ネットワーク・オペレーション・センタに位置しており、認証サービスおよび許可サービスの両方を提供しうる。共有秘密、すなわち、オフライン・パスワード生成器とノードとの両方によって共有されるデータの秘密アイテムが、ノードにおいて、暗号化された形式で格納されるが、共有秘密は、それ自身では、ノードにログインするために使用することはできない。なぜなら、オフライン・パスワード生成器は、共有秘密のみならず、その他のアイテムのデータにも基づくパスワードを生成するからである。制限された寿命を実施するいくつかの方法が開示される。これは、（ｉ）意図されたアクセスの日付を用いることと、（ｉｉ）固定された持続期間を持つ、指定された開始時間を用いることとを含む。
【０００９】
第１のデバイスによって実施される方法が提供される。これは、（ａ）データセット内に、時間を示すデータを含めることと、（ｂ）データセットに対してハッシュ関数を実行し、ハッシュ値を生成することと、（ｃ）ユーザがデバイスにアクセスするためのパスワードとしてハッシュ値を適用することと、を含む。第２のデバイスによって実施される方法も提供される。これは、（ａ）データセット内に、時間を示すデータを含めることと、（ｂ）データセットに対してハッシュ関数を実行し、ハッシュ値を生成することと、（ｃ）ハッシュ値が、ユーザからのパスワードと一致していることを判定することと、（ｄ）第２のデバイスへのアクセスをユーザに許可することと、を含む。これら方法を実行するシステムや、これら方法をプロセッサに対して実行させるための命令群を含む記憶デバイスもまた提供される。
【図面の簡単な説明】
【００１０】
【図１】図１は、ノードにローカルにログインするためのオフライン認証メカニズムを例示する図である。
【図２】図２は、オフライン・パスワード生成器のアーキテクチャのブロック図である。
【図３】図３は、ノードのためのアーキテクチャのブロック図である。
【図４】図４は、パスワードを生成する要求を処理するためにオフライン・パスワード生成器によって実施される方法のフローチャートである。
【図５】図５は、オフライン・パスワード生成器によって生成されたパスワードを用いてログイン要求を処理するためにノードによって実施される方法のフローチャートである。
【図６】図６は、パスワードの寿命が、意図されたアクセスの日付の範囲である実施形態においてパスワード検証を実行するためにノードによって実施される方法のフローチャートである。
【図７】図７は、パスワードの寿命が固定された持続期間を有する実施形態においてパスワード検証を実行するためにノードによって実施される方法のフローチャートである。
【発明を実施するための形態】
【００１１】
ノードのためのオフライン認証メカニズムは、制限された寿命しか有さない再使用可能なパスワードのオフライン・パスワード生成器を含む。共有秘密は、ノード上に格納される。しかし、攻撃者は、ノードにログインするために、共有秘密を自身で使用することはできない。なぜなら、オフライン・パスワード生成器は、共有秘密のみならず、その他のアイテムのデータにも基づくパスワードを生成するからである。別の実施形態では、共有秘密は、さらなる防護のために、さまざまなハッシュ・アルゴリズムまたは暗号化アルゴリズムを用いてノードに格納される。
【００１２】
オフライン・パスワード生成器およびノードはともに、鍵導出関数ＰＢＫＤＦ２（パスワード・ベースの鍵導出関数２）を用いてパスワードを生成しうる。ＰＢＫＤＦ２は、例えば、ＭＤ５（メッセージ・ダイジェスト５）、ＳＨＡ−２（セキュア・ハッシュ・アルゴリズム２）、ＳＨＡ−２５６、またはＨＭＡＣ−ＭＤ５（ＭＤ５を用いるハッシュ・ベースのメッセージ認証コード）、ＨＭＡＣ−ＳＨＡ−２、またはＨＭＡＣ−ＳＨＡ−２５６のような、選択された準ランダムな関数を、所望の入力値に対して反復的に適用する。
【００１３】
ハッシュは、暗号化とは異なることに留意されたい。データが暗号化され、暗号値が生成される。暗号値は、その後解読され、オリジナルのデータが生成される。したがって、暗号化は、相補演算として解読がある可逆的な演算である。対照的に、データは、ハッシュされ、このデータを表すハッシュ値が生成されるが、通常は、オリジナルのデータは、ハッシュ値から復元することはできない。ハッシュは、相補的な演算の無い、非可逆的な、一方向の演算である。しかしながら、本明細書に記載されるシステムでは、オリジナルのデータ、または、少なくともその一部が推定されるように、ハッシュ値が処理される。
【００１４】
図１は、ノードにローカルにログインするためのオフライン認証メカニズムの典型的な使用を例示する図である。ネットワーク・オペレーション・センタ（ＮＯＣ）１０５は、オフライン・パスワード生成器１１５を含んでいる施設である。ＮＯＣオペレータ１２０は、ＮＯＣ１０５で働き、オフライン・パスワード生成器１１５への物理的なアクセスを有する。
【００１５】
技術者１８０は、ノード１６５を含むサービス・コールをしている。技術者１８０は、例えば、（図示しない）セルラ電話を使って、技術者１８０を識別するユーザ名１５５と、ノード１６５を識別するノード識別子１８５とを含むパスワード要求１３５を、ＮＯＣオペレータ１２０へ伝える。ＮＯＣオペレータ１２０は、パスワード１４０の生成、およびパスワード１４０の技術者１８０への口頭での伝達のために、オフライン・パスワード生成器１１５を操作する。別の実施形態では、技術者１８０は、ＮＯＣオペレータ１２０から人間作業で（例えば、文書化された作業手順で）パスワード１４０を取得する。
【００１６】
パスワード１４０を生成するために使用されるデータは、技術者１８０が、ノード１６５にアクセスする場合に与えられる許可のレベル、すなわち、アクセスのレベルを示す。本明細書で使用されるように、「認証」という用語は、認証機能、すなわち、アクセスを許可または拒否することと、許可機能、すなわち、アクセスのレベルを許可することとを称しうる。例えば、（ｉ）許可レベル１は、技術者１８０が、単に、ノード１６５からデータを読み取ることのみを許可し、（ｉｉ）許可レベル２は、技術者１８０に対して、ノード１６５における小さなメンテナンス（例えば、履歴のリセット）を許可し、（ｉｉｉ）許可レベル３は、技術者１８０に対して、ノード１６５を再設定する（例えば、ノード１６５が通信するネットワーク管理サーバのアドレスを変更する）ことを許可しうる。しかしながら、別の実施形態では、パスワード１４０は、許可データを含まないが、ノード１６５に対して、単に、技術者１８０へのアクセスを許可するように指示する。
【００１７】
パスワード１４０を受け取った後、技術者１８０は、ノード１６５にユーザ名１５５およびパスワード１４０を入力し、ノード１６５は、認証および許可をローカルに実行する。ノード１６５が技術者１８０へアクセスを許可すると、技術者１８０は、パスワード１４０によって指定された認証レベルでノード１６５にログインされる。
【００１８】
図２は、コンピューティング・デバイス２０５および記憶デバイス２４５を含むオフライン・パスワード生成器１１５用の典型的なアーキテクチャのブロック図である。
【００１９】
記憶デバイス２４５は、有形のコンピュータ読取可能な記憶媒体であり、例えば、ハード・ドライブ、読取専用メモリ（ＲＯＭ）、またはこれらの組み合わせで実現される。記憶デバイス２４５は、データセット２４０およびプログラム・モジュール２３５を含んでいる。データセット２４０は、データの集合であり、その重要性はさらに以下に記載される。プログラム・モジュール２３５は、プロセッサを制御するための命令群のセットを含んでおり、単一のモジュールとして、または、互いに協調して動作する複数のモジュールとして実現されうる。「モジュール」という用語は、本明細書では、スタンド・アロンの構成要素、または、複数の下位の構成要素の統合された構成として実現されうる機能動作を示すために使用される。さらに、プログラム・モジュール２３５は、記憶デバイス２４５にインストールされ、ソフトウェアで実施されると、本明細書において記載されているが、例えば、電子回路、ファームウェア、ソフトウェア、またはこれらの組み合わせのうちの何れかで実施されうる。プログラム・モジュール２３５の構成要素のうちの１つは、ハッシュ関数２３２Ａである。ハッシュ関数２３２Ａは、鍵と呼ばれる第１のデータセットを、ハッシュ値と呼ばれる第２のデータセットへマップする関数である。
【００２０】
コンピューティング・デバイス２０５はプロセッサ２３０および揮発性メモリ２１５を含んでいる。プロセッサ２３０は、命令群に応答し命令群を実行する論理回路で構成された電子デバイスである。揮発性メモリ２１５は、プロセッサ２３０の動作を制御するためにプロセッサ２３０による読取および実行が可能な命令群およびデータを格納する。揮発性メモリ２１５は、例えば、ランダム・アクセス・メモリ（ＲＡＭ）内に実装されうる。プロセッサ２３０は、記憶デバイス２４５からプログラム・モジュール２３５およびデータセット２４０を読み、揮発性メモリ２１５における処理２１０としてプログラム・モジュール２３５を実行する。
【００２１】
プログラム・モジュール２３５は、記憶デバイス２４５にすでにロードされているとして示されているが、記憶デバイス２４５または揮発性メモリ２１５へのその後のロードのために、記憶デバイス２３１に構成されうる。記憶デバイス２３１は、プログラム・モジュール２３５をそこに格納する有形のコンピュータ読取可能な記憶媒体である。記憶デバイス２３１の例は、コンパクト・ディスク、磁気テープ、読取専用メモリ、光記憶媒体、ハード・ドライブ、複数のパラレル・ハード・ドライブからなるメモリ・ユニット、およびユニバーサル・シリアル・バス（ＵＳＢ）フラッシュ・ドライブを含む。
【００２２】
図３は、プロセッサ３４０、揮発性メモリ３１０、クロック３２０、および不揮発性メモリ３３０を含むノード１６５の典型的なアーキテクチャのブロック図である。
【００２３】
クロック３２０は、時間（例えば、年、月、日、時、分、秒等）を維持し、読まれた場合、現在時刻３１５を提供する。本明細書で使用されるように、「時間」という用語は、日付と時刻との両方を称しうる。クロック３２０および現在時刻３１５の重要性は以下にさらに記載される。
【００２４】
不揮発性メモリ３３０は、有形のコンピュータ読取可能な記憶媒体であり、例えば、ハード・ドライブ、読取専用メモリ（ＲＯＭ）、またはその組み合わせで実現されうる。不揮発性メモリ３３０は、データセット３３５およびプログラム・モジュール３２５を含んでいる。データセット３３５は、データの集合であり、その重要性が以下にさらに記載される。プログラム・モジュール３２５は、プロセッサ３４０を制御するための命令群のセットの指示を含んでおり、単一のモジュール、または、互いに協調して動作する複数のモジュールとして実現されうる。プログラム・モジュール３２５は、不揮発性メモリ３３０にインストールされ、ソフトウェアで実施されると、本明細書において記載されているが、例えば、電子回路、ファームウェア、ソフトウェア、またはこれらの組み合わせのうちの何れかで実施されうる。プログラム・モジュール３２５の構成要素のうちの１つはハッシュ関数２３２Ｂである。
【００２５】
ハッシュ関数２３２Ｂは、ハッシュ関数２３２Ａと機能的に等価である。
【００２６】
すなわち、ハッシュ関数２３２Ｂとハッシュ関数２３２Ａは、同じハッシュ関数である。
【００２７】
したがって、ハッシュ関数２３２Ａおよび２３２Ｂのおのおのは、同じ入力データセットが提示された場合、同じ結果のハッシュ値を生むだろう。
【００２８】
プロセッサ３４０は、命令群に応答し、命令群を実行する論理回路からなる電子デバイスである。揮発性メモリ３１０は、プロセッサ３４０の動作を制御するためにプロセッサ３４０によって読取および実行が可能な命令群をおよびデータを格納する。揮発性メモリ３１０は、例えば、ランダム・アクセス・メモリ（ＲＡＭ）内に実装されうる。プロセッサ３４０は、不揮発性メモリ３３０からプログラム・モジュール３２５およびデータセット３３５を読み、揮発性メモリ３１０における処理３０５としてプログラム・モジュール３２５を実行する。
【００２９】
プログラム・モジュール３２５は、不揮発性メモリ３３０にすでにロードされているとして示されているが、不揮発性メモリ３３０または揮発性メモリ３１０へのその後のロードのために、記憶デバイス３２１において構成されうる。記憶デバイス３２１は、プログラム・モジュール３２５をそこに格納する有形のコンピュータ読取可能な記憶媒体である。記憶デバイス３２１の例は、コンパクト・ディスク、磁気テープ、読取専用メモリ、光記憶媒体、ハード・ドライブ、複数のパラレル・ハード・ドライブからなるメモリ・ユニット、およびユニバーサル・シリアル・バス（ＵＳＢ）フラッシュ・ドライブを含む。
【００３０】
図４は、パスワード１４０を生成する要求を処理するために、オフライン・パスワード・ジェネレータ１１５、特に、プロセッサ２３０によって実施される典型的な方法４００のためのフローチャートである。方法４００は、プログラム・モジュール２３５のプログラム構成要素としてエンコードされる。
【００３１】
方法４００の開始に先立って、技術者１８０は、ＮＯＣオペレータ１２０からのパスワードを要求する。この要求の一部として、技術者１８０は、ユーザ名１５５およびノード識別子１８５をＮＯＣオペレータに１２０を与える。
【００３２】
方法４００は、ステップ４０５で始まる。
【００３３】
ステップ４０５では、プロセッサ２３０が、ＮＯＣオペレータ１２０から、ユーザ名１５５、ノード識別子１８５、および寿命４１０を受信する。寿命４１０は、ノード１６５によって強いられるべきパスワード１４０の使用のための時間ウィンドウを指定する。パスワード１４０を生成するために寿命４１０が用いられるこの手法は、パスワード１４０がノード１６５によって処理される手法に部分的に依存しうる。一例では、寿命４１０は、例えば２０１２年３月２３日のように、日付のみを指定する。よって、パスワード１４０は、その日のみにノード１６５にアクセスするために有効となるであろう。別の例では、寿命４１０は、例えば２０１２年３月２３日午後１２：００のような日付および開始時間を指定する。よって、パスワード１４０は、その日、およびその開始時間で開始し、オフライン生成器１１５とノード１６５との両方によって予め知られている予め定められた期間のみに、ノード１６５にアクセスするために有効となるであろう。ノード１６５によってパスワード１４０を処理する実施の詳細は、寿命４１０のこれらの２つの例のおのおのについて、図６および図７と関連して以下に示される。
【００３４】
方法４００は、ステップ４０５からステップ４１５へ進む。
【００３５】
ステップ４１５において、プロセッサ２３０は、データセット２４０において、ノード識別子１８５のシリアル番号２４０を調べる。方法４００は、ステップ４１５からステップ４２５へ進む。
【００３６】
ステップ４２５において、プロセッサ２３０は、データセット２４０において、ノード識別子１８５の共有秘密４３０を調べる。共有秘密４３０は、ノード１６５によって知られているデータの秘密アイテムでもある。方法４００は、ステップ４２５からステップ４３５へ進む。
【００３７】
ステップ４３５では、プロセッサ２３０は、データセット２４０において、ユーザ名１５５の許可レベル４４０を調べる。方法４００は、ステップ４３５からステップ４４５へ進む。
【００３８】
ステップ４４５において、プロセッサ２３０は、ハッシュ関数２３２Ａにしたがってパスワード１４０を生成するために、ユーザ名１５５、シリアル番号４２０、共有秘密４３０、許可レベル４４０、および寿命４１０を用いる。すなわち、パスワード１４０は、ユーザ名１５５、シリアル番号４２０、共有秘密４３０、許可レベル４４０、および寿命４１０からなるデータセットから生成されるハッシュ値である。
【００３９】
ユーザ名１５５が技術者１８０と特定し、シリアル番号４２０がノード１６５のシリアル番号であり、共有秘密４３０がノード１６５によって知られているデータの秘密アイテムであることを思い出されたい。したがって、パスワード１４０は、寿命４１０によって指定される時間ウィンドウの間、ノード１６５とともに技術者１８０によって使用されるためにのみ適切である。
【００４０】
パスワード１４０の可能な例は、５ｇＦＴ−２ａ７ｚ−ＢＥｙＹ−ｒｄｕ２である。
【００４１】
方法４００は、ステップ４４５からステップ４５５へ進む。
【００４２】
ステップ４５５において、プロセッサ２３０は、例えば、（図示しない）ディスプレイによって、ＮＯＣオペレータ１２０へパスワード１４０を提供する。方法４００は、ステップ４５５からステップ４６０へ進む。
【００４３】
ステップ４６０において、方法４００は終了する。
【００４４】
図５は、パスワード１４０を用いてログイン要求を処理するために、ノード１６５、特にプロセッサ３４０によって実施される典型的な方法５００のためのフローチャートである。方法５００は、プログラム・モジュール３２５のプログラム構成要素としてエンコードされる。
【００４５】
方法４００はＮＯＣオペレータ１２０へパスワード１４０を提供することを思い出されたい。方法５００の開始に先立って、ＮＯＣオペレータ１２０は、技術者１８０にパスワード１４０を提供する。さらに、パスワード１４０は、寿命４１０によって指定される時間ウィンドウの間、ノード１６５とともに技術者１８０によって使用されるためにのみ適切であることを思い出されたい。
【００４６】
方法５００は、ステップ５０５で始まる。
【００４７】
ステップ５０５において、プロセッサ３４０は、技術者１８０から、ユーザ名１５５およびパスワード１４０を受け取る。方法５０５は、ステップ５０５からステップ５１０へ進む。
【００４８】
ステップ５１０において、プロセッサ３４０は、データセット３３５から、シリアル番号５１５および共有秘密５２５を得る。シリアル番号５１５は、ノード１６５のシリアル番号である。共有秘密５２５は、オフライン・パスワード生成器１１５によって知られているデータの秘密アイテムでもある。さらなるレベルのセキュリティを提供するために、共有秘密５２５は、暗号化されたフォーマットで、ノード１６５に格納される。ステップ５１０において、プロセッサ３４０は、共有秘密５２５を解読し、ステップ５１０の後、解読されたバージョンの共有秘密５２５を利用する。方法５００は、ステップ５１０からステップ５３０へ進む。
【００４９】
ステップ５３０において、プロセッサ３４０は、クロック３２０から現在時刻３１５を読み取る。方法５００は、ステップ５３０からステップ５４０へ進む。
【００５０】
ステップ５４０において、プロセッサ３４０は、データセット３３５から、許可レベルのリスト５４５を得る。例えば、許可レベルのリスト５４５は、３つの許可レベル、すなわち、許可レベル１、許可レベル２、および許可レベル３をリストしている。方法５００は、ステップ５４０からステップ５５０へ進む。
【００５１】
ステップ５５０において、プロセッサ３４０は、インデクス５５５を１に等しく設定する。インデクス５５５は、ステップ５６０において、許可レベルのリスト５４５に対するインデクスとして以下において使用されるだろう。方法５００は、ステップ５５０からステップ５６０へ進む。
【００５２】
ステップ５６０において、プロセッサ３４０は、インデクス５５５を用いて、許可レベルのリスト５４５から、選択された許可レベル５６５を得る。方法５００は、ステップ５６０からステップ５７０へ進む。
【００５３】
ステップ５７０において、プロセッサ３４０は、（ｉ）ハッシュ関数２３２Ｂにしたがってストリング５７２を生成するために、および（ｉｉ）ストリング５７２がパスワード１４０に一致するか、すなわち、ストリング５７２およびパスワード１４０が互いに同一であるかを判定するために、ユーザ名１５５、シリアル番号５１５、共有秘密５２５、選択された許可レベル５６５、および現在時刻３１５を用いる。
【００５４】
ハッシュ関数２３２Ｂはハッシュ関数２３２Ａに機能的に等価であり、ハッシュ関数２３２Ａおよび２３２Ｂのおのおのは、同じ入力データセットを与えられた場合に、同じ結果のハッシュ値を生成することを思い出されたい。したがって、ハッシュ関数２３２Ｂからのハッシュ値、すなわち、ストリング５７２が、パスワード１４０と同じであれば、パスワード１４０が有効であると見なされるであろう。
【００５５】
前述したように、方法４００では、パスワード１４０を生成するために寿命４１０が適用される手法は、パスワード１４０がノード１６５によって処理される手法に部分的に依存しうる。２つの例のためのステップ５７０の実施詳細が、図６および図７に関連付けられ以下に記載される。
【００５６】
方法５００は、ステップ５７０からステップ５７５へ進む。
【００５７】
ステップ５７５において、プロセッサ３４０は、ストリング５７２がパスワード１４０と一致するか否かをチェックする。ストリング５７２がパスワード１４０と一致すると、パスワード１４０は有効であると考えられ、方法５００は、ステップ５７５からステップ５８０へ進む。ストリング５７２がパスワード１４０と一致しない場合、方法５００は、ステップ５７５からステップ５８５へ進む。
【００５８】
ステップ５７５において、ストリング５７２とパスワード１４０とが一致することは、ストリング５７２を生成するためにステップ５７０において使用された選択された許可レベル５６５が、方法４００のステップ４３５において指定された許可レベル４４０と同じであり、架線作業員１８０に与えられた許可レベルでもあることを意味する。したがって、方法５００は、実際にパスワード１４０を解読することなく、パスワード１４０から、許可レベル４４０を効率的に推定する。
【００５９】
ステップ５７５において、ストリング５７２とパスワード１４０とが一致しないことは、必ずしもそう意味する訳ではないが、パスワード１４０が無効であることを意味しうることに留意されたい。あるいは、一致しないことは、単に、ストリング５７２を生成するために使用された選択された許可レベル５６５が、パスワード１４０を生成するために使用された許可レベル４４０と同じではないことを意味しうる。したがって、ストリング５７２がパスワード１４０と一致しないケースでは、方法５００は、異なる許可レベルを考慮するステップ５８５に進む。
【００６０】
ステップ５８０において、プロセッサ３４０は、技術者１８０が、選択された許可レベル５６５を用いて、ノード１６５にアクセスすることを許可する。方法５００は、ステップ５８０からステップ５９９へ進む。
【００６１】
ステップ５８５において、プロセッサ３４０は、方法５００が許可レベルのリスト５４５の最後に達したか否かを判定する。選択された許可レベル５６５が、許可レベルのリスト５４５における最後の許可レベルではないのであれば、すなわち、方法５００が許可レベルのリスト５４５の最後に達していないのであれば、方法５００は、ステップ５８５からステップ５９０へ進む。選択された許可レベル５６５が、許可レベルのリスト５４５における最後の許可レベルであれば、すなわち、方法５００が、許可レベルのリスト５４５の最後に達したのであれば、方法５００は、ステップ５８５からステップ５９５へ進む。
【００６２】
ステップ５９０において、プロセッサ３４０は、インデクス５５５に１を加える。したがって、インデクス５５５は、許可レベルのリスト５４５における次の許可レベルに対するインデクスとして役立つだろう。方法５００は、ステップ５９０からステップ５６０にループ・バックする。
【００６３】
ステップ５９５において、プロセッサ３４０は、技術者１８０に、ノード１６５へのアクセスを与えない。方法５００は、ステップ５９５からステップ５９９へ進む。
【００６４】
ステップ５９９において方法５００は終了する。
【００６５】
パスワード１４０をエンコードするため、および、パスワード１４０を検証するために、時間がどのように用いられるかに関する、いくつかの異なる実施形態のためのステップ４４５およびステップ５７０の実施の詳細が、図６および図７に関連付けられて以下にそれぞれ記載されている。これら記載は、本技法の可能なすべての実施形態の典型例であり、網羅的ではないと意味されている。
【００６６】
図６は、パスワード１４０が有効であるべきである間、寿命４１０が、日付のみを示し、その日における特定の時刻を示さない実施形態において、ステップ５７０を実行するために、ノード１６５によって、特にプロセッサ３４０によって実施されうる典型的な方法６００のフローチャートである。すなわち、方法４００が実行された場合、ＮＯＣオペレータ１２０は、特定の日付を示す寿命４１０と、その特定の日付を含むデータセットから生成されたパスワード１４０とを指定する。方法６００は、プログラム・モジュール３２５のプログラム構成要素としてエンコードされうる。
【００６７】
方法６００は、ステップ６０５で始まる。
【００６８】
ステップ６０５において、プロセッサ３４０は、現在時刻３１５から日付６１０を得る。方法６００は、ステップ６０５からステップ６１５へ進む。
【００６９】
ステップ６１５において、プロセッサ３４０は、ストリング５７２を生成するために、ユーザ名１５５、シリアル番号５１５、共有秘密５２５、すなわち、共有秘密５２５の解読されたバージョン（ステップ５１０参照）、選択された許可レベル５６５、および日付６１０を用いる。処理６００は、ステップ６１５からステップ６２５進む。
【００７０】
ステップ６２５において、プロセッサ３４０は、ストリング５７２がパスワード１４０と一致するか否かを判定する。前述したように、ハッシュ関数２３２Ｂはハッシュ関数２３２Ａに機能的に等価であり、ハッシュ関数２３２Ａおよび２３２Ｂのおのおのは、同じ入力データセットを与えられた場合に、同じ結果のハッシュ値を生成するだろう。したがって、ハッシュ関数２３２Ｂからのハッシュ値、すなわち、ストリング５７２が、パスワード１４０と同じであれば、パスワード１４０は、有効であると見なされるだろう。ストリング５７２が、パスワード１４０と一致するのであれば、方法６００は、ステップ６３０に進む。ストリングの５７２がパスワード１４０と一致しないのであれば、方法６００は、ステップ６３５に進む。
【００７１】
ステップ６２５において、ストリング５７２とパスワード１４０との一致は、ストリング５７２を生成するためにステップ６１５において使用された日付６１０が、方法４００のステップ４０５において指定されたような寿命４１０における日付と同じであることを意味することに留意されたい。したがって、方法６００は、実際にパスワード１４０を解読することなく、パスワード１４０から、寿命４１０における日付を効率的に推定する。
【００７２】
ステップ６３０において、プロセッサ３４０は、ストリング５７２がパスワード１４０に一致することを示す。方法６００は、ステップ６３０からステップ６４０へ進む。
【００７３】
ステップ６３５において、プロセッサ３４０は、ストリング５７２がパスワード１４０と一致しないことを示す。方法６００は、ステップ６３５からステップ６４０へ進む。
【００７４】
ステップ６４０において、方法６００は終了する。
【００７５】
図７は、寿命４１０が、オフライン・パスワード生成器１１５とノード１６５との両方によって先立って知られている固定された持続期間（例えば、３時間）と、方法４００のステップ４０５においてＮＯＣオペレータ１２０によって入力された日付および開始時間とを有する実施形態において、ステップ５７０を実行するために、ノード１６５によって、および、特にプロセッサ３４０によって実施される典型的な方法７００のフローチャートである。方法７００では、この固定された持続期間は、データセット３３５に存在する持続期間７１０によって指定される。方法７００は、プログラム・モジュール３２５のプログラム構成要素としてエンコードされる。
【００７６】
方法７００は、ステップ７０５で始まる。
【００７７】
ステップ７０５において、プロセッサ３４０は、データセット３３５から、持続期間７１０（例えば、３時間）を得る。方法７００は、ステップ７０５からステップ７１５へ進む。
【００７８】
ステップ７１５において、プロセッサ３４０は、時間モディファイヤ７２０をゼロに設定する。時間モディファイヤ７２０は、架線作業員１８０が、許可された時間ウィンドウの間にパスワード１４０を用いているか否かを判定するその後のステップにおいて、プロセッサ３４０によって使用されるだろう。さらに詳しくは、時間モディファイヤ７２０は、方法４００のステップ４０５においてＮＯＣオペレータ１２０によって入力された時間において始まり、その後、予め決定された持続期間の間動作する許容可能な時間ウィンドウの間にパスワード１４０が使用されるか否かを考慮するために使用される時間の値を修正するために使用されるだろう。したがって、モディファイヤ７２０は、方法７００が時間を評価する分解能のレベルと同じ、例えば１時間のようなレベルの分解能を有する。方法７００は、ステップ７１５からステップ７２５へ進む。
【００７９】
ステップ７２５において、プロセッサ３４０は、修正された時間７３０を生成するために、現在時刻３１５から時間モディファイヤ７２０を引く。修正された時間７３０は、例えば、時間の精度を有し、概念的に、方法４００のステップ４０５においてＮＯＣオペレータ１２０によって入力された開始時間と比較されるだろう。ここで、我々は、この比較は概念的であると表現する。なぜなら、この比較は、開始時間の真の比較にはならず、開始時間に含まれるデータセットから生成されたストリング５７２およびパスワード１４０の形態であるハッシュ値の比較になるであろうからである。方法７００は、ステップ７２５からステップ７３５へ進む。
【００８０】
ステップ７３５において、プロセッサ３４０は、ストリング５７２を生成するために、ユーザ名１５５、シリアル番号５１５、共有秘密５２５、すなわち、共有秘密５２５の解読されたバージョン（ステップ５１０参照）、選択された許可レベル５６５、修正された時間７３０を用いる。方法７００は、ステップ７３５からステップ７４５へ進む。
【００８１】
ステップ７４５において、プロセッサ３４０は、ストリング５７２がパスワード１４０と一致するか否かを判定する。前述したように、ハッシュ関数２３２Ｂはハッシュ関数２３２Ａに機能的に等価であり、ハッシュ関数２３２Ａおよび２３２Ｂのおのおのは、同じ入力データセットを与えられた場合に、同じ結果のハッシュ値を生成するだろう。したがって、ハッシュ関数２３２Ｂからのハッシュ値、すなわち、ストリング５７２が、パスワード１４０と同じであれば、パスワード１４０は、有効であると見なされるだろう。ストリング５７２がパスワード１４０と一致するのであれば、方法７００は、ステップ７４５からステップ７５０へ進む。ストリング５７２がパスワード１４０と一致しないのであれば、方法７００は、ステップ７４５からステップ７５５へ進む。
【００８２】
ステップ７４５において、ストリング５７２とパスワード１４０とが一致しないことは、必ずしもそれを意味する訳ではないが、パスワード１４０が無効であることを意味しうることに留意されたい。あるいは、一致しないことは、単に、ストリング５７２を生成するために使用された選択された許可レベル５６５が、パスワード１４０を生成するために使用された許可レベル４４０と同じではないことを意味しうる。したがって、ストリング５７２がパスワード１４０と一致しないケースでは、修正された異なる時間７３０を考慮するために、方法７００はステップ７５５に進む。
【００８３】
ステップ７４５において、ストリング５７２とパスワード１４０とが一致することは、ストリング５７２を生成するためにステップ７３５で使用されていた修正時間７３０が、方法４００のステップ４０５で指定されたような寿命４１０における開始時間と同じであることを意味することに留意されたい。したがって、方法７００は、実際にパスワード１４０を解読することなく、パスワード１４０から、寿命４１０における開始時刻を効率的に推定する。
【００８４】
ステップ７５０において、プロセッサ３４０は、パスワード１４０が有効であることを示す。方法７００は、ステップ７５０からステップ７７０へ進む。
【００８５】
ステップ７５５では、プロセッサ３４０は、時間モディファイヤ７２０に１を加える。方法７００は、ステップ７５５からステップ７６０へ進む。
【００８６】
ステップ７６０において、プロセッサ３４０は、時間モディファイヤ７２０が、持続期間７１０に等しいか否かを判定する。時間モディファイヤ７２０が持続期間７１０に等しくないのであれば、プロセッサ３４０は、パスワードが有効になりうる時間のフル・ウィンドウを考慮しておらず、もって、ストリング５７２のその他のバリエーションが生成されるべきである。時間モディファイヤ７２０が持続期間７１０に等しいのであれば、プロセッサ３４０は、パスワードが有効でありうる時間のフル・ウィンドウを考慮しており、もって、ストリング５７２はパスワード１４０と一致しないので、パスワード１４０は、無効でなければならない。時間モディファイヤ７２０が持続期間７１０に等しくないのであれば、方法７００は、ステップ７２５にループ・バックする。時間モディファイヤ７２０が持続期間７１０に等しいのであれば、方法７００は、ステップ７５５からステップ７６５に進む。
【００８７】
ステップ７６５において、プロセッサ３４０は、パスワード１４０が有効ではないことを示す。方法７００は、ステップ７６５からステップ７７０へ進む。
【００８８】
ステップ７７０において、方法７００は終了する。
【００８９】
方法７００の個々のステップをより理解するために、その一般的な動作を考慮されたい。持続期間７１０が３時間であり、しかもステップ４０５では、ＮＯＣオペレータ１２０が、午後１時、すなわち２４時間クロックにおける１３：００の開始時刻を指定したと仮定する。そのため、パスワード１４０は、１３：００〜１６：００の時間ウィンドウ中にのみ有効になるように意図される。よって、質問は、「現在の時刻は、１３：００〜１６：００のウィンドウ内にあるか？」である。しかしながら、パスワード１４０を検証する前に、ノード１６５は、開始時刻が１３：００であることを知らない、それで、この質問を作成することも回答することもできない。しかしながら、ストリング５７２がパスワード１４０と一致するようになるために、パスワード１４０は、開始時刻、すなわち１３：００を含むデータセットから生成されるので、ストリング５７２は、同じ開始時刻、すなわち１３：００を含むストリングから生成される必要があるであろう。したがって、方法７００は、先ず、現在時刻を含むデータセットからストリング５７２を生成し、次に、ストリング５７２のバージョンが、パスワード１４０に一致するか否かを判定することによって、このようなストリングを生成することを試みる。一致がない場合、方法７００は、例えば１時間前のようにより早い時間を含むデータセットからストリング５７２のバージョンを生成する。この処理は、方法７００が一致を見つける（したがって、パスワード１４０が有効であると結論付けられる）までか、または、時間のフル・ウィンドウが、現在時刻から持続期間７１１０における時間を引いたものに等しいと考慮するまで続く。
【００９０】
例：  １４：１０において成功したログイン処理 
（ｉ）現在時刻＝１４：００（実時間から分および秒を切り詰める）；  
（ｉｉ）ループを介した第１の時間：開始時刻として１４：００を仮定する（モディファイヤ＝０）；失敗する；  
（ｉｉｉ）ループを介した第２の時間：開始時刻として１３：００を仮定する（モディファイヤ＝１）；（その他すべてが正しいと仮定して）成功する。
【００９１】
例：  １２：３７において失敗したログイン処理 
（ｉ）現在時刻＝１２：００（実時間から分および秒を切り詰める）；  
（ｉｉ）ループを介した第１の時間：開始時刻として１２：００を仮定する（モディファイヤ＝０）；失敗する；  
（ｉｉｉ）ループを介した第２の時間：開始時刻として１１：００を仮定する（モディファイヤ＝１）；失敗する；  
（ｉｖ）ループを介した第３の時間：開始時刻として１０：００を仮定する（モディファイヤ＝２）；失敗する；  
ログイン拒否。
【００９２】
例：  １６：０５において失敗したログイン処理 
（ｉ）現在時刻＝１６：００（実時間から分および秒を切り詰める）；  
（ｉｉ）ループを介した第１の時間：開始時刻として１６：００を仮定する（モディファイヤ＝０）；失敗する；  
（ｉｉｉ）ループを介した第２の時間：開始時刻として１５：００を仮定する（モディファイヤ＝１）；失敗する；  
（ｉｖ）ループを介した第３の時間：開始時刻として１４：００を仮定する（モディファイヤ＝２）；失敗する；  
ログイン拒否。
【００９３】
要約すると、オフライン・パスワード生成器１１５は、（ａ）（ｉ）オフライン・パスワード生成器１１５において、暗号化された形式で格納された共有秘密と、（ｉｉ）オフライン・パスワード生成器１１５において、暗号化されていない形式で格納された複数のパラメータと、（ｉ）オフライン・パスワード生成器１１５のユーザによって、オフライン・パスワード生成器１１５への入力として提供された複数のパラメータ（ユーザ名を含む）とを含むパラメータを用いてパスワードを生成し、（ｂ）オフライン・パスワード生成器１１５のユーザへの出力として、パスワードを提供する。
【００９４】
その後、ノード１６５は、（ａ）パスワード１４０を入力として受諾し、（ｂ）（ｉ）暗号化された形式でノード１６５に格納された共有秘密と、（ｉｉ）暗号化されていない形式でノード１６５に格納された複数のパラメータと、（ｉｉｉ）ノード１６５のユーザによって入力としてノード１６５に提供されたユーザ名と、を含むパラメータを用いてストリング５７２を生成し、（ｃ）ストリング５７２がパスワード１４０と一致するのであれば、ノード１６５のユーザに対して、ノード１６５にログインすることを許可にする。
【００９５】
したがって、ノード１６５は、オフライン・パスワード生成器１６５によって生成されたパスワード１４０を用いて、パスワードをローカルに格納しているものの、オフライン・パスワード生成器１１５およびノード１６５の操作により、ノード１６５への認証されたアクセスが提供される。
【００９６】
オフライン・パスワード生成器１１５およびノード１６５は、ともに動作し、オフライン・パスワード生成器１１５に対して、パスワード１４０を生成するハッシュ関数への入力として許可属性を使用させ、ノード１６５に対して、パスワード評価処理の一部として許可属性を推定させることによって、パスワード１４０で、オフライン・パスワード生成器１１５からノード１６５へ許可属性を伝送する。属性の第１のサブタイプは、何れか一方が一致するかしないかのバイナリ認可属性である。例えば、ユーザ名と、ノード識別子である。属性の第２のサブタイプは、ノード１６５が比較ストリングを生成すると、ノード１６５が、可能な序数値にわたって反復することにより推論しなければならない序数許可属性である。例えば、アクセス・レベルつまり許可レベルと、時間ウィンドウである。第１のサブタイプは、１つの反復を用いた第２のサブタイプの特別なケースであることに留意されたい。
【００９７】
したがって、オフライン・パスワード生成器１１５およびノード１６５は、ハッシュ関数入力の複雑さを増すように、パスワード１４０で許可属性を伝送することを導入し、もって、パスワード・メカニズムが崩されることをより困難にする。
【００９８】
オフライン・パスワード生成器１１５およびノード１６５を用いることの利点は、パスワード１４０が、指定された寿命の間のみ、指定されたユーザおよび許可レベルについてのみ、および、ノード１６５のように指定されたノードにおいてのみ、有効であることである。その他の利点は、パスワード１４０が、物理的なトークンを必要とすることなく、指定された寿命の間、再使用可能であることである。さらなる利点は、パスワード１４０が、ノード１６５によるネットワーク・アクセスや、パスワード１４０の再生成を必要とすることなく、必要なときに生成され、電話によって口頭で架線作業員１８０に伝えられうることである。
【００９９】
本明細書に記載された技法は、ノード１６５へのアクセスのために使用されるものとして記載されているが、これら技法は、プロセッサ３４０のものに類似した処理機能を有する任意のタイプのデバイスへのアクセスのために適用されうる。例えば、これら技法は、汎用コンピュータ、ウェブサイト、自動車、または格納庫へのアクセスを制御するために使用されうる。
【０１００】
さらに、本明細書に記載された技法は、「オフライン」、すなわち、データ・ネットワークに接続されていないノード１６５のコンテキストで表されているが、これら技法は、ノード１６５または任意の適切な処理デバイスが、「オンライン」、すなわち、データ・ネットワークに接続されているケースにおいても適用されうる。
【０１０１】
さらに、本明細書に記載された技法は、パスワード１４０を、ある特定の期間有効であるものとして定義するために使用されるものとして表されているが、時間に加えて、または、時間の代わりに、その他のパラメータも使用されうる。例えば、パスワード１４０は、緯度および経度に基づいて、指定された場所についてのみ有効であるように構成されうる。このようなケースでは、パスワード１４０は、緯度および経度を含むデータセットから生成されうるであろう。そして、ノード１６５は、緯度および経度を伴うストリング５７２のバージョンを生成するであろう。ノード１６５は、固定された位置にありうる。この場合、その緯度および経度は、データセット３３５に含まれうるか、または、グローバル・ポジショニング衛星（ＧＰＳ）機能を有する例えば自動車で移動可能でありうる。
【０１０２】
本明細書に記載された技法は典型的であり、本開示において、どのような特定の制限を意味するとも解釈されるべきではない。さまざまな代案、組み合わせ、および修正が、当業者によって考案されうることが理解されるべきである。例えば、本明細書に記載された処理に関連付けられたステップは、これらステップ自体によって記載されていたり、別に指定されているのではないのであれば、任意の順序で実行されうる。本開示は、添付された特許請求の範囲のスコープに入るこのようなすべての代替、修正、および変形を包含することが意図されている。
【０１０３】
「備える」または「備えている」という用語は、構成要素の記載された機能、整数、ステップの存在を指定するものとして理解されるべきであり、構成要素またはそのグループの１または複数のその他の機能、整数、ステップの存在を除外するものではない。「ａ」および「ａｎ」という用語は、不定冠詞であるので、複数のアーティクルを有する実施形態を除外しない。
【図１】
2015514269.tif 000003
【図２】
2015514269.tif 000004
【図３】
2015514269.tif 000005
【図４】
2015514269.tif 000006
【図５】
2015514269.tif 000007
【図６】
2015514269.tif 000008
【図７】
2015514269.tif 000009
【手続補正書】
【提出日】平成27年1月27日(2015.1.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
方法であって、
時間と、ユーザが第２のデバイスへアクセスするための許可レベルとを示すデータを、データセットに含めること、および、
前記データセットに対してハッシュ関数を実行し、ハッシュ値を生成すること、
からなる動作を、第１のデバイスによって実行することと、
前記ハッシュ値を前記ユーザへ送信することと、
前記ユーザによって、前記第２のデバイスにアクセスするためのパスワードとして、前記ハッシュ値を適用することと
を備え、
前記ユーザは前記第２のデバイスに対してローカルであり、
前記第２のデバイスは、前記第１のデバイスから通信的にオフラインである、方法。
【請求項２】
前記時間は、現在の日付を含んでいる、請求項１に記載の方法。
【請求項３】
前記時間は、現在の時刻を含んでいる、請求項１に記載の方法。
【請求項４】
前記第２のデバイスは、ユーティリティ・ポールに搭載される、請求項１に記載の方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１０３
【補正方法】変更
【補正の内容】
【０１０３】
「備える」または「備えている」という用語は、構成要素の記載された機能、整数、ステップの存在を指定するものとして理解されるべきであり、構成要素またはそのグループの１または複数のその他の機能、整数、ステップの存在を除外するものではない。「ａ」および「ａｎ」という用語は、不定冠詞であるので、複数のアーティクルを有する実施形態を除外しない。
以下に、出願時の特許請求の範囲に記載された発明を付記する。
［発明１］
方法であって、
時間を示すデータを、データセットに含めることと、
前記データセットに対してハッシュ関数を実行し、ハッシュ値を生成することと、
デバイスにアクセスするために、前記ハッシュ値を、ユーザのパスワードとして適用することと、
を備える方法。
［発明２］
前記含めることはさらに、前記デバイスへアクセスするための、前記ユーザの許可レベルを、前記データセットに含めることを備える、発明１に記載の方法。
［発明３］
前記時間は、現在の日付を含んでいる、発明１に記載の方法。
［発明４］
前記時間は、現在の時刻を含んでいる、発明１に記載の方法。
［発明５］
システムであって、
プロセッサと、
前記プロセッサによって読取可能な命令群を含むメモリとを備え、
前記命令群は、前記プロセッサに対して、
時間を示すデータを、データセットに含めることと、
前記データセットに対してハッシュ関数を実行し、ハッシュ値を生成することと、
デバイスにアクセスするために、前記ハッシュ値を、ユーザのパスワードとして適用することと
を実行させる、システム。
［発明６］
前記命令群はさらに、前記プロセッサに対して、前記デバイスにアクセスするための前記ユーザの許可レベルを、前記データセットに含めることを実行させる、発明５に記載のシステム。
［発明７］
前記時間は、現在の日付を含んでいる、発明５に記載のシステム。
［発明８］
前記時間は、現在の時刻を含んでいる、発明５に記載のシステム。
［発明９］
プロセッサによって読取可能な命令群を備える記憶デバイスであって、
前記命令群は、前記プロセッサに対して、
時間を示すデータを、データセットに含めることと、
前記データセットに対してハッシュ関数を実行し、ハッシュ値を生成することと、
デバイスにアクセスするために、前記ハッシュ値を、ユーザのパスワードとして適用することと
を実行させる、記憶デバイス。
［発明１０］
前記命令群はさらに、前記プロセッサに対して、前記デバイスにアクセスするための前記ユーザの許可レベルを、前記データセットに含めることを実行させる、発明９に記載の記憶デバイス。
［発明１１］
前記時間は、現在の日付を含んでいる、発明９に記載の記憶デバイス。
［発明１２］
前記時間は、現在の時刻を含んでいる、発明９に記載の記憶デバイス。
［発明１３］
方法であって、
時間を示すデータを、データセットに含めることと、
前記データセットに対してハッシュ関数を実行し、ハッシュ値を生成することと、
前記ハッシュ値がユーザからのパスワードと一致していることを判定することと、
前記ユーザに対して、デバイスへのアクセスを許可することと、
を備える方法。
［発明１４］
前記含めることはさらに、前記デバイスにアクセスするための前記ユーザの許可レベルを、前記データセットに含めることを備え、
前記許可することは、前記ユーザに対して、前記許可レベルで前記デバイスにアクセスすることを許可することを備える、発明１３に記載の方法。
［発明１５］
前記時間は、現在の日付を含んでいる、発明１３に記載の方法。
［発明１６］
前記時間は、現在の時刻を含んでいる、発明１３に記載の方法。
［発明１７］
システムであって、
プロセッサと、
前記プロセッサによって読取可能な命令群を含むメモリとを備え、
前記命令群は、前記プロセッサに対して、
時間を示すデータを、データセットに含めることと、
前記データセットに対してハッシュ関数を実行し、ハッシュ値を生成することと、
前記ハッシュ値がユーザからのパスワードと一致していることを判定することと、
前記ユーザに対して、デバイスへのアクセスを許可することと
を実行させる、システム。
［発明１８］
前記命令群はさらに、前記プロセッサに対して、
前記デバイスにアクセスするための前記ユーザの許可レベルを、前記データセットに含めることと、
前記ユーザに対して、前記許可レベルで前記デバイスにアクセスすることを許可することと
を実行させる、発明１７に記載のシステム。
［発明１９］
前記時間は、現在の日付を含んでいる、発明１７に記載のシステム。
［発明２０］
前記時間は、現在の時刻を含んでいる、発明１７に記載のシステム。
［発明２１］
プロセッサによって読取可能な命令群を備える記憶デバイスであって、
前記命令群は、前記プロセッサに対して、
時間を示すデータを、データセットに含めることと、
前記データセットに対してハッシュ関数を実行し、ハッシュ値を生成することと、
前記ハッシュ値がユーザからのパスワードと一致していることを判定することと、
前記ユーザに対して、デバイスへのアクセスを許可することと
を実行させる、記憶デバイス。
［発明２２］
前記命令群はさらに、前記プロセッサに対して、
前記デバイスにアクセスするための前記ユーザの許可レベルを、前記データセットに含めることと、
前記ユーザに対して、前記許可レベルで前記デバイスにアクセスすることを許可することと
を実行させる、発明２１に記載の記憶デバイス。
［発明２３］
前記時間は、現在の日付を含んでいる、発明２１に記載の記憶デバイス。
［発明２４］
前記時間は、現在の時刻を含んでいる、発明２１に記載の記憶デバイス。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図２
【補正方法】変更
【補正の内容】
【図２】
2015514269.tif 000010
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図３
【補正方法】変更
【補正の内容】
【図３】
2015514269.tif 000011
【国際調査報告】
2015514269.tif 000012