(57)【要約】【解決手段】  本出願の実施形態は、認証処理のための方法及びデバイスに関する。方法は、端末を一意に識別する機器コードを取得し、該機器コードと、カウンタの出力値とに少なくとも部分的に基づいて、サーバによる端末の認証のための基準である動的パスワードを生成し、該動的パスワードをサーバに送信し、サーバは、動的パスワードを認証する、ことを含む。【選択図】  図２
2018528504.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
端末によって、前記端末を一意に識別する機器コードを取得し、
前記端末によって、前記機器コードと、カウンタの出力値とに少なくとも部分的に基づいて、サーバによる前記端末の認証のための基準である動的パスワードを生成し、
前記端末によって、前記動的パスワードを前記サーバに送信し、前記サーバは、前記動的パスワードを認証する、
ことを備える方法。
【請求項２】
請求項１に記載の方法であって、
前記機器コードを取得することは、前記端末によって、前記端末の１つ以上の特性パラメータに少なくとも部分的に基づいて、前記機器コードを生成することを含む、方法。
【請求項３】
請求項２に記載の方法であって、
前記１つ以上の特性パラメータは、前記端末のブランド、前記端末のモデル番号、前記端末のシリアル番号、前記端末の国際移動体装置識別番号（ＩＭＥＩ）、前記端末の国際移動体加入者識別番号（ＩＭＳＩ）、前記端末のメディアアクセス制御（ＭＡＣ）アドレス、及び／又は前記端末にロードされたオペレーティングシステムのオペレーティングシステム識別子（ＩＤ）のうちの１つ以上を含む、方法。
【請求項４】
請求項１に記載の方法であって、
前記機器コードと、前記カウンタの前記出力値とに少なくとも部分的に基づいて、前記動的パスワードを生成することは、
前記機器コードと、前記サーバによって前記端末に割り当てられたセッション識別子（ＩＤ）と、前記サーバによって前記端末に割り当てられたユーザＩＤ（ＵＩＤ）とに少なくとも部分的に基づいて、鍵生成プロセスにしたがって、対称鍵を生成し、
前記対称鍵と、前記出力値とに少なくとも部分的に基づいて、パスワード生成プロセスにしたがって、前記動的パスワードを生成する、
ことを含む、方法。
【請求項５】
請求項１に記載の方法であって、
前記機器コードと、前記カウンタの前記出力値とに少なくとも部分的に基づいて、前記動的パスワードを生成することは、
前記機器コードと、前記サーバによって前記端末に割り当てられたセッション識別子（ＩＤ）と、前記サーバによって前記端末に割り当てられたユーザＩＤ（ＵＩＤ）とに少なくとも部分的に基づいて、鍵生成プロセスにしたがって、対称鍵を生成し、前記鍵生成プロセスは、前記機器コードと、前記セッションＩＤと、前記ＵＩＤとを組み合わせることを含み、
前記対称鍵と、前記出力値とに少なくとも部分的に基づいて、パスワード生成プロセスにしたがって、前記動的パスワードを生成する、
ことを含む、方法。
【請求項６】
請求項１に記載の方法であって、
前記機器コードと、前記カウンタの前記出力値とに少なくとも部分的に基づいて、前記動的パスワードを生成することは、
前記機器コードと、前記サーバによって前記端末に割り当てられたセッション識別子（ＩＤ）と、前記サーバによって前記端末に割り当てられたユーザＩＤ（ＵＩＤ）とに少なくとも部分的に基づいて、鍵生成プロセスにしたがって、対称鍵を生成し、
前記対称鍵と、前記出力値とに少なくとも部分的に基づいて、パスワード生成プロセスにしたがって、前記動的パスワードを生成し、前記パスワード生成プロセスは、前記動的パスワードをＨＭＡＣ＿ＳＨＡ１（Ｋ，Ｃ）に設定することを含み、ＨＭＡＣ＿ＳＨＡ１（）は、前記対称鍵に関連付けられたハッシュ関数であり、Ｋは、前記対称鍵を表し、Ｃは、前記出力値を表す、
ことを含む、方法。
【請求項７】
請求項１に記載の方法であって、更に、
前記端末によって、前記サーバに登録リクエストを伝送し、前記登録リクエストは、前記サーバによって送信された検証コードと、前記機器コードと、前記端末に関係付けられた通信コードとを含み、前記登録リクエストは、認証リクエストの前に受信され、前記端末は、前記登録リクエストに少なくとも部分的に基づいて、前記動的パスワードを前記サーバに送信し、
前記登録リクエストが検証に通った後、
前記端末によって、前記サーバによって前記端末に割り当てられたセッション識別子（ＩＤ）と、前記サーバによって前記端末に割り当てられたユーザＩＤ（ＵＩＤ）とを受信し、前記動的パスワードは、前記セッションＩＤと、前記ＵＩＤとに少なくとも部分的に基づいて生成され、
前記端末の認証との関連で、前記サーバとの通信リンクを維持する、
ことを備える方法。
【請求項８】
請求項１に記載の方法であって、更に、
前記端末によって、前記サーバから認証リクエストを受信し、前記端末は、前記動的パスワードを生成する前に前記認証リクエストを受信し、前記端末は、前記認証リクエストが検証に通ったと決定された場合に前記動的パスワードを生成する、ことを備える方法。
【請求項９】
請求項１に記載の方法であって、
前記カウンタの前記出力値は、前記端末の時刻に相当する、方法。
【請求項１０】
方法であって、
サーバによって、第１の動的パスワードを端末から受信し、前記第１の動的パスワードは、前記端末のカウンタの出力値と、前記端末を一意に識別する機器コードとに少なくとも部分的に基づいて、前記端末によって生成されるパスワードに相当し、
前記サーバによって、読み出された機器コードに少なくとも部分的に基づいて第２の動的パスワードを生成し、
前記第１の動的パスワードが前記第２の動的パスワードに一致するか否かを決定し、
前記サーバによって、前記第１の動的パスワードが前記第２の動的パスワードに一致するか否かに少なくとも部分的に基づいて前記端末の認証を実施する、
ことを備える方法。
【請求項１１】
請求項１０に記載の方法であって、更に、
前記サーバによって、前記端末に検証リクエストを伝送し、前記サーバは、前記サーバが前記第２の動的パスワードを生成する前に、前記端末に前記検証リクエストを伝送し、
前記サーバによって、前記検証リクエストに少なくとも部分的に基づいて前記端末によって伝送された検証コードと前記機器コードとを受信する、
ことを備える方法。
【請求項１２】
請求項１０に記載の方法であって、
前記機器コードは、前記端末の１つ以上の特性パラメータに少なくとも部分的に基づいて、既定のアルゴリズムにしたがって決定される、方法。
【請求項１３】
請求項１２に記載の方法であって、
前記１つ以上の特性パラメータは、前記端末のブランド、前記端末のモデル番号、前記端末のシリアル番号、前記端末の国際移動体装置識別番号（ＩＭＥＩ）、前記端末の国際移動体加入者識別番号（ＩＭＳＩ）、前記端末のメディアアクセス制御（ＭＡＣ）アドレス、及び前記端末にロードされたオペレーティングシステムのオペレーティングシステム識別子（ＩＤ）のうちの１つ以上を含む、方法。
【請求項１４】
請求項１０に記載の方法であって、
前記第１の動的パスワード及び前記第２の動的パスワードの少なくとも１つを生成することは、
前記機器コードと、前記サーバによって前記端末に割り当てられたセッション識別子（ＩＤ）と、前記サーバによって前記端末に割り当てられたユーザＩＤ（ＵＩＤ）とに少なくとも部分的に基づいて、鍵生成プロセスにしたがって、対称鍵を生成し、
前記対称鍵と、前記出力値とに少なくとも部分的に基づいて、パスワード生成プロセスにしたがって、前記第１の動的パスワード及び前記第２の動的パスワードのうちの少なくとも１つを生成する、
ことを含む、方法。
【請求項１５】
デバイスであって、
１つ以上のプロセッサであって、
前記デバイスを一意に識別する機器コードを取得し、
前記機器コードと、カウンタの出力値とに少なくとも部分的に基づいて、サーバによる前記デバイスの認証のための基準である動的パスワードを生成し、
前記動的パスワードを前記サーバに送信し、前記サーバは、前記動的パスワードを認証する、
ように構成されている１つ以上のプロセッサと、
前記１つ以上のプロセッサに接続され、前記１つ以上のプロセッサに命令を提供するように構成されているメモリと、
を備える、デバイス。
【請求項１６】
請求項１５に記載のデバイスであって、
前記１つ以上のプロセッサは、更に、前記デバイスの１つ以上の特性パラメータに少なくとも部分的に基づいて、前記機器コードを生成するように構成されている、デバイス。
【請求項１７】
デバイスであって、
１つ以上のプロセッサであって、
第１の動的パスワードを端末から受信し、前記第１の動的パスワードは、前記端末のカウンタの出力値と、前記端末を一意に識別する機器コードとに少なくとも部分的に基づいて、前記端末によって生成されるパスワードに相当し、
読み出された機器コードに少なくとも部分的に基づいて、第２の動的パスワードを生成し、
前記第１の動的パスワードが前記第２の動的パスワードに一致するか否かを決定し、
前記第１の動的パスワードが前記第２の動的パスワードに一致するか否かに少なくとも部分的に基づいて、前記端末の認証を実施する、
ように構成されている１つ以上のプロセッサと、
前記１つ以上のプロセッサに接続され、前記１つ以上のプロセッサに命令を提供するように構成されているメモリと、を備える、    、デバイス。
【請求項１８】
請求項１７に記載のデバイスであって、
前記機器コードは、前記端末の１つ以上の特性パラメータに少なくとも部分的に基づいて生成される、デバイス。
【請求項１９】
非一時的なコンピュータ読み取り可能ストレージ媒体に実装されたコンピュータプログラム製品であって、
端末を一意に識別する機器コードを取得するためのコンピュータ命令と、
前記機器コードと、カウンタの出力値とに少なくとも部分的に基づいて、サーバによる前記端末の認証のための基準である動的パスワードを生成するためのコンピュータ命令と、
前記動的パスワードを前記サーバに送信するためのコンピュータ命令であって、前記サーバは、前記動的パスワードを認証する、コンピュータ命令と、
を備えるコンピュータプログラム製品。
【請求項２０】
非一時的なコンピュータ読み取り可能ストレージ媒体に実装されたコンピュータプログラム製品であって、
サーバによって、第１の動的パスワードを端末から受信するためのコンピュータ命令であって、前記第１の動的パスワードは、前記端末のカウンタの出力値と、前記端末を一意に識別する機器コードとに少なくとも部分的に基づいて、前記端末によって生成されるパスワードに相当する、コンピュータ命令と、
前記サーバによって、読み出された機器コードに少なくとも部分的に基づいて、第２の動的パスワードを生成するためのコンピュータ命令と、
前記第１の動的パスワードが前記第２の動的パスワードに一致するか否かを決定するためのコンピュータ命令と、
前記サーバによって、前記第１の動的パスワードが前記第２の動的パスワードに一致するか否かに少なくとも部分的に基づいて、前記端末の認証を実施するためのコンピュータ命令と、
を備えるコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連技術の相互参照］
本出願は、２０１５年７月８日に出願され名称を「Ａ  ＴＥＲＭＩＮＡＬ  ＡＵＴＨＥＮＴＩＣＡＴＩＯＮ  ＰＲＯＣＥＳＳＩＮＧ，ＡＵＴＨＥＮＴＩＣＡＴＩＯＮ  ＭＥＴＨＯＤＳ  ＡＮＤ  ＤＥＶＩＣＥ，ＳＹＳＴＥＭ（端末認証処理、認証の方法、デバイス、及びシステム）」とする中国特許出願第２０１５１０３９７３９１．Ｘ号に基づく優先権を主張する。この出願は、あらゆる目的のために、参照によって本明細書に組み込まれる。
【０００２】
本出願は、認証の分野に関する。特に、本出願は、動的パスワードを使用する方法、デバイス、及びシステムに関する。
【背景技術】
【０００３】
動的パスワードは、専用アルゴリズムに基づいて一定の間隔で生成される、時間に関連付けられた予測不能な乱数の組み合わせである。総じて、各パスワードは、動的パスワードを使用して認証を実施するシステムにおいて、一度のみ使用できる。取引及びログオン認証のセキュリティを効果的に保護する能力によって、認証システムとの関連での動的パスワードの使用は、パスワードを定期的に変更する必要をなくし、それによって、セキュリティ上の懸念を軽減している。動的パスワードの使用は、企業内環境において、とりわけ効果的である。動的パスワードは、専用ハードウェア上で及び／又はソフトウェアによって実現できる。
【０００４】
動的パスワードを使用する従来の認証システムにしたがうと、ユーザがログインするときに、そのユーザは、ログオン認証を完了するために、ユーザインターフェースに動的パスワードを入力することを求められる。しかしながら、このような従来の動的パスワード認証方法は、幾つかの欠点を有する。すなわち、このような方法は、比較的費用がかさみ且つ紛失しやすい追加のハードウェアデバイスの持ち運びを必要とすること、動的パスワードが手動で入力されなければならず、そうすることによって入力ミスの可能性を生じること、及びソフトウェアヴァージョンシステム時刻がアップデートするときに、そのアップデートの結果として検証が失敗すること、という欠点を有する。
【０００５】
したがって、認証のために動的パスワードを使用する、より効果的な認証の方法、デバイス、及びシステムが必要とされている。
【図面の簡単な説明】
【０００６】
本発明の様々な実施形態が、以下の詳細な説明及び添付の図面において開示される。
【０００７】
ここで説明される図面は、本発明の理解を深めること及び本出願の一部を構成することを意図している。本発明の代表的な実施形態及びそれらの説明は、本発明を説明することを意図しており、本発明に対する不適切な制限にはならない。
【０００８】
【図１】本開示の様々な実施形態にしたがう認証処理のためのデバイスのブロック図である。
【０００９】
【図２】本開示の様々な実施形態にしたがう認証処理のための方法のフローチャートである。
【００１０】
【図３Ａ】本開示の様々な実施形態にしたがう認証処理のための方法のフローチャートである。
【００１１】
【図３Ｂ】本開示の様々な実施形態にしたがう認証処理のための方法のフローチャートである。
【００１２】
【図４】本開示の様々な実施形態にしたがう認証処理のためのデバイスのブロック図である。
【００１３】
【図５】本開示の様々な実施形態にしたがう認証処理のためのデバイスのブロック図である。
【００１４】
【図６】本開示の様々な実施形態にしたがう認証処理のための方法のフローチャートである。
【００１５】
【図７】本開示の様々な実施形態にしたがう認証処理のためのデバイスのブロック図である。
【００１６】
【図８】本開示の様々な実施形態にしたがう認証処理のためのデバイスのブロック図である。
【００１７】
【図９】本開示の様々な実施形態にしたがう認証処理のためのシステムの構造説明図である。
【００１８】
【図１０】本開示の様々な実施形態にしたがう認証処理のためのシステムの構造説明図である。
【００１９】
【図１１】本開示の様々な実施形態にしたがう認証処理のためのコンピュータ端末のブロック図である。
【００２０】
【図１２】本開示の様々な実施形態にしたがう認証処理のためのコンピュータシステムの機能図である。
【００２１】
図中の同じ又は類似の符合は、同じ又は類似の構成要素を表している。
【発明を実施するための形態】
【００２２】
本発明は、プロセス、装置、システム、合成物、コンピュータ読み取り可能ストレージ媒体に実装されたコンピュータプログラム製品、並びに／又は接続先のメモリに格納された命令及び／若しくは接続先のメモリによって提供される命令を実行するように構成されたプロセッサなどのプロセッサを含む、数々の形態で実現できる。本明細書では、これらの実現形態、又は本発明がとりえるその他のあらゆる形態が、技術と称されてよい。総じて、開示されるプロセスのステップの順番は、発明の範囲内で変更されてよい。別途明記されない限り、タスクを実施するように構成されるものとして説明されるプロセッサ又はメモリなどのコンポーネントは、所定時にタスクを実施するように一時的に構成される汎用コンポーネントとして、又はタスクを実施するように製造された特殊コンポーネントとして実現されてよい。本書で使用される「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成された１つ以上のデバイス、回路、及び／又は処理コアを言う。
【００２３】
本発明の原理を例示した添付の図面とともに、以下で、本発明の１つ以上の実施形態の詳細な説明が提供される。本発明は、このような実施形態との関連で説明されるが、いずれの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定され、本発明は、数々の代替形態、変更形態、及び等価物を包含している。以下の説明では、本発明の完全な理解を与えるために、数々の具体的詳細が明記されている。これらの詳細は、例示を目的として提供されるものであり、本発明は、これらの詳細の一部又は全部を伴わずとも特許請求の範囲にしたがって実施されてよい。明瞭を期するために、本発明に関連する技術分野で知られる技術要素は、本発明が不必要に不明瞭にならないように、詳細な説明を省略されている。
【００２４】
本書で使用される端末という表現は、総じて、ネットワークシステム内において１つ以上のサーバと通信するために（例えばユーザによって）使用されるデバイスを指している。本開示の様々な実施形態にしたがうと、端末は、通信機能に対応したコンポーネントを含む。例えば、端末は、スマートフォン、タブレットデバイス、携帯電話、ビデオ電話、電子ブックリーダ、デスクトップコンピュータ、ラップトップコンピュータ、ネットブックコンピュータ、携帯情報端末（ＰＤＡ）、携帯型マルチメディアプレーヤ（ＰＭＰ）、ｍｐ３プレーヤ、モバイル医療機器、カメラ、ウェアラブルデバイス（例えば、頭部装着型デバイス（ＨＭＤ）、電子衣服、電子ブリッジ、電子ネックレス、電子アクセサリ、電子タトゥ、又はスマートウォッチ）、スマートホーム用電化製品などであることができる。一部の実施形態では、ウェブブラウザ及び／又はスタンドアロンアプリケーションが、各端末にインストールされ、１つ以上のサーバによって運営されているサービス（例えば電子商取引ウェブサイト）にユーザがアクセスすることを可能にしている。
【００２５】
認証処理が説明される。認証処理は、例えば、コンピュータによって実行可能なコマンド群を使用してコンピュータシステム上で実行できる。論理的順序が、図２のプロセス２００、図３Ａのプロセス３００、図３Ｂのプロセス３５０、及び図６のプロセス６００に示されているが、特定の状況下では、図示及び説明されたこのような方法の要素は、図２、図３Ａ、図３Ｂ，及び図６で例示される順序とは異なる順序で実行できる。
【００２６】
図１は、本開示の様々な実施形態にしたがう、認証処理のためのデバイスのブロック図である。
【００２７】
図１を参照すると、デバイス１００は、図２のプロセス２００又は図３Ａのプロセス３００との関連で実現できる。デバイス１００は、図１０のシステム１０００、図１１のコンピュータ端末１１００、又は図１２のコンピュータシステム１２００との関連で実現できる。デバイス１００は、モバイル端末、コンピュータ端末、又は同様の操作機器に含める又はそれ以外の形で対応することができる。
【００２８】
図１に例示されるように、デバイス１００は、プロセッサ１１０と、メモリ１２０と、通信インターフェース１３０とを含むことができる。
【００２９】
プロセッサ１１０は、１つ以上のコンピュータプロセッサを含むことができる。プロセッサ１１０としては、中央演算処理装置（ＣＰＵ）、マイクロプロセッサ（ＭＣＵ）、フィールドプログラマブルロジックデバイス（ＦＰＧＡ）、特殊用途向け集積回路（ＡＳＩＣ）などの処理機器が挙げられ、ただし、これらに限定はされない。
【００３０】
メモリ１２０は、データを格納するように構成される。一部の実施形態では、メモリ１２０は、例えば様々な実施形態にしたがう認証処理方法に対応するプログラムコマンド／モジュールのための、アプリケーションソフトウェアのソフトウェアプログラム及びモジュールを格納することができる。例えば、メモリ１２０は、図２のプロセス２００、図３Ａのプロセス３００、又は図３Ｂのプロセス３５０を含むソフトウェアプログラム又は命令を格納することができる。プロセッサ１１０は、動作の過程でソフトウェアコード及びモジュールをメモリに格納し、それに応じて様々な機能的アプリケーション及びデータ処理を実行し、そうして上記アプリケーションプログラムの脆弱性検出を実現することができる。メモリ１２０は、ランダムアクセスメモリを含むことができる。メモリ１２０は、１つ以上の磁気ストレージデバイス、フラッシュメモリ、又はその他の不揮発性ソリッドステートメモリなどの、不揮発性メモリを含むこともできる。一部の実施形態では、メモリ１２０は、プロセッサ１１０に対してリモートに配置されたメモリであることができる、又はそうでなければそのように配置されたメモリを含むことができる。例えば、このようなリモートメモリは、ネットワークを通じてプロセッサ１１０（例えばデバイス１００）に接続できる。上記ネットワークの例は、インターネット、企業イントラネット、ローカルエリアネットワーク、広域ネットワーク、モバイル通信ネットワーク、及びこれらの組み合わせを含み、ただし、これらに限定はされない。
【００３１】
通信インターフェース１３０は、ネットワークを通じてデータを通信する（例えば、データを受信及び／又は伝送する）ために使用される。上記ネットワークの具体例として、デバイス１００のための通信プロバイダによって提供されるワイヤレスネットワークが挙げられる。一部の実施形態では、通信インターフェース１３０は、ネットワークインターフェースコントローラ（ＮＩＣ）を含み、これは、基地局を通じて他のネットワーク機器にリンクし、それによってインターネットと通信することができる。一部の実施形態では、通信インターフェース１３０は、ワイヤレス方式で１つ以上の他のデバイスやインターネットなどと通信することができる無線周波数（ＲＦ）モジュールである。
【００３２】
図２は、本開示の様々な実施形態にしたがう認証処理のための方法のフローチャートである。
【００３３】
図２を参照すると、認証処理のためのプロセス２００が提供される。プロセス２００は、例えば、図１のデバイス１００、図９のシステム９００、図１０のシステム１０００、又は図１２のコンピュータシステム１２００によって実行できる。
【００３４】
２１０では、機器コードが取得される。機器コードは、デバイス又は端末を一意に識別することができる。一部の実施形態では、端末は、端末を一意に識別するために使用される機器コードを読み出す。一部の実施形態では、デバイス１００が、それに関係付けられた機器コードを取得することができる。機器コードは、メーカによって設定されてメモリ（例えばメモリ１２０）に格納でき、特別なアプリケーションプログラミングインターフェース（ＡＰＩ）呼び出し又はその他の適切な関数呼び出しを使用して読み出せる。一部の実施形態では、機器コードは、既定の機器コード決定プロセスにしたがって、機器自体の何らかの特性パラメータを使用することによって生成できる。一部の実施形態では、機器コードは、例えば、機器のメモリ又はストレージに格納できる。
【００３５】
機器コードは、端末シリアル番号、国際移動体装置識別番号（ＩＭＥＩ）、国際移動体加入者識別番号（ＩＭＳＩ）、メディアアクセス制御（ＭＡＣ）アドレス、又はオペレーティングシステムＩＤのうちの１つ以上に相当する、又はそれに少なくとも部分的に基づいて生成される。一部の実施形態では、機器コードは、端末の特性パラメータに少なくとも部分的に基づいて、所定のプロセスにしたがって生成できる。例えば、機器コードの生成のために少なくとも部分的に基づくことができる特性パラメータは、端末のブランド、端末のモデル番号、端末シリアル番号、国際移動体装置識別番号（ＩＭＥＩ）、国際移動体加入者識別番号（ＩＭＳＩ）、メディアアクセス制御（ＭＡＣ）アドレス、又はオペレーティングシステム識別子（ＩＤ）などのうちの１つ以上を含むことができる。
【００３６】
一部の実施形態では、端末の特性パラメータに少なくとも部分的に基づく機器コードの生成との関連で使用される所定の技術は、関連技術の中の既知の技術を含むことができる。例えば、端末を一意に識別するために使用される機器コードが端末自体の何らかの特性パラメータ又は特性フィールドに基づいて生成できる限り、任意の技術が使用できる。例えば、端末のブランド、端末のモデル番号、端末シリアル番号、ＩＭＥＩ、ＩＭＳＩ、ＭＡＣアドレス、及びオペレーティングシステムＩＤを含む特性パラメータが、機器コードを生成するための技術によって使用されるときに、その技術は、ｄｅｖｉｃｅＩｄ＝Ｈａｓｈ（Ｃ０＋Ｃ１＋Ｃ２＋Ｃ３＋Ｃ４＋Ｃ５＋Ｃ６）であるハッシュ関数に相当することができる。ここで、ｄｅｖｉｃｅＩｄは、機器コードを表し、Ｃ０は、ブランドを表し、Ｃ１は、モデル番号を表し、Ｃ２は、ＩＭＥＩを表し、Ｃ３は、ＩＭＳＩを表し、Ｃ４は、ＭＡＣアドレス（ｍａｃ＿ａｄｄｒｅｓｓ）を表し、Ｃ５は、端末シリアル番号（ｓｅｒｉａｌ＿ｎｕｍ）を表し、Ｃ６は、オペレーティングシステムＩＤを表す。機器コードの生成には、その他の様々な技術が使用できる。Ｃ０〜Ｃ６は、数値、文字列、又はＨａｓｈ関数によって必要とされるその他の適切なフォーマットをとることができる。Ｈａｓｈ（）は、ＳＨＡやＭＤ５などの暗号学的ハッシュ関数であることができる。
【００３７】
２２０では、機器コードと、カウンタからの出力値とに少なくとも部分的に基づいて、パスワードが生成される。例えば、端末は、機器コードと、ローカルカウンタの出力値とに基づいて、動的パスワードを生成する。一部の実施形態では、動的パスワードは、端末又は端末に関係付けられたユーザの検証のための基準としてサーバによって使用される。一部の実施形態では、カウンタは、ローカルに伝送された指定イベントの頻度を入力又は特定のパラメータの値として使用するローカルカウンタである。一部の実施形態では、指定イベントの頻度は、期間内における１つ以上のウェブサイトへのアクセス要求の送信時刻に相当することができる。例えば、端末時刻が、ローカルカウンタへの入力として使用できる。例えば、端末時刻２０１６−０６−０１−１０：０５：３０は、カウンタ値２０１６０６０１１００５３０になる。一部の実施形態では、カウンタは、端末との関係でリモートであり、したがって、端末は、機器コードをカウンタ（例えば、カウンタを又はカウンタ値に関係付けられたサービスを運営しているサーバ）に通信し、カウンタは、端末からのこの通信を受けて、出力値又は動的パスワードを戻す。
【００３８】
一部の実施形態では、機器コード（例えば、機器コード自体として、機器コードのハッシュ値としてなどの）に少なくとも部分的に基づいて、種鍵が生成でき、動的パスワードは、種鍵と、カウンタの出力値とに少なくとも部分的に基づいて生成できる。例えば、機器コードと、端末の認証に関係付けられたサーバによって端末に割り当てられたセッションＩＤと、端末（又は端末に関係付けられたユーザ）に割り当てられたユーザ識別子（ＵＩＤ）とに基づいて、（例えば、プレーンテキストとしてフォーマットされた入力に対する暗号化及び復号化を実施するために送信側と受信側とが同じ鍵を使用する）鍵生成プロセスにしたがって対称鍵が生成でき、端末は、対称鍵と、出力値とに基づいて、パスワード生成プロセスにしたがって動的パスワードを生成することができる。一部の実施形態では、セッションＩＤ及び／又はＵＩＤは、サーバによって関係付けできる。セッションＩＤ及び／又はＵＩＤは、セッションＩＤ及びＵＩＤがセッション及びユーザをそれぞれ一意に識別するために使用できることを保証するために、乱数によって生成できる。一部の実施形態では、セッションＩＤ及び／又はＵＩＤは、ユーザアカウントに識別子を対応付けるマッピングに格納できる。一部の実施形態では、セッションＩＤ及び／又はＵＩＤは、（例えば、対応する識別子がいつリクエストされる又は必要とされるに基づいて、）動的に生成できる。
【００３９】
一部の実施形態では、（例えば、対称鍵を生成するための）第１の既定の鍵生成プロセスは、機器コードと、セッションＩＤと、ＵＩＤとを組み合わせること、又は関連技術の中の所定の技術を使用して暗号化を実施して鍵を生成することとして表せる。例えば、データ暗号化規格（ＤＥＳ）、トリプルＤＥＳ（例えば３ＤＥＳ）又はトリプルデータ暗号化アルゴリズム（ＴＤＥＡ）、国際データ暗号化アルゴリズム（ＩＤＥＡ）などの技術が使用できる。
【００４０】
様々な実施形態にしたがうと、動的パスワードは、様々な方法を使用して生成できる。例えば、パスワード生成プロセスには、多岐にわたる表現形態があってよい。一例として、動的パスワードは、技術：ｃｏｄｅ＝ＨＭＡＣ＿ＳＨＡ１（Ｋ，Ｃ）を使用して生成できる。ここで、ｃｏｄｅは、動的パスワードを表し、ＨＭＡＣ＿ＳＨＡ１（）は、鍵に関連付けられたハッシュ関数であり、ＨＭＡＣは、鍵に関連付けられた、ハッシュに基づくメッセージ認証コードを表し、ＳＨＡ１（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ  １）は、セキュアなハッシュ関数を表し、Ｋは、対称鍵を表し、Ｃは、出力値を表す。その他の動的パスワード生成プロセスが使用できる。
【００４１】
一部の実施形態では、ＨＭＡＣ＿ＳＨＡ１（）は、ＨＭＡＣ−ＳＨＡ１（）又はＨＭＡＣ（ＳＨＡ１）（）としても記述でき、これは、ハッシュに基づくメッセージ認証コード（ＨＭＡＣ）として使用されている、鍵を制御されたハッシュ関数である。ＨＭＡＣプロセスは、鍵をメッセージデータと混ぜ合わせ、混ぜ合わされた結果に対し、ハッシュ関数を使用してハッシュ計算を実施し、次いで、ハッシュ関数を再適用する。ＨＭＡＣ＿ＳＨＡ１（）は、任意のサイズの鍵を受信し、長さが１６０桁のハッシュ列を生成する。メッセージデータは、出力値を含む又はそれ以外の形で出力値に対応することができる。ＨＭＡＣ＿ＳＨＡ１（）の実装は、（例えば、ライブラリコードとして）公開されている。
【００４２】
２３０では、動的パスワードは、サーバに送信される。サーバは、端末又は端末に関係付けられたユーザの認証との関連で動的パスワードを使用することができる。動的パスワードは、１つ以上のその他の信用（例えばユーザＩＤなど）の通信との関連でサーバに送信できる。一部の実施形態では、端末は、動的パスワードをサーバに伝送する。サーバは、動的パスワードに少なくとも部分的に基づいて認証を実施することができる。動的パスワードは、端末を認証するか否かを決定するために、認証プロセスに関係付けられたサーバによって生成できる。例えば、サーバは、端末と同じ動作を実行して動的パスワードを生成し、生成された動的パスワードを、端末から伝送されて受信された動的パスワードと比較することができる。動的パスワードは、種鍵と、サーバに対してローカルなカウンタとに少なくとも部分的に基づいて生成できる。一部の実施形態では、ローカルカウンタの出力値は、端末からサーバに通信できる。サーバが端末から受信する動的パスワードが、（端末からのログイン又は認証リクエストを受けてなど、端末の認証との関連で）サーバによって生成された動的パスワードに一致する場合、端末は、認証に通ったと決定できる。反対に、サーバが端末から受信する動的パスワードが、サーバによって生成された動的パスワードに一致しない場合、端末は、認証に失敗したと決定できる。
【００４３】
様々な実施形態は、動的パスワードの手動入力を必要としない。例えば、動的パスワードは、認証プロセス全体を通してユーザから不可視であることができる。様々な実施形態は、動的パスワードの手動入力を必要としないので、手動入力の結果としてもたらされるエラーの問題が回避できる。更に、動的パスワードを生成するために端末の特性パラメータが使用できるので、更なるハードウェア機器が不要であり、費用が抑えられる。また、様々な実施形態は、システム時刻のアップデートの結果としてもたらされる、ソフトウェアによって認識される動的パスワードの検証失敗の問題を回避する。更に、端末識別子（例えば、端末が携帯電話であるときは、端末識別子は携帯電話番号である）がユーザＩＤとして使用でき、ユーザは、パスワードを記憶する必要がなく、端末の機器コードと、端末識別子（例えば、端末が携帯電話である場合、端末識別子は携帯電話番号である）とによって、１つのデバイスが一意に突き止められ、これは、再インストール及びクライアントエンドアプリケーションのログオンの際に変わることはない。更に、ログオンされたログ解析中に、その時刻における現鍵に基づいて、携帯電話機器が突き止められる。
【００４４】
図３Ａは、本開示の様々な実施形態にしたがう認証処理のための方法のフローチャートである。
【００４５】
図３Ａを参照すると、認証処理のためのプロセス３００が提供される。プロセス３００は、例えば、図１のデバイス１００、図９のシステム９００、図１０のシステム１０００、又は図１２のコンピュータシステム１２００によって実行できる。
【００４６】
３０５では、登録リクエストが受信される。登録リクエストは、端末によってサーバに送信される。一部の実施形態では、登録リクエストは、検証コードと、機器コードと、通信番号とを含む。一部の実施形態では、通信番号は、電話番号、ユーザ識別子、アカウント識別子などに相当することができる。一部の実施形態では、端末は、登録リクエストをサーバに送信することができる。例えば、登録リクエストに含まれる通信番号は、端末に関係付けられた通信番号であることができる。通信番号は、（例えば、ログインリクエストとの関連で）サーバによってリクエストされる番号であることができる。一部の実施形態では、サーバは、登録リクエストが受信される前に、通信番号をリクエストする（又はそれ以外のやり方で通信番号を取得する）ことができる。
【００４７】
携帯電話の例では、ユーザは、携帯電話番号を使用してサーバにログオンし、サーバは、（例えば、検証リクエストと等価である）テキストメッセージ又はショートメッセージサービス（ＳＭＳ）を通じて検証コードを携帯電話番号に伝送し、ユーザは、携帯電話を使用して検証コード、機器コード、及び携帯電話番号（例えば、まとめて登録リクエスト）をサーバにサブミットする。一部の実施形態では、機器コードは、端末の特性パラメータに少なくとも部分的に基づいて、所定のプロセスにしたがって生成できる。機器コードは、携帯電話上でユーザに表示できる。一部の実施形態では、検証コード、機器コード、及び携帯電話番号（例えば、まとめて登録リクエスト）を取得して、サブミットコマンドに相当する入力をユーザが入力することを受けて検証コード、機器コード、及び携帯電話番号をサーバにサブミットするように、アプリケーションが構成できる。一部の実施形態では、検証コード、機器コード、及び携帯電話番号は、ユーザ主導でユーザによってサブミットできる、又はユーザは、サーバから受信されたメッセージを受けて検証コード、機器コード、及び携帯電話番号をサブミットすることができる。
【００４８】
３１０では、登録リクエストが承認されるか否かが決定される。例えば、サーバは、検証コード、機器コード、及び通信番号を端末、又は端末に関係付けられたユーザに対応付けるマッピングを格納している検証データベースに格納された情報に少なくとも部分的に基づいて、登録リクエストに含められて通信された検証コード、機器コード、及び通信番号が承認されるか否かを決定する。
【００４９】
登録リクエストが承認されない場合、プロセス３００は３１５に進み、認証は失敗する。一部の実施形態では、認証が失敗すると見なされるときに、端末によるログインが拒絶できる、及び／又は認証の失敗の表示がサーバによって端末に通信できる。
【００５０】
登録リクエストが承認される場合は、プロセス３００は３２０に進み、セッションＩＤ及びＵＩＤが取得される。セッションＩＤ及び／又はＵＩＤは、認証プロセスとの関連でサーバによって割り当てできる。端末は、サーバによって端末に割り当てられたセッションＩＤ及びＵＩＤを受信する。一部の実施形態では、端末は、サーバとの通信リンクを維持する。通信リンクは、長期間接続又は短期間接続として表せるが、ただし、これらの表現形式に限定はされない。一部の実施形態では、短期間接続は、送信側と受信側との間のリンクが同送信側と同受信側との間でデータが送受信された後に切断される接続に相当する。一部の実施形態では、長期間接続は、送信側と受信側との間のリンクがデータの送受信後も維持される接続に相当する（例えば、リンクは、同送信側と同受信側との間でデータが送受信された際に切断されない）。
【００５１】
携帯電話の例を使用すると、サーバ検証が通った後、セッション（セッションＩＤとして表される）及びＵＩＤが端末に割り当てられ、ローカルに保存される。すなわち、セッション及びＵＩＤの受信の際に、端末は、その後の使用を容易にするために、それらのセッションＩＤ及びＵＩＤをローカルにも保存する。セッションＩＤ及びＵＩＤは、乱数として生成できる。
【００５２】
３２５では、認証リクエストが通信される。例えば、サーバは、認証リクエストを端末に送信することができる。例えば、サーバは、ログインリクエストを受けて、又はそうでなければ認証プロセスとの関連で、認証リクエストを端末に通信することができる。端末は、認証リクエストの検証を実施することができる。例えば、認証リクエストは、認証リクエストに含められて運ばれるパラメータ（例えば、ユーザＩＤやセッションＩＤなど）と、サーバに格納されたパラメータ（例えば、ユーザＩＤやセッションＩＤなど）との比較に基づいて検証される。比較結果がパラメータの一致を示す場合、認証リクエストは承認される。認証リクエストが承認されたことを受けて、動的パスワードが生成できる。
【００５３】
携帯電話の例を使用すると、何らかのネットワーク又はシステムにユーザがログオンする必要があるときに、登録リクエストの検証が成功すると、サーバは、認証リクエストを携帯電話上のクライアントに伝送する（例えば、端末は、サーバによって伝送された検証リクエストを受信する）。一部の実施形態では、認証リクエストは、ＨＴＴＰ応答である。一部の実施形態では、認証リクエストは、ＨＴＴＰリクエストである。
【００５４】
３３０では、動的パスワードが通信される。例えば、サーバは、端末から動的パスワードを受信することができる。サーバは、端末の認証との関連で動的パスワードを使用することができる。端末からの動的パスワードの受信を受けて、サーバは、動的パスワードを生成し、該生成された動的パスワードを、サーバから受信された動的パスワードと比較し、このような比較に基づいて、端末が認証されるか否かを決定することができる。
【００５５】
図３Ｂは、本開示の様々な実施形態にしたがう、認証処理のための方法のフローチャートである。
【００５６】
図３Ｂを参照すると、認証処理のためのプロセス３５０が提供される。プロセス３５０は、例えば、図４のデバイス４００、図５のデバイス５００、図９のシステム９００、図１０のシステム１０００、又は図１２のコンピュータシステム１２００によって実行できる。プロセス３５０は、図３Ａのプロセス３００との関連で実施できる。
【００５７】
３５５では、登録リクエストが送信される。例えば、端末が、（例えば、認証プロセスとの関連で）登録リクエストをサーバに送信することができる。登録リクエストは、検証コードと、機器コードと、通信番号とを含む。通信番号は、電話番号、アカウント識別子、ユーザ識別子などであることができる。例えば、登録リクエストに含まれる通信番号は、端末に関係付けられた通信番号であることができる。通信番号は、（例えば、ログインリクエストとの関連で）サーバによってリクエストされる番号であることができる。
【００５８】
携帯電話の例では、ユーザは、携帯電話番号を使用してサーバにログオンし、サーバは、（例えば、検証リクエストと等価である）テキストメッセージ又はショートメッセージサービス（ＳＭＳ）を通じて検証コードを携帯電話番号に伝送し、ユーザは、携帯電話を使用して、検証コード、機器コード、及び携帯電話番号（例えば、まとめて登録リクエスト）をサーバにサブミットする。
【００５９】
３６０では、セッションＩＤ及びＵＩＤが取得される。端末は、サーバからセッションＩＤ及びＵＩＤを受信することができる。セッションＩＤ及びＵＩＤの受信を受けて、端末は、サーバとの接続を確立若しくは維持することができる、又はそうでなければサーバとの通信との関連でセッションＩＤ及びＵＩＤを使用することができる。セッションＩＤ及びＵＩＤを受信すると、端末は、その後の使用を容易にするために、セッションＩＤ及びＵＩＤをローカルにも保存する。セッションＩＤ及びＵＩＤは、乱数として生成できる。一部の実施形態では、端末は、サーバとの通信リンクを維持する。通信リンクは、長期間接続又は短期間接続として表せるが、ただし、これらの表現形式に限定はされない。
【００６０】
３６５では、認証リクエストが受信される。端末は、認証プロセスとの関連で、サーバから認証リクエストを受信することができる。認証リクエストの受信を受けて、端末は、認証リクエストの検証を実施することができる。例えば、一部の実施形態では、端末は、認証リクエストの検証を実施し、認証リクエストが検証に通った場合に３７０に進むことができる。
【００６１】
３７０では、機器コードが取得される。端末は、認証リクエストの受信を受けて、又は認証リクエストの検証を受けて、機器コードを読み出すことができる。機器コードは、関係付けられた端末を一意に識別する番号又はその他の識別子に相当することができる。端末は、ストレージ（例えば、ローカルストレージ又はリモートストレージ）から機器コードを取得することができる。一部の実施形態では、端末は、端末に関係付けられた又はそれ以外の形で端末に対応する情報から機器コードを導出することができる。例えば、端末は、機器コードを導出するために、所定のプロセス又は技術を使用することができる。
【００６２】
３７５では、動的パスワードが生成される。端末は、動的パスワードを生成することができる。例えば、端末は、機器コードに少なくとも部分的に基づいて、動的パスワードを生成することができる。例えば、認証リクエストの受信を受けて、端末は、動的パスワードを生成することができる。一部の実施形態では、端末は、認証リクエストが承認されたとの決定を受けて、動的パスワードを生成する。一部の実施形態では、動的パスワードは、上述された機器コードと、ローカルカウンタの出力値とに少なくとも部分的に基づいて生成される。動的パスワードは、サーバによる端末の検証のための基準として使用できる。
【００６３】
携帯電話の例を使用すると、ユーザ（例えば端末）によってサーバに送信された認証リクエストが検証に通った後、携帯電話上のクライアントは、機器コード、セッションＩＤ、及びＵＩＤを使用し、所定の技術（例えば加算）にしたがって対称鍵Ｋを生成し、加算カウンタの出力値Ｃとしてクライアント時刻（すなわち端末時刻）を使用して動的パスワードを生成する。
【００６４】
３８０では、動的パスワードが通信される。端末は、動的パスワードをサーバに送信することができる。例えば、端末は、認証プロセスとの関連でサーバに動的パスワードを送信することができる。一部の実施形態では、サーバは、端末（又はそのユーザ）の認証との関連で動的パスワードを使用することができる。端末は、動的パスワードをその他の情報とともに送信することができる。例えば、端末は、（端末に関係付けられたカウンタの）出力値に関連して動的パスワードをサーバに送信することができる。
【００６５】
一部の実施形態では、図３Ｂのプロセス３５０の３７０、３７５、及び／又は３８０は、図２のプロセス２００の２１０、２２０、及び／又は２３０を含むことができる。
【００６６】
上述された方法実施形態は、全て、説明を簡単にするために、一連の行為の組み合わせとして提示されていることに留意せよ。しかしながら、当業者ならば、本発明が、説明されている行為順序によって制限されないことを知っているべきである。なぜならば、一部のステップは、本発明にしたがって、別の順序を活用しえる又は同時に実行されえるからである。更に、当業者ならば、本書で説明される実施形態が、実施形態であること、並びにそれらに伴う行為及びモジュールが、その他の様々な実施形態に必ずしも必要ではないことも知っているべきである。
【００６７】
図４は、本開示の様々な実施形態にしたがう認証処理のためのデバイスのブロック図である。
【００６８】
図４を参照すると、デバイス４００は、図２のプロセス２００、図３Ａのプロセス３００、図３Ｂのプロセス３５０、又は図６のプロセス６００との関連で実現できる。デバイス４００は、図１０のシステム１０００、図１１のコンピュータ端末１１００、又は図１２のコンピュータシステム１２００との関連で実現できる。デバイス４００は、モバイル端末、コンピュータ端末、又は同様の操作機器に含める又はそれ以外の形で対応することができる。一部の実施形態では、デバイス４００は、端末として実現される。一部の実施形態では、デバイス４００は、サーバとして実現される。
【００６９】
図４に例示されるように、デバイス４００は、読み出しモジュール４１０と、生成モジュール４２０と、通信インターフェース４３０とを含むことができる。
【００７０】
一部の実施形態では、読み出しモジュール４１０は、端末を一意に識別するために使用される機器コードを読み出すように構成される。読み出しモジュール４１０は、機器コードをストレージから取得することができる。機器コードの取得元であるストレージは、端末（例えばデバイス４００）との関係でローカル又はリモートであることができる。一部の実施形態では、機器コードは、図１の１１０との関連で説明されるように、端末の特性パラメータに少なくとも部分的に基づいて計算される。機器コードは、（例えば、対応する特性パラメータを読み出しモジュール４１０が読み出した後に）読み出しモジュール４１０によって計算できる、又は機器コードは、読み出しモジュール４１０による機器コードの読み出しに先立って計算及び格納できる。
【００７１】
様々な実施形態にしたがうと、読み出しモジュール４１０は、機器コードを生成するように構成される。読み出しモジュール４１０は、端末の特性パラメータに少なくとも部分的に基づいて、機器コードを生成することができる。特性パラメータは、端末のブランド、端末のモデル番号、端末シリアル番号、ＩＭＥＩ、ＩＭＳＩ、ＭＡＣアドレス、オペレーティングシステムＩＤなどのうちの１つ以上を含む。
【００７２】
生成モジュール４２０は、機器コードと、ローカルカウンタの出力値とに基づいて動的パスワードを生成するように構成できる。一部の実施形態では、動的パスワードは、端末（例えばデバイス４００）検証のための基準としてサーバによって使用できる。
【００７３】
通信インターフェース４３０は、動的パスワードをサーバに送信するように構成される。通信インターフェースは、生成モジュール４２０に接続できる。一部の実施形態では、通信インターフェース４３０は、（例えばセッション中に）通信リンク又はチャンネルを通じて動的パスワードをサーバに通信するように構成される。
【００７４】
図５は、本開示の様々な実施形態にしたがう認証処理のためのデバイスのブロック図である。
【００７５】
図５を参照すると、デバイス５００は、図２のプロセス２００、図３Ａのプロセス３００、図３Ｂのプロセス３５０、又は図６のプロセス６００との関連で実現できる。デバイス５００は、図１０のシステム１０００、図１１のコンピュータ端末１１００、又は図１２のコンピュータシステム１２００との関連で実現できる。デバイス５００は、モバイル端末、コンピュータ端末、又は同様の操作機器に含める又はそれ以外の形で対応することができる。一部の実施形態では、デバイス５００は、端末として実現される。一部の実施形態では、デバイス５００は、サーバとして実現される。
【００７６】
図５に例示されるように、デバイス５００は、読み出しモジュール５１０と、生成モジュール５２０と、通信モジュール５３０とを含むことができる。
【００７７】
読み出しモジュール５１０は、端末を一意に識別するために使用される機器コードを読み出すように構成される。読み出しモジュール５１０は、図４のデバイス４００の読み出しモジュール４１０に相当することができる。
【００７８】
生成モジュール５２０は、機器コードと、ローカルカウンタの出力値とに基づいて動的パスワードを生成するように構成される。一例として、生成モジュール５２０は、図４のデバイス４００の生成モジュール４２０に相当することができる。また、生成モジュール５２０は、第１の生成サブモジュール５２２と、第２の生成サブモジュール５２４とを含むことができる。
【００７９】
生成モジュール５２０は、動的パスワードを生成するように構成できる。第１の生成サブモジュール５２２は、機器コードと、サーバによって上記端末に割り当てられた上記セッションＩＤと、サーバによって端末に割り当てられたＵＩＤとに基づいて、既定の識別子割り当てプロセスにしたがって対称鍵を生成するように構成される。第２の生成サブモジュール５２４は、第１の生成サブモジュール５２２に接続でき、対称鍵と出力値とに少なくとも部分的に基づいて、パスワード生成プロセスにしたがって動的パスワードを生成するように構成できる。一部の実施形態では、既定の識別子割り当てプロセスは、機器コードと、セッションＩＤと、ＵＩＤとを組み合わせること、又は関連技術の中の既定の技術を使用して暗号化を実施して鍵を生成することとして表せる。例えば、暗号化を実施して鍵を生成するための技術として、ＤＥＳ、３ＤＥＳ（ＴＤＥＡ）、ＩＤＥＡなどの技術が使用できる。対称鍵を生成するために、その他の様々な技術が使用できる。動的パスワードは、多岐にわたる方法で生成できる（例えば、パスワード生成プロセスには、多岐にわたる表現形式があってよい）。例えば、動的パスワードは、関数：Ｃｏｄｅ＝ＨＭＡＣ＿ＳＨＡ１（Ｋ，Ｃ）を使用して生成でき、ここでは、ｃｏｄｅは、上記動的パスワードを表し、ＨＭＡＣ＿ＳＨＡ１（）は、鍵に関連付けられたハッシュ関数であり、ＨＭＡＣは、鍵に関連付けられた、ハッシュに基づくメッセージ認証コードを表し、ＳＨＡ１は、セキュアなハッシュ関数を表し、Ｋは、対称鍵を表し、Ｃは、出力値を表す。
【００８０】
様々な実施形態にしたがうと、モジュール又はサブモジュールは、ソフトウェア又はハードウェアの形式で実装できる。一部の実施形態では、読み出しモジュール５１０、生成モジュール５２０、及び通信モジュール５３０は、同じプロセッサ上に配置される。一部の実施形態では、読み出しモジュール５１０、生成モジュール５２０、及び通信モジュール５３０は、それぞれ異なるプロセス上に配置される、又は読み出しモジュール５１０、生成モジュール５２０、及び通信モジュール５３０のうちの任意の２つが、同じプロセッサ上に配置され、残りのモジュールが、別のプロセッサ上に配置される。
【００８１】
様々な実施形態にしたがうと、追加の機器への非依存、並びに手動入力及びシステム時刻への非依存が実現される。例えば、動的パスワードは、端末自身の特性パラメータに基づいて生成され、そうして、費用増を招くのが一般的である追加機器を必要とする従来の技術に存在する技術上の問題が解決される。別の例として、端末自身の特性パラメータに基づいて生成される動的パスワードは、動的パスワードの手動入力の必要性に関係した技術上の問題を解決する。このような技術上の問題が解決されないと、入力エラー又はソフトウェアシステム時刻アップデートの可能性が高くなり、検証が失敗しやすくなる。
【００８２】
図６は、本開示の様々な実施形態にしたがう認証処理のための方法のフローチャートである。
【００８３】
図６を参照すると、認証処理のためのプロセス６００が提供される。プロセス６００は、例えば、図７のデバイス７００、図８のデバイス８００、図９のシステム９００、図１０のシステム１０００、又は図１２のコンピュータシステム１２００によって実行できる。
【００８４】
様々な実施形態にしたがうと、認証プロセスが、サーバ上で実行できる。一例として、サーバの構造は、図１のデバイス１００の構造を使用して実現できる。
【００８５】
６１０では、第１の動的パスワードが受信される。サーバは、端末によって伝送された第１の動的パスワードを受信することができる。第１の動的パスワードは、端末によって生成される動的パスワードに相当することができる。端末は、ローカルカウンタ（例えば、端末の中のカウンタ）の出力値と、端末を一意に識別するために使用される機器コードとに基づいて、第１の動的パスワードを生成することができる。サーバは、認証プロセスに関係付けられたその他の情報を受信することができる。例えば、サーバは、第１の動的パスワードとともに端末によって通信された出力値を受信することができる。
【００８６】
機器コードの生成には、様々な方法が使用できる。一部の実施形態では、端末は、端末の特性パラメータのうちの１つ以上に少なくとも部分的に基づいて、所定の技術を使用して上記機器コードを生成する。１つ以上の特性パラメータは、端末のブランド、端末のモデル番号、端末シリアル番号、ＩＭＥＩ、ＩＭＳＩ、ＭＡＣアドレス、オペレーティングシステムＩＤなどのうちの１つ以上を含むことができる。
【００８７】
６２０では、第２の動的パスワードが生成される。一部の実施形態では、サーバは、第２の動的パスワードを生成する。サーバは、事前に読み出された機器コードに少なくとも部分的に基づいて、第２の動的パスワードを生成することができる。例えば、サーバは、機器コードを端末に又はユーザに対応付けるマッピングを格納しているストレージ（例えばデータベース）から、端末に関係付けられた機器コードを読み出すことができる。サーバは、第２の動的パスワードの生成との関連で、端末から又は情報を端末に対応付けるマッピングを格納しているストレージから取得されたその他の情報などのその他の情報を使用することができる。例えば、サーバは、端末から出力値を受信し、このような出力値を第２の動的パスワードの生成に使用することができる。サーバは、端末を認証するために、第１の動的パスワードを第２の動的パスワードと比較することができる。例えば、サーバは、第１の動的パスワードと第２の動的パスワードとが一致するか否かを決定することができる。一部の実施形態では、端末又はサーバは、機器コードと、サーバによって端末に割り当てられたセッションＩＤと、サーバによって端末に割り当てられたＵＩＤとに基づいて、既定の識別子割り当てプロセスにしたがって対称鍵を生成し、端末又はサーバは、対称鍵と出力値とに基づいて、第１の動的パスワード又は第２の動的パスワードを生成する。
【００８８】
一部の実施形態では、ステップ６２０の前に、サーバは、その後の認証プロセスに予め備えるために、事前に機器コードを読み出して保存することができる。例えば、サーバは、事前に読み出された機器コードに基づいて第２の動的パスワードを生成する前に、上記端末に検証リクエストを伝送することができ、サーバは、検証リクエストに少なくとも部分的に基づいて（例えば、検証リクエストを受けて）上記端末によって伝送された検証コードと上記機器コードとを受信する。
【００８９】
６３０では、端末は、第１の動的パスワード及び第２の動的パスワードに少なくとも部分的に基づいて認証される。一部の実施形態では、サーバは、第１の動的パスワードと第２の動的パスワードとの比較の結果に基づいて、上記端末の認証を実施する。比較の結果が、第１の動的パスワードと第２の動的パスワードとの一致を示す場合、端末は、認証に通ったと決定される。反対に、比較の結果が、第１の動的パスワードと第２の動的パスワードとの不一致を示す場合、端末は、認証に失敗したと決定される。端末が認証された後、ユーザは、端末の使用に進み、サーバによって提供されるサービスにアクセスすることができる。
【００９０】
第１の動的パスワード及び第２の動的パスワードは、同じ方法を使用して生成できる。例えば、第１の動的パスワード及び第２の動的パスワードは、以下の方法、すなわち、端末又はサーバが、機器コードと、サーバによって端末に割り当てられたセッションＩＤと、サーバによって端末に割り当てられたＵＩＤとに基づいて、既定の識別子割り当てプロセスにしたがって対称鍵を生成し、端末又はサーバが、上記対称鍵と、出力値とに少なくとも部分的に基づいて、上記第１の動的パスワード又は上記第２の動的パスワードを生成する、方法を使用して生成できる。
【００９１】
図７は、本開示の様々な実施形態にしたがう認証処理のためのデバイスのブロック図である。
【００９２】
図７を参照すると、デバイス７００は、図２のプロセス２００、図３Ａのプロセス３００、図３Ｂのプロセス３５０、又は図６のプロセス６００との関連で実現できる。デバイ７００は、図１０のシステム１０００、図１１のコンピュータ端末１１００、又は図１２のコンピュータシステム１２００との関連で実現できる。デバイス７００は、モバイル端末、コンピュータ端末、又は同様の操作機器に含める又はそれ以外の形で対応することができる。
【００９３】
図７に例示されるように、デバイス７００は、第１の受信モジュール７１０と、生成モジュール７２０と、認証モジュール７３０とを含むことができる。
【００９４】
第１の受信モジュール７１０は、端末によって伝送された第１の動的パスワードを受信するように構成できる。第１の動的パスワードは、ローカルカウンタの出力値と、端末を一意に識別するために使用される機器コードとに基づいて端末によって生成される動的パスワードである。第１の受信モジュール７１０は、インターネットなどのネットワークを通じて端末から第１の動的パスワードを受信することができる。第１の受信モジュール７１０は、図６のプロセス６００の６１０を実現することができる。
【００９５】
生成モジュール７２０は、第１の受信モジュール７１０に接続できる。生成モジュール７２０は、端末に関係付けられた機器コードに少なくとも部分的に基づいて第２の動的パスワードを生成するように構成できる。端末に関係付けられた機器コードは、事前に読み出される。生成モジュール７２０は、更に、第１の動的パスワードと第２の動的パスワードとが一致するか否かの決定との関連で第１の動的パスワードと第２の動的パスワードとを比較するように構成できる。生成モジュール７２０は、図６のプロセス６００の６２０を実現することができる。
【００９６】
認証モジュール７３０は、生成モジュール７２０に接続できる。認証モジュール７３０は、第１の動的パスワード及び第２の動的パスワードに少なくとも部分的に基づいて端末の認証を実施するように構成できる。例えば、認証モジュールは、端末が認証されるか否かを決定するために、第１の動的パスワードと第２の動的パスワードとの比較の結果を使用することができる。比較の結果が、第１の動的パスワードと第２の動的パスワードとの一致を示す場合、端末は、認証に通ったと決定される。反対に、比較の結果が、第１の動的パスワードと第２の動的パスワードとの不一致を示す場合、端末は、認証に失敗したと決定される。認証モジュール７３０は、図６のプロセス６００の６３０を実現することができる。
【００９７】
図８は、本開示の様々な実施形態にしたがう認証処理のためのデバイスのブロック図である。
【００９８】
図８を参照すると、デバイス８００は、図２のプロセス２００、図３Ａのプロセス３００、図３Ｂのプロセス３５０、又は図６のプロセス６００との関連で実現できる。デバイス８００は、図１０のシステム１０００、図１１のコンピュータ端末１１００、又は図１２のコンピュータシステム１２００との関連で実現できる。デバイス８００は、モバイル端末、コンピュータ端末、又は同様の操作機器に含める又はそれ以外の形で対応することができる。
【００９９】
図８に例示されるように、デバイス８００は、第１の受信モジュール８１０と、生成モジュール８２０と、認証モジュール８３０と、伝送モジュール８４０と、第２の受信モジュール８５０とを含むことができる。
【０１００】
一部の実施形態では、第１の受信モジュール８１０は、図７のデバイス７００の第１の受信モジュール７１０によって実現できる。
【０１０１】
一部の実施形態では、生成モジュール８２０は、図７のデバイス７００の生成モジュール７２０によって実現できる。
【０１０２】
一部の実施形態では、認証モジュール８３０は、図７のデバイス７００の認証モジュール７３０によって実現できる。
【０１０３】
伝送モジュール８４０は、検証リクエストを上記端末に伝送するように構成できる。伝送モジュールは、事前に読み出された機器コードに基づく第２の動的パスワードの生成の前に、検証リクエストを伝送することができる。
【０１０４】
第２の受信モジュール８５０は、伝送モジュール８４０に接続できる。第２の受信モジュール８５０は、検証リクエストに少なくとも部分的に基づいて（例えば、検証リクエストを受けて）端末によって伝送された検証コードと機器コードとを受信するように構成できる。
【０１０５】
一部の実施形態では、機器コードは、端末が端末の特性パラメータのうちの１つ以上に基づいて所定の技術にしたがって機器コードを生成することに少なくとも部分的に基づいて決定できる。特性パラメータは、端末のブランド、端末のモデル番号、端末シリアル番号、ＩＭＥＩ、ＩＭＳＩ、ＭＡＣアドレス、オペレーティングシステムＩＤなどのうちの１つ以上を含むことができる。一部の実施形態では、所定の技術は、ハッシュ関数に相当する又はそうでなければハッシュ関数を含む。
【０１０６】
生成モジュール８２０は、上記機器コードと、サーバによって上記端末に割り当てられた上記セッションＩＤと、サーバによって端末に割り当てられたＵＩＤとに基づいて、既定の識別子割り当てプロセスにしたがって対称鍵を生成し、対称鍵と出力値とに少なくとも部分的に基づいて、パスワード生成プロセスにしたがって第２の動的パスワードを生成することによって、第２の動的パスワードを生成するように構成できる。第１の既定の識別子割り当てプロセスは、機器コードと、セッションＩＤと、ＵＩＤとを組み合わせることを含むことができ、ただし、それに限定はされない。パスワード生成プロセスは、関数：Ｃｏｄｅ＝ＨＭＡＣ＿ＳＨＡ１（Ｋ，Ｃ）にしたがう第２の動的パスワードの生成を含むことができ、ただし、それに限定はされない。ここで、ｃｏｄｅは、第２の動的パスワードを表し、ＨＭＡＣ＿ＳＨＡ１（）は、鍵に関連付けられたハッシュ関数であり、ＨＭＡＣは、鍵に関連付けられた、ハッシュに基づくメッセージ認証コードを表し、上記ＳＨＡ１は、セキュアなハッシュ関数を表し、Ｋは、対称鍵を表し、Ｃは、出力値を表す。
【０１０７】
図９は、本開示の様々な実施形態にしたがう認証処理のためのシステムの構造説明図である。
【０１０８】
図９を参照すると、システム９００は、図２のプロセス２００、図３Ａのプロセス３００、図３Ｂのプロセス３５０、又は図６のプロセス６００との関連で実現できる。システム９００は、図１のデバイス１００、図５のデバイス５００、及び／又は図７のデバイス７００を実現することができる。システム９００は、図１０のシステム１０００、図１１のコンピュータ端末１１００、又は図１２のコンピュータシステム１２００との関連で実現できる。
【０１０９】
図９に例示されるように、システム９００は、端末９１０と、サーバ９２０とを含むことができる。システム９００は、更に、端末９１０とサーバ９２０とが通信するネットワーク９３０を含むことができる。
【０１１０】
端末９１０は、サーバ９２０による端末９１０の認証との関連でサーバ９２０によって使用される動的パスワードを生成することができる。例えば、サーバ９２０は、サーバ９２０が端末９１０から受信する動的パスワードを、サーバ９２０によって生成された動的パスワードと比較することができる。サーバ９２０は、端末９１０によって生成された動的パスワード（例えば第１の動的パスワード）と、サーバ９２０によって生成された動的パスワード（例えば第２の動的パスワード）との比較に少なくとも部分的に基づいて、端末９１０を認証することができる。
【０１１１】
端末９１０は、図１のデバイス１００を含むことができる。サーバ９２０は、図４のデバイス４００を含むことができる。
【０１１２】
図１０は、本開示の様々な実施形態にしたがう認証処理のためのシステムの構造説明図である。
【０１１３】
図１０を参照すると、システム１０００は、図２のプロセス２００、図３Ａのプロセス３００、図３Ｂのプロセス３５０、又は図６のプロセス６００との関連で実現できる。システム１０００は、図１のデバイス１００、図５のデバイス５００、及び／又は図７のデバイス７００を実現することができる。システム１０００は、図９のシステム９００、図１１のコンピュータ端末１１００、又は図１２のコンピュータシステム１２００との関連で実現できる。
【０１１４】
図１０に例示されるように、システム１０００は、端末１０１０（例えば携帯電話）と、サーバ１０２０とを含むことができる。端末１０１０及びサーバ１０２０は、サーバ１０２０による端末１０１０の認証との関連で互いに通信することができる。
【０１１５】
１０３０では、ユーザが、端末１０１０の携帯電話番号を使用してサーバ１０２０にログオンする。サーバ１０２０は、端末１０１０に関係付けられた携帯電話番号に検証メッセージ（例えば、ＳＭＳメッセージやテキストメッセージなど）を伝送し、ユーザは、携帯電話１０１０を通じて検証コード、デバイスＩＤ、及び携帯電話番号をサーバ１０２０にサブミットする。一部の実施形態では、ユーザは、端末１０１０によって提供されるインターフェースを通じて検証コード、デバイスＩＤ、及び携帯電話番号をサブミットすることができる。一部の実施形態では、検証コード、デバイスＩＤ、及び携帯電話番号は、デバイス上に格納でき、ユーザは、端末１０１０上でユーザに表示されるインターフェース上に提供されたサブミット／送信ボタンを選択することによって、検証コード、デバイスＩＤ、及び携帯電話番号をサーバ１０２０にサブミットすることを選択することができる。ユーザに表示されるインターフェースは、スタンドアロンソフトウェアアプリケーションや、ブラウザをベースにしたアプリケーションなどとの関連で表示できる。例えば、スタンドアロンソフトウェアアプリケーションが、認証プロセスとの関連で端末にインストールされて端末によって実行できる。別の例として、認証プロセスは、ブラウザをベースにしたアプリケーションを使用して、ユーザにインターフェースを表示することができる。サーバ１０２０は、検証コード、デバイスＩＤ、及び携帯電話番号の検証を実施することができる。検証コード、デバイスＩＤ、及び携帯電話番号が検証に通ったとの決定を受けて、サーバ１０２０は、セッションＩＤ及びＵＩＤを保存して割り当て、その後の使用に備えてこれらのセッションＩＤ及びＵＩＤを保存する。サーバ１０２０は、セッションＩＤ及びＵＩＤを端末１０１０に送信し、端末１０１０は、その後の使用に備えてセッションＩＤ及びＵＩＤを格納する。
【０１１６】
１０４０では、端末１０１０及びサーバ１０２０は、互いとの通信セッション（例えばＨＴＴＰセッション）を維持する。
【０１１７】
１０５０では、ユーザが、何らかのシステム又はネットワークにログオンするときに、サーバ１０２０が、認証リクエストを端末１０１０に（例えば、携帯電話上のクライアントに）伝送する。ユーザ（又は端末）は、認証リクエストを検証する。端末１０１０上のクライアントは、デバイスＩＤと、セッションＩＤと、ＵＩＤとを組み合わせて対称鍵Ｋを形成し、加算カウンタＣとしてクライアント時刻を使用し、動的パスワードコードを生成する。端末１０１０上のクライアントは、動的パスワードをサーバ１０２０に伝送し、サーバ１０２０は、動的パスワードコードを生成する同じ動作を実施し、動的パスワードの比較を行う。すると、動的パスワード（例えば、端末１０１０によってサーバ１０２０に通信された動的パスワードと、サーバ側で生成された動的パスワードと）の比較の結果に基づいて、認証動作が完了する。
【０１１８】
一部の実施形態では、端末は、コンピュータ端末であることができ、コンピュータネットワークの中の複数のネットワーク機器のうちの少なくとも１つのネットワーク機器上に位置することができる。
【０１１９】
コンピュータ端末は、端末認証処理方法におけるステップのためにプログラムコードを実行することができる。例えば、コンピュータ端末は、端末が、端末を一意に識別するために使用される機器コードを読み出すこと、端末が、機器コードと、ローカルカウンタの出力値とに基づいて、サーバによる端末の検証の基準である動的パスワードを生成すること、及び端末が、動的パスワードをサーバに伝送すること、に関係付けられたプログラムコードを実行することができる。
【０１２０】
図１１は、本開示の様々な実施形態にしたがう認証処理のためのコンピュータ端末のブロック図である。
【０１２１】
図１１を参照すると、コンピュータ端末１１００は、図２のプロセス２００、図３Ａのプロセス３００、図３Ｂのプロセス３５０、又は図６のプロセス６００との関連で実現できる。コンピュータ端末１１００は、図１のデバイス１００、図５のデバイス５００、及び／又は図７のデバイス７００を実現することができる。コンピュータ端末１１００は、図９のシステム９００、図１０のシステム１０００、又は図１２のコンピュータシステム１２００との関連で実現できる。
【０１２２】
図１１に例示されるように、コンピュータ端末１１００は、１つ以上のプロセッサ１１１０と、メモリ１１２０と、１１３０とを含むことができる。
【０１２３】
メモリ１１２０は、様々な実施形態にしたがう端末認証処理の方法又はデバイスに対応するプログラムコマンド／モジュールなどの、ソフトウェアプログラム及びモジュールを格納するために使用できる。メモリ１１２０に格納されたソフトウェアプログラム及びモジュールを走らせ、それによって、プロセッサ１１１０は、様々な機能的アプリケーション及びデータ処理を実行し、そうして、上記システムの脆弱性検出の方法を実現する。メモリ１１２０は、高速ランダムメモリを含むことができ、また、１つ以上の磁気ストレージディスク又はその他の不揮発性ソリッドステートメモリデバイスなどの、不揮発性メモリも含んでいてよい。一部の実施形態では、メモリ１１２０は、プロセッサ１１１０に対してリモートに配置されたメモリデバイスも含むことができ、このようなリモートメモリデバイスは、ネットワークを通じてコンピュータ端末１１１０に接続することができる。上記ネットワークの例として、インターネット、企業イントラネット、ローカルエリアネットワーク、広域ネットワーク、モバイル通信ネットワーク、及びこれらの組み合わせが挙げられ、ただし、これらに限定はされない。
【０１２４】
通信インターフェース１１３０は、ネットワークを通じてデータを受信又は伝送するために使用できる。上記ネットワークの具体例として、ケーブルネットワーク及びワイヤレスネットワークが挙げられる。一例では、通信インターフェース１１３０は、ネットワークインターフェースコントローラ（ＮＩＣ）を含み、これは、ケーブル及びその他のネットワーク機器を通じてルータに接続でき、それによって、インターネット又はローカルエリアネットワークと通信することができる。一例では、通信インターフェース１１３０は、インターネットとワイヤレス方式で通信するために使用される無線周波数（ＲＦ）モジュールである。
【０１２５】
一部の実施形態では、メモリ１１２０は、アプリケーションプログラムはもちろん、既定の行為条件及び既定の承認されたユーザ情報を格納するために使用される。
【０１２６】
プロセッサ１１１０は、コンピュータ端末１１００を一意に識別するために使用される機器コードをコンピュータ端末１１００が読み出すステップ、機器コードと、ローカルカウンタの出力値とに基づいて、サーバによるコンピュータ端末１１００の検証の基準である動的パスワードをコンピュータ端末１１００が生成するステップ、及び上記動的パスワードをコンピュータ端末１１００がサーバに伝送するステップを実行するために、メモリ１１２０に格納された情報及びアプリケーションプログラムを呼び出すことができる。
【０１２７】
一部の実施形態では、プロセッサ１１１０は、コンピュータ端末１１００がコンピュータ端末１１００の特性パラメータに基づいて既定の技術にしたがって機器コードを生成するステップのためのプログラムコードを実行することができ、ここで、特性パラメータは、コンピュータ端末１１００のブランド、コンピュータ端末１１００のモデル番号、端末シリアル番号、ＩＭＥＩ、ＩＭＳ、ＭＡＣアドレス、オペレーティングシステムＩＤなどのうちの１つ以上を含む。
【０１２８】
一部の実施形態では、プロセッサ１１１０は、コンピュータ端末１１００が、上記機器コードと、サーバによってコンピュータ端末１１００に割り当てられたセッションＩＤと、サーバによってコンピュータ端末１１００に割り当てられたＵＩＤとに基づいて、第１の既定の識別子割り当てプロセスにしたがって対称鍵を生成するステップ、及びコンピュータ端末１１００が、対称鍵と、出力値とに基づいて、第２の既定のパスワード生成プロセスにしたがって動的パスワードを生成するステップのための、プログラムコードを実行することができる。
【０１２９】
一部の実施形態では、プロセッサ１１１０は、コンピュータ端末１１００が、検証コードと、機器コードと、サーバによってリクエストされたコンピュータ端末１１００からの該端末の通信番号とを含む登録リクエストをサーバに伝送するステップ、及び登録リクエストが検証に通った後に、コンピュータ端末１１００が、サーバによってコンピュータ端末１１００に割り当てられた上記セッションＩＤと上記ＵＩＤとを受信し、サーバとの通信リンクを維持するステップのための、プログラムコードを実行することもできる。
【０１３０】
一部の実施形態では、プロセッサ１１１０は、コンピュータ端末１１００がサーバから認証リクエストを受信するステップのためのプログラムコードを実行することができ、ここで、認証リクエストが検証に通るときに、コンピュータ端末１１００は、上記動的パスワードを生成させられる。
【０１３１】
様々な実施形態で提供された上記技術方式を使用することによって、追加のハードウェア機器の必要性に起因する費用高、手動入力の必要性に起因する入力エラー、及びソフトウェアヴァージョンシステムアップデートに起因する検証の失敗という、従来技術の技術的問題が解決される。
【０１３２】
図１１に示された構造は、例示に過ぎない。コンピュータ端末１１００は、スマートフォン（ＡｎｄｒｏｉｄフォンやｉＯＳフォン等など）、タブレット、手持ちサイズのコンピュータ、すなわちモバイルインターネットデバイス（ＭＩＤ）、ＰＡＤ、又はその他の端末機器であることもできる。図１１は、上記電子機器の構造に対する制限を成すものではない。例えば、コンピュータ端末１１００は、図１１に示されるよりも多くの若しくは少ないコンポーネントを含むこともできる、又は図１１に示されるものとは異なる構成を有していてよい。
【０１３３】
当業者ならば、上記実施形態における様々な方法のステップの一部又は全部が、端末機器に関係するハードウェアに指示するプログラムを使用して実現できることが理解できるだろう。このようなプログラムは、１つのコンピュータ読み取り可能ストレージ媒体に格納されてよく、該ストレージ媒体として、フラッシュドライブ、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク、又は光ディスクが挙げられる。
【０１３４】
様々な実施形態は、ストレージ媒体を含む。ストレージ媒体は、図２のプロセス２００の端末認証処理方法又は図１のデバイス１００によって実行されるプログラムコードを保存するために使用できる。
【０１３５】
一部の実施形態では、ストレージ媒体は、コンピュータネットワークにおけるコンピュータ端末群の中の任意のコンピュータ端末内に配置される、又はモバイル端末群の中の任意のモバイル端末内に配置される。
【０１３６】
一部の実施形態では、ストレージ媒体は、端末が、機器コードと、ローカルカウンタの出力値とに基づいて、サーバによる端末の検証のための基準である動的パスワードを生成するステップ、及び端末が、動的パスワードをサーバに伝送するステップ、を実行するために使用されるプログラムコードを格納するように構成される。ストレージ媒体は、図２のプロセス２００の構成要素を実行するために使用されるプログラムコードを格納するようにも構成できる。
【０１３７】
ここで、上記コンピュータ端末群の中のいずれのコンピュータも、ネットワークサーバ及びスキャナとの間に通信関係を確立できること、並びにスキャナは、コンピュータ端末上のｐｈｐ又はスクリプトによって実行されるウェブアプリケーションの値コマンドをスキャンできることが、留意されるべきである。
【０１３８】
様々な実施形態にしたがうと、図６のプロセス６００を実行するコンピュータ端末が提供できる。
【０１３９】
様々な実施形態にしたがうと、コンピュータ端末は、コンピュータネットワークにおける複数のネットワーク機器のうちの少なくとも１つのネットワーク機器上に配置できる。
【０１４０】
一部の実施形態では、コンピュータ端末は、端末認証方法における以下のステップ、すなわち、サーバが、出力値と、端末を一意に識別するために使用される機器コードとに基づいて生成された、端末によって伝送された第１の動的パスワードを受信するステップ、サーバが、事前に読み出された機器コードに基づいて第２の動的パスワードを生成し、第１の動的パスワードと第２の動的パスワードとが一致するか否かを決定するために第１の動的パスワードを第２の動的パスワードに照らして比較するステップ、サーバが、比較結果に基づいて端末の認証を実施し、比較結果が一致を示す場合、端末は認証に通ったと決定され、そうでなければ、端末は認証に失敗したと決定されるステップのための、プログラムコードを実行することができる。
【０１４１】
プロセッサ１１１０は、以下のステップ、すなわち、サーバが、出力値と、端末を一意に識別するために使用される機器コードとに基づいて生成された、端末によって伝送された第１の動的パスワードを受信するステップ、サーバが、事前に読み出された機器コードに基づいて第２の動的パスワードを生成し、第１の動的パスワードと第２の動的パスワードとが一致するか否かを決定するために第１の動的パスワードを第２の動的パスワードに照らして比較するステップ、サーバが、比較結果に基づいて端末の認証を実施し、比較結果が一致を示す場合、端末は認証に通ったと決定され、そうでなければ、端末は認証に失敗したと決定されるステップを実行するために、通信インターフェース１１３０を使用して、メモリ１１２０に格納された情報及びアプリケーションを読み出すことができる。
【０１４２】
一部の実施形態では、プロセッサ１１１０は、サーバが、検証リクエストを端末に伝送するステップ、及びサーバが、検証リクエストに基づいて端末によって伝送された検証コードと機器コードとを受信するステップのための、プログラムコードを実行することもできる。
【０１４３】
様々な実施形態にしたがうと、図６のプロセス６００によって実行されるプログラムコードを保存するために使用されるストレージ媒体が提供できる。
【０１４４】
ストレージ媒体は、コンピュータネットワークにおけるコンピュータ端末群の中の任意のコンピュータ端末内に配置されてよい、又はモバイル端末群の中の任意のモバイル端末内に配置されてよい。
【０１４５】
一部の実施形態では、ストレージ媒体は、サーバが、出力値と、端末を一意に識別するために使用される機器コードとに基づいて生成された、端末によって伝送された第１の動的パスワードを受信するステップ、サーバが、事前に読み出された機器コードに基づいて第２の動的パスワードを生成し、第１の動的パスワードと第２の動的パスワードとが一致するか否かを決定するために第１の動的パスワードを第２の動的パスワードに照らして比較するステップ、サーバが、比較結果に基づいて端末の認証を実施し、比較結果が一致を示す場合、端末は認証に通ったと決定され、そうでなければ、端末は認証に失敗したと決定されるステップ、を実行するために使用されるプログラムコードを格納するように設定される。ストレージ媒体は図６の処理６００を実行するために用いられるステップを格納し得る。
【０１４６】
図１２は、本開示の様々な実施形態にしたがう認証処理のためのコンピュータシステムの機能図である。
【０１４７】
図１２を参照すると、認証処理のためのコンピュータシステム１２００が表示されている。コンピュータシステム１２００は、図２のプロセス２００、図３Ａのプロセス３００、図３Ｂのプロセス３５０、又は図６のプロセス６００を実現することができる。コンピュータシステム１２００は、図１のデバイス１００、図４のデバイス４００、図５のデバイス５００、図７のデバイス７００、又は図８のデバイス８００を実現することができる。表示インターフェースを実装するために、その他のコンピュータシステムアーキテクチャ及びコンピュータシステム構成が使用できることが明らかである。後述のような様々なサブシステムを含むコンピュータシステム１２００は、少なくとも１つのマイクロプロセッササブシステム（プロセッサ又は中央演算処理装置（ＣＰＵ）とも呼ばれる）１２０２を含む。例えば、プロセッサ１２０２は、シングルチッププロセッサによって又は複数のプロセッサによって実現できる。一部の実施形態では、プロセッサ１２０２は、コンピュータシステム１２００の動作を制御する汎用デジタルプロセッサである。メモリ１２１０から取り出された命令を使用して、プロセッサ１２０２は、入力データの受信及び操作、並びに出力デバイス（例えばディスプレイ１２１８）へのデータの出力及び表示を制御する。
【０１４８】
プロセッサ１２０２は、メモリ１２１０に双方向に接続され、メモリ１２１０は、通常はランダムアクセスメモリ（ＲＡＭ）である第１の一次ストレージと、通常は読み出し専用メモリ（ＲＯＭ）である第２の一次ストレージエリアとを含むことができる。当該分野で周知のように、一次ストレージは、汎用ストレージエリアとして及びスクラッチパッドメモリとして使用でき、入力データ及び処理済みデータを格納するためにも使用できる。一次ストレージは、プログラミング命令及びデータも、プロセッサ１２０２上で起きるプロセスのためのその他のデータ及び命令に加えてデータオブジェクト及びテキストオブジェクトの形態で格納することができる。やはり当該分野で周知のように、一次ストレージは、通常は、プロセッサ１２０２がその機能（例えば、プログラムされた命令）を実施するために使用する基本的な動作命令、プログラムコード、データ、及びオブジェクトを含む。例えば、メモリ１２１０は、例えば、データアクセスが双方向又は単方向のいずれである必要があるかに応じて、後述される任意の適切なコンピュータ読み取り可能ストレージ媒体を含むことができる。例えば、プロセッサ１２０２は、頻繁に必要とされるデータを直接的に且つ非常に迅速に取り出してキャッシュメモリ（不図示）に格納することもできる。メモリは、非一時的なコンピュータ読み取り可能ストレージ媒体であることができる。
【０１４９】
着脱式大容量ストレージデバイス１２１２が、コンピュータシステム１２００のための追加のデータストレージ容量を提供し、双方向（読み出し／書き込み）又は単方向（読み出しのみ）のいずれかでプロセッサ１２０２に接続される。例えば、ストレージ１２１２は、磁気テープ、フラッシュメモリ、ＰＣカード、携帯型大容量ストレージデバイス、ホログラフィックストレージデバイス、及びその他のストレージデバイスなどの、コンピュータ読み取り可能媒体を含むこともできる。例えば、固定大容量ストレージ１２２０も、追加のデータストレージ容量を提供することができる。大容量ストレージ１２２０として最も一般的な例は、ハードディスクドライブである。大容量ストレージデバイス１２１２及び固定大容量ストレージ１２２０は、一般に、プロセッサ１２０２によって通常は能動的に使用されていない追加のプログラミング命令やデータなどを格納する。大容量ストレージデバイス１２１２及び固定大容量ストレージ１２２０に保持される情報は、必要に応じて、仮想メモリとしてメモリ１２１０（例えばＲＡＭ）の一部として標準的に組み込めることがわかる。
【０１５０】
バス１２１４は、プロセッサ１２０２に、ストレージサブシステムへのアクセスを提供することに加えて、その他のサブシステム及びデバイスへのアクセスを提供するためにも使用できる。図に示されるように、これらは、ディスプレイモニタ１２１８、ネットワークインターフェース１２１６、キーボード１２０４、及びポインティングデバイス１２０６はもちろん、必要に応じて、補助入出力デバイスインターフェース、サウンドカード、スピーカ、及びその他のサブシステムを含むことができる。例えば、ポインティングデバイス１２０６は、マウス、スタイラス、トラックボール、又はタブレットであることができ、グラフィカルユーザインターフェースとのやり取りに有用である。
【０１５１】
ネットワークインターフェース１２１６は、図に示されるようにネットワーク接続を使用してプロセッサ１２０２が別のコンピュータ、コンピュータネットワーク、又は電気通信ネットワークに接続されることを可能にする。例えば、ネットワークインターフェース１２１６を通じて、プロセッサ１２０２は、方法／プロセスのステップを実施する過程で別のネットワークから情報（例えばデータオブジェクト若しくはプログラム命令）を受信する又は別のネットワークに情報を出力することができる。情報は、プロセッサ上で実行される一連の命令として表されることが多く、別のネットワークから受信できる又は別のネットワークに出力できる。コンピュータシステム１２００を外部ネットワークに接続するために及びデータを標準プロトコルにしたがって転送するために、インターフェースカード又は類似のデバイス、及びプロセッサ１２０２によって実装される（例えば、プロセッサ１２０２上で実行される／実施される）適切なソフトウェアが使用できる。例えば、本書で開示される様々なプロセス実施形態は、プロセッサ１２０２上で実行できる、又は処理の一部を共有するリモートプロセッサと協働してインターネット、イントラネットネットワーク、若しくはローカルエリアネットワークなどのネットワークで実施できる。プロセッサ１２０２には、ネットワークインターフェース１２１６を通じて追加の大容量ストレージデバイス（不図示）も接続できる。
【０１５２】
コンピュータシステム１２００と協働して、補助入出力デバイスインターフェース（不図示）が使用できる。補助入出力デバイスインターフェースは、プロセッサ１２０２が、マイク、タッチセンサ式ディスプレイ、トランスデューサカードリーダ、テープリーダ、音声又は手書き認識装置、生体認証リーダ、カメラ、携帯型大容量ストレージデバイス、及びその他のコンピュータなどの他のデバイスにデータを送信することを、及び更に一般的にはこれらの他のデバイスからデータを受信することを可能にする、汎用並びに専用のインターフェースを含むことができる。
【０１５３】
図１２に示されるコンピュータシステムは、本書で開示される様々な実施形態との使用に適したコンピュータシステムの一例に過ぎない。このような使用に適したその他のコンピュータシステムは、更に多い又は少ないサブシステムを含むことができる。また、バス１２１４は、サブシステムをリンクする働きをする任意の相互接続方式を例示したものである。異なるサブシステム構成を有するその他のコンピュータアーキテクチャも利用できる。
【０１５４】
上で提供された幾つかの実施形態で開示されたデバイス及び方法は、その他のやり方でも実現できることが理解されるべきである。例えば、上述されたデバイス実施形態は、例示的なものに過ぎない。例えば、ユニットの描写は、局所的な機能にしたがう描写に過ぎない。描写は、実際の実装形態中に異なる形態をとることができる。
【０１５５】
別々のコンポーネントとして説明されたモジュールは、物理的に別々であっても又はそうでなくてもよく、モジュールとして表示されたコンポーネントは、物理的なモジュールであっても又はそうでなくてもよい。これらは、一か所に配置できる、又は複数のネットワークモジュールにわたって分散できる。本実施形態の実施形態方式は、実際のニーズに応じてモジュールの一部又は全部を選択することによって実現できる。
【０１５６】
更に、本発明の様々な実施形態における機能的モジュールは、１つのプロセッサに統合できる、又は各モジュールが、独立して物理的に存在することができる、又は２つ以上のモジュールが、統合によって１つのモジュールにできる。上述された統合されたモジュールは、ハードウェアの形態をとることができる、又はソフトウェア機能モジュールと組み合わされたハードウェアの形態をとることができる。
【０１５７】
ソフトウェア機能モジュールが統合されてなる上述されたモジュールは、コンピュータ読み取り可能ストレージ媒体に格納できる。上述されたソフトウェア機能モジュールは、ストレージ媒体に格納され、本発明の様々な実施形態で説明された方法のステップの一部をコンピュータ機器（パソコン、サーバ、若しくはネットワークコンピュータであることができる）又はプロセッサに実行させることを目的とする幾つかのコマンドを含む。上述されたストレージ媒体は、ＵＳＢフラッシュドライブ、モバイルハードドライブ、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク、光ディスク、又はプログラムコードを格納することができるその他の様々な媒体を範囲に含む。
【０１５８】
本出願で提供される幾つかの実施形態では、開示された端末がその他の方法によって実現できることが理解されるべきである。ここでは、上述されたデバイス実施形態は、代表的なものに過ぎず、例えば、上記ユニット又はモジュールの区分は、その１つの論理的機能区分に過ぎず、上記ユニット又はモジュールは、実際の実装形態では別の形で区分けされてよい。例えば、複数のユニット又はモジュールが組み合わせできる、又は別のシステムに統合できる、又は一部の特性が省略されてよい若しくは実行されなくてよい。また、表示又は議論された、介在する結合部、又は直接的な結合部若しくは通信接続は、一部のインターフェース、ユニット、又はモジュールを通る非直接的な結合部又は通信リンクであってよい。これらは、電気的なものであってよい又は別の形態をとってよい。
【０１５９】
別々のコンポーネントとして説明されたユニット又はモジュールは、物理的に別々であっても又はそうでなくてもよく、ユニット又はモジュールとして示されたコンポーネントは、物理的なユニット若しくは物理的なモジュールであっても又はそうでなくてもよい。これらは、一か所に配置されてよい、又は複数のネットワークユニットにわたって分散されてよい。本実施形態の実施形態方式の目的は、実際のニーズに応じてユニット又はモジュールの一部又は全部を選択することによって実現できる。
【０１６０】
更に、本発明の様々な実施形態における機能的なユニット又はモジュールは、１つの処理ユニット若しくは処理モジュールに統合できる、又は各ユニット若しくはモジュールが、独立して物理的に存在することができる、又は２つ以上のユニット若しくはモジュールが、統合によって１つのユニット若しくはモジュールにできる。上述された統合されたユニット又はモジュールは、ハードウェアの形態をとってもよい、又はソフトウェア機能ユニット若しくはソフトウェア機能モジュールの形態をとってよい。
【０１６１】
上記の統合されたユニット又はモジュールが、ソフトウェア機能ユニット又はソフトウェア機能モジュールの形態で実現され、独立した製品として販売又は使用される場合、それらは、コンピュータ読み取り可能ストレージ媒体に格納できる。このような理解に基づいて、本発明の技術的方式の本質、又は先行技術に寄与する部分、又はこの技術的方式の全部若しくは一部は、ソフトウェア製品の形態で顕現でき、このコンピュータソフトウェア製品は、ストレージ媒体に格納され、本発明の実施形態のうちの各実施形態における上記方法のステップの全部又は一部を一式の端末機器（パソコン、サーバ、又はネットワークコンピュータであることができる）に実行させる幾つかのコマンドを含む。上述されたストレージ媒体は、Ｕディスク、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、携帯型ハードドライブ、磁気ディスク、光ディスク、又はプログラムコードを格納することができるその他の様々な媒体を範囲に含む。
【０１６２】
上記の説明は、本発明の好ましい実装形態に過ぎない。当業者ならば、本発明の原理から逸脱することなく改良及び装飾が成せることが、留意されるべきであり、このような改良及び装飾も、本発明の保護範囲内にあるものとされる。
【０１６３】
以上の実施形態は、理解を明瞭にする目的で幾らか詳細に説明されてきたが、本発明は、提供された詳細に限定されない。本発明を実現するためには、多くの代替的手法がある。開示された実施形態は、例示的なものであり、制限的なものではない。
【図１】
2018528504.tif 000003
【図２】
2018528504.tif 000004
【図３Ａ】
2018528504.tif 000005
【図３Ｂ】
2018528504.tif 000006
【図４】
2018528504.tif 000007
【図５】
2018528504.tif 000008
【図６】
2018528504.tif 000009
【図７】
2018528504.tif 000010
【図８】
2018528504.tif 000011
【図９】
2018528504.tif 000012
【図１０】
2018528504.tif 000013
【図１１】
2018528504.tif 000014
【図１２】
2018528504.tif 000015
【手続補正書】
【提出日】平成30年2月20日(2018.2.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
方法であって、
端末によって、前記端末を一意に識別する機器コードを取得し、
前記端末によって、前記機器コードと、カウンタの出力値とに少なくとも部分的に基づいて、サーバによる前記端末の認証のための基準である動的パスワードを生成し、
前記端末によって、前記動的パスワードを前記動的パスワードを認証する前記サーバに送信する、
ことを備える方法。
【請求項２】
請求項１に記載の方法であって、
前記機器コードを取得することは、前記端末によって、前記端末の１つ以上の特性パラメータに少なくとも部分的に基づいて、前記機器コードを生成することを含む、方法。
【請求項３】
請求項２に記載の方法であって、
前記１つ以上の特性パラメータは、前記端末のブランド、前記端末のモデル番号、前記端末のシリアル番号、前記端末の国際移動体装置識別番号（ＩＭＥＩ）、前記端末の国際移動体加入者識別番号（ＩＭＳＩ）、前記端末のメディアアクセス制御（ＭＡＣ）アドレス、及び／又は前記端末にロードされたオペレーティングシステムのオペレーティングシステム識別子（ＩＤ）のうちの１つ以上を含む、方法。
【請求項４】
請求項１に記載の方法であって、
前記機器コードと、前記カウンタの前記出力値とに少なくとも部分的に基づいて、前記動的パスワードを生成することは、
前記機器コードと、前記サーバによって前記端末に割り当てられたセッション識別子（ＩＤ）と、前記サーバによって前記端末に割り当てられたユーザＩＤ（ＵＩＤ）とに少なくとも部分的に基づいて、鍵生成プロセスにしたがって、対称鍵を生成し、
前記対称鍵と、前記出力値とに少なくとも部分的に基づいて、パスワード生成プロセスにしたがって、前記動的パスワードを生成する、
ことを含む、方法。
【請求項５】
請求項１に記載の方法であって、
前記機器コードと、前記カウンタの前記出力値とに少なくとも部分的に基づいて、前記動的パスワードを生成することは、
前記機器コードと、前記サーバによって前記端末に割り当てられたセッション識別子（ＩＤ）と、前記サーバによって前記端末に割り当てられたユーザＩＤ（ＵＩＤ）とに少なくとも部分的に基づいて、鍵生成プロセスにしたがって、対称鍵を生成し、前記鍵生成プロセスは、前記機器コードと、前記セッションＩＤと、前記ＵＩＤとを組み合わせることを含み、
前記対称鍵と、前記出力値とに少なくとも部分的に基づいて、パスワード生成プロセスにしたがって、前記動的パスワードを生成する、
ことを含む、方法。
【請求項６】
請求項１に記載の方法であって、
前記機器コードと、前記カウンタの前記出力値とに少なくとも部分的に基づいて、前記動的パスワードを生成することは、
前記機器コードと、前記サーバによって前記端末に割り当てられたセッション識別子（ＩＤ）と、前記サーバによって前記端末に割り当てられたユーザＩＤ（ＵＩＤ）とに少なくとも部分的に基づいて、鍵生成プロセスにしたがって、対称鍵を生成し、
前記対称鍵と、前記出力値とに少なくとも部分的に基づいて、パスワード生成プロセスにしたがって、前記動的パスワードを生成し、前記パスワード生成プロセスは、前記動的パスワードをＨＭＡＣ＿ＳＨＡ１（Ｋ，Ｃ）に設定することを含み、ＨＭＡＣ＿ＳＨＡ１（）は、前記対称鍵に関連付けられたハッシュ関数であり、Ｋは、前記対称鍵を表し、Ｃは、前記出力値を表す、
ことを含む、方法。
【請求項７】
請求項１に記載の方法であって、更に、
前記端末によって、前記サーバに登録リクエストを伝送し、前記登録リクエストは、前記サーバによって送信された検証コードと、前記機器コードと、前記端末に関係付けられた通信コードとを含み、前記登録リクエストは、認証リクエストの前に受信され、前記端末は、前記登録リクエストに少なくとも部分的に基づいて、前記動的パスワードを前記サーバに送信し、
前記登録リクエストが検証に通った後、
前記端末によって、前記サーバによって前記端末に割り当てられたセッション識別子（ＩＤ）と、前記サーバによって前記端末に割り当てられたユーザＩＤ（ＵＩＤ）とを受信し、前記動的パスワードは、前記セッションＩＤと、前記ＵＩＤとに少なくとも部分的に基づいて生成され、
前記端末の認証との関連で、前記サーバとの通信リンクを維持する、
ことを備える方法。
【請求項８】
請求項１に記載の方法であって、更に、
前記端末によって、前記サーバから認証リクエストを受信し、前記端末は、前記動的パスワードを生成する前に前記認証リクエストを受信し、前記端末は、前記認証リクエストが検証に通ったと決定された場合に前記動的パスワードを生成する、ことを備える方法。
【請求項９】
請求項１に記載の方法であって、
前記カウンタの前記出力値は、前記端末の時刻に相当する、方法。
【請求項１０】
方法であって、
サーバによって、第１の動的パスワードを端末から受信し、前記第１の動的パスワードは、前記端末のカウンタの出力値と、前記端末を一意に識別する機器コードとに少なくとも部分的に基づいて、前記端末によって生成されるパスワードに相当し、
前記サーバによって、読み出された機器コードに少なくとも部分的に基づいて第２の動的パスワードを生成し、
前記第１の動的パスワードが前記第２の動的パスワードに一致するか否かを決定し、
前記サーバによって、前記第１の動的パスワードが前記第２の動的パスワードに一致するか否かに少なくとも部分的に基づいて前記端末の認証を実施する、
ことを備える方法。
【請求項１１】
請求項１０に記載の方法であって、更に、
前記サーバによって、前記端末に検証リクエストを伝送し、前記サーバは、前記サーバが前記第２の動的パスワードを生成する前に、前記端末に前記検証リクエストを伝送し、
前記サーバによって、前記検証リクエストに少なくとも部分的に基づいて前記端末によって伝送された検証コードと前記機器コードとを受信する、
ことを備える方法。
【請求項１２】
請求項１０に記載の方法であって、
前記機器コードは、前記端末の１つ以上の特性パラメータに少なくとも部分的に基づいて、既定のアルゴリズムにしたがって決定される、方法。
【請求項１３】
請求項１２に記載の方法であって、
前記１つ以上の特性パラメータは、前記端末のブランド、前記端末のモデル番号、前記端末のシリアル番号、前記端末の国際移動体装置識別番号（ＩＭＥＩ）、前記端末の国際移動体加入者識別番号（ＩＭＳＩ）、前記端末のメディアアクセス制御（ＭＡＣ）アドレス、及び前記端末にロードされたオペレーティングシステムのオペレーティングシステム識別子（ＩＤ）のうちの１つ以上を含む、方法。
【請求項１４】
請求項１０に記載の方法であって、
前記第１の動的パスワード及び前記第２の動的パスワードの少なくとも１つを生成することは、
前記機器コードと、前記サーバによって前記端末に割り当てられたセッション識別子（ＩＤ）と、前記サーバによって前記端末に割り当てられたユーザＩＤ（ＵＩＤ）とに少なくとも部分的に基づいて、鍵生成プロセスにしたがって、対称鍵を生成し、
前記対称鍵と、前記出力値とに少なくとも部分的に基づいて、パスワード生成プロセスにしたがって、前記第１の動的パスワード及び前記第２の動的パスワードのうちの少なくとも１つを生成する、
ことを含む、方法。
【請求項１５】
デバイスであって、
１つ以上のプロセッサであって、
前記デバイスを一意に識別する機器コードを取得し、
前記機器コードと、カウンタの出力値とに少なくとも部分的に基づいて、サーバによる前記デバイスの認証のための基準である動的パスワードを生成し、
前記動的パスワードを前記動的パスワードを認証する前記サーバに送信する、
ように構成されている１つ以上のプロセッサと、
前記１つ以上のプロセッサに接続され、前記１つ以上のプロセッサに命令を提供するように構成されているメモリと、
を備える、デバイス。
【請求項１６】
請求項１５に記載のデバイスであって、
前記１つ以上のプロセッサは、更に、前記デバイスの１つ以上の特性パラメータに少なくとも部分的に基づいて、前記機器コードを生成するように構成されている、デバイス。
【請求項１７】
デバイスであって、
１つ以上のプロセッサであって、
第１の動的パスワードを端末から受信し、前記第１の動的パスワードは、前記端末のカウンタの出力値と、前記端末を一意に識別する機器コードとに少なくとも部分的に基づいて、前記端末によって生成されるパスワードに相当し、
読み出された機器コードに少なくとも部分的に基づいて、第２の動的パスワードを生成し、
前記第１の動的パスワードが前記第２の動的パスワードに一致するか否かを決定し、
前記第１の動的パスワードが前記第２の動的パスワードに一致するか否かに少なくとも部分的に基づいて、前記端末の認証を実施する、
ように構成されている１つ以上のプロセッサと、
前記１つ以上のプロセッサに接続され、前記１つ以上のプロセッサに命令を提供するように構成されているメモリと、を備える、デバイス。
【請求項１８】
請求項１７に記載のデバイスであって、
前記機器コードは、前記端末の１つ以上の特性パラメータに少なくとも部分的に基づいて生成される、デバイス。
【請求項１９】
コンピュータプログラムであって、
端末を一意に識別する機器コードを取得するための機能と、
前記機器コードと、カウンタの出力値とに少なくとも部分的に基づいて、サーバによる前記端末の認証のための基準である動的パスワードを生成するための機能と、
前記動的パスワードを前記動的パスワードを認証する前記サーバに送信するための機能と、
をコンピュータによって実現させるコンピュータプログラム。
【請求項２０】
コンピュータプログラムであって、
サーバによって、第１の動的パスワードを端末から受信するための機能と、前記第１の動的パスワードは、前記端末のカウンタの出力値と、前記端末を一意に識別する機器コードとに少なくとも部分的に基づいて、前記端末によって生成されるパスワードに相当し、
前記サーバによって、読み出された機器コードに少なくとも部分的に基づいて、第２の動的パスワードを生成するための機能と、
前記第１の動的パスワードが前記第２の動的パスワードに一致するか否かを決定するための機能と、
前記サーバによって、前記第１の動的パスワードが前記第２の動的パスワードに一致するか否かに少なくとも部分的に基づいて、前記端末の認証を実施するための機能と、
をコンピュータによって実現させるコンピュータプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１６３
【補正方法】変更
【補正の内容】
【０１６３】
以上の実施形態は、理解を明瞭にする目的で幾らか詳細に説明されてきたが、本発明は、提供された詳細に限定されない。本発明を実現するためには、多くの代替的手法がある。開示された実施形態は、例示的なものであり、制限的なものではない。
適用例１：方法であって、
端末によって、前記端末を一意に識別する機器コードを取得し、
前記端末によって、前記機器コードと、カウンタの出力値とに少なくとも部分的に基づいて、サーバによる前記端末の認証のための基準である動的パスワードを生成し、
前記端末によって、前記動的パスワードを前記動的パスワードを認証する前記サーバに送信する、
ことを備える方法。
適用例２：適用例１に記載の方法であって、
前記機器コードを取得することは、前記端末によって、前記端末の１つ以上の特性パラメータに少なくとも部分的に基づいて、前記機器コードを生成することを含む、方法。
適用例３：適用例２に記載の方法であって、
前記１つ以上の特性パラメータは、前記端末のブランド、前記端末のモデル番号、前記端末のシリアル番号、前記端末の国際移動体装置識別番号（ＩＭＥＩ）、前記端末の国際移動体加入者識別番号（ＩＭＳＩ）、前記端末のメディアアクセス制御（ＭＡＣ）アドレス、及び／又は前記端末にロードされたオペレーティングシステムのオペレーティングシステム識別子（ＩＤ）のうちの１つ以上を含む、方法。
適用例４：適用例１に記載の方法であって、
前記機器コードと、前記カウンタの前記出力値とに少なくとも部分的に基づいて、前記動的パスワードを生成することは、
前記機器コードと、前記サーバによって前記端末に割り当てられたセッション識別子（ＩＤ）と、前記サーバによって前記端末に割り当てられたユーザＩＤ（ＵＩＤ）とに少なくとも部分的に基づいて、鍵生成プロセスにしたがって、対称鍵を生成し、
前記対称鍵と、前記出力値とに少なくとも部分的に基づいて、パスワード生成プロセスにしたがって、前記動的パスワードを生成する、
ことを含む、方法。
適用例５：適用例１に記載の方法であって、
前記機器コードと、前記カウンタの前記出力値とに少なくとも部分的に基づいて、前記動的パスワードを生成することは、
前記機器コードと、前記サーバによって前記端末に割り当てられたセッション識別子（ＩＤ）と、前記サーバによって前記端末に割り当てられたユーザＩＤ（ＵＩＤ）とに少なくとも部分的に基づいて、鍵生成プロセスにしたがって、対称鍵を生成し、前記鍵生成プロセスは、前記機器コードと、前記セッションＩＤと、前記ＵＩＤとを組み合わせることを含み、
前記対称鍵と、前記出力値とに少なくとも部分的に基づいて、パスワード生成プロセスにしたがって、前記動的パスワードを生成する、
ことを含む、方法。
適用例６：適用例１に記載の方法であって、
前記機器コードと、前記カウンタの前記出力値とに少なくとも部分的に基づいて、前記動的パスワードを生成することは、
前記機器コードと、前記サーバによって前記端末に割り当てられたセッション識別子（ＩＤ）と、前記サーバによって前記端末に割り当てられたユーザＩＤ（ＵＩＤ）とに少なくとも部分的に基づいて、鍵生成プロセスにしたがって、対称鍵を生成し、
前記対称鍵と、前記出力値とに少なくとも部分的に基づいて、パスワード生成プロセスにしたがって、前記動的パスワードを生成し、前記パスワード生成プロセスは、前記動的パスワードをＨＭＡＣ＿ＳＨＡ１（Ｋ，Ｃ）に設定することを含み、ＨＭＡＣ＿ＳＨＡ１（）は、前記対称鍵に関連付けられたハッシュ関数であり、Ｋは、前記対称鍵を表し、Ｃは、前記出力値を表す、
ことを含む、方法。
適用例７：適用例１に記載の方法であって、更に、
前記端末によって、前記サーバに登録リクエストを伝送し、前記登録リクエストは、前記サーバによって送信された検証コードと、前記機器コードと、前記端末に関係付けられた通信コードとを含み、前記登録リクエストは、認証リクエストの前に受信され、前記端末は、前記登録リクエストに少なくとも部分的に基づいて、前記動的パスワードを前記サーバに送信し、
前記登録リクエストが検証に通った後、
前記端末によって、前記サーバによって前記端末に割り当てられたセッション識別子（ＩＤ）と、前記サーバによって前記端末に割り当てられたユーザＩＤ（ＵＩＤ）とを受信し、前記動的パスワードは、前記セッションＩＤと、前記ＵＩＤとに少なくとも部分的に基づいて生成され、
前記端末の認証との関連で、前記サーバとの通信リンクを維持する、
ことを備える方法。
適用例８：適用例１に記載の方法であって、更に、
前記端末によって、前記サーバから認証リクエストを受信し、前記端末は、前記動的パスワードを生成する前に前記認証リクエストを受信し、前記端末は、前記認証リクエストが検証に通ったと決定された場合に前記動的パスワードを生成する、ことを備える方法。
適用例９：適用例１に記載の方法であって、
前記カウンタの前記出力値は、前記端末の時刻に相当する、方法。
適用例１０：方法であって、
サーバによって、第１の動的パスワードを端末から受信し、前記第１の動的パスワードは、前記端末のカウンタの出力値と、前記端末を一意に識別する機器コードとに少なくとも部分的に基づいて、前記端末によって生成されるパスワードに相当し、
前記サーバによって、読み出された機器コードに少なくとも部分的に基づいて第２の動的パスワードを生成し、
前記第１の動的パスワードが前記第２の動的パスワードに一致するか否かを決定し、
前記サーバによって、前記第１の動的パスワードが前記第２の動的パスワードに一致するか否かに少なくとも部分的に基づいて前記端末の認証を実施する、
ことを備える方法。
適用例１１：適用例１０に記載の方法であって、更に、
前記サーバによって、前記端末に検証リクエストを伝送し、前記サーバは、前記サーバが前記第２の動的パスワードを生成する前に、前記端末に前記検証リクエストを伝送し、
前記サーバによって、前記検証リクエストに少なくとも部分的に基づいて前記端末によって伝送された検証コードと前記機器コードとを受信する、
ことを備える方法。
適用例１２：適用例１０に記載の方法であって、
前記機器コードは、前記端末の１つ以上の特性パラメータに少なくとも部分的に基づいて、既定のアルゴリズムにしたがって決定される、方法。
適用例１３：適用例１２に記載の方法であって、
前記１つ以上の特性パラメータは、前記端末のブランド、前記端末のモデル番号、前記端末のシリアル番号、前記端末の国際移動体装置識別番号（ＩＭＥＩ）、前記端末の国際移動体加入者識別番号（ＩＭＳＩ）、前記端末のメディアアクセス制御（ＭＡＣ）アドレス、及び前記端末にロードされたオペレーティングシステムのオペレーティングシステム識別子（ＩＤ）のうちの１つ以上を含む、方法。
適用例１４：適用例１０に記載の方法であって、
前記第１の動的パスワード及び前記第２の動的パスワードの少なくとも１つを生成することは、
前記機器コードと、前記サーバによって前記端末に割り当てられたセッション識別子（ＩＤ）と、前記サーバによって前記端末に割り当てられたユーザＩＤ（ＵＩＤ）とに少なくとも部分的に基づいて、鍵生成プロセスにしたがって、対称鍵を生成し、
前記対称鍵と、前記出力値とに少なくとも部分的に基づいて、パスワード生成プロセスにしたがって、前記第１の動的パスワード及び前記第２の動的パスワードのうちの少なくとも１つを生成する、
ことを含む、方法。
適用例１５：デバイスであって、
１つ以上のプロセッサであって、
前記デバイスを一意に識別する機器コードを取得し、
前記機器コードと、カウンタの出力値とに少なくとも部分的に基づいて、サーバによる前記デバイスの認証のための基準である動的パスワードを生成し、
前記動的パスワードを前記動的パスワードを認証する前記サーバに送信する、
ように構成されている１つ以上のプロセッサと、
前記１つ以上のプロセッサに接続され、前記１つ以上のプロセッサに命令を提供するように構成されているメモリと、
を備える、デバイス。
適用例１６：適用例１５に記載のデバイスであって、
前記１つ以上のプロセッサは、更に、前記デバイスの１つ以上の特性パラメータに少なくとも部分的に基づいて、前記機器コードを生成するように構成されている、デバイス。
適用例１７：  デバイスであって、
１つ以上のプロセッサであって、
第１の動的パスワードを端末から受信し、前記第１の動的パスワードは、前記端末のカウンタの出力値と、前記端末を一意に識別する機器コードとに少なくとも部分的に基づいて、前記端末によって生成されるパスワードに相当し、
読み出された機器コードに少なくとも部分的に基づいて、第２の動的パスワードを生成し、
前記第１の動的パスワードが前記第２の動的パスワードに一致するか否かを決定し、
前記第１の動的パスワードが前記第２の動的パスワードに一致するか否かに少なくとも部分的に基づいて、前記端末の認証を実施する、
ように構成されている１つ以上のプロセッサと、
前記１つ以上のプロセッサに接続され、前記１つ以上のプロセッサに命令を提供するように構成されているメモリと、を備える、デバイス。
適用例１８：適用例１７に記載のデバイスであって、
前記機器コードは、前記端末の１つ以上の特性パラメータに少なくとも部分的に基づいて生成される、デバイス。
適用例１９：非一時的なコンピュータ読み取り可能ストレージ媒体に実装されたコンピュータプログラム製品であって、
端末を一意に識別する機器コードを取得するためのコンピュータ命令と、
前記機器コードと、カウンタの出力値とに少なくとも部分的に基づいて、サーバによる前記端末の認証のための基準である動的パスワードを生成するためのコンピュータ命令と、
前記動的パスワードを前記動的パスワードを認証する前記サーバに送信するためのコンピュータ命令と、
を備えるコンピュータプログラム製品。
適用例２０：非一時的なコンピュータ読み取り可能ストレージ媒体に実装されたコンピュータプログラム製品であって、
サーバによって、第１の動的パスワードを端末から受信するためのコンピュータ命令であって、前記第１の動的パスワードは、前記端末のカウンタの出力値と、前記端末を一意に識別する機器コードとに少なくとも部分的に基づいて、前記端末によって生成されるパスワードに相当し、
前記サーバによって、読み出された機器コードに少なくとも部分的に基づいて、第２の動的パスワードを生成するためのコンピュータ命令と、
前記第１の動的パスワードが前記第２の動的パスワードに一致するか否かを決定するためのコンピュータ命令と、
前記サーバによって、前記第１の動的パスワードが前記第２の動的パスワードに一致するか否かに少なくとも部分的に基づいて、前記端末の認証を実施するためのコンピュータ命令と、
を備えるコンピュータプログラム製品。
【国際調査報告】
2018528504.tif 000016