(57)【特許請求の範囲】
【請求項１】
認証端末と、認証結果利用サーバとを備える認証システムであって、
前記認証端末は改ざん検知対象プログラムを記憶し、前記認証結果利用サーバは前記改ざん検知対象プログラムの複製を記憶し、
前記認証端末は、前記認証端末の利用者の認証を実行し、その認証結果を前記認証結果利用サーバに送信し、
前記認証結果利用サーバは、前記認証端末から前記認証結果を受信すると、指定アドレス情報を生成して前記認証端末に送信し、
前記認証端末は、前記認証結果利用サーバから前記指定アドレス情報を受信すると、当該指定アドレス情報に基づいて前記改ざん検知対象プログラムについてのハッシュ値を生成して前記認証結果利用サーバに送信し、
前記認証結果利用サーバは、前記認証端末から前記ハッシュ値を受信すると、当該ハッシュ値と、前記指定アドレス情報に基づいて生成する前記改ざん検知対象プログラムの複製についてのハッシュ値とが一致すれば前記改ざん検知対象プログラムが改ざんされていないと判定し、一致しなければ前記改ざん検知対象プログラムが改ざんされていると判定し、
前記指定アドレス情報は、前記改ざん検知対象プログラムの複製のアドレスの最初から最後の範囲で、アドレス１とアドレス２とからなる情報（アドレス１＜アドレス２）を含み、
前記改ざん検知対象プログラムについてのハッシュ値及び前記改ざん検知対象プログラムの複製についてのハッシュ値それぞれは、アドレスの最初から前記アドレス２までを領域Ａ、前記アドレス１からアドレスの最後までを領域Ｂとして、前記領域Ａ及び前記領域Ｂそれぞれについて生成されたハッシュ値Ａ及びハッシュ値Ｂを含む、
認証システム。
【請求項２】
前記改ざん検知対象プログラムは、前記認証端末の利用者の認証を実行するのに用いられる認証プログラムである、請求項１に記載の認証システム。
【請求項３】
認証端末と、認証結果利用サーバとを備える認証システムにおける認証結果利用サーバであって、
前記認証端末が記憶する改ざん検知対象プログラムの複製を記憶し、
前記認証端末から認証結果を受信すると、指定アドレス情報を生成して前記認証端末に送信し、
前記認証端末に送信した前記指定アドレス情報に基づいて前記認証端末に記憶された改ざん検知対象プログラムについて生成されたものとしてのハッシュ値を前記認証端末から受信すると、当該ハッシュ値と、前記指定アドレス情報に基づいて生成する前記改ざん検知対象プログラムの複製についてのハッシュ値とが一致すれば前記改ざん検知対象プログラムが改ざんされていないと判定し、一致しなければ前記改ざん検知対象プログラムが改ざんされていると判定し、
前記指定アドレス情報は、前記改ざん検知対象プログラムの複製のアドレスの最初から最後の範囲で、アドレス１とアドレス２とからなる情報（アドレス１＜アドレス２）を含み、
前記改ざん検知対象プログラムについてのハッシュ値及び前記改ざん検知対象プログラムの複製についてのハッシュ値それぞれは、アドレスの最初から前記アドレス２までを領域Ａ、前記アドレス１からアドレスの最後までを領域Ｂとして、前記領域Ａ及び前記領域Ｂそれぞれについて生成されたハッシュ値Ａ及びハッシュ値Ｂを含む、
認証結果利用サーバ。
【請求項４】
認証端末と、認証結果利用サーバとを備え、前記認証端末は改ざん検知対象プログラムを記憶し、前記認証結果利用サーバは前記改ざん検知対象プログラムの複製を記憶する認証システムにおける認証方法であって、
前記認証端末が、前記認証端末の利用者の認証を実行し、その認証結果を前記認証結果利用サーバに送信するステップと、
前記認証結果利用サーバが、前記認証端末から前記認証結果を受信すると、指定アドレス情報を生成して前記認証端末に送信するステップと、
前記認証端末が、前記認証結果利用サーバから前記指定アドレス情報を受信すると、当該指定アドレス情報に基づいて前記改ざん検知対象プログラムについてのハッシュ値を生成して前記認証結果利用サーバに送信するステップと、
前記認証結果利用サーバが、前記認証端末から前記ハッシュ値を受信すると、当該ハッシュ値と、前記指定アドレス情報に基づいて生成する前記改ざん検知対象プログラムの複製についてのハッシュ値とが一致すれば前記改ざん検知対象プログラムが改ざんされていないと判定し、一致しなければ前記改ざん検知対象プログラムが改ざんされていると判定するステップと、
を含み、
前記指定アドレス情報は、前記改ざん検知対象プログラムの複製のアドレスの最初から最後の範囲で、アドレス１とアドレス２とからなる情報（アドレス１＜アドレス２）を含み、
前記改ざん検知対象プログラムについてのハッシュ値及び前記改ざん検知対象プログラムの複製についてのハッシュ値それぞれは、アドレスの最初から前記アドレス２までを領域Ａ、前記アドレス１からアドレスの最後までを領域Ｂとして、前記領域Ａ及び前記領域Ｂそれぞれについて生成されたハッシュ値Ａ及びハッシュ値Ｂを含む、
認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムの改ざんを検知するアルゴリズムそのものに対する攻撃のリスクを低減する認証システム、認証結果利用サーバ及び認証方法に関する。
【背景技術】
【０００２】
従来より、プログラムがウイルス等に感染した場合に、そのプログラムが改ざんされたか否かを検知する技術が求められ、数多く開発されてきている。例えば、非特許文献１には、デジタル署名を用いてプログラムの改ざんを防止し、また改ざんされた場合にはプログラムを実行不可とする技術が記載されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“Ａｎｄｒｏｉｄアプリ不正改ざん検知ソリューション”、プロベック、［online］、［２０１５年２月１７日検索］、インターネット<http://www.proveq.jp/verification/security/androidapp>
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述のように、プログラムがウイルス等に感染した場合にプログラムの改ざんを検知するための技術は数多く研究されてきたが、他のプログラムの改ざんを検知するためのアルゴリズム自体が攻撃者に乗っ取られた場合の対策はなされてこなかった。そのため、他のプログラムの改ざんを検知するためのプログラム自体がウイルス等に感染した場合には、プログラムの改ざん検知が正常に行えなくなる恐れがあった。
【０００５】
プログラムの改ざんを検知することが特に重要となるケースの一つに、認証システムがある。クライアント端末側で認証を実施し、認証結果をサービス提供サーバに送信する形態をとる認証システムにおいては、クライアント端末側の認証プログラムが改ざんされてしまうことは、セキュリティの観点から大きな脅威であった。
【０００６】
本発明は、このような課題に鑑みてなされたもので、プログラムの改ざんを検知するアルゴリズムそのものに対する攻撃のリスクを低減することができる認証システム、認証結果利用サーバ及び認証方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明に係る認証システムは、認証端末と、認証結果利用サーバとを備える認証システムであって、前記認証端末は改ざん検知対象プログラムを記憶し、前記認証結果利用サーバは前記改ざん検知対象プログラムの複製を記憶し、前記認証端末は、前記認証端末の利用者の認証を実行し、その認証結果を前記認証結果利用サーバに送信し、前記認証結果利用サーバは、前記認証端末から前記認証結果を受信すると、指定アドレス情報を生成して前記認証端末に送信し、前記認証端末は、前記認証結果利用サーバから前記指定アドレス情報を受信すると、当該指定アドレス情報に基づいて前記改ざん検知対象プログラムについてのハッシュ値を生成して前記認証結果利用サーバに送信し、前記認証結果利用サーバは、前記認証端末から前記ハッシュ値を受信すると、当該ハッシュ値と、前記指定アドレス情報に基づいて生成する前記改ざん検知対象プログラムの複製についてのハッシュ値とが一致すれば前記改ざん検知対象プログラムが改ざんされていないと判定し、一致しなければ前記改ざん検知対象プログラムが改ざんされていると判定し、前記指定アドレス情報は、前記改ざん検知対象プログラムの複製のアドレスの最初から最後の範囲で、アドレス１とアドレス２とからなる情報（アドレス１＜アドレス２）を含み、前記改ざん検知対象プログラムについてのハッシュ値及び前記改ざん検知対象プログラムの複製についてのハッシュ値それぞれは、アドレスの最初から前記アドレス２までを領域Ａ、前記アドレス１からアドレスの最後までを領域Ｂとして、前記領域Ａ及び前記領域Ｂそれぞれについて生成されたハッシュ値Ａ及びハッシュ値Ｂを含むことを特徴とする。
【０００８】
また、上記課題を解決するため、本発明に係る認証結果利用サーバは、認証端末と、認証結果利用サーバとを備える認証システムにおける認証結果利用サーバであって、前記認証端末が記憶する改ざん検知対象プログラムの複製を記憶し、前記認証端末から認証結果を受信すると、指定アドレス情報を生成して前記認証端末に送信し、前記認証端末に送信した前記指定アドレス情報に基づいて前記認証端末に記憶された改ざん検知対象プログラムについて生成されたものとしてのハッシュ値を前記認証端末から受信すると、当該ハッシュ値と、前記指定アドレス情報に基づいて生成する前記改ざん検知対象プログラムの複製についてのハッシュ値とが一致すれば前記改ざん検知対象プログラムが改ざんされていないと判定し、一致しなければ前記改ざん検知対象プログラムが改ざんされていると判定し、前記指定アドレス情報は、前記改ざん検知対象プログラムの複製のアドレスの最初から最後の範囲で、アドレス１とアドレス２とからなる情報（アドレス１＜アドレス２）を含み、前記改ざん検知対象プログラムについてのハッシュ値及び前記改ざん検知対象プログラムの複製についてのハッシュ値それぞれは、アドレスの最初から前記アドレス２までを領域Ａ、前記アドレス１からアドレスの最後までを領域Ｂとして、前記領域Ａ及び前記領域Ｂそれぞれについて生成されたハッシュ値Ａ及びハッシュ値Ｂを含むことを特徴とする。
【０００９】
さらに、上記課題を解決するため、本発明に係る認証方法は、認証端末と、認証結果利用サーバとを備え、前記認証端末は改ざん検知対象プログラムを記憶し、前記認証結果利用サーバは前記改ざん検知対象プログラムの複製を記憶する認証システムにおける認証方法であって、前記認証端末が、前記認証端末の利用者の認証を実行し、その認証結果を前記認証結果利用サーバに送信するステップと、前記認証結果利用サーバが、前記認証端末から前記認証結果を受信すると、指定アドレス情報を生成して前記認証端末に送信するステップと、前記認証端末が、前記認証結果利用サーバから前記指定アドレス情報を受信すると、当該指定アドレス情報に基づいて前記改ざん検知対象プログラムについてのハッシュ値を生成して前記認証結果利用サーバに送信するステップと、前記認証結果利用サーバが、前記認証端末から前記ハッシュ値を受信すると、当該ハッシュ値と、前記指定アドレス情報に基づいて生成する前記改ざん検知対象プログラムの複製についてのハッシュ値とが一致すれば前記改ざん検知対象プログラムが改ざんされていないと判定し、一致しなければ前記改ざん検知対象プログラムが改ざんされていると判定するステップと、を含み、前記指定アドレス情報は、前記改ざん検知対象プログラムの複製のアドレスの最初から最後の範囲で、アドレス１とアドレス２とからなる情報（アドレス１＜アドレス２）を含み、前記改ざん検知対象プログラムについてのハッシュ値及び前記改ざん検知対象プログラムの複製についてのハッシュ値それぞれは、アドレスの最初から前記アドレス２までを領域Ａ、前記アドレス１からアドレスの最後までを領域Ｂとして、前記領域Ａ及び前記領域Ｂそれぞれについて生成されたハッシュ値Ａ及びハッシュ値Ｂを含むことを特徴とする。
【発明の効果】
【００１０】
本発明に係る認証システム、認証結果利用サーバ及び認証方法によれば、改ざん検知対象プログラムの改ざん検知を、認証端末だけではなく認証結果利用サーバも用いて実行するので、プログラムの改ざんを検知するアルゴリズムそのものに対する攻撃のリスクを低減することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係る認証システムの概略構成を示すブロック図である。
【図２】本発明の一実施形態に係る認証結果利用サーバの記憶部に記憶された改ざんチェックテーブルの一例を示す概念図である。
【図３】本発明の一実施形態に係る認証システムで用いられる電文１、電文２及び電文３の一例を示す概念図である。
【図４】本発明の一実施形態に係る認証システムで用いられるプログラムのハッシュ値生成方法の一例を示す概念図である。
【図５】本発明の一実施形態に係る認証システムの動作フローを示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態について、図面を参照して説明する。
【００１３】
図１は、本発明の一実施形態に係る認証システム１の概略構成を示すブロック図である。認証システム１は、認証端末１００と、認証結果利用サーバ２００とを備え、認証端末１００及び認証結果利用サーバ２００は、ネットワーク３００を介して互いに通信可能である。なお、認証システム１は、１つ以上の認証端末１００を備えるが、以下では簡便のため、１つの認証端末１００のみについて説明する。
【００１４】
認証端末１００は、利用者により保有される通信端末であり、認証部１０１と、ハッシュ値生成部１０２と、端末識別ＩＤ記憶部１０３と、通信部１０４とを少なくとも備える。ここで、端末識別ＩＤ記憶部１０３は、認証端末１００ごとに固有のＩＤである端末識別ＩＤを記憶している。
【００１５】
認証部１０１は、認証端末１００の利用者についてユーザ認証を実行し、電文１を生成し、その電文１を通信部１０４に渡すデバイスである。ここで、電文１は、図３に示すように、ユーザ認証の認証結果の情報（例えば正しく認証できた場合は「ＯＫ」、認証できなかった場合は「ＮＧ」）と、端末識別ＩＤ記憶部１０３に記憶された端末識別ＩＤとを少なくとも含むデータである。ここで、認証部１０１は、認証プログラムを記憶し、この認証プログラムを用いて処理を実行する。認証プログラムは、本実施形態においては改ざんを検知する対象となるプログラムであり、以下、改ざん検知対象プログラム１１１と称する。なお、ユーザ認証の認証方式は特に限定されず、例えば、指紋認証や顔認識などの生体認証、パスワード認証、鍵情報の書き込まれたＩＣカードによる認証など、任意の方式を用いることができる。
【００１６】
ハッシュ値生成部１０２は、電文３を通信部１０４から受け取る。ここで、電文３は、図３に示すように、トランザクションＩＤと、指定アドレス情報とを少なくとも含むデータである。なお、指定アドレス情報は、本実施形態ではアドレス１及びアドレス２の情報からなり、アドレス１＜アドレス２となるように認証結果利用サーバ２００において生成されたものである。そして、ハッシュ値生成部１０２は、図４に示すように、電文３に含まれる指定アドレス情報に基づいて、改ざん検知対象プログラム１１１のバイナリデータにおいて、アドレスの最初からアドレス２までを領域Ａ、アドレス１からアドレスの最後までを領域Ｂとして、領域Ａ及び領域Ｂそれぞれについて、認証結果利用サーバ２００と認証端末１００との間で事前に取り決められた任意のハッシュ関数によりハッシュ値を生成し、それぞれハッシュ値Ａ及びハッシュ値Ｂとする。そして、ハッシュ値生成部１０２は、電文２を生成し、その電文２を通信部１０４に渡す。ここで、電文２は、図３に示すように、端末識別ＩＤ記憶部１０３に記憶された端末識別ＩＤと、通信部から受け取った電文３に含まれていたトランザクションＩＤと、生成したハッシュ値Ａと、ハッシュ値Ｂとを少なくとも含むデータである。
【００１７】
通信部１０４は、ネットワーク３００を介して認証結果利用サーバ２００とのデータの送受信が可能である。通信部１０４は、認証部１０１より依頼を受けて電文１を、ハッシュ値生成部１０２より依頼を受けて電文２を、それぞれ認証結果利用サーバ２００に送信する。また、通信部１０４は、認証結果利用サーバ２００より電文３を受信し、その電文３をハッシュ値生成部１０２に渡す。
【００１８】
認証結果利用サーバ２００は、認証結果取得部２０１と、アドレス情報生成部２０２と、ハッシュ値取得部２０３と、ハッシュ値生成部２０４と、ハッシュ値照合部２０５と、記憶部２０６と、通信部２０７とを少なくとも備える。ここで、記憶部２０６は、認証端末１００における改ざん検知対象プログラム１１１と同一のプログラムである改ざん検知対象プログラムの複製２１１と、端末識別ＩＤごとに生成される改ざんチェックテーブル２１２とを記憶している。
【００１９】
認証結果取得部２０１は、通信部２０７より電文１を受け取り、この電文１に含まれる端末識別ＩＤをアドレス情報生成部２０２に渡す。
【００２０】
アドレス情報生成部２０２は、認証結果取得部２０１より端末識別ＩＤを受け取り、その端末識別ＩＤごとに規定される任意のトランザクションＩＤを生成する。また、アドレス情報生成部２０２は、記憶部２０６より改ざん検知対象プログラムの複製２１１を読み出し、改ざん検知対象プログラムの複製２１１のアドレスの最初から最後の範囲で、アドレス１とアドレス２とからなる指定アドレス情報を、アドレス１＜アドレス２となるようにランダムに生成する。なお、アドレス情報生成部２０２が指定アドレス情報をランダムに生成する際に用いる乱数生成アルゴリズムは、特に限定されるものではなく、任意のアルゴリズムを用いることができる。そして、アドレス情報生成部２０２は、図２に示すように、認証結果取得部２０１より受け取った端末識別ＩＤに関連付けて、生成したトランザクションＩＤと、アドレス１と、アドレス２とを記憶部２０６に記憶された改ざんチェックテーブル２１２に書き込む。また、アドレス情報生成部２０２は、図３に示すように、それぞれ生成した、トランザクションＩＤと、アドレス１と、アドレス２とを少なくとも含んだ電文３を生成して、通信部２０７に渡す。
【００２１】
ハッシュ値取得部２０３は、通信部２０７より電文２を受け取る。そして、ハッシュ値取得部２０３は、記憶部２０６に記憶された改ざんチェックテーブル２１２における、受け取った電文２に含まれる端末識別ＩＤとトランザクションＩＤとに対応する行に、受け取った電文２に含まれるハッシュ値Ａとハッシュ値Ｂとをそれぞれ受信ハッシュ値Ａと受信ハッシュ値Ｂとして書き込む。また、ハッシュ値取得部２０３は、受け取った電文２に含まれる端末識別ＩＤとトランザクションＩＤとをハッシュ値生成部２０４に渡す。
【００２２】
ハッシュ値生成部２０４は、ハッシュ値取得部２０３より端末識別ＩＤとトランザクションＩＤとを受け取る。そして、ハッシュ値生成部２０４は、記憶部２０６に記憶された改ざんチェックテーブル２１２における、ハッシュ値取得部２０３より受け取った端末識別ＩＤとトランザクションＩＤとに対応する行のアドレス１とアドレス２とを取得する。さらに、ハッシュ値生成部２０４は、改ざん検知対象プログラムの複製２１１のバイナリデータから、改ざんチェックテーブル２１２から取得したアドレス１とアドレス２とに対応した領域Ａと領域Ｂとについてのハッシュ値を生成し、それぞれ生成ハッシュ値Ａ及び生成ハッシュ値Ｂとして、改ざんチェックテーブル２１２の該当行に書き込む。また、ハッシュ値生成部２０４は、ハッシュ値取得部２０３より受け取った端末識別ＩＤとトランザクションＩＤとをハッシュ値照合部２０５に渡す。なお、ハッシュ値生成部２０４がハッシュ値の生成に用いる領域Ａ及び領域Ｂは、認証端末１００におけるハッシュ値生成部１０２がアドレス１及びアドレス２から決定する手法と同様の手法で決定される。
【００２３】
ハッシュ値照合部２０５は、ハッシュ値生成部２０４より端末識別ＩＤとトランザクションＩＤとを受け取る。そして、ハッシュ値照合部２０５は、記憶部２０６に記憶された改ざんチェックテーブル２１２における、ハッシュ値生成部２０４より受け取った端末識別ＩＤとトランザクションＩＤとに対応する行から、受信ハッシュ値Ａと、受信ハッシュ値Ｂと、生成ハッシュ値Ａと、生成ハッシュ値Ｂとをそれぞれ取得する。さらに、ハッシュ値照合部２０５は、それぞれ取得した、受信ハッシュ値Ａと生成ハッシュ値Ａ、受信ハッシュ値Ｂと生成ハッシュ値Ｂをそれぞれ比較し、両値とも一致すれば認証端末１００の改ざん検知対象プログラム１１１が改ざんされていないと判定し、いずれかでも不一致であれば認証端末１００の改ざん検知対象プログラム１１１が改ざんされていると判定する。
【００２４】
通信部２０７は、ネットワーク３００を介して認証端末１００とのデータの送受信が可能である。通信部２０７は、認証端末１００より電文１と電文２とをそれぞれ受け取り、電文１は認証結果取得部２０１へ、電文２はハッシュ値取得部２０３へそれぞれ渡す。また、通信部２０７は、アドレス情報生成部２０２より電文３を受けとり、その電文３を認証端末１００に送信する。
【００２５】
以下、図５を参照して、本発明の一実施形態に係る認証システム１の動作フローについて説明する。
【００２６】
認証端末１００の認証部１０１は、認証端末１００の利用者についてユーザ認証を実行し、電文１を生成し、その電文１を通信部１０４に渡す。認証端末１００の通信部１０４は、認証部１０１より依頼を受けて、電文１を認証結果利用サーバ２００に送信する（ステップＳ１）。
【００２７】
認証結果利用サーバ２００の通信部２０７は、認証端末１００より電文１を受け取ると、その電文１を認証結果取得部２０１へ渡す。認証結果取得部２０１は、電文１を受け取ると、この電文１に含まれる端末識別ＩＤをアドレス情報生成部２０２に渡す（ステップＳ２）。
【００２８】
認証結果利用サーバ２００のアドレス情報生成部２０２は、認証結果取得部２０１より端末識別ＩＤを受け取ると、その端末識別ＩＤごとに一意なトランザクションＩＤを生成する。また、アドレス情報生成部２０２は、記憶部２０６より改ざん検知対象プログラムの複製２１１を読み出し、改ざん検知対象プログラムの複製２１１のアドレスの最初から最後の範囲で、アドレス１とアドレス２とを、アドレス１＜アドレス２となるようにランダムに生成する（ステップＳ３）。
【００２９】
認証結果利用サーバ２００のアドレス情報生成部２０２は、生成したトランザクションＩＤと、アドレス１と、アドレス２とを記憶部２０６に記憶された改ざんチェックテーブル２１２に書き込む。また、アドレス情報生成部２０２は、それぞれ生成した、トランザクションＩＤと、アドレス１と、アドレス２とを少なくとも含んだ電文３を生成して、通信部２０７に渡す。そして、通信部２０７はアドレス情報生成部２０２より電文３を受けとり、その電文３を認証端末１００に送信する（ステップＳ４）。
【００３０】
認証端末１００の通信部１０４は、認証結果利用サーバ２００より電文３を受信すると、その電文３をハッシュ値生成部１０２に渡す（ステップＳ５）。
【００３１】
認証端末１００のハッシュ値生成部１０２は、通信部１０４より電文３を受け取ると、電文３に含まれる指定アドレスに基づいて、改ざん検知対象プログラム１１１のバイナリデータにおける領域Ａと領域Ｂとのそれぞれについて、ハッシュ値を生成し、それぞれハッシュ値Ａ、ハッシュ値Ｂとする。そして、ハッシュ値生成部１０２は、認証端末１００の端末識別ＩＤと、通信部１０４から受け取った電文３に含まれていたトランザクションＩＤと、生成したハッシュ値Ａと、ハッシュ値Ｂとを少なくとも含む電文２を生成する（ステップＳ６）。
【００３２】
認証端末１００のハッシュ値生成部１０２は、生成した電文２を通信部１０４に渡す。そして、通信部１０４は、ハッシュ値生成部１０２から電文２を受け取ると、ハッシュ値生成部１０２より依頼を受けてその電文２を認証結果利用サーバ２００に送信する（ステップＳ７）。
【００３３】
認証結果利用サーバ２００の通信部２０７は、認証端末１００より電文２を受け取ると、その電文２をハッシュ値取得部２０３へ渡す。ハッシュ値取得部２０３は、通信部２０７より電文２を受け取ると、記憶部２０６に記憶された改ざんチェックテーブル２１２における、電文２に含まれる端末識別ＩＤとトランザクションＩＤとに対応する行に、電文２に含まれるハッシュ値Ａとハッシュ値Ｂとをそれぞれ受信ハッシュ値Ａと受信ハッシュ値Ｂとして書き込み、電文２に含まれる端末識別ＩＤとトランザクションＩＤとをハッシュ値生成部２０４に渡す（ステップＳ８）。
【００３４】
認証結果利用サーバ２００のハッシュ値生成部２０４は、ハッシュ値取得部２０３より端末識別ＩＤとトランザクションＩＤとを受け取ると、記憶部２０６に記憶された改ざんチェックテーブル２１２における、受け取った端末識別ＩＤとトランザクションＩＤとに対応する行のアドレス１とアドレス２とを取得する。そして、ハッシュ値生成部２０４は、記憶部２０６に記憶された改ざん検知対象プログラムの複製２１１から、取得したアドレス１とアドレス２とに対応した領域Ａと領域Ｂとについてのハッシュ値を生成し、それぞれ生成ハッシュ値Ａ及び生成ハッシュ値Ｂとして、改ざんチェックテーブル２１２の該当行に書き込む。そして、ハッシュ値生成部２０４は、受け取った端末識別ＩＤとトランザクションＩＤとをハッシュ値照合部２０５に渡す。ハッシュ値照合部２０５は、ハッシュ値生成部２０４より端末識別ＩＤとトランザクションＩＤとを受け取ると、記憶部２０６に記憶された改ざんチェックテーブル２１２における、受け取った端末識別ＩＤとトランザクションＩＤとに対応する行から、受信ハッシュ値Ａと、受信ハッシュ値Ｂと、生成ハッシュ値Ａと、生成ハッシュ値Ｂとをそれぞれ取得する。そして、ハッシュ値照合部２０５は、受信ハッシュ値Ａと生成ハッシュ値Ａ、受信ハッシュ値Ｂと生成ハッシュ値Ｂをそれぞれ比較し、両値とも一致すれば認証端末１００の改ざん検知対象プログラム１１１が改ざんされていないと判定し、いずれかでも不一致であれば認証端末１００の改ざん検知対象プログラム１１１が改ざんされていると判定する（ステップＳ９）。
【００３５】
このように、本実施形態によれば、認証システム１は、認証端末１００と、認証結果利用サーバ２００とを備える。また、認証端末１００は改ざん検知対象プログラム１１１を記憶し、認証結果利用サーバ２００は改ざん検知対象プログラムの複製２１１を記憶する。そして、認証端末１００は、認証端末１００の利用者の認証を実行してその認証結果を認証結果利用サーバ２００に送信し、認証結果利用サーバ２００は、認証結果を受信すると指定アドレス情報を生成して認証端末１００に送信し、認証端末１００は、指定アドレス情報を受信すると当該指定アドレス情報に基づいて改ざん検知対象プログラム１１１についてのハッシュ値を生成して認証結果利用サーバ２００に送信し、認証結果利用サーバ２００は、ハッシュ値を受信すると、当該ハッシュ値と、指定アドレス情報に基づいて生成する改ざん検知対象プログラムの複製２１１についてのハッシュ値とが一致すれば改ざん検知対象プログラム１１１が改ざんされていないと判定し、一致しなければ改ざん検知対象プログラム１１１が改ざんされていると判定する。
【００３６】
したがって、認証システム１は、認証端末１００に記憶された改ざん検知対象プログラム１１１についてのハッシュ値を、認証結果利用サーバ２００により指定された指定アドレス情報に基づいて生成し、このハッシュ値を、認証結果利用サーバ２００において改ざん検知対象プログラムの複製２１１から生成したハッシュ値と比較することで、改ざん検知対象プログラム１１１の改ざんの有無を判定することができる。よって、認証システム１は、認証端末１００が攻撃された場合でも改ざん検知を正常に行うことができる。
【００３７】
また、本実施形態によれば、認証システム１における認証端末１００に記憶された改ざん検知対象プログラム１１１は、認証端末１００の利用者の認証を実行するのに用いられる認証プログラムである。したがって、改ざん検知対象プログラム１１１が改ざんされていないと判定された場合には、認証結果が正しいことが分かり、改ざん検知対象プログラム１１１が改ざんされていると判定された場合には、認証結果が正しくない可能性があることが分かる。
【００３８】
さらに、本実施形態によれば、認証端末１００と、認証結果利用サーバ２００とを備える認証システム１における認証結果利用サーバ２００は、認証端末１００が記憶する改ざん検知対象プログラムの複製２１１を記憶し、認証端末１００から認証結果を受信すると、指定アドレス情報を生成して認証端末１００に送信し、認証端末１００に送信した指定アドレス情報に基づいて認証端末１００に記憶された改ざん検知対象プログラム１１１について生成されたものとしてのハッシュ値を認証端末１００から受信すると、当該ハッシュ値と、指定アドレス情報に基づいて生成する改ざん検知対象プログラムの複製２１１についてのハッシュ値とが一致すれば改ざん検知対象プログラム１１１が改ざんされていないと判定し、一致しなければ改ざん検知対象プログラム１１１が改ざんされていると判定する。
【００３９】
したがって、認証端末１００が攻撃された場合でも、認証結果利用サーバ２００において改ざん検知を正常に行うことができる。
【００４０】
本発明を諸図面や実施形態に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各構成部、各ステップなどに含まれる機能などは論理的に矛盾しないように再配置可能であり、複数の構成部やステップなどを１つに組み合わせたり、或いは分割したりすることが可能である。また、本発明について認証端末１００及び認証結果利用サーバ２００を中心に説明してきたが、本発明は認証端末１００及び認証結果利用サーバ２００が備えるプロセッサにより実行される方法、プログラム、又はプログラムを記録した記憶媒体としても実現し得るものであり、本発明の範囲にはこれらも包含されるものと理解されたい。
【００４１】
また、本実施形態においては、アドレス情報生成部２０２が生成する指定アドレス情報を、アドレス１及びアドレス２としたが、これに限定されず、１つ以上の指定アドレス情報が生成されればよい。また、本実施形態においては、ハッシュ値生成部１０２及びハッシュ値生成部２０４がハッシュ値を生成する際に用いる領域を、アドレス１及びアドレス２に基づいて領域Ａ及び領域Ｂとしたが、ハッシュ値生成部１０２及びハッシュ値生成部２０４が同一の領域を用いる限りにおいて、任意の領域を設定することができる。しかしながら、本実施形態で用いた指定アドレス情報や領域を用いることで、簡易な処理で効果的に改ざん検知対象プログラム１１１の改ざんの有無を判定することができる。
【００４２】
また、本実施形態においては、認証端末１００の改ざん検知対象プログラム１１１として、認証部１０１に記憶された認証プログラムを対象としたが、認証端末１００内の他のプログラムを改ざん検知対象プログラムとしてもよい。さらに、認証プログラムは、認証部１０１に記憶されることに限定されず、認証端末１００内の他の領域に記憶されていてもよい。
【符号の説明】
【００４３】
１  認証システム
１００  認証端末
１０１  認証部
１０２  ハッシュ値生成部
１０３  端末識別ＩＤ記憶部
１０４  通信部
１１１  改ざん検知対象プログラム
２００  認証結果利用サーバ
２０１  認証結果取得部
２０２  アドレス情報生成部
２０３  ハッシュ値取得部
２０４  ハッシュ値生成部
２０５  ハッシュ値照合部
２０６  記憶部
２０７  通信部
２１１  改ざん検知対象プログラムの複製
２１２  改ざんチェックテーブル
３００  ネットワーク
【図１】
0006338540.tif 000002
【図２】
0006338540.tif 000003
【図３】
0006338540.tif 000004
【図４】
0006338540.tif 000005
【図５】
0006338540.tif 000006