(57)【要約】【課題】電子署名を利用する第１通信装置の位置情報を信頼足り得るものとすることが可能とする。【解決手段】位置情報保証装置は、電子署名を利用する第１通信装置に対して通信可能且つ分離可能に構成され、位置情報保証装置に固有の署名鍵を予め記憶する記憶手段と、位置情報保証装置の位置情報を取得する取得手段と、署名鍵を用いて、取得された位置情報についての電子署名を生成し、位置情報および電子署名を第１通信装置へ送信する電子署名手段と、を備える。【選択図】      図１
2018107514.tif 000002
【特許請求の範囲】
【請求項１】
位置情報保証装置であって、
電子署名を利用する第１通信装置に対して通信可能且つ分離可能に構成され、
前記位置情報保証装置に固有の署名鍵を予め記憶する記憶手段と、
前記位置情報保証装置の位置情報を取得する取得手段と、
前記署名鍵を用いて、取得された前記位置情報についての前記電子署名を生成し、前記位置情報および前記電子署名を前記第１通信装置へ送信する電子署名手段と、
を備えることを特徴とする位置情報保証装置。
【請求項２】
前記電子署名手段は、前記第１通信装置と通信する第２通信装置によって作成された乱数を前記第１通信装置経由で受信し、前記乱数と前記位置情報とを結合した第１送信側結合データを作成し、前記署名鍵を用いて、前記第１送信側結合データについての前記電子署名を生成することを特徴とする請求項１記載の位置情報保証装置。
【請求項３】
同一時刻に前記第２通信装置と同一のワンタイムパスワードを生成するパスワード生成手段をさらに備え、
前記電子署名手段は、前記生成手段によって生成された前記ワンタイムパスワードと前記位置情報とを結合した第２送信側結合データを作成し、前記署名鍵を用いて、前記第２送信側結合データについての前記電子署名を生成することを特徴とする請求項１記載の位置情報保証装置。
【請求項４】
位置情報保証装置における位置情報保証方法であって、
前記位置情報保証装置は、電子署名を利用する第１通信装置に対して通信可能且つ分離可能に構成され、
前記位置情報保証装置に固有の署名鍵を予め記憶し、
前記位置情報保証装置の位置情報を取得し、
前記署名鍵を用いて、取得された前記位置情報についての前記電子署名を生成し、
前記位置情報および前記電子署名を前記第１通信装置へ送信する
ことを特徴とする位置情報保証方法。
【請求項５】
電子署名を利用する第１通信装置に対して通信可能且つ分離可能に構成される位置情報保証装置のコンピュータに、
前記位置情報保証装置に固有の署名鍵を所定の記憶手段に予め記憶する記憶処理と、
前記位置情報保証装置の位置情報を取得する取得処理と、
前記署名鍵を用いて、取得された前記位置情報についての前記電子署名を生成し、前記位置情報および前記電子署名を前記第１通信装置へ送信する電子署名処理と、
を実行させるための位置情報保証プログラム。
【請求項６】
電子署名を利用する第１通信装置と、
前記第１通信装置と通信する第２通信装置と、
位置情報保証装置と、を備え、
前記位置情報保証装置は、
前記第１通信装置に対して通信可能且つ分離可能に構成され、
前記位置情報保証装置に固有の署名鍵を予め記憶する記憶手段と、
前記位置情報保証装置の位置情報を取得する取得手段と、
前記署名鍵を用いて、取得された前記位置情報についての前記電子署名を生成し、前記位置情報および前記電子署名を前記第１通信装置へ送信する電子署名手段と、を備え、
前記第１通信装置は、
前記位置情報保証装置から受信した前記位置情報および前記電子署名を前記第２通信装置へ送信し、
前記第２通信装置は、
前記署名鍵とペアとなる検証鍵を予め記憶する検証鍵記憶手段と、
前記第１通信装置から受信した前記電子署名が前記位置情報に対して真正なものであるかを、前記検証鍵を用いて検証する電子署名検証手段と、
を備える
ことを特徴とする通信システム。
【請求項７】
前記第２通信装置は、乱数を生成する乱数生成手段をさらに、備え、
前記電子署名手段は、前記第２通信装置から前記乱数を前記第１通信装置経由で受信し、前記乱数と前記位置情報とを結合した第１送信側結合データを作成し、前記署名鍵を用いて、前記第１送信側結合データについての前記電子署名を生成し、
前記電子署名検証手段は、前記乱数と、前記第１通信装置から受信した前記位置情報とを結合して第１受信側結合データを作成し、前記第１通信装置から受信した電子署名が、前記第１受信側結合データに対する真正なものであるか否かを、前記検証鍵を用いて判定する
することを特徴とする請求項６記載の通信システム。
【請求項８】
前記第２通信装置は、ワンタイムパスワードを生成する第１パスワード生成手段をさらに備え、
前記位置情報保証装置は、前記第１パスワード生成手段と、同一時刻に同一のワンタイムパスワードを生成する第２パスワード生成手段をさらに備え、
前記電子署名手段は、前記第１パスワード生成手段によって生成された前記ワンタイムパスワードと前記位置情報とを結合した第２送信側結合データを作成し、前記署名鍵を用いて、前記第２送信側結合データについての前記電子署名を生成し、
前記電子署名検証手段は、前記第１パスワード生成手段により生成された前記ワンタイムパスワードと、前記第１通信装置から受信した前記位置情報とを結合して第２受信側結合データを作成し、前記第１通信装置から受信した電子署名が、前記第２受信側結合データに対する真正なものであるか否かを、前記検証鍵を用いて判定する
することを特徴とする請求項６記載の通信システム。
【請求項９】
前記第２通信装置は、
前記第１通信装置から連続で間違ったパスワードが入力された回数を示す連続不一致回数を少なくとも含む認証情報データベースと、
前記第１通信装置からの認証依頼を受けた際、前記認証情報データベースを参照することにより前記第１通信装置の前記連続不一致回数を取得し、前記連続不一致回数が所定の上限回数を上回っているか否かを判定し、前記連続不一致回数が前記上限回数を上回っている場合、前記電子署名検証手段を用いることにより、前記認証依頼に含まれる前記電子署名が真正なものであるか否かを検証し、前記電子署名が真正なものである場合、前記位置情報検証手段を用いることにより、前記認証依頼に含まれる前記位置情報が前記位置情報データベースに登録されたものであるか否かを検証し、前記電子署名が真正であり且つ前記位置情報が登録されたものであると判定した場合、前記認証依頼を受理する認証処理手段と
をさらに備えることを特徴とする請求項６−８のいずれか１項に記載の通信システム。
【請求項１０】
前記電子署名が真正でないか、あるいは真正だが前記位置情報が登録されたものではないと判定された場合、前記認証処理手段は、前記認証依頼を棄却することを特徴とする請求項９記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置情報保証装置、位置情報保証方法、位置情報保証プログラム、および通信システムに関する。
【背景技術】
【０００２】
通信システム、例えば、クライアントサーバシステムにおいて、クライアント装置がＧＰＳ（Global Positioning System）などを用いて取得した自己の位置情報をサーバ装置に送信し、サーバ装置が受信した位置情報に基づいて各種サービスをクライアント装置に提供する利用形態が広く知られている。
【０００３】
特許文献１には、自動車のＥＣＵ（Electronic Control Unit）の内容を書き換えるツールが、現在位置を取得して認証センタに送信し、認証センタが、ツールが許可されているエリア内にある場合にのみ、認証情報を生成する技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−０１５８８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記利用形態において、基本的に、位置情報はクライアント装置の自己申告であり、サーバ装置は、その位置情報が真正なものであるか否かを判定することはできない。また、クライアント装置が不正使用（例えば、乗っ取り）されることにより、位置情報が偽装される場合もある。
【０００６】
特に、クライアント装置の位置の厳格な判定が必要なサービス（例えば、セキュリティサービス）の場合、位置情報が偽装されることはサービスにとって致命的なことである。
【０００７】
特許文献１の技術は、ツール自体が不正使用される危険性を完全には排除できない。
【０００８】
本発明は、上記課題を解決するためになされたものであり、クライアント装置の位置情報を信頼足り得るものとすることが可能な位置情報保証装置、位置情報保証方法、位置情報保証プログラム、および通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の位置情報保証装置は、電子署名を利用する第１通信装置に対して通信可能且つ分離可能に構成され、前記位置情報保証装置に固有の署名鍵を予め記憶する記憶手段と、前記位置情報保証装置の位置情報を取得する取得手段と、前記署名鍵を用いて、取得された前記位置情報についての前記電子署名を生成し、前記位置情報および前記電子署名を前記第１通信装置へ送信する電子署名手段と、を備える。
【００１０】
本発明の位置情報保証方法は、位置情報保証装置における位置情報保証方法であって、前記位置情報保証装置は、電子署名を利用する第１通信装置に対して通信可能且つ分離可能に構成され、前記位置情報保証装置に固有の署名鍵を予め記憶し、前記位置情報保証装置の位置情報を取得し、前記署名鍵を用いて、取得された前記位置情報についての前記電子署名を生成し、  前記位置情報および前記電子署名を前記第１通信装置へ送信することを特徴とする。
【００１１】
本発明の位置情報保証プログラムは、電子署名を利用する第１通信装置に対して通信可能且つ分離可能に構成される位置情報保証装置のコンピュータに、前記位置情報保証装置に固有の署名鍵を所定の記憶手段に予め記憶する記憶処理と、前記位置情報保証装置の位置情報を取得する取得処理と、前記署名鍵を用いて、取得された前記位置情報についての前記電子署名を生成し、前記位置情報および前記電子署名を前記第１通信装置へ送信する電子署名処理と、を実行させるためのプログラムである。
【００１２】
本発明の通信システムは、電子署名を利用する第１通信装置と、前記第１通信装置と通信する第２通信装置と、位置情報保証装置と、を備え、前記位置情報保証装置は、前記第１通信装置に対して通信可能且つ分離可能に構成され、前記位置情報保証装置に固有の署名鍵を予め記憶する記憶手段と、前記位置情報保証装置の位置情報を取得する取得手段と、前記署名鍵を用いて、取得された前記位置情報についての前記電子署名を生成し、前記位置情報および前記電子署名を前記第１通信装置へ送信する電子署名手段と、を備え、前記第１通信装置は、前記位置情報保証装置から受信した前記位置情報および前記電子署名を前記第２通信装置へ送信し、  前記第２通信装置は、前記署名鍵とペアとなる検証鍵を予め記憶する検証鍵記憶手段と、前記第１通信装置から受信した前記電子署名が前記位置情報に対して真正なものであるかを、前記検証鍵を用いて検証する電子署名検証手段と、を備える。
【発明の効果】
【００１３】
本発明によれば、電子署名を利用する第１通信装置の位置情報を信頼足り得るものとすることが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態に係る位置情報保証装置の構成例を示すブロック図である。
【図２】図１に示す位置情報保証装置の動作例を説明するためのフローチャートである。
【図３】本発明の第２の実施形態に係る位置情報保証装置の構成例を示すブロック図である。
【図４】本発明の第３の実施形態に係る通信システムの構成例を示すブロック図である。
【図５】本発明の第４の実施形態に係るクライアントサーバシステムの構成例を示すブロック図である。
【図６】図５に示すサーバ装置に含まれる位置情報データベースのデータ構成の一例を示すデータ構成図である。
【図７】図５のクライアントサーバシステムにおけるデータの流れの一例を説明するシーケンスチャートである。
【図８】図５に示すサーバ装置の動作例を説明するフローチャートである。
【図９】本発明の第５の実施形態に係るクライアントサーバシステム（ワンタイムパスワード）の構成例を示すブロック図である。
【図１０】本発明の第６の実施形態に係るクライアントサーバシステム（アカウントロック解除）の構成例を示すブロック図である。
【図１１】図１０に示される認証情報データベースのデータ構成の一例を示すデータ構成図である。
【図１２】図１０に示されるサーバ装置の動作例を説明するフローチャートである。
【発明を実施するための形態】
【００１５】
［第１の実施形態］
（構成の説明）
図１は、本発明の第１の実施形態に係る位置情報保証装置１０の構成例を示すブロック図である。位置情報保証装置１０は、電子署名を利用する第１通信装置（図１において不図示）に対して通信可能且つ分離可能に構成される。ここで、第１通信装置は、図１に示されない第２通信装置とネットワークを介して通信可能である。すなわち、位置情報保証装置１０と、第１通信装置と、第２通信装置とで通信システムが構成される。通信システムは、例えば、クライアントサーバシステムであり、この場合、第１通信装置はクライアント装置であり、第２通信装置はサーバ装置である。
【００１６】
位置情報保証装置１０は、記憶部１２（記憶手段の一例）と、取得部１４（取得手段の一例）と、電子署名部１６（電子署名手段の一例）と、を備える。
【００１７】
記憶部１２は、位置情報保証装置１０に固有の署名鍵を予め記憶する。所定の装置（例えば、第２通信装置）は、位置情報保証装置１０の署名鍵とこれとペアとなる検証鍵とを作成する。そして、署名鍵は位置情報保証装置１０に予め記憶され、検証鍵は第２通信装置の所定の記憶手段に記憶される。署名鍵が書き込まれた位置情報保証装置１０は、第１通信装置を利用するユーザ（すなわち、通信システムのサービスを受けようとするユーザ）に手渡しで配布される。取得部１４は、位置情報保証装置１０の位置情報を取得する。電子署名部１６は、署名鍵を用いて、取得された位置情報についての電子署名を生成する。電子署名部１６は、位置情報および電子署名を第１通信装置へ送信する。
【００１８】
なお、位置情報保証装置１０は、有線ケーブルやＵＳＢ（Universal Serial Bus）等を介して第１通信装置に接続される。すなわち、位置情報保証装置１０は、第１通信装置の近傍で使用される。よって、厳密には同一ではないが、実質的に、位置情報保証装置１０の位置を第１通信装置の位置とみなすことができる。
（動作の説明）
図２は、図１に示す位置情報保証装置１０の動作例（位置情報保証方法）を説明するためのフローチャートである。
【００１９】
図２に示される動作に先立って、上述したように、記憶部１２には位置情報保証装置１０に固有の署名鍵が予め記憶されているものとする。
【００２０】
まず、取得部１４は、位置情報保証装置１０の位置情報を取得する（ステップＳ１）。電子署名部１６は、署名鍵を用いて、取得された位置情報についての電子署名を生成する（ステップＳ２）。例えば、電子署名部１６は、取得した位置情報に対して予め規定されたハッシュ関数を実行することにより、位置情報のハッシュ値を得る。そして、電子署名部１６は、このハッシュ値を、署名鍵で暗号化することにより電子署名を生成する。電子署名部１６は、位置情報および電子署名を第１通信装置へ送信する（ステップＳ３）。
【００２１】
なお、位置情報および電子署名は、第１通信装置を介して第２通信装置へ送信される。第２通信装置は、検証アルゴリズムを実行する。検証アルゴリズムにおいて、電子署名が真正なものか否かが判定される。例えば、第２通信装置は、第１通信装置から受信した電子署名を検証鍵で復号することによりハッシュ値を得る。一方、第２通信装置は、前述のハッシュ関数を用いて受信した位置情報についてのハッシュ値を算出する。第２通信装置は、電子署名に基づくハッシュ値と位置情報に基づくハッシュ値とを比較し、両者が一致する場合には、その電子署名は正当（valid）と判断し、不一致の場合には、その電子署名は、不当（invalid）と判断する。
（効果の説明）
以上説明した第１の実施形態において、位置情報保証装置１０は、第１通信装置に対して通信可能且つ分離可能に構成される。すなわち、汎用的のＯＳ（Operating System）を搭載するなどして乗っ取られる可能性が高い第１通信装置と比べて位置情報保証装置１０自体が乗っ取られる可能性は極めて高い。すなわち、位置情報保証装置１０の位置情報が改ざんされる可能性は低い。
【００２２】
さらに、第１の実施形態の場合、位置情報の取得と電子署名とは、同一装置（すなわち、位置情報保証装置１０）内にて一貫して実行され、しかも、位置情報についての電子署名の生成は、位置情報取得後に即座に実行される。すなわち、位置情報の取得からそれについての電子署名が生成される間に位置情報を偽装する余地は皆無に等しい。
【００２３】
以上を纏めると、第１の実施形態によれば、第２通信装置に送信される第１通信装置の位置情報を信頼足り得るものとすることが可能となる。
［第２の実施形態］
図３は、本発明の第２の実施形態に係る位置情報保証装置３００の構成例を示すブロック図である。位置情報保証装置３００は、記憶部３０２と、プロセッサを含む制御部３０４と、を備える。記憶部３０２は、コンピュータ読み取り可能な記録媒体であり、位置情報保証プログラム３５０を記憶する。位置情報保証プログラム３５０は、例えば、図２に示される処理を制御部３０４に実行させるためのプログラムである。
【００２４】
以上説明した第２の実施形態によれば、第１の実施形態と同様に、第２通信装置に送信される第１通信装置の位置情報を信頼足り得るものとすることが可能となる。
【００２５】
なお、制御部３０４の例としては、例えば、ＣＰＵ（Central Processing Unit）とＣＰＵが実行する命令を記憶するメモリを挙げることができる。また、コンピュータ読み取り可能な記録媒体は、例えば、非一時的な記憶装置である。非一時的な記憶装置の例としては、例えば、光磁気ディスク、ＲＯＭ（Read Only Memory）、不揮発性半導体メモリ等の可搬媒体、コンピュータシステムに内蔵されるハードディスクを挙げることができる。また、コンピュータ読み取り可能な記録媒体は、一時的な記憶装置であってもよい。一時的な記憶装置の例としては、例えば、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線、あるいは、コンピュータシステム内部の揮発性メモリを挙げることができる。
［第３の実施形態］
（構成の説明）
図４は、本発明の第３の実施形態に係る通信システム１００の構成例を示すブロック図である。通信システム１００は、位置情報保証装置１０２と、第１通信装置１０４と、第２通信装置１０６と、を備える。
【００２６】
位置情報保証装置１０２は、第１通信装置１０４に対して通信可能且つ分離可能に構成される。位置情報保証装置１０２は、記憶部１１０（記憶手段の一例）と、取得部１１２（取得手段の一例）と、電子署名部１１４（電子署名手段の一例）と、を備える。
【００２７】
記憶部１１０は、位置情報保証装置１００に固有の署名鍵を予め記憶する。取得部１１２は、位置情報保証装置１００の位置情報を取得する。電子署名部１１４は、署名鍵を用いて、取得された位置情報についての電子署名を生成する。電子署名部１１４は、位置情報および電子署名を第１通信装置１０４へ送信する。
【００２８】
第１通信装置１０４は、位置情報保証装置１０２から受信した位置情報および電子署名を第２通信装置１０６へ送信する。
【００２９】
第２通信装置１０６は、検証鍵記憶部１２０（検証鍵記憶手段の一例）と、電子署名検証部１２２（電子署名検証手段の一例）と、を備える。検証鍵記憶部１２０は、上記署名鍵とペアとなる検証鍵を予め記憶する。電子署名検証部１２２は、電子署名が位置情報に対して真正なものであるかを、検証鍵を用いて検証する。
【００３０】
なお、所定の装置（例えば、第２通信装置）は、位置情報保証装置１００の署名鍵とこれとペアとなる検証鍵とを作成する。署名鍵は、位置情報保証装置１０２の記憶部１１０に予め記憶され、検証鍵は、第２通信装置１０６の検証鍵記憶部１２０に予め記憶される。署名鍵が書き込まれた位置情報保証装置１０２は、第１通信装置１０４を利用するユーザ（すなわち、通信システム１００のサービスを受けるユーザ）に手渡しで配布される。
【００３１】
また、位置情報保証装置１０２は、有線ケーブルやＵＳＢ等を介して第１通信装置１０４に接続される。すなわち、位置情報保証装置１０２は、第１通信装置１０４の近傍で使用される。よって、厳密には同一ではないが、実質的に、位置情報保証装置１０２の位置を第１通信装置１０４の位置とみなすことができる。
（動作の説明）
まず、記憶部１１０には、所定の書込装置によって、位置情報保証装置１０２に固有の署名鍵が予め記憶され、一方、第２通信装置１０６の検証鍵記憶部１２０には、署名鍵とペアとなる検証鍵が予め記憶される。
【００３２】
取得部１１２は、任意のタイミング（例えば、ユーザによる第１通信装置へのログイン時）に位置情報保証装置１０２の位置情報を取得する。電子署名部１１４は、署名鍵を用いて、取得された位置情報についての電子署名を生成する。電子署名部１１４は、位置情報および電子署名を第１通信装置１０４へ送信する。
【００３３】
例えば、電子署名部１１４は、取得した位置情報に対して予め規定されたハッシュ関数を実行することにより、位置情報のハッシュ値を得る。そして、電子署名部１１４は、このハッシュ値を、署名鍵で暗号化することにより電子署名を生成する。
【００３４】
第１通信装置１０４は、受信した位置情報および電子署名を、第２通信装置１０６へ送信する。第２通信装置１０６の電子署名検証部１２２は、電子署名が真正なものか否かを判定する。
【００３５】
例えば、電子署名検証部１２２は、受信した電子署名を、検証鍵記憶部１２０から読み出した検証鍵で復号化することによりハッシュ値を得る。一方、電子署名検証部１２２は、前述したハッシュ関数を用いて受信した位置情報についてのハッシュ値を算出する。電子署名検証部１２２は、電子署名に基づくハッシュ値と位置情報に基づくハッシュ値とを比較し、両者が一致する場合には、その電子署名は正当（valid）と判断し、不一致の場合には、その電子署名は、不当（invalid）と判断する。
（効果の説明）
以上説明した第３の実施形態において、位置情報保証装置１０２は、第１通信装置１０４に対して通信可能且つ分離可能に構成される。すなわち、汎用的のＯＳを搭載するなどして乗っ取られる可能性が高い第１通信装置１０４と比べて位置情報保証装置１０２自体が乗っ取られる可能性は極めて高い。すなわち、位置情報保証装置１０２の位置情報が改ざんされる可能性は低い。
【００３６】
さらに、第３の実施形態の場合、位置情報の取得と電子署名とは、同一装置（すなわち、位置情報保証装置１０２）内にて一貫して実行され、しかも、位置情報についての電子署名の生成は、位置情報取得後に即座に実行される。すなわち、位置情報の取得からそれについての電子署名が生成される間に位置情報を偽装する余地は皆無に等しい。
【００３７】
以上を纏めると、第３の実施形態によれば、第２通信装置に送信される第１通信装置の位置情報を信頼足り得るものとすることが可能となる。
【００３８】
なお、以上説明した第３の実施形態において、位置情報保証装置１０２のハードウェア構成は、図４に示される構成に限定されない。位置情報保証装置１０２の構成は、例えば、図３の構成（すなわち、プロセッサを含む制御部が、位置情報保証プログラムを実行することにより機能を実現させる構成）とすることもできる。
［第４の実施形態］
（構成の説明）
図５は、本発明の第４の実施形態に係るクライアントサーバシステム２００（通信システムの一例）の構成例を示すブロック図である。クライアントサーバシステム２００は、位置情報保証装置２０２と、クライアント装置２０４（第１通信装置の一例）と、サーバ装置２０６（第２通信装置の一例）と、を備える。
【００３９】
位置情報保証装置２０２は、クライアント装置２０４に対して通信可能且つ分離可能に構成される。位置情報保証装置２０２は、記憶部２１０（記憶手段の一例）と、取得部２１２（取得手段の一例）と、電子署名部２１４（電子署名手段の一例）と、を備える。
【００４０】
記憶部２１０は、位置情報保証装置２０２に固有の署名鍵を予め記憶する。取得部２１２は、  ＧＰＳ（Global Positioning System）などを用いて、位置情報保証装置２０２の位置情報を取得する。
【００４１】
電子署名部２１４は、取得部２１２によって取得された位置情報とクライアント装置２０４を経由してサーバ装置２０６から受信した乱数とを結合して第１送信側結合データを作成する。電子署名部２１４は、記憶部２１０に記憶されている署名鍵を用いて、第１送信側結合データについての電子署名を生成する。電子署名部２１４は、位置情報と電子署名とをクライアント装置２０４へ送信する。
【００４２】
クライアント装置２０４は、位置情報保証装置２０２およびサーバ装置２０６と通信することが可能である。例えば、クライアント装置２０４は、サーバ装置２０６から乱数を受信し、受信した乱数を位置情報保証装置２０２へ送信する。また、クライアント装置２０４は、位置情報保証装置２０２から受信した位置情報および電子署名を、サーバ装置２０６へ送信する。
【００４３】
サーバ装置２０６は、乱数生成部２２０と、通信部２２２と、検証鍵記憶部２２４と、電子署名検証部２２６と、位置情報データベース２２８と、位置情報検証部２３０と、を備える。
【００４４】
乱数生成部２２０は、乱数を生成する。通信部２２２は、クライアント装置２０４と通信する。例えば、通信部２２２は、乱数生成部２２０で生成された乱数をクライアント装置２０４に送信する。また、例えば、通信部２２２は、クライアント装置２０４から、位置情報および電子署名を受信する。
【００４５】
検証鍵記憶部２２４は、上記署名鍵とペアとなる検証鍵を記憶する。
【００４６】
電子署名検証部２２６は、通信部２２２を介してクライアント装置２０４に送信した乱数と、クライアント装置２０４から受信した位置情報と、を結合して第１受信側結合データを作成する。電子署名検証部２２６は、クライアント装置２０４から受信した電子署名が、第１受信側結合データに対する真正なものであることを、検証鍵記憶部２２４から読み出した検証鍵を用いて検証する。
【００４７】
例えば、電子署名検証部２２６は、受信した電子署名を検証鍵で復号することによりハッシュ値を得る。一方、電子署名検証部２２６は、予め規定されたハッシュ関数を用いて第１受信側結合データについてのハッシュ値を算出する。電子署名検証部２２６は、電子署名に基づくハッシュ値と第１受信側結合データに基づくハッシュ値とを比較し、両者が一致する場合には、その電子署名は正当（valid）と判断し、不一致の場合には、その電子署名は、不当（invalid）と判断する。
【００４８】
位置情報データベース２２８は、特定の場所についての位置情報を格納するデータベースである。図６は、位置情報データベース２２８のデータ構成の一例を示すデータ構成図である。図６では、地理座標（３５°６５’Ｎ（北緯），  １３９°７５’Ｅ（東経））から１０ｍの範囲内を本社ビルとみなすことが例示されている。なお、図６では、位置情報データベース２２８に登録される場所が１つである場合が例示されているが、登録される場所は複数であってもよい。
【００４９】
位置情報検証部２３０は、クライアント装置２０４から受信した電子署名が真正なものである場合、クライアント装置２０４から受信した位置情報が、位置情報データベース２２８に登録されているか否かを判定する。この場合、“登録”には、位置情報に示される座標が位置情報データベース２２８の座標と一致している場合と、一致はしていないものの許容範囲内に収まっている場合とが含まれる。位置情報検証部２３０は、位置情報が位置情報データベース２２８に登録されている場合にはその位置情報を受理（accept）し、一方、位置情報が位置情報データベース２２８に登録されていない場合にはその位置情報を棄却（reject）する。なお、クライアント装置２０４から受信した電子署名が真正なものでない場合、その位置情報は、位置情報検証部２３０の判定を待つまでもなく、電子署名検証部２２６によって棄却される。
（動作の説明）
以下、図７および図８を用いて、クライアントサーバシステム２００の動作例について説明する。
【００５０】
図７は、クライアントサーバシステム２００におけるデータの流れの一例を説明するシーケンスチャートである。まず、クライアント装置２０４は、位置情報の送信に先立ってサーバ装置２０６に対して位置情報の送信を開始することを通知する（ステップＳ１０）。該通知を受信したサーバ装置２０６の通信部２２２は、乱数生成部２２０によって生成された乱数をクライアント装置２０４へ送信する（ステップＳ１１）。クライアント装置２０４は、サーバ装置２０６から送信した乱数を位置情報保証装置２０２へ送信する（ステップＳ１２）。この場合、乱数自体を位置情報送信のトリガとすることができ、あるいは、乱数に位置情報送信を要求するコマンドを付加することができる。
【００５１】
位置情報保証装置２０２の電子署名部２１４は、取得部２１２によって取得された位置情報と、クライアント装置２０４から送信された乱数とを結合して第１送信側結合データを作成する。電子署名部２１４は、記憶部２１０に記憶されている署名鍵を用いて、第１送信側結合データについての電子署名を生成する。電子署名部２１４は、位置情報と電子署名とをクライアント装置２０４へ送信する（ステップＳ１３）。
【００５２】
例えば、電子署名部２１４は、作成された第１送信側結合データに対して予め規定されたハッシュ関数を実行することにより、第１送信側結合データのハッシュ値を得る。そして、電子署名部１１４は、このハッシュ値を、署名鍵で暗号化することにより電子署名を生成する。
【００５３】
クライアント装置２０４は、位置情報保証装置２０２から受信した位置情報および電子署名を、サーバ装置２０６へ送信する（ステップＳ１４）。サーバ装置２０６は、クライアント装置２０４から送信された位置情報および電子署名を検証する。
【００５４】
図８は、図５に示されるサーバ装置２０６の動作例（位置情報および電子署名の検証動作例）を説明するフローチャートである。電子署名検証部２２６は、検証鍵記憶部２２４からクライアント装置２０４のユーザに割り振られた検証鍵（すなわち、上記署名鍵とペアとなる検証鍵）を取得する（ステップＳ２０）。
【００５５】
電子署名検証部２２６は、通信部２２２を介してクライアント装置２０４に送信した乱数と、クライアント装置２０４から受信した位置情報と、を結合して第１受信側結合データを作成する（ステップＳ２１）。
【００５６】
電子署名検証部２２６は、クライアント装置２０４から受信した電子署名が、第１受信側結合データに対する真正なものであるか否かを、検証鍵記憶部２２４から読み出した検証鍵を用いて判定する（ステップＳ２２）。
【００５７】
例えば、電子署名検証部２２６は、受信した電子署名を検証鍵で復号することによりハッシュ値を得る。一方、電子署名検証部２２６は、予め規定されたハッシュ関数を用いて第１受信側結合データについてのハッシュ値を算出する。電子署名検証部２２６は、電子署名に基づくハッシュ値と第１受信側結合データに基づくハッシュ値とを比較し、両者が一致する場合には、その電子署名は正当（valid）と判断し、不一致の場合には、その電子署名は、不当（invalid）と判断する。
【００５８】
クライアント装置２０４から受信した電子署名が真正なものである場合（ステップＳ２２のＹｅｓ）、位置情報検証部２３０は、クライアント装置２０４から受信した位置情報が、位置情報データベース２２８に登録されているか否かを判定する（ステップＳ２３）。
【００５９】
位置情報が位置情報データベース２２８に登録されている場合（ステップＳ２３のＹｅｓ）、位置情報検証部２３０は、その位置情報を受理する。一方、位置情報が位置情報データベース２２８に登録されていない場合（ステップＳ２３のＮｏ）、位置情報検証部２３０は、その位置情報を棄却する。
【００６０】
一方、クライアント装置２０４から受信した電子署名が真正なものでない場合（ステップＳ２２においてＮｏ）、その位置情報は、位置情報検証部２３０の判定を待つまでもなく、電子署名検証部２２６によって棄却される（ステップＳ２５）。
（効果の説明）
以上説明した第４の実施形態によれば、第１〜第３の実施形態と同様に、サーバ装置２０６に送信されるクライアント装置２０４の位置情報を信頼足り得るものとすることが可能となる。
【００６１】
上記効果に加えて、第４の実施形態の場合、サーバ装置２０６で生成された乱数と位置情報との組み合わせに対して電子署名を行うので、過去に発行された位置情報の再利用等を防止することが可能となる。
【００６２】
さらに、第４の実施形態では、クライアント装置２０４から受信した電子署名が真正であり、且つクライアント装置２０４から受信した位置情報が位置情報データベース２２８に登録されている場合にその位置情報を受理（accept）する仕組みを採用している。これにより、より高い安全性が要求されるサービス（例えば、自社ビルへの入退場管理サービス）にも対応することが可能となる。
【００６３】
なお、以上説明した第４の実施形態において、位置情報保証装置２０２のハードウェア構成は、図５に示される構成に限定されない。位置情報保証装置２０２の構成は、例えば、図３の構成（すなわち、プロセッサを含む制御部が、位置情報保証プログラムを実行することにより機能を実現させる構成）とすることもできる。
［第５の実施形態］
（構成および動作の説明）
図９は、本発明の第５の実施形態に係るクライアントサーバシステム２００Ａ（通信システムの一例）の構成例を示すブロック図である。クライアントサーバシステム２００Ａは、位置情報保証装置２０２Ａと、クライアント装置２０４Ａと、サーバ装置２０６Ａと、を備える。図９に示すクライアントサーバシステム２００Ａの構成は、かなりの点において、図５に示すクライアントサーバシステム２００と共通している。クライアントサーバシステム２００Ａのクライアントサーバシステム２００に対する差異は、乱数の代わりに時刻同期型ワンタイムパスワードを使用する点にある。
【００６４】
以下では、上記差異に関する部分についてのみ説明し、共通部分についての説明は省略する。なお、時刻同期型ワンタイムパスワードとは、一定時間が経過する度に内容が変化するパスワードのことである。例えば、時刻同期型ワンタイムパスワードは、管理者から利用者に配布されるトークンと呼ばれる機器に表示される。この時刻同期型ワンタイムパスワードと利用者のユーザ名とを組み合わせて入力することで、セキュリティ強度をより高めることができる。
【００６５】
位置情報保証装置２０２Ａは、ワンタイムパスワード生成部２１６（第２パスワード生成手段）を備える。サーバ装置２０６Ａは、乱数生成部２２０に替えて、ワンタイムパスワード生成部２３２（第１パスワード生成手段）をさらに備える。
【００６６】
ワンタイムパスワード生成部２１６とワンタイムパスワード生成部２３２は、同一時刻に同一のワンタイムパスワードを生成する。
【００６７】
そして、電子署名部２１４は、ワンタイムパスワード生成部２１６で生成されたワンタイムパスワードと、取得部２１２で所得された位置情報と、を結合して第２送信側結合データを作成する。電子署名部２１４は、記憶部２１０に記憶されている署名鍵を用いて、第２送信側結合データについての電子署名を生成する。
【００６８】
一方、電子署名検証部２２６は、ワンタイムパスワード生成部２３２で生成されたワンタイムパスワードとクライアント装置２０４Ａから受信した位置情報とを結合して第２受信側結合データを作成する。電子署名検証部２２６は、クライアント装置２０４Ａから受信した電子署名が、第２受信側結合データに対する真正なものであるか否かを、検証鍵記憶部２２４から読み出した検証鍵を用いて判定する。
（効果の説明）
以上説明した第５の実施形態によれば、第４の実施形態と同様の効果が奏される。さらに、第５の実施形態の場合、ワンタイムパスワードは、位置情報保証装置２０２Ａおよびサーバ装置２０６Ａの双方で生成されるため、乱数の受け渡しのような装置間での通信は、不要である。
【００６９】
なお、以上説明した第５の実施形態において、位置情報保証装置２０２Ａのハードウェア構成は、図９に示される構成に限定されない。位置情報保証装置２０２Ａの構成は、例えば、図３の構成（すなわち、プロセッサを含む制御部が、位置情報保証プログラムを実行することにより機能を実現させる構成）とすることもできる。
［第６の実施形態］
（構成の説明）
図１０は、本発明の第６の実施形態に係るクライアントサーバシステム２００Ｂ（通信システムの一例）の構成例を示すブロック図である。クライアントサーバシステム２００Ｂは、位置情報保証装置２０２Ｂと、クライアント装置２０４Ｂと、サーバ装置２０６Ｂと、を備える。図１０に示すクライアントサーバシステム２００Ｂの構成は、かなりの点において、図５に示すクライアントサーバシステム２００と共通している。クライアントサーバシステム２００Ｂのクライアントサーバシステム２００に対する差異は、クライアントサーバシステム２００Ｂが、アカウントロックの運用性を向上させるための構成を有している点にある。以下では、上記差異に関する部分についてのみ説明し、共通部分についての説明は省略する。
【００７０】
ここで、アカウントロックとは、パスワードの総当り攻撃を回避するために、一定回数パスワードを間違えたアカウントを使用停止にするセキュリティ機能である。アカウントロックにおいて、正規の利用者がパスワードを間違えた場合でもアカウントロックされてしまう。また、業務妨害を目的とした悪意のある第三者が重要なアカウント（管理者アカウントなど）をロックさせる攻撃なども考えられる。
【００７１】
そこで、本実施形態は、鍵や生体認証などを用いて管理されたマシン室で作業をする利用者など、信頼できる場所にいる利用者はアカウントロックの対象外とすることで運用への影響を軽減させることを目的とている。
【００７２】
概略的には、クライアント装置２０４Ｂは、利用者のユーザ名およびパスワードに加え、利用者が存在する場所（詳細には、位置情報保証装置２０２Ｂが存在する場所）の位置情報をサーバ装置２０６Ｂに送信する。そして、サーバ装置２０６Ｂは、利用者が信頼できる場所に存在する場合には、当該アカウントをロックの対象外とする。
【００７３】
図１０では示されていないが、クライアント装置２０４Ｂは、利用者が入力したユーザ名およびパスワードを用いてサーバ装置２０６Ｂにログイン（認証依頼）する機能を有する。そして、ログイン時に、クライアント装置２０４Ｂは、少なくとも、ユーザ名およびパスワードに加え、位置情報保証装置２０２Ｂを用いて取得した位置情報および電子署名を、サーバ装置２０６Ｂへ送信する機能を有する。
【００７４】
サーバ装置２０６Ｂは、認証処理部２５０と、認証情報データベース２５２と、をさらに備える。認証処理部２５０は、利用者のユーザ名およびパスワードにより利用者の認証を行う。認証処理部２５０は、管理者によって予め定められた上限回数よりも多くパスワードを間違えた利用者のアカウントをロックし、ログインを拒否する。ただし、位置情報データベース２２８に予め登録されている場所に存在するクライアント装置２０４Ｂからの認証については、認証処理部２５０は、アカウントロックされている場合であってもユーザ名およびパスワードが正しければ、そのログインを受け付ける。
【００７５】
認証情報データベース２５２は、例えば、図１１に示されるように、クライアント装置２０４Ｂを少なくとも含む１以上のクライアント装置の認証情報を記憶する。認証情報データベース２５２において、ユーザ名毎に、パスワードや現在のパスワード連続不一致回数等が設定される。
（動作の説明）
図１２は、図１０に示されるサーバ装置２０６Ｂの動作例を説明するフローチャートである。
【００７６】
認証処理部２５０は、クライアント装置２０４Ｂから受信したログイン時のユーザ名が、認証情報データベース２５２に登録されているか否かを判定する（ステップＳ３０）。
【００７７】
ユーザ名が登録されていない場合（ステップＳ３０のＮｏ）、認証処理部２５０は、このログインを棄却する（ステップＳ３８）。
【００７８】
ユーザ名が登録されている場合（ステップＳ３０のＹｅｓ）、認証処理部２５０は、認証情報データベース２５２を参照することにより、クライアント装置２０４Ｂの現在のパスワード連続不一致回数を取得し、それが上限回数を上回っているか否かを判定する（ステップＳ３１）。
【００７９】
パスワード連続不一致回数が上限回数を上回っている場合（ステップＳ３１のＹｅｓ）、認証処理部２５０は、電子署名検証部２２６を用いることにより、受信した電子署名が真正なものであるか否かを検証する。電子署名が真正なものであった場合、認証処理部２５０は、位置情報検証部２２６を用いることにより、受信した位置情報が位置情報データベース２２８に登録されたものであるか否かを検証する（ステップＳ３２）。
【００８０】
電子署名が真正であり且つ位置情報が登録されたものであると判定された場合（ステップＳ３３のＹｅｓ）、認証処理部２５０は、ステップＳ３４の処理を実行する。一方、電子署名が真正でないか、あるいは真正だが位置情報が未登録と判定された場合（ステップＳ３３のＮｏ）、認証処理部２５０は、このログインを棄却する（ステップＳ３８）。
【００８１】
認証処理部２５０は、利用者が入力したパスワードと認証情報データベース２５２のパスワードとが一致するか否かを判定する（ステップＳ３４）。
【００８２】
パスワード同士が一致する場合（ステップＳ３４のＹｅｓ）、認証処理部２５０は、認証情報データベース２５２における当該利用者のパスワード連続不一致回数を“０”にする（ステップＳ３５）。そして、認証処理部２５０は、このログインを受理し（ステップＳ３６）、利用者に対してサービスの利用を許可する。
【００８３】
一方、パスワード同士が一致しない場合（ステップＳ３４のＮｏ）、認証処理部２５０は、認証情報データベース２５２における当該利用者のパスワード連続不一致回数を１だけ増加させる（ステップＳ３７）。そして、認証処理部２５０は、このログインを棄却する（ステップＳ３８）。
（効果の説明）
以上説明した第６の実施形態によれば、第４の実施形態と同様の効果が奏される。さらに、第６の実施形態の場合、位置情報データベース２２８に予め登録されている場所に存在するクライアント装置２０４Ｂからの認証については、認証処理部２５０は、アカウントロックされている場合であってもユーザ名およびパスワードが正しければ、その認証を受け付ける。従って、正規の利用者がパスワードを間違えてしまいアカウントがロックされてしまった場合や、悪意のある第三者からの攻撃により、特定のアカウントがロックされてしまった場合であっても、ログインすることが可能となる。すなわち、本実施形態によれば、アカウントロックの運用性を向上させることが可能となる。
【００８４】
なお、以上説明した第６の実施形態では、アカウントロックの運用を向上させるため構成（特に、認証情報検証部２５０と認証情報データベース２５２）を、図５のサーバ装置（乱数を生成するサーバ装置）に適用した場合が例示されているが、これに限定されない。アカウントロックの運用を向上させるための構成は、例えば、図４のサーバ装置（乱数もワンタイムパスワードも生成しないサーバ装置）や図９（ワンタイムパスワード生成するサーバ装置）に対しても適用可能である。
【００８５】
また、以上説明した第６の実施形態において、位置情報保証装置２０２Ｂのハードウェア構成は、図１０に示される構成に限定されない。位置情報保証装置２０２Ｂの構成は、例えば、図３の構成（すなわち、プロセッサを含む制御部が、位置情報保証プログラムを実行することにより機能を実現させる構成）とすることもできる。
【００８６】
以上、各実施形態を用いて本発明を説明したが、本発明の技術的範囲は、上記各実施形態の記載に限定されない。上記各実施形態に多様な変更又は改良を加えることが可能であることは当業者にとって自明である。従って、そのような変更又は改良を加えた形態もまた本発明の技術的範囲に含まれることは説明するまでもない。また、以上説明した各実施形態において使用される、数値や各構成の名称等は例示的なものであり適宜変更可能である。
【符号の説明】
【００８７】
１０    位置情報保証装置
１２    記憶部
１４    取得部
１６    電子署名部
１００    通信システム
１０２    位置情報保証装置
１０４    第１通信装置
１０６    第２通信装置
１１０    記憶部
１１２    取得部
１１４    電子署名部
１２０    検証鍵記憶部
１２２    電子署名検証部
２００、２００Ａ、２００Ｂ    クライアントサーバシステム
２０２、２０２Ａ、２０２Ｂ    位置情報保証装置
２０４、２０４Ａ、２０４Ｂ    クライアント装置
２０６、２０６Ａ、２０６Ｂ    サーバ装置
２１０    記憶部
２１２    取得部
２１４    電子署名部
２１６    ワンタイムパスワード生成部
２２０    乱数生成部
２２２    通信部
２２４    検証鍵記憶部
２２６    電子署名検証部
２２８    位置情報データベース
２３０    位置情報検証部
２３２    ワンタイムパスワード生成部
２５０    認証処理部
２５２    認証情報データベース
３０２    記憶部
３０４    制御部
３５０    位置情報保証プログラム
【図１】
2018107514.tif 000003
【図２】
2018107514.tif 000004
【図３】
2018107514.tif 000005
【図４】
2018107514.tif 000006
【図５】
2018107514.tif 000007
【図６】
2018107514.tif 000008
【図７】
2018107514.tif 000009
【図８】
2018107514.tif 000010
【図９】
2018107514.tif 000011
【図１０】
2018107514.tif 000012
【図１１】
2018107514.tif 000013
【図１２】
2018107514.tif 000014