(57)【要約】【課題】利用者の秘密情報や生体認証機能を持たず紛失や盗難に遭っても安全な通信端末装置を提供する。【解決手段】ＩＰ電話１００Ａ、１００Ｂは、指紋センサ１１３１ａ，１１３１ｂによって、それぞれ利用者Ａの指紋情報ＦＰＡ、利用者Ｂの指紋情報ＦＰＢを読み取り記憶し、指紋情報をＳＩＰサーバ３００に送信する。ＳＩＰサーバ３００は指紋照合用データを保有しており、指紋照合用データと受信した指紋情報とを照合して利用者Ａ、Ｂを認証し、認証が成立するとＦＰＡをＩＰ電話１００Ｂに、ＦＰＢをＩＰ電話１００Ａに返信する。ＩＰ電話１００Ａは、記憶したＦＰＡと受信したＦＰＢとに基づき共通鍵Ｋを生成し、ＩＰ電話１００Ｂも、記憶したＦＰＢと受信したＦＰＡとに基づき共通鍵Ｋを生成する。ＩＰ電話１００ＡとＩＰ電話１００Ｂとは、生成した共通鍵Ｋにより暗号通信を行い、暗号通信終了時には共通鍵Ｋ及び記憶した指紋情報を消去する。【選択図】図１
2008124847.tif 000002
【特許請求の範囲】
【請求項１】
生体情報を読み取り可能な第１の通信端末装置と、生体情報を読み取り可能な第２の通信端末装置と、前記第１の通信端末装置と前記第２の通信端末装置との間の通信を接続するとともに、前記第１の通信端末装置と前記第２の通信端末装置との読み取ったそれぞれの生体情報について個人認証を行う認証装置と
を備え、
前記第１の通信端末装置は、
生体情報を読み取る第１側生体情報読取部と、
前記第１側生体情報読取部が読み取った生体情報である第１生体情報を記憶する第１側読取生体情報記憶部と、
前記第１側生体情報記憶部が記憶した第１生体情報を前記認証装置に送信する第１側送信部と
を備え、
前記第２の通信端末装置は、
生体情報を読み取る第２側生体情報読取部と、
前記第２側生体情報読取部が読み取った生体情報である第２生体情報を記憶する第２側読取生体情報記憶部と、
前記第２側生体情報記憶部が記憶した第２生体情報を前記認証装置に送信する第２側送信部と
を備え、
前記認証装置は、
前記第１側送信部が送信した第１生体情報と、前記第２側送信部が送信した第２生体情報とを受信する認証側受信部と、
生体情報の照合に使用する複数の照合用生体情報を記憶している照合用生体情報記憶部と、
前記認証側受信部が受信した第１生体情報と第２生体情報とを前記照合用生体情報記憶部が記憶している複数の照合用生体情報と照合することにより個人認証を行い、照合の結果、第１生体情報と第２生体情報とについてのいずれの個人認証も成立した場合には、所定の一方向関数を用いることにより第１生体情報に対応する第１対応情報を第１生体情報から生成するとともに第１対応情報を生成した所定の一方向関数と同一の一方向関数を用いることにより第２生体情報に対応する第２対応情報を第２生体情報から生成する認証側照合部と、
前記認証側照合部が生成した第２対応情報を前記第１の通信端末装置に送信し、前記認証側照合部が生成した第１対応情報を前記第２の通信端末装置に送信する認証側送信部と
を備え、
前記第１の通信端末装置は、さらに、
前記認証側送信部が送信した第２対応情報を受信する第１側受信部と、
前記認証側照合部が用いる所定の一方向関と同一の一方向関数を用いることにより前記第１側読取生体情報記憶部に記憶された第１生体情報から前記認証側照合部が生成する第１対応情報と同一の第１端末側対応情報を生成し、生成した第１端末側対応情報と前記第１側受信部が受信した第２対応情報とに基づいて前記第２の通信端末装置との暗号通信に使用する第１側鍵データを生成するとともに、第１端末側対応情報を生成し、かつ、前記第１側送信部が第１生体情報を前記認証装置に送信した後には前記第１側読取生体情報記憶部から第１生体情報を消去する第１側鍵データ生成部と、
前記第１側鍵データ生成部が生成した第１側鍵データを用いて前記第２の通信端末装置との間で暗号通信を行なう第１側暗号通信部と、
を備え、
前記第２の通信端末装置は、さらに、
前記認証側送信部が送信した第１対応情報を受信する第２側受信部と、
前記認証側照合部が用いる所定の一方向関と同一の一方向関数を用いることにより前記第２側読取生体情報記憶部に記憶された第２生体情報から前記認証側照合部が生成する第２対応情報と同一の第２端末側対応情報を生成し、生成した第２端末側対応情報と前記第２側受信部が受信した第１対応情報とに基づいて前記第１側鍵データ生成部が生成する第１側鍵データと同一の鍵データである第２側鍵データを生成するとともに、第２端末側対応情報を生成し、かつ、前記第２側送信部が第２生体情報を前記認証装置に送信した後には前記第２側読取生体情報記憶部から第２生体情報を消去する第２側鍵データ生成部と、
前記第２側鍵データ生成部が生成した第２側鍵データを用いて前記第１の通信端末装置との間で暗号通信を行なう第２側暗号通信部と
を備えたことを特徴とする暗号通信システム。
【請求項２】
生体情報を読み取る生体情報読取部と、
前記生体情報読取部が読み取った生体情報を記憶する読取生体情報記憶部と、
生体情報の照合に使用する複数の照合用生体情報を記憶している照合用生体情報記憶部を備える認証装置であって互いに暗号通信を希望する第１の通信端末装置と第２の通信端末装置とのそれぞれから生体情報を受信し、前記第１の通信端末装置から受信した第１生体情報と前記第２の通信端末装置から受信した第２生体情報とを前記照合用生体情報記憶部が記憶している複数の照合用生体情報と照合することにより個人認証を行い、照合の結果、第１生体情報と第２生体情報とについてのいずれの個人認証も成立した場合には、所定の一方向関数を用いることにより第１生体情報に対応する第１対応情報を第１生体情報から生成し、かつ、第１対応情報を生成した所定の一方向関数と同一の一方向関数を用いることにより第２生体情報に対応する第２対応情報を第２生体情報から生成し、生成した第１対応情報を前記第２の通信端末装置に返信するとともに生成した第２対応情報を前記第１の通信端末装置に返信する前記認証装置に、前記読取生体情報記憶部が記憶した生体情報を送信する送信部と、
前記送信部が送信した生体情報に対して前記認証装置から返信された対応情報を受信する受信部と、
前記認証装置が用いる所定の一方向関数と同一の一方向関数を用いることにより前記読取生体情報記憶部が記憶した生体情報から対応情報を生成し、生成した対応情報と前記受信部が受信した対応情報とに基づいて暗号通信に用いる鍵データを生成する鍵データ生成部と、
前記鍵データ生成部が生成した鍵データを用いて、前記受信部が受信した対応情報の生成の元となる生体情報を前記認証装置に送信した通信端末装置との間で暗号通信を行なう暗号通信部と
を備えたことを特徴とする通信端末装置。
【請求項３】
前記鍵データ生成部は、
前記読取生体情報記憶部の生体情報から対応情報を生成し、かつ、前記送信部が生体情報を前記認証装置に送信した後には前記読取生体情報記憶部から生体情報を消去することを特徴とする請求項２記載の通信端末装置。
【請求項４】
前記送信部が生体情報を送信する前記認証装置は、
第１の通信端末装置から第１生体情報に加えて前記第１の通信端末装置が生成した第１乱数を受信し、受信した第１乱数を第２対応情報に加えて前記第１の通信端末装置に返信するとともに、第２の通信端末装置から第２生体情報に加えて前記第２の通信端末装置が生成した第２乱数を受信し、受信した第２乱数を第１対応情報に加えて前記第２の通信端末装置に返信し、
前記通信端末装置は、さらに、
乱数を生成する乱数生成部を備え、
前記送信部は、
前記乱数生成部が生成した乱数を前記生体情報に加えて前記認証装置に送信し、
前記受信部は、
前記認証装置から対応情報に加えて乱数を受信し、
前記鍵データ生成部は、
前記受信部が受信した乱数と、前記送信部が送信した乱数とを照合し、照合の結果、双方の乱数が一致した場合にのみ、鍵データを生成することを特徴とする請求項２記載の通信端末装置。
【請求項５】
前記通信端末装置は、
前回使用した乱数を格納している乱数格納部を備え、
前記乱数生成部は、
前記読取生体情報記憶部が記憶している生体情報と、前記乱数格納部が格納している前回使用した乱数とに基づいて新たな乱数を生成し、
前記送信部は、
前記乱数生成部が生成した新たな乱数と、新たな乱数の生成に使用した生体情報とを前記認証装置に送信することを特徴とする請求項４記載の通信端末装置。
【請求項６】
前記暗号通信部は、
前記暗号通信が終了した場合に、前記鍵データ生成部が生成した鍵データを消去することを特徴とする請求項２〜５のいずれかに記載の通信端末装置。
【請求項７】
生体情報を読み取る生体情報読取部と、
前記生体情報読取部が読み取った生体情報を記憶する読取生体情報記憶部と、
生体情報の照合に使用する複数の照合用生体情報を記憶している照合用生体情報記憶部を備える認証装置であって互いに暗号通信を希望する第１の通信端末装置と第２の通信端末装置とのそれぞれから生体情報を受信し、前記第１の通信端末装置から受信した第１生体情報と前記第２の通信端末装置から受信した第２生体情報とを前記照合用生体情報記憶部が記憶している複数の照合用生体情報と照合することにより個人認証を行い、照合の結果、第１生体情報と第２生体情報とについてのいずれの個人認証も成立した場合には、受信した第１生体情報を前記第２の通信端末装置に返信するとともに受信した第２生体情報を前記第１の通信端末装置に返信する前記認証装置に、前記読取生体情報記憶部が記憶した生体情報を送信する送信部と、
前記送信部が送信した生体情報に対して前記認証装置から返信された生体情報を受信する受信部と、
前記読取生体情報記憶部が記憶した生体情報と、前記受信部が受信した生体情報とに基づいて暗号通信に用いる鍵データを生成する鍵データ生成部と、
前記鍵データ生成部が生成した鍵データを用いて、前記受信部が受信した生体情報を前記認証装置に送信した通信端末装置との間で暗号通信を行なう暗号通信部と
を備えたことを特徴とする通信端末装置。
【請求項８】
生体情報を読み取る生体情報読取部であって同一人の生体情報であっても生体情報を読み取るごとに、読み取り条件の違いを反映して互いにその一部が異なるデータとして同一人の生体情報を読み取る生体情報読取部と、
前記生体情報読取部が読み取った生体情報を記憶する読取生体情報記憶部と、
生体情報の照合に使用する複数の照合用生体情報を記憶している照合用生体情報記憶部と自装置が過去に受信した生体情報を蓄積して記憶している蓄積記憶部とを備えた認証装置であって互いに暗号通信を希望する第１の通信端末装置と第２の通信端末装置とのそれぞれから生体情報を受信し、前記第１の通信端末装置から受信した第１生体情報と前記第２の通信端末装置から受信した第２生体情報とを前記蓄積記憶部が記憶している過去に受信した生体情報と比較し、比較の結果、前記蓄積記憶部に第１生体情報と同一の生体情報が存在せず、かつ、第２生体情報と同一の生体情報が存在しない場合には、第１生体情報と第２生体情報とを前記照合用生体情報記憶部が記憶している複数の照合用生体情報と照合可能な所定のデータ形式に変換し、変換後の第１生体情報と第２生体情報とを前記照合用生体情報記憶部が記憶している複数の照合用生体情報と照合することにより個人認証を行い、照合の結果、変換後の第１生体情報と第２生体情報とについてのいずれの個人認証も成立した場合には、所定の一方向関数を用いることにより変換前の第１生体情報に対応する第１対応情報を第１生体情報から生成し、かつ、第１対応情報を生成した所定の一方向関数と同一の一方向関数を用いることにより変換前の第２生体情報に対応する第２対応情報を第２生体情報から生成し、生成した第１対応情報と第２対応情報とを、前記第１の通信装置と前記第２の通信端末装置とのそれぞれに返信するとともに第１生体情報と第２生体情報とを前記蓄積記憶部に記憶する前記認証装置に、前記読取生体情報記憶部が記憶した生体情報を送信する送信部と、
前記送信部が送信した生体情報に対して前記認証装置から返信された第１対応情報と第２対応情報である２つの対応情報を受信する受信部と、
前記認証装置が用いる所定の一方向関数と同一の一方向関数を用いることにより前記読取生体情報記憶部が記憶した生体情報から対応情報を生成し、生成した対応情報が前記受信部が受信した２つの対応情報のいずれかと同一かどうかを照合し、照合の結果、２つの対応情報のいずれかと同一である場合には、互いに同一である対応情報のいずれかと、前記受信部が受信した２つの対応情報のうち生成された対応情報と同一ではない方の対応情報とに基づいて暗号通信に用いる鍵データを生成するとともに、前記読取生体情報記憶部の生体情報から対応情報を生成し、かつ、前記送信部が生体情報を前記認証装置に送信した後には前記読取生体情報記憶部から生体情報を消去する鍵データ生成部と、
前記鍵データ生成部が生成した鍵データを用いて、前記受信部が受信した２つの対応情報のうち前記鍵データ生成部が生成した対応情報と同一ではない方の対応情報の生成の元となる生体情報を前記認証装置に送信した通信端末装置との間で暗号通信を行なう暗号通信部と
を備えたことを特徴とする通信端末装置。
【請求項９】
生体情報を読み取る生体情報読取部であって同一人の生体情報であっても生体情報を読み取るごとに、読み取り条件の違いを反映して互いにその一部が異なるデータとして同一人の生体情報を読み取る生体情報読取部と、
前記生体情報読取部が読み取った生体情報を記憶する読取生体情報記憶部と、
生体情報の照合に使用する複数の照合用生体情報を記憶している照合用生体情報記憶部と所定の一方向関数を用いることにより自装置が過去に受信した生体情報からこの生体情報に対応する対応情報を生成し蓄積して記憶している蓄積記憶部とを備えた認証装置であって互いに暗号通信を希望する第１の通信端末装置と第２の通信端末装置とのそれぞれから生体情報を受信し、前記第１の通信端末装置から受信した第１生体情報から前記一方向関数を用いて第１対応情報を生成し、前記第２の通信端末装置から受信した第２生体情報から前記一方向関数を用いて第２対応情報を生成し、生成した第１対応情報と第２対応情報とを前記蓄積記憶部が記憶している過去に受信した生体情報から生成した対応情報と比較し、比較の結果、前記蓄積記憶部に第１対応情報と同一の対応情報が存在せず、かつ、第２対応情報と同一の対応情報が存在しない場合には、第１生体情報と第２生体情報とを前記照合用生体情報記憶部が記憶している複数の照合用生体情報と照合可能な所定のデータ形式に変換し、変換後の第１生体情報と第２生体情報とを複数の照合用生体情報と照合することにより個人認証を行い、照合の結果、変換後の第１生体情報と第２生体情報とについてのいずれの個人認証も成立した場合には、生成した第１対応情報と第２対応情報とを、前記第１の通信装置と前記第２の通信端末装置とのそれぞれに返信するとともに、第１対応情報と第２対応情報とを前記蓄積記憶部に記憶する前記認証装置に、前記読取生体情報記憶部が記憶した生体情報を送信する送信部と、
前記送信部が送信した生体情報に対して前記認証装置から返信された第１対応情報と第２対応情報である２つの対応情報を受信する受信部と、
前記認証装置が用いる所定の一方向関数と同一の一方向関数を用いることにより前記読取生体情報記憶部が記憶した生体情報から対応情報を生成し、生成した対応情報が前記受信部が受信した２つの対応情報のいずれかと同一かどうかを照合し、照合の結果、２つの対応情報のいずれかと同一である場合には、互いに同一である対応情報のいずれかと、前記受信部が受信した２つの対応情報のうち生成された対応情報と同一ではない方の対応情報とに基づいて暗号通信に用いる鍵データを生成するとともに、前記読取生体情報記憶部の生体情報から対応情報を生成し、かつ、前記送信部が生体情報を前記認証装置に送信した後には前記読取生体情報記憶部から生体情報を消去する鍵データ生成部と、
前記鍵データ生成部が生成した鍵データを用いて、前記受信部が受信した２つの対応情報のうち前記鍵データ生成部が生成した対応情報と同一ではない方の対応情報の生成の元となる生体情報を前記認証装置に送信した通信端末装置との間で暗号通信を行なう暗号通信部と
を備えたことを特徴とする通信端末装置。
【請求項１０】
生体情報を読み取る処理と、
読み取った生体情報を記憶する処理と、
生体情報の照合に使用する複数の照合用生体情報を記憶している照合用生体情報記憶部を備える認証装置であって互いに暗号通信を希望する第１の通信端末装置と第２の通信端末装置とのそれぞれから生体情報を受信し、前記第１の通信端末装置から受信した第１生体情報と前記第２の通信端末装置から受信した第２生体情報とを前記照合用生体情報記憶部が記憶している複数の照合用生体情報と照合することにより個人認証を行い、照合の結果、第１生体情報と第２生体情報とについてのいずれの個人認証も成立した場合には、所定の一方向関数を用いることにより第１生体情報に対応する第１対応情報を第１生体情報から生成し、かつ、第１対応情報を生成した所定の一方向関数と同一の一方向関数を用いることにより第２生体情報に対応する第２対応情報を第２生体情報から生成し、生成した第１対応情報を前記第２の通信端末装置に返信するとともに生成した第２対応情報を前記第１の通信端末装置に返信する前記認証装置に、記憶した生体情報を送信する処理と、
送信した生体情報に対して前記認証装置から返信された対応情報を受信する処理と、
前記認証装置が用いる所定の一方向関数と同一の一方向関数を用いることにより記憶した生体情報から対応情報を生成し、生成した対応情報と受信した対応情報とに基づいて暗号通信に用いる鍵データを生成する処理と、
生成した鍵データを用いて、受信した対応情報の生成の元となる生体情報を前記認証装置に送信した通信端末装置との間で暗号通信を行なう処理と
をコンピュータに実行させることを特徴とする暗号通信プログラム。
【請求項１１】
生体情報を読み取る生体情報読取部であって同一人の生体情報であっても生体情報を読み取るごとに、読み取り条件の違いを反映して互いにその一部が異なるデータとして同一人の生体情報を読み取る生体情報読取部を備えたコンピュータである通信端末装置に、以下の処理を実行させる暗号通信プログラム
（１）前記生体情報読取部が読み取った生体情報を記憶する処理
（２）生体情報の照合に使用する複数の照合用生体情報を記憶している照合用生体情報記憶部と自装置が過去に受信した生体情報を蓄積して記憶している蓄積記憶部とを備えた認証装置であって互いに暗号通信を希望する第１の通信端末装置と第２の通信端末装置とのそれぞれから生体情報を受信し、前記第１の通信端末装置から受信した第１生体情報と前記第２の通信端末装置から受信した第２生体情報とを前記蓄積記憶部が記憶している過去に受信した生体情報と比較し、比較の結果、前記蓄積記憶部に第１生体情報と同一の生体情報が存在せず、かつ、第２生体情報と同一の生体情報が存在しない場合には、第１生体情報と第２生体情報とを前記照合用生体情報記憶部が記憶している複数の照合用生体情報と照合可能な所定のデータ形式に変換し、変換後の第１生体情報と第２生体情報とを前記照合用生体情報記憶部が記憶している複数の照合用生体情報と照合することにより個人認証を行い、照合の結果、変換後の第１生体情報と第２生体情報とについてのいずれの個人認証も成立した場合には、所定の一方向関数を用いることにより変換前の第１生体情報に対応する第１対応情報を第１生体情報から生成し、かつ、第１対応情報を生成した所定の一方向関数と同一の一方向関数を用いることにより変換前の第２生体情報に対応する第２対応情報を第２生体情報から生成し、生成した第１対応情報と第２対応情報とを、前記第１の通信装置と前記第２の通信端末装置とのそれぞれに返信するとともに第１生体情報と第２生体情報とを前記蓄積記憶部に記憶する前記認証装置に、記憶した生体情報を送信する処理、
（３）送信した生体情報に対して前記認証装置から返信された第１対応情報と第２対応情報である２つの対応情報を受信する処理
（４）前記認証装置が用いる所定の一方向関数と同一の一方向関数を用いることにより記憶した生体情報から対応情報を生成し、生成した対応情報が受信した２つの対応情報のいずれかと同一かどうかを照合し、照合の結果、２つの対応情報のいずれかと同一である場合には、互いに同一である対応情報のいずれかと、受信した２つの対応情報のうち生成された対応情報と同一ではない方の対応情報とに基づいて暗号通信に用いる鍵データを生成するとともに、記憶した生体情報から対応情報を生成し、かつ、生体情報を前記認証装置に送信した後には生体情報を消去する処理
（５）生成した鍵データを用いて、受信した２つの対応情報のうち生成した対応情報と同一ではない方の対応情報の生成の元となる生体情報を前記認証装置に送信した通信端末装置との間で暗号通信を行なう処理。
【請求項１２】
生体情報を読み取る生体情報読取部であって同一人の生体情報であっても生体情報を読み取るごとに、読み取り条件の違いを反映して互いにその一部が異なるデータとして同一人の生体情報を読み取る生体情報読取部を備えたコンピュータである通信端末装置に、以下の処理を実行させる暗号通信プログラム
（１）前記生体情報読取部が読み取った生体情報を記憶する処理、
（２）生体情報の照合に使用する複数の照合用生体情報を記憶している照合用生体情報記憶部と所定の一方向関数を用いることにより自装置が過去に受信した生体情報からこの生体情報に対応する対応情報を生成し蓄積して記憶している蓄積記憶部とを備えた認証装置であって互いに暗号通信を希望する第１の通信端末装置と第２の通信端末装置とのそれぞれから生体情報を受信し、前記第１の通信端末装置から受信した第１生体情報から前記一方向関数を用いて第１対応情報を生成し、前記第２の通信端末装置から受信した第２生体情報から前記一方向関数を用いて第２対応情報を生成し、生成した第１対応情報と第２対応情報とを前記蓄積記憶部が記憶している過去に受信した生体情報から生成した対応情報と比較し、比較の結果、前記蓄積記憶部に第１対応情報と同一の対応情報が存在せず、かつ、第２対応情報と同一の対応情報が存在しない場合には、第１生体情報と第２生体情報とを前記照合用生体情報記憶部が記憶している複数の照合用生体情報と照合可能な所定のデータ形式に変換し、変換後の第１生体情報と第２生体情報とを複数の照合用生体情報と照合することにより個人認証を行い、照合の結果、変換後の第１生体情報と第２生体情報とについてのいずれの個人認証も成立した場合には、生成した第１対応情報と第２対応情報とを、前記第１の通信装置と前記第２の通信端末装置とのそれぞれに返信するとともに、第１対応情報と第２対応情報とを前記蓄積記憶部に記憶する前記認証装置に、前記読取生体情報記憶部が記憶した生体情報を送信する処理と、
（３）送信した生体情報に対して前記認証装置から返信された第１対応情報と第２対応情報である２つの対応情報を受信する処理
（４）前記認証装置が用いる所定の一方向関数と同一の一方向関数を用いることにより記憶した生体情報から対応情報を生成し、生成した対応情報が受信した２つの対応情報のいずれかと同一かどうかを照合し、照合の結果、２つの対応情報のいずれかと同一である場合には、互いに同一である対応情報のいずれかと、受信した２つの対応情報のうち生成された対応情報と同一ではない方の対応情報とに基づいて暗号通信に用いる鍵データを生成するとともに、記憶した前記生体情報から前記対応情報を生成し、かつ、前記生体情報を前記認証装置に送信した後には記憶した生体情報を消去する処理
（５）生成した鍵データを用いて、受信した２つの対応情報のうち生成した対応情報と同一ではない方の対応情報の生成の元となる生体情報を前記認証装置に送信した通信端末装置との間で暗号通信を行なう処理。
【請求項１３】
生体情報を読み取り可能な第１の通信端末装置と、生体情報を読み取り可能な第２の通信端末装置と、
生体情報の照合に使用する複数の照合用生体情報を記憶している照合用生体情報記憶部を備える認証装置であって前記第１の通信端末装置と前記第２の通信端末装置との間の通信を接続するとともに、前記第１の通信端末装置と前記第２の通信端末装置との読み取ったそれぞれの生体情報について個人認証を行う認証装置とが行う暗号通信方法において、
前記第１の通信端末装置は、
生体情報を読み取り、読み取った生体情報である第１生体情報を記憶し、記憶した第１生体情報を前記認証装置に送信し、
前記第２の通信端末装置は、
生体情報を読み取り、読み取った生体情報である第２生体情報を記憶し、記憶した第２生体情報を前記認証装置に送信し、
前記認証装置は、
前記第１の通信端末装置が送信した第１生体情報と、前記第２の通信端末装置が送信した第２生体情報とを受信し、受信した第１生体情報と第２生体情報とを前記照合用生体情報記憶部が記憶している複数の照合用生体情報と照合することにより個人認証を行い、照合の結果、第１生体情報と第２生体情報とについてのいずれの個人認証も成立した場合には、所定の一方向関数を用いることにより第１生体情報に対応する第１対応情報を第１生体情報から生成するとともに第１対応情報を生成した所定の一方向関数と同一の一方向関数を用いることにより第２生体情報に対応する第２対応情報を第２生体情報から生成し、生成した第２対応情報を前記第１の通信端末装置に送信し、生成した第１対応情報を前記第２の通信端末装置に送信し、
前記第１の通信端末装置は、
前記認証装置が送信した第２対応情報を受信し、前記認証装置が用いる所定の一方向関と同一の一方向関数を用いることにより記憶した第１生体情報から前記認証装置が生成する第１対応情報と同一の第１端末側対応情報を生成し、第１端末側対応情報を生成し、かつ、第１生体情報を前記認証装置に送信した後には記憶した第１生体情報を消去するとともに、生成した第１端末側対応情報と受信した第２対応情報とに基づいて前記第２の通信端末装置との暗号通信に使用する第１側鍵データを生成し、生成した第１側鍵データを用いて前記第２の通信端末装置との間で暗号通信を行ない、
前記第２の通信端末装置は、
前記認証装置が送信した第１対応情報を受信し、前記認証装置が用いる所定の一方向関と同一の一方向関数を用いることにより記憶した第２生体情報から前記認証装置が生成する第２対応情報と同一の第２端末側対応情報を生成し、第２端末側対応情報を生成し、かつ、第２生体情報を前記認証装置に送信した後には記憶した第２生体情報を消去するとともに、生成した第２端末側対応情報と受信した第１対応情報とに基づいて前記第１の通信端末装置が生成する第１側鍵データと同一の鍵データである第２側鍵データを生成し、生成した第２側鍵データを用いて前記第１の通信端末装置との間で暗号通信を行なうことを特徴とする暗号通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、生体情報から鍵データを生成し、生成した鍵データによって暗号通信を行う暗号通信システム及び通信端末装置及び暗号通信プログラム及び暗号通信方法に関する。
【背景技術】
【０００２】
利用者の指紋や声紋等の生体情報を用いた生体認証機能を持つ携帯電話やＩＰ携帯電話等の携帯端末による秘匿通話方式において、生体認証に成功した利用者の間で通話を暗号化するための鍵を共有する従来の方式は、生体情報を照合するためのテンプレート等の生体認証に必要な利用者の秘密情報を利用者自身が所持する端末に保存し、生体認証も同じ端末で行った後、テンプレートから鍵を生成することによって、通話の暗号化を行っていた（例えば、特許文献１）。
【０００３】
また、利用者の秘密情報の保持や生体認証を利用者自身が所持する端末で行わずに、各端末に共通のサーバで行い（例えば、特許文献２）、その後鍵自身や端末で鍵を生成するために利用する鍵情報をサーバから暗号化して端末に送信することによって、通話の暗号化を行う方式もある。
【０００４】
更に、生体認証や鍵生成において必要となる乱数を端末上で生成する従来の方式は、端末に入力された生体情報とテンプレートの差分を乱数の初期値として利用することによって、端末上で乱数生成を行っていた（例えば、特許文献３）。
【特許文献１】特開２００１−２２３６９０号公報  第３頁〜４頁、第１図
【特許文献２】特開２００５−１１５５８３号公報  第５頁〜１０頁、第８図
【特許文献３】特開２０００−１６５３７８号公報  第３頁〜５頁、第２図
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１のような利用者の秘密情報や生体認証機能を端末に保持する方式は、端末を紛失したり盗まれたりした際に情報流出の恐れがある。通常、端末の秘密情報はＩＣカード等の耐タンパ装置に保存されており、暗証番号や指紋や声紋等の生体認証等によってアクセスを保護されている。しかし、暗証番号は見破られ易いし、生体認証によって秘密情報を保護する場合も第三者の手に情報がある限り、様々な物理的攻撃を試す機会を与えることになり、いつかは盗聴される。
【０００６】
特許文献２のようにサーバ上に利用者の秘密情報や生体認証機能を保持する方式は、端末の紛失や盗難による情報流出を防止できる。しかし、生体情報の照合をサーバで行うため、端末に入力された生体情報をサーバへ安全に送信する必要がある。このため、先ず端末とサーバの間で相互認証を行って暗号化通信を確立した後で生体認証を行い、その後、鍵を共有することになるため、鍵を共有するまでに端末とサーバの間で頻繁に通信を行う必要があり、端末やサーバの負荷が高い。例えば、一般的な相互認証方式であるＩＳＯ／ＩＥＣ  １１７７０−３を用いた場合、端末とサーバ間の通信回数は、端末とサーバ間の相互認証で３回、もう一方の端末とサーバ間の相互認証で３回、端末からサーバへの生体情報の送信で１回、もう一方の端末からサーバへの生体情報の送信で１回、生体認証の後、サーバから端末への鍵または鍵情報の送信で１回、サーバからもう一方の端末への鍵または鍵情報の送信で１回の合計１０回となる。また、端末とサーバ間の相互認証に使用する乱数を端末とサーバ双方で生成するため、特に端末においては、サーバと同様の精度を持つ乱数生成装置を保持する必要があり、端末のコストが高くなる。
【０００７】
特許文献３のように生体情報を用いることによって端末上で乱数を生成する方式は、端末の乱数生成機能の負担を軽減する。しかし、利用者が生体情報を端末に入力する度に乱数の初期値が設定されるため、生体情報の読み込み精度が低い等によって以前と同一の生体情報が入力されると同一の乱数の初期値が設定され、同一の乱数が生成される恐れがある。
【０００８】
この発明は、利用者の秘密情報や生体認証機能を持たず紛失や盗難に遭っても安全な端末を提供し、且つ生体認証を伴う高速な鍵共有方式を提供し、更に生体情報を用いた精度の良い乱数生成方式を提供することを目的とする。
【課題を解決するための手段】
【０００９】
この発明の暗号通信システムは、
生体情報を読み取り可能な第１の通信端末装置と、生体情報を読み取り可能な第２の通信端末装置と、前記第１の通信端末装置と前記第２の通信端末装置との間の通信を接続するとともに、前記第１の通信端末装置と前記第２の通信端末装置との読み取ったそれぞれの生体情報について個人認証を行う認証装置と
を備え、
前記第１の通信端末装置は、
生体情報を読み取る第１側生体情報読取部と、
前記第１側生体情報読取部が読み取った生体情報である第１生体情報を記憶する第１側読取生体情報記憶部と、
前記第１側生体情報記憶部が記憶した第１生体情報を前記認証装置に送信する第１側送信部と
を備え、
前記第２の通信端末装置は、
生体情報を読み取る第２側生体情報読取部と、
前記第２側生体情報読取部が読み取った生体情報である第２生体情報を記憶する第２側読取生体情報記憶部と、
前記第２側生体情報記憶部が記憶した第２生体情報を前記認証装置に送信する第２側送信部と
を備え、
前記認証装置は、
前記第１側送信部が送信した第１生体情報と、前記第２側送信部が送信した第２生体情報とを受信する認証側受信部と、
生体情報の照合に使用する複数の照合用生体情報を記憶している照合用生体情報記憶部と、
前記認証側受信部が受信した第１生体情報と第２生体情報とを前記照合用生体情報記憶部が記憶している複数の照合用生体情報と照合することにより個人認証を行い、照合の結果、第１生体情報と第２生体情報とについてのいずれの個人認証も成立した場合には、所定の一方向関数を用いることにより第１生体情報に対応する第１対応情報を第１生体情報から生成するとともに第１対応情報を生成した所定の一方向関数と同一の一方向関数を用いることにより第２生体情報に対応する第２対応情報を第２生体情報から生成する認証側照合部と、
前記認証側照合部が生成した第２対応情報を前記第１の通信端末装置に送信し、前記認証側照合部が生成した第１対応情報を前記第２の通信端末装置に送信する認証側送信部と
を備え、
前記第１の通信端末装置は、さらに、
前記認証側送信部が送信した第２対応情報を受信する第１側受信部と、
前記認証側照合部が用いる所定の一方向関と同一の一方向関数を用いることにより前記第１側読取生体情報記憶部に記憶された第１生体情報から前記認証側照合部が生成する第１対応情報と同一の第１端末側対応情報を生成し、生成した第１端末側対応情報と前記第１側受信部が受信した第２対応情報とに基づいて前記第２の通信端末装置との暗号通信に使用する第１側鍵データを生成するとともに、第１端末側対応情報を生成し、かつ、前記第１側送信部が第１生体情報を前記認証装置に送信した後には前記第１側読取生体情報記憶部から第１生体情報を消去する第１側鍵データ生成部と、
前記第１側鍵データ生成部が生成した第１側鍵データを用いて前記第２の通信端末装置との間で暗号通信を行なう第１側暗号通信部と、
を備え、
前記第２の通信端末装置は、さらに、
前記認証側送信部が送信した第１対応情報を受信する第２側受信部と、
前記認証側照合部が用いる所定の一方向関と同一の一方向関数を用いることにより前記第２側読取生体情報記憶部に記憶された第２生体情報から前記認証側照合部が生成する第２対応情報と同一の第２端末側対応情報を生成し、生成した第２端末側対応情報と前記第２側受信部が受信した第１対応情報とに基づいて前記第１側鍵データ生成部が生成する第１側鍵データと同一の鍵データである第２側鍵データを生成するとともに、第２端末側対応情報を生成し、かつ、前記第２側送信部が第２生体情報を前記認証装置に送信した後には前記第２側読取生体情報記憶部から第２生体情報を消去する第２側鍵データ生成部と、
前記第２側鍵データ生成部が生成した第２側鍵データを用いて前記第１の通信端末装置との間で暗号通信を行なう第２側暗号通信部と
を備えたことを特徴とする。
【発明の効果】
【００１０】
この発明により、端末を紛失したり端末が盗難にあったりした場合でも、生体情報や鍵情報の盗聴の機会すら与えることなく、第三者による利用者のなりすましを防止することができる。
【発明を実施するための最良の形態】
【００１１】
実施の形態１．
図１〜図１４を用いて、実施の形態１を説明する。実施の形態１は、生体認証機能を伴う鍵共有方式を用いた秘匿通話システムの一例として、指紋読み取りセンサが内蔵されたＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）携帯電話を利用者が使用して、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）サーバを介した秘匿通話を行う形態について説明する。以下の実施の形態１及び実施の形態２では、生体情報の一例として指紋情報を例に説明しているが、指紋情報は生体情報の一例であり、指紋情報に限定しない。指紋情報の他、声紋情報などでも構わない。
【００１２】
図１は、本実施の形態１における秘匿通話システム１０００の概要を説明する図である。ＩＰ秘匿通話システム１０００は、インターネット４００に接続可能な、ＩＰ電話１００Ａ、ＩＰ電話１００Ｂ及びＳＩＰサーバ３００を備える。システムの概要は次の様である。
（１）まず、ＩＰ電話１００ＡとＩＰ電話１００ＢとはＳＩＰサーバ３００を介して通信を接続する。
（２）ＩＰ電話１００Ａ、ＩＰ電話１００Ｂは、指紋読取センサ１１３１ａ，指紋読取センサ１１３１ｂによって、それぞれ利用者Ａ、利用者Ｂの指紋情報（生体情報の一例）を読み取って記憶する。
（３）ＩＰ電話１００Ａは利用者Ａの指紋情報をＳＩＰサーバ３００に送信し、ＩＰ電話１００Ｂは利用者Ｂの指紋情報をＳＩＰサーバ３００に送信する。
（４）ＳＩＰサーバ３００は、指紋照合用データを保有しており、この指紋照合用データとＩＰ電話１００Ａ、１００Ｂから送信された指紋情報を照合することにより、利用者Ａ、利用者Ｂを認証する。
（５）ＳＩＰサーバ３００は、利用者Ａ、利用者Ｂの認証が成立すると、利用者Ａの指紋情報をＩＰ電話１００Ｂに返信し、利用者Ｂの指紋情報をＩＰ電話１００Ａに返信する。
（６）ＩＰ電話１００Ａは、記憶している利用者Ａの指紋情報と、ＳＩＰサーバ３００から送信された利用者Ｂの指紋情報に基づき、鍵データを生成する。ＩＰ電話１００Ｂは、記憶している利用者Ｂの指紋情報と、ＳＩＰサーバ３００から送信された利用者Ａの指紋情報に基づき、ＩＰ電話１００Ａが生成する鍵データと同一の鍵データを生成する。
（７）ＩＰ電話１００ＡとＩＰ電話１００Ｂとは、生成した鍵データを共通鍵Ｋとして、暗号通信を行う。また、暗号通信終了時には、共通鍵Ｋ及び記憶した指紋情報は消去する。
【００１３】
実施の形態１における生体認証機能を伴う鍵共有方式は、利用者の指紋テンプレート等の秘密情報や利用者認証機能を端末（ＩＰ電話）に保持せずにＳＩＰサーバ３００に保持する。このため、端末を紛失したり、あるいは端末が盗難にあった場合であっても、秘密情報である鍵情報や指紋情報を盗聴の機会すら与えることなく、第三者による利用者のなりすましを防止できる。また、利用者の秘密情報を盗もうとする第三者がサーバへ不正なアクセスを行った場合は、通信を遮断する等の対策を取る事も容易である。
【００１４】
また、後述のように、端末とサーバ間との相互認証に生体情報を加えることによって、従来の端末とサーバ間との通信回数を４０％削減する高速な鍵共有方式を提供できる。
【００１５】
また、後述のように（図９）、端末に前回使用した乱数を格納しておくことによって、新たな乱数を生成する時には、端末の指紋センサから読込まれた生体情報と前回の乱数を加えて一方向性関数によりハッシュ値を生成し、その値を乱数として用いる。これによって、読込まれた生体情報が以前読込まれた生体情報と同じ値であったとしても、前回とは全く異なる乱数を生成できる精度の良い乱数生成方式を提供できる。
【００１６】
図２は、コンピュータであるＩＰ電話１００Ａのハードウェア構成を示す図である。ＩＰ電話１００Ｂのハードウェア構成もＩＰ電話１００Ａと同様である。図２において、ＩＰ電話１００Ａは、プログラムを実行するＣＰＵ８１０を備えている。ＣＰＵ８１０は、バス８２５を介して、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８１２、表示装置８１３、操作キー８１４、通信部８１５、指紋情報読取部８１６、音声入力部８１７、音声出力部８１８、フラッシュメモリ８２０と接続され、これらのハードウェアデバイスを制御する。フラッシュメモリ８２０の代わりに、磁気ディスク装置でもよい。
【００１７】
ＲＡＭ８１２は、揮発性メモリの一例である。ＲＯＭ８１１、フラッシュメモリ８２０等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部、格納部の一例である。操作キー８１４、通信部８１５、音声入力部８１７などは、入力部、入力装置の一例である。また、表示装置８１３、通信部８１５、音声出力部８１８などは、出力部、出力装置の一例である。
【００１８】
通信部８１５はインターネット４００に接続されるが、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの他のネットワークに接続されても構わない。
【００１９】
フラッシュメモリ８２０には、オペレーティングシステム８２１（ＯＳ）、ウィンドウシステム８２２、プログラム群８２３、ファイル群８２４が記憶されている。プログラム群８２３のプログラムは、ＣＰＵ８１０、ＯＳ８２１、ウィンドウシステム８２２により実行される。
【００２０】
上記プログラム群８２３には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ８１０により読み出され実行される。
【００２１】
ファイル群８２４には、以下に述べる実施の形態の説明において、「〜の読み取り結果」、「〜の算出結果」、「〜の生成結果」、「〜の作成結果」、「〜の抽出結果」、「〜の処理結果」として説明する情報や、後述する「アドレス情報」、「一時格納データ」、「端末情報」、「サーバ情報」、「乱数情報」などのデータや、信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ８１０によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００２２】
また、以下に述べる実施の形態の説明においては、データや信号値は、ＲＡＭ８１２のメモリ、フラッシュメモリ８２０のメモリ等の記録媒体に記録される。
【００２３】
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ＲＯＭ８１１に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、フラッシュメモリ８２０、磁気ディスク等の記録媒体に記憶される。プログラムはＣＰＵ８１０により読み出され、ＣＰＵ８１０により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００２４】
（システムの全体構成）
図３は、実施の形態１における生体認証を伴う鍵共有方式を用いた秘匿通話システム１０００の全体構成の一例を示すシステム構成図である。
【００２５】
図３において、ＩＰ電話１００Ａ（通信端末装置の一例）は、利用者Ａが保持しているＩＰ携帯電話である。ルータ２００Ａは、ＩＰ電話１００Ａをインターネット４００に接続するためのルータ機能を提供する。ＳＩＰサーバ３００（認証装置）は、サーバ管理者５により管理され、インターネット４００を経由してＩＰ電話にＩＰアドレスを割り当てたり、鍵情報を送信したりというように、ＩＰ電話による秘匿通話を実現するための各種制御を行うサーバである。ＩＰ電話１００Ｂは、利用者Ｂが保持しているＩＰ携帯電話である。ルータ２００Ｂは、ＩＰ電話１００Ｂをインターネット４００に接続するためのルータ機能を提供する。
【００２６】
なお、ルータ２００Ａは、ＩＰ電話１００Ａとインターネット４００上のＳＩＰサーバ３００の通信を補助するだけであるので、以降の説明ではルータ２００Ａの動作は省略する。ルータ２００Ｂも、ＩＰ電話１００Ｂとインターネット４００上のＳＩＰサーバ３００の通信を補助するだけであるので、同様に以降の説明ではルータ２００Ｂの動作は省略する。
【００２７】
（ＩＰ電話１００Ａの構成）
ＩＰ電話１００Ａの機能構成を図４に示す。ＩＰ電話１００Ｂの構成はＩＰ電話１００Ａと同一である。以下の説明では、ＩＰ電話１００Ｂの構成要素を示す場合には「ｂ」を付して、ＩＰ電話１００Ａの構成要素と区別する。ＩＰ電話１００Ａは、電話側情報入出力部１１０ａ、電話側制御部１２０ａ、電話側暗号処理部１３０ａ、電話側格納部１４０ａ、電話側通信部１５０ａのブッロクから構成される。
【００２８】
（電話側情報入出力部１１０ａ）
（１）データ入力部１１１ａは、利用者Ａが操作ボタンやタッチパネル等を用いて情報を入力する処理を担う。
（２）データ表示部１１２ａは、入力されたデータや他の機能によって処理された情報を画面に表示する。
（３）指紋情報読取部１１３ａ（生体情報読取部）は指紋読取センサ１１３１ａ（生体情報読取センサ）を備え、利用者Ａの指紋を読み取る。
（４）音声入力部１１４ａは、通話時に利用者Ａの音声を入力する処理を担う。
（５）音声出力部１１５ａは、通話時に相手である利用者Ｂの音声を出力する処理を担う。
【００２９】
（電話側制御部１２０ａ）
（１）接続制御部１２１ａは、利用者Ａが通話のための発信ボタンを押下した後、ＳＩＰサーバ３００に利用者Ｂとの通話要求を送信し、利用者Ｂが使用しているＩＰ電話１００Ｂとの接続を確立する。
（２）鍵共有部１２２ａ（鍵データ生成部）は、接続制御部１２１ａによって接続が確立された後、ＳＩＰサーバ３００とＩＰ電話１００Ａの相互認証と利用者Ａの指紋認証のための処理を行い、認証に成功すると、ＳＩＰサーバ３００から送信される鍵情報を用いて通話を暗号化するための鍵を生成する。
（３）通話制御部１２３ａ（暗号通信部）は、鍵共有部１２２ａによって生成された鍵を用いて秘匿通話の処理を行う。なお、接続制御部１２１ａ、鍵共有部１２２ａ、通話制御部１２３ａは、例えばプログラムとして、ＩＰ電話１００Ａの記憶領域や内蔵のＵＩＭ（Ｕｓｅｒ  Ｉｄｅｎｔｉｔｙ  Ｍｏｄｕｌｅ）等の外部記憶領域に格納される。
【００３０】
（電話側暗号処理部１３０ａ）
（１）乱数生成部１３１ａは、ＳＩＰサーバ３００とＩＰ電話１００Ａの相互認証等に用いられる乱数を生成する。
（２）暗号演算部１３２ａは、ＳＨＡ−２、ＳＨＡ−１、ＭＤ５等の一方向性関数によるハッシュ値の生成、ＲＳＡ（登録商標）等の公開鍵暗号の演算、ＭＩＳＴＹ（登録商標）やＡＥＳ等の共通鍵暗号の演算等の暗号演算を行う。なお、乱数生成部１３１ａ、暗号演算部１３２ａは、例えばプログラムとして、ＩＰ電話１００Ａの記憶領域や内蔵のＵＩＭ等の外部記憶領域に格納される。
【００３１】
（電話側格納部１４０ａ）
（１）アドレス情報格納部１４１ａは、利用者Ｂの識別子等のように利用者Ａの通話相手の情報を保存する。
（２）データ一時格納部１４２ａ（読取生体情報記憶部）は、接続制御部１２１ａ、鍵共有部１２２ａ、通話制御部１２３ａ等の各機能が使用する情報を一時的に保存する。
（３）端末情報格納部１４３ａは、ＩＰ電話１００Ａの識別子、公開鍵暗号の秘密鍵、秘密鍵に対応する公開鍵を含む公開鍵証明書等の通話に必要な端末情報を保存する。
（４）サーバ情報格納部１４４ａは、ＳＩＰサーバ３００の識別子、公開鍵証明書等のＳＩＰサーバ３００との接続や通話に必要なサーバ情報を格納する。
（５）乱数格納部１４５ａは、乱数生成部１３１ａが乱数を生成するために必要な情報を格納する。なお、アドレス情報格納部１４１ａ、データ一時格納部１４２ａ、端末情報格納部１４３ａ、サーバ情報格納部１４４ａ、乱数格納部１４５ａは、ＩＰ電話１００Ａの記憶領域や内蔵のＵＩＭ等の外部記憶領域に格納される。また、アドレス情報格納部１４１ａ、端末情報格納部１４３ａ、サーバ情報格納部１４４ａに保存される情報は、ＩＰ電話１００Ａの生産時に工場内で入力されたり、利用者ＡがＩＰ電話１００Ａを初期設定および更新する際に計算機に接続してダウンロードしたりすることによって予め埋め込まれている。また、乱数格納部１４５ａに保存される初期値は、ＩＰ電話１００Ａの生産時に工場内で入力されたり、利用者ＡがＩＰ電話１００Ａを初期設定する際に入力されたりすることによって予め埋め込まれている。例えば、利用者Ａが初期設定する場合、初期設定が行われた日時、ＩＰ電話１００Ａの公開鍵証明書、利用者Ａが操作ボタンによって入力した任意のデータを連結した情報のハッシュ値を乱数の初期値とする。
【００３２】
（電話側通信部１５０ａ）
（１）データ受信部１５１ａは、インターネット４００に接続されたＳＩＰサーバ３００やＩＰ電話１００Ｂから送信される情報を受信し、情報を必要とする各機能部に渡す。
（２）データ送信部１５２ａは、各機能部から渡された情報をインターネット４００に接続されたＳＩＰサーバ３００やＩＰ電話１００Ｂに送信する。
【００３３】
（ＳＩＰサーバ３００の構成）
ＳＩＰサーバ３００の構成を図５に示す。ＳＩＰサーバ３００は、サーバ側情報入出力部３１０、サーバ側制御部３２０、サーバ側暗号処理部３３０、サーバ側格納部３４０、サーバ側通信部３５０のブロックから構成される。
【００３４】
（サーバ側情報入出力部３１０）
（１）データ入力部３１１は、サーバ管理者５が操作ボタンやタッチパネル等を用いて情報を入力する処理を担う。
（２）データ表示部３１２は、入力されたデータや他の機能によって処理された情報を画面に表示する。
【００３５】
（サーバ側制御部３２０）
（１）接続制御部３２１は、ＩＰ電話１００Ａからの通話要求を受信し、利用者Ｂが使用しているＩＰ電話１００ＢとＩＰ電話１００Ａとの接続を確立する。
（２）鍵共有部３２２（照合部）は、接続制御部３２１によって接続が確立された後、ＳＩＰサーバ３００とＩＰ電話１００Ａの相互認証と利用者Ａの指紋認証、ＳＩＰサーバ３００とＩＰ電話１００Ｂの相互認証と利用者Ｂの指紋認証のための処理を行い、認証に成功すると、ＩＰ電話１００ＡおよびＩＰ電話１００Ｂへ通話を暗号化するための鍵情報を送信する。
（３）通話制御部３２３は、ＩＰ電話１００ＡとＩＰ電話１００Ｂの通話終了の処理を行う。接続制御部３２１、鍵共有部３２２、通話制御部３２３は、例えばプログラムとして、ＳＩＰサーバ３００の記憶領域やＨＳＭ（Ｈａｒｄｗａｒｅ  Ｓｅｃｕｒｉｔｙ  Ｍｏｄｕｌｅ）等の外部記憶領域に格納される。
【００３６】
（サーバ側暗号処理部３３０）
（１）乱数生成部３３１は、ＳＩＰサーバ３００とＩＰ電話１００Ａの相互認証、ＳＩＰサーバ３００とＩＰ電話１００Ｂの相互認証等に用いられる乱数を生成する。
（２）暗号演算部３３２は、ＳＨＡ−２、ＳＨＡ−１、ＭＤ５等の一方向性関数によるハッシュ値の生成、ＲＳＡ（登録商標）等の公開鍵暗号の演算等の暗号演算を行う。乱数生成部３３１と暗号演算部３３２は、例えばプログラムとして、ＳＩＰサーバ３００の記憶領域やＨＳＭ等の外部記憶領域に格納される。
【００３７】
（サーバ側格納部３４０）
（１）バインド情報格納部３４１は、利用者Ａの識別子とＩＰ電話１００Ａの識別子、利用者Ｂの識別子とＩＰ電話１００Ｂの識別子の組等のように、利用者とＩＰ電話を対応付けるための情報を保存する。
（２）データ一時格納部３４２は、接続制御部３２１、鍵共有部３２２、通話制御部３２３等の各機能が使用する情報を一時的に保存する。
（３）サーバ情報格納部３４３は、ＳＩＰサーバ３００の識別子、公開鍵暗号の秘密鍵、秘密鍵に対応する公開鍵を含む公開鍵証明書等の通話に必要なサーバ情報を格納する。
（４）端末情報格納部３４４は、ＩＰ電話１００Ａの識別子、公開鍵証明書、ＩＰ電話１００Ｂの識別子、公開鍵証明書等のＩＰ電話１００ＡやＩＰ電話１００Ｂとの接続や通話に必要な端末情報を保存する。
（５）指紋テンプレート格納部３４５（照合用生体情報記憶部）は、利用者の指紋認証のため、ＩＰ電話の指紋情報読取部から読込まれた指紋情報と比較するための照合用指紋情報（照合用生体情報の一例）である指紋テンプレートを格納する。
（６）データ一時格納部３４２、端末情報格納部３４４、サーバ情報格納部３４３、バインド情報格納部３４１、指紋テンプレート格納部３４５は、ＳＩＰサーバ３００の記憶領域やＨＳＭ等の外部記憶領域に格納される。
（７）端末情報格納部３４４、サーバ情報格納部３４３、バインド情報格納部３４１、指紋テンプレート格納部３４５に保存される情報は、ＳＩＰサーバ３００の生産時に工場内で入力されたり、サーバ管理者５がＳＩＰサーバ３００を初期設定および更新する際に入力したりすることによって予め埋め込まれている。
【００３８】
（サーバ側通信部３５０）
（１）データ受信部３５１は、インターネット４００に接続されたＩＰ電話１００ＡやＩＰ電話１００Ｂから送信される情報を受信し、情報を必要とする各機能に渡す。
（２）データ送信部３５２は、各機能から渡された情報をインターネット４００に接続されたＩＰ電話１００ＡやＩＰ電話１００Ｂに送信する。
【００３９】
（全体の動作）
次に、上記のように構成された実施の形態１の動作について、図６を用いて説明する。図６は、利用者ＡがＩＰ電話１００Ａから、ＩＰ電話１００Ｂを使用している利用者Ｂに発信し、通話を終えるまでの一連の動作を示す処理のシーケンス図である。
【００４０】
図６に示すように、実施の形態１の動作は、利用者Ａの発信を利用者Ｂが受信し、ＩＰ電話１００ＡとＩＰ電話１００Ｂの接続が確立するまでの接続確立処理４０と、
ＩＰ電話１００ＡとＩＰ電話１００Ｂの間で通話を暗号化するための鍵を共有するまでの鍵共有処理５０と、
鍵を用いて秘匿通話を開始する秘匿通話開始処理６０と、
利用者Ｂから通話を終了する秘匿通話終了処理７０と
から構成される。
【００４１】
鍵共有処理５０は、更に、ＳＩＰサーバ３００がＩＰ電話１００Ａの認証と利用者Ａの指紋認証を行う利用者ＡとＩＰ電話１００Ａの認証処理５１と、
ＳＩＰサーバ３００がＩＰ電話１００Ｂとの認証と利用者Ｂの指紋認証を行う利用者ＢとＩＰ電話１００Ｂの認証処理５２と、
ＩＰ電話１００ＡがＳＩＰサーバ３００の認証とＳＩＰサーバ３００から送信された鍵情報を用いて通話を暗号化するための鍵を生成するＳＩＰサーバの認証と鍵生成処理５３と、
ＩＰ電話１００ＢがＳＩＰサーバ３００の認証とＳＩＰサーバ３００から送信された鍵情報を用いて通話を暗号化するための鍵を生成するＳＩＰサーバの認証と鍵生成処理５４と
から構成される。
【００４２】
（１．接続確立動作４０）
図７は、接続確立処理４０を説明する図である。図７を用いて、まず、利用者Ａの発信を利用者Ｂが受信し、ＩＰ電話１００ＡとＩＰ電話１００Ｂの接続が確立するまでの動作を説明する。
【００４３】
以下に、利用者Ａが通話相手の利用者Ｂを選択してからＩＰ電話１００ＡとＩＰ電話１００Ｂの間で接続確立されるまでの動作を箇条書きにて示す。これらの動作は、それぞれの装置の接続制御部にて行われる。即ち、ＩＰ電話１００Ａの接続制御部１２１ａ、ＳＩＰサーバの接続制御部３２１、ＩＰ電話１００Ｂの接続制御部１２１ｂのそれぞれの動作により、ＩＰ電話１００ＡとＩＰ電話１００Ｂとの間で接続が確立する。
【００４４】
＜ＩＰ電話１００Ａ＞
１．利用者Ａは、ＩＰ電話１００Ａのデータ表示部１１２ａにアドレス情報を表示し、通話相手として利用者Ｂを選択する（Ｓ１１）。
２．ＩＰ電話１００Ａの接続制御部１２１ａは、利用者Ａの指紋情報を入力するようデータ表示部１１２ａを用いて画面に表示する（Ｓ１２）。
３．利用者Ａは、ＩＰ電話１００Ａの指紋読取センサ１１３１ａから指紋を入力する（Ｓ１３）。
４．ＩＰ電話１００Ａの接続制御部１２１ａは、入力された指紋情報をデータ一時格納部１４２ａに保存する（Ｓ１４）。
５．利用者Ａは、発信ボタンを押下する（Ｓ１５）。
６．ＩＰ電話１００Ａの接続制御部１２１ａはデータ送信部１５２ａを用いて、ＳＩＰサーバ３００に利用者Ｂとの接続要求を送信する（Ｓ１６）。
【００４５】
＜ＳＩＰサーバ３００＞
７．ＳＩＰサーバ３００の接続制御部３２１はデータ受信部３５１を用いて、ＩＰ電話１００Ａからの接続要求を受信する（Ｓ１７）。
８．ＳＩＰサーバ３００の接続制御部３２１は、バインド情報格納部３４１に格納されているバインド情報から利用者Ｂが使用しているＩＰ電話１００Ｂを検索する（Ｓ１８）。
９．ＳＩＰサーバ３００の接続制御部３２１はデータ送信部３５２を用いて、ＩＰ電話１００Ｂに利用者Ａからの接続要求を送信する（Ｓ１９）。
【００４６】
＜ＩＰ電話１００Ｂ＞
１０．ＩＰ電話１００Ｂの接続制御部１２１ｂはデータ受信部１５１ｂを用いて、ＳＩＰサーバ３００からの「接続要求」を受信する（Ｓ２０）。
１１．ＩＰ電話１００Ｂの接続制御部１２１ｂは、利用者Ｂに利用者Ａから発信があることと、受信のために利用者Ｂの指紋情報を入力するよう要求することとをデータ表示部１１２ｂを用いて表示する（Ｓ２１）。
１２．利用者Ｂは、利用者Ａからの発信であることを確認する（Ｓ２２）。
１３．利用者Ｂは、ＩＰ電話１００Ｂの指紋読み取りセンサ１１３１ｂから指紋を入力する（Ｓ２３）。
１４．ＩＰ電話１００Ｂの接続制御部１２１ｂは、入力された指紋情報をデータ一時格納部１４２ｂに保存する（Ｓ２４）。
１５．利用者Ｂは、受信ボタン（図１）を押下する（Ｓ２５）。
１６．ＩＰ電話１００Ｂの接続制御部１２１ｂはデータ送信部１５２ｂを用いて、ＳＩＰサーバ３００に利用者Ａとの接続承諾を送信する（Ｓ２６）。
【００４７】
＜ＳＩＰサーバ３００＞
１７．ＳＩＰサーバ３００の接続制御部３２１はデータ受信部３５１を用いて、ＩＰ電話１００Ｂからの接続承諾を受信する（Ｓ２７）。
１８．ＳＩＰサーバ３００の接続制御部３２１はデータ送信部３５２を用いて、ＩＰ電話１００ＡにＩＰ電話１００Ｂからの接続承諾を送信する（Ｓ２８）。
【００４８】
＜ＩＰ電話１００Ａ＞
１９．ＩＰ電話１００Ａの接続制御部１２１ａはデータ受信部１５１ａを用いて、ＩＰ電話１００Ｂからの接続承諾を受信する（Ｓ２９）。
【００４９】
（２．鍵共有：ＳＩＰサーバによる利用者Ａの指紋認証及びＩＰ電話１００Ａの認証５１）
図８は、ＳＩＰサーバ３００がＩＰ電話１００Ａの認証と利用者Ａの指紋認証とを行う動作を示す。次に、図８を参照して、ＩＰ電話１００ＡとＩＰ電話１００Ｂとの間で通話を暗号化するための鍵を共有する一連の動作のうち、ＳＩＰサーバ３００がＩＰ電話１００Ａの認証と利用者Ａの指紋認証とを行うまでの動作を説明する。
【００５０】
以下に、ＳＩＰサーバ３００が、利用者Ａの指紋認証を行い、及びＩＰ電話１００Ａを認証する動作を箇条書きにて示す。これらの動作は、ＩＰ電話１００Ａ、ＳＩＰサーバ３００のそれぞれの鍵共有部が連携することにより行われる。
【００５１】
＜ＳＩＰサーバ３００＞
１．ＳＩＰサーバ３００の鍵共有部３２２は乱数生成部３３１を用いて、乱数ＲＳ１を生成する（Ｓ３１）。
２．ＳＩＰサーバ３００の鍵共有部３２２は暗号演算部３３２を用いて、自身の識別子ＩＤＳとＲＳ１をＩＰ電話１００Ａの公開鍵で暗号化する（Ｓ３２）。なお、識別子ＩＤＳはサーバ情報格納部３４３に格納されている。
３．ＳＩＰサーバ３００の鍵共有部３２２はデータ送信部３５２を用いて、暗号化したＩＤＳとＲＳ１をＩＰ電話１００Ａに送信する（Ｓ３３）。
【００５２】
＜ＩＰ電話１００Ａ＞
４．ＩＰ電話１００Ａの鍵共有部１２２ａはデータ受信部１５１ａを用いて、暗号化されたＩＤＳとＲＳ１をＳＩＰサーバ３００から受信する（Ｓ３４）。
５．ＩＰ電話１００Ａの鍵共有部１２２ａは暗号演算部１３２ａを用いて、暗号化されたＩＤＳとＲＳ１を秘密鍵で復号する（Ｓ３５）。
６．ＩＰ電話１００Ａの鍵共有部１２２ａは、サーバ情報格納部１４４ａの識別子とＩＤＳを照合する（Ｓ３６）。一致しなければ処理を終了する。
７．ＩＰ電話１００Ａの鍵共有部１２２ａは乱数生成部１３１ａを用いて、乱数ＲＡを生成する（Ｓ３７）。
８．ＩＰ電話１００Ａの鍵共有部１２２ａは暗号演算部１３２ａを用いて、自身の識別子ＩＤＡ、利用者Ａの指紋情報ＦＰＡ、ＲＳ１、ＲＡを、ＳＩＰサーバ３００の公開鍵で暗号化する（Ｓ３８）。
９．ＩＰ電話１００Ａの鍵共有部１２２ａはデータ送信部１５２ａを用いて、暗号化したＩＤＡ、ＦＰＡ、ＲＳ１、ＲＡをＳＩＰサーバ３００に送信する（Ｓ３９）。
【００５３】
＜サーバ３００＞
１０．ＳＩＰサーバ３００の鍵共有部３２２はデータ受信部３５１を用いて、暗号化されたＩＤＡ、ＦＰＡ、ＲＳ１、ＲＡをＩＰ電話１００Ａから受信する（Ｓ４０）。
１１．ＳＩＰサーバ３００の鍵共有部３２２は暗号演算部３３２を用いて、暗号化されたＩＤＡ、ＦＰＡ、ＲＳ１、ＲＡを秘密鍵で復号する（Ｓ４１）。
１２．ＳＩＰサーバ３００の鍵共有部３２２は、端末情報格納部３４４の識別子とＩＤＳを照合する（Ｓ４２）。一致しなければ処理を終了する。
１３．ＳＩＰサーバ３００の鍵共有部３２２は、ＲＳ１を照合する（Ｓ４３）。一致しなければ処理を終了する。
１４．ＳＩＰサーバ３００の鍵共有部３２２は、個人認証として、指紋情報ＦＰＡを指紋テンプレート格納部３４５に格納している照合用の指紋情報と照合する（Ｓ４４）。一致しなければ処理を終了する。
１５．ＳＩＰサーバ３００の鍵共有部３２２は暗号演算部３３２を用いて、ハッシュ関数（一方向関数の一例）によりＦＰＡのハッシュ値（対応情報）を生成する（Ｓ４５）。
【００５４】
（Ｓ３７におけるＩＰ電話１００Ａによる乱数ＲＡの生成動作）
図９は、ＩＰ電話１００Ａが乱数ＲＡを生成する動作（Ｓ３７）を示すフローチャートである。次に図９を用いて、ＩＰ電話１００Ａにおける乱数ＲＡの生成の動作を説明する。なお、ＳＩＰサーバ３００における乱数生成（Ｓ３１）は、乱数生成装置等の一般の乱数生成方式を利用するものとする。
【００５５】
以下に、ＩＰ電話１００Ａにおけるｎ回目の乱数ＲＡの生成動作を箇条書きにて示す。これらの動作は、鍵共有部１２２ａが乱数生成部１３１ａを用いて行う。
１．接続確立処理４１において、利用者Ａから指紋情報ＦＰＡｍが入力され（Ｓ１３）、データ一時格納部１４２ａに保存されている（Ｓ１４）。
２．乱数生成部１３１ａは、乱数格納部１４５ａに保存されている前回利用した乱数ＲＡｎ−１とＦＰＡｍを連結する（Ｓ５１）。なお、初期設定後の第一回目の乱数生成では、ＲＡｎ−１として乱数の初期値を使用する。
３．乱数生成部１３１ａは、暗号演算部１３２ａを用いて、ＲＡｎ−１とＦＰＡｍとを連結した情報のハッシュ値を生成する（Ｓ５２）。
４．乱数生成部１３１ａは、生成されたハッシュ値を新たな乱数ＲＡｎとして使用する（Ｓ５３）。
５．乱数生成部１３１ａは、ＲＡｎを乱数格納部１４５ａに保存する（Ｓ５４）。
６．乱数生成部１３１ａは、ＲＡｎ−１を乱数格納部１４５ａから消去する（Ｓ５５）。連続して乱数を生成する場合も、同様にしてｎ＋１回目の乱数生成５２を行う。
【００５６】
（３．鍵共有：ＳＩＰサーバによる利用者Ｂの指紋認証及びＩＰ電話１００Ｂの認証５２）
次に、ＩＰ電話１００ＡとＩＰ電話１００Ｂの間で通話を暗号化するための鍵を共有する一連の動作のうち、ＳＩＰサーバ３００がＩＰ電話１００Ｂの認証と利用者Ｂの指紋認証を行うまでの動作について、図１０を用いて説明する。
【００５７】
以下に、ＳＩＰサーバ３００における利用者ＢとＩＰ電話１００Ｂの認証の動作を箇条書きにて示す。これらの動作は、ＳＩＰサーバ３００、ＩＰ電話１００Ｂのそれぞれの鍵共有部にて行われる。
【００５８】
＜ＳＩＰサーバ３００＞
１．ＳＩＰサーバ３００の鍵共有部３２２は乱数生成部３３１を用いて、乱数ＲＳ２を生成する（Ｓ６１）。
２．ＳＩＰサーバ３００の鍵共有部３２２は暗号演算部３３２を用いて、自身の識別子ＩＤＳとＲＳ２をＩＰ電話１００Ｂの公開鍵で暗号化する（Ｓ６２）。ＩＰ電話１００Ｂの公開鍵は端末情報格納部３４４に格納されている。
３．ＳＩＰサーバ３００の鍵共有部３２２はデータ送信部３５２を用いて、暗号化したＩＤＳとＲＳ２をＩＰ電話１００Ｂに送信する（Ｓ６３）。
【００５９】
＜ＩＰ電話１００Ｂ＞
４．ＩＰ電話１００Ｂの鍵共有部１２２ｂはデータ受信部１５１ｂを用いて、暗号化されたＩＤＳとＲＳ２をＳＩＰサーバ３００から受信する（Ｓ６４）。
５．ＩＰ電話１００Ｂの鍵共有部１２２ｂは暗号演算部１３２ｂを用いて、暗号化されたＩＤＳとＲＳ２を秘密鍵で復号する（Ｓ６５）。
６．ＩＰ電話１００Ｂの鍵共有部１２２ｂは、サーバ情報格納部１４４ｂの識別子とＩＤＳを照合する（Ｓ６６）。一致しなければ処理を終了する。
７．ＩＰ電話１００Ｂの鍵共有部１２２ｂは乱数生成部１３１ｂを用いて、乱数ＲＢを生成する（Ｓ６７）。
８．ＩＰ電話１００Ｂの鍵共有部１２２ｂは暗号演算部１３２ｂを用いて、自身の識別子ＩＤＢ、利用者Ｂの指紋情報ＦＰＢ、ＲＳ２、ＲＢをＳＩＰサーバ３００の公開鍵で暗号化する（Ｓ６８）。
９．ＩＰ電話１００Ｂの鍵共有部１２２ｂはデータ送信部１５２ｂを用いて、暗号化したＩＤＢ、ＦＰＢ、ＲＳ２、ＲＢをＳＩＰサーバ３００に送信する（Ｓ６９）。
【００６０】
＜ＳＩＰサーバ３００＞
１０．ＳＩＰサーバ３００の鍵共有部３２２はデータ受信部３５１を用いて、暗号化されたＩＤＢ、ＦＰＢ、ＲＳ２、ＲＢをＩＰ電話１００Ｂから受信する（Ｓ７０）。
１１．ＳＩＰサーバ３００の鍵共有部３２２は暗号演算部３３２を用いて、暗号化されたＩＤＢ、ＦＰＢ、ＲＳ２、ＲＢを秘密鍵で復号する（Ｓ７１）。
１２．ＳＩＰサーバ３００の鍵共有部３２２は、端末情報格納部３４４の識別子とＩＤＳを照合する（Ｓ７２）。一致しなければ処理を終了する。
１３．ＳＩＰサーバ３００の鍵共有部３２２は、ＲＳ２を照合する（Ｓ７３）。一致しなければ処理を終了する。
１４．ＳＩＰサーバ３００の鍵共有部３２２は、個人認証として、指紋情報ＦＰＢを指紋テンプレート格納部３４５に格納している照合用の指紋情報と照合する（Ｓ７４）。一致しなければ処理を終了する。
１５．ＳＩＰサーバ３００の鍵共有部３２２は暗号演算部３３２を用いて、ハッシュ関数（一方向関数の一例）によりＦＰＢのハッシュ値(対応情報)を生成する（Ｓ７５）。
【００６１】
次に、ＩＰ電話１００Ｂにおける乱数生成（Ｓ６７）の動作は、ＩＰ電話１００Ａの場合と同様であるので、ここでは説明を省略する。
【００６２】
（４．鍵共有：ＩＰ電話１００ＡによるＳＩＰサーバ３００の認証、及び共通鍵Ｋの生成５３）
次に、ＩＰ電話１００ＡとＩＰ電話１００Ｂの間で通話を暗号化するための共通鍵を共有する一連の動作のうち、ＩＰ電話１００ＡがＳＩＰサーバ３００の認証と通話を暗号化するための鍵生成を行うまでの動作について、図１１を用いて説明する。
【００６３】
＜ＳＩＰサーバ３００＞
以下に、ＩＰ電話１００ＡにおけるＳＩＰサーバ３００の認証と鍵生成の動作を箇条書きにて示す。
これらの動作は、ＩＰ電話１００Ａ、ＳＩＰサーバ３００のそれぞれの鍵共有部にて行われる。
【００６４】
＜ＳＩＰサーバ３００＞
１．ＳＩＰサーバ３００の鍵共有部３２２は暗号演算部３３２を用いて、ＩＤＳ、ＦＰＢのハッシュ値、ＲＳ２、ＲＡをＩＰ電話１００Ａの公開鍵で暗号化する（Ｓ８１）。
２．ＳＩＰサーバ３００の鍵共有部３２２はデータ送信部３５２を用いて、暗号化したＩＤＳ、ＦＰＢのハッシュ値、ＲＳ２、ＲＡをＩＰ電話１００Ａに送信する（Ｓ８２）。
【００６５】
＜ＩＰ電話１００Ａ＞
３．ＩＰ電話１００Ａの鍵共有部１２２ａはデータ受信部１５１ａを用いて、暗号化されたＩＤＳ、ＦＰＢのハッシュ値、ＲＳ２、ＲＡをＳＩＰサーバ３００から受信する（Ｓ８３）。
４．ＩＰ電話１００Ａの鍵共有部１２２ａは暗号演算部１３２ａを用いて、暗号化されたＩＤＳ、ＦＰＢのハッシュ値、ＲＳ２、ＲＡを秘密鍵で復号する（Ｓ８４）。
５．ＩＰ電話１００Ａの鍵共有部１２２ａは、サーバ情報格納部１４４ａの識別子とＩＤＳを照合する
（Ｓ８５）。一致しなければ処理を終了する。
６．ＩＰ電話１００Ａの鍵共有部１２２ａは、ＲＡを照合する（Ｓ８６）。一致しなければ処理を終了する。
７．ＩＰ電話１００Ａの鍵共有部１２２ａは暗号演算部１３２ａを用いて、ＦＰＡのハッシュ値を生成する（Ｓ８７）。
８．ＩＰ電話１００Ａの鍵共有部１２２ａは、ＦＰＡのハッシュ値、ＲＳ１、ＦＰＢのハッシュ値、ＲＳ２を用いて通話を暗号化するための鍵（鍵データ）を生成する（Ｓ８８）。例えば、ＦＰＡのハッシュ値、ＲＳ１、ＦＰＢのハッシュ値、ＲＳ２を連結したハッシュ値を鍵とする。生成した鍵は、データ一時格納部１４２ａに格納される。
９．ＩＰ電話１００Ａの鍵共有部１２２ａは、データ一時格納部１４２ａからＦＰＡを消去する（Ｓ８９）。
【００６６】
（５．鍵共有：ＩＰ電話１００ＢによるＳＩＰサーバ３００の認証、及び共通鍵Ｋの生成５４）
次に、ＩＰ電話１００ＡとＩＰ電話１００Ｂの間で通話を暗号化するための鍵を共有する一連の動作のうち、ＩＰ電話１００ＢがＳＩＰサーバ３００の認証と通話を暗号化するための鍵生成を行うまでの動作について、図１２を用いて説明する。
【００６７】
以下に、ＩＰ電話１００ＢにおけるＳＩＰサーバ３００の認証と鍵生成の動作を箇条書きにて示す。これらの動作は、ＩＰ電話１００Ｂ、ＳＩＰサーバ３００のそれぞれの鍵共有部にて行われる。
【００６８】
＜ＳＩＰサーバ３００＞
１．ＳＩＰサーバ３００の鍵共有部３２２は暗号演算部３３２を用いて、ＩＤＳ、ＦＰＡのハッシュ値、ＲＳ１、ＲＢをＩＰ電話１００Ｂの公開鍵で暗号化する（Ｓ９１）。
２．ＳＩＰサーバ３００の鍵共有部３２２はデータ送信部３５２を用いて、暗号化したＩＤＳ、ＦＰＡのハッシュ値、ＲＳ１、ＲＢをＩＰ電話１００Ｂに送信する（Ｓ９２）。
【００６９】
＜ＩＰ電話１００Ｂ＞
３．ＩＰ電話１００Ｂの鍵共有部１２２ｂはデータ受信部１５１ｂを用いて、暗号化されたＩＤＳ、ＦＰＡのハッシュ値、ＲＳ１、ＲＢをＳＩＰサーバ３００から受信する（Ｓ９３）。
４．ＩＰ電話１００Ｂの鍵共有部１２２ｂは暗号演算部１３２ｂを用いて、暗号化されたＩＤＳ、ＦＰＡのハッシュ値、ＲＳ１、ＲＢを秘密鍵で復号する（Ｓ９４）。
５．ＩＰ電話１００Ｂの鍵共有部１２２ｂは、サーバ情報格納部１４４ｂの識別子とＩＤＳを照合する（Ｓ９５）。一致しなければ処理を終了する。
６．ＩＰ電話１００Ｂの鍵共有部１２２ｂは、ＲＢを照合する（Ｓ９６）。一致しなければ処理を終了する。
７．ＩＰ電話１００Ｂの鍵共有部１２２ｂは暗号演算部１３２ｂを用いて、ＦＰＢのハッシュ値を生成する（Ｓ９７）。
８．ＩＰ電話１００Ｂの鍵共有部１２２ｂは、ＦＰＡのハッシュ値、ＲＳ１、ＦＰＢのハッシュ値、ＲＳ２を用いて通話を暗号化するための鍵を生成する（Ｓ９８）。例えば、ＦＰＡのハッシュ値、ＲＳ１、ＦＰＢのハッシュ値、ＲＳ２を連結したハッシュ値を鍵とする。
９．ＩＰ電話１００Ｂの鍵共有部１２２ｂは、データ一時格納部１４２ｂからＦＰＢを消去する（Ｓ９９）。
【００７０】
（６．秘匿通話開始の処理６０）
次に、共有した鍵を用いて利用者Ａと利用者Ｂとの秘匿通話を行うの動作について、図１３を用いて説明する。
【００７１】
以下に、ＩＰ電話１００Ａの通話開始表示を受けて利用者Ａから利用者Ｂに話しかけてから、利用者Ａが利用者Ｂの返答を聞くまでの動作を箇条書きにて示す。これらの動作は、ＩＰ電話１００Ａ、ＩＰ電話１００Ｂの両者の通話制御部にて行われる。
１．ＩＰ電話１００Ａの通話制御部１２３ａはデータ表示部１１２ａを用いて、画面に利用者Ａに通話が開始されたことを表示する（Ｓ１０１）。
２．ＩＰ電話１００Ｂは、利用者Ｂに通話が開始されたことを表示する（Ｓ１０２）。
３．利用者Ａは、利用者Ｂに向けて音声ＶＯＡを入力する（Ｓ１０３）。
４．ＩＰ電話１００Ａの通話制御部１２３ａは暗号演算部１３２ａに、ＩＰ電話１００Ｂと共有している鍵を用いて音声ＶＯＡを暗号化させる（Ｓ１０４）。
５．ＩＰ電話１００Ａの通話制御部１２３ａはデータ送信部１５２ａを用いて、暗号演算部１３２ａにより暗号化した音声ＶＯＡを、ＩＰ電話１００Ｂに送信する（Ｓ１０５）。
６．ＩＰ電話１００Ｂの通話制御部１２３ｂはデータ受信部１５１ｂを用いて、暗号化されている音声ＶＯＡをＩＰ電話１００Ａから受信する（Ｓ１０６）。
７．ＩＰ電話１００Ｂの通話制御部１２３ｂは暗号演算部１３２ｂを用いて、ＩＰ電話１００Ａと共有している鍵を用いて、暗号化されている音声ＶＯＡを復号する（Ｓ１０７）。
８．ＩＰ電話１００Ｂの通話制御部１２３ｂは、利用者Ｂに復号された音声ＶＯＡを出力する（Ｓ１０８）。
９．利用者Ｂは、復号された音声ＶＯＡを聴取する（Ｓ１０９）。
１０．利用者Ｂは、復号された音声ＶＯＡに対する返答の音声ＶＯＢを入力する（Ｓ１１０）。
１１．ＩＰ電話１００Ｂの通話制御部１２３ｂは暗号演算部１３２ｂを用いて、ＩＰ電話１００Ａと共有している鍵を用いてＶＯＢを暗号化する（Ｓ１１１）。
１２．ＩＰ電話１００Ｂの通話制御部１２３ｂはデータ送信部１５２ｂを用いて、暗号化された音声ＶＯＢをＩＰ電話１００Ａに送信する（Ｓ１１２）。
１３．ＩＰ電話１００Ａの通話制御部１２３ａはデータ受信部１５１ａを用いて、暗号化されている音声ＶＯＢをＩＰ電話１００Ｂから受信する（Ｓ１１３）。
１４．ＩＰ電話１００Ａの通話制御部１２３ａは暗号演算部１３２ａを用いて、ＩＰ電話１００Ｂと共有している鍵を用いて暗号化されている音声ＶＯＢを復号する（Ｓ１１４）。
１５．ＩＰ電話１００Ａの通話制御部１２３ａは、利用者Ａに復号された音声ＶＯＢを出力する（Ｓ１１５）。
１６．利用者Ａは、ＶＯＢを聴取する（Ｓ１１６）。
なお、利用者Ａと利用者Ｂの秘匿通話中はＩＰ電話１００ＡとＩＰ電話１００Ｂの間で直接接続され、ＳＩＰサーバ３００は経由しない。
【００７２】
（７．秘匿通話終了の処理７０）
次に、利用者Ａと利用者Ｂとの秘匿通話を終了する動作について、図１４を用いて説明する。
【００７３】
以下に、利用者Ｂが通話終了ボタンを押下してから、利用者Ａが通話終了を確認するまでの動作を箇条書きにて示す。これらの動作は、ＩＰ電話１００Ａ，ＩＰ電話１００Ｂのそれぞれの通話制御部にて行われる。
１．利用者Ｂは、ＩＰ電話１００Ｂの通話終了ボタンを押下する（Ｓ１２１）。
２．ＩＰ電話１００Ｂは、ＩＰ電話１００Ａと共有していた鍵を消去する（Ｓ１２２）。
３．ＩＰ電話１００Ｂの通話制御部１２３ｂはデータ送信部１５２ｂを用いて、切断通知をＳＩＰサーバ３００に送信する（Ｓ１２３）。
４．ＳＩＰサーバ３００の通話制御部３２３はデータ受信部３５１を用いて、切断通知をＩＰ電話１００Ｂから受信する（Ｓ１２４）。ＳＩＰサーバ３００の通話制御部３２３は、通話のために生成した一時的な情報を、データ一時格納部３４２から消去する等の後処理を行う。
５．ＳＩＰサーバ３００の通話制御部３２３はデータ送信部３５２を用いて、ＩＰ電話１００Ｂとの通話が終了したことを切断通知としてＩＰ電話１００Ａに送信する（Ｓ１２５）。
６．ＩＰ電話１００Ａの通話制御部１２３ａはデータ受信部１５１ａを用いて、切断通知をＳＩＰサーバ３００より受信する（Ｓ１２６）。
７．ＩＰ電話１００Ａの通話制御部１２３ａは、ＩＰ電話１００Ｂと共有していた鍵をデータ一時格納部３４２から消去する（Ｓ１２７）。
８．ＩＰ電話１００Ａの通話制御部１２３ａはデータ表示部３１２を用いて、利用者Ａに通話が終了したことを画面表示する（Ｓ１２８）。
９．利用者Ａは、通話が終了したことを確認する（Ｓ１２９）。
【００７４】
実施の形態１の鍵共有処理５０（図８、図１０、図１１、図１２）では、ＩＰ電話１００Ａ、ＩＰ電話１００Ｂ、ＳＩＰサーバ３００では指紋情報のハッシュ値を求め、ＩＰ電話では、指紋情報のハッシュ値に基づいて共通鍵Ｋを生成した（Ｓ８８、Ｓ９８）が、ハッシュ値を使用せず、次の（１）〜（５）のように、指紋情報ＦＰＡ、ＦＰＢ自体のみを用いる方式としても構わない。
（１）ＩＰ電話１００Ａは指紋情報ＦＰＡを読み取ってデータ一時格納部１４２ａに記憶し、
ＩＰ電話１００Ｂは指紋情報ＦＰＢを読み取ってデータ一時格納部１４２ｂに記憶する。
（２）ＩＰ電話１００Ａは、データ一時格納部１４２ａに記憶した指紋情報ＦＰＡをＳＩＰサーバ３００に送信し、ＩＰ電話１００Ｂは、データ一時格納部１４２ｂに記憶した指紋情報ＦＰＢをＳＩＰサーバ３００に送信する。
（３）ＳＩＰサーバ３００は、ＩＰ電話１００Ａから指紋情報ＦＰＡを受信し、ＩＰ電話１００Ｂから指紋情報ＦＰＢを受信する。
（４）ＳＩＰサーバ３００は、受信した指紋情報ＦＰＡと指紋情報ＦＰＢとを指紋テンプレート格納部３４５が記憶している複数の照合用指紋情報と照合することにより個人認証を行い、照合の結果、指紋情報ＦＰＡと指紋情報ＦＰＢとについてのいずれの個人認証も成立した場合には、受信した指紋情報ＦＰＡをＩＰ電話１００Ｂに返信するとともに受信した指紋情報ＦＰＢをＩＰ電話１００Ａに返信する。
（５）ＩＰ電話１００Ａは、データ一時格納部１４２ａが記憶した指紋情報ＦＰＡと、ＳＩＰサーバ３００から返信された指紋情報ＦＰＢとに基づいて共通鍵Ｋを生成するとともに、鍵データを生成した後にはデータ一時格納部１４２ａが記憶したを指紋情報ＦＰＡ、及び受信した指紋情報ＦＰＢとを消去する。
ＩＰ電話１００Ｂも同様の処理を行う。ＩＰ電話１００Ａは、生成した共通鍵Ｋを用いて、ＩＰ電話１００Ｂとの間で暗号通信を行なう。
【００７５】
以上のように、実施の形態１では、利用者のテンプレート等の秘密情報や利用者認証機能を端末に保持せずにサーバ上に保持することによって、端末を紛失したり盗難されたりしても、これらの情報を盗聴の機会すら与えることなく、第三者による利用者のなりすましを防止する。また、利用者の秘密情報を盗もうとする第三者がサーバへ不正なアクセスを行った場合は、通信を遮断する等の対策を取る事も容易である。
【００７６】
また、端末とサーバ間の相互認証に生体情報を加えることによって、サーバにおける端末認証と利用者認証で２回、サーバにおけるもう一方の端末認証と利用者認証で２回、端末におけるサーバ認証とサーバから端末への鍵情報送信で１回、もう一方の端末におけるサーバ認証とサーバから端末への鍵情報送信で１回の合計６回となり、従来の端末とサーバ間の通信回数よりも４０％削減する高速な鍵共有方式を提供する。
【００７７】
また、端末に前回使用した乱数を格納しておくことによって、新たな乱数を生成する時には、端末のセンサから読込まれた生体情報と前回の乱数を加えて一方向性関数によりハッシュ値を生成し、その値を乱数として用いる。これによって、読込まれた生体情報が以前読込まれた生体情報と同じ値であったとしても、前回とは全く異なる乱数を生成できる精度の良い乱数生成方式を提供する。
【００７８】
実施の形態２．
図１５〜図２０を用いて実施の形態２を説明する。この実施の形態２は、生体認証機能を伴う鍵共有方式を用いた秘匿通話システムの一例として、特に十分な読み取り精度を持つ指紋読み取りセンサが内蔵されたＩＰ携帯電話を利用者が使用して、ＳＩＰサーバを介した秘匿通話を行う形態について説明する。すなわち、実施の形態２で用いる読み取りセンサは、指紋の読み取り精度が高く、そのため、同一人物の指紋であっても、読み取るごとに、例えば読み取った指紋情報を数値表現した場合の下位の桁に必ず違いが出現する。この違いの出現は、指紋読み取りセンサが指紋を読み取るたびに、指紋読み取りセンサに対する指の位置などの読み取り状態が必ず異なるからである。実施の形態２で用いる指紋読み取りセンサは、指紋を読み取るごとの読み取り状態の違いを指紋情報の違いとして検出する高精度なセンサである。したがって、例えば利用者Ａについては、実施の形態２の指紋読取センサ２０１１ａにより読み取られた指紋情報ＦＰＡは、同一のものは存在しない。このように指紋読取センサ２０１１ａにより読み取られた指紋情報ＦＰＡは、ばらつき度数の高い乱数的な性格を有するため、実施の形態２では乱数を使用しないことが特徴である。以下に説明する実施の形態２では、指紋読取センサ２０１１ａにより読み取られるごとに指紋情報ＦＰＡは異なるので、ＳＩＰサーバ３００は、自己が保有している利用者Ａの指紋テンプレートを用いて指紋情報ＦＰＡの照合を行う場合、読み取った指紋情報ＦＰＡを照合可能な程度に変換する。例えば読み取った指紋情報ＦＰＡの数値を丸め、丸めた指紋情報ＦＰＡと指紋テンプレートとを照合する。以上ではＩＰ電話１００Ａについて説明したがＩＰ電話１００Ｂについても同様である。
【００７９】
この実施の形態２における生体認証機能を伴う鍵共有方式は、実施の形態１と同様に、利用者のテンプレート等の秘密情報や利用者認証機能を端末に保持せずにサーバ上に保持する。これによって、端末を紛失したり、端末が盗難にあった場合でも、これらの情報を盗聴の機会すら与えることなく、第三者による利用者のなりすましを防止できる。また、利用者の秘密情報を盗もうとする第三者がサーバへ不正なアクセスを行った場合は、通信を遮断する等の対策を取る事も容易である。
【００８０】
また、実施の形態２の特徴は、端末とサーバ間の相互認証に生体情報の値が指紋読み取りセンサで読込まれる度に毎回異なるような、ばらつき度数の高い生体情報を加えることによって、端末とサーバとにおいて乱数生成を不要とし、従来の端末とサーバ間との通信回数よりも通信回数を６０％削減する高速な鍵共有方式を提供するものである。
【００８１】
（システム構成）
システム構成は、実施の形態１と同様である。
【００８２】
（ＩＰ電話１００Ａの構成）
図１５にＩＰ電話１００Ａの機能構成を示す。実施の形態２のＩＰ電話１００Ａは、実施の形態１のＩＰ電話１００Ａに対して乱数生成部１３１ａ、乱数格納部１４５ａを備えない構成である。また、実施の形態１の指紋情報読取部１１３ａ、指紋読取センサ１１３１ａと区別するため、実施の形態２では「指紋情報読取部２０１０ａ」、「指紋読取センサ２０１１ａ」と符号を変えた。上述のように指紋読取センサ２０１１ａは、生体情報の値がセンサで読込まれる度に毎回異なるような、ばらつき度数の高い生体情報を読み取れる、十分な読み取り精度を持つ。なお、実施の形態２のＩＰ電話１００Ｂの構成は、実施の形態２のＩＰ電話１００Ａと同一である。
【００８３】
（ＳＩＰサーバの構成）
図１６は、実施の形態２におけるＳＩＰサーバ３００の機能構成を示す。実施の形態２のＳＩＰサーバ３００は、実施の形１のＳＩＰサーバ３００に対して、乱数生成部３３１を削除し、一方、指紋情報履歴格納部３４６を備えた構成である。この指紋情報履歴格納部３６５は、指紋認証のためにＩＰ電話から送信された利用者の指紋情報を格納し、履歴として蓄積する。指紋情報履歴格納部３６５は、データ一時格納部３４２や端末情報格納部３４４と同様に、ＳＩＰサーバ３００の記憶領域やＨＳＭ等の外部記憶領域に格納される。
【００８４】
（全体の動作）
全体の動作は、実施の形態１の図６と同様であるので説明を省略する。
【００８５】
（接続確立の動作）
接続確立の動作は、実施の形態１の図７と同様であるので説明を省略する。
【００８６】
（鍵共有：ＳＩＰサーバによる利用者Ａの指紋認証、及びＩＰ電話１００Ａの認証５１）
次に、ＩＰ電話１００ＡとＩＰ電話１００Ｂの間で通話を暗号化するための鍵を共有する一連の動作のうち、ＳＩＰサーバ３００がＩＰ電話１００Ａの認証と利用者Ａの指紋認証を行うまでの動作について、図１７を用いて説明する。
【００８７】
以下に、ＳＩＰサーバ３００における利用者ＡとＩＰ電話１００Ａの認証の動作を箇条書きにて示す。これらの動作は、ＳＩＰサーバ３００、ＩＰ電話１００Ａのそれぞれの鍵共有部にて行われる。
【００８８】
＜ＩＰ電話１００Ａ＞
１．ＩＰ電話１００Ａの鍵共有部１２２ａは、秘密鍵を用いて利用者Ａの指紋情報ＦＰＡの署名を生成する（Ｓ１３１）。
２．ＩＰ電話１００Ａの鍵共有部１２２ａは暗号演算部１３２ａを用いて、ＳＩＰサーバ３００の識別子ＩＤＳ、ＦＰＡ、ＦＰＡの署名をＳＩＰサーバ３００の公開鍵で暗号化する（Ｓ１３２）。
３．ＩＰ電話１００Ａの鍵共有部１２２ａはデータ送信部１５２ａを用いて、暗号化したＩＤＳ、ＦＰＡ、ＦＰＡの署名をＳＩＰサーバ３００に送信する（Ｓ１３３）。
【００８９】
＜ＳＩＰサーバ３００＞
４．ＳＩＰサーバ３００の鍵共有部３２２はデータ受信部３５１を用いて、暗号化されたＩＤＳ、ＦＰＡ、ＦＰＡの署名をＩＰ電話１００Ａから受信する（Ｓ１３４）。
５．ＳＩＰサーバ３００は、暗号化されたＩＤＳ、ＦＰＡ、ＦＰＡの署名を秘密鍵で復号する（Ｓ１３５）。このとき、ＳＩＰサーバ３００は、受信したＦＰＡを指紋情報履歴格納部３４６に履歴として蓄積する。
６．ＳＩＰサーバ３００の鍵共有部３２２は、サーバ情報格納部３４３の識別子とＩＤＳを照合する（Ｓ１３６）。一致しなければ処理を終了する。
７．ＳＩＰサーバ３００の鍵共有部３２２は、ＩＰ電話１００Ａの公開鍵証明書を用いてＦＰＡの署名を検証する（Ｓ１３７）。検証に失敗すると、処理を終了する。
８．ＳＩＰサーバ３００の鍵共有部３２２は、ＦＰＡと指紋情報履歴格納部３４６に保存している過去の指紋情報とを比較する（Ｓ１３８）。鍵共有部３２２は、ＦＰＡが過去のいずれかの指紋情報と一致すると、第三者が複製したＦＰＡを送付するリプレイ攻撃があったと判断し、処理を終了する。また、一致しない場合、鍵共有部３２２は、指紋情報ＦＰＡを指紋情報履歴格納部３４６に履歴として蓄積する。
９．ＳＩＰサーバ３００の鍵共有部３２２は、ＦＰＡを照合可能なデータに変換して、照合する（Ｓ４４）。一致しなければ処理を終了する。
１０．ＳＩＰサーバ３００は、ＦＰＡのハッシュ値を生成する（Ｓ４５）。
【００９０】
実施の形態１では、ＳＩＰサーバ３００で生成した乱数ＲＳ１をＩＰ電話１００Ａが返信し（Ｓ３９）、その値をＳＩＰサーバ３００が照合する（Ｓ４３）ことによって、一緒に送信される指紋情報ＦＰＡは、その時間に正しくＩＰ電話１００Ａから送信されたものであることを検証している。ＲＳ１が一致しなければ、第三者が送信データを複製して再送（リプレイ）している可能性がある。これに対して、実施の形態２では、指紋読取センサ２０１１ａに読込まれる毎に値が異なるばらつき度数の高い指紋情報ＦＰＡを用いる。ＳＩＰサーバ３００が指紋情報ＦＰＡと過去の指紋情報とを比較して一致するものがあれば、第三者がリプレイを行っていることがわかる。また、ＳＩＰサーバ３００がＩＰ電話１００ＡによるＦＰＡの署名を検証することによって、ＦＰＡがＩＰ電話１００Ａから送信されたことを確認する。よって、ＳＩＰサーバ３００で乱数生成は不要となる。
【００９１】
（鍵共有：ＳＩＰサーバによる利用者Ｂの指紋認証、及びＩＰ電話１００Ｂの認証５２）
次に、ＩＰ電話１００ＡとＩＰ電話１００Ｂの間で通話を暗号化するための鍵を共有する一連の動作のうち、ＳＩＰサーバ３００がＩＰ電話１００Ｂの認証と利用者Ｂの指紋認証を行うまでの動作について、図１８を用いて説明する。
【００９２】
以下に、ＳＩＰサーバ３００における利用者ＢとＩＰ電話１００Ｂの認証の動作を箇条書きにて示す。これらの動作は、ＳＩＰサーバ３００、ＩＰ電話１００Ｂそれぞれの鍵共有部の連携により行われる。
【００９３】
＜ＩＰ電話１００Ｂ＞
１．ＩＰ電話１００Ｂの鍵共有部１２２ｂは、秘密鍵を用いて利用者Ｂの指紋情報ＦＰＢの署名を生成する（Ｓ１４１）。
２．ＩＰ電話１００Ｂの鍵共有部１２２ｂは暗号演算部１３２ａを用いて、ＳＩＰサーバ３００の識別子ＩＤＳ、ＦＰＢ、ＦＰＢの署名をＳＩＰサーバ３００の公開鍵で暗号化する（Ｓ１４２）。
３．ＩＰ電話１００Ｂの鍵共有部１２２ｂはデータ送信部１５２ｂを用いて、暗号化したＩＤＳ、ＦＰＢ、ＦＰＢの署名をＳＩＰサーバ３００に送信する（Ｓ１４３）。
【００９４】
＜ＳＩＰサーバ３００＞
４．ＳＩＰサーバ３００の鍵共有部３２２はデータ受信部３５１を用いて、暗号化されたＩＤＳ、ＦＰＢ、ＦＰＢの署名をＩＰ電話１００Ｂから受信する（Ｓ１４４）。
５．ＳＩＰサーバ３００の鍵共有部３２２は暗号演算部３３２を用いて、暗号化されたＩＤＳ、ＦＰＢ、ＦＰＢの署名を秘密鍵で復号する（Ｓ１４５）。
６．ＳＩＰサーバ３００の鍵共有部３２２は、サーバ情報格納部３４３の識別子とＩＤＳを照合する（Ｓ１３６）。一致しなければ処理を終了する。
７．ＳＩＰサーバ３００の鍵共有部３２２は、ＩＰ電話１００Ｂの公開鍵証明書を用いてＦＰＢの署名を検証する（Ｓ１４６）。検証に失敗すると処理を終了する。
８．ＳＩＰサーバ３００の鍵共有部３２２は、ＦＰＢと指紋情報履歴格納部３４６に保存している過去の指紋情報とを比較する（Ｓ１４７）。ＦＰＢが過去のいずれかの指紋情報と一致すると、第三者が複製したＦＰＢを送付するリプレイ攻撃があったと判断し、処理を終了する。また、一致しない場合、鍵共有部３２２は、指紋情報ＦＰＢを指紋情報履歴格納部３４６に履歴として蓄積する。
９．ＳＩＰサーバ３００の鍵共有部３２２は、ＦＰＢを照合する（Ｓ７４）。一致しなければ処理を終了する。
１０．ＳＩＰサーバ３００の鍵共有部３２２は暗号演算部１３２を用いて、ＦＰＢのハッシュ値を生成する（Ｓ７５）。
【００９５】
実施の形態１では、ＳＩＰサーバ３００で生成した乱数ＲＳ２をＩＰ電話１００Ｂが返信し（Ｓ６９）、その値をＳＩＰサーバ３００が照合する（Ｓ７３）ことによって、一緒に送信される指紋情報ＦＰＢは、その時間に正しくＩＰ電話１００Ｂから送信されたものであることを検証している。ＲＳ２が一致しなければ、第三者が送信データを複製して再送（リプレイ）している可能性がある。これに対して、実施の形態２では、指紋読取センサ２０１１ｂに読込まれる毎に値が異なるばらつき度数の高いＦＰＢを用いる。ＳＩＰサーバ３００がＦＰＢと過去の指紋情報を比較して一致するものがあれば、第三者がリプレイを行っていることがわかる。また、ＳＩＰサーバ３００がＩＰ電話１００ＢによるＦＰＢの署名を検証することによって、ＦＰＢがＩＰ電話１００Ｂから送信されたことを確認する。よって、ＳＩＰサーバ３００で乱数生成は不要となる。
【００９６】
（鍵共有：ＩＰ電話１００ＡによるＳＩＰサーバ３００の認証、及び共通鍵Ｋの生成５３）
次に、ＩＰ電話１００ＡとＩＰ電話１００Ｂの間で通話を暗号化するための鍵を共有する一連の動作のうち、ＩＰ電話１００ＡがＳＩＰサーバ３００の認証と通話を暗号化するための鍵生成を行うまでの動作について、図１９を用いて説明する。
【００９７】
以下に、ＩＰ電話１００ＡにおけるＳＩＰサーバ３００の認証と鍵生成の動作を箇条書きにて示す。これらの動作は、ＩＰ電話１００Ａ、ＳＩＰサーバ３００のそれぞれの鍵共有部にて行われる。
【００９８】
＜ＳＩＰサーバ３００＞
１．ＳＩＰサーバ３００の鍵共有部３２２は暗号演算部３３２を用いて、ＩＰ電話１００Ａの識別子ＩＤＡ、ＦＰＢのハッシュ値、ＦＰＡのハッシュ値をＩＰ電話１００Ａの公開鍵で暗号化する（Ｓ１５１）。
２．ＳＩＰサーバ３００の鍵共有部３２２はデータ送信部３５２を用いて、暗号化したＩＤＡ、ＦＰＢのハッシュ値、ＦＰＡのハッシュ値をＩＰ電話１００Ａに送信する（Ｓ１５２）。
【００９９】
＜ＩＰ電話１００Ａ＞
３．ＩＰ電話１００Ａの鍵共有部１２２ａはデータ受信部１５１ａを用いて、暗号化されたＩＤＡ、ＦＰＢのハッシュ値、ＦＰＡのハッシュ値をＳＩＰサーバ３００から受信する（Ｓ１５３）。
４．ＩＰ電話１００Ａの鍵共有部１２２ａは暗号演算部１３２ａを用いて、暗号化されたＩＤＡ、ＦＰＢのハッシュ値、ＦＰＡのハッシュ値を秘密鍵で復号する（Ｓ１５４）。
５．ＩＰ電話１００Ａの鍵共有部１２２ａは、端末情報格納部１４３ａの識別子とＩＤＡを照合する（Ｓ１５５）。一致しなければ処理を終了する。
６．ＩＰ電話１００Ａの鍵共有部１２２ａは暗号演算部１３２ａを用いて、ＦＰＡのハッシュ値を生成する（Ｓ８７）。
７．ＩＰ電話１００Ａの鍵共有部１２２ａは、ＦＰＡのハッシュ値を照合する（Ｓ１５６）。一致しなければ処理を終了する。
８．ＩＰ電話１００Ａの鍵共有部１２２ａは、ＦＰＡのハッシュ値とＦＰＢのハッシュ値を用いて通話を暗号化するための鍵を生成する（Ｓ１５７）。例えば、ＦＰＡのハッシュ値とＦＰＢのハッシュ値を連結したハッシュ値を鍵とする。
９．ＩＰ電話１００Ａの鍵共有部１２２ａは、データ一時格納部１４２ａからＦＰＡを消去する（Ｓ８９）。
【０１００】
実施の形態１では、ＩＰ電話１００Ａで生成した乱数ＲＡをＳＩＰサーバ３００が返信し（Ｓ８２）、その値をＩＰ電話１００Ａが照合する（Ｓ８６）ことによって、一緒に送信される情報（Ｓ５６）は、その時間に正しくＳＩＰサーバ３００から送信されたものであることを検証している。ＲＡが一致しなければ、第三者が送信データを複製して再送（リプレイ）している可能性がある。これに対して、実施の形態２では、センサに読込まれる毎に値が異なるばらつき度数の高いＦＰＡのハッシュ値を用いる。ＩＰ電話１００ＡがＦＰＡのハッシュ値を比較（Ｓ１５６）して一致しなければ、第三者がリプレイを行っていることがわかる。また、ＳＩＰサーバ３００は秘密鍵を保持していないとＦＰＡを復号できない。このため、正しいＦＰＡのハッシュ値をＩＰ電話１００Ａに返信することによって、ＳＩＰサーバ３００から送信されたことを確認する。よって、ＩＰ電話１００Ａで乱数生成は不要となる。ＳＩＰサーバ３００は、ＦＰＡを返信する代わりにハッシュ値を返信しているのは、通信データ量を削減するためと、万一ＩＰ電話１００Ａの秘密鍵が不正使用された場合にＦＰＡを盗聴されないようにするためである。
【０１０１】
また、実施の形態１では、ＩＰ電話１００Ａが通話を暗号化するための鍵を生成するための入力値としてＳＩＰサーバ３００で生成した乱数ＲＳ１およびＲＳ２を加えることによって（Ｓ８８）、生成する鍵のランダム性を向上している。これに対して、実施の形態２では、ＦＰＡおよびＦＰＢ自身に十分なランダム性が備わっているため、乱数の追加入力は不要である。
【０１０２】
（鍵共有：ＩＰ電話１００ＢによるＳＩＰサーバ３００の認証、及び共通鍵Ｋの生成５４）
【０１０３】
次に、ＩＰ電話１００ＡとＩＰ電話１００Ｂの間で通話を暗号化するための鍵を共有する一連の動作のうち、ＩＰ電話１００ＢがＳＩＰサーバ３００の認証と通話を暗号化するための鍵生成を行うまでの動作について、図２０を用いて説明する。
【０１０４】
以下に、ＩＰ電話１００ＢにおけるＳＩＰサーバ３００の認証と鍵生成の動作を箇条書きにて示す。これらの動作は、ＩＰ電話１００Ｂ、ＳＩＰサーバ３００のそれぞれの鍵共有部にて行われる。
【０１０５】
＜ＳＩＰサーバ３００＞
１．ＳＩＰサーバ３００の鍵共有部３２２は暗号演算部３３２を用いて、ＩＰ電話１００Ｂの識別子ＩＤＢ、ＦＰＡのハッシュ値、ＦＰＢのハッシュ値をＩＰ電話１００Ｂの公開鍵で暗号化する（Ｓ１６１）。
２．ＳＩＰサーバ３００の鍵共有部３２２はデータ送信部３５２を用いて、暗号化したＩＤＢ、ＦＰＡのハッシュ値、ＦＰＢのハッシュ値をＩＰ電話１００Ｂに送信する（Ｓ１６２）。
【０１０６】
＜ＩＰ電話１００Ｂ＞
３．ＩＰ電話１００Ｂの鍵共有部１２２ｂはデータ受信部１５１ｂを用いて、暗号化されたＩＤＢ、ＦＰＡのハッシュ値、ＦＰＢのハッシュ値をＳＩＰサーバ３００から受信する（Ｓ１６３）。
４．ＩＰ電話１００Ｂの鍵共有部１２２ｂは暗号演算部１３２ｂを用いて、暗号化されたＩＤＢ、ＦＰＡのハッシュ値、ＦＰＢのハッシュ値を秘密鍵で復号する（Ｓ１６４）。
５．ＩＰ電話１００Ｂの鍵共有部１２２ｂは、端末情報格納部１４３ｂの識別子とＩＤＢを照合する（Ｓ１６５）。一致しなければ処理を終了する。
６．ＩＰ電話１００Ｂの鍵共有部１２２ｂは暗号演算部１３２ｂを用いて、ＦＰＢのハッシュ値を生成する（Ｓ９７）。
７．ＩＰ電話１００Ｂの鍵共有部１２２ｂは、ＦＰＢのハッシュ値を照合する（Ｓ１６６）。一致しなければ処理を終了する。
８．ＩＰ電話１００Ｂの鍵共有部１２２ｂは、ＦＰＡのハッシュ値とＦＰＢのハッシュ値を用いて通話を暗号化するための鍵を生成する（Ｓ１６７）。例えば、ＦＰＡのハッシュ値とＦＰＢのハッシュ値を連結したハッシュ値を鍵とする。
９．ＩＰ電話１００Ｂの鍵共有部１２２ｂは、データ一時格納部１４２ｂからＦＰＢを消去する（Ｓ９９）。
【０１０７】
実施の形態１では、ＩＰ電話１００Ｂで生成した乱数ＲＢをＳＩＰサーバ３００が返信し（Ｓ９２）、その値をＩＰ電話１００Ｂが照合する（Ｓ９６）ことによって、一緒に送信される鍵情報は、その時間に正しくＳＩＰサーバ３００から送信されたものであることを検証している。ＲＢが一致しなければ、第三者が送信データを複製して再送（リプレイ）している可能性がある。これに対して、実施の形態２では、センサに読込まれる毎に値が異なるばらつき度数の高いＦＰＢのハッシュ値を用いる。ＩＰ電話１００ＢがＦＰＢのハッシュ値を比較して一致しなければ、第三者がリプレイを行っていることがわかる。また、ＳＩＰサーバ３００は秘密鍵を保持していないとＦＰＢを復号できないため、正しいＦＰＢのハッシュ値をＩＰ電話１００Ｂに返信することによって、ＳＩＰサーバ３００から送信されたことを確認する。よって、ＩＰ電話１００Ｂで乱数生成は不要となる。ＳＩＰサーバ３００においてＦＰＢを返信する代わりにハッシュ値を返信しているのは、通信データ量を削減するためと、万一ＩＰ電話１００Ｂの秘密鍵が不正使用された場合にＦＰＢを盗聴されないようにするためである。
【０１０８】
また、実施の形態１では、ＩＰ電話１００Ｂが通話を暗号化するための鍵を生成するための入力値としてＳＩＰサーバ３００で生成した乱数ＲＳ１およびＲＳ２を加えることによって（Ｓ９８）、生成する鍵のランダム性を向上している。これに対して、実施の形態２では、ＦＰＡおよびＦＰＢ自身に十分なランダム性が備わっているため、乱数の追加入力は不要である。
【０１０９】
（秘匿通話開始の動作）
秘匿通話開始の動作は、実施の形態１の図１３と同様であるので、ここでは説明を省略する。
【０１１０】
（秘匿通話終了の動作）
秘匿通話終了の動作は、実施の形態１の図１４と同様であるので、ここでは説明を省略する。
【０１１１】
以上のように、実施の形態２では、実施の形態１と同様に、利用者のテンプレート等の秘密情報や利用者認証機能を端末に保持せずにサーバ上で保持することによって、端末を紛失したり端末が盗難にあったりしても、これらの情報を盗聴の機会すら与えることなく、第三者による利用者のなりすましを防止する。また、利用者の秘密情報を盗もうとする第三者がサーバへ不正なアクセスを行った場合は、通信を遮断する等の対策を取る事も容易である。
【０１１２】
また、端末とサーバ間の相互認証に生体情報の値がセンサで読込まれる度に毎回異なるような、ばらつき度数の高い生体情報を加えることによって、端末とサーバにおいて乱数生成を不要とする。これにより、サーバにおける端末認証と利用者認証で１回、サーバにおけるもう一方の端末認証と利用者認証で１回、端末におけるサーバ認証とサーバから端末への鍵情報送信で１回、もう一方の端末におけるサーバ認証とサーバから端末への鍵情報送信で１回の合計４回となり、従来の端末とサーバ間の通信回数（背景技術で述べた１０回）よりも６０％削減する高速な鍵共有方式を提供する。
【０１１３】
（１．利用者とＩＰ電話の認証時期のバリエーション）
実施の形態１および実施の形態２では、図６のように、ＩＰ電話とＳＩＰサーバ３００の接続が確立された後で、利用者とＩＰ電話の認証をＳＩＰサーバ３００で行っているが、接続を確立する際に同時に行っても良い。これによって、通信回数を更に削減する。
【０１１４】
（２．指紋情報のハッシュ値生成時期のバリエーション）
実施の形態１および実施の形態２では、図１１のように、ＩＰ電話に入力された指紋情報のハッシュ値生成（Ｓ８７およびＳ９７）を、鍵生成の直前で行っているが、ＩＰ電話に指紋情報が入力された直後にハッシュ値を生成しても良い。これによって、ＩＰ電話から指紋情報をＳＩＰサーバ３００に送信し（Ｓ３９）、不要になった直後の早期の段階に指紋情報を削除できるため、指紋情報の一時格納期間を短縮して盗聴等の攻撃可能性を低減する。
【０１１５】
（３．乱数生成の入力値のバリエーション）
実施の形態１は、図９のように、前回使用した乱数と指紋情報とを連結することによって新たな乱数を生成しているが（Ｓ５１）、指紋情報の代わりに指紋情報のハッシュ値を用いても良い。これによって、指紋情報の一時格納期間を短縮して盗聴等の攻撃可能性を低減する。
【０１１６】
（４．指紋情報の履歴のバリエーション）
実施の形態２は、ＳＩＰサーバ３００の指紋情報履歴格納部３４６に指紋情報の履歴を保存しているが、指紋情報の代わりに指紋情報のハッシュ値の履歴を保存しても良い。指紋情報のリプレイの検証（Ｓ１３８およびＳ１４７）では、ＩＰ電話から送信された指紋情報からハッシュ値を生成し、指紋情報のハッシュ値の履歴と比較する。これによって、ＳＩＰサーバ３００に格納するデータ量を削減し、容量負荷を軽減する。
すなわち、
（１）ＩＰ電話１００Ａは指紋情報ＦＰＡを読み取ってデータ一時格納部１４２ａに記憶し、ＩＰ電話１００Ｂは指紋情報ＦＰＢを読み取ってデータ一時格納部１４２ｂに記憶する。
ＳＩＰサーバ３００の指紋情報履歴格納部３４６は、指紋情報の代わりに指紋情報のハッシュ値の履歴を保存している。
（２）ＩＰ電話１００Ａは、データ一時格納部１４２ａに記憶した指紋情報ＦＰＡをＳＩＰサーバ３００に送信し、ＩＰ電話１００Ｂは、データ一時格納部１４２ｂに記憶した指紋情報ＦＰＢをＳＩＰサーバ３００に送信する。
（３）ＳＩＰサーバ３００は、ＩＰ電話１００Ａから指紋情報ＦＰＡを受信し、ＩＰ電話１００Ｂから指紋情報ＦＰＢを受信し、指紋情報ＦＰＡから指紋情報ＦＰＡのハッシュ値を生成し、指紋情報ＦＰＢから指紋情報ＦＰＢのハッシュ値を生成する。ＳＩＰサーバ３００は、生成した指紋情報ＦＰＡのハッシュ値と指紋情報ＦＰＢのハッシュ値とを指紋情報履歴格納部３４６が記憶している過去に受信した指紋情報から生成したハッシュ値と比較し、比較の結果、指紋情報履歴格納部３４６に指紋情報ＦＰＡのハッシュ値と同一のハッシュ値が存在せず、かつ、指紋情報ＦＰＢのハッシュ値と同一のハッシュ値が存在しない場合には、指紋情報ＦＰＡと指紋情報ＦＰＢとを指紋テンプレート格納部３４５が記憶している複数の照合用指紋情報と照合可能な所定のデータ形式に変換し、変換後の指紋情報ＦＰＡと指紋情報ＦＰＢとを複数の照合用生体情報と照合することにより個人認証を行い、照合の結果、変換後の指紋情報ＦＰＡと指紋情報ＦＰＢとについてのいずれの個人認証も成立した場合には、生成した指紋情報ＦＰＡのハッシュ値と指紋情報ＦＰＢのハッシュ値とを、ＩＰ電話１００ＡとＩＰ電話１００Ｂとのそれぞれに返信するとともに、指紋情報ＦＰＡのハッシュ値と指紋情報ＦＰＢのハッシュ値とを指紋情報履歴格納部３４６に記憶する。
（４）ＩＰ電話１００Ａのデータ受信部１５１ａは、ＳＩＰサーバ３００が送信した指紋情報ＦＰＡのハッシュ値と指紋情報ＦＰＢのハッシュ値とを受信する。後の処理は上記で説明した実施の形態２（図１９のＳ１５３以降、図２０のＳ１６３以降）と同様である。
【０１１７】
（５．適用範囲の拡大）
実施の形態１および実施の形態２では、公開鍵証明書を用いているが、公開鍵を含む任意の情報であってもよい。また、実施の形態１および実施の形態２では、携帯端末にＩＰ携帯電話を用いているが、生体情報を読み取る機能と共通サーバに接続する機能を保持する通信機器であれば良い。実施の形態１および実施の形態２では、共通サーバにＳＩＰサーバを用いているが、鍵管理サーバや認証サーバ等、携帯端末に接続可能なサーバ装置であれば良い。
【０１１８】
実施の形態１及び実施の形態２では、ＩＰ電話の動作を説明したが、ＩＰ電話の各構成要素の動作は互いに関連しており、各構成要素の動作をコンピュータによる処理と把握することで、ＩＰ電話の各構成要素の動作を、コンピュータに実行させるプログラムとして把握することができる。また、実施の形態１及び実施の形態２では、匿名通話システムについて説明したが、これをＩＰ電話１００Ａ、ＩＰ電話１００Ｂ及びＳＩＰサーバが行なう暗号通信方法として把握することも可能である。
【図面の簡単な説明】
【０１１９】
【図１】実施の形態１における秘匿通話システム１０００の概要を説明する図。
【図２】実施の形態１におけるＩＰ電話１００Ａのハードウェア構成を示す図。
【図３】実施の形態１における秘匿通話システム１０００を示す図。
【図４】実施の形態１におけるＩＰ電話１００Ａの構成図。
【図５】実施の形態１におけるＳＩＰサーバ３００の構成図。
【図６】実施の形態１における秘匿通話システム１０００の全体動作を示す図。
【図７】実施の形態１における秘匿通話システム１０００の接続確立処理を示す図。
【図８】実施の形態１におけるＳＩＰサーバ３００によるＩＰ電話１００Ａの認証動作を示す図。
【図９】実施の形態１におけるＩＰ電話１００Ａの乱数生成処理を示す図。
【図１０】実施の形態１におけるＳＩＰサーバ３００によるＩＰ電話１００Ｂの認証動作を示す図。
【図１１】実施の形態１におけるＩＰ電話１００Ａによる共通鍵Ｋの生成を示す図。
【図１２】実施の形態１におけるＩＰ電話１００Ｂによる共通鍵Ｋの生成を示す図。
【図１３】実施の形態１における秘匿通話開始の動作を示す処理。
【図１４】実施の形態１における秘匿通話終了の動作を示す処理。
【図１５】実施の形態２におけるＩＰ電話１００Ａの構成図。
【図１６】実施の形態２におけるＳＩＰサーバ３００の構成図。
【図１７】実施の形態２におけるＳＩＰサーバ３００によるＩＰ電話１００Ａの認証動作を示す図。
【図１８】実施の形態２におけるＳＩＰサーバ３００によるＩＰ電話１００Ｂの認証動作を示す図。
【図１９】実施の形態２におけるＩＰ電話１００Ａによる共通鍵Ｋの生成を示す図。
【図２０】実施の形態２におけるＩＰ電話１００Ｂによる共通鍵Ｋの生成を示す図。
【符号の説明】
【０１２０】
５  サーバ管理者、１００Ａ，１００Ｂ  ＩＰ電話、１１０ａ  電話側情報入出力部、１１１ａ  データ入力部、１１２ａ  データ表示部、１１３ａ  指紋情報読取部、１１３１ａ  指紋読取センサ、１１４ａ  音声入力部、１１５ａ  音声出力部、１２０ａ  電話側制御部、１２１ａ  接続制御部、１２２ａ  鍵共有部、１２３ａ  通話制御部、１３０ａ  電話側暗号処理部、１３１ａ  乱数生成部、１３２ａ  暗号演算部、１４０ａ  電話側格納部、１４１ａ  アドレス情報格納部、１４２ａ  データ一時格納部、１４３ａ  端末情報格納部、１４４ａ  サーバ情報格納部、１４５ａ  乱数格納部、１５０ａ  電話側通信部、１５１ａ  データ受信部、１５２ａ  データ送信部、２００Ａ，２００Ｂ  ルータ、３００  ＳＩＰサーバ、３１０  サーバ側情報入出力部、３１１  データ入力部、３１２  データ表示部、３２０  サーバ側制御部、３２１  接続制御部、３２２  鍵共有部、３２３  通話制御部、３３０  サーバ側暗号処理部、３３１  乱数生成部、３３２  暗号演算部、３４０  サーバ側格納部、３４１  バインド情報格納部、３４２  データ一時格納部、３４３  サーバ情報格納部、３４４  端末情報格納部、３４５  指紋テンプレート格納部、３４６  指紋情報履歴格納部、３５０  サーバ側通信部、３５１  データ受信部、３５２  データ送信部、４００  インターネット、１０００  秘匿通話システム、２０１０ａ  指紋情報読取部、２０１１ａ  指紋読取センサ。
【図１】
2008124847.tif 000003
【図２】
2008124847.tif 000004
【図３】
2008124847.tif 000005
【図４】
2008124847.tif 000006
【図５】
2008124847.tif 000007
【図６】
2008124847.tif 000008
【図７】
2008124847.tif 000009
【図８】
2008124847.tif 000010
【図９】
2008124847.tif 000011
【図１０】
2008124847.tif 000012
【図１１】
2008124847.tif 000013
【図１２】
2008124847.tif 000014
【図１３】
2008124847.tif 000015
【図１４】
2008124847.tif 000016
【図１５】
2008124847.tif 000017
【図１６】
2008124847.tif 000018
【図１７】
2008124847.tif 000019
【図１８】
2008124847.tif 000020
【図１９】
2008124847.tif 000021
【図２０】
2008124847.tif 000022