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

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

▶ エイペックス アイピー ホールディングス リミテッド ライアビリティ カンパニーの特許一覧

特許7072605パスワードの照合のための記号入力のタイミングの使用
<>
  • 特許-パスワードの照合のための記号入力のタイミングの使用 図1
  • 特許-パスワードの照合のための記号入力のタイミングの使用 図2
  • 特許-パスワードの照合のための記号入力のタイミングの使用 図3
  • 特許-パスワードの照合のための記号入力のタイミングの使用 図4
  • 特許-パスワードの照合のための記号入力のタイミングの使用 図5
  • 特許-パスワードの照合のための記号入力のタイミングの使用 図6
  • 特許-パスワードの照合のための記号入力のタイミングの使用 図7
  • 特許-パスワードの照合のための記号入力のタイミングの使用 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-12
(45)【発行日】2022-05-20
(54)【発明の名称】パスワードの照合のための記号入力のタイミングの使用
(51)【国際特許分類】
   G06F 21/31 20130101AFI20220513BHJP
【FI】
G06F21/31
【請求項の数】 13
(21)【出願番号】P 2020109933
(22)【出願日】2020-06-25
(62)【分割の表示】P 2017504108の分割
【原出願日】2015-07-16
(65)【公開番号】P2020161185
(43)【公開日】2020-10-01
【審査請求日】2020-07-27
(31)【優先権主張番号】62/026,624
(32)【優先日】2014-07-19
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/089,137
(32)【優先日】2014-12-08
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519404034
【氏名又は名称】エイペックス アイピー ホールディングス リミテッド ライアビリティ カンパニー
(74)【代理人】
【識別番号】110001243
【氏名又は名称】特許業務法人 谷・阿部特許事務所
(72)【発明者】
【氏名】ローランド アール.ブラウン
【審査官】平井 誠
(56)【参考文献】
【文献】特開平11-134301(JP,A)
【文献】特開2002-328903(JP,A)
【文献】特開平07-160641(JP,A)
【文献】特開平10-269182(JP,A)
【文献】米国特許出願公開第2014/0173286(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/31
(57)【特許請求の範囲】
【請求項1】
コンピューティングシステムによって実施される、ユーザ認証情報を認証するための方法であって、
パスワード及びタイミング情報を含む入力されたユーザ認証情報を受信することであって、前記タイミング情報が、前記パスワードの個々の記号が入力されたときを定義する、受信することと、
記憶されたパスワード及び記憶されたタイミング情報を含む記憶されたユーザ認証情報にアクセスすることであって、前記記憶されたタイミング情報が、前記記憶されたパスワードの個々の記号が入力されなければならない、必要とされる時間を定義する、アクセスすることと、
前記パスワードの前記個々の記号が、前記記憶されたタイミング情報に従って入力されたかどうかを判定するために、前記入力されたユーザ認証情報の前記タイミング情報を、前記記憶されたタイミング情報と比較することと、
前記パスワードの前記個々の記号が、前記記憶されたタイミング情報に従って入力されたと判定する際に、前記入力されたユーザ認証情報を認証することと、
を含み、
前記記憶されたタイミング情報は、隣接する記号の入力の間の期間に対する許容可能な値を定義する分散パラメータを含み、
前記判定することは、前記入力による連続したログイン試行中に前記記憶されたタイミング情報のタイミングパターンに変更が発生していることを、前記分散パラメータを用いて検出したとき、前記記憶されたタイミング情報の前記タイミングパターンを更新することを含むことを特徴とする方法。
【請求項2】
前記入力されたユーザ認証情報及び前記記憶されたユーザ認証情報が、ユーザ名を含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記記憶されたタイミング情報が、前記記憶されたパスワードとは別に記憶されることを特徴とする請求項1又は2に記載の方法。
【請求項4】
前記記憶されたタイミング情報が、
前記パスワードの個々の記号が入力されなければならないときの絶対値、又は前記パスワードの前記隣接する記号の入力の間の期間を定義する相対値のうちの一方を含み、前記入力されたユーザ認証情報の前記タイミング情報が、前記絶対値又は相対値の他方を含むこと、前記記憶されたパスワードの複数の入力から生成されるタイミング情報の平均を含むこと、前記記憶されたパスワードの少なくとも1つの記号に対する範囲を含み、前記範囲は、前記記号が前記記憶されたパスワードの複数の入力中に入力されたときの最小値及び最大値を含むことを特徴とする請求項1ないしのいずれか1つに記載の方法。
【請求項5】
前記入力されたユーザ認証情報が、コンピューティングデバイスから、又はユーザ入力から、前記コンピューティングシステムのサーバへと受信されることを特徴とする請求項1ないしのいずれか1つに記載の方法。
【請求項6】
ユーザがパスワードを含むユーザ認証情報を入力するために用いるコンピューティングデバイスによって実施される、前記パスワードについてのタイミング情報を生成するための方法であって、
パスワードのユーザ入力を受信することであって、前記パスワードが、複数の記号を含む、受信することと、
前記パスワードが入力される間に、前記複数の記号の各々が入力されるときを判定することと、
前記複数の記号の各々が入力されたときを定義する、タイミング情報を生成することであって、前記タイミング情報は、記憶されたタイミング情報と、認証プロセスの一部として比較される、該生成することと、
を含み、前記記憶されたタイミング情報は、隣接する記号の入力の間の期間に対する許容可能な値を定義する分散パラメータを含み、
前記判定することは、前記入力による連続したログイン試行中に前記記憶されたタイミング情報のタイミングパターンに変更が発生していることを、前記分散パラメータを用いて検出したとき、前記記憶されたタイミング情報の前記タイミングパターンを更新することを含むことを特徴とする方法。
【請求項7】
前記タイミング情報を、ンピューティングシステムとの認証に対してユーザ認証情報を確立するための要求の形態で、又は前記コンピューティングシステムとの認証を行うための要求の形態で、別のコンピューティングシステムに伝送することをさらに含むことを特徴とする請求項に記載の方法。
【請求項8】
前記タイミング情報が、少なくとも第2の記号から最後の記号までの各々が入力された絶対時間を定義することを特徴とする請求項6又は7に記載の方法。
【請求項9】
前記パスワードのユーザ入力を受信することが、複数回の前記パスワードのユーザ入力を受信することを含み、前記タイミング情報が、前記パスワードの前記複数の入力に基づいて生成されることを特徴とする請求項6ないし8のいずれか1つに記載の方法。
【請求項10】
前記記憶されたタイミング情報が、
前記パスワードの個々の記号が入力されなければならないときの絶対値、又は前記パスワードの前記隣接する記号の入力の間の期間を定義する相対値のうちの一方を含み、前記入力されたユーザ認証情報の前記タイミング情報が、前記絶対値又は相対値の他方を含むこと、記憶されたパスワードの複数の入力から生成されるタイミング情報の平均を含むこと、前記記憶されたパスワードの少なくとも1つの記号に対する範囲を含み、前記範囲は、前記記号が前記記憶されたパスワードの複数の入力中に入力されたときの最小値及び最大値を含むことを特徴とする請求項6ないし9のいずれか1つに記載の方法。
【請求項11】
サーバシステムであって、
1つまたは複数のプロセッサと、
実行時にユーザを認証するための方法を実施する、コンピュータによって実行可能な命令を記憶するコンピュータ可読媒体と、を備え、前記方法が、
第1のクライアントコンピューティングデバイス上に表示される第1のユーザインターフェースから、第1のユーザ名、第1のパスワード、及び前記第1のパスワードの各記号がユーザによって前記第1のユーザインターフェースに入力されたときを定義する第1のタイミング情報を受信することと、
前記第1のユーザ名、前記第1のパスワード、及び前記第1のタイミング情報を、前記サーバシステムで認証を行うための前記ユーザについてのユーザ認証情報として記憶することと、
第2のクライアントコンピューティングデバイス上に表示される第2のユーザインターフェースから、第2のユーザ名、第2のパスワード、及び前記第2のパスワードの各記号が前記ユーザによって前記第2のユーザインターフェースに入力されたときを定義する第2のタイミング情報を受信することと、
前記第2のユーザ名、前記第2のパスワード、及び前記第2のタイミング情報を、前記第1のユーザ名、前記第1のパスワード、及び前記第1のタイミング情報と比較することと、
前記第2のユーザ名、前記第2のパスワード、及び前記第2のタイミング情報が、前記第1のユーザ名、前記第1のパスワード、及び前記第1のタイミング情報と一致すると判定する際に、前記ユーザを認証することと、
を含み、
前記記憶された第1のタイミング情報は、隣接する記号の入力の間の期間に対する許容可能な値を定義する分散パラメータを含み、
前記判定することは、前記入力による連続したログイン試行中に前記記憶された第1のタイミング情報のタイミングパターンに変更が発生していることを、前記分散パラメータを用いて検出したとき、前記記憶された第1のタイミング情報の前記タイミングパターンを更新することを含むことを特徴とするサーバシステム。
【請求項12】
前記第1のクライアントコンピューティングデバイス及び前記第2のクライアントコンピューティングデバイスが、異なるクライアントコンピューティングデバイスであることを特徴とする請求項11に記載のサーバシステム。
【請求項13】
前記第1のタイミング情報が、
前記第1のパスワードの個々の記号が入力されなければならないときの絶対値、又は前記第1のパスワードの前記隣接する記号の入力の間の期間を定義する相対値のうちの一方を含み、前記第1のタイミング情報が、前記絶対値又は相対値の他方を含むこと、前記第1のパスワードの複数の入力から生成されるタイミング情報の平均を含むこと、前記第1のパスワードの少なくとも1つの記号に対する範囲を含み、前記範囲は、前記第1のパスワードの記号が前記第1のパスワードの複数の入力中に入力されたときの最小値及び最大値を含むことを特徴とする請求項11又は12に記載のサーバシステム。
【発明の詳細な説明】
【背景技術】
【0001】
個人情報及び企業情報のセキュリティは、今世紀の決定的問題のうちの1つである。個人情報及び企業情報への不正アクセスは、個人及び企業に毎年数十億ドルの負担をかけ、電子商取引における一般人の信用を損なっている。本業界が、これらの侵入を止めるための新しくより効果的な方法を模索するにつれ、当面これらを止めることはできないことが明らかであるように思える。多くのシステムは、ログインプロセス中に「秘密の質問」又は写真を含めることによって、セキュリティの追加の層を加えている。効果的である一方で、多くの機関は、セキュリティ問題のバランスにおいて比重の大きい顧客の不便性について懸念している。実際に、多くのサービスプロバイダは、顧客に不便をかけるくらいなら、数十億ドルの損失を受け入れても構わないと思っている。
【発明の概要】
【0002】
本発明は、パスワードを認証するために入力のタイミングを使用するための方法、システム、及びコンピュータプログラム製品に及ぶ。換言すると、本発明は、パスワードを認証するための多次元アプローチを提供する。多くの認証シナリオによるように、本発明は、ユーザ名及びパスワードなどの認証情報の入力を必要とし得る。しかしながら、伝統的な認証シナリオとは異なり、正しい認証情報の入力を必要とすることに加えて、本発明は、パスワードの各記号の間の適切なタイミング間隔を使用するパスワードの入力も必要とし得る。このパスワード認証の更なる次元は、ユーザにほんの僅かな負担しか加えずに、システムのセキュリティを大幅に増加させ得る。
【0003】
一実施形態では、本発明は、ユーザ認証情報を認証するための方法として実装される。パスワード及びタイミング情報を含む入力されたユーザ認証情報が受信される。タイミング情報は、パスワードの個々の記号が入力された時間を定義する。記憶されたパスワード及び記憶されたタイミング情報を含む記憶されたユーザ認証情報にアクセスする。記憶されたタイミング情報は、記憶されたパスワードの個々の記号が入力されなければならない、必要とされる時間を定義する。入力されたユーザ認証情報のタイミング情報は、パスワードの個々の記号が、記憶されたタイミング情報に従って入力されたかどうかを判定するために、記憶されたタイミング情報と比較される。パスワードの個々の記号が、記憶されたタイミング情報に従って入力されたと判定すると、入力されたユーザ認証情報が認証される。
【0004】
別の実施形態では、本発明は、パスワードに対するタイミング情報を生成するための方法として実装される。パスワードのユーザ入力が受信される。パスワードは複数の記号を含む。パスワードが入力される間に、複数の記号の各々が入力されるときが判定される。複数の記号の各々が入力されたときを定義するタイミング情報が生成される。
【0005】
別の実施形態では、本発明は、ユーザを認証するための方法を実装するように構成されているサーバシステム(単数又は複数)として実装される。サーバシステムは、第1のクライアントコンピューティングデバイス上に表示される第1のユーザインターフェースから、第1のユーザ名、第1のパスワード、及び第1のパスワードの各記号がユーザによって第1のユーザインターフェースに入力されたときを定義する第1のタイミング情報を受信する。サーバシステムは、第1のユーザ名、第1のパスワード、及び第1のタイミング情報を、サーバシステムとの認証を行うためのユーザについてのユーザ認証情報として記憶する。サーバシステムは、第2のクライアントコンピューティングデバイス上に表示される別のユーザインターフェースから、第2のユーザ名、第2のパスワード、及び第2のパスワードの各記号がユーザによって第2のユーザインターフェースに入力されたときを定義する第2のタイミング情報を受信する。サーバシステムは、第2のユーザ名、第2のパスワード、及び第2のタイミング情報を、第1のユーザ名、第1のパスワード、及び第1のタイミング情報と比較する。サーバシステムは、第2のユーザ名、第2のパスワード、及び第2のタイミング情報が、第1のユーザ名、第1のパスワード、及び第1のタイミング情報と一致すると判定する際に、ユーザを認証する。
【0006】
この概要は、単純化した形態の概念のセレクションを紹介するために提供され、これらは、以下の発明を実施するための形態において以下で更に説明される。この概要は、特許請求される主題の主要な特徴又は本質的な特徴を特定することを意図していない。
【図面の簡単な説明】
【0007】
本発明の上述の利点及び他の利点並びに特徴が取得され得る様式を説明するために、上で端的に説明した本発明のより具体的な説明が、添付の図面中で図示されるその特定の実施形態を参照することによって提供されることになる。これらの図面は、本発明の典型的な実施形態のみを示すものであり、したがって、その範囲を限定するものと見なされるべきではないことを理解した上で、本発明は、添付の図面の使用を通して更に具体的かつ詳細に記載及び説明されることになる。
図1】本発明が実装され得る例示的なコンピューティング環境を図示する。
図2】ユーザが認証情報を確立できるようにするためにユーザに表示される例示的なユーザインターフェースを図示する。
図3】タイミング情報を含むユーザ認証情報を記憶するための例示的なデータ構造を図示する。
図4】ユーザがクライアントコンピューティングデバイスを用いてサーバシステムとの認証を行うときに実装され得る照合プロセスの流れ図を図示する。
図5】タイミング情報及び分散パラメータを含むユーザ認証情報を記憶するための別の例示的なデータ構造を図示する。
図6】多次元認証情報に対してユーザ名及びパスワードのユーザ入力を照合するためのプロセスの別の例を図示する。
図7】ユーザ認証情報を認証するための例示的な方法の流れ図を図示する。
図8】パスワードに対するタイミング情報を生成するための例示的な方法の流れ図を図示する。
【発明を実施するための形態】
【0008】
本発明の実施形態は、以下でより詳細に考察するように、例えば、1つ以上のプロセッサ及びシステムメモリなどのコンピュータハードウェアを含む、専用コンピュータ又は汎用コンピュータを備えるか、又は利用し得る。本発明の範囲内の実施形態は、コンピュータによって実行可能な命令及び/又はデータ構造を搬送又は記憶するための物理的コンピュータ可読媒体を含む。かかるコンピュータ可読媒体は、汎用又は専用コンピュータシステムがアクセスできる任意の利用可能な媒体であり得る。
【0009】
コンピュータ可読媒体は、コンピュータ記憶媒体及び伝送媒体の2つの分離したカテゴリーに分類される。コンピュータ記憶媒体(デバイス)としては、RAM、ROM、EEPROM、CD-ROM、半導体ドライブ(「SSD」)(例えば、RAMに基づく)、フラッシュメモリ、相変化メモリ(「PCM」)、他の種類のメモリ、他の光学ディスク記憶装置、磁気ディスク記憶装置若しくは他の磁気ディスク記憶デバイス、又はコンピュータによって実行可能な命令若しくはデータ構造の形態にある所望のプログラムコード手段を記憶するために使用され得、かつ汎用若しくは専用コンピュータがアクセスできる、任意の他の類似の記憶媒体が挙げられる。伝送媒体は、信号及び搬送波を含む。
【0010】
コンピュータによって実行可能な命令は、例えば、命令及びデータを含み、これらは、プロセッサによって実行されるときに、汎用コンピュータ、専用コンピュータ、又は専用処理デバイスに、ある特定の機能又は機能群を行わせる。コンピュータによって実行可能な命令は、例えば、バイナリ、アセンブリ言語若しくはPコードなどの中間形式命令、又は更にはソースコードであってもよい。
【0011】
当業者は、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、メッセージプロセッサ、携帯型デバイス、マルチプロセッサシステム、マイクロプロセッサ系若しくはプログラム可能な消費者向け電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、携帯電話、PDA、タブレット、ポケットベル、ルータ、スイッチなどを含む、多くの種類のコンピュータシステム構成を用いて、ネットワークコンピューティング環境において実施され得ることを理解することになる。
【0012】
本発明はまた、分散システム環境において実施されてもよく、この環境では、ネットワークを通してリンクされる(配線データリンク、無線データリンク、又は配線データリンクと無線データリークとの組み合わせのいずれかによって)ローカルコンピュータシステムとリモートコンピュータシステムとの両方がタスクを行う。分散システム環境では、プログラムモジュールは、ローカルメモリ記憶デバイスとリモートメモリ記憶デバイスとの両方の中に位置してもよい。分散システム環境の例は、ネットワーク化されたサーバ又はサーバリソースのクラウドである。したがって、本発明は、クラウド環境においてホストされる。
【0013】
図1は、本発明が実装され得る例示的なコンピュータ環境100を図示する。コンピュータ環境100は、サーバシステム101、及びネットワーク103を介して相互接続しているある数のクライアントコンピューティングデバイス102a~102nを含む。サーバシステム101は、ユーザの情報へのアクセスを提供するシステムを表し得、かかるアクセスは、認証プロセスによって制御される。本明細書では、認証プロセスは、ユーザに、情報又は機能へのアクセスを取得するために秘密の認証情報を入力することを必要とする、任意のプロセスとして解釈されるべきである。典型的には、これらの認証情報は、ユーザ名及びパスワードの形態である。しかしながら、本発明は、認証情報がパスワード(例えば、バイオメトリック情報とパスワードとの組み合わせ)を含む限り、いかなる種類の認証情報が必要とされる場合にも実装することができる。パスワードは、ユーザの身元の証明の形態として働く、文字、数字、符号などを含む、記号の任意の配列を含むと広く解釈されるべきである。
【0014】
クライアントコンピューティングデバイス102a~102nは、サーバシステム101と通信することができ、認証情報のユーザ入力を受信することができる、任意の種類のコンピューティングデバイスを表し得る。例えば、クライアントコンピューティングデバイス102a~102nは、パーソナルコンピュータ、携帯電話、キオスク、タッチスクリーンディスプレイ、キーパッドなどを含み得る。ネットワーク103は、典型的には、インターネットであり得るが、ローカルネットワーク接続を含む任意のネットワーク接続を用いて、サーバシステム101とクライアントコンピューティングデバイス102a~102nとの間の通信を可能にする。
【0015】
図1に示されるクライアント/サーバ環境に加えて、本発明は、完全に単一のデバイス内で実装され得る。例えば、クライアントコンピューティングデバイス102a~102nのうちのいずれも、デバイスの機能にアクセスするため、例えば、パーソナルコンピュータにログインするため、又は携帯電話のロックスクリーンを抜けるため(この場合、必要とされる認証情報はパスワードのみであってもよい)に、認証情報のユーザ入力を必要とするように構成され得る。かかる場合には、パスワードの入力及び照合は、ネットワーク103上のいかなる通信も必要とせずに、完全に単一のデバイス(又は直接接続されたデバイス)によって、行われ得る。したがって、本発明は、関与するコンピューティングデバイスの数又は種類に関わらず、パスワードの入力を必要とするいずれのコンピューティング環境においても実装される。
【0016】
図2は、本発明の1つ以上の実施形態に従う、ユーザが認証情報を確立できるようにするためにユーザに表示され得る例示的なユーザインターフェース200を図示する。例えば、ユーザインターフェース200は、クライアントコンピューティングデバイス102aのユーザが、サーバシステム101によって提供される情報及び/又は機能にアクセスするためのユーザ名及びパスワードを作成することを可能にするようにするために、サーバシステム101によってクライアントコンピューティングデバイス102aに送信されるウェブページを表し得る。ユーザインターフェース200はまた、ユーザが、デバイスにログインするためのユーザ名及びパスワードを作成することを可能にするようにするために、クライアントコンピューティングデバイス102aによって表示されるスクリーンを表してよい。
【0017】
図2に示すように、ユーザインターフェース200は、ユーザ名フィールド201及びパスワードフィールド202を含む。フィールド201及び202は、ユーザが所望のユーザ名及びパスワードを定義する記号を入力できるようにする、テキストボックス又は他の好適なユーザインターフェース要素として構成され得る。本発明の実施形態に従い、ユーザインターフェース200は、個々の記号がパスワードフィールド202に入力されるときを記録するように構成され得る。例えば、ユーザインターフェース200は、ユーザがパスワードの各記号を入力するときを識別するためのタイマーを使用し得る。ユーザ名及びパスワードが入力され、ユーザが送信をクリックすると、ユーザ名及びパスワード、並びにタイミング情報(総称「多次元認証情報」)が、サーバシステム101、及び/又はサーバシステム101が通信する1つ以上の他のシステムに記憶され得る。一部の実施形態では、タイミング情報は、システムのセキュリティを増加させるために、パスワードとは別に(例えば、異なるシステム上に、又は異なるデータ構造中に)記憶される。
【0018】
この例では、ユーザは、「user12345」のユーザ名及び「12345」のパスワードを入力している。ユーザが、250ミリ秒の各記号間の期間で5つの記号のパスワードを入力したことも推測されることになる。図3は、多次元認証情報を記憶するために作成され得る例示的なデータ構造300を図示する。データ構造300は、ユーザ名(user12345)、パスワード(12345)、及びパスワードと関連付けられるタイミング情報を定義するタイミングアレイ301を含む。
【0019】
タイミングアレイ301は、5つの入力を含み、各入力は、パスワードの特定の記号に対応する。第1の入力は0であり、これは、この場合「1」であるパスワードの第1の記号が時間0ミリ秒で入力されたことを示す。タイミングアレイ301は、0値が常に第1の記号に使用される場合は、この第1の入力を含み得ないことに留意されたい。したがって、タイミングアレイ301は、説明目的で使用され、タイミング情報の記憶のためにいずれの特定の形式を必要とするとしても解釈されるべきではない。各記号間の期間を識別するのに事足りる限り、任意の好適な構造及び/又は形式を使用して、タイミング情報を記憶することができる。データ構造300が例示のみを目的とすることにも留意されたい。典型的には実装では、多次元認証情報の異なる構成要素は、別個の場所に記憶される傾向にある。
【0020】
タイミングアレイ301における第2の入力は250であり、これは、この場合「2」である第2の記号が、時間250ミリ秒で入力されたことを示す。各入力に対する絶対値を用いるのではなく、相対値が使用され得る。例えば、250ミリ秒は、第2の記号が入力されたときの絶対時間(即ち、タイマーの値)を表し得るか、又は第1の記号及び第2の記号の入力の間の時間量(偶然にもこの例では同じ250ミリ秒値)を表し得る。タイミングアレイ301における第3から第5の入力は、それぞれ、500、750、及び1000であり、これは、パスワードの第3から第5の記号が、それぞれ、時間500ミリ秒、750ミリ秒、及び1000ミリ秒で入力されたことを示す。相対値を用いて各記号間の期間を定義する場合、タイミングアレイ301は、代わりに{250、250、250、250}の値を記憶し得、これは、各記号が、先行の記号の250ミリ秒後に入力されたことを示す。一部の実施形態では、サーバシステム101は、ある形式でタイミング情報を受信し、タイミング情報を記憶するかさもなければ使用する前に、別の形式に翻訳し得る。例えば、クライアントコンピューティングデバイス102aは、絶対値を使用してタイミング情報を生成してもよく、一方でサーバシステム101は、タイミング情報を相対値として記憶してもよい。かかる場合には、サーバシステム101は、タイミング情報を記憶する又は使用する前に、絶対値を相対値に翻訳してよい。
【0021】
多次元認証情報が確立されると、これらを使用して、続くユーザの認証試行を照合し得る。典型的な認証スキームを用いる場合のように、ユーザは、認証のために、「user12345」のユーザ名、及び「12345」のパスワードを入力することが必要とされる。しかしながら、ユーザは、パスワードの記号を適切なタイミングで入力することを更に必要とされる。換言すると、ユーザが認証に成功するためには、ユーザは、パスワードの第2から第5の記号の各々を、それ以前に入力した記号の250ミリ秒後に入力することを必要とされる。
【0022】
認証試行中の記号の入力のタイミングを識別するために、上記と類似のプロセスが行われ得る。例えば、ユーザ名及びパスワードが入力されるユーザインターフェースは、タイマーを使用して、各記号が入力されるときを識別し、対応するタイミング情報を記憶するように構成され得る。入力されたユーザ名、パスワード、及びタイミング情報は、記憶された多次元認証情報に対する照合のために、サーバシステム101に送信される。
【0023】
図4は、ユーザがクライアントコンピューティングデバイス102aを用いてサーバシステム101との認証を行う場合に(例えば、ウェブページ又は専用アプリケーションとの相互作用によって)、照合プロセスが実装され得る方法の流れ図を図示する。示すように、サーバシステム101は、サーバシステム101との認証に必要とされるユーザの多次元認証情報を含むデータ構造300を記憶する。代替的に、多次元認証情報の構成要素の少なくともいくつかは、サーバシステム101にアクセス可能な別のコンピューティングシステム上に記憶され、この場合、サーバシステム101は、もう一方のシステムから認証情報を引き出すか、又はもう一方のシステムによる認証情報の照合を要求してもよい。
【0024】
工程1では、ユーザは、クライアントコンピューティングデバイス102a上でユーザ名及びパスワードを入力する。クライアントコンピューティングデバイス102a(又はより具体的には、クライアントコンピューティングデバイス102a上で実行されているウェブブラウザ又はアプリケーション)は、ユーザ名及びパスワードの入力を受信する。工程1と同時に行うことができる工程2では、クライアントコンピューティングデバイス102aは、パスワードの記号が入力されるタイミングを判定する。工程2は、上記と類似の様式で行われ得る。例えば、クライアントコンピューティングデバイス102aは、各記号が入力されるときを表す絶対値又は相対値を判定してよい。
【0025】
工程3では、クライアントコンピューティングデバイス102aは、入力されたユーザ名及びパスワード、並びに判定されたタイミング情報を、サーバシステム101に送信する。例えば、この情報は、ユーザ名及びパスワードが入力されるユーザインターフェースにおいてユーザが送信ボタンをクリックすることに応答して送信される。
【0026】
工程4では、サーバシステム101は、記憶された多次元認証情報にアクセスし、受信されたユーザ名、パスワード、及びタイミング情報を多次元認証情報と比較する。標準的な認証プロセスを用いる場合のように、ユーザが認証されるためには、受信されたユーザ名及びパスワードが、記憶されたユーザ名及びパスワードと一致しなければならない。しかしながら、本発明に従うと、認証に成功するためには、受信されたタイミング情報も記憶されたタイミング情報と一致しなければならない。
【0027】
工程5では、受信されたユーザ名、パスワード、及びタイミング情報が、記憶された多次元認証情報と一致すると、サーバシステム101は、クライアントコンピューティングデバイス102aのユーザにアクセスを供与し得る。この多次元一致要件は、このように、ユーザ名及びパスワードを知っているだけでは不十分であるため、認証プロセスのセキュリティを大幅に増加させる。ハッカーなどの個人がユーザのユーザ名及びパスワードを取得しようとしたとしても、パスワードが適切なタイミングを使用して入力されなければならないという更なる要件により、その個人はやはり不正アクセスを取得することができないであろう。タイミングの可能性は事実上無限であるため、個人が必要とされるタイミングを正しく推測することは極めて困難である。
【0028】
ユーザが、ユーザが自身の多次元認証情報を最初に確立したときに使用した通りの正確なタイミングでパスワードを入力することは困難であり得るため、サーバシステム101は、僅かなタイミングの分散を許して一致を見なすために、分散パラメータを用い得る。例えば、図5は、データ構造300と類似しているが分散パラメータ501を含む、データ構造500を図示する。分散パラメータ501は、10ミリ秒の値に設定され、これは、記号が必要とされる値の10ミリ秒以内に入力された場合に一致となるということを意味する。
【0029】
例えば、認証試行中に、ユーザが、0、240、505、748、1009のタイミング列を使用して「12345」の適切なパスワードを入力した場合、パスワードの入力は、パスワードの各記号を入力したタイミングが分散内に入るため、やはり一致と見なされ得る。換言すると、記号が、20ミリ秒ウィンドウ(即ち、必要とされる時間の10ミリ秒前及び10ミリ秒後)以内に入力される限り、記号は、必要とされるタイミングに従って入力されたと判断される。
【0030】
一部の実施形態では、分散パラメータの値は、構成可能なオプションであり得る。例えば、ウェブサイトのホスト(例えば、企業)は、ウェブサイトのユーザのために所望の分散を指定し得る。ウェブサイトが機密性の高い情報へのアクセスを提供する場合(例えば、銀行取引ウェブサイト)、分散はより低い値に設定されてもよく、一方でウェブサイトが機密性の低い情報へのアクセスを提供する場合(例えば、娯楽用ウェブサイト)、分散はより高い値に設定されてよい。
【0031】
こうして、分散パラメータの使用により、システムのセキュリティが更に増加し得る。例えば、ユーザが、パスワードを入力するためのタイミングとして、人気のある又は好きなメロディーを用いることが一般的であり得る。各ユーザは異なる様式でメロディーを「再生」し得る(例えば、あるユーザは、別のユーザが同じメロディーを歌い得る場合よりも僅かに速い速度でメロディーを歌い得るか、又はあるユーザは、メロディーの拍子に変更を加え得る)ため、パスワードのタイミングが基準とするメロディーを知っていたとしても、必要とされる分散が低い場合には、依然として不十分であり得る。一例として、ユーザは、パスワードのタイミングに「Duke of Earl」という曲の6拍配列を用いてもよいが、実際の曲に用いられるものよりも速いテンポを使用してもよい。かかる場合、ある個人がユーザのユーザ名及びパスワードを見つけ出し、パスワードのタイミングが「Duke of Earl」に基づくことを知ったとしても、その個人は、ユーザがパスワードを作成したテンポを知ることなく、認証情報を使用してアクセスを取得することは依然としてできないであろう。このように、各ユーザが多少なりとも独自の方法でメロディーを再生するため、分散パラメータを小さい値に設定することで、不正アクセスを極めて困難にすることができる。
【0032】
一部の実施形態では、分散パラメータの値を設定する能力をユーザに付与してもよい。例えば、あるユーザは、ユーザがパスワードを入力するときのユーザのタイミングについて厳密になりたくないかもしれないが、それでも多次元認証情報によって提供される更なるセキュリティを所望できる。かかる場合には、ユーザは、分散パラメータに対してより高い値を指定することができる。ユーザに選択肢を提供することは、パスワードが、ローカルデバイスへのアクセスを取得するための手段として働く場合(例えば、パスワードが、コンピュータにログインするため、又は携帯電話のロックスクリーンを抜けるために使用される場合)に好適である。
【0033】
一部の実施形態では、ユーザがパスワードを確立しているとき、ユーザは、パスワードを複数回入力するように促される。かかる場合では、作成されるタイミング情報の複数のセットは、多次元認証情報の必要とされるタイミング情報を生成するために、種々の方法で処理され得る。一部の場合、タイミング情報の複数のセットを平均して、タイミング情報の単一のセットを生成する。例えば、認証情報を確立するときに、ユーザがパスワードを3回入力する場合、タイミング情報の以下のセットが生成されてもよい:{0、248、503、751、1009}、{0、251、499、758、999}、及び{0、239、495、747、992}。次にこれらのセットが平均されて、{0、246、499、752、1000}のセットが生まれる。その後、このセットは、ユーザに対して記憶された多次元認証情報のタイミング情報として使用される。
【0034】
複数のセットが平均される場合には、別に定義された分散パラメータが上記のように使用されてもよい。しかしながら、平均を用いる一部の実施形態では、分散パラメータは、タイミング情報の複数のセット中の値に基づいて、パスワードの各記号に対して生成される。例えば、第2の記号について、平均(246)とセット中の値との間の最大の分散が7ミリ秒(246-239=7)であるため、分散パラメータは7の値を有すると定義されてもよい。このように、この例では、続いて入力されたパスワードの第2の記号が246ミリ秒中7ミリ秒以内に入力される場合に、第2の記号が適切な時間で入力されたと判断されることになる。同様に、第4の記号について、分散パラメータは、平均(752)とセット中の値との間の最大の分散が6ミリ秒(758-752=6)であるため、分散パラメータは6の値を有すると定義されてもよい。
【0035】
代替的に、値を平均するのではなく、セット中に見出される最小値及び最大値を使用して、各値に対する範囲を生成する。例えば、上記と同じ3つのセットを使用すると、以下のタイミング情報が生成される:{0、239-251、495-503、747-758、992-1009}。かかる例では、続いて入力されたパスワードは、パスワードの記号が定義された範囲内に入る時間で入力された場合に認証され得る。かかる場合には、範囲が既に定義されているため、別に定義された分散パラメータは不要である。しかしながら、一部の実施形態では、分散パラメータも提供され、これは、本質的には、許容可能な値の範囲を広げる。例えば、5の分散パラメータが提供される場合、234ミリ秒の時間でのパスワードの第2の記号の入力は、それが定義された範囲の5ミリ秒以内に入るため、依然として許容可能と判断される。
【0036】
一部の実施形態では、サーバシステム101は、機械学習の形態としてそれが特定のユーザに対して記憶するタイミング情報を調整するように構成されてもよい。上記のように、サーバシステム101は、ユーザの多次元認証情報を記憶するデータ構造を最初に作成してもよい。ユーザの多次元認証情報が作成されると、サーバシステム101は、ユーザの後続のログイン試行中に提供されるタイミング情報を監視し得る。サーバシステム101が、記憶された多次元認証情報におけるタイミング情報から逸脱する、後続のログイン試行中に提供されるタイミング情報におけるパターンを識別する場合、サーバシステム101は、記憶されたタイミング情報を新たなパターンと一致するように変更を加える。このようにして、サーバシステム101は、記憶されたタイミング情報を、ユーザが現在パスワードを入力しているタイミングに適合させることにより、経時的に発生するタイミングのいずれの変更にも対応することができる。
【0037】
一例として、データ構造500は、250ミリ秒の期間がuser12345のパスワードの各記号間に存在すべきであること、及び最大10ミリ秒の分散が許容可能であることを最初に定義する。その後しばらくして、ユーザ12345が第4の記号の240ミリ秒後に最後の記号を継続して入力することが検出された場合、サーバシステム101は、タイミングアレイ301を自動更新して、第4の記号と最後の記号との間の240ミリ秒の期間を定義する(例えば、タイミングアレイ301は{0、250、500、750、990}に更新される)。この更新により、最後の記号が、それが第4の記号の230~250ミリ秒後に入力される限り許容されるように、依然として10ミリ秒の分散が依然として適用される。
【0038】
サーバシステム101は、タイミング情報における変更されたパターンが、ログイン試行の閾値回数が変更されたパターンを含めた後で存在することを識別するように構成され得る。例えば、3回の連続したログイン試行中に、user12345が最後の記号を第4の記号の240ミリ秒後に入力する場合、サーバシステム101は、パターンにおける変更が生じたことにより、上記のようにタイミングアレイ301を更新すると判定することができる。
【0039】
この例は、パターンにおける継続的な変更(即ち、最後の記号が第4の記号の240ミリ秒後ちょうどに継続して入力されること)を仮定しているが、サーバシステム101は、類似の分散パラメータを用いて、タイミングパターンにおける変更が発生したかどうかを判定してもよい。例えば、ユーザ12345が、連続ログイン試行中に、最後の記号を、第4の記号の後、240ミリ秒、241ミリ秒、及び242ミリ秒の期間で入力し、サーバシステム101が、タイミング情報における変更されたパターンが発生したかどうかを検出する目的で2ミリ秒の分散パラメータを用いる場合、サーバシステム101は、240ミリ秒、241ミリ秒、及び242ミリ秒が全て互いの2ミリ秒以内であるため、依然として変更が発生したと判定し得る。一部の実施形態では、更に失敗したログイン試行が、依然としてこの判定において考慮されてもよい。例えば、連続的ログイン試行のうちの1つが第4の記号と最後の記号との間に239ミリ秒の期間を含んだ場合(239ミリ秒は250ミリ秒の10ミリ秒分散から外れているため、失敗した試行に繋がり得る)、サーバシステム101は、一部の実施形態では、パターンにおける変更が発生したかどうかを判定するときに、依然としてこの失敗した試行を考慮してもよい。
【0040】
一部の実施形態では、サーバシステム101は、検出されたタイミング情報における変更されたパターンをユーザに通知するように構成される。例えば、連続ログイン試行の閾値回数が変更されたパターンを一致するタイミング情報を作り出した後で、サーバシステム101は、検出された変更を示すユーザのデバイス上に表示されるポップアップウィンドウを引き起こしてもよい。このウィンドウは、記憶されたタイミング情報を、検出された変更と一致するように調整すべきかどうかを確認するようにユーザに尋ねる。このようにして、ユーザは、サーバシステム101が記憶されたタイミング情報に変更を行うかどうかを制御することができる。また、これは、ユーザが今後どのようにパスワードを入力するかを変更し、その結果、それが以前に定義されたタイミング情報と再度一致するようにする機会をユーザに提供することができる。
【0041】
図6は、多次元認証情報に対してユーザ名及びパスワードのユーザ入力を照合するためのプロセスの別の例を図示する。図6では、クライアントコンピューティングデバイス102aのユーザは、サーバシステム101との認証を試行している。サーバシステム101は、3つの別個のデータ構造601、602、及び603を使用して、種々のユーザについて、それぞれ、ユーザ名、パスワード、及びタイミング情報を記憶する。図示されていないが、サーバシステム101は、入力されたタイミング情報が記憶されたタイミング情報と一致するかどうかを判定するために、20ミリ秒の分散を用いることが仮定されることになる。この例では、サーバシステム101は、タイミング情報を、隣接する記号の入力間のミリ秒単位の期間として記憶する。したがって、各パスワードに対するタイミング情報は、パスワード中の記号の数より1つ少ない値を含む。
【0042】
示すように、クライアントコンピューティングデバイス102aは、ユーザによって入力されたユーザ名及びパスワード、並びにユーザがパスワードの記号を入力したときに基づいて生成されたタイミング情報を含む、認証要求610を送信する。この場合、ユーザ入力の値は、ユーザ名については「sam@email.com」、パスワードについては「Asdfge;」、及びタイミング情報については{400、520、129、125、119、122}である。
【0043】
認証要求610を受信すると、サーバシステム101は、認証要求に含まれるユーザ名を使用してデータ構造601中の一致するユーザ名を識別する。データ構造601とデータ構造602との間の矢印で表されているように、データ構造601は、列挙された各ユーザ名をデータ構造602中の対応するパスワードとマッピングする情報を記憶する。したがって、一致するユーザ名が識別されると、サーバシステム101は、データ構造602中の対応するパスワードを識別し、それを認証要求610中に含まれるパスワードと比較する。対応するパスワードが認証要求610中のパスワードと一致するため、サーバシステム101は、次に、データ構造602とデータ構造603との間の矢印によって表されるように、対応するタイミング情報を識別する。
【0044】
その後、サーバシステム101は、この場合{510、524、121、118、129、121}である対応するタイミング情報を、{400、520、129、125、119、122}である認証要求610中のタイミング情報と比較する。20ミリ秒の分散が使用されるため、サーバシステム101は、認証要求610中に含まれるタイミング情報中の各値を、データ構造603における対応するタイミング情報中の対応する値と比較して、値が、必要とされる値の20ミリ秒以内であるかどうかを判定することになる。
【0045】
この場合、クライアントコンピューティングデバイス102aから受信されたタイミング情報中の第1の値は、ユーザが、パスワードの第2の記号(「s」)を、第1の記号(「A」)を入力した400ミリ秒後に入力したことを示す。しかしながら、データ構造603に記憶されたタイミング情報は、第2の記号が、第1の記号の後500~520ミリ秒(即ち、510ミリ秒+/-10ミリ秒)の間に入力されなければならないことを示す。換言すると、パスワードの入力時、ユーザは、第2の記号を、第1の記号の後で早く入力し過ぎた。サーバシステム101は、したがって、認証要求610が拒否されるべきであると判定し、ユーザが誤入力を提供したことを示す通信611を送信することができる。
【0046】
要約すると、本発明は、認証プロセスに更なる次元を追加する。この更なる次元は、更なる入力ではなく、現在必要とされる入力のタイミングの形態であるため、本発明は、認証プロセスに更なる負担を加えることなく更なるセキュリティを提供する。これは、セキュリティ用の問題の回答又は既知の画像の照合などの更なる入力を必要とすることによってセキュリティを増加させる他の技法とは対照的である。
【0047】
更に、タイミング情報についての可能性は事実上無限であるため、本発明は、ユーザ認証情報を推測するための総当たり技法を無効にする。このように、本発明は、ユーザにほんの僅かな負担しか加えない高いセキュリティの認証プロセスを提供する。
【0048】
図7は、ユーザ認証情報を認証するための例示的な方法700の流れ図を図示する。方法700を、図1~3を参照して記載することで、本方法がどのように上の記載と関係するのかの好適な例を提供する。
【0049】
方法700は、パスワード及びタイミング情報を含む入力されたユーザ認証情報を受信する動作701を含む。タイミング情報は、パスワードの個々の記号が入力された時間を定義する。例えば、サーバシステム101は、クライアントコンピューティングデバイス102aから、ユーザがクライアントコンピューティングデバイス102aに入力したユーザ名及びパスワードを、ユーザがパスワードを入力する間にクライアントコンピューティングデバイス102aによって生成されたタイミング情報と併せて受信し得る。代替的に、クライアントコンピューティングデバイス102aは、パスワードのユーザ入力を受信し、この入力からタイミング情報を生成することができる。
【0050】
方法700は、記憶されたパスワード及び記憶されたタイミング情報を含む記憶されたユーザ認証情報にアクセスする動作702を含む。記憶されたタイミング情報は、記憶されたパスワードの個々の記号が入力されなければならない、必要とされる時間を定義する。例えば、サーバシステム101は、データ構造301のコンテンツにアクセスし得る。代替的に、クライアントコンピューティングデバイス102aは、データ構造300のコンテンツにアクセスすることができる。
【0051】
方法700は、パスワードの個々の記号が、記憶されたタイミング情報に従って入力されたかどうかを判定するために、入力されたユーザ認証情報のタイミング情報を、記憶されたタイミング情報と比較する動作703を含む。例えば、サーバシステム101、又は代替的にクライアントコンピューティングデバイス102aは、受信されたユーザ名並びに/又はパスワード、及びタイミング情報を、データ構造300のコンテンツと比較することができる。
【0052】
方法700は、パスワードの個々の記号が記憶されたタイミング情報に従って入力されたと判定する際に、入力されたユーザ認証情報を認証する動作704を含む。例えば、サーバシステム101、又は代替的にクライアントコンピューティングデバイス102aは、受信されたユーザ名並びに/又はパスワード、及びタイミング情報が、データ構造300中に記憶された情報と一致する場合に、ユーザを認証することができる。
【0053】
図8は、パスワードに対するタイミング情報を生成するための例示的な方法800の流れ図を図示する。方法800を、図1及び2を参照して記載することで、本方法がどのように上の記載と関係するのかの好適な例を提供する。
【0054】
方法800は、複数の記号を含むパスワードのユーザ入力を受信する動作801を含む。例えば、クライアントコンピューティングデバイス102aは、ユーザインターフェース200を介してパスワードの入力を受信し得る。ユーザインターフェース200は、サーバシステム101によって提供されるか又はサーバシステム101と通信するように構成されている、ウェブページ又は他のインターフェースであってもよい。
【0055】
方法800は、パスワードが入力されている間に複数の記号の各々が入力されるときを判定する動作802を含む。例えば、クライアントコンピューティングデバイス102a(又はユーザインターフェース200)は、パスワード「12345」の各記号がパスワードフィールド202に入力されるときを判定することができる。
【0056】
方法800は、複数の記号の各々が入力されたときを定義するタイミング情報を生成する動作803を含む。例えば、クライアントコンピューティングデバイス102a(又はユーザインターフェース200)は、タイミングアレイ301、又はタイミングアレイ301を生成するために使用され得る情報を生成し得る。タイミング情報が生成されると、クライアントコンピューティングデバイス102aは、タイミング情報を使用して、ユーザ認証情報をローカルで記憶し、認証プロセスをローカルで行い、又はタイミング情報をサーバシステム101に送信して、ユーザ認証情報を作成するか、又はサーバシステム101との認証を行うことができる。
【0057】
本発明は、その趣旨又は本質的特徴から逸脱することなく、他の特定の形態で実現されてもよい。記載の実施形態は、全てに関して、例示のみを目的とし、限定的ではないと見なされるべきである。したがって、本発明の範囲は、前述の記載によってではなく、添付の特許請求の範囲によって示される。
図1
図2
図3
図4
図5
図6
図7
図8