説明

情報通信システム

【課題】クライアントとサーバとの間の情報通信システムにおいて、高いセキュリティで、ユーザなりすまし対策や、Webサイトなりすまし対策が行えるようにする。
【解決手段】クライアント端末2で生成した時刻情報の履歴と暗号鍵の乱数表を用いてセッションごとに使い捨ての暗号鍵を生成して、この暗号鍵でユーザ固有情報を暗号化し、送信時刻と暗号化されたユーザ固有情報をサーバ1へ送信する。サーバ1は、暗号化されたユーザ固有情報と送信時刻を受信して、時刻情報の履歴と暗号鍵の乱数表を用いてセッションごとに使い捨ての復号鍵を生成し、この復号鍵でユーザ固有情報を復号化する。復号化したユーザ固有情報とサーバ内に保持したユーザ固有情報を照合して、ユーザなりすまし対策を行う。同様にして、Webなりすまし対策を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クライアント端末とサーバ間の認証付きアプリケーションにおけるユーザのなりすまし対策、フィッシングによるWebサーバのなりすまし対策を行う機能を有する情報通信システムに関する。
【背景技術】
【0002】
クライアント端末とサーバ間のアプリケーションにおける正規ユーザの確認方法は、クライアント端末を識別するためのCookie情報をサーバで生成してクライアント端末に送信し、クライアント端末でサーバから通知されたCookie情報を通信情報に付与してサーバへ送信し、サーバでクライアント端末から送信されたCookie情報とクライアント端末へ通知したCookie情報とを照合し、正規ユーザからの通信であることを確認する。このようなCookie情報については、例えば特許文献1に記載されている。しかしながら、第三者が正規ユーザのCookie情報を盗聴し、正規ユーザになりすましてサーバにアクセスするようなユーザなりすましが後を絶たない。
【0003】
クライアント端末とサーバ間のアプリケーションにおけるユーザ認証後のユーザなりすまし対策は、上記Cookie情報が正規ユーザ以外に盗聴されて情報が漏洩、改竄されないように、クライアント端末とサーバ間の通信情報をSSL(Secure Socket Layer)、TLS(Transport Layer Security)などで暗号化する方法が一般的である。
【0004】
また、近年、正規のWebサイトを装ったフィッシングによるなりすましが横行している。クライアント端末とサーバ間のアプリケーションにおけるWebサイトなりすまし対策は、正規ユーザが偽装Webサイトに勧誘され、クレジット番号、パスワードなど個人情報を盗聴されないように、クライアント端末で設定された偽装サイトのURLへのアクセスを防止する方法が一般的である。
【0005】
しかしながら、上記に説明したクライアント端末とサーバ間のアプリケーションのユーザなりすまし、Webサイトなりすましにおけるセキュリティ対策には、それぞれ以下に示すような課題がある。
【0006】
ユーザなりすまし対策は、クライアント端末とサーバ間の各装置間で正規ユーザからの通信であることを確認するCookie情報が盗聴されないように、SSL(Secure Socket Layer)、TLS(Transport Layer Security)などでCookie情報を含むTCP及びUDPのペイロード全体の暗号化処理と復号化処理を行うため、クライアント端末とサーバ間のエンドエンドの転送性能が劣化する問題がある。
【0007】
さらに、クライアント端末のブラウザはサーバから送信されたCookie情報をクライアント端末からサーバへの通信情報に自動付与されるため、クライアント端末とサーバ間で暗号化を実施しても、非暗号化通信へ切り替わった時にCookie情報が平文で通信され盗聴される可能性があり、セキュリティ対策が不十分である。
そこで、クライアント端末とサーバ間において使い捨ての暗号鍵を使用し、ユーザ認証を行うための情報を暗号化し、クライアントとサーバのセッション毎に認証を行うことが考えられる。
【特許文献1】特開2004−355471号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
このような使い捨て暗号化鍵技術を適用する場合、以下の点が挙げられる。
(1)使い捨ての暗号化鍵方式として、クライアントとサーバ間において時刻同期をとり、固定パスワードを時刻データで暗号化してワンタイムパスワードを生成する方式がある。
しかしながら、この方式では、同期をとる時間間隔をクライアントとサーバ間で定めているため、かかる間の通信は、同じ暗号化文になってしまう。そうすると、第三者に情報をなりすまされてしまう可能性が高くなってしまう。また、同期をとる時間間隔を短くした場合は、なりすましされる可能性は低減できるが、クライアントとサーバ間の通信トラフィックが増大し、クライントとサーバに負荷がかかり過ぎてしまい現実的ではない。
(2)これとは別の使い捨ての暗号化鍵方式として、サーバから送られてきたチャレンジコードで固定パスワードを暗号化して、ワンタイムパスワードを生成する場合がある。
しかしながら、この方式では、クライアントからサーバにチャレンジコードを要求する通信、サーバからチャレンジコードをクライアント側に送信する通信、クライアントからサーバへの認証情報を送信する通信と少なくとも3回の通信が必要になる。したがって、セッション毎に暗号化を行う場合は、通信トラフィックが増大してしまうという問題があり、必ずしも適切とはいえない。さらに、また第三者にチャレンジコードが盗まれてしまった場合は、パスワードなどのユーザ認証情報が解読されてしまう恐れがある。
【0009】
上述の課題を鑑み、本発明の目的は、クライアント端末とサーバとの間の情報通信システムにおいて、負荷を増大させずに、セキュリティを確保できる情報通信システムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上述の課題を解決するために、本発明は、サーバと、前記サーバと情報通信網を介して通信可能なクライアント端末とを有する情報通信システムにおいて、前記クライアント端末は、ユーザ固有情報を保存する第1のユーザ固有情報抽出手段と、現在時刻を示す現在時刻情報を取得する第1の現在時刻情報取得手段と、前記第1の現在時刻情報取得手段が取得した現在時刻情報を前記サーバに送信する第1の現在時刻情報送信手段と、前記サーバの第2の現在時刻情報送信手段から送信される現在時刻情報を受信する第1の現在時刻受信手段と、前記第1の現在時刻情報取得手段によって取得した現在時刻情報と当該現在時刻情報の前に前記第1の現在時刻情報取得手段によって取得した現在時刻情報と乱数表を用いて第1の暗号鍵を生成し、前記第1の暗号鍵を使用して前記クライアント端末から前記サーバに送信するユーザ固有情報を暗号化する第1の暗号処理手段と、前記第1の現在時刻情報受信手段によって受信した現在時刻情報と当該現在時刻情報の前に前記第1の現在時刻情報受信手段によって受信した現在時刻情報と乱数表を用いて第2の復号鍵を生成し、前記第2の復号鍵を使用して前記サーバから前記クライアント端末に送信されてくる第2の暗号鍵で暗号化されたユーザ固有情報を復号化する第2の復号処理手段と、前記第1の暗号鍵を使用して暗号化されたユーザ固有情報を前記サーバに送信すると共に、前記第2の暗号鍵を使用して暗号化されたユーザ固有情報を前記サーバから受信する第1の通信手段とを有し、前記サーバは、ユーザ固有情報を保存する第2のユーザ固有情報抽出手段と、現在時刻を示す現在時刻情報を取得する第2の現在時刻情報取得手段と、前記第2の現在時刻情報取得手段が取得した現在時刻情報を前記クライアント端末に送信する第2の現在時刻情報送信手段と、前記クライアント端末の第1の現在時刻情報送信手段から送信される現在時刻情報を受信する第2の現在時刻情報受信手段と、前記第2の現在時刻情報受信手段によって受信した現在時刻情報と当該現在時刻情報の前に前記第2の現在時刻情報受信手段によって受信した現在時刻情報と乱数表を用いて第2の暗号鍵を生成し、前記第2の暗号鍵を使用して前記サーバから前記クライアント端末に送信するユーザ固有情報を暗号化する第2の暗号処理手段と、前記第2の現在時刻情報取得手段によって取得した現在時刻情報と当該現在時刻情報の前に前記第2の現在時刻情報取得手段によって取得した現在時刻情報と乱数表を用いて第1の復号鍵を生成し、前記第1の復号鍵を使用して前記クライアント端末から前記サーバに送信されてくる第1の暗号鍵で暗号化されたユーザ固有情報を復号化する第1の復号処理手段と、前記第2の暗号鍵を使用して暗号化されたユーザ固有情報を前記クライアント端末に送信すると共に、前記第2の暗号鍵を使用して暗号化されたユーザ固有情報を前記サーバから受信する第2の通信手段とを有することを特徴とする。
【0011】
また、本発明は、上述の通信システムにおいて、前記情報通信システムにおける前記クライアント端末において、前記クライアント端末と前記サーバとの間におけるアプリケーション処理を開始する前に、前記クライアントに保持された前記クライアント端末のユーザ固有情報によって認証を行い、認証が成立した場合にアプリケーション処理を行い、認証が成立しない場合に通信情報を破棄することを特徴とする。
【0012】
また、本発明は、上述の通信システムにおいて、前記情報通信システムにおける前記サーバ端末において、前記クライアント端末と前記サーバとの間におけるアプリケーション処理を開始する前に、前記サーバ保持された前記クライアント端末のユーザ固有情報によって認証を行い、認証が成立した場合にアプリケーション処理を行い、認証が成立しない場合に通信情報を破棄することを特徴とする。
【0013】
また、本発明は、上述の通信システムにおいて、前記情報通信システムにおいて、前記第1の暗号鍵及び前記第2の暗号鍵による暗号化はセッション単位に行うことを特徴とする。
【0014】
また、本発明は、上述の通信システムにおいて、前記通信システムにおいて、クライアント端末からサーバに通信情報を送信するタイミングの現在時刻を生成し、前記現在時刻と前記時刻情報の履歴となる前回送信時刻として保存された値との排他的論理和(XOR)を計算し、前記計算された排他的論理和(XOR)の結果について、先頭ビットから順に、あらかじめ設定されたビット数ずつ抽出し、抽出したビット列をそれぞれ数値化し、予め設定されたクライアント端末とサーバで同一の暗号鍵の乱数表の中から、前記数値化した結果に該当する文字情報を抽出し、抽出結果から暗号化鍵を生成することを特徴とする。
【0015】
また、本発明は、上述の通信システムにおいて、前記通信システムにおいて、前記乱数表は、前記クライアント端末と前記サーバとで同一のものが保持されており、ユーザ固有情報ごとに作成され、認証するごとに前記乱数表を変更することを特徴とする。
【0016】
また、本発明は、サーバと、前記サーバと情報通信網を介して通信可能なクライアント端末とを有する情報通信システムにおいて前記クライアント端末と前記情報通信網との間に設けられる暗号処理装置であって、ユーザ固有情報を保存する第1のユーザ固有情報抽出手段と、現在時刻を示す現在時刻情報を取得する第1の現在時刻情報取得手段と、前記第1の現在時刻情報取得手段が取得した現在時刻情報を前記サーバに送信する第1の現在時刻情報送信手段と、前記サーバの第2の現在時刻情報送信手段から送信される現在時刻情報を受信する第1の現在時刻受信手段と、前記第1の現在時刻情報取得手段によって取得した現在時刻情報と当該現在時刻情報の前に前記第1の現在時刻情報取得手段によって取得した現在時刻情報と乱数表を用いて第1の暗号鍵を生成し、前記第1の暗号鍵を使用して前記クライアント端末から前記サーバに送信するユーザ固有情報を暗号化する第1の暗号処理手段と、前記第1の現在時刻情報受信手段によって受信した現在時刻情報と当該現在時刻情報の前に前記第1の現在時刻情報受信手段によって受信した現在時刻情報と乱数表を用いて第2の復号鍵を生成し、前記第2の復号鍵を使用して前記サーバから前記クライアント端末に送信されてくる第2の暗号鍵で暗号化されたユーザ固有情報を復号化する第2の復号処理手段と、前記第1の暗号鍵を使用して暗号化されたユーザ固有情報を前記サーバに送信すると共に、前記第2の暗号鍵を使用して暗号化されたユーザ固有情報を前記サーバから受信する第1の通信手段と、を有することを特徴とする。
【0017】
また、本発明は、上述の暗号処理装置において、前記暗号化処理システムにおいて、前記クライアント端末と前記サーバとの間におけるアプリケーション処理を開始する前に、前記サーバ保持された前記クライアント端末のユーザ固有情報によって認証を行い、認証が成立した場合にアプリケーション処理を行い、認証が成立しない場合に通信情報を破棄することを特徴とする。
【0018】
また、本発明は、サーバと、前記サーバと情報通信網を介して通信可能なクライアント端末とを有する情報通信システムにおいて前記サーバと前記情報通信網との間に設けられる暗号処理装置であって、ユーザ固有情報を保存する第2のユーザ固有情報抽出手段と、現在時刻を示す現在時刻情報を取得する第2の現在時刻情報取得手段と、前記第2の現在時刻情報取得手段が取得した現在時刻情報を前記クライアント端末に送信する第2の現在時刻情報送信手段と、前記クライアント端末の第1の現在時刻情報送信手段から送信される現在時刻情報を受信する第2の現在時刻情報受信手段と、前記第2の現在時刻情報受信手段によって受信した現在時刻情報と当該現在時刻情報の前に前記第2の現在時刻情報受信手段によって受信した現在時刻情報と乱数表を用いて第2の暗号鍵を生成し、前記第2の暗号鍵を使用して前記サーバから前記クライアント端末に送信するユーザ固有情報を暗号化する第2の暗号処理手段と、前記第2の現在時刻情報取得手段によって取得した現在時刻情報と当該現在時刻情報の前に前記第2の現在時刻情報取得手段によって取得した現在時刻情報と乱数表を用いて第1の復号鍵を生成し、前記第1の復号鍵を使用して前記クライアント端末から前記サーバに送信されてくる第1の暗号鍵で暗号化されたユーザ固有情報を復号化する第1の復号処理手段と、前記第2の暗号鍵を使用して暗号化されたユーザ固有情報を前記クライアント端末に送信すると共に、前記第2の暗号鍵を使用して暗号化されたユーザ固有情報を前記サーバから受信する第2の通信手段とを有することを特徴とする。
【0019】
また、本発明は、上述の暗号処理装置において、前記暗号化処理システムにおいて、前記クライアント端末と前記サーバとの間におけるアプリケーション処理を開始する前に、前記クライアント端末において保持された前記クライアント端末のユーザ固有情報によって認証を行い、認証が成立した場合にアプリケーション処理を行い、認証が成立しない場合に通信情報を破棄することを特徴とする。
【0020】
また、本発明は、サーバと、前記サーバと情報通信網を介して通信可能なクライアント端末とを有する情報通信システムにおける暗号処理装置のコンピュータを、ユーザ固有情報を保存する第1のユーザ固有情報抽出手段、現在時刻を示す現在時刻情報を取得する第1の現在時刻情報取得手段、前記第1の現在時刻情報取得手段が取得した現在時刻情報を前記サーバに送信する第1の現在時刻情報送信手段、前記サーバの第2の現在時刻情報送信手段から送信される現在時刻情報を受信する第1の現在時刻受信手段、前記第1の現在時刻情報取得手段によって取得した現在時刻情報と当該現在時刻情報の前に前記第1の現在時刻情報取得手段によって取得した現在時刻情報と乱数表を用いて第1の暗号鍵を生成し、前記第1の暗号鍵を使用して前記クライアント端末から前記サーバに送信するユーザ固有情報を暗号化する第1の暗号処理手段、前記第1の現在時刻情報受信手段によって受信した現在時刻情報と当該現在時刻情報の前に前記第1の現在時刻情報受信手段によって受信した現在時刻情報と乱数表を用いて第2の復号鍵を生成し、前記第2の復号鍵を使用して前記サーバから前記クライアント端末に送信されてくる第2の暗号鍵で暗号化されたユーザ固有情報を復号化する第2の復号処理手段、前記第1の暗号鍵を使用して暗号化されたユーザ固有情報を前記サーバに送信すると共に、前記第2の暗号鍵を使用して暗号化されたユーザ固有情報を前記サーバから受信する第1の通信手段、として機能させるためのプログラムである。
【0021】
また、本発明は、サーバと、前記サーバと情報通信網を介して通信可能なクライアント端末とを有する情報通信システムにおける暗号処理装置のコンピュータを、ユーザ固有情報を保存する第2のユーザ固有情報抽出手段、現在時刻を示す現在時刻情報を取得する第2の現在時刻情報取得手段、前記第2の現在時刻情報取得手段が取得した現在時刻情報を前記クライアント端末に送信する第2の現在時刻情報送信手段、前記クライアント端末の第1の現在時刻情報送信手段から送信される現在時刻情報を受信する第2の現在時刻情報受信手段、前記第2の現在時刻情報受信手段によって受信した現在時刻情報と当該現在時刻情報の前に前記第2の現在時刻情報受信手段によって受信した現在時刻情報と乱数表を用いて第2の暗号鍵を生成し、前記第2の暗号鍵を使用して前記サーバから前記クライアント端末に送信するユーザ固有情報を暗号化する第2の暗号処理手段、前記第2の現在時刻情報取得手段によって取得した現在時刻情報と当該現在時刻情報の前に前記第2の現在時刻情報取得手段によって取得した現在時刻情報と乱数表を用いて第1の復号鍵を生成し、前記第1の復号鍵を使用して前記クライアント端末から前記サーバに送信されてくる第1の暗号鍵で暗号化されたユーザ固有情報を復号化する第1の復号処理手段、前記第2の暗号鍵を使用して暗号化されたユーザ固有情報を前記クライアント端末に送信すると共に、前記第2の暗号鍵を使用して暗号化されたユーザ固有情報を前記サーバから受信する第2の通信手段として機能させるためのプログラムである。
【発明の効果】
【0022】
本発明によれば、クライアントとサーバ間のアプリケーションにおいて、アプリケーションへの接続許可されたユーザ固有情報を利用して、セッションごとにクライアントが暗号化したユーザ固有情報をサーバに通知し、サーバで正規ユーザを確認することが可能であり、高いセキュリティでユーザなりすまし対策が行える。
【0023】
本発明によれば、クライアントからサーバへのユーザ固有情報の暗号化において、セッションごとに使い捨て暗号鍵を変更し暗号化を行うことで、ユーザ固有情報が常に異なる暗号化鍵を用いることができ、強固な暗号化の実現が可能なユーザなりすまし対策が実現できる。
【0024】
本発明によれば、クライアントとサーバのアプリケーションごとに改造及び開発することなく、ユーザなりすましの脅威に対してセキュリティ対策が可能なユーザなりすまし対策が実現できる。
【0025】
本発明によれば、クライアントによる偽装Webサイトへのアクセス防止ではなく、偽装Webサイトへのアクセス後にユーザ固有情報を利用して、セッションごとにクライアントが暗号化したユーザ固有情報をサーバに通知し、サーバからそのユーザ固有情報と同じユーザ固有情報が送信されることにより、クライアントで正規Webサイトを確認することが可能なので、日々変化する偽装サイトに対しても、十分なWebサイトなりすまし対策が行える。
【0026】
本発明によれば、サーバからクライアントへのユーザ固有情報の暗号化においてセッションごとに使い捨て暗号鍵を変更し暗号化を行うことでユーザ固有情報が常に異なる暗号文になる強固な暗号化の実現が可能なWebサイトなりすまし対策が実現できる。
【0027】
本発明によれば、クライアントとサーバ間の双方向の通信情報を盗聴されても、ユーザ固有情報が解読されない強固な暗号化の実現が可能なユーザなりすまし対策が実現できる。
【0028】
本発明によれば、クライアントとサーバ間の双方向の通信情報を盗聴されても、ユーザ固有情報が解読されない強固な暗号化の実現が可能なWebサイトなりすまし対策が実現できる。
【発明を実施するための最良の形態】
【0029】
以下、本発明の実施の形態について図面を参照しながら説明する。
【0030】
<システムの概要>
図1は、本発明の実施形態の概要を示すものである。図1において、符号1はサーバ、符号2はクライアント端末である。サーバ1は、Webサイトを提供するサーバであり、サーバ1は、ルータ5を介して、インターネット4に接続されている。また、サーバ1は、認証データベース3を備えている。認証データベース3には、ユーザIDやパスワード等のユーザ固有の個人情報が格納されている。このユーザ固有情報とは、アプリケーション毎の認証情報である。具体的にいうと、例えば、1台のPCに5つのアプリケーションがインストールされている場合、それぞれ異なる5つのユーザ端末固有情報が存在することとなる。
【0031】
クライアント端末2は、各ユーザが保有するパーソナルコンピュータ等の端末である。クライアント端末2には、ブラウザのアプリケーションプログラムがインストールされている。クライアント端末2は、電話回線、ADSL回線、光ファイバ回線等のネットワーク回線6、ルータ5を介して、インターネット4に接続されている。
【0032】
図2は、クライアント端末2とサーバ1との間の処理フローの概要を示すものである。図2において、クライアント端末2がサーバ1のWebサイトにアクセスすると、サーバ1は、クライアント端末2に、ユーザ固有情報の登録画面を表示させるためのデータを送信する(ステップS101)。クライアント端末2は、サーバ1から送信されるデータを受信して、登録画面を表示し、この登録画面において、入力装置を介してユーザから入力されるユーザIDやパスワード等のユーザ固有情報の入力を受け付け、入力を受け付けたユーザ固有情報をサーバ1に送信する(ステップS102)。
サーバ1は、クライアント端末2から送信されたユーザ固有情報について、認証データベース3を参照し、ユーザ固有情報が一致するか否かの判定を行うことによって認証を行う。そして、認証が成立すると、認証が成立したことを示す認証結果がサーバ1からクライアント端末2に送信され(ステップS103)、サーバ1とクライアント端末2との間における以降の通信が可能になる。また、サーバ1の認証データベース3には、ユーザIDやパスワード等のユーザ固有情報が格納される。
【0033】
ここで、従来のシステムでは、認証を行う際に、クライアント端末2には、ユーザの固有情報がCookie情報として残され、次回の認証では、このCookie情報が用いられる。しかしながら、従来のCookie情報では、クライアント端末2のCookie情報が第三者に盗聴され、偽装ユーザにより、Webサイトがアクセスされる危険性がある。また、正規のWebサイトに似せた偽装のフィッシングサイトにより、ユーザの固有情報が盗聴される危険性がある。
【0034】
そこで、本発明の実施形態では、図2におけるステップS104a、104bで、サーバ1からクライアント端末2にユーザの固有情報が送信されるときに、情報登録、情報削除、情報修正、情報検索等の通信情報におけるWebサイトなりすまし対策が行われる。また、ステップS105a、105bで、クライアント端末2からサーバ1にユーザ固有情報が送信されるときに、情報登録、情報削除、情報修正、情報検索等の通信情報におけるユーザなりすまし対策が行われる。
【0035】
なお、この実施形態では、ブラウザなどのアプリケーションが動作するクライアント端末2と、ユーザのなりすまし対策機能とが同一筺体で動作する前提になっているが、クライアント端末2とユーザのなりすまし対策機能を有する端末とを別筐体とし、ユーザのなりすまし対策機能を有する端末を、クライアント端末2とサーバ1の間に接続するようにしてもよい。
【0036】
また、Webアプリケーションが動作するサーバ1と、Webサイトなりすまし対策機能とが同一筺体で動作する前提になっているが、サーバ1と別筺体で同様の機能を有する端末を、クライアント端末2とサーバ1の間に接続する形態としてもよい。
【0037】
また、この例では、3台のクライアント端末2がルータ5に接続されている場合について図示しているが、クライアント端末2の数は1以上であればよい。また、ネットワーク回線6としては、通信を行うことができるものであれば、種類は電話回線、ADSL(asymmetric digital subscriber line)回線、光ファイバ回線以外の通信回線を適用することも可能である。
【0038】
<機能ブロック図の説明>
次に、図1のシステムについて、図面を利用してさらに説明する。図3は、本発明の実施形態のシステムの機能ブロック図を示すものである。図3において、サーバ1において、ネットワークアプリケーション部11は、クライアント端末にWebページを提供するアプリケーションとして機能する。この図3に示されたDBとは、データベースの略のことである。
【0039】
ユーザ固有情報抽出部12は、クライアント端末2とサーバ1との間で送受信される通信情報をモニタリングし、この通信情報の中から、クライアント端末2がアプリケーション接続許可されたユーザ固有情報を抽出して保持する。
【0040】
暗号処理部13は、送信時刻生成部131と、送信時刻データベース132と、暗号鍵生成部133とを有し、サーバ1からクライアント端末2に通信情報を送信するタイミングにおける現在時刻と時刻情報の履歴(前回送信した現在時刻の情報)と暗号鍵の乱数表(図4参照)とを用いてセッションごとにユニークであって使い捨ての第2の暗号鍵を生成し、この第2の暗号鍵によってユーザ固有情報抽出部12に保持されたユーザ固有情報を暗号化し、暗号化したユーザ固有情報と送信時刻をクライアント端末2に送信する。このように、第2の暗号鍵によってユーザ固有情報を暗号化してサーバ1からクライアント端末2へ送信することにより、後に説明するように、Webサイトなりすまし対策が行われる。
【0041】
通信部14は、インターネット4を介して、サーバ1とクライアント端末2との間で通信を行う。
【0042】
復号処理部15は、情報受信部151と、受信時刻生成部152と、受信時刻データベース153と、暗号鍵生成部154とを有し、クライアント端末2からサーバ1に送信される通信情報をモニタリングし、この通信情報の中から、クライアント端末2において生成された第1の暗号鍵によって暗号化されたユーザ固有情報と、クライアント端末の送信時刻を抽出し、抽出したタイミングにおいてクライアント端末2から送信された時刻情報の履歴(現在時刻と前回受信した現在時刻)と暗号鍵の乱数表を用いて、第1の復号鍵を生成し、生成した第1の暗号鍵を用いて、暗号化されたユーザ固有情報を復号化する。
【0043】
情報照合部16は、ユーザ固有情報抽出部12で保持されたユーザ固有情報と、復号処理部15によって復号化されたユーザ固有情報と、を比較して、これらが一致しない場合は、クライアント端末2からサーバ1に送信された通信情報を廃棄する。このように、暗号化されて送られてきたユーザ固有情報を復号化し、ユーザ固有情報抽出部12で保持されたユーザ固有情報と復号処理部15で復号化したユーザ固有情報とが一致しない場合には、クライアント端末2からサーバ1へ送信された通信情報を廃棄することによって、後に説明するように、ユーザなりすまし対策を行うことが可能となる。
【0044】
サーバ情報データベース17は、図5に示すように、セッション情報(宛先IPアドレス、送信元IPアドレス、プロトコル、宛先ポート番号、送信元ポート番号)、暗号化/復号化の区分、URL、URI、暗号アルゴリズム、暗号鍵長、ユーザID、XOR値をセッション毎に記憶する。
【0045】
サーバ1の認証回数保存及び暗号鍵乱数表シャッフル部18は、ユーザ認証が成功した回数を認証DBデータベース3に保存し、あらかじめ設定されたクライアント端末2とサーバ1で同一の暗号鍵の乱数表を、あらかじめ設定された暗号鍵乱数表の文字情報の並びを認証が成功するごとに一定幅シャッフルして変更する。このようにして、サーバ1からクライアント端末2への接続許可結果の通信情報に、通信部14で認証許可回数を自動的に追加付与する。
【0046】
図3において、クライアント端末2において、ネットワークアプリケーション部21は、ブラウザ機能を有する。
【0047】
ユーザ固有情報抽出部22は、クライアント端末2とサーバ1との間で送受信される通信情報をモニタリングし、この通信情報の中から、クライアント端末2のアプリケーション接続が許可されたユーザ固有情報を抽出して保持する。
【0048】
暗号処理部23は、送信時刻生成部231と、送信時刻データベース232と、暗号鍵生成部233とを有し、クライアント端末2からサーバ1へ通信情報を送信するタイミングにおける現在時刻と時刻情報の履歴(前回送信した現在時刻の情報)と暗号鍵の乱数表(図4参照)とを用いてセッションごとにユニークで使い捨ての第1の暗号鍵を生成し、ユーザ固有情報抽出部22に保持されたユーザ固有情報をこの生成された第1の暗号鍵によって暗号化し、暗号化したユーザ固有情報と送信時刻をサーバ1へ送信する。このように、第1の暗号鍵によってユーザの固有情報を暗号化してサーバ1へ送信することにより、後に説明するように、ユーザなりすまし対策が行われる。
【0049】
通信部24は、インターネット4を介して、クライアント端末2とサーバ1との間で通信を行う。
【0050】
復号処理部25は、情報受信部251と、受信時刻生成部252と、受信時刻データベース253と、暗号鍵生成部254とを有し、サーバ1からクライアント端末2へ送信される通信情報をモニタリングし、この通信情報の中から、サーバ1において生成され送信された第2の暗号鍵によって暗号化されたユーザ固有情報と、サーバ1の送信時刻とを抽出し、抽出したタイミングにおいて、サーバ1から送信された時刻情報の履歴(現在時刻と前回受信した現在時刻)と暗号鍵の乱数表を用いて、第2の復号鍵を生成し、生成した第2の復号鍵を用いて抽出した暗号化されたユーザ固有情報を第2の復号鍵で復号化する。
【0051】
情報照合部26は、ユーザ固有情報抽出部22で保持されたユーザ固有情報と、復号処理部25で復号化されたユーザ固有情報と、を比較して、これらが一致しない場合は、サーバ1からクライアント端末2に送信された通信情報を廃棄する。このように、暗号化されて送信されたユーザ固有情報を復号化し、ユーザ固有情報抽出部22で保持されたユーザ固有情報と復号処理部25で復号化したユーザ固有情報とが一致しない場合には、サーバ1からクライアント端末2へ送信された通信情報を廃棄することによって、後に説明するように、Webサイトなりすまし対策が行われる。
【0052】
クライアント情報データベース27には、図6に示すように、セッション情報(宛先IPアドレス、送信元IPアドレス、プロトコル、宛先ポート番号、送信元ポート番号)、暗号化/復号化の区分、URL、URI、暗号アルゴリズム、暗号鍵長、ユーザID、XOR値をセッション毎に記憶する。
【0053】
クライアント端末2の認証回数保存及び暗号鍵乱数表シャッフル部28は、図4に示すあらかじめ設定されたクライアント端末2とサーバ1との間で同一の暗号鍵乱数表29を、認証許可回数に応じて、サーバ1の認証回数保存及び暗号鍵乱数表シャッフル部18と同一のアルゴリズムに従い、シャッフルする。
【0054】
<ユーザ固有情報抽出処理>
次に、本発明の実施形態のユーザなりすまし対策機能及びWebサーバなりすまし対策機能について詳細に説明する。まず、ユーザ固有情報抽出処理について説明する。
【0055】
前述の図2に示したように、本発明の実施形態のシステムでは、クライアント端末2がサーバ1のWebサイトにアクセスすると、サーバ1からクライアント端末2にユーザ固有情報の登録画面を表示させるためのデータが送信される(ステップS101)。クライアント端末2は、サーバ1から送信されるデータを受信して、登録画面を表示し、この登録画面において、入力装置を介してユーザから入力されるユーザIDやパスワード等のユーザ固有情報の入力を受け付け、入力を受け付けたユーザ固有情報をサーバ1に送信する(ステップS102)。サーバ1は、認証データベース3を参照してユーザの認証を行う。このとき、サーバ1、クライアント端末2のそれぞれにおいて、ユーザ固有情報のモニタリングが行われ、ユーザ固有情報が抽出される。
【0056】
クライアント端末2におけるユーザ固有情報抽出処理は、クライアント端末2のユーザ固有情報抽出部22により、図7に示すようにして行われる。すなわち、図7に示すように、クライアント端末2のユーザ固有情報抽出部22は、クライアント端末2からサーバ1へ、アプリケーション接続要求であるユーザ認証要求の通信情報と、サーバからクライアント端末へアプリケーション接続要求応答であるユーザ認証結果の通信情報をモニタリングして(ステップS201)、モニタリングした通信情報と、図6に示すようなクライアント情報データベース27に登録された情報とを比較して(ステップS202)、ユーザID等のユーザ固有情報を抽出して決定してクライアント端末2のメモリ上に保持する(ステップS203)。
【0057】
サーバ1におけるユーザ固有情報抽出処理は、サーバ1のユーザ固有情報抽出部12により、図8に示すようにして行われる。すなわち、図8に示すように、サーバ1のユーザ固有情報抽出部12は、クライアント端末2からサーバ1へ、アプリケーション接続要求であるユーザ認証要求の通信情報と、サーバからクライアント端末へアプリケーション接続要求応答であるユーザ認証結果の通信情報をモニタリングして(ステップS301)、モニタリングした通信情報と、図5に示すようなサーバ情報データベース17に登録された情報とを比較して(ステップS302)、ユーザID等のユーザ固有情報を抽出して決定してサーバ1のメモリ上に保持する(ステップS303)。
【0058】
<ユーザなりすまし対策処理>
次に、ユーザなりすまし対策処理について詳述する。図2に示したように、本発明の実施形態では、ステップS105a、105bで、クライアント端末2からサーバ1にユーザの固有情報が送られるときに、情報登録、情報削除、情報修正、情報検索等の通信情報におけるクライアント端末によるユーザなりすまし対策が行われる。
【0059】
図9は、ユーザなりすまし対策処理を行うときのフローを示すものである。図9において、クライアント端末2の暗号処理部23の送信時刻生成部231で、クライアント端末2からサーバ1へ通信情報を送信するタイミングで現在時刻Ctime1を生成してサーバ1に送信し、送信した時刻の履歴として送信時刻DBに保存しておき、さらに現在時刻Ctime2を生成する(ステップS501)。この現在時刻の生成は、例えば、クライアント端末2内部のシステムの時計情報を参照して取得することによって生成可能である。そして、生成した現在時刻Ctime2とクライアント端末2の送信時刻データベース232に保存された送信時刻の履歴(例えば前回送信時刻として保存された値であるCtime1)との排他的論理和(XOR)を計算し、その結果をクライアント端末2の送信時刻データベース232に保存する(ステップS502)。
【0060】
クライアント端末2の暗号鍵生成部233は、クライアント端末2の送信時刻データベース232に保存された排他的論理和(XOR)の計算結果を先頭ビットからあらかじめ設定されたビット数だけを抽出して数値化し、図4に示すようなサーバ1とクライアント端末2との間において同一の乱数表が格納された暗号鍵乱数表29を参照し、その乱数表の中から、数値化した結果に該当する文字情報を抽出する。そして、あらかじめ設定された暗号鍵長分、あらかじめ設定された数に応じたビット幅分シフトさせ、あらかじめ設定されたビット数だけを抽出して数値化し、暗号鍵乱数表29に記憶された乱数表を参照し、数値化した結果に該当する文字情報を抽出する。そして、この処理を順次繰り返して文字情報を配列することにより、使い捨ての第1の暗号鍵の文字列を生成する(ステップS503)。
【0061】
なお、クライアント端末2の送信時刻生成部231で計算され、クライアント端末2の送信時刻データベース232に保存された排他的論理和(XOR)の計算結果をあらかじめ設定されたビット数に応じたビット幅分シフトさせた結果、暗号鍵長に満たない場合は、不足しているビット数を先頭ビットから割付することにより暗号鍵長を満たすビット列を生成し、このビット列を数値化し、暗号鍵乱数表29に記憶された乱数表の中から、数値化した結果に該当する文字情報を抽出する。そして、抽出した文字情報を順に配列し、これを第1の暗号鍵として生成する。
【0062】
第1の暗号鍵が生成されると、クライアント端末2の暗号処理部23は、クライアント端末2のメモリ上に保持されていたユーザ固有情報について、クライアント端末2の暗号鍵生成部233でセッション毎に生成された使い捨ての第1の暗号鍵を用いてセッション毎に暗号化する(ステップS504)。クライアント端末2の通信部24は、クライアント端末2の暗号処理部23によって暗号化されたユーザ固有情報と現在時刻Ctime2を、クライアント端末2からサーバ1への通信情報に自動的に追加付与する(ステップS505)。
【0063】
サーバ1の復号処理部15の情報受信部151は、クライアント端末2から送信される通信情報をモニタリングし(ステップS506)、モニタリングした通信情報に基づいて、クライアント端末2の通信部24が送信した暗号化されたユーザ固有情報と現在時刻Ctime2を抽出して、抽出した現在時刻Ctime2をサーバ1の受信時刻データベース153に保存する(ステップS507)。
【0064】
サーバ1の情報受信部151は、抽出したクライアント端末2が生成した送信時刻Ctime2と、サーバ1の受信時刻データベース153に保存された受信時刻の履歴(例えば前回クライアント端末2から送信時刻として送られてきた値である時刻Ctime1)との排他的論理和(XOR)を計算し、その結果をサーバ1の受信時刻データベース153に保存する(ステップS508)。
【0065】
サーバ1の暗号鍵生成部154は、サーバ1の受信時刻データベース153に保存された排他的論理和(XOR)の計算結果を先頭ビットからあらかじめ設定されたビット数だけを抽出して数値化し、図4に示すようなサーバ1とクライアント端末2との間において同一の乱数表が格納された暗号鍵乱数表19を参照し、その乱数表の中から、数値化した結果に該当する文字情報を抽出する。そして、あらかじめ設定された暗号鍵長分、あらかじめ設定されたビット数に応じたビット幅分シフトさせ、あらかじめ設定されたビット数だけを抽出して数値化し、暗号鍵乱数表19に記憶された乱数表を参照し、数値化した結果に該当する文字情報を抽出する。そして、この処理を順次繰り返して文字情報を配列することにより、使い捨ての第1の復号鍵の文字列を生成する(ステップS509)。
【0066】
なお、サーバ1の暗号鍵生成部154で計算され、サーバ1の受信時刻データベース153に保存された排他的論理和(XOR)の計算結果をあらかじめ設定されたビット数に応じたビット幅分シフトさせた結果、暗号鍵長に満たない場合は、不足しているビット数を先頭ビットから割付することにより暗号鍵長を満足するビット列を生成し、このビット列を数値化し、暗号鍵乱数表19に記憶された乱数表の中から、数値化した結果に該当する文字情報を抽出する。そして、抽出した文字情報を順に配列し、これを第1の復号鍵として生成する。
【0067】
第1の復号鍵が生成されると、サーバ1の復号処理部15は、サーバ1の情報受信部151で抽出した、第1の暗号鍵で暗号化されたユーザ固有情報について、サーバ1の暗号鍵生成部154でセッション毎に生成された使い捨ての第1の復号鍵を用いてセッション毎に復号化する(ステップS510)。
【0068】
サーバ1の情報照合部16は、サーバ1の復号処理部15で復号化したユーザ固有情報と、サーバ1のメモリ上に保持されたユーザ固有情報とを比較し(ステップS511)、一致しない場合は、クライアント端末2からサーバ1へ送信された通信情報を廃棄し(ステップS512)、一致する場合は、サーバ1のネットワークアプリケーション部11に通信情報を通知する(ステップS513)。
【0069】
以上説明したように、本発明の実施形態では、第三者のユーザが正規ユーザの情報を盗聴し、正規ユーザになりすまして、サーバ1にアクセスするような、ユーザなりすましが防止できる。すなわち、本発明の実施形態では、クライアント端末2からサーバ1にユーザ固有情報が送信されるとき、このユーザ固有情報が第1の暗号鍵によって暗号化され、サーバ1で復号化したユーザ固有情報とクライアント端末2のメモリ上に保持したユーザ固有情報とを比較して、一致しない場合は、クライアント端末2からサーバ1へ送信される通信情報を廃棄する。このため、偽装のクライアント端末から偽装の情報が送られたとしても、その情報はサーバ1側で破棄される。
また、クライアント端末2からサーバ1にユーザ固有情報が送信されるとき、このユーザ固有情報が第1の暗号鍵によって暗号化されるため、第三者による盗聴が困難になる。また、暗号鍵が使い捨てであるため、仮に暗号鍵が盗聴されても、以降の処理においてなりすましをされることを防ぐことができる。また、暗号鍵を時刻情報の履歴に基づいて生成しているため、クライアント端末2とサーバ1とで暗号鍵と復号鍵との整合性がとりやすく、また、生成した時刻情報の履歴と、クライアント端末2とサーバ1で同一の暗号鍵の乱数表を用いてセッション毎に使い捨ての暗号鍵を生成するため、クライアント端末2とサーバ1の双方で、処理に負担がかからない。
【0070】
<Webサイトなりすまし対策処理>
次に、Webサイトなりすまし対策処理について詳述する。本発明の実施形態では、図2に示したように、ステップS104a、104bで、サーバ1からクライアント端末2にユーザの固有情報が送られるときに、情報登録、情報削除、情報修正、情報検索等の通信情報におけるWebサイトなりすまし対策が行われる。
【0071】
図10は、Webサイトなりすまし対策処理を行うときのフローを示すものである。図10において、サーバ1の暗号処理部13の送信時刻生成部231で、サーバ1からクライアント端末2へ通信情報を送信するタイミングで現在時刻Stime1を生成してクライアント端末2に送信し、送信した時刻の履歴として送信時刻DBに保存しておき、さらに現在時刻Stime2を生成する(ステップS601)。この現在時刻の生成は、例えば、サーバ1内部のシステムの時計情報を参照して取得することによって生成可能である。そして、生成した現在時刻Stime2とサーバ1の送信時刻データベース132に保存された送信時刻の履歴(例えば前回送信時刻として保存された値であるStime1)との排他的論理和(XOR)を計算し、その結果をサーバ1の送信時刻データベース132に保存する(ステップS602)。
【0072】
サーバ1の暗号鍵生成部133は、サーバ1の送信時刻データベース132に保存された排他的論理和(XOR)の計算結果を先頭ビットからあらかじめ設定されたビット数だけを抽出して数値化し、図4に示すようなサーバ1とクライアント端末2との間において同一の乱数表が格納された暗号鍵乱数表19を参照し、その乱数表の中から、数値化した結果に該当する文字情報を抽出する。そして、あらかじめ設定された暗号鍵長分、あらかじめ設定されたビット数に応じたビット幅分シフトさせ、あらかじめ設定されたビット数だけを抽出して数値化し、暗号鍵乱数表19に記憶された乱数表を参照し、数値化した結果に該当する文字情報を抽出する。そして、この処理を順次繰り返して文字情報を配列することにより、使い捨ての第2の暗号鍵の文字列を生成する(ステップS603)。
【0073】
なお、サーバ1の送信時刻生成部131で計算され、サーバ1の送信時刻データベース132に保存された排他的論理和(XOR)の計算結果をあらかじめ設定されたビット数に応じたビット幅分シフトさせた結果、暗号鍵長に満たない場合は、不足しているビット数を先頭ビットから割付することにより暗号鍵長を満たすビット列を生成し、このビット列を数値化し、暗号鍵乱数表19に記憶された乱数表の中から、数値化した結果に該当する文字情報を抽出する。そして、抽出した文字情報を順に配列し、これを第2の暗号鍵として生成する。
【0074】
第2の暗号鍵が生成されると、サーバ1の暗号処理部13は、サーバ1のメモリ上に保持されていたユーザ固有情報について、当該セッション毎に生成された第2の暗号鍵を用いてセッション毎に暗号化する(ステップS604)。サーバ1の通信部14は、サーバ1の暗号処理部13によって暗号化したユーザ固有情報と現在時刻Stime2をサーバ1からクライアント端末2への通信情報に自動的に追加付与する(ステップS605)。
【0075】
クライアント端末2の復号処理部25の情報受信部251は、サーバ1からクライアント端末2へ送信された通信情報をモニタリングし(ステップS606)、モニタリングした通信情報に基づいて、サーバ1の通信部14が送信した暗号化されたユーザ固有情報と現在時刻Stime2を抽出して、クライアント端末2の受信時刻データベース253に保存する(ステップS607)。
【0076】
クライアント端末2の情報受信部251は、抽出したサーバ1が生成した送信時刻Stime2とクライアント端末2の受信時刻データベース253に保存された受信時刻の履歴(例えば前回送信時刻としてサーバ1から送られてきた値である時刻Stime1)との排他的論理和(XOR)を計算し、その結果をクライアント端末2の受信時刻データベース253に保存する(ステップS608)。
【0077】
クライアント端末2の暗号鍵生成部254は、クライアント端末2の受信時刻データベース253に保存された排他的論理和(XOR)の計算結果を先頭ビットからあらかじめ設定されたビット数だけを抽出して数値化し、図4に示すようなサーバ1とクライアント端末2との間において同一の乱数表が格納された暗号鍵乱数表29を参照し、その乱数表の中から数値化した結果に該当する文字情報を抽出する。そして、あらかじめ設定された暗号鍵長分、あらかじめ設定されたビット数に応じたビット幅分シフトさせ、あらかじめ設定されたビット数だけを抽出して数値化し、暗号鍵乱数表29に記憶された乱数表を参照し、数値化した結果に該当する文字情報を抽出する。そして、この処理を順次繰り返して文字情報を配列することにより、使い捨ての第2の復号鍵の文字列を生成する(ステップS609)。
【0078】
クライアント端末2の暗号鍵生成部254で計算され、クライアント端末2の受信時刻データベース253に保存された排他的論理和(XOR)の計算結果をあらかじめ設定されたビット数に応じたビット幅分シフトさせた結果、暗号鍵長に満たない場合は、不足しているビット数を先頭ビットから割付することにより暗号鍵長のビット列を生成し、このビット列を数値化し、暗号鍵乱数表29に記憶された乱数表の中から、数値化した結果に該当する文字情報を抽出する。そして、抽出した文字情報を順に配列し、これを第2の復号鍵として生成する。
【0079】
第2の復号鍵が生成されると、クライアント端末2の復号処理部25は、クライアント端末2の情報受信部251で抽出した、暗号化されたユーザ固有情報について、暗号鍵生成部254でセッション毎に生成された使い捨ての第2の復号鍵を用いてセッション毎に復号化する(ステップS610)。
【0080】
クライアント端末2の情報照合部26は、クライアント端末2の復号処理部25で復号化されたユーザ固有情報とクライアント端末2のメモリ上に保持されたユーザ固有情報とを比較して(ステップS611)、一致しない場合は、サーバからクライアント端末へ送信された通信情報を廃棄し(ステップS612)、一致する場合は、ネットワークアプリケーション部21(ブラウザ)に通信情報を通知する(ステップS613)。
【0081】
以上説明したように、本発明の実施形態では、フィッシングサイトのようなWebサイトになりすましを防止できる。すなわち、本発明の実施形態では、サーバ1からクライアント端末2にユーザ固有情報が送信されるとき、このユーザ固有情報が第2の暗号鍵によって暗号化され、クライアント端末2で復号化したユーザ固有情報とクライアント端末2のメモリ上に保持したユーザ固有情報とを比較して、一致しない場合は、サーバ1からクライアント端末2へ送信される通信情報を廃棄する。このため、フィッシングサイトのような偽装のWebサイトから偽装の情報が送られたとしても、その情報はクライアント端末2側で破棄される。また、ユーザ固有情報が異なる場合には通信情報を破棄するので、日々変化する偽装サイトに対しても有効である。また、暗号鍵が使い捨てであるため、仮に暗号鍵が盗聴されても、以降の処理においてなりすましされることを防ぐことができる。また、暗号鍵を時刻情報の履歴に基づいて生成しているため、クライアント端末2とサーバ1とで暗号鍵と復号鍵との整合性がとりやすく、また、生成した時刻情報の履歴と、クライアント端末2とサーバ1で同一の暗号鍵の乱数表を用いてセッション毎に使い捨ての暗号鍵を生成するため、クライアント端末2とサーバ1の双方で、処理に負担がかからない。
【0082】
<乱数表の更新>
なお、サーバ1の認証回数保存及び暗号鍵乱数表シャッフル部18は、ユーザ認証が成功した回数を認証DB3に保存し、認証が成功するごとに、暗号鍵乱数表19について、あらかじめ設定された暗号鍵乱数表の文字情報の並びを一定幅シャッフルして変更し、サーバ1からクライアント端末2への接続許可結果の通信情報に通信部14で認証許可回数を自動的に追加付与する。
【0083】
また、クライアント端末2の通信部24でサーバからクライアント端末への通信許可結果と認証許可回数の通信情報を受信すると、クライアント端末2の認証回数保存及び暗号鍵乱数表シャッフル部28は、暗号鍵乱数表29を認証許可回数に応じてサーバ1の認証回数保存及び暗号鍵乱数表シャッフル部18と同一のアルゴリズムに従いシャッフルする。
【0084】
このように、乱数表を変更することで、暗号鍵の秘匿性が向上し、よりセキュアの高いユーザなりすまし防止やWebサイトなりすまし防止を行うことが可能となる。
【0085】
次に、暗号鍵を生成する処理について、一例を説明する。ここでは、(1)から(5)の過程に分けた場合について説明する。
(1)クライアントからサーバへ通信情報を送信するタイミングの現在時刻を生成する。
ここでは現在時刻が、9時30分56.01秒の場合、「09:30:56:01」を二進数表記にすると、「00001001 00011110 00111000 00000001」となる。
そして、前回の送信時刻が、9時30分50.00秒の場合は、「09:30:50:00」を二進数表記にし、「00001001 00011110 00110100 00000000」となる。
(2)前記時刻と送信時刻DBに前回送信時刻として保存された値との排他的論理和(XOR)を計算し、 当該計算結果を送信時刻DBに保存する。
ここでは、上記(1)で生成した2つの値のXORを生成すると、「00000000 00000000 00001100 00000001」が得られる。
【0086】
(3)前記計算結果を先頭ビットからあらかじめ設定されたビット数だけを抽出する。
ここでは、上記(2)で生成した値を予め設定されたビット数が7ビットの場合は、7ビットずつ抽出する。すると、「0000000 0000000 0000001 1000000 0001×××」となる。ここで、ビット列の右端の3文字(×の記号)については、3ビット不足しているので、この場合は3ビット分を「0」を追加する(先頭ビットから割り付けてもよい)。
「0000000 0000000 0000001 1000000 0001000」
(4)数値化する。
ここでは、上記(3)の値を10進数に変換する。
「0000000 0000000 0000001 1000000 0001000」なるビット列は、
「0 0 1 128 8」と表せる。
【0087】
(5)あらかじめ設定されたクライアントとサーバで同一の暗号鍵の乱数表の中から
数値化した結果に該当する文字情報を抽出する。
ここでは、図4に記載された乱数表の配列から、0番目、0番目、1番目、128番目、8番目の文字を取り出して、暗号化鍵を生成する。すると、例えば、「SSRYU」なる文字列が暗号鍵として生成される。
なお、この(1)から(5)の手順については、復号鍵を生成する場合も同様である。
【0088】
以上説明した実施形態によれば、クライアント端末とサーバ間において使い捨ての暗号鍵を使用し、ユーザ認証情報を暗号化し、クライアント端末とサーバのセッション毎に認証を行うようにしたので、Cookie認証を行う場合に比べ、仮に通信が盗聴されたとしても、セッション毎に違った認証情報が必要となるので、なりすましを行うことが非常に困難になる。
また、同期を必要としない時刻データと共通の乱数表を使用して、ユーザ認証情報を暗号化するようにしたので、従来のワンタイムパスワードを用いる場合に比べ、暗号化鍵が時刻とともに変更されるため、仮に通信が盗聴されても、暗号化アルゴリズムを解読することを非常に困難にすることができる。
また、乱数表を第三者に解読されないように、一定の規則により変更するようにしたので、従来のワンタイムパスワードに比べ、時刻情報と乱数表による暗号化アルゴリズムが仮に解読されたとしても、乱数表を一定の規則により変更されるので、第三者が、なりすましのための認証情報を偽装することを、さらに困難にすることができる。
また、上述の実施形態によれば、アプリケーションによらずに適用することが可能となる。また、暗号化鍵を比較的短くすることができるため、暗号化、複合に要する時間を長引かせることなく、セキュリティを確保することができる。
【0089】
また、上述した実施形態においては、サーバ側が偽装Webサイトであったとしても、セキュリティを確保することが可能である。すなわち、クライアント端末とサーバ間のアプリケーションにおけるWebサイトなりすまし対策は、正規ユーザが偽装Webサイトに勧誘され、クレジット番号、パスワードなど個人情報を盗聴されないように、フィルタリングソフト等を導入し、偽装サイトのURLを指定してアクセス防止する方法が一般的に行われている。しかし、日々変化する偽装サイトのURLを全て把握し、管理することは、非常に困難であり、セキュリティ対策を十分に行うことができない。これ対し、上述の実施形態によれば、
(A)Webサイトにアクセスした後、クライアント端末がサーバとの処理を行う前に、クライアントがサーバに暗号化されたユーザ固有の情報を送信し、サーバからそのユーザ固有情報の返信があった時のみサーバとの処理を開始する。
(B)クライアント端末が偽装サイトにアクセスし、ユーザ固有情報を偽装サイトのサーバに送信してしまった場合でも、ユーザ固有情報が解読されないように、ユーザ固有情報が暗号化されている。
(C)偽装サイトにユーザ固有情報が解読された場合であっても、サーバとクライアント端末の通信セッション毎に異なる暗号化鍵で、ユーザ固有情報が暗号化されることで、その情報を使用してクライアントに成りすましを行うことを防止することが可能となる。
これにより、偽装サイトのとなるサーバに対しても、セキュリティを確保できるとともに、なりすましを防止することが可能となる。
【0090】
なお、以上説明した実施形態においては、Webサイトなりすまし防止をするための機能、ユーザなりすましを防止するための機能をサーバ1、クライアント端末2に設ける場合について説明したが、これらの機能をサーバ1、クライアント端末2以外の端末内に暗号処理装置として設け、サーバ1とクライアント端末2との間に、この暗号処理装置を接続し、サーバ1とクライアント端末2との間の通信のセキュリティ管理をするようにしてもよい。
【0091】
また、図3におけるサーバ1、クライアント端末2の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりセキュリティ管理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
【0092】
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【0093】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【0094】
【図1】本発明が適用できる通信システムの概要を示すブロック図である。
【図2】本発明が適用できる通信システムの処理フローの概要を示すシーケンス図である。
【図3】本発明の実施形態の通信システムの概機能ブロック図である。
【図4】本発明の実施形態の通信システムにおける暗号鍵生成のための乱数表の説明図である。
【図5】本発明の実施形態の通信システムにおけるサーバ情報データベースの説明図である。
【図6】本発明の実施形態の通信システムにおけるクライアント情報データベースの説明図である。
【図7】本発明の実施形態の通信システムにおけるクライアント側でのユーザ情報抽出処理の説明図に用いるフローチャートである。
【図8】本発明の実施形態の通信システムにおけるサーバ側でのユーザ情報抽出処理の説明図に用いるフローチャートである。
【図9】本発明の実施形態の通信システムにおけるユーザなりすまし対策機能の説明に用いるフローチャートである。
【図10】本発明の実施形態の通信システムにおけるWebサイトなりすまし対策機能の説明に用いるフローチャートである。
【符号の説明】
【0095】
1:サーバ
2:クライアント端末
3:認証データベース
4:インターネット
11:ネットワークアプリケーション部
12:ユーザ固有情報抽出部
13:暗号処理部
14:通信部
15:復号処理部
16:情報照合部
17:サーバ情報データベース
18:暗号鍵乱数表シャッフル部
19:暗号鍵の乱数表
21:ネットワークアプリケーション部
22:ユーザ固有情報抽出部
23:暗号処理部
24:通信部
25:復号処理部
26:情報照合部
27:クライアント情報データベース
28:認証回数保存及び暗号鍵乱数表シャッフル部
29:暗号鍵の乱数表
131:送信時刻生成部
132:送信時刻データベース
133:暗号鍵生成部
151:情報受信部
152:受信時刻生成部
153:受信時刻データベース
154:暗号鍵生成部
231:送信時刻生成部
232:送信時刻データベース
233:暗号鍵生成部
251:情報受信部
252:受信時刻生成部
253:受信時刻データベース
254:暗号鍵生成部

【特許請求の範囲】
【請求項1】
サーバと、前記サーバと情報通信網を介して通信可能なクライアント端末とを有する情報通信システムにおいて、
前記クライアント端末は、
ユーザ固有情報を保存する第1のユーザ固有情報抽出手段と、
現在時刻を示す現在時刻情報を取得する第1の現在時刻情報取得手段と、
前記第1の現在時刻情報取得手段が取得した現在時刻情報を前記サーバに送信する第1の現在時刻情報送信手段と、
前記サーバの第2の現在時刻情報送信手段から送信される現在時刻情報を受信する第1の現在時刻受信手段と、
前記第1の現在時刻情報取得手段によって取得した現在時刻情報と当該現在時刻情報の前に前記第1の現在時刻情報取得手段によって取得した現在時刻情報と乱数表を用いて第1の暗号鍵を生成し、前記第1の暗号鍵を使用して前記クライアント端末から前記サーバに送信するユーザ固有情報を暗号化する第1の暗号処理手段と、
前記第1の現在時刻情報受信手段によって受信した現在時刻情報と当該現在時刻情報の前に前記第1の現在時刻情報受信手段によって受信した現在時刻情報と乱数表を用いて第2の復号鍵を生成し、前記第2の復号鍵を使用して前記サーバから前記クライアント端末に送信されてくる第2の暗号鍵で暗号化されたユーザ固有情報を復号化する第2の復号処理手段と、
前記第1の暗号鍵を使用して暗号化されたユーザ固有情報を前記サーバに送信すると共に、前記第2の暗号鍵を使用して暗号化されたユーザ固有情報を前記サーバから受信する第1の通信手段とを有し、
前記サーバは、
ユーザ固有情報を保存する第2のユーザ固有情報抽出手段と、
現在時刻を示す現在時刻情報を取得する第2の現在時刻情報取得手段と、
前記第2の現在時刻情報取得手段が取得した現在時刻情報を前記クライアント端末に送信する第2の現在時刻情報送信手段と、
前記クライアント端末の第1の現在時刻情報送信手段から送信される現在時刻情報を受信する第2の現在時刻情報受信手段と、
前記第2の現在時刻情報受信手段によって受信した現在時刻情報と当該現在時刻情報の前に前記第2の現在時刻情報受信手段によって受信した現在時刻情報と乱数表を用いて第2の暗号鍵を生成し、前記第2の暗号鍵を使用して前記サーバから前記クライアント端末に送信するユーザ固有情報を暗号化する第2の暗号処理手段と、
前記第2の現在時刻情報取得手段によって取得した現在時刻情報と当該現在時刻情報の前に前記第2の現在時刻情報取得手段によって取得した現在時刻情報と乱数表を用いて第1の復号鍵を生成し、前記第1の復号鍵を使用して前記クライアント端末から前記サーバに送信されてくる第1の暗号鍵で暗号化されたユーザ固有情報を復号化する第1の復号処理手段と、
前記第2の暗号鍵を使用して暗号化されたユーザ固有情報を前記クライアント端末に送信すると共に、前記第2の暗号鍵を使用して暗号化されたユーザ固有情報を前記サーバから受信する第2の通信手段とを有する
ことを特徴とする情報通信システム。
【請求項2】
前記情報通信システムにおける前記クライアント端末において、前記クライアント端末と前記サーバとの間におけるアプリケーション処理を開始する前に、前記クライアントに保持された前記クライアント端末のユーザ固有情報によって認証を行い、認証が成立した場合にアプリケーション処理を行い、認証が成立しない場合に通信情報を破棄する請求項1に記載の通信システム。
【請求項3】
前記情報通信システムにおける前記サーバ端末において、前記クライアント端末と前記サーバとの間におけるアプリケーション処理を開始する前に、前記サーバ保持された前記クライアント端末のユーザ固有情報によって認証を行い、認証が成立した場合にアプリケーション処理を行い、認証が成立しない場合に通信情報を破棄する請求項1に記載の通信システム。
【請求項4】
前記情報通信システムにおいて、前記第1の暗号鍵及び前記第2の暗号鍵による暗号化はセッション単位に行うことを特徴とする請求項1乃至3に記載の情報通信システム。
【請求項5】
前記通信システムにおいて、
クライアント端末からサーバに通信情報を送信するタイミングの現在時刻を生成し、
前記現在時刻と前記時刻情報の履歴となる前回送信時刻として保存された値との排他的論理和(XOR)を計算し、
前記計算された排他的論理和(XOR)の結果について、先頭ビットから順に、あらかじめ設定されたビット数ずつ抽出し、
抽出したビット列をそれぞれ数値化し、
予め設定されたクライアント端末とサーバで同一の暗号鍵の乱数表の中から、前記数値化した結果に該当する文字情報を抽出し、
抽出結果から暗号化鍵を生成する
ことを特徴とする請求項1乃至4に記載の情報通信システム。
【請求項6】
前記通信システムにおいて、
前記乱数表は、前記クライアント端末と前記サーバとで同一のものが保持されており、ユーザ固有情報ごとに作成され、認証するごとに前記乱数表を変更することを特徴とする請求項1乃至5に記載の情報通信システム。
【請求項7】
サーバと、前記サーバと情報通信網を介して通信可能なクライアント端末とを有する情報通信システムにおいて前記クライアント端末と前記情報通信網との間に設けられる暗号処理装置であって、
ユーザ固有情報を保存する第1のユーザ固有情報抽出手段と、
現在時刻を示す現在時刻情報を取得する第1の現在時刻情報取得手段と、
前記第1の現在時刻情報取得手段が取得した現在時刻情報を前記サーバに送信する第1の現在時刻情報送信手段と、
前記サーバの第2の現在時刻情報送信手段から送信される現在時刻情報を受信する第1の現在時刻受信手段と、
前記第1の現在時刻情報取得手段によって取得した現在時刻情報と当該現在時刻情報の前に前記第1の現在時刻情報取得手段によって取得した現在時刻情報と乱数表を用いて第1の暗号鍵を生成し、前記第1の暗号鍵を使用して前記クライアント端末から前記サーバに送信するユーザ固有情報を暗号化する第1の暗号処理手段と、
前記第1の現在時刻情報受信手段によって受信した現在時刻情報と当該現在時刻情報の前に前記第1の現在時刻情報受信手段によって受信した現在時刻情報と乱数表を用いて第2の復号鍵を生成し、前記第2の復号鍵を使用して前記サーバから前記クライアント端末に送信されてくる第2の暗号鍵で暗号化されたユーザ固有情報を復号化する第2の復号処理手段と、
前記第1の暗号鍵を使用して暗号化されたユーザ固有情報を前記サーバに送信すると共に、前記第2の暗号鍵を使用して暗号化されたユーザ固有情報を前記サーバから受信する第1の通信手段と、
を有することを特徴とする暗号処理装置。
【請求項8】
前記暗号化処理システムにおいて、前記クライアント端末と前記サーバとの間におけるアプリケーション処理を開始する前に、前記サーバ保持された前記クライアント端末のユーザ固有情報によって認証を行い、認証が成立した場合にアプリケーション処理を行い、認証が成立しない場合に通信情報を破棄する請求項7に記載の暗号処理装置。
【請求項9】
サーバと、前記サーバと情報通信網を介して通信可能なクライアント端末とを有する情報通信システムにおいて前記サーバと前記情報通信網との間に設けられる暗号処理装置であって、
ユーザ固有情報を保存する第2のユーザ固有情報抽出手段と、
現在時刻を示す現在時刻情報を取得する第2の現在時刻情報取得手段と、
前記第2の現在時刻情報取得手段が取得した現在時刻情報を前記クライアント端末に送信する第2の現在時刻情報送信手段と、
前記クライアント端末の第1の現在時刻情報送信手段から送信される現在時刻情報を受信する第2の現在時刻情報受信手段と、
前記第2の現在時刻情報受信手段によって受信した現在時刻情報と当該現在時刻情報の前に前記第2の現在時刻情報受信手段によって受信した現在時刻情報と乱数表を用いて第2の暗号鍵を生成し、前記第2の暗号鍵を使用して前記サーバから前記クライアント端末に送信するユーザ固有情報を暗号化する第2の暗号処理手段と、
前記第2の現在時刻情報取得手段によって取得した現在時刻情報と当該現在時刻情報の前に前記第2の現在時刻情報取得手段によって取得した現在時刻情報と乱数表を用いて第1の復号鍵を生成し、前記第1の復号鍵を使用して前記クライアント端末から前記サーバに送信されてくる第1の暗号鍵で暗号化されたユーザ固有情報を復号化する第1の復号処理手段と、
前記第2の暗号鍵を使用して暗号化されたユーザ固有情報を前記クライアント端末に送信すると共に、前記第2の暗号鍵を使用して暗号化されたユーザ固有情報を前記サーバから受信する第2の通信手段と
を有することを特徴とする暗号処理装置。
【請求項10】
前記暗号化処理システムにおいて、前記クライアント端末と前記サーバとの間におけるアプリケーション処理を開始する前に、前記クライアント端末において保持された前記クライアント端末のユーザ固有情報によって認証を行い、認証が成立した場合にアプリケーション処理を行い、認証が成立しない場合に通信情報を破棄する請求項9に記載の暗号処理装置。
【請求項11】
サーバと、前記サーバと情報通信網を介して通信可能なクライアント端末とを有する情報通信システムにおける暗号処理装置のコンピュータを、
ユーザ固有情報を保存する第1のユーザ固有情報抽出手段、
現在時刻を示す現在時刻情報を取得する第1の現在時刻情報取得手段、
前記第1の現在時刻情報取得手段が取得した現在時刻情報を前記サーバに送信する第1の現在時刻情報送信手段、
前記サーバの第2の現在時刻情報送信手段から送信される現在時刻情報を受信する第1の現在時刻受信手段、
前記第1の現在時刻情報取得手段によって取得した現在時刻情報と当該現在時刻情報の前に前記第1の現在時刻情報取得手段によって取得した現在時刻情報と乱数表を用いて第1の暗号鍵を生成し、前記第1の暗号鍵を使用して前記クライアント端末から前記サーバに送信するユーザ固有情報を暗号化する第1の暗号処理手段、
前記第1の現在時刻情報受信手段によって受信した現在時刻情報と当該現在時刻情報の前に前記第1の現在時刻情報受信手段によって受信した現在時刻情報と乱数表を用いて第2の復号鍵を生成し、前記第2の復号鍵を使用して前記サーバから前記クライアント端末に送信されてくる第2の暗号鍵で暗号化されたユーザ固有情報を復号化する第2の復号処理手段、
前記第1の暗号鍵を使用して暗号化されたユーザ固有情報を前記サーバに送信すると共に、前記第2の暗号鍵を使用して暗号化されたユーザ固有情報を前記サーバから受信する第1の通信手段、
として機能させるためのプログラム。
【請求項12】
サーバと、前記サーバと情報通信網を介して通信可能なクライアント端末とを有する情報通信システムにおける暗号処理装置のコンピュータを、
ユーザ固有情報を保存する第2のユーザ固有情報抽出手段、
現在時刻を示す現在時刻情報を取得する第2の現在時刻情報取得手段、
前記第2の現在時刻情報取得手段が取得した現在時刻情報を前記クライアント端末に送信する第2の現在時刻情報送信手段、
前記クライアント端末の第1の現在時刻情報送信手段から送信される現在時刻情報を受信する第2の現在時刻情報受信手段、
前記第2の現在時刻情報受信手段によって受信した現在時刻情報と当該現在時刻情報の前に前記第2の現在時刻情報受信手段によって受信した現在時刻情報と乱数表を用いて第2の暗号鍵を生成し、前記第2の暗号鍵を使用して前記サーバから前記クライアント端末に送信するユーザ固有情報を暗号化する第2の暗号処理手段、
前記第2の現在時刻情報取得手段によって取得した現在時刻情報と当該現在時刻情報の前に前記第2の現在時刻情報取得手段によって取得した現在時刻情報と乱数表を用いて第1の復号鍵を生成し、前記第1の復号鍵を使用して前記クライアント端末から前記サーバに送信されてくる第1の暗号鍵で暗号化されたユーザ固有情報を復号化する第1の復号処理手段、
前記第2の暗号鍵を使用して暗号化されたユーザ固有情報を前記クライアント端末に送信すると共に、前記第2の暗号鍵を使用して暗号化されたユーザ固有情報を前記サーバから受信する第2の通信手段
として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2008−258663(P2008−258663A)
【公開日】平成20年10月23日(2008.10.23)
【国際特許分類】
【出願番号】特願2007−95314(P2007−95314)
【出願日】平成19年3月30日(2007.3.30)
【出願人】(399041158)西日本電信電話株式会社 (215)
【Fターム(参考)】