説明

認証システム、端末装置、認証サーバ、およびプログラム

【課題】認証情報を保管するためのハードウェアを端末装置に追加することなく、なり済ましによる攻撃の発生を低減する。
【解決手段】クライアント1は、認証情報とデバイスIDとを含む第1の認証要求を送信し、認証トークンを受信する。また、クライアント1は、デバイスIDを共通鍵Aで暗号化したデバイス識別情報を生成し、認証トークンとデバイス識別情報とを含む第2の認証要求を送信する。サーバ2は、受信した第1の認証要求に含まれる認証情報とデバイスIDとを共通鍵Bで暗号化することにより認証トークンを生成する。また、サーバ2は、受信した第2の認証要求に含まれる認証トークンを共通鍵Bで復号して認証情報およびデバイスIDを取得し、第2の認証要求に含まれるデバイス識別情報を共通鍵Aで復号してデバイスIDを取得し、これらのデバイスIDを比較する処理を含む認証処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証を受ける端末装置、端末装置に対する認証を行う認証サーバ、およびこれらの端末装置および認証サーバを有する認証システムに関する。また、本発明は、本端末装置および本認証サーバとしてコンピュータを機能させるためのプログラムにも関する。
【背景技術】
【0002】
一般的なサーバ・クライアント型の通信システムにおいて、クライアントである端末装置の認証を行う方法として、ユーザによって端末装置に入力された認証情報(IDとパスワード)を端末装置が認証サーバへ送信し、認証サーバがその認証情報に基づいて認証を行うという方法が考えられる。しかし、認証のたびにユーザが認証情報を入力することは大変な手間である。そこで、一旦端末装置に認証情報が入力されて認証サーバによって認証が行われると、認証サーバが端末装置に認証トークンを発行し、次回以降の認証では端末装置が認証サーバへ認証トークンを送信することで認証情報の入力を省略するという方法が考えられる。
【0003】
なお、特許文献1には、停電等の障害が発生した際に、再認証を行うことなく、認証トークンを利用して認証状態を継続させる技術が記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−59065号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、スマートフォンやPC(Personal Computer)等の端末装置上では、認証情報が不揮発性メモリに保持されている場合、ウイルス等によって認証情報が盗み取られる可能性がある。認証情報が盗み取られると、悪意のユーザが認証情報を利用して正規のユーザとして振る舞う、いわゆるなり済ましによる攻撃のリスクが発生する。また、認証情報が揮発性メモリに保持されている場合、認証情報が不揮発性メモリに保持される場合よりも認証情報が記憶されている時間が相対的に短いため、認証情報が盗み取られるリスクは減少するが、ソフトウェアあるいはOS(Operating System)が再起動された際に認証トークンが揮発性メモリから失われ、ユーザが再度認証情報を入力する必要がある。
【0006】
上記の問題を解決するため、端末装置に安全なセキュアモジュールを用意し、そのセキュアモジュールに認証情報を安全に保管する方法がある。しかし、セキュアモジュールを使用する場合、汎用的なハードウェアで構成されるスマートフォンやPC等の端末装置にセキュアモジュールを設けることが、コスト等の観点から困難な場合がある。
【0007】
本発明は、上述した課題に鑑みてなされたものであって、認証情報を保管するためのハードウェアを端末装置に追加することなく、なり済ましによる攻撃の発生を低減することができる認証システム、端末装置、認証サーバ、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、上記の課題を解決するためになされたもので、端末装置と、認証サーバとを備えた認証システムにおいて、前記端末装置は、前記端末装置を識別する装置識別情報を第1の共通鍵で暗号化した暗号化情報を生成する第1の暗号化部と、認証処理に使用する認証情報と、前記装置識別情報とを含む第1の認証要求を前記認証サーバへ送信し、前記第1の認証要求の応答として、前記認証情報と前記装置識別情報とを第2の共通鍵で暗号化した認証トークンを前記認証サーバから受信し、前記認証トークンと前記暗号化情報とを含む第2の認証要求を前記認証サーバへ送信する第1の通信部と、を有し、前記認証サーバは、予め登録された前記認証情報を記憶する記憶部と、前記第1の認証要求に含まれる前記認証情報と前記装置識別情報とを前記第2の共通鍵で暗号化することにより前記認証トークンを生成する第2の暗号化部と、前記第1の認証要求を前記端末装置から受信し、前記第1の認証要求に基づく前記認証トークンを前記端末装置へ送信し、前記第2の認証要求を前記端末装置から受信する第2の通信部と、前記第2の認証要求に含まれる前記認証トークンを前記第2の共通鍵で復号して前記認証情報および前記装置識別情報を取得し、前記第2の認証要求に含まれる前記暗号化情報を前記第1の共通鍵で復号して前記装置識別情報を取得する復号部と、前記認証トークンを復号することにより取得された前記装置識別情報と、前記暗号化情報を復号することにより取得された前記装置識別情報とを比較し、前記認証トークンを復号することにより取得された前記認証情報と、前記記憶部に記憶されている前記認証情報とを比較することにより認証処理を行う認証部と、を有することを特徴とする認証システムである。
【0009】
また、本発明の認証システムにおいて、前記第1の暗号化部は、前記装置識別情報に時刻情報を付加して前記第1の共通鍵で暗号化した前記暗号化情報を生成し、前記第1の通信部は、前記認証トークンと前記暗号化情報と前記時刻情報とを含む前記第2の認証要求を前記認証サーバへ送信し、前記復号部は、前記暗号化情報を前記第1の共通鍵で復号して前記装置識別情報および前記時刻情報を取得し、前記認証部はさらに、前記暗号化情報を復号することにより取得された前記時刻情報と、前記第2の認証要求に含まれる前記時刻情報とを比較することにより前記認証処理を行うことを特徴とする。
【0010】
また、本発明の認証システムにおいて、前記端末装置はさらに、少なくとも前記認証サーバから前記認証トークンが受信されてから前記第2の認証要求が前記認証サーバへ送信されるまで前記認証トークンを保持する不揮発性メモリを有することを特徴とする。
【0011】
また、本発明は、端末装置を識別する装置識別情報を第1の共通鍵で暗号化した暗号化情報を生成する暗号化部と、認証処理に使用する認証情報と、前記装置識別情報とを含む第1の認証要求を認証サーバへ送信し、前記第1の認証要求の応答として、前記認証情報と前記装置識別情報とを第2の共通鍵で暗号化した認証トークンを前記認証サーバから受信し、前記認証トークンと前記暗号化情報とを含む第2の認証要求を前記認証サーバへ送信する通信部と、を備えたことを特徴とする端末装置である。
【0012】
また、本発明は、予め登録された認証情報を記憶する記憶部と、端末装置から受信される、前記認証情報と、前記端末装置を識別する装置識別情報とを含む第1の認証要求に含まれる前記認証情報と前記装置識別情報とを第2の共通鍵で暗号化することにより認証トークンを生成する暗号化部と、前記第1の認証要求を前記端末装置から受信し、前記第1の認証要求に基づく前記認証トークンを前記端末装置へ送信し、前記認証トークンと、前記装置識別情報を第1の共通鍵で暗号化した暗号化情報とを含む第2の認証要求を前記端末装置から受信する第2の通信部と、前記第2の認証要求に含まれる前記認証トークンを前記第2の共通鍵で復号して前記認証情報および前記装置識別情報を取得し、前記第2の認証要求に含まれる前記暗号化情報を前記第1の共通鍵で復号して前記装置識別情報を取得する復号部と、前記認証トークンを復号することにより取得された前記装置識別情報と、前記暗号化情報を復号することにより取得された前記装置識別情報とを比較し、前記認証トークンを復号することにより取得された前記認証情報と、前記記憶部に記憶されている前記認証情報とを比較することにより認証処理を行う認証部と、を備えたことを特徴とする認証サーバである。
【0013】
また、本発明は、上記の端末装置としてコンピュータを機能させるためのプログラムである。
【0014】
また、本発明のプログラムは、暗号化部としてコンピュータを機能させるためのネイティブコードを含むことを特徴とする。
【0015】
また、本発明は、上記の認証サーバとしてコンピュータを機能させるためのプログラムである。
【発明の効果】
【0016】
本発明によれば、認証トークンを復号することにより取得された装置識別情報と、暗号化情報を復号することにより取得された装置識別情報とを比較する処理が認証処理に加わる。仮に、端末装置で保持されている認証トークンが抜き取られた場合でも、装置識別情報を生成できない限り、なり済ましが不可能であるため、認証情報を保管するためのハードウェアを端末装置に追加することなく、なり済ましによる攻撃の発生を低減することができる。
【図面の簡単な説明】
【0017】
【図1】本発明の一実施形態による認証システムの構成を示すブロック図である。
【図2】本発明の一実施形態によるクライアントの構成を示すブロック図である。
【図3】本発明の一実施形態によるサーバの構成を示すブロック図である。
【図4】本発明の一実施形態による認証システムの動作の手順を示すシーケンス図である。
【図5】本発明の一実施形態による認証システムの動作の手順を示すシーケンス図である。
【図6】本発明の一実施形態によるサーバの動作の手順を示すフローチャートである。
【発明を実施するための形態】
【0018】
以下、図面を参照し、本発明の実施形態を説明する。図1は、本発明の一実施形態による認証システムの構成を示している。認証を受ける端末装置であるクライアント1と、認証を行う認証サーバであるサーバ2とで認証システムが構成されている。クライアント1は複数台存在していてもよい。
【0019】
図2はクライアント1の構成を示している。クライアント1は、CPU(Central Processing Unit)10、通信部11、表示部12、操作部13、メモリ14、および記憶部15を有する。CPU10は、記憶部15に格納されている各種のプログラムを読み出してメモリ14に読み込み、プログラムの各種命令に従って各種の演算を行い、クライアント1内の各部を制御する。通信部11は、外部の他の通信装置(本実施形態ではサーバ2)と通信を行う。表示部12は各種の情報を表示する。操作部13は、ユーザが操作する各種操作部材を有する。メモリ14は、記憶部15から読み込まれたプログラムや、CPU10が演算を行った結果等を一時的に記憶する揮発性メモリで構成されている。記憶部15は、CPU10の動作を規定する各種のプログラムや、クライアント1内で処理される各種データを記憶する不揮発性メモリで構成されている。本実施形態のクライアント1は、一例として、Android(登録商標)をOSに採用しているものとする。
【0020】
認証処理部16および暗号化部17は、CPU10に各種処理を実行させるためのプログラムである。図2では、認証処理部16および暗号化部17のプログラムが記憶部15からメモリ14に読み込まれて、メモリ14上で認証処理部16および暗号化部17が起動している状態が示されている。メモリ14上で起動したこれらのプログラムは、CPU10およびメモリ14の資源を利用して各種処理を行う。認証処理部16は、サーバ2から認証を受ける際に必要な処理を行う。暗号化部17は、クライアント1の個体を識別するデバイスID(装置識別情報)を共通鍵(以下、共通鍵Aとする)で暗号化し、デバイス暗号情報(暗号化情報)を生成する処理を行う。
【0021】
デバイスIDは装置毎に固有な識別情報であるIMSI(International Mobile Subscriber Identity)、IMEI(International Mobile Equipment Identity)、OS ID、MAC(Media Access Control address)アドレスのいずれか、またはそれらの組合せである。IMEIは、装置の製造元や、機種、シリアル番号等の情報を含む情報であり、例えば携帯端末が標準で備えている汎用のフラッシュメモリに記録されている。IMSIは、契約者毎にユニークな識別子であり、例えば携帯端末の使用に必要な汎用のUIM(User Identity Module Card)カードに記録されている。OS IDは、装置においてOSが最初に起動するときにランダムに生成される64ビットの情報であり、例えば携帯端末が標準で備えている汎用のフラッシュメモリに記録されている。暗号化部17が使用する共通鍵Aは暗号化部17のプログラムに格納されている。MACアドレスは、例えば通信部11が保持している。
【0022】
暗号化部17のプログラムは、逆コンパイルが困難なネイティブコード(機械語)で構成されている。Android(登録商標)等のOSでは、ネイティブコードのインタフェースであるJNI(Java(登録商標) Native Interface)を使用してネイティブコードを呼び出せる仕組みが設けられている。暗号化部17の処理が逆コンパイルにより解読されないようにするため、暗号化部17のプログラムをネイティブコードで構成するだけでなく、暗号化部17のプログラムに難読化を施すことがより望ましい。暗号化部17をクライアント1のハードウェアに依存しないように構成することによって、汎用的なハードウェアを使用した端末装置において高い互換性を実現することができる。
【0023】
図3はサーバ2の構成を示している。サーバ2は、CPU20、通信部21、メモリ22、および記憶部23を有する。CPU20は、記憶部23に格納されている各種のプログラムを読み出してメモリ22に読み込み、プログラムの各種命令に従って各種の演算を行い、サーバ2内の各部を制御する。通信部21は、外部の他の通信装置(本実施形態ではクライアント1)と通信を行う。メモリ22は、記憶部23から読み込まれたプログラムや、CPU20が演算を行った結果等を一時的に記憶する揮発性メモリで構成されている。記憶部23は、CPU20の動作を規定する各種のプログラムや、サーバ2内で処理される各種データを記憶する不揮発性メモリで構成されている。
【0024】
認証処理部24、暗号化部25、および復号部26は、CPU20に各種処理を実行させるためのプログラムである。図3では、認証処理部24、暗号化部25、および復号部26のプログラムが記憶部23からメモリ22に読み込まれて、メモリ22上で認証処理部24、暗号化部25、および復号部26が起動している状態が示されている。メモリ22上で起動したこれらのプログラムは、CPU20およびメモリ22の資源を利用して各種処理を行う。認証処理部24は、クライアント1の認証処理を行う。暗号化部25は、クライアント1から取得した情報を共通鍵(以下、共通鍵Bとする)で暗号化し、認証トークンを生成する処理を行う。復号部26は、クライアント1から取得した認証トークンを共通鍵Bで復号し、クライアント1から取得したデバイス暗号情報を共通鍵Aで復号する処理を行う。
【0025】
暗号化部25が使用する共通鍵Aおよび共通鍵Bは暗号化部25のプログラムに格納されている。暗号化部25が使用する共通鍵Aは、クライアント1の暗号化部17が使用する共通鍵Aと同一である。
【0026】
次に、図4および図5を参照し、認証時のクライアント1とサーバ2の動作を説明する。クライアント1は、サーバ2とデータ通信を行う際、サーバ2に対して認証を要求し、サーバ2は、クライアント1からの要求に応じて認証を行う。図4は、クライアント1が認証トークンを保持していない状態における初回の認証に係る処理を示している。
【0027】
以下の説明において、クライアント1あるいはサーバ2が処理に使用するデータは適宜メモリ14あるいはメモリ22に格納され、不要になった時点で、適宜メモリ14あるいはメモリ22から消去されるが、以下ではメモリ14あるいはメモリ22からのデータの消去については説明を省略する。各情報がメモリ14あるいはメモリ22に格納されている時間は十分短いので、処理のためにメモリ14に格納されたデバイスID等が読み取られるリスクは小さい。
【0028】
以下の説明において、クライアント1とサーバ2の間の通信は、SSL(Secure Socket Layer)等の暗号化通信により行われるものとする。また、サーバ2の記憶部23には、クライアント1のユーザに対して発行されたIDおよびパスワードが格納されているものとする。
【0029】
まず、クライアント1において、ユーザによって操作部13が操作され、IDが入力される。認証処理部16は、入力されたIDを取得し、メモリ14に格納する(ステップS100)。同様に、ユーザによって操作部13が操作され、パスワードが入力される。認証処理部16は、入力されたパスワードを取得し、メモリ14に格納する(ステップS105)。ステップS100,S105の処理によって、認証に必要な認証情報であるIDおよびパスワードが取得される。
【0030】
続いて、認証処理部16は記憶部15等からデバイスIDを取得し、メモリ14に格納する(ステップS110)。認証処理部16は、メモリ14に格納されたID、パスワード、およびデバイスIDを含む認証要求(第1の認証要求)を生成し、通信部11へ出力する(ステップS115)。通信部11は認証要求をサーバ2へ送信する(ステップS120)。
【0031】
サーバ2の通信部21は認証要求を受信する。受信された認証要求はメモリ14に格納される。認証処理部24は、認証要求に含まれるIDとパスワードの組合せと、記憶部23に格納されているIDとパスワードの組合せとが一致するか否か、照合を行う(ステップS125)。両者の組合せが一致しなかった場合、認証に失敗したことを示す情報を含むメッセージがクライアント1に返信され、認証が終了する。また、両者の組合せが一致した場合、暗号化部25は、認証要求に含まれるID、パスワード、およびデバイスIDを共通鍵Bで暗号化して認証トークンを生成し、通信部21へ出力する(ステップS130)。通信部21は、認証要求の送信元であるクライアント1へ認証トークンを送信する(ステップS135)。
【0032】
クライアント1の通信部11は認証トークンを受信する。受信された認証トークンはメモリ14に格納される。認証処理部16は、メモリ14に格納された認証トークンを記憶部15に格納し、保存する(ステップS140)。続いて、認証処理部16は、処理の完了をサーバ2に通知するための処理完了通知を生成し、通信部11へ出力する。通信部11は処理完了通知をサーバ2へ送信する(ステップS145)。処理完了通知の送信後、クライアント1は、初回の認証に係る処理を終了する。認証トークンを受信したことにより、クライアント1はサーバ2とのデータ通信が許可され、データ通信を行う。サーバ2の通信部21は処理完了通知を受信する。処理完了通知の受信後、サーバ2は、初回の認証に係る処理を終了する。
【0033】
図5は、初回の認証に係る処理が終了し、クライアント1が認証トークンを保持している状態における2回目以降の認証に係る処理を示している。まず、クライアント1の認証処理部16は記憶部15から認証トークンを読み出し、メモリ14に格納する(ステップS200)。認証処理部16は記憶部15等からデバイスIDを取得し、メモリ14に格納する(ステップS205)。暗号化部17は、メモリ14に格納されたデバイスIDを共通鍵Aで暗号化してデバイス暗号情報を生成し、メモリ14に格納する(ステップS210)。
【0034】
続いて、認証処理部16は、メモリ14に格納された認証トークンおよびデバイス暗号情報を含む認証要求(第2の認証要求)を生成し、通信部11へ出力する(ステップS215)。通信部11は認証要求をサーバ2へ送信する(ステップS220)。
【0035】
サーバ2の通信部21は認証要求を受信する。受信された認証要求はメモリ14に格納される。復号部26は、メモリ14に格納された認証要求から認証トークンおよびデバイス暗号情報を抽出し、メモリ14に格納する。続いて、復号部26は、メモリ14に格納された認証トークンを共通鍵Bで復号し、復号により得られたID、パスワード、およびデバイスIDをメモリ14に格納する(ステップS225)。また、復号部26は、メモリ14に格納されたデバイス暗号情報を共通鍵Aで復号し、復号により得られたデバイスIDをメモリ14に格納する(ステップS230)。
【0036】
続いて、認証処理部24は、認証トークンの復号により得られたデバイスIDと、デバイス暗号情報の復号により得られたデバイスIDとをメモリ14から読み出し、両者を比較する(ステップS235)。両者が一致しなかった場合、認証に失敗したことを示す情報を含むメッセージがクライアント1に返信され、認証が終了する。また、両者が一致した場合、認証処理部24は、認証トークンの復号により得られたIDとパスワードの組合せと、記憶部23に格納されているIDとパスワードの組合せとが一致するか否か、照合を行う(ステップS240)。
【0037】
両者の組合せが一致しなかった場合、認証に失敗したことを示す情報を含むメッセージがクライアント1に返信され、認証が終了する。また、両者の組合せが一致した場合、認証処理部24は、クライアント1にデータ通信の許可を通知するための許可通知を生成し、通信部21へ出力する。通信部21は許可通知をクライアント1へ送信する。許可通知の送信後、サーバ2は、2回目以降の認証に係る処理を終了する。クライアント1の通信部11は許可通知を受信する。許可通知を受信したことにより、クライアント1はサーバ2とのデータ通信が許可され、データ通信を行う。
【0038】
次に、本実施形態の変形例を説明する。より安全性を高めるため、以下のようにしてもよい。クライアント1の暗号化部17は、ステップS210でデバイス暗号情報を生成する際に、デバイスIDに時刻情報を付加して暗号化を行う。また、認証処理部16は、ステップS215で認証要求を生成する際に、認証トークンおよびデバイス暗号情報だけでなく、上記の時刻情報を含む認証要求を生成する。
【0039】
認証トークンを含む認証要求が受信された場合、サーバ2の認証処理部24は、認証要求から認証トークン、デバイス暗号情報、および時刻情報を抽出し、メモリ14に格納する。また、復号部26は、図5のステップS230でデバイス暗号情報を復号してデバイスIDおよび時刻情報を取得し、メモリ14に格納する。その後、認証処理部24は、時刻情報を用いて認証トークンの有効性を検証する。
【0040】
図6は、認証トークンの有効性検証に係る認証処理部24に動作を示している。認証処理部24は、認証要求から抽出した時刻情報と、デバイス暗号情報の復号により得られた時刻情報とをメモリ14から読み出して比較する(ステップS300)。両者が一致する場合(ステップS305)、認証処理部24は認証トークンが有効であると判断する(ステップS310)。また、両者が異なる場合、認証処理部24は認証トークンが無効であると判断する(ステップS315)。
【0041】
認証トークンが無効であると判断された場合、認証に失敗したことを示す情報を含むメッセージがクライアント1に返信され、認証が終了する。また、認証トークンが有効であると判断された場合、前述した動作と同様にして、図5のステップS235,S240の確認の結果に応じてクライアント1の認証が行われる。
【0042】
本実施形態のクライアント1およびサーバ2に関しては、クライアント1やサーバ2の動作および機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行させることにより、クライアント1およびサーバ2を構成することが可能である。
【0043】
ここで、「コンピュータ」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0044】
また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように、情報を伝送する機能を有する媒体のことをいう。また、上述したプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能を、コンピュータに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0045】
上述したように、本実施形態によれば、サーバ2は、従来のIDとパスワードによる認証処理に加えて、認証トークンを復号することにより得られたデバイスIDと、デバイス暗号情報を復号することにより得られたデバイスIDとを比較する処理を行う。仮に、クライアント1で保持されている認証トークンが悪意のユーザによって抜き取られた場合でも、デバイスIDは装置毎に固有な情報であり、かつ認証トークンにおいてデバイスIDはデバイス暗号情報として暗号化されているため、デバイスIDを生成することは困難である。本実施形態ではデバイスIDを生成できない限り、なり済ましが不可能であるため、認証情報を保管するためのハードウェアをクライアント1に追加することなく、なり済ましによる攻撃の発生を低減することができる。
【0046】
また、時刻情報を用いて認証トークンの有効性を検証することによって、なり済ましによる攻撃の発生をより低減することができる。
【0047】
また、クライアント1において、認証トークンを不揮発性メモリに保持しておくことが可能であるため、認証情報を保管するための専用のハードウェアが不要であり、クライアント1のコストアップを避けることができる。
【0048】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【0049】
1・・・クライアント、2・・・サーバ、10,20・・・CPU、11,21・・・通信部、12・・・表示部、13・・・操作部、14,22・・・メモリ、15,23・・・記憶部、16,24・・・認証処理部、17,25・・・暗号化部、26・・・復号部

【特許請求の範囲】
【請求項1】
端末装置と、認証サーバとを備えた認証システムにおいて、
前記端末装置は、
前記端末装置を識別する装置識別情報を第1の共通鍵で暗号化した暗号化情報を生成する第1の暗号化部と、
認証処理に使用する認証情報と、前記装置識別情報とを含む第1の認証要求を前記認証サーバへ送信し、前記第1の認証要求の応答として、前記認証情報と前記装置識別情報とを第2の共通鍵で暗号化した認証トークンを前記認証サーバから受信し、前記認証トークンと前記暗号化情報とを含む第2の認証要求を前記認証サーバへ送信する第1の通信部と、
を有し、
前記認証サーバは、
予め登録された前記認証情報を記憶する記憶部と、
前記第1の認証要求に含まれる前記認証情報と前記装置識別情報とを前記第2の共通鍵で暗号化することにより前記認証トークンを生成する第2の暗号化部と、
前記第1の認証要求を前記端末装置から受信し、前記第1の認証要求に基づく前記認証トークンを前記端末装置へ送信し、前記第2の認証要求を前記端末装置から受信する第2の通信部と、
前記第2の認証要求に含まれる前記認証トークンを前記第2の共通鍵で復号して前記認証情報および前記装置識別情報を取得し、前記第2の認証要求に含まれる前記暗号化情報を前記第1の共通鍵で復号して前記装置識別情報を取得する復号部と、
前記認証トークンを復号することにより取得された前記装置識別情報と、前記暗号化情報を復号することにより取得された前記装置識別情報とを比較し、前記認証トークンを復号することにより取得された前記認証情報と、前記記憶部に記憶されている前記認証情報とを比較することにより認証処理を行う認証部と、
を有することを特徴とする認証システム。
【請求項2】
前記第1の暗号化部は、前記装置識別情報に時刻情報を付加して前記第1の共通鍵で暗号化した前記暗号化情報を生成し、
前記第1の通信部は、前記認証トークンと前記暗号化情報と前記時刻情報とを含む前記第2の認証要求を前記認証サーバへ送信し、
前記復号部は、前記暗号化情報を前記第1の共通鍵で復号して前記装置識別情報および前記時刻情報を取得し、
前記認証部はさらに、前記暗号化情報を復号することにより取得された前記時刻情報と、前記第2の認証要求に含まれる前記時刻情報とを比較することにより前記認証処理を行う
ことを特徴とする請求項1に記載の認証システム。
【請求項3】
前記端末装置はさらに、少なくとも前記認証サーバから前記認証トークンが受信されてから前記第2の認証要求が前記認証サーバへ送信されるまで前記認証トークンを保持する不揮発性メモリを有することを特徴とする請求項1または請求項2に記載の認証システム。
【請求項4】
端末装置を識別する装置識別情報を第1の共通鍵で暗号化した暗号化情報を生成する暗号化部と、
認証処理に使用する認証情報と、前記装置識別情報とを含む第1の認証要求を認証サーバへ送信し、前記第1の認証要求の応答として、前記認証情報と前記装置識別情報とを第2の共通鍵で暗号化した認証トークンを前記認証サーバから受信し、前記認証トークンと前記暗号化情報とを含む第2の認証要求を前記認証サーバへ送信する通信部と、
を備えたことを特徴とする端末装置。
【請求項5】
予め登録された認証情報を記憶する記憶部と、
端末装置から受信される、前記認証情報と、前記端末装置を識別する装置識別情報とを含む第1の認証要求に含まれる前記認証情報と前記装置識別情報とを第2の共通鍵で暗号化することにより認証トークンを生成する暗号化部と、
前記第1の認証要求を前記端末装置から受信し、前記第1の認証要求に基づく前記認証トークンを前記端末装置へ送信し、前記認証トークンと、前記装置識別情報を第1の共通鍵で暗号化した暗号化情報とを含む第2の認証要求を前記端末装置から受信する第2の通信部と、
前記第2の認証要求に含まれる前記認証トークンを前記第2の共通鍵で復号して前記認証情報および前記装置識別情報を取得し、前記第2の認証要求に含まれる前記暗号化情報を前記第1の共通鍵で復号して前記装置識別情報を取得する復号部と、
前記認証トークンを復号することにより取得された前記装置識別情報と、前記暗号化情報を復号することにより取得された前記装置識別情報とを比較し、前記認証トークンを復号することにより取得された前記認証情報と、前記記憶部に記憶されている前記認証情報とを比較することにより認証処理を行う認証部と、
を備えたことを特徴とする認証サーバ。
【請求項6】
請求項4に記載の端末装置としてコンピュータを機能させるためのプログラム。
【請求項7】
前記暗号化部としてコンピュータを機能させるためのネイティブコードを含むことを特徴とする請求項6に記載のプログラム。
【請求項8】
請求項5に記載の認証サーバとしてコンピュータを機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−191270(P2012−191270A)
【公開日】平成24年10月4日(2012.10.4)
【国際特許分類】
【出願番号】特願2011−50814(P2011−50814)
【出願日】平成23年3月8日(2011.3.8)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】