(57)【要約】【課題】ユーザを特定する情報に依存しないユーザ認証を実現し、通信上のセキュリティを強化できるようにすることを課題とする。【解決手段】クライアント１はサーバ側公開鍵によりクライアント側公開鍵とユーザ登録情報とを暗号化して送信する。認証サーバ５はサーバ側秘密鍵による復号化処理でクライアント側公開鍵の入手、ユーザ登録を行い、クライアント側公開鍵により証明書を暗号化してクライアント１に送信する。認証サーバ５は、クライアント１から返信される証明書の検証を経て共通鍵を生成し、その共有鍵をクライアント１と共有する。以降はクライアント１と認証サーバ５間で共有鍵に基づく暗号通信が行われる。【選択図】      図１
2004159100.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより実行され、ネットワークを介してクライアント−サーバ間で暗号通信を行うための暗号通信プログラムであって、
前記クライアントにおいては、
一対の第一暗号化鍵および第一復号化鍵と一対の第二暗号化鍵および第二復号化鍵のうちの第二暗号化鍵とをあらかじめ記憶しており、
アカウント登録の場合には、前記サーバに対して前記第一暗号化鍵を前記第二暗号化鍵を用いて暗号化して送信し、一方、前記サーバからは前記第一暗号化鍵を用いて暗号化された、前記サーバ側でダイナミックに生成された証明書を受信して前記第一復号化鍵を用いて復号化する第一ステップと、
アカウント認証の場合には、前記サーバに対して前記復号化された証明書を前記第二暗号化鍵を用いて暗号化して送信し、一方、前記サーバからは前記第一暗号化鍵を用いて暗号化された、前記サーバ側でダイナミックに生成された共有鍵を受信して前記第一復号化鍵を用いて復号化する第二ステップと、
前記サーバとは前記復号化された共有鍵を用いて暗号通信を行う第三ステップと、
を含む構成であり、
前記サーバにおいては、
前記一対の第二暗号化鍵および第二復号化鍵をあらかじめ記憶しており、
アカウント登録の場合には、前記クライアントからは前記第二暗号化鍵を用いて暗号化された前記第一暗号化鍵を受信して前記第二復号化鍵を用いて復号化し、一方、前記クライアントに対して前記サーバ側でダイナミックに生成した前記証明書を前記第一暗号化鍵を用いて暗号化して送信する第四ステップと、
アカウント認証の場合には、前記クライアントからは前記暗号化された証明書を前記第二復号化鍵を用いて復号化し、前記復号化された証明書と前記サーバ側にあらかじめ用意されている証明書との一致を判断し、一致した場合にのみ前記クライアントに対してダイナミックに生成した前記共有鍵を前記第一暗号化鍵を用いて暗号化して送信する第五ステップと、
前記クライアントとは前記共有鍵を用いて暗号通信を行う第六ステップと、
を含む構成であることを特徴とする暗号通信プログラム。
【請求項２】
前記クライアントの前記第一ステップは、前記サーバに対して前記第一暗号化鍵およびあらかじめ用意されたユーザ登録情報を前記第二暗号化鍵を用いて暗号化して送信することを含み、前記サーバの前記第四ステップは、前記クライアントからは前記第二暗号化鍵を用いて暗号化された第一暗号化鍵およびユーザ登録情報を受信して前記第二復号化鍵を用いて復号化し、さらに、前記復号化されたユーザ登録情報に基づいて照合を行うことを含むことを特徴とする請求項２に記載の暗号通信プログラム。
【請求項３】
前記サーバにおいては、さらに、前記第四ステップで前記証明書を暗号化する前に前記第二復号化鍵を用いて暗号化するステップと、前記第五ステップで前記証明書を復号化し、前記証明書の一致を判断する前にさらに前記第二暗号化鍵を用いて復号化するステップとを含むことを特徴とする請求項１または２に記載の暗号通信プログラム。
【請求項４】
ネットワークを介してクライアント−サーバ間で暗号通信を行う暗号通信システム用サーバシステムであって、
前記クライアントにおいては、一対の第一暗号化鍵および第一復号化鍵と一対の第二暗号化鍵および第二復号化鍵のうちの第二暗号化鍵とがあらかじめ記憶されており、前記サーバにおいては、前記一対の第二暗号化鍵および第二復号化鍵があらかじめ記憶されており、
前記クライアントからは前記第二暗号化鍵を用いて暗号化された前記第一暗号化鍵を受信して前記第二復号化鍵を用いて復号化し、一方、前記クライアントに対してダイナミックに生成した証明書を前記第一暗号化鍵を用いて暗号化して送信するアカウント登録手段と、
前記クライアントからは前記第二暗号化鍵で暗号化された証明書を受信して前記第二復号化鍵を用いて復号化し、前記復号化された証明書と前記サーバ側で生成した証明書との一致を判断し、一致した場合にのみ前記クライアントに対してダイナミックに生成した共有鍵を前記第一暗号化鍵を用いて暗号化して送信するアカウント認証手段と、
前記クライアントとは前記共有鍵を用いて暗号通信を行う暗号通信手段と、
を備えたことを特徴とする暗号通信システム用サーバシステム。
【請求項５】
前記アカウント登録手段は、前記クライアントから前記第二暗号化鍵を用いて暗号化された第一暗号化鍵およびユーザ登録情報を受信して前記第二復号化鍵を用いて復号化し、さらに、前記復号化されたユーザ登録情報に基づいて照合を行うことを特徴とする請求項４に記載の暗号通信システム用サーバシステム。
【請求項６】
さらに、前記証明書を前記第一暗号化鍵を用いて暗号化する前に前記第二復号化鍵を用いて暗号化する暗号化手段と、前記証明書を前記第二復号化鍵を用いて復号化し、前記証明書の一致を判断する前にさらに前記第二暗号化鍵を用いて復号化する復号化手段とを有したことを特徴とする請求項４または５に記載の暗号通信システム用サーバシステム。
【請求項７】
ネットワークを介してクライアント−サーバ間で暗号通信を行う暗号通信方法であって、
前記クライアント側には、一対の第一暗号化鍵および第一復号化鍵と一対の第二暗号化鍵および第二復号化鍵のうちの第二暗号化鍵とがあらかじめ記憶されており、前記サーバ側には、前記一対の第二暗号化鍵および第二復号化鍵があらかじめ記憶されており、
アカウント登録の送受信において、前記クライアント側の送信前に前記第一暗号化鍵を前記第二暗号化鍵を用いて暗号化し、前記サーバ側の受信後に前記第二暗号化鍵を用いて暗号化された前記第一暗号化鍵を前記第二復号化鍵を用いて復号化する第一ステップと、
アカウント登録の送受信において、前記第一ステップ後、前記サーバ側の送信前にダイナミックに生成した証明書を前記第一暗号化鍵を用いて暗号化し、前記クライアント側の受信後に前記第一暗号化鍵を用いて暗号化された証明書を前記第一復号化鍵を用いて復号化する第二ステップと、
アカウント認証の送受信において、前記第二ステップ後、前記クライアント側の送信前に前記第一復号化鍵を用いて復号化された証明書を前記第二暗号化鍵を用いて暗号化し、前記サーバ側の受信後に前記暗号化された証明書を前記第二復号化鍵を用いて復号化し、前記復号化された証明書と前記サーバ側で生成した証明書との一致を判断する第三ステップと、
アカウント認証の送受信において、前記サーバ側の送信前に前記第三ステップで一致が判断された場合にのみ前記サーバ側でダイナミックに生成した共有鍵を前記第一暗号化鍵を用いて暗号化し、前記クライアント側の受信後に前記第一暗号化鍵を用いて暗号化された共有鍵を前記第一復号化鍵を用いて復号化する第四ステップと、
前記第四ステップ後、前記共有鍵を用いて前記クライアントと前記サーバ間で暗号通信を行う第五ステップと、
を含むことを特徴とする暗号通信方法。
【請求項８】
前記第一ステップは、前記クライアント側の送信前に前記第一暗号化鍵およびあらかじめ用意されたユーザ登録情報を前記第二暗号化鍵を用いて暗号化し、前記サーバ側の受信後に前記第二暗号化鍵を用いて暗号化された第一暗号化鍵およびユーザ登録情報を前記第二復号化鍵を用いて復号化し、前記復号化されたユーザ登録情報に基づいて照合を行うことを含むことを特徴とする請求項７に記載の暗号通信方法。
【請求項９】
前記第二ステップは、前記サーバ側の送信前に前記証明書を前記第一暗号化鍵を用いて暗号化する前に前記第二復号化鍵を用いて暗号化し、前記第三ステップは、前記第二復号化鍵を用いて前記証明書を復号化し、前記証明書の一致を判断する前にさらに前記第二暗号化鍵を用いて復号化することを含むことを特徴とする請求項７または８に記載の暗号通信方法。
【請求項１０】
ネットワークを介してクライアント−サーバ間で暗号通信を行う暗号通信システムであって、
前記クライアントにおいては、
一対の第一暗号化鍵および第一復号化鍵と一対の第二暗号化鍵および第二復号化鍵のうちの第二暗号化鍵とをあらかじめ記憶する第一記憶手段と、
アカウント登録の場合には、前記サーバに対して前記第一暗号化鍵を前記第二暗号化鍵を用いて暗号化して送信し、一方、前記サーバからは前記第一暗号化鍵を用いて暗号化された証明書を受信して前記第一復号化鍵を用いて復号化する第一通信手段と、
アカウント認証の場合には、前記サーバに対して前記復号化された証明書を前記第二暗号化鍵を用いて暗号化して送信し、一方、前記サーバからは前記第一暗号化鍵を用いて暗号化された、前記サーバ側でダイナミックに生成された共有鍵を受信して前記第一復号化鍵を用いて復号化する第二通信手段と、
前記サーバとは前記復号化された共有鍵を用いて暗号通信を行うサーバ通信手段と、
を備え、
前記サーバにおいては、
前記一対の第二暗号化鍵および第二復号化鍵をあらかじめ記憶する第二記憶手段と、
アカウント登録の場合には、前記クライアントからは前記第二暗号化鍵を用いて暗号化された前記第一暗号化鍵を受信して前記第二復号化鍵を用いて復号化し、一方、前記クライアントに対して前記サーバ側でダイナミックに生成した前記証明書を前記第一暗号化鍵を用いて暗号化して送信する第三通信手段と、
アカウント認証の場合には、前記クライアントからは前記第二暗号化鍵を用いて暗号化された証明書を受信して前記第二復号化鍵を用いて復号化し、前記復号化された証明書と前記サーバ側で生成した証明書との一致を判断し、一致した場合にのみ前記クライアントに対してダイナミックに生成した前記共有鍵を前記第一暗号化鍵を用いて暗号化して送信する第四通信手段と、
前記クライアントとは前記共有鍵を用いて暗号通信を行うクライアント通信手段と、
を備えたことを特徴とする暗号通信システム。
【請求項１１】
前記クライアントにおいて、前記第一通信手段は、前記サーバに対して前記第一暗号化鍵およびあらかじめ用意されたユーザ登録情報を前記第二暗号化鍵を用いて暗号化して送信し、前記サーバにおいて、前記第三通信手段は、前記クライアントからは前記第二暗号化鍵を用いて暗号化された第一暗号化鍵およびユーザ登録情報を受信して前記第二復号化鍵を用いて復号化し、前記サーバは、さらに、前記復号化されたユーザ登録情報に基づいて照合を行う照合手段を有したことを特徴とする請求項１０に記載の暗号通信システム。
【請求項１２】
前記サーバは、さらに、前記第三通信手段で前記証明書を暗号化する前に前記第二復号化鍵を用いて暗号化する暗号化手段と、前記第四通信手段で前記証明書を復号化し、前記証明書の一致を判断する前にさらに前記第二暗号化鍵を用いて復号化する復号化手段とを有したことを特徴とする請求項１０または１１に記載の暗号通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、たとえば、暗号通信プログラム、暗号通信システム用サーバシステム、暗号通信方法および暗号通信システムに関する。
【０００２】
【従来の技術】
インターネットなどで構成されるネットワークに接続され、不特定多数のユーザによって使用されるコンピュータシステムは、一般に、クライアントと称される。同様のネットワークに接続され、各クライアントと協働してユーザ認証、または、ユーザに対応する情報を特定してユーザのアクセス許可を受け持つコンピュータシステムは、一般に、サーバと称される。以上のクライアント、サーバは、各種の用途に応じていずれもネットワークに複数台接続されていることが一般的である。
【０００３】
１台以上のクライアントと１台以上のサーバとからなるネットワークシステムには、ログオン時のユーザ認証にたとえば２種類の方式が採用されている。２種類の方式には、ユーザしか知りえない情報を使用する第一の方式と、ランダムな値を使用するチャレンジ・アンド・レスポンスによる第二の方式とがある（たとえば、特許文献１参照）。
【０００４】
上述した第一の方式では、サーバには、パスワードなどのユーザの秘密の情報をあらかじめ登録しておく必要がある。クライアントとサーバ間の通信では、あらかじめ取り決められた暗号化技術やその暗号化を補うハッシュ関数を用いた技術などによるセキュリティ技術を適用する場合が多い。
【０００５】
クライアントでは、ユーザの操作により上記セキュリティ技術を用いてユーザの秘密の情報が暗号化され、その暗号化された情報をサーバに送信する処理が実行される。このようにして、通信上、秘密の情報にセキュリティをかけることが可能となる。
【０００６】
サーバでは、クライアントからログイン要求が受け付けられると、クライアントから送信されてくる秘密の情報が解読される。この解読された情報とサーバにあらかじめ登録されている情報とが比較され、その比較結果により一致が確認された場合には、ユーザ認証が完了する。
【０００７】
また、前述した第二の方式では、第一の方式と同様にサーバには、パスワードなどのユーザの秘密の情報をあらかじめ登録しておく必要がある。サーバでは、ユーザの操作によりクライアントからログイン要求が入ると、クライアントに対してランダムなチャレンジコードを返信する処理が実行される。
【０００８】
クライアントでは、サーバより返信されたチャレンジコードとユーザの秘密の情報とがユーザの操作により連結される。さらに、この連結された情報は前述した第一の方式の如くセキュリティ技術を用いて暗号化され、その暗号化された情報をサーバに送信する処理が実行される。このようにして、第二の方式においても、第一の方式と同様に、通信上、秘密の情報にセキュリティをかけることが可能となる。
【０００９】
サーバにおいても、クライアントへ返信したランダムなチャレンジコードとあらかじめ登録済みのユーザの秘密の情報とを連結させた情報（以下に、連結情報と称する）が準備される。サーバでは、クライアントに対してランダムなチャレンジコードを返信した後、クライアントからの応答を受け付ける処理が実行される。
【００１０】
この応答を示すデータは、連結情報を暗号化した情報であり、サーバ側で解読される。サーバにおいて、このようにして解読された情報とサーバ側で準備された連結情報とが比較され、その比較結果により一致が確認された場合には、ユーザ認証が完了する。
【００１１】
【特許文献１】
特開２００２−２０７６９８号公報（第７−１４頁、第１図、第３図）
【００１２】
【発明が解決しようとする課題】
上述した第一、第二の方式には、つぎの問題点を含んでいた。すなわち、第一の方式に対して、秘密の情報を解読するため、本人確認のために可能性のある秘密の情報を片っ端から試してゆく総当り攻撃が適用される場合がある。この場合には、現実的な時間内に解読が行われる可能性が高かった。
【００１３】
また、秘密の情報を機械的に暗号化した情報をネットワーク上に流す必要があるため、その暗号化された情報が第三者に傍受された場合には、その傍受された情報は時間をかけて解読される可能性が高かった。
【００１４】
さらに、本人確認に必要な秘密の情報が第三者により傍受された場合には、その傍受による情報漏洩の事実を検出することは困難であった。一般に、ユーザ認証は、ユーザＩＤとパスワードとに基づく認証、ならびに、秘密の質問とその答えとに基づく本人確認とによって行われる。したがって、第三者がユーザ認証で本人に成りすまして不正使用がなされた場合には、サーバ側においてその不正使用の事実を検出することは困難であった。
【００１５】
そして、第二の方式に対しても上述した第一の方式と同様に、秘密の情報を機械的に暗号化した情報をネットワーク上に流す必要があった。そのため、その暗号化された情報が第三者に傍受された場合には、その傍受された情報は時間をかけて解読される可能性が高かった。
【００１６】
また、第二の方式においても上述した第一の方式と同様に、本人確認に必要な秘密の情報が第三者により傍受された場合には、その傍受による情報漏洩の事実を検出することは困難であった。したがって、第三者がユーザ認証で本人に成り済まして不正使用がなされた場合には、サーバ側においてその不正使用の事実を検出することは困難であった。
【００１７】
本発明の目的は、ユーザを特定する情報に依存しないユーザ認証を実現し、通信上のセキュリティを強化することが可能な暗号通信プログラム、暗号通信システム用サーバシステム、暗号通信方法および暗号通信システムを提供することにある。
【００１８】
【課題を解決するための手段】
上述した課題を解決し、上記目的を達成するため、本発明の第一の態様は、コンピュータにより実行され、ネットワークを介してクライアント−サーバ間で暗号通信を行うための暗号通信プログラムであって、前記クライアントにおいては、一対の第一暗号化鍵および第一復号化鍵と一対の第二暗号化鍵および第二復号化鍵のうちの第二暗号化鍵とをあらかじめ記憶しており、アカウント登録の場合には、前記サーバに対して前記第一暗号化鍵を前記第二暗号化鍵を用いて暗号化して送信し、一方、前記サーバからは前記第一暗号化鍵を用いて暗号化された、前記サーバ側でダイナミックに生成された証明書を受信して前記第一復号化鍵を用いて復号化する第一ステップと、アカウント認証の場合には、前記サーバに対して前記復号化された証明書を前記第二暗号化鍵を用いて暗号化して送信し、一方、前記サーバからは前記第一暗号化鍵を用いて暗号化された、前記サーバ側でダイナミックに生成された共有鍵を受信して前記第一復号化鍵を用いて復号化する第二ステップと、前記サーバとは前記復号化された共有鍵を用いて暗号通信を行う第三ステップと、を含む構成であり、前記サーバにおいては、前記一対の第二暗号化鍵および第二復号化鍵をあらかじめ記憶しており、アカウント登録の場合には、前記クライアントからは前記第二暗号化鍵を用いて暗号化された前記第一暗号化鍵を受信して前記第二復号化鍵を用いて復号化し、一方、前記クライアントに対して前記サーバ側でダイナミックに生成した前記証明書を前記第一暗号化鍵を用いて暗号化して送信する第四ステップと、アカウント認証の場合には、前記クライアントからは前記暗号化された証明書を前記第二復号化鍵を用いて復号化し、前記復号化された証明書と前記サーバ側にあらかじめ用意されている証明書との一致を判断し、一致した場合にのみ前記クライアントに対してダイナミックに生成した前記共有鍵を前記第一暗号化鍵を用いて暗号化して送信する第五ステップと、前記クライアントとは前記共有鍵を用いて暗号通信を行う第六ステップと、を含む構成であることを特徴とするものである。
【００１９】
この第一の態様によれば、前記クライアントの前記第一ステップは、前記サーバに対して前記第一暗号化鍵およびあらかじめ用意されたユーザ登録情報を前記第二暗号化鍵を用いて暗号化して送信することを含み、前記サーバの前記第四ステップは、前記クライアントからは前記第二暗号化鍵を用いて暗号化された第一暗号化鍵およびユーザ登録情報を受信して前記第二復号化鍵を用いて復号化し、さらに、前記復号化されたユーザ登録情報に基づいて照合を行うことを含むようにしてもよい。
【００２０】
また、この第一の態様によれば、前記サーバにおいては、さらに、前記第四ステップで前記証明書を暗号化する前に前記第二復号化鍵を用いて暗号化するステップと、前記第五ステップで前記証明書を復号化し、前記証明書の一致を判断する前にさらに前記第二暗号化鍵を用いて復号化するステップとを含むようにしてもよい。
【００２１】
そして、本発明の第二の態様は、ネットワークを介してクライアント−サーバ間で暗号通信を行う暗号通信システム用サーバシステムであって、前記クライアントにおいては、一対の第一暗号化鍵および第一復号化鍵と一対の第二暗号化鍵および第二復号化鍵のうちの第二暗号化鍵とがあらかじめ記憶されており、前記サーバにおいては、前記一対の第二暗号化鍵および第二復号化鍵があらかじめ記憶されており、前記クライアントからは前記第二暗号化鍵を用いて暗号化された前記第一暗号化鍵を受信して前記第二復号化鍵を用いて復号化し、一方、前記クライアントに対してダイナミックに生成した証明書を前記第一暗号化鍵を用いて暗号化して送信するアカウント登録手段と、前記クライアントからは前記第二暗号化鍵で暗号化された証明書を受信して前記第二復号化鍵を用いて復号化し、前記復号化された証明書と前記サーバ側で生成した証明書との一致を判断し、一致した場合にのみ前記クライアントに対してダイナミックに生成した共有鍵を前記第一暗号化鍵を用いて暗号化して送信するアカウント認証手段と、前記クライアントとは前記共有鍵を用いて暗号通信を行う暗号通信手段と、を備えたことを特徴とするものである。
【００２２】
この第二の態様によれば、前記アカウント登録手段は、前記クライアントから前記第二暗号化鍵を用いて暗号化された第一暗号化鍵およびユーザ登録情報を受信して前記第二復号化鍵を用いて復号化し、さらに、前記復号化されたユーザ登録情報に基づいて照合を行うようにしてもよい。
【００２３】
また、この第二の態様によれば、さらに、前記証明書を前記第一暗号化鍵を用いて暗号化する前に前記第二復号化鍵を用いて暗号化する暗号化手段と、前記証明書を前記第二復号化鍵を用いて復号化し、前記証明書の一致を判断する前にさらに前記第二暗号化鍵を用いて復号化する復号化手段とを有してもよい。
【００２４】
そして、本発明の第三の態様は、ネットワークを介してクライアント−サーバ間で暗号通信を行う暗号通信方法であって、前記クライアント側には、一対の第一暗号化鍵および第一復号化鍵と一対の第二暗号化鍵および第二復号化鍵のうちの第二暗号化鍵とがあらかじめ記憶されており、前記サーバ側には、前記一対の第二暗号化鍵および第二復号化鍵があらかじめ記憶されており、アカウント登録の送受信において、前記クライアント側の送信前に前記第一暗号化鍵を前記第二暗号化鍵を用いて暗号化し、前記サーバ側の受信後に前記第二暗号化鍵を用いて暗号化された前記第一暗号化鍵を前記第二復号化鍵を用いて復号化する第一ステップと、アカウント登録の送受信において、前記第一ステップ後、前記サーバ側の送信前にダイナミックに生成した証明書を前記第一暗号化鍵を用いて暗号化し、前記クライアント側の受信後に前記第一暗号化鍵を用いて暗号化された証明書を前記第一復号化鍵を用いて復号化する第二ステップと、アカウント認証の送受信において、前記第二ステップ後、前記クライアント側の送信前に前記第一復号化鍵を用いて復号化された証明書を前記第二暗号化鍵を用いて暗号化し、前記サーバ側の受信後に前記暗号化された証明書を前記第二復号化鍵を用いて復号化し、前記復号化された証明書と前記サーバ側で生成した証明書との一致を判断する第三ステップと、アカウント認証の送受信において、前記サーバ側の送信前に前記第三ステップで一致が判断された場合にのみ前記サーバ側でダイナミックに生成した共有鍵を前記第一暗号化鍵を用いて暗号化し、前記クライアント側の受信後に前記第一暗号化鍵を用いて暗号化された共有鍵を前記第一復号化鍵を用いて復号化する第四ステップと、前記第四ステップ後、前記共有鍵を用いて前記クライアントと前記サーバ間で暗号通信を行う第五ステップと、を含むことを特徴とするものである。
【００２５】
この第三の態様によれば、前記第一ステップは、前記クライアント側の送信前に前記第一暗号化鍵およびあらかじめ用意されたユーザ登録情報を前記第二暗号化鍵を用いて暗号化し、前記サーバ側の受信後に前記第二暗号化鍵を用いて暗号化された第一暗号化鍵およびユーザ登録情報を前記第二復号化鍵を用いて復号化し、前記復号化されたユーザ登録情報に基づいて照合を行うことを含むようにしてもよい。
【００２６】
また、この第三の態様によれば、前記第二ステップは、前記サーバ側の送信前に前記証明書を前記第一暗号化鍵を用いて暗号化する前に前記第二復号化鍵を用いて暗号化し、前記第三ステップは、前記第二復号化鍵を用いて前記証明書を復号化し、前記証明書の一致を判断する前にさらに前記第二暗号化鍵を用いて復号化することを含むようにしてもよい。
【００２７】
そして、本発明の第四の態様によれば、ネットワークを介してクライアント−サーバ間で暗号通信を行う暗号通信システムであって、前記クライアントにおいては、一対の第一暗号化鍵および第一復号化鍵と一対の第二暗号化鍵および第二復号化鍵のうちの第二暗号化鍵とをあらかじめ記憶する第一記憶手段と、アカウント登録の場合には、前記サーバに対して前記第一暗号化鍵を前記第二暗号化鍵を用いて暗号化して送信し、一方、前記サーバからは前記第一暗号化鍵を用いて暗号化された証明書を受信して前記第一復号化鍵を用いて復号化する第一通信手段と、アカウント認証の場合には、前記サーバに対して前記復号化された証明書を前記第二暗号化鍵を用いて暗号化して送信し、一方、前記サーバからは前記第一暗号化鍵を用いて暗号化された、前記サーバ側でダイナミックに生成された共有鍵を受信して前記第一復号化鍵を用いて復号化する第二通信手段と、前記サーバとは前記復号化された共有鍵を用いて暗号通信を行うサーバ通信手段と、を備え、前記サーバにおいては、前記一対の第二暗号化鍵および第二復号化鍵をあらかじめ記憶する第二記憶手段と、アカウント登録の場合には、前記クライアントからは前記第二暗号化鍵を用いて暗号化された前記第一暗号化鍵を受信して前記第二復号化鍵を用いて復号化し、一方、前記クライアントに対して前記サーバ側でダイナミックに生成した前記証明書を前記第一暗号化鍵を用いて暗号化して送信する第三通信手段と、アカウント認証の場合には、前記クライアントからは前記第二暗号化鍵を用いて暗号化された証明書を受信して前記第二復号化鍵を用いて復号化し、前記復号化された証明書と前記サーバ側で生成した証明書との一致を判断し、一致した場合にのみ前記クライアントに対してダイナミックに生成した前記共有鍵を前記第一暗号化鍵を用いて暗号化して送信する第四通信手段と、前記クライアントとは前記共有鍵を用いて暗号通信を行うクライアント通信手段と、を備えたことを特徴とするものである。
【００２８】
この第四の態様によれば、前記クライアントにおいて、前記第一通信手段は、前記サーバに対して前記第一暗号化鍵およびあらかじめ用意されたユーザ登録情報を前記第二暗号化鍵を用いて暗号化して送信し、前記サーバにおいて、前記第三通信手段は、前記クライアントからは前記第二暗号化鍵を用いて暗号化された第一暗号化鍵およびユーザ登録情報を受信して前記第二復号化鍵を用いて復号化し、前記サーバは、さらに、前記復号化されたユーザ登録情報に基づいて照合を行う照合手段を有してもよい。
【００２９】
また、この第四の態様によれば、前記サーバは、さらに、前記第三通信手段で前記証明書を暗号化する前に前記第二復号化鍵を用いて暗号化する暗号化手段と、前記第四通信手段で前記証明書を復号化し、前記証明書の一致を判断する前にさらに前記第二暗号化鍵を用いて復号化する復号化手段とを有してもよい。
【００３０】
【発明の実施の形態】
以下に添付図面を参照して、本発明にかかる一実施の形態を詳細に説明する。
【００３１】
まず、図１を用いて本発明の一実施の形態による暗号通信システムを説明する。この暗号通信システムは、ネットワークを介してクライアントとサーバ間で認証に基づく暗号通信を実現するものである。
【００３２】
図１は本発明の一実施の形態による暗号通信システムの一構成例を示すブロック図である。本実施の形態による暗号通信システムは、たとえば図１に示したように、少なくとも１台のクライアント（クライアント１）、少なくとも１台の認証サーバ（認証サーバ５）、および、ネットワーク（インターネット３）を備えた構成である。
【００３３】
クライアントの代表であるクライアント１は通信回線７を介してインターネット３に接続され、認証サーバの代表である認証サーバ５は通信回線９を介してインターネット３に接続される。なお、本発明においては、クライアントの数、認証サーバの数を限定するものではない。
【００３４】
クライアント１は、概略的には、図１に示したように、通信回線７に接続され、通信を司る通信制御部１１、認証サーバ５との間で暗号通信を実現する暗号通信プログラム１０１を備える。暗号通信プログラム１０１は、一例として、本実施の形態による暗号通信のサービスを提供する企業などから配布されるＣＤ（又はＤＶＤ）１１０に格納された形態でユーザに提供される。
【００３５】
ユーザは、このＣＤ１１０に格納された暗号通信プログラム１０１をクライアント本体にインストールし、上記暗号通信の環境を整える。クライアント１は、このインストールによりサーバ情報（暗号化鍵に相当するサーバ側公開鍵）１０２、クライアント情報（暗号化鍵に相当するクライアント側公開鍵、復号化鍵に相当するクライアント側秘密鍵）１０３をあらかじめ備えることになる。
【００３６】
クライアント１は、後述するが、暗号通信時に認証サーバ５より供給される認証用データ（アカウント情報を含む証明書）１０４および認証サーバ５と共有する共有情報（共有鍵）１０５を記憶する。
【００３７】
一方、認証サーバ５は、概略的には、図１に示したように、通信回線９に接続され、通信を司る通信制御装置５１、クライアント１との間で暗号通信を実現する暗号通信プログラム５０１を備える。
【００３８】
認証サーバ５は、あらかじめ暗号通信プログラム５０１を具備しており、その中に、サーバ情報（サーバ側公開鍵、復号化鍵に相当するサーバ側秘密鍵）５０２、認証用データ作成部５０３、共有情報作成部５０４をあらかじめ備えることになる。
【００３９】
ここで、認証用データ作成部５０３は、クライアント１に対して発行する証明書（アカウント識別子を示すアカウント情報を含む）を作成する。共有情報作成部５０４は、暗号通信時、クライアント１と共有して使用する共有鍵をそのタイミングでダイナミックに作成する。
【００４０】
認証サーバ５は、後述するが、暗号通信時にクライアント１より供給されるクライアント情報（クライアント側公開鍵）５０５およびクライアント１と共有する共有情報（共有鍵）５０６を記憶する。
【００４１】
つぎに、上述した暗号通信システムを構成するクライアント１、認証サーバ５について詳述する。図２は本発明の一実施の形態によるクライアントの一構成例を示すブロック図であり、図３は本発明の一実施の形態によるサーバの一構成例を示すブロック図である。
【００４２】
まず、図２を用いてクライアント１を説明する。クライアント１は、図２に示したように、制御信号、アドレス信号、データなどを伝送させるバス１０を有しており、このバス１０を介して各ユニット間の通信を確立させる構成である。このクライアント１は、外部との通信インタフェースを司る外部インタフェース２３と、バッテリや外部電源より電力の供給を受ける電源部２４とを有している。
【００４３】
クライアント１の制御系は、たとえば、図２に示したように、制御全体を司るＣＰＵ１９、クライアント１全体の制御を行うためのプログラムを記憶したＲＯＭ２０、各種の動作において生成されるデータを格納するＲＡＭ２１、電源オフ時もプログラムやデータを保存しておくＨＤＤ（ハード・ディスク・ドライブ）２２により構成される。
【００４４】
このＨＤＤ２２は、外部よりインストールされた各種のプログラム（たとえば、暗号通信プログラム１０１）を格納するためのプログラム格納領域２２Ａ、各種のプログラム実行時に必要な保存用のパラメータなどのデータを格納するためのデータ格納領域２２Ｂなどを備えている。
【００４５】
クライアント１の通信系は、たとえば、図２に示したように、通信回線７を介してインターネット３に接続し、通信を行うための通信制御部１１、たとえば音声データに基づいて音声を処理する音声処理部１２により構成される。
【００４６】
クライアント１の入出力系は、たとえば、図２に示したように、各種アプリの実行によってメニュー、処理結果などを画面に表示する表示部１３、この表示部１３に供給するビデオ画像データを記憶するＶＲＡＭ（ビデオＲＡＭ）１４、画像データに基づいて画像処理を行う画像処理部１５、この画像処理部１５で処理される画像データを格納する画像メモリ１６、ボタン、スイッチなどを配してユーザからの操作を受け付ける操作入力部１７、ＣＤやＤＶＤを駆動させて音楽を再生するためのデータを取り込んだり、各種のプログラム（たとえば、暗号通信プログラム１１０）を読み出すためのディスクドライブ１８により構成される。
【００４７】
つづいて、図３を用いて認証サーバ５を説明する。認証サーバ５は、図３に示したように、制御信号、アドレス信号、データなどを伝送させるバス５５を有しており、このバス５５を介して各ユニット間の通信を確立させる構成である。
【００４８】
バス５５には、通信制御装置５１、制御装置５２、記憶装置５３などが接続される。通信制御装置５１は、通信回線９に接続され、インターネット３を介してクライアント１などの端末、他サーバなどとのデータ通信を司る。制御装置５２は、ＣＰＵ、ＲＯＭ、ＲＡＭなどを有しており、認証サーバ５自身の制御全体を司る。
【００４９】
記憶装置５３は、あらかじめ用意された暗号通信プログラム５０１、各種処理に応じてデータを退避させるデータ格納領域５４などを具備している。
【００５０】
つぎに、暗号通信プログラムについて詳述する。図４は本発明の一実施の形態によるクライアント側で準備される暗号化プログラムの一構成例を示す図であり、図５は本発明の一実施の形態による認証サーバ側で準備される暗号化プログラムの一構成例を示す図である。
【００５１】
まず図４を用いてクライアント１側の暗号通信プログラム１０１の構成を説明する。暗号通信プログラム１０１は、前述したように、暗号通信機能のほか、サーバ情報１０２、クライアント情報１０３などを具備している。サーバ情報１０２とは、サーバ側公開鍵１０２Ａであり、クライアント情報１０３とは、暗号化とその暗号化に対応する復号化を行うための一対のクライアント側公開鍵１０３Ａおよびクライアント側秘密鍵１０３Ｂである。
【００５２】
つづいて図５を用いて認証サーバ５側の暗号通信プログラム５０１の構成を説明する。暗号通信プログラム５０１は、前述したように、暗号通信機能のほか、サーバ情報５０２、認証用データ作成部５０３、共有情報作成部５０４などを具備している。サーバ情報５０２とは、暗号化とその暗号化に対応する復号化を行うための一対のサーバ側公開鍵５０２Ａおよびサーバ側秘密鍵５０２Ｂである。そして、認証用データ作成部５０３とは、証明書（アカウント識別子を示すアカウント情報を含む）を作成するためのアカウント情報作成部５０３Ａであり、共有情報作成部５０４とは、共有鍵を作成するための共有鍵作成部５０４Ａである。
【００５３】
以上の図１、図４および図５において、クライアント１のサーバ側公開鍵１０２Ａと認証サーバ５のサーバ側公開鍵５０２Ａとは同一の鍵を示す。また、クライアント１のクライアント側公開鍵１０３Ａと認証サーバ５に記憶されるクライアント情報５０５（クライアント側公開鍵）とは同一の鍵を示す。さらに、クライアント１の共有鍵１０５と認証サーバ５の共有鍵５０６とは同一の鍵を示す。そこで、以下の説明では、クライアント側公開鍵１０３Ａ、クライアント側秘密鍵１０３Ｂ、サーバ側公開鍵５０２Ａ、サーバ側秘密鍵５０２Ｂの符号を用いて説明する。
【００５４】
つぎに、図６および図７を用いて本実施の形態によるアカウント登録について説明する。図６は本発明の一実施の形態によるアカウント登録の通信手順を概略的に説明する図であり、図７は本発明の一実施の形態によるアカウント登録時の動作を説明するフローチャートである。
【００５５】
図６において、黒円状で塗りつぶしの“公”、“秘”はそれぞれクライアント側公開鍵１０３Ａ、クライアント側秘密鍵１０３Ｂを示し、黒円状で斜線入れの“公”、“秘”はそれぞれサーバ側公開鍵５０２Ａ、サーバ側秘密鍵５０３Ｂを示している。
【００５６】
アカウント登録手順では、図６に示したように、クライアント１においてまずサーバ側公開鍵１０２Ａを用いてクライアント側公開鍵１０３Ａとあらかじめ準備されたユーザ登録情報とが暗号化される。このようにして暗号化された情報は認証サーバ５へ送信される（図６（Ａ）参照）。
【００５７】
認証サーバ５では、サーバ側秘密鍵５０２Ｂを用いてクライアント１より受信されたクライアント側公開鍵１０２Ａとユーザ登録情報とが復号化される。このとき、復号化できるのは、サーバ側公開鍵５０２Ａで暗号化された情報を復号化できるサーバ側秘密鍵５０２Ｂをもつサーバだけであり、それが認証サーバ５である。ユーザ登録情報が復号化されると、そのユーザ登録情報は、認証サーバ５にあらかじめ用意されたデータベースを参照して照合され、一致すれば正規のユーザとして新たに登録される（図６（Ｂ）参照）。
【００５８】
つづいて認証サーバ５では、この照合一致の確認後は、ダイナミックに証明書の生成が行われる。このとき、証明書は、証明に必要な情報としてクライアント側公開鍵１０３Ａとアカウント情報であるアカウント識別子（ＯｂｊｅｃｔＩＤ）とを含めた形でサーバ側秘密鍵５０２Ｂを用いてダイジェスト化される。また、このとき、署名がたとえばＢａｓｅ６４で挿入される（図６（Ｃ）参照）。
【００５９】
さらに認証サーバ５では、上述の如く生成された証明書がクライアント側公開鍵１０３Ａを用いて暗号化され、その暗号化された情報がクライアント１に送信される（図６（Ｄ）参照）。
【００６０】
クライアント１では、クライアント側秘密鍵１０３Ｂを用いて認証サーバ５より受信された情報が復号化される。このとき、復号化できるのは、クライアント側公開鍵１０３Ａで暗号化された情報を復号化できるクライアント側秘密鍵１０３Ｂをもつクライアントだけであり、それがクライアント１である。証明書が復号化されると、証明書の取得が完了する（図６（Ｅ）参照）。
【００６１】
以上のアカウント登録の流れを図７のフローチャートで説明すると、まず、クライアント１においてユーザによりユーザ登録情報が入力される（ステップＳ１１）。そして、サーバ側公開鍵５０２Ａを用いてクライアント側公開鍵１０３ＡとステップＳ１１で入力されたユーザ登録情報とが暗号化される（ステップＳ１２）。このようにして暗号化された情報が認証サーバ５に送信される（ステップＳ１３）。
【００６２】
認証サーバ５では、クライアント１より暗号化された情報が受信されると（ステップＳ２１）、サーバ側秘密鍵５０２Ｂを用いて受信データの復号化を行う（ステップＳ２２）。このとき、正しく復号化ができると（ステップＳ２３のＹＥＳルート）、復号化により得られたクライアント側公開鍵１０３Ａがデータ格納領域５４に記憶される（ステップＳ２４）。一方、正しく復号化ができなかった場合には、なしすまし等の可能性もあり、処理は終了する（ステップＳ２３のＮＯルート）。
【００６３】
ステップＳ２４の後、復号化により得られたユーザ登録情報があらかじめ用意されたデータベース（不図示）にて照合され、データベースと一致すればユーザ登録が行われる（ステップＳ２５）。もちろん、不一致となれば、処理は終了する。
【００６４】
認証サーバ５では、図６で説明した如く、つぎにサーバ側秘密鍵５０２Ｂを用いてダイナミックに証明書の作成が行われ（ステップＳ２６）、その証明書をクライアント側公開鍵１０３Ａを用いて暗号化する処理が行われる（ステップＳ２７）。このようにして暗号化された情報はクライアント１に送信される（ステップＳ２８）。
【００６５】
クライアント１においては、ステップＳ２８で認証サーバ５から送信された情報が受信されると（ステップＳ１４）、クライアント側秘密鍵１０３Ｂを用いて受信で他の復号化が行われる（ステップＳ１５）。
【００６６】
このとき、正しく復号化ができると（ステップＳ１６のＹＥＳルート）、復号化により得られた証明書（アカウント情報含む）がデータ格納領域２２Ｂ（ＨＤＤ２２）に記憶される（ステップＳ１７）。一方、正しく復号化ができなかった場合には、なしすまし等の可能性もあり、処理は終了する（ステップＳ１６のＮＯルート）。このようにして、処理は終了する。
【００６７】
つぎに、図８、図９、図１０および図１１を用いてデータ送信時の暗号通信について説明する。図８および図９は本発明の一実施の形態による暗号通信手順を概略的に説明する図であり、図１０は本発明の一実施の形態による暗号通信時の動作を説明する図である。
【００６８】
図８および図９において、黒円状で塗りつぶしの“公”、“秘”はそれぞれクライアント側公開鍵１０３Ａ、クライアント側秘密鍵１０３Ｂを示し、黒円状で斜線入れの“公”、“秘”はそれぞれサーバ側公開鍵５０２Ａ、サーバ側秘密鍵５０３Ｂを示し、方形状で斜線入れの“共”は共通鍵を示している。
【００６９】
暗号通信手順では、図８に示したように、クライアント１においてまず証明書がデータ格納領域２２Ｂから読み出され、サーバ側公開鍵１０２Ａを用いて暗号化される。このようにして暗号化された情報は認証サーバ５へ送信される（図８（Ａ）参照）。
【００７０】
認証サーバ５では、サーバ側秘密鍵５０２Ｂを用いてクライアント１より受信された証明書が復号化される（図８（Ｂ）参照）。このとき、復号化できるのは、サーバ側公開鍵５０２Ａで暗号化された情報を復号化できるサーバ側秘密鍵５０２Ｂをもつサーバだけであり、それが認証サーバ５である。証明書が復号化されると、その証明書は、認証サーバ５にあらかじめ用意された検証プログラムにより検証される（図８（Ｃ）参照）。
【００７１】
認証サーバ５では、この検証は、証明書の生成と逆に復号化によって行われる。証明書は、証明に必要な情報としてクライアント側公開鍵１０３Ａとアカウント識別子（ＯｂｊｅｃｔＩＤ）とを含めた形でサーバ側秘密鍵５０２Ｂを用いてダイジェスト化されている。そこで、たとえば、ダイジェストと署名（Ｂａｓｅ６４）との間でｍｄ５値を比較して一致すれば、証明書を本物と判定し、改竄がなされていないことを確認するようにしてもよい。
【００７２】
上述の復号化により証明書からクライアント側公開鍵１０３Ａとアカウント識別子とが取り出される。そのアカウント識別子からユーザ空間を特定することができる。このユーザ空間はユーザ登録時に正規のユーザに対して割り当てるようにしてもよい。
【００７３】
ここで、アカウント識別子はユーザのデータ空間を識別するための情報（たとえば数字の羅列）である。このアカウント識別子をユーザのデータ空間と対比させ、意味のある情報として活用できるのはアカウント識別子を生成した認証サーバ５自体である。したがって、ユーザはユーザＩＤなるものを知る必要がなく、入力する必要もなくなる。
【００７４】
たとえば、証明書が第三者にコピーされたものであっても復号化できるのは対応する秘密鍵をもつ正規のクライアント１だけなので、この通信はなりすまし防止につながる。
【００７５】
認証サーバ５では、さらに、ランダムな値をシード値とした共有鍵をこのタイミングでダイナミックに生成する処理が行われる（図９（Ｄ）参照）。この共有鍵は認証サーバ５において保存され、たとえばチャレンジジコードを兼ねるものとして使用される。このようにして得られた共有鍵はクライアント側公開鍵１０３Ａを用いて暗号化され、クライアント１に送信される（図９（Ｅ）参照）。
【００７６】
クライアント１では、認証サーバ５より送信されてきた共有鍵に対してクライアント側秘密鍵１０３Ｂを用いた復号化が行われる（図９（Ｆ）参照）。この共有鍵はクライアント１でも保存され、以降は送信データが共有鍵により暗号化されてから認証サーバ５に送信される（図９（Ｇ）参照）。このとき、共有鍵がレスポンスコードを兼ねる働きをもつ。
【００７７】
認証サーバ５では、クライアント１から共有鍵を用いたデータ送信が受け付けられると、自身で保有している共有鍵を用いて復号化が行われる（図９（Ｈ）参照）。このとき、クライアント１が正しい鍵、すなわち、共有鍵を持たなければ復号化は達成できなくなる。認証サーバ５が保有する共有鍵で問題なく受信データを復号化できれば、証明書に含まれるクライアント側公開鍵１０３Ａに対応するクライアント側秘密鍵１０３Ｂをもつクライアント１だと断定することが可能である。
【００７８】
以降は同様に、クライアント１と認証サーバ５との間で共有鍵による暗号化、復号化を通して暗号通信が実現される（図９（Ｉ）および（Ｊ）参照）。
【００７９】
以上の暗号通信の流れを図１０および図１１のフローチャートで説明すると、まず、クライアント１では、ユーザよりデータ送信の指示が受け付けられると（ステップＳ３１）、サーバ側公開鍵５０２Ａを用いて証明書の暗号化が行われる（ステップＳ３２）。このようにして暗号化された証明書は認証サーバ５に送信される（ステップＳ３３）。
【００８０】
認証サーバ５では、クライアント１より送信されてきた情報が受信されると（ステップＳ５１）、サーバ側秘密鍵５０２Ｂを用いて復号化が行われる（ステップＳ５２）。このとき、正しく復号化ができると（ステップＳ５３のＹＥＳルート）、復号化により得られた証明書が一旦記憶される。そして、図８で説明したように、その証明書が正しい証明書かどうかの検証が行われる（ステップＳ５４）。一方、正しく復号化ができなかった場合には、なしすまし等の可能性もあり、処理は終了する（ステップＳ５３のＮＯルート）。このようにして、処理は終了する。
【００８１】
ステップＳ５４の検証により証明書が本物であるという判断が下された場合には（ステップＳ５５のＹＥＳルート）、その証明書からクライアント側公開鍵１０３Ａとアカウント識別子とが取り出される（ステップＳ５６）。そして、そのアカウント識別子に基づいてユーザ空間が特定される（ステップＳ５７）。一方、本物でないという判断が下された場合には（ステップＳ５５のＮＯルート）、なしすまし等の可能性もあり、処理は終了する。
【００８２】
つづいて認証サーバ５では、ランダムな値をシード値とした共有鍵がこのタイミングでダイナミックに作成される（ステップＳ５８）。そして、クライアント側共有鍵１０３Ａを用いてその共有鍵が暗号化され（ステップＳ５９）、クライアント１に送信される（ステップＳ６０）。
【００８３】
クライアント１では、認証サーバ５より送信されてきた情報が受信される（ステップＳ３４）。このように、認証サーバ５より暗号化された共有鍵が送られてくると、その共有鍵はクライアント側秘密鍵１０３Ｂを用いて復号化される（ステップＳ３５）。
【００８４】
このとき、正しく復号化ができると（ステップＳ３６のＹＥＳルート）、復号化により得られた秘密鍵がデータ格納領域２２Ｂに記憶される（ステップＳ３７）。一方、正しく復号化ができなかった場合には、なしすまし等の可能性もあり、処理は終了する（ステップＳ３６のＮＯルート）。このようにして、処理は終了する。
【００８５】
クライアント１において、このようにして共有鍵が入手されると、今度はその共有鍵を用いて送信対象となるデータ（送信データ）が暗号化される（ステップＳ３８）。このようにして暗号化された送信データは認証サーバ５に送信され（ステップＳ３９）、以降の送信では終了まで共有鍵を用いたデータ送信となり、ステップＳ３８〜ステップＳ４０（ＮＯルート）が繰り返し実行される。
【００８６】
そして、データ送信が終了の際は、処理は終了する（ステップＳ４０のＹＥＳルート）。なお、このデータ送信の間は、認証サーバ５からの共有鍵で暗号化されたデータが送信されてくる。したがって、説明の簡略化のため図示せぬが、受信の際は、クライアント１で共有鍵により復号化する処理が実行されるものとする。
【００８７】
認証サーバ５では、共有鍵を送信した後（ステップＳ６０）、クライアント１よりデータが受信されると（ステップＳ６１）、共有鍵を用いて受信データの復号化が行われる（ステップＳ６２）。
【００８８】
このとき、正しく復号化ができると（ステップＳ６３のＹＥＳルート）、復号化により得られたデータがデータ格納領域５４などに記憶される（ステップＳ６４）。一方、正しく復号化ができなかった場合には、なしすまし等の可能性もあり、処理は終了する（ステップＳ６３のＮＯルート）。このようにして、処理は終了する。
【００８９】
認証サーバ５において、以降の受信では暗号通信の終了まで共有鍵を用いたデータ受信となり、ステップＳ６１〜ステップＳ６５（ＮＯルート）が繰り返し実行される。そして、データ受信が終了の際は、処理は終了する（ステップＳ６５のＹＥＳルート）。なお、このデータ受信の間は、クライアント１に対して共有鍵で暗号化したデータが送信される。したがって、説明の簡略化のため図示せぬが、送信の際は、認証サーバ５で共有鍵により暗号化する処理が実行されるものとする。
【００９０】
以上説明したように、本実施の形態によれば、暗号通信において、秘密の情報に依存しないユーザ認証を実現してセキュリティを強化することが可能である。
【００９１】
また、暗号通信において、ネットワーク上を伝送させる情報以外の要素を加味して第三者の不正使用を防止することが可能である。
【００９２】
また、暗号通信において、第三者によりネットワーク上を伝送させる情報が改竄された場合にその改竄の事実を容易に検出して、ネットワーク上のセキュリティを実現することが可能である。
【００９３】
また、暗号通信において、ネットワーク上を伝送させる情報が第三者に盗まれても、正規のユーザにのみ有効な情報として機能させることが可能である。
【００９４】
また、暗号通信において、ネットワーク上の通信工程を減少させ、ユーザ認証時の処理の最適化を図ることが可能である。
【００９５】
【発明の効果】
以上説明したように、本発明によれば、ユーザを特定する情報に依存しないユーザ認証を実現し、通信上のセキュリティを強化することが可能である。
【図面の簡単な説明】
【図１】本発明の一実施の形態による暗号通信システムの一構成例を示すブロック図である。
【図２】本発明の一実施の形態によるクライアントの一構成例を示すブロック図である。
【図３】本発明の一実施の形態によるサーバの一構成例を示すブロック図である。
【図４】本発明の一実施の形態によるクライアント側で準備される暗号化プログラムの一構成例を示す図である。
【図５】本発明の一実施の形態による認証サーバ側で準備される暗号化プログラムの一構成例を示す図である。
【図６】本発明の一実施の形態によるアカウント登録の通信手順を概略的に説明する図である。
【図７】本発明の一実施の形態によるアカウント登録時の動作を説明するフローチャートである。
【図８】本発明の一実施の形態による暗号通信手順（１）を概略的に説明する図である。
【図９】本発明の一実施の形態による暗号通信手順（２）を概略的に説明する図である。
【図１０】本発明の一実施の形態による暗号通信時の動作（１）を説明する図である。
【図１１】本発明の一実施の形態による暗号通信時の動作（１）を説明する図である。
【符号の説明】
１  クライアント
３  インターネット
５  認証サーバ
７  通信回線
９  通信回線
１９  ＣＰＵ
２０  ＲＯＭ
２１  ＲＡＭ
２２  ＨＤＤ
１３  表示部
１７  操作入力部
１１  通信制御部
５１  通信制御装置
５２  制御装置
５３  記憶装置
１０１  通信プログラム
１０２Ａ  サーバ側公開鍵
１０３Ａ  クライアント側公開鍵
１０３Ｂ  クライアント側秘密鍵
１０５  共有情報
５０１  通信プログラム
５０２Ａ  サーバ側公開鍵
５０２Ｂ  サーバ側秘密鍵
５０３Ａ  クライアント側公開鍵
５０３Ｂ  クライアント側秘密鍵
５０６  共有情報
【図１】
2004159100.tif 000003
【図２】
2004159100.tif 000004
【図３】
2004159100.tif 000005
【図４】
2004159100.tif 000006
【図５】
2004159100.tif 000007
【図６】
2004159100.tif 000008
【図７】
2004159100.tif 000009
【図８】
2004159100.tif 000010
【図９】
2004159100.tif 000011
【図１０】
2004159100.tif 000012
【図１１】
2004159100.tif 000013