(57)【要約】【課題】サーバの管理負荷を低減し、攻撃による情報漏洩を回避することができる通信システム及びプログラムを提供すること。【解決手段】認証前処理において、第１制御部１３は、第１記憶部１１から読み出した端末側識別情報を、第１送受信部１２を介してサーバ２０に送信し、第２制御部２４は、第２送受信部２３により受信した端末側識別情報と、第２記憶部２１に記憶されているサーバ識別情報に基づいて、所定のアルゴリズムにより鍵情報を鍵情報生成部２２に生成させ、生成された鍵情報を、第２送受信部２３を介して端末１０に送信し、第１制御部１３は、第１送受信部１２により受信した鍵情報を第１記憶部１１に記憶する。【選択図】図１
2013042335.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続されたサーバと端末との間において、所定の通信を行う通信システムにおいて、
前記端末は、
端末側識別情報を記憶する第１記憶部と、
前記サーバとの間で情報の送受信を行う第１送受信部と、
全体を制御する第１制御部とを備え、
前記サーバは、
固有のサーバ識別情報を記憶する第２記憶部と、
前記端末側識別情報と前記サーバ識別情報に基づいて、所定のアルゴリズムにより鍵情報を生成する鍵情報生成部と、
前記端末との間で情報の送受信を行う第２送受信部と、
全体を制御する第２制御部とを備え、
認証前処理において、
前記第１制御部は、前記第１記憶部から読み出した前記端末側識別情報を、前記第１送受信部を介して前記サーバに送信し、
前記第２制御部は、前記第２送受信部により受信した前記端末側識別情報と、前記第２記憶部に記憶されている前記サーバ識別情報に基づいて、所定のアルゴリズムにより鍵情報を前記鍵情報生成部に生成させ、生成された前記鍵情報を、前記第２送受信部を介して前記端末に送信し、
前記第１制御部は、前記第１送受信部により受信した前記鍵情報を前記第１記憶部に記憶する通信システム。
【請求項２】
前記端末は、
乱数を発生する第１乱数発生部と、
認証処理を行う第１認証処理部と、
ハッシュ関数を生成する第１ハッシュ関数生成部とを備え、
前記サーバは、
乱数を発生する第２乱数発生部と、
認証処理を行う第２認証処理部と、
ハッシュ関数を生成する第２ハッシュ関数生成部とを備え、
認証処理において、
前記第１制御部は、前記第１記憶部から読み出した前記端末側識別情報と、前記第１乱数発生部により発生させた第１乱数を、前記第１送受信部を介して前記サーバに送信し、
前記第２制御部は、前記第２送受信部により受信した前記端末側識別情報と、前記第２記憶部に記憶されている前記サーバ識別情報に基づいて、所定のアルゴリズムにより鍵情報を前記鍵情報生成部に生成させ、生成された前記鍵情報と前記第２送受信部により受信した前記第１乱数とを用いて第２ハッシュ関数を前記第２ハッシュ関数生成部に生成させ、生成させた前記第２ハッシュ関数と、前記第２乱数発生部により発生させた第２乱数を、前記第２送受信部を介して前記端末に送信し、
前記第１制御部は、前記第１送受信部により受信した前記第２ハッシュ関数の認証を前記第１乱数発生部により発生させた前記第１乱数と、前記第１記憶部に記憶されている前記鍵情報に基づいて前記第１認証処理部に認証させ、
当該認証が成功した場合に、前記第１記憶部に記憶されている前記鍵情報と、前記第１送受信部により受信した前記第２乱数とを用いて第１ハッシュ関数を前記第１ハッシュ関数生成部に生成させ、生成させた前記第１ハッシュ関数を、前記第１送受信部を介して前記サーバに送信し、
前記第２制御部は、前記第２送受信部により受信した前記第１ハッシュ関数の認証を前記第２乱数発生部により発生させた前記第２乱数と、前記鍵情報生成部により生成された前記鍵情報に基づいて前記第２認証処理部に認証させ、当該認証が成功したらその旨の情報を前記端末に送信する請求項１記載の通信システム。
【請求項３】
前記端末側識別情報は、端末に付与されている固有の識別情報である請求項１又は２に記載の通信システム。
【請求項４】
前記端末は、パスワードを入力する入力部を備え、
前記第１記憶部は、前記入力部により入力されたパスワードを前記端末側識別情報として記憶する請求項１又は２に記載の通信システム。
【請求項５】
ネットワークに接続されたサーバと端末との間において行われる所定の通信処理をコンピュータに実行させるためのプログラムであって、
認証前処理において、
端末側識別情報が記憶されている第１記憶部から読み出した前記端末側識別情報を前記サーバに送信する第１工程と、
前記第１工程により送信されてきた前記端末側識別情報と、固有のサーバ識別情報が記憶されている第２記憶部に記憶されている前記サーバ識別情報に基づいて、所定のアルゴリズムにより鍵情報を生成する第２工程と、
前記第２工程により生成された前記鍵情報を前記端末に送信する第３工程と、
前記第３工程により送信されてきた前記鍵情報を前記第１記憶部に記憶する第４工程とをコンピュータに実行させるためのプログラム。
【請求項６】
認証処理において、
前記第１記憶部から読み出した前記端末側識別情報と、第１乱数発生部により発生された第１乱数を前記サーバに送信する第５工程と、
前記第５工程により送信されてきた前記端末側識別情報と、前記第２記憶部に記憶されている前記サーバ識別情報に基づいて、所定のアルゴリズムにより鍵情報を生成する第６工程と、
前記第６工程により生成された前記鍵情報と、前記第５工程により受信した前記第１乱数とを用いて第２ハッシュ関数を生成する第７工程と、
前記第７工程により生成された前記第２ハッシュ関数と、第２乱数発生部により発生させた第２乱数を、前記端末に送信する第８工程と、
前記第５工程で前記第１乱数発生部により発生させた前記第１乱数と、前記第１記憶部に記憶されている前記鍵情報に基づいて、前記第８工程により送信されてきた前記第２ハッシュ関数を認証する第９工程と、
前記第９工程による認証が成功した場合に、前記第１記憶部に記憶されている前記鍵情報と、前記第８工程により送信されてきた前記第２乱数とを用いて第１ハッシュ関数を生成する第１０工程と、
前記第１０工程により生成された前記第１ハッシュ関数を前記サーバに送信する第１１工程と、
前記第８工程で前記第２乱数発生部により発生させた前記第２乱数と、前記第６工程により生成された前記鍵情報に基づいて、前記第１１工程により送信されてきた前記第１ハッシュ関数を認証する第１２工程と、
前記第１２工程による認証が成功した場合に、当該認証が成功した旨の情報を前記端末に送信する第１３工程をコンピュータに実行させるための請求項５記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続された端末とサーバとの間で情報を伝送する通信システム及びプログラムに関する。
【背景技術】
【０００２】
一般的に、ネットワークに接続されている端末とサーバとの間においては、端末認証プロトコルを利用して信頼を確立している。この端末認証プロトコルでは、端末は、初期設定として、ユーザＩＤや認証コード（パスワードや共有秘密鍵等）をサーバに登録しておく。サーバは、認証時において、予め登録されているユーザＩＤや認証コードに基づいて、端末の認証を行う（例えば、特許文献１乃至３を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−０６９１３８号公報
【特許文献２】特開平１０−０７０５４０号公報
【特許文献３】特開平１１−０１５７８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、このような構成において、サーバは、ユーザＩＤや認証コードを管理する必要があり、ユーザ数の増加に伴って管理負荷が増大する。また、サーバは、大量のユーザＩＤや認証コードを管理しているため、外部からの攻撃によりユーザ情報が漏洩してしまう可能性がある。
【０００５】
本発明は、上記課題を解決するため、サーバの管理負荷を低減し、攻撃による情報漏洩を回避することができる通信システム及びプログラムを提供することを一つの目的とする。
【課題を解決するための手段】
【０００６】
（１）本発明に係る通信システムは、上記課題を解決するために、ネットワークに接続されたサーバと端末との間において、所定の通信を行う通信システムにおいて、前記端末は、端末側識別情報を記憶する第１記憶部と、前記サーバとの間で情報の送受信を行う第１送受信部と、全体を制御する第１制御部とを備え、前記サーバは、固有のサーバ識別情報を記憶する第２記憶部と、前記端末側識別情報と前記サーバ識別情報に基づいて、所定のアルゴリズムにより鍵情報を生成する鍵情報生成部と、前記端末との間で情報の送受信を行う第２送受信部と、全体を制御する第２制御部とを備え、認証前処理において、前記第１制御部は、前記第１記憶部から読み出した前記端末側識別情報を、前記第１送受信部を介して前記サーバに送信し、前記第２制御部は、前記第２送受信部により受信した前記端末側識別情報と、前記第２記憶部に記憶されている前記サーバ識別情報に基づいて、所定のアルゴリズムにより鍵情報を前記鍵情報生成部に生成させ、生成された前記鍵情報を、前記第２送受信部を介して前記端末に送信し、前記第１制御部は、前記第１送受信部により受信した前記鍵情報を前記第１記憶部に記憶する構成である。
【０００７】
このような構成によれば、通信システムは、認証前処理において、第１記憶部から読み出した端末側識別情報を、第１送受信部を介してサーバに送信し、第２送受信部により受信した端末側識別情報と、第２記憶部に記憶されているサーバ識別情報に基づいて、所定のアルゴリズムにより鍵情報を鍵情報生成部に生成させ、生成された鍵情報を、第２送受信部を介して端末に送信し、第１送受信部により受信した鍵情報を第１記憶部に記憶する。したがって、通信システムは、サーバ側でユーザのＩＤや認証コードを管理しないので、管理負担を軽減し、攻撃による情報漏洩を回避することができる。
【０００８】
（２）また、通信システムでは、前記端末は、乱数を発生する第１乱数発生部と、認証処理を行う第１認証処理部と、ハッシュ関数を生成する第１ハッシュ関数生成部とを備え、前記サーバは、乱数を発生する第２乱数発生部と、認証処理を行う第２認証処理部と、ハッシュ関数を生成する第２ハッシュ関数生成部とを備え、認証処理において、前記第１制御部は、前記第１記憶部から読み出した前記端末側識別情報と、前記第１乱数発生部により発生させた第１乱数を、前記第１送受信部を介して前記サーバに送信し、前記第２制御部は、前記第２送受信部により受信した前記端末側識別情報と、前記第２記憶部に記憶されている前記サーバ識別情報に基づいて、所定のアルゴリズムにより鍵情報を前記鍵情報生成部に生成させ、生成された前記鍵情報と前記第２送受信部により受信した前記第１乱数とを用いて第２ハッシュ関数を前記第２ハッシュ関数生成部に生成させ、生成させた前記第２ハッシュ関数と、前記第２乱数発生部により発生させた第２乱数を、前記第２送受信部を介して前記端末に送信し、前記第１制御部は、前記第１送受信部により受信した前記第２ハッシュ関数の認証を前記第１乱数発生部により発生させた前記第１乱数と、前記第１記憶部に記憶されている前記鍵情報に基づいて前記第１認証処理部に認証させ、当該認証が成功した場合に、前記第１記憶部に記憶されている前記鍵情報と、前記第１送受信部により受信した前記第２乱数とを用いて第１ハッシュ関数を前記第１ハッシュ関数生成部に生成させ、生成させた前記第１ハッシュ関数を、前記第１送受信部を介して前記サーバに送信し、前記第２制御部は、前記第２送受信部により受信した前記第１ハッシュ関数の認証を前記第２乱数発生部により発生させた前記第２乱数と、前記鍵情報生成部により生成された前記鍵情報に基づいて前記第２認証処理部に認証させ、当該認証が成功したらその旨の情報を前記端末に送信する構成である。
【０００９】
このような構成によれば、通信システムは、事前の認証前登録によりサーバで端末側識別情報に基づいて作成した共有鍵（鍵情報）を端末側で保持しておき、認証処理において、共有鍵を利用して、サーバと端末の相互間でチャレンジ／レスポンス方式による認証を行うので、盗聴やなりすましによる情報漏洩を回避することができる。
【００１０】
（３）また、通信システムでは、前記端末側識別情報は、端末に付与されている固有の識別情報である。
【００１１】
端末には、固有の識別情報であるＩＭＥＩ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｍｏｂｉｌｅ  ｅｑｕｉｐｍｅｎｔ  Ｉｄｅｎｔｉｆｉｅｒ）が割り振られている。
通信システムは、この固有のＩＤであるＩＭＥＩを利用して、認証前処理及び認証処理を行うので、サーバ側で所定のアルゴリズムにより固有の鍵情報を作成することができる。なお、固有の識別情報は、ＩＭＥＩに限られず、ＩＭＳＩ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｍｏｂｉｌｅ  Ｓｕｂｓｃｒｉｂｅｒ  Ｉｄｅｎｔｉｔｙ）であっても良い。
【００１２】
（４）また、通信システムでは、前記端末は、パスワードを入力する入力部を備える。このような構成において、前記第１記憶部は、前記入力部により入力されたパスワードを前記端末側識別情報として記憶する。
【００１３】
よって、通信システムは、ユーザが任意に入力したパスワードを端末側識別情報として利用できるので、第三者がユーザ本人になりすまして、勝手に端末を操作しても認証処理を成功させないようにすることができる。
【００１４】
（５）本発明に係るプログラムは、上記課題を解決するために、ネットワークに接続されたサーバと端末との間において行われる所定の通信処理をコンピュータに実行させるためのプログラムであって、認証前処理において、端末側識別情報が記憶されている第１記憶部から読み出した前記端末側識別情報を前記サーバに送信する第１工程と、前記第１工程により送信されてきた前記端末側識別情報と、固有のサーバ識別情報が記憶されている第２記憶部に記憶されている前記サーバ識別情報に基づいて、所定のアルゴリズムにより鍵情報を生成する第２工程と、前記第２工程により生成された前記鍵情報を前記端末に送信する第３工程と、前記第３工程により送信されてきた前記鍵情報を前記第１記憶部に記憶する第４工程とをコンピュータに実行させるためのものである。
【００１５】
このような構成によれば、本発明に係るプログラムが実行されたコンピュータは、認証前処理において、第１記憶部から読み出した端末側識別情報を、第１送受信部を介してサーバに送信し、第２送受信部により受信した端末側識別情報と、第２記憶部に記憶されているサーバ識別情報に基づいて、所定のアルゴリズムにより鍵情報を鍵情報生成部に生成させ、生成された鍵情報を、第２送受信部を介して端末に送信し、第１送受信部により受信した鍵情報を第１記憶部に記憶するように実行する。したがって、本発明に係るプログラムが実行されたコンピュータは、サーバ側でユーザのＩＤや認証コードを管理しないので、管理負担を軽減し、攻撃による情報漏洩を回避することができる。
【００１６】
（６）また、本発明に係るプログラムでは、認証処理において、前記第１記憶部から読み出した前記端末側識別情報と、第１乱数発生部により発生された第１乱数を前記サーバに送信する第５工程と、前記第５工程により送信されてきた前記端末側識別情報と、前記第２記憶部に記憶されている前記サーバ識別情報に基づいて、所定のアルゴリズムにより鍵情報を生成する第６工程と、前記第６工程により生成された前記鍵情報と、前記第５工程により受信した前記第１乱数とを用いて第２ハッシュ関数を生成する第７工程と、前記第７工程により生成された前記第２ハッシュ関数と、第２乱数発生部により発生させた第２乱数を、前記端末に送信する第８工程と、前記第５工程で前記第１乱数発生部により発生させた前記第１乱数と、前記第１記憶部に記憶されている前記鍵情報に基づいて、前記第８工程により送信されてきた前記第２ハッシュ関数を認証する第９工程と、前記第９工程による認証が成功した場合に、前記第１記憶部に記憶されている前記鍵情報と、前記第８工程により送信されてきた前記第２乱数とを用いて第１ハッシュ関数を生成する第１０工程と、前記第１０工程により生成された前記第１ハッシュ関数を前記サーバに送信する第１１工程と、前記第８工程で前記第２乱数発生部により発生させた前記第２乱数と、前記第６工程により生成された前記鍵情報に基づいて、前記第１１工程により送信されてきた前記第１ハッシュ関数を認証する第１２工程と、前記第１２工程による認証が成功した場合に、当該認証が成功した旨の情報を前記端末に送信する第１３工程をコンピュータに実行させる。
【００１７】
このような構成によれば、本発明に係るプログラムが実行されたコンピュータは、認証処理において、サーバ側でユーザのＩＤや認証コードを管理することなく、サーバと端末間において、相互にチャレンジ／レスポンス方式による認証を行うので、相互に認証を行うことができるので、サーバ側の管理負担を軽減し、攻撃による情報漏洩を回避することができる。
【発明の効果】
【００１８】
本発明によれば、サーバの管理負荷を低減し、攻撃による情報漏洩を回避することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明に係る通信システムの構成を示すブロック図である。
【図２】通信システムにより行われる認証前処理の説明に供する図である。
【図３】通信システムにより行われる認証処理の説明に供する図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態の一例について図を参照しながら説明する。本発明の実施形態に係る通信システム１は、ネットワークＮを介して端末１０とサーバ２０が接続されている。
【００２１】
端末１０は、図１に示すように、第１記憶部１１と、第１送受信部１２と、第１制御部１３と、第１乱数発生部１４と、第１認証処理部１５と、第１ハッシュ関数生成部１６とを備える。
【００２２】
第１記憶部１１は、端末側識別情報を記憶する。第１送受信部１２は、サーバ２０との間で情報の送受信を行うインターフェースである。第１制御部１３は、端末１０全体を制御する。第１乱数発生部１４は、乱数を発生する。第１認証処理部１５は、所定の方法により認証処理を行う。第１ハッシュ関数生成部１６は、所定の方法によりハッシュ関数を生成する。
【００２３】
また、サーバ２０は、図１に示すように、第２記憶部２１と、鍵情報生成部２２と、第２送受信部２３と、第２制御部２４と、第２乱数発生部２５と、第２認証処理部２６と、第２ハッシュ関数生成部２７とを備える。
【００２４】
第２記憶部２１は、固有のサーバ識別情報を記憶する。鍵情報生成部２２は、端末側識別情報とサーバ識別情報に基づいて、所定のアルゴリズムにより鍵情報を生成する。第２送受信部２３は、端末１０との間で情報の送受信を行う。第２制御部２４は、サーバ２０全体を制御する。第２乱数発生部２５は、乱数を発生する。第２認証処理部２６は、所定の方法で認証処理を行う。第２ハッシュ関数生成部２７は、所定の方法でハッシュ関数を生成する。
【００２５】
＜認証前処理＞
ここで、通信システム１により行われる認証前処理について、図２を参照しながら説明する。
ステップＳＴ１において、第１制御部１３は、第１記憶部１１から端末側識別情報（ＩＤｍ）を読み出し、読み出した端末側識別情報（ＩＤｍ）を、第１送受信部１２を介してサーバ２０に送信する。
【００２６】
ステップＳＴ２において、第２制御部２４は、第２送受信部２３により受信した端末側識別情報（ＩＤｍ）と、第２記憶部２１に記憶されているサーバ識別情報（ＭＫ）に基づいて、所定のアルゴリズムにより鍵情報（Ｋ）を鍵情報生成部２２に生成させる。つぎに、第２制御部２４は、生成された鍵情報（Ｋ）を、第２送受信部２３を介して端末１０に送信する。
【００２７】
具体的には、鍵情報生成部２２は、（１）式に示すように、端末側識別情報（ＩＤｍ）とサーバ識別情報（ＭＫ）を入力値として、鍵生成関数により鍵情報（Ｋ）を生成する。なお、情報鍵（Ｋ）は、共有鍵である。
Ｋ＝ｋｅｙ−Ｇｅｎ（ＭＫ，ＩＤｍ）・・・（１）
【００２８】
ステップＳＴ３において、第１制御部１３は、第１送受信部１２により受信した鍵情報（Ｋ）を第１記憶部１１に記憶する。
【００２９】
このようにして、通信システム１では、サーバ２０によって、端末側識別情報（ＩＤｍ）に基づく情報鍵（Ｋ）を生成し、当該情報鍵（Ｋ）を端末１０側で記憶することにより認証前処理を行う。したがって、認証前処理において、サーバ２０は、サーバ識別情報（ＭＫ）のみ保持し、端末側識別情報（ＩＤｍ）や情報鍵（Ｋ）等を保持しないので、管理負担が軽減され、原理的に、第三者からの攻撃によってユーザのＩＤ等の情報が漏洩する事態を招くことがないメリットがある。
【００３０】
＜認証処理＞
つぎに、通信システム１により行われる認証処理について、図３を参照しながら説明する。
ステップＳＴ１１において、第１制御部１３は、第１記憶部１１から読み出した端末側識別情報（ＩＤｍ）と、第１乱数発生部１４により発生させた第１乱数（Ｒｍ）を、第１送受信部１２を介してサーバ２０に送信する。第１乱数（Ｒｍ）は、いわゆるチャレンジ／レスポンスにおけるチャレンジとして送信される乱数である。なお、第１制御部１３は、端末側識別情報（ＩＤｍ）と第１乱数（Ｒｍ）を同時にサーバ２０に送信しても良いし、異なるタイミングで送信しても良い。
【００３１】
ステップＳＴ１２において、第２制御部２４は、第２送受信部２３により受信した端末側識別情報（ＩＤｍ）と、第２記憶部２１に記憶されているサーバ識別情報（ＭＫ）に基づいて、所定のアルゴリズムにより鍵情報（Ｋ）を鍵情報生成部２２に生成させる。
つぎに、第２制御部２４は、生成された鍵情報（Ｋ）と第２送受信部２３により受信した第１乱数（Ｒｍ）とを用いて第２ハッシュ関数（Ｒｅｓ−ｓ）を第２ハッシュ関数生成部２７に生成させる。
【００３２】
つぎに、第２制御部２４は、生成させた第２ハッシュ関数（Ｒｅｓ−ｓ）と、第２乱数発生部２５により発生させた第２乱数（Ｒｓ）を、第２送受信部２３を介して端末１０に送信する。第２ハッシュ関数（Ｒｅｓ−ｓ）は、第１乱数（Ｒｍ）に対するサーバ２０からのレスポンス値である。また、第２乱数（Ｒｓ）は、いわゆるチャレンジ／レスポンスにおけるチャレンジとして送信される乱数である。なお、第２制御部２４は、第２ハッシュ関数（Ｒｅｓ−ｓ）と第２乱数（Ｒｓ）を同時に端末１０に送信しても良いし、異なるタイミングで送信しても良い。
【００３３】
また、第２ハッシュ関数（Ｒｅｓ−ｓ）は、（２）式により表される鍵付きのハッシュ関数である。
Ｒｅｓ−ｓ＝ｋｅｙｅｄＨ（Ｋ，Ｒｍ）・・・（２）
【００３４】
ステップＳＴ１３において、第１制御部１３は、第１送受信部１２により受信した第２ハッシュ関数（Ｒｅｓ−ｓ）の認証を第１乱数発生部１４により発生させた第１乱数（Ｒｍ）と、第１記憶部１１に記憶されている鍵情報（Ｋ）に基づいて第１認証処理部１５に認証させる。
【００３５】
具体的には、第１認証処理部１５は、第１乱数（Ｒｍ）と鍵情報（Ｋ）に基づいて鍵付きハッシュ関数を生成する（本実施例では、鍵付きハッシュ関数は、ｋｅｙｅｄＨ（Ｋ，Ｒｍ）となる。）。そして、第１認証処理部１５は、生成した鍵付きハッシュ関数が、第１送受信部１２により受信した第２ハッシュ関数（Ｒｅｓ−ｓ）と一致するかどうかにより認証を行う。なお、本実施例では、（３）式より一致する。
Ｒｅｓ−ｓ＝＝ｋｅｙｅｄＨ（Ｋ，Ｒｍ）・・・（３）
なお、「＝＝」は、左右の値が一致するか否かを判定するという意味である。
【００３６】
そして、第１制御部１３は、認証が成功した場合に、第１記憶部１１に記憶されている鍵情報（Ｋ）と、第１送受信部１２により受信した第２乱数（Ｒｓ）とを用いて第１ハッシュ関数（Ｒｅｓ−ｍ）を第１ハッシュ関数生成部１６に生成させる。第１ハッシュ関数（Ｒｅｓ−ｍ）は、第２乱数（Ｒｓ）に対する端末１０からのレスポンス値である。また、第１ハッシュ関数（Ｒｅｓ−ｍ）は、（４）式により表される鍵付きのハッシュ関数である。
Ｒｅｓ−ｍ＝ｋｅｙｅｄＨ（Ｋ，Ｒｓ）・・・（４）
【００３７】
つぎに、第１制御部１３は、生成させた第１ハッシュ関数（Ｒｅｓ−ｍ）を、第１送受信部１２を介してサーバ２０に送信する。
【００３８】
ステップＳＴ１４において、第２制御部２４は、第２送受信部２３により受信した第１ハッシュ関数（Ｒｅｓ−ｍ）の認証を、第２乱数発生部２５により発生させた第２乱数（Ｒｓ）と、鍵情報生成部２２により生成された鍵情報（Ｋ）に基づいて第２認証処理部２６に認証させる。
【００３９】
具体的には、第２認証処理部２６は、第２乱数（Ｒｓ）と鍵情報（Ｋ）に基づいて鍵付きハッシュ関数を生成する（本実施例では、鍵付きハッシュ関数は、ｋｅｙｅｄＨ（Ｋ，Ｒｓ）となる。）。そして、第２認証処理部２６は、生成した鍵付きハッシュ関数が、第２送受信部２３により受信した第１ハッシュ関数（Ｒｅｓ−ｍ）と一致するかどうかにより認証を行う。なお、本実施例では、（５）式より一致する。
Ｒｅｓ−ｓ＝＝ｋｅｙｅｄＨ（Ｋ，Ｒｓ）・・・（５）
なお、「＝＝」は、左右の値が一致するか否かを判定するという意味である。
【００４０】
また、第２制御部２４は、当該認証が成功したらその旨の情報（Ａｃｋ）を端末１０に送信する。通信システム１は、Ａｃｋを端末１０に送信したことにより、サーバ２０と端末１０間における相互認証が成功したことになる。
【００４１】
このようにして、通信システム１では、事前の認証前登録によりサーバ２０で端末側識別情報（ＩＤｍ）に基づいて作成した共有鍵（鍵情報）を端末１０側で保持しておき、認証処理において、共有鍵を利用して、サーバ２０と端末１０の相互間でチャレンジ／レスポンス方式による認証を行うので、盗聴やなりすましによる情報漏洩を回避することができる。
【００４２】
また、サーバ２０は、認証処理において、毎回、共有鍵（鍵情報（Ｋ））を生成するため、サーバ識別情報（ＭＫ）のみ保持し、端末側識別情報（ＩＤｍ）や情報鍵（Ｋ）等を保持しないため、管理負担が軽減され、原理的に、第三者からの攻撃によってユーザのＩＤ等の情報が漏洩する事態を招くことがないメリットがある。
【００４３】
また、上述した端末側識別情報（ＩＤｍ）は、端末１０に付与されている固有の識別情報であっても良い。
端末１０が携帯電話等である場合には、固有の識別情報であるＩＭＥＩ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｍｏｂｉｌｅ  ｅｑｕｉｐｍｅｎｔ  Ｉｄｅｎｔｉｆｉｅｒ）が割り振られている。
【００４４】
通信システム１は、この固有のＩＤであるＩＭＥＩを利用して、認証前処理及び認証処理を行うので、サーバ２０側で所定のアルゴリズムにより固有の鍵情報（Ｋ）を作成することができる。なお、固有の識別情報は、ＩＭＥＩに限られず、ＩＭＳＩ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｍｏｂｉｌｅ  Ｓｕｂｓｃｒｉｂｅｒ  Ｉｄｅｎｔｉｔｙ）等であっても良い。
【００４５】
また、端末１０は、図１に示すように、パスワードを入力する入力部１７を備える構成であっても良い。第１記憶部１１は、入力部１７により入力されたパスワードを端末側識別情報（ＩＤｍ）として記憶する。
【００４６】
このような構成によれば、通信システム１は、ユーザが任意に入力したパスワードを端末側識別情報（ＩＤｍ）として利用できるので、パスワードを知らない第三者がユーザ本人になりすまして、勝手に端末１０を操作しても認証処理を成功させないようにすることができる。
【符号の説明】
【００４７】
１  通信システム
１０  端末
１１  第１記憶部
１２  第１送受信部
１３  第１制御部
１４  第１乱数発生部
１５  第１認証処理部
１６  第１ハッシュ関数生成部
１７  入力部
２０  サーバ
２１  第２記憶部
２２  鍵情報生成部
２３  第２送受信部
２４  第２制御部
２５  第２乱数発生部
２６  第２認証処理部
２７  第２ハッシュ関数生成部
【図１】
2013042335.tif 000003
【図２】
2013042335.tif 000004
【図３】
2013042335.tif 000005