(57)【要約】【課題】  端末間の認証を短時間に終了し、迅速に通信を開始することのできる端末間の相互認証方法を提供する。【解決手段】  端末ｊは、端末ｉから受信した認証キーＫＢ＿ｉを内部に記憶しているキー解読キーＫＧで解読し、端末識別子ＩＤ＿ｉ及び暗号キーＫａ＿ｉ得て、正当性を確認する。そして、生成した認証試験情報Ｄｃ＿ｊを、この暗号キーＫａ＿ｉで暗号化して端末ｉへ返送する。端末ｉは、内部に記憶している解読キーＫＡ＿ｉにより復号し、認証試験情報Ｄｃ＿ｊを得る。同様の手順により、端末ｉは暗号キーＫａ＿ｊを、端末ｊは認証試験情報Ｄｃ＿ｉを得る。端末ｉは、認証試験情報Ｄｃ＿ｊから生成した認証回答情報Ｄｒ＿ｉを暗号キーＫａ＿ｊで暗号化して端末ｊに送信する。端末ｊは、解読キーＫＡ＿ｊにより復号して認証試験情報Ｄｃ＿ｊを取り出し、自身が生成したものと同一であるか否かにより認証を行う。端末ｉも同様の手順により認証を行う。【選択図】      図１
2005065192.tif 000002
【特許請求の範囲】
【請求項１】
Ｍ個の端末からなる通信システムにおいて、前記端末ｉ（１≦ｉ≦Ｍ）と端末ｊ（１≦ｊ≦Ｍ）間でデータ通信を行う前に互いに認証を行うための端末間の相互認証方法であって、
前記端末ｉは、
キー暗号キーＫｇにより暗号化された暗号文を解読可能なキー解読キーＫＧと、
前記キー暗号キーＫｇにより自身の端末識別子ＩＤ＿ｉ及び暗号キーＫａ＿ｉを暗号化した認証キーＫＢ＿ｉと、
前記暗号キーＫａ＿ｉにより暗号化された暗号文を解読可能な自身の解読キーＫＡ＿ｉと、
端末ｊの端末識別子ＩＤ＿ｊとを記憶し、
前記端末ｊから、前記キー暗号キーＫｇにより該端末ｊの端末識別子ＩＤ＿ｊ及び暗号キーＫａ＿ｊを暗号化した前記認証キーＫＢ＿ｊを受信し、
受信した前記認証キーＫＢ＿ｊを内部に記憶している前記キー解読キーＫＧにより解読して端末ｊの端末識別子ＩＤ＿ｊ及び暗号キーＫａ＿ｊを取得し、
取得した前記端末ｊの端末識別子ＩＤ＿ｊが、自身が内部に記憶している端末ｊの端末識別子ＩＤ＿ｊと一致するか否かにより正当性を確認し、
正当性を確認した場合に、ランダム値を基に認証試験情報Ｄｃ＿ｉを生成し、
生成した前記認証試験情報Ｄｃ＿ｉを、前記認証キーＫＢ＿ｊから取得した前記端末ｊの暗号キーＫａ＿ｊにより暗号化した暗号化認証試験情報Ｅｃ＿ｉを生成して前記端末ｊへ送信する一方、
端末ｊへ自身の認証キーＫＢ＿ｉを送信し、
前記端末ｊから、該端末ｊがランダム値から生成した認証試験情報Ｄｃ＿ｊを、該端末ｊが内部に記憶しているキー解読キーＫＧにより前記認証キーＫＢ＿ｉを解読して得た暗号キーＫａ＿ｉで暗号化した暗号化認証試験情報Ｅｃ＿ｊを受信し、
受信した暗号化認証試験情報Ｅｃ＿ｊを、内部に記憶している自身の解読キーＫＡ＿ｉにより解読して前記端末ｊの認証試験情報Ｄｃ＿ｊを取得し、
取得した前記端末ｊの認証試験情報Ｄｃ＿ｊを基に認証回答情報Ｄｒ＿ｉを生成し、
生成した認証回答情報Ｄｒ＿ｉを、前記認証キーＫＢ＿ｊから取得した前記端末ｊの暗号キーＫａ＿ｊにより暗号化した暗号化認証回答情報Ｅｒ＿ｉを生成して前記端末ｊへ送信し、
さらに、送信した前記暗号化認証試験情報Ｅｃ＿ｉに対応して、前記端末ｊから、該端末ｊが生成した認証回答情報Ｄｒ＿ｊを端末ｉの暗号キーＫａ＿ｉで暗号化した暗号化認証回答情報Ｅｒ＿ｊを受信し、
受信した暗号化認証回答情報Ｅｒ＿ｊを内部に記憶している自身の解読キーＫＡ＿ｉにより解読して前記端末ｊの認証回答情報Ｄｒ＿ｊを取得し、
取得した認証回答情報Ｄｒ＿ｊから得た認証試験情報Ｄｃ＿ｉが、自身が生成した認証試験情報Ｄｃ＿ｉと一致するか否かにより前記端末ｊを認証する、
ことを特徴とする端末間の相互認証方法。
【請求項２】
Ｍ個の端末からなる通信システムにおいて、前記端末ｉ（１≦ｉ≦Ｍ）と端末ｊ（１≦ｊ≦Ｍ）間でデータ通信を行う前に互いに認証を行うための端末間の相互認証方法であって、
前記端末ｉは、
キー暗号キーＫｇにより暗号化された暗号文を解読可能なキー解読キーＫＧと、
前記キー暗号キーＫｇにより自身の端末識別子ＩＤ＿ｉ及び暗号キーＫａ＿ｉを暗号化した認証キーＫＢ＿ｉと、
前記暗号キーＫａ＿ｉにより暗号化された暗号文を解読可能な自身の解読キーＫＡ＿ｉと、
端末ｊの端末識別子ＩＤ＿ｊとを記憶し、
前記端末ｊは、
前記キー解読キーＫＧと、
前記キー暗号キーＫｇにより自身の端末識別子ＩＤ＿ｊ及び暗号キーＫａ＿ｊを暗号化した認証キーＫＢ＿ｊと、
前記暗号キーＫａ＿ｊにより暗号化された暗号文を解読可能な自身の解読キーＫＡ＿ｊと、
前記端末ｉの端末識別子ＩＤ＿ｉとを記憶し、
前記端末ｉは、
前記端末ｊへ自身の認証キーＫＢ＿ｉを通知し、
前記端末ｊは、
前記端末ｉから前記認証キーＫＢ＿ｉを受信し、内部に記憶している前記キー解読キーＫＧにより解読して前記端末ｉの端末識別子ＩＤ＿ｉ及び暗号キーＫａ＿ｉを取得し、
取得した前記端末ｉの端末識別子ＩＤ＿ｉが、自身が内部に記憶している端末ｉの端末識別子ＩＤ＿ｉと一致するか否かにより正当性を確認し、
正当性を確認した場合に、ランダム値を基に認証試験情報Ｄｃ＿ｊを生成し、
生成した認証試験情報Ｄｃ＿ｊを、前記認証キーＫＢ＿ｉから取得した前記端末ｉの暗号キーＫａ＿ｉにより暗号化した暗号化認証試験情報Ｅｃ＿ｊを生成して前記端末ｉへ送信する一方、
前記端末ｉへ自身の認証キーＫＢ＿ｊを通知し、
前記端末ｉは、
前記端末ｊから前記認証キーＫＢ＿ｊを受信し、内部に記憶している前記キー解読キーＫＧにより解読して前記端末ｊの端末識別子ＩＤ＿ｊ及び暗号キーＫａ＿ｊを取得し、
取得した前記端末ｊの端末識別子ＩＤ＿ｊが、自身が内部に記憶している端末ｊの端末識別子ＩＤ＿ｊと一致するか否かにより正当性を確認し、
正当性を確認した場合に、ランダム値を基に認証試験情報Ｄｃ＿ｉを生成し、
生成した認証試験情報Ｄｃ＿ｉを、前記認証キーＫＢ＿ｊから取得した前記端末ｊの暗号キーＫａ＿ｊにより暗号化した暗号化認証試験情報Ｅｃ＿ｉを生成して前記端末ｊへ送信し、
さらに、前記端末ｊから暗号化認証試験情報Ｅｃ＿ｊを受信し、内部に記憶している自身の解読キーＫＡ＿ｉにより解読して前記端末ｊの認証試験情報Ｄｃ＿ｊを取得し、
取得した前記端末ｊの認証試験情報Ｄｃ＿ｊを基に認証回答情報Ｄｒ＿ｉを生成し、
生成した認証回答情報Ｄｒ＿ｉを、前記認証キーＫＢ＿ｊから取得した前記端末ｊの暗号キーＫａ＿ｊにより暗号化した暗号化認証回答情報Ｅｒ＿ｉを生成して前記端末ｊへ送信し、
前記端末ｊは、
前記端末ｉから暗号化認証試験情報Ｅｃ＿ｉを受信し、内部に記憶している自身の解読キーＫＡ＿ｊにより解読して前記端末ｉの認証試験情報Ｄｃ＿ｉを取得し、
取得した前記端末ｉの認証試験情報Ｄｃ＿ｉを基に認証回答情報Ｄｒ＿ｊを生成し、
生成した認証回答情報Ｄｒ＿ｊを、前記認証キーＫＢ＿ｉから取得した前記端末ｉの暗号キーＫａ＿ｉにより暗号化した暗号化認証回答情報Ｅｒ＿ｊを生成して前記端末ｉへ送信する一方、
前記端末ｉから暗号化認証回答情報Ｅｒ＿ｉを受信し、内部に記憶している自身の解読キーＫＡ＿ｊにより解読して前記端末ｉの認証回答情報Ｄｒ＿ｉを取得し、
取得した認証回答情報Ｄｒ＿ｉから得た認証試験情報Ｄｃ＿ｊが、自身が生成した認証試験情報Ｄｃ＿ｊと一致するか否かにより前記端末ｉを認証し、
前記端末ｉは、
前記端末ｊから暗号化認証回答情報Ｅｒ＿ｊを受信し、内部に記憶している自身の解読キーＫＡ＿ｉにより解読して前記端末ｊの認証回答情報Ｄｒ＿ｊを取得し、
取得した認証回答情報Ｄｒ＿ｊから得た認証試験情報Ｄｃ＿ｉが、自身が生成した認証試験情報Ｄｃ＿ｉと一致するか否かにより前記端末ｊを認証する、
ことを特徴とする端末間の相互認証方法。
【請求項３】
Ｍ個の端末からなる通信システムにおいて、前記端末ｉ（１≦ｉ≦Ｍ）と端末ｊ（１≦ｊ≦Ｍ）間でデータ通信を行う前に互いに認証を行うための端末間の相互認証方法であって、
前記端末ｉは、
キー暗号キーＫｇにより暗号化された暗号文を解読可能なキー解読キーＫＧと、
前記キー暗号キーＫｇにより自身の端末識別子ＩＤ＿ｉ及び暗号キーＫａ＿ｉを暗号化した認証キーＫＢ＿ｉと、
前記暗号キーＫａ＿ｉにより暗号化された暗号文を解読可能な自身の解読キーＫＡ＿ｉとを記憶し、
端末ｊの端末識別子ＩＤ＿ｊを受けて内部に書き込み、
端末ｊへ自身の認証キーＫＢ＿ｉを含む認証要求信号Ｓａ＿ｉを送信して受信待ち状態に遷移し、
受信待ち状態において、前記端末ｊから、前記キー暗号キーＫｇにより該端末ｊの端末識別子ＩＤ＿ｊ及び暗号キーＫａ＿ｊを暗号化した前記認証キーＫＢ＿ｊを含む認証要求信号Ｓａ＿ｊを受信したとき、認証要求信号Ｓａ＿ｊを受信可能であるか否かの所定の認証要求信号受信判断を行い、
認証要求信号受信判断がＯＫの場合は、
受信した認証要求信号Ｓａ＿ｊ内の認証キーＫＢ＿ｊを内部に記憶している前記キー解読キーＫＧにより解読して端末ｊの端末識別子ＩＤ＿ｊ及び暗号キーＫａ＿ｊを取得し、
取得した前記端末ｊの端末識別子ＩＤ＿ｊが、自身が内部に記憶している端末ｊの端末識別子ＩＤ＿ｊと一致するか否かにより正当性を確認し、
正当性を確認した場合に、ランダム値を基に認証試験情報Ｄｃ＿ｉを生成し、
生成した前記認証試験情報Ｄｃ＿ｉを、前記認証キーＫＢ＿ｊから取得した前記端末ｊの暗号キーＫａ＿ｊにより暗号化した暗号化認証試験情報Ｅｃ＿ｉを生成し、
生成した前記暗号化認証試験情報Ｅｃ＿ｉを含む認証試験信号Ｓｃ＿ｉを前記端末ｊへ送信し、
端末ｊから、該端末ｊが生成した暗号化認証試験情報Ｅｃ＿ｊを含む認証試験信号Ｓｃ＿ｊを受信済みであれば、内部に記憶している自身の解読キーＫＡ＿ｉにより前記暗号化認証試験情報Ｅｃ＿ｊを解読して得た端末ｊの認証試験情報Ｄｃ＿ｊから生成した認証回答情報Ｄｒ＿ｉを、前記認証キーＫＢ＿ｊから取得した前記端末ｊの暗号キーＫａ＿ｊにより暗号化した暗号化認証回答情報Ｅｒ＿ｉを含む暗号化認証回答信号Ｓｒ＿ｉを前記端末ｊへ送信し、
受信待ち状態に遷移し、
認証要求信号受信判断がＮＧの場合は、受信待ち状態に遷移するか認証処理を終了し、
受信待ち状態において、端末ｊから、該端末ｊが生成した暗号化認証試験情報Ｅｃ＿ｊを含む認証試験信号Ｓｃ＿ｊを受信したとき、認証試験信号Ｓｃ＿ｊを受信可能であるか否かの所定の認証試験信号受信判断を行い、
認証試験信号受信判断がＯＫの場合は、
前記認証試験信号Ｓｃ＿ｊ内の暗号化認証試験情報Ｅｃ＿ｊを、内部に記憶している自身の解読キーＫＡ＿ｉにより解読して前記端末ｊの認証試験情報Ｄｃ＿ｊを取得し、
端末ｊから認証要求信号Ｓａ＿ｊを受信済みであれば、取得した前記端末ｊの認証試験情報Ｄｃ＿ｊを基に生成した認証回答情報Ｄｒ＿ｉを、前記認証キーＫＢ＿ｊから取得した前記端末ｊの暗号キーＫａ＿ｊにより暗号化した暗号化認証回答情報Ｅｒ＿ｉを含む暗号化認証回答信号Ｓｒ＿ｉを前記端末ｊへ送信し、
受信待ち状態に遷移し、
認証試験信号受信判断がＮＧの場合は、受信待ち状態に遷移するか認証処理を終了し、
受信待ち状態において、端末ｊから、該端末ｊが生成した認証回答情報Ｄｒ＿ｊを端末ｉの暗号キーＫａ＿ｉで暗号化した暗号化認証回答情報Ｅｒ＿ｊが含まれる認証回答信号Ｓｒ＿ｊを受信したとき、認証回答信号Ｓｒ＿ｊを受信可能であるか否かの所定の認証回答信号受信判断を行い、
認証回答信号受信判断がＯＫの場合は、
受信した認証回答信号Ｓｒ＿ｊ内の暗号化認証回答情報Ｅｒ＿ｊを内部に記憶している自身の解読キーＫＡ＿ｉにより解読して前記端末ｊの認証回答情報Ｄｒ＿ｊを取得し、
取得した認証回答情報Ｄｒ＿ｊから得た認証試験情報Ｄｃ＿ｉが、自身が生成した認証試験情報Ｄｃ＿ｉと一致するか否かにより前記端末ｊを認証し、
認証回答信号受信判断がＮＧの場合は、受信待ち状態に遷移するか認証処理を終了する、
ことを特徴とする端末間の相互認証方法。
【請求項４】
前記通信システムは、さらに、キー管理機からなり、
前記キー管理機は、
キー暗号キーＫｇ及びキー解読キーＫＧと、それぞれの端末ｋ（１≦ｋ≦Ｍ）に対応した暗号キーＫａ＿ｋとを生成し、
それぞれの端末ｋに対応した前記暗号キーＫａ＿ｋ及び端末識別子ＩＤ＿ｋを前記キー暗号キーＫｇにより暗号化してそれぞれの端末ｋに対応した認証キーＫＢ＿ｋを生成し、
前記端末ｋに前記キー解読キーＫＧと、該端末ｋに対応した前記暗号キーＫａ＿ｋ及び認証キーＫＢ＿ｋとを配布し、
前記端末ｋは、
前記キー管理機から受信したキー解読キーＫＧと、自身の暗号キーＫａ＿ｋ及び認証キーＫＢ＿ｋとを内部に記憶する、
ことを特徴とする請求項３に記載の端末間の相互認証方法。
【請求項５】
前記端末ｉは、
生成の度に異なる自身の通信暗号キーＫｃ＿ｉ＿ｊを生成し、該通信暗号キーＫｃ＿ｉ＿ｊを含んだ認証試験情報Ｄｃ＿ｉまたは認証回答情報Ｄｒ＿ｉを生成し、
前記端末ｊの認証試験情報Ｄｃ＿ｊまたは認証回答情報Ｄｒ＿ｊから、該端末ｊの通信暗号キーＫｃ＿ｊ＿ｉを取得する、
ことを特徴とする請求項３または請求項４に記載の端末間の相互認証方法。
【請求項６】
前記端末ｉと端末ｊ間の認証後のデータ通信において、
前記端末ｉは、
自身の通信暗号キーＫｃ＿ｉ＿ｊによりデータを暗号化して前記端末ｊへ送信し、
前記端末ｊから受信した暗号化されたデータを前記端末ｊの通信暗号キーＫｃ＿ｊ＿ｉにより解読する、
ことを特徴とする請求項３から請求項５のいずれかの項に記載の端末間の相互認証方法。
【請求項７】
前記端末ｉの通信暗号キーＫｃ＿ｉ＿ｊと前記端末ｊの通信暗号キーＫｃ＿ｊ＿ｉは同一である、
ことを特徴とする請求項３から請求項６のいずれかの項に記載の端末間の相互認証方法。
【請求項８】
Ｍ個の端末からなり、前記端末ｉ（１≦ｉ≦Ｍ）と端末ｊ（１≦ｊ≦Ｍ）間でデータ通信を行う前に互いに認証を行う通信システムに用いられる端末であって、
キー暗号キーＫｇにより暗号化された暗号文を解読可能なキー解読キーＫＧと、
前記キー暗号キーＫｇにより自身の端末識別子ＩＤ＿ｉ及び暗号キーＫａ＿ｉを暗号化した認証キーＫＢ＿ｉと、
前記暗号キーＫａ＿ｉにより暗号化された暗号文を解読可能な自身の解読キーＫＡ＿ｉと、
端末ｊの端末識別子ＩＤ＿ｊとを記憶する記憶手段と、
前記端末ｊから、前記キー暗号キーＫｇにより該端末ｊの端末識別子ＩＤ＿ｊ及び暗号キーＫａ＿ｊを暗号化した前記認証キーＫＢ＿ｊを受信する認証キー受信手段と、
受信した前記認証キーＫＢ＿ｊを内部に記憶している前記キー解読キーＫＧにより解読して端末ｊの端末識別子ＩＤ＿ｊ及び暗号キーＫａ＿ｊを取得する認証キー解読手段と、
取得した前記端末ｊの端末識別子ＩＤ＿ｊが、自身が内部に記憶している端末ｊの端末識別子ＩＤ＿ｊと一致するか否かにより正当性を確認し、正当性を確認した場合に、ランダム値を基に認証試験情報Ｄｃ＿ｉを生成する認証試験情報生成手段と、
生成した前記認証試験情報Ｄｃ＿ｉを、前記認証キーＫＢ＿ｊから取得した前記端末ｊの暗号キーＫａ＿ｊにより暗号化した暗号化認証試験情報Ｅｃ＿ｉを生成する認証試験情報暗号化手段と、
前記端末ｊへ前記暗号化認証試験情報Ｅｃ＿ｉを送信する暗号化認証試験情報送信手段と、
前記端末ｊへ自身の認証キーＫＢ＿ｉを送信する認証キー送信手段と、
前記端末ｊから、該端末ｊがランダム値から生成した認証試験情報Ｄｃ＿ｊを、該端末ｊが内部に記憶しているキー解読キーＫＧにより前記認証キーＫＢ＿ｉを解読して得た暗号キーＫａ＿ｉで暗号化した暗号化認証試験情報Ｅｃ＿ｊを受信する暗号化認証試験情報受信手段と、
受信した暗号化認証試験情報Ｅｃ＿ｊを、内部に記憶している自身の解読キーＫＡ＿ｉにより解読して前記端末ｊの認証試験情報Ｄｃ＿ｊを取得する暗号化認証試験情報解読手段と、
取得した前記端末ｊの認証試験情報Ｄｃ＿ｊを基に認証回答情報Ｄｒ＿ｉを生成する認証回答情報生成手段と、
生成した認証回答情報Ｄｒ＿ｉを、前記認証キーＫＢ＿ｊから取得した前記端末ｊの暗号キーＫａ＿ｊにより暗号化した暗号化認証回答情報Ｅｒ＿ｉを生成する認証回答情報暗号化手段と、
前記端末ｊへ前記暗号化認証回答情報Ｅｒ＿ｉを送信する暗号化認証回答情報送信手段と、
送信した前記暗号化認証試験情報Ｅｃ＿ｉに対応して、前記端末ｊから、該端末ｊが生成した認証回答情報Ｄｒ＿ｊを端末ｉの暗号キーＫａ＿ｉで暗号化した暗号化認証回答情報Ｅｒ＿ｊを受信する暗号化認証回答情報受信手段と、
受信した暗号化認証回答情報Ｅｒ＿ｊを内部に記憶している自身の解読キーＫＡ＿ｉにより解読して前記端末ｊの認証回答情報Ｄｒ＿ｊを取得する暗号化認証回答情報解読手段と、
取得した認証回答情報Ｄｒ＿ｊから得た認証試験情報Ｄｃ＿ｉが、自身が生成した認証試験情報Ｄｃ＿ｉと一致するか否かにより前記端末ｊを認証する端末認証手段と、
を備えることを特徴とする端末。
【請求項９】
前記通信システムは、さらに、キー管理機からなり、
前記端末は、前記キー管理機から受信したキー解読キーＫＧと、自身の暗号キーＫａ＿ｉ及び認証キーＫＢ＿ｉとを前記記憶手段に書き込むキー受領手段をさらに備える、
ことを特徴とする請求項８に記載の端末。
【請求項１０】
Ｍ個の端末からなり、前記端末ｉ（１≦ｉ≦Ｍ）と端末ｊ（１≦ｊ≦Ｍ）間でデータ通信を行う前に互いに認証を行う通信システムに用いられる端末のコンピュータプログラムであって、
キー暗号キーＫｇにより暗号化された暗号文を解読可能なキー解読キーＫＧと、
前記キー暗号キーＫｇにより自身の端末識別子ＩＤ＿ｉ及び暗号キーＫａ＿ｉを暗号化した認証キーＫＢ＿ｉと、
前記暗号キーＫａ＿ｉにより暗号化された暗号文を解読可能な自身の解読キーＫＡ＿ｉと、
端末ｊの端末識別子ＩＤ＿ｊとを記憶するステップと、
前記端末ｊから、前記キー暗号キーＫｇにより該端末ｊの端末識別子ＩＤ＿ｊ及び暗号キーＫａ＿ｊを暗号化した前記認証キーＫＢ＿ｊを受信するステップと、
受信した前記認証キーＫＢ＿ｊを内部に記憶している前記キー解読キーＫＧにより解読して端末ｊの端末識別子ＩＤ＿ｊ及び暗号キーＫａ＿ｊを取得するステップと、
取得した前記端末ｊの端末識別子ＩＤ＿ｊが、自身が内部に記憶している端末ｊの端末識別子ＩＤ＿ｊと一致するか否かにより正当性を確認するステップと、
正当性を確認した場合に、ランダム値を基に認証試験情報Ｄｃ＿ｉを生成するステップと、
生成した前記認証試験情報Ｄｃ＿ｉを、前記認証キーＫＢ＿ｊから取得した前記端末ｊの暗号キーＫａ＿ｊにより暗号化した暗号化認証試験情報Ｅｃ＿ｉを生成して前記端末ｊへ送信するステップと、
前記端末ｊへ自身の認証キーＫＢ＿ｉを送信するステップと、
前記端末ｊから、該端末ｊがランダム値から生成した認証試験情報Ｄｃ＿ｊを、該端末ｊが内部に記憶しているキー解読キーＫＧにより前記認証キーＫＢ＿ｉを解読して得た暗号キーＫａ＿ｉで暗号化した暗号化認証試験情報Ｅｃ＿ｊを受信するステップと、
受信した暗号化認証試験情報Ｅｃ＿ｊを、内部に記憶している自身の解読キーＫＡ＿ｉにより解読して前記端末ｊの認証試験情報Ｄｃ＿ｊを取得するステップと、
取得した前記端末ｊの認証試験情報Ｄｃ＿ｊを基に認証回答情報Ｄｒ＿ｉを生成するステップと、
生成した認証回答情報Ｄｒ＿ｉを、前記認証キーＫＢ＿ｊから取得した前記端末ｊの暗号キーＫａ＿ｊにより暗号化した暗号化認証回答情報Ｅｒ＿ｉを生成して前記端末ｊへ送信するステップと、
送信した前記暗号化認証試験情報Ｅｃ＿ｉに対応して、前記端末ｊから、該端末ｊが生成した認証回答情報Ｄｒ＿ｊを端末ｉの暗号キーＫａ＿ｉで暗号化した暗号化認証回答情報Ｅｒ＿ｊを受信するステップと、
受信した暗号化認証回答情報Ｅｒ＿ｊを内部に記憶している自身の解読キーＫＡ＿ｉにより解読して前記端末ｊの認証回答情報Ｄｒ＿ｊを取得するステップと、
取得した認証回答情報Ｄｒ＿ｊから得た認証試験情報Ｄｃ＿ｉが、自身が生成した認証試験情報Ｄｃ＿ｉと一致するか否かにより前記端末ｊを認証するステップと、
をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線ＬＡＮ（Local Area Network）通信やインターネット等の端末間の通信のように、通信中の信号を第３者が傍受可能であり、第３者が端末に対して信号を送信可能な端末間の通信において、第３者が端末に成りすますことを防止し、端末間のデータを第３者が傍受することを防止することができる端末間の相互認証方法及び端末に関し、特に、多数の端末に対して認証を行う場合の、認証に要する時間を短縮可能な、端末間の相互認証方法及び端末に関する。
【背景技術】
【０００２】
従来の技術として、例えば、特許文献１には、以下が開示されている。センタ局を設け、センタ局が移動機（端末）と基地局（端末）間の鍵（キー）の管理を行う。移動機（端末）と基地局（端末）間の通信に先立って、センタ局が移動機（端末）に応じて鍵を基地局（端末）に渡す。これにより、第３者が基地局（端末）や移動機（端末）に成りすますことを防止し、基地局（端末）と移動機（端末）間の通信データを第３者が傍受することを防止している。
この場合、センタ局は、ホームメモリ装置に移動機（端末）のＩＤと鍵との対応を用意しておき、移動機（端末）と基地局（端末）間の通信を開始する前に、移動機（端末）に応じた鍵を検索し基地局（端末）にその鍵を渡していた。
【特許文献１】特許第２８９３７７５号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１に開示された発明では、移動機（端末）が多数あるとき、移動機（端末）のＩＤから対応する鍵を検索し基地局（端末）に通知するため、センタ局の負荷が増大し、移動機（端末）と基地局（端末）間の通信を開始するまでの時間が長くなり、迅速な通信開始ができないという問題があった。
【０００４】
本発明はこのような問題を解決するためになされたもので、その目的は、端末間の認証を短時間に終了し、迅速に通信を開始することのできる、端末間の相互認証方法及び端末を提供することにある。
【課題を解決するための手段】
【０００５】
この発明は、上記の課題を解決すべくなされたもので、請求項１に記載の発明は、Ｍ個の端末からなる通信システムにおいて、前記端末ｉ（１≦ｉ≦Ｍ）と端末ｊ（１≦ｊ≦Ｍ）間でデータ通信を行う前に互いに認証を行うための端末間の相互認証方法であって、前記端末ｉは、キー暗号キーＫｇにより暗号化された暗号文を解読可能なキー解読キーＫＧと、前記キー暗号キーＫｇにより自身の端末識別子ＩＤ＿ｉ及び暗号キーＫａ＿ｉを暗号化した認証キーＫＢ＿ｉと、前記暗号キーＫａ＿ｉにより暗号化された暗号文を解読可能な自身の解読キーＫＡ＿ｉと、端末ｊの端末識別子ＩＤ＿ｊとを記憶し、前記端末ｊから、前記キー暗号キーＫｇにより該端末ｊの端末識別子ＩＤ＿ｊ及び暗号キーＫａ＿ｊを暗号化した前記認証キーＫＢ＿ｊを受信し、受信した前記認証キーＫＢ＿ｊを内部に記憶している前記キー解読キーＫＧにより解読して端末ｊの端末識別子ＩＤ＿ｊ及び暗号キーＫａ＿ｊを取得し、取得した前記端末ｊの端末識別子ＩＤ＿ｊが、自身が内部に記憶している端末ｊの端末識別子ＩＤ＿ｊと一致するか否かにより正当性を確認し、正当性を確認した場合に、ランダム値を基に認証試験情報Ｄｃ＿ｉを生成し、生成した前記認証試験情報Ｄｃ＿ｉを、前記認証キーＫＢ＿ｊから取得した前記端末ｊの暗号キーＫａ＿ｊにより暗号化した暗号化認証試験情報Ｅｃ＿ｉを生成して前記端末ｊへ送信する一方、端末ｊへ自身の認証キーＫＢ＿ｉを送信し、前記端末ｊから、該端末ｊがランダム値から生成した認証試験情報Ｄｃ＿ｊを、該端末ｊが内部に記憶しているキー解読キーＫＧにより前記認証キーＫＢ＿ｉを解読して得た暗号キーＫａ＿ｉで暗号化した暗号化認証試験情報Ｅｃ＿ｊを受信し、受信した暗号化認証試験情報Ｅｃ＿ｊを、内部に記憶している自身の解読キーＫＡ＿ｉにより解読して前記端末ｊの認証試験情報Ｄｃ＿ｊを取得し、取得した前記端末ｊの認証試験情報Ｄｃ＿ｊを基に認証回答情報Ｄｒ＿ｉを生成し、生成した認証回答情報Ｄｒ＿ｉを、前記認証キーＫＢ＿ｊから取得した前記端末ｊの暗号キーＫａ＿ｊにより暗号化した暗号化認証回答情報Ｅｒ＿ｉを生成して前記端末ｊへ送信し、さらに、送信した前記暗号化認証試験情報Ｅｃ＿ｉに対応して、前記端末ｊから、該端末ｊが生成した認証回答情報Ｄｒ＿ｊを端末ｉの暗号キーＫａ＿ｉで暗号化した暗号化認証回答情報Ｅｒ＿ｊを受信し、受信した暗号化認証回答情報Ｅｒ＿ｊを内部に記憶している自身の解読キーＫＡ＿ｉにより解読して前記端末ｊの認証回答情報Ｄｒ＿ｊを取得し、取得した認証回答情報Ｄｒ＿ｊから得た認証試験情報Ｄｃ＿ｉが、自身が生成した認証試験情報Ｄｃ＿ｉと一致するか否かにより前記端末ｊを認証する、ことを特徴とする端末間の相互認証方法である。
【０００６】
請求項２に記載の発明は、Ｍ個の端末からなる通信システムにおいて、前記端末ｉ（１≦ｉ≦Ｍ）と端末ｊ（１≦ｊ≦Ｍ）間でデータ通信を行う前に互いに認証を行うための端末間の相互認証方法であって、前記端末ｉは、キー暗号キーＫｇにより暗号化された暗号文を解読可能なキー解読キーＫＧと、前記キー暗号キーＫｇにより自身の端末識別子ＩＤ＿ｉ及び暗号キーＫａ＿ｉを暗号化した認証キーＫＢ＿ｉと、前記暗号キーＫａ＿ｉにより暗号化された暗号文を解読可能な自身の解読キーＫＡ＿ｉと、端末ｊの端末識別子ＩＤ＿ｊとを記憶し、前記端末ｊは、前記キー解読キーＫＧと、前記キー暗号キーＫｇにより自身の端末識別子ＩＤ＿ｊ及び暗号キーＫａ＿ｊを暗号化した認証キーＫＢ＿ｊと、前記暗号キーＫａ＿ｊにより暗号化された暗号文を解読可能な自身の解読キーＫＡ＿ｊと、前記端末ｉの端末識別子ＩＤ＿ｉとを記憶し、前記端末ｉは、前記端末ｊへ自身の認証キーＫＢ＿ｉを通知し、前記端末ｊは、前記端末ｉから前記認証キーＫＢ＿ｉを受信し、内部に記憶している前記キー解読キーＫＧにより解読して前記端末ｉの端末識別子ＩＤ＿ｉ及び暗号キーＫａ＿ｉを取得し、取得した前記端末ｉの端末識別子ＩＤ＿ｉが、自身が内部に記憶している端末ｉの端末識別子ＩＤ＿ｉと一致するか否かにより正当性を確認し、正当性を確認した場合に、ランダム値を基に認証試験情報Ｄｃ＿ｊを生成し、生成した認証試験情報Ｄｃ＿ｊを、前記認証キーＫＢ＿ｉから取得した前記端末ｉの暗号キーＫａ＿ｉにより暗号化した暗号化認証試験情報Ｅｃ＿ｊを生成して前記端末ｉへ送信する一方、前記端末ｉへ自身の認証キーＫＢ＿ｊを通知し、前記端末ｉは、前記端末ｊから前記認証キーＫＢ＿ｊを受信し、内部に記憶している前記キー解読キーＫＧにより解読して前記端末ｊの端末識別子ＩＤ＿ｊ及び暗号キーＫａ＿ｊを取得し、取得した前記端末ｊの端末識別子ＩＤ＿ｊが、自身が内部に記憶している端末ｊの端末識別子ＩＤ＿ｊと一致するか否かにより正当性を確認し、正当性を確認した場合に、ランダム値を基に認証試験情報Ｄｃ＿ｉを生成し、生成した認証試験情報Ｄｃ＿ｉを、前記認証キーＫＢ＿ｊから取得した前記端末ｊの暗号キーＫａ＿ｊにより暗号化した暗号化認証試験情報Ｅｃ＿ｉを生成して前記端末ｊへ送信し、さらに、前記端末ｊから暗号化認証試験情報Ｅｃ＿ｊを受信し、内部に記憶している自身の解読キーＫＡ＿ｉにより解読して前記端末ｊの認証試験情報Ｄｃ＿ｊを取得し、取得した前記端末ｊの認証試験情報Ｄｃ＿ｊを基に認証回答情報Ｄｒ＿ｉを生成し、生成した認証回答情報Ｄｒ＿ｉを、前記認証キーＫＢ＿ｊから取得した前記端末ｊの暗号キーＫａ＿ｊにより暗号化した暗号化認証回答情報Ｅｒ＿ｉを生成して前記端末ｊへ送信し、前記端末ｊは、前記端末ｉから暗号化認証試験情報Ｅｃ＿ｉを受信し、内部に記憶している自身の解読キーＫＡ＿ｊにより解読して前記端末ｉの認証試験情報Ｄｃ＿ｉを取得し、取得した前記端末ｉの認証試験情報Ｄｃ＿ｉを基に認証回答情報Ｄｒ＿ｊを生成し、生成した認証回答情報Ｄｒ＿ｊを、前記認証キーＫＢ＿ｉから取得した前記端末ｉの暗号キーＫａ＿ｉにより暗号化した暗号化認証回答情報Ｅｒ＿ｊを生成して前記端末ｉへ送信する一方、前記端末ｉから暗号化認証回答情報Ｅｒ＿ｉを受信し、内部に記憶している自身の解読キーＫＡ＿ｊにより解読して前記端末ｉの認証回答情報Ｄｒ＿ｉを取得し、取得した認証回答情報Ｄｒ＿ｉから得た認証試験情報Ｄｃ＿ｊが、自身が生成した認証試験情報Ｄｃ＿ｊと一致するか否かにより前記端末ｉを認証し、前記端末ｉは、前記端末ｊから暗号化認証回答情報Ｅｒ＿ｊを受信し、内部に記憶している自身の解読キーＫＡ＿ｉにより解読して前記端末ｊの認証回答情報Ｄｒ＿ｊを取得し、取得した認証回答情報Ｄｒ＿ｊから得た認証試験情報Ｄｃ＿ｉが、自身が生成した認証試験情報Ｄｃ＿ｉと一致するか否かにより前記端末ｊを認証する、ことを特徴とする端末間の相互認証方法である。
【０００７】
請求項３に記載の発明は、Ｍ個の端末からなる通信システムにおいて、前記端末ｉ（１≦ｉ≦Ｍ）と端末ｊ（１≦ｊ≦Ｍ）間でデータ通信を行う前に互いに認証を行うための端末間の相互認証方法であって、前記端末ｉは、キー暗号キーＫｇにより暗号化された暗号文を解読可能なキー解読キーＫＧと、前記キー暗号キーＫｇにより自身の端末識別子ＩＤ＿ｉ及び暗号キーＫａ＿ｉを暗号化した認証キーＫＢ＿ｉと、前記暗号キーＫａ＿ｉにより暗号化された暗号文を解読可能な自身の解読キーＫＡ＿ｉとを記憶し、端末ｊの端末識別子ＩＤ＿ｊを受けて内部に書き込み、端末ｊへ自身の認証キーＫＢ＿ｉを含む認証要求信号Ｓａ＿ｉを送信して受信待ち状態に遷移し、受信待ち状態において、前記端末ｊから、前記キー暗号キーＫｇにより該端末ｊの端末識別子ＩＤ＿ｊ及び暗号キーＫａ＿ｊを暗号化した前記認証キーＫＢ＿ｊを含む認証要求信号Ｓａ＿ｊを受信したとき、認証要求信号Ｓａ＿ｊを受信可能であるか否かの所定の認証要求信号受信判断を行い、認証要求信号受信判断がＯＫの場合は、受信した認証要求信号Ｓａ＿ｊ内の認証キーＫＢ＿ｊを内部に記憶している前記キー解読キーＫＧにより解読して端末ｊの端末識別子ＩＤ＿ｊ及び暗号キーＫａ＿ｊを取得し、取得した前記端末ｊの端末識別子ＩＤ＿ｊが、自身が内部に記憶している端末ｊの端末識別子ＩＤ＿ｊと一致するか否かにより正当性を確認し、正当性を確認した場合に、ランダム値を基に認証試験情報Ｄｃ＿ｉを生成し、生成した前記認証試験情報Ｄｃ＿ｉを、前記認証キーＫＢ＿ｊから取得した前記端末ｊの暗号キーＫａ＿ｊにより暗号化した暗号化認証試験情報Ｅｃ＿ｉを生成し、生成した前記暗号化認証試験情報Ｅｃ＿ｉを含む認証試験信号Ｓｃ＿ｉを前記端末ｊへ送信し、端末ｊから、該端末ｊが生成した暗号化認証試験情報Ｅｃ＿ｊを含む認証試験信号Ｓｃ＿ｊを受信済みであれば、内部に記憶している自身の解読キーＫＡ＿ｉにより前記暗号化認証試験情報Ｅｃ＿ｊを解読して得た端末ｊの認証試験情報Ｄｃ＿ｊから生成した認証回答情報Ｄｒ＿ｉを、前記認証キーＫＢ＿ｊから取得した前記端末ｊの暗号キーＫａ＿ｊにより暗号化した暗号化認証回答情報Ｅｒ＿ｉを含む暗号化認証回答信号Ｓｒ＿ｉを前記端末ｊへ送信し、受信待ち状態に遷移し、認証要求信号受信判断がＮＧの場合は、受信待ち状態に遷移するか認証処理を終了し、受信待ち状態において、端末ｊから、該端末ｊが生成した暗号化認証試験情報Ｅｃ＿ｊを含む認証試験信号Ｓｃ＿ｊを受信したとき、認証試験信号Ｓｃ＿ｊを受信可能であるか否かの所定の認証試験信号受信判断を行い、認証試験信号受信判断がＯＫの場合は、前記認証試験信号Ｓｃ＿ｊ内の暗号化認証試験情報Ｅｃ＿ｊを、内部に記憶している自身の解読キーＫＡ＿ｉにより解読して前記端末ｊの認証試験情報Ｄｃ＿ｊを取得し、端末ｊから認証要求信号Ｓａ＿ｊを受信済みであれば、取得した前記端末ｊの認証試験情報Ｄｃ＿ｊを基に生成した認証回答情報Ｄｒ＿ｉを、前記認証キーＫＢ＿ｊから取得した前記端末ｊの暗号キーＫａ＿ｊにより暗号化した暗号化認証回答情報Ｅｒ＿ｉを含む暗号化認証回答信号Ｓｒ＿ｉを前記端末ｊへ送信し、受信待ち状態に遷移し、認証試験信号受信判断がＮＧの場合は、受信待ち状態に遷移するか認証処理を終了し、受信待ち状態において、端末ｊから、該端末ｊが生成した認証回答情報Ｄｒ＿ｊを端末ｉの暗号キーＫａ＿ｉで暗号化した暗号化認証回答情報Ｅｒ＿ｊが含まれる認証回答信号Ｓｒ＿ｊを受信したとき、認証回答信号Ｓｒ＿ｊを受信可能であるか否かの所定の認証回答信号受信判断を行い、認証回答信号受信判断がＯＫの場合は、受信した認証回答信号Ｓｒ＿ｊ内の暗号化認証回答情報Ｅｒ＿ｊを内部に記憶している自身の解読キーＫＡ＿ｉにより解読して前記端末ｊの認証回答情報Ｄｒ＿ｊを取得し、取得した認証回答情報Ｄｒ＿ｊから得た認証試験情報Ｄｃ＿ｉが、自身が生成した認証試験情報Ｄｃ＿ｉと一致するか否かにより前記端末ｊを認証し、認証回答信号受信判断がＮＧの場合は、受信待ち状態に遷移するか認証処理を終了する、ことを特徴とする端末間の相互認証方法である。
【０００８】
請求項４に記載の発明は、請求項３に記載の端末間の相互認証方法であって、前記通信システムは、さらに、キー管理機からなり、前記キー管理機は、キー暗号キーＫｇ及びキー解読キーＫＧと、それぞれの端末ｋ（１≦ｋ≦Ｍ）に対応した暗号キーＫａ＿ｋとを生成し、それぞれの端末ｋに対応した前記暗号キーＫａ＿ｋ及び端末識別子ＩＤ＿ｋを前記キー暗号キーＫｇにより暗号化してそれぞれの端末ｋに対応した認証キーＫＢ＿ｋを生成し、前記端末ｋに前記キー解読キーＫＧと、該端末ｋに対応した前記暗号キーＫａ＿ｋ及び認証キーＫＢ＿ｋとを配布し、前記端末ｋは、前記キー管理機から受信したキー解読キーＫＧと、自身の暗号キーＫａ＿ｋ及び認証キーＫＢ＿ｋとを内部に記憶する、ことを特徴とする。
【０００９】
請求項５に記載の発明は、請求項３または請求項４に記載の端末間の相互認証方法であって、前記端末ｉは、生成の度に異なる自身の通信暗号キーＫｃ＿ｉ＿ｊを生成し、該通信暗号キーＫｃ＿ｉ＿ｊを含んだ認証試験情報Ｄｃ＿ｉまたは認証回答情報Ｄｒ＿ｉを生成し、前記端末ｊの認証試験情報Ｄｃ＿ｊまたは認証回答情報Ｄｒ＿ｊから、該端末ｊの通信暗号キーＫｃ＿ｊ＿ｉを取得する、ことを特徴とする。
【００１０】
請求項６に記載の発明は、請求項３から請求項５のいずれかの項に記載の端末間の相互認証方法であって、前記端末ｉと端末ｊ間の認証後のデータ通信において、前記端末ｉは、自身の通信暗号キーＫｃ＿ｉ＿ｊによりデータを暗号化して前記端末ｊへ送信し、前記端末ｊから受信した暗号化されたデータを前記端末ｊの通信暗号キーＫｃ＿ｊ＿ｉにより解読する、ことを特徴とする。
【００１１】
請求項７に記載の発明は、請求項３から請求項６のいずれかの項に記載の端末間の相互認証方法であって、前記端末ｉの通信暗号キーＫｃ＿ｉ＿ｊと前記端末ｊの通信暗号キーＫｃ＿ｊ＿ｉは同一である、ことを特徴とする。
【００１２】
請求項８に記載の発明は、Ｍ個の端末からなり、前記端末ｉ（１≦ｉ≦Ｍ）と端末ｊ（１≦ｊ≦Ｍ）間でデータ通信を行う前に互いに認証を行う通信システムに用いられる端末であって、キー暗号キーＫｇにより暗号化された暗号文を解読可能なキー解読キーＫＧと、前記キー暗号キーＫｇにより自身の端末識別子ＩＤ＿ｉ及び暗号キーＫａ＿ｉを暗号化した認証キーＫＢ＿ｉと、前記暗号キーＫａ＿ｉにより暗号化された暗号文を解読可能な自身の解読キーＫＡ＿ｉと、端末ｊの端末識別子ＩＤ＿ｊとを記憶する記憶手段と、前記端末ｊから、前記キー暗号キーＫｇにより該端末ｊの端末識別子ＩＤ＿ｊ及び暗号キーＫａ＿ｊを暗号化した前記認証キーＫＢ＿ｊを受信する認証キー受信手段と、受信した前記認証キーＫＢ＿ｊを内部に記憶している前記キー解読キーＫＧにより解読して端末ｊの端末識別子ＩＤ＿ｊ及び暗号キーＫａ＿ｊを取得する認証キー解読手段と、取得した前記端末ｊの端末識別子ＩＤ＿ｊが、自身が内部に記憶している端末ｊの端末識別子ＩＤ＿ｊと一致するか否かにより正当性を確認し、正当性を確認した場合に、ランダム値を基に認証試験情報Ｄｃ＿ｉを生成する認証試験情報生成手段と、生成した前記認証試験情報Ｄｃ＿ｉを、前記認証キーＫＢ＿ｊから取得した前記端末ｊの暗号キーＫａ＿ｊにより暗号化した暗号化認証試験情報Ｅｃ＿ｉを生成する認証試験情報暗号化手段と、前記端末ｊへ前記暗号化認証試験情報Ｅｃ＿ｉを送信する暗号化認証試験情報送信手段と、前記端末ｊへ自身の認証キーＫＢ＿ｉを送信する認証キー送信手段と、前記端末ｊから、該端末ｊがランダム値から生成した認証試験情報Ｄｃ＿ｊを、該端末ｊが内部に記憶しているキー解読キーＫＧにより前記認証キーＫＢ＿ｉを解読して得た暗号キーＫａ＿ｉで暗号化した暗号化認証試験情報Ｅｃ＿ｊを受信する暗号化認証試験情報受信手段と、受信した暗号化認証試験情報Ｅｃ＿ｊを、内部に記憶している自身の解読キーＫＡ＿ｉにより解読して前記端末ｊの認証試験情報Ｄｃ＿ｊを取得する暗号化認証試験情報解読手段と、取得した前記端末ｊの認証試験情報Ｄｃ＿ｊを基に認証回答情報Ｄｒ＿ｉを生成する認証回答情報生成手段と、生成した認証回答情報Ｄｒ＿ｉを、前記認証キーＫＢ＿ｊから取得した前記端末ｊの暗号キーＫａ＿ｊにより暗号化した暗号化認証回答情報Ｅｒ＿ｉを生成する認証回答情報暗号化手段と、前記端末ｊへ前記暗号化認証回答情報Ｅｒ＿ｉを送信する暗号化認証回答情報送信手段と、送信した前記暗号化認証試験情報Ｅｃ＿ｉに対応して、前記端末ｊから、該端末ｊが生成した認証回答情報Ｄｒ＿ｊを端末ｉの暗号キーＫａ＿ｉで暗号化した暗号化認証回答情報Ｅｒ＿ｊを受信する暗号化認証回答情報受信手段と、受信した暗号化認証回答情報Ｅｒ＿ｊを内部に記憶している自身の解読キーＫＡ＿ｉにより解読して前記端末ｊの認証回答情報Ｄｒ＿ｊを取得する暗号化認証回答情報解読手段と、取得した認証回答情報Ｄｒ＿ｊから得た認証試験情報Ｄｃ＿ｉが、自身が生成した認証試験情報Ｄｃ＿ｉと一致するか否かにより前記端末ｊを認証する端末認証手段と、を備えることを特徴とする端末である。
【００１３】
請求項９に記載の発明は、請求項８に記載の端末であって、前記通信システムは、さらに、キー管理機からなり、前記端末は、前記キー管理機から受信したキー解読キーＫＧと、自身の暗号キーＫａ＿ｉ及び認証キーＫＢ＿ｉとを前記記憶手段に書き込むキー受領手段をさらに備える、ことを特徴とする。
【００１４】
請求項１０に記載の発明は、Ｍ個の端末からなり、前記端末ｉ（１≦ｉ≦Ｍ）と端末ｊ（１≦ｊ≦Ｍ）間でデータ通信を行う前に互いに認証を行う通信システムに用いられる端末のコンピュータプログラムであって、キー暗号キーＫｇにより暗号化された暗号文を解読可能なキー解読キーＫＧと、前記キー暗号キーＫｇにより自身の端末識別子ＩＤ＿ｉ及び暗号キーＫａ＿ｉを暗号化した認証キーＫＢ＿ｉと、前記暗号キーＫａ＿ｉにより暗号化された暗号文を解読可能な自身の解読キーＫＡ＿ｉと、端末ｊの端末識別子ＩＤ＿ｊとを記憶するステップと、前記端末ｊから、前記キー暗号キーＫｇにより該端末ｊの端末識別子ＩＤ＿ｊ及び暗号キーＫａ＿ｊを暗号化した前記認証キーＫＢ＿ｊを受信するステップと、受信した前記認証キーＫＢ＿ｊを内部に記憶している前記キー解読キーＫＧにより解読して端末ｊの端末識別子ＩＤ＿ｊ及び暗号キーＫａ＿ｊを取得するステップと、取得した前記端末ｊの端末識別子ＩＤ＿ｊが、自身が内部に記憶している端末ｊの端末識別子ＩＤ＿ｊと一致するか否かにより正当性を確認するステップと、正当性を確認した場合に、ランダム値を基に認証試験情報Ｄｃ＿ｉを生成するステップと、生成した前記認証試験情報Ｄｃ＿ｉを、前記認証キーＫＢ＿ｊから取得した前記端末ｊの暗号キーＫａ＿ｊにより暗号化した暗号化認証試験情報Ｅｃ＿ｉを生成して前記端末ｊへ送信するステップと、前記端末ｊへ自身の認証キーＫＢ＿ｉを送信するステップと、前記端末ｊから、該端末ｊがランダム値から生成した認証試験情報Ｄｃ＿ｊを、該端末ｊが内部に記憶しているキー解読キーＫＧにより前記認証キーＫＢ＿ｉを解読して得た暗号キーＫａ＿ｉで暗号化した暗号化認証試験情報Ｅｃ＿ｊを受信するステップと、受信した暗号化認証試験情報Ｅｃ＿ｊを、内部に記憶している自身の解読キーＫＡ＿ｉにより解読して前記端末ｊの認証試験情報Ｄｃ＿ｊを取得するステップと、取得した前記端末ｊの認証試験情報Ｄｃ＿ｊを基に認証回答情報Ｄｒ＿ｉを生成するステップと、生成した認証回答情報Ｄｒ＿ｉを、前記認証キーＫＢ＿ｊから取得した前記端末ｊの暗号キーＫａ＿ｊにより暗号化した暗号化認証回答情報Ｅｒ＿ｉを生成して前記端末ｊへ送信するステップと、送信した前記暗号化認証試験情報Ｅｃ＿ｉに対応して、前記端末ｊから、該端末ｊが生成した認証回答情報Ｄｒ＿ｊを端末ｉの暗号キーＫａ＿ｉで暗号化した暗号化認証回答情報Ｅｒ＿ｊを受信するステップと、受信した暗号化認証回答情報Ｅｒ＿ｊを内部に記憶している自身の解読キーＫＡ＿ｉにより解読して前記端末ｊの認証回答情報Ｄｒ＿ｊを取得するステップと、取得した認証回答情報Ｄｒ＿ｊから得た認証試験情報Ｄｃ＿ｉが、自身が生成した認証試験情報Ｄｃ＿ｉと一致するか否かにより前記端末ｊを認証するステップと、をコンピュータに実行させることを特徴とするコンピュータプログラムである。
【発明の効果】
【００１５】
本発明によれば、キー解読キーを知らない第３者は、認証キーから暗号キーを知ることはできない。そして、端未間ではこの暗号キーにより暗号化された通信を行うため、第３者に通信の内容を傍受されない。すなわち、第３者がある端末になりすまそうとしても、通信先の端末からの暗号キーを使って暗号化された通信に対して正しく応答することができないため、この端末になりすますことはできない。また、第３者が通信先の端末になりすまそうとしても、キー暗号キーを知らないため、認証キーと解読キーの組み合わせを作ることができず、通信先の端末に成りすますことはできない。
このように、第３者が端末に成りすますことを防止し、端末間のデータを第３者が傍受することを防止することができる。加えて、端末間の通信開始の度に、端末の識別子から暗号キーを検索することが不要となり、多数の端末に対して認証を行う場合にも、認証に要する時間を短縮することができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照し、この発明の実施の形態について説明する。
図１は、本発明の相互認証方法を適用した第一実施例の無線通信システムの構成を示す図である。同図において、無線通信システムは、複数の端末ｋ（１≦ｋ≦Ｍ）と、キー管理機２０とから構成される。
【００１７】
ここでは、まず、キー管理機２０が、キー解読キーＫＧと、各端末ｋの解読キーＫＡ＿ｋ及び認証キーＫＢ＿ｋとを生成する（ステップＳ１）。そして、それぞれの端末ｋへ、生成したキー解読キーＫＧと、対応する解読キーＫＡ＿ｋ及び認証キーＫＢ＿ｋとを配布する（ステップＳ２）。
任意の端末ｉ及び端末ｊ（１≦ｉ,ｊ≦Ｍ）との間で無線ＬＡＮなどによる通信を行う場合、通信開始前に、キー管理機２０から受信したキーを用いて認証を行う（ステップＳ３）。このとき、端末ｉ及び端末ｊ間は、暗号キーにより暗号化された通信を行うが、センタ局から暗号キーを受け取るのではなく、通信相手の端末から渡された認証キーをキー解読キーＫＧにより解読することにより得る。認証が成功した場合に、これら端末ｉ及び端末ｊ間でデータの送受信が行われる。
【００１８】
図２は、図１のステップＳ１におけるキー管理機２０のキー生成動作のフローチャートである。
ステップＳ１−１において、キー管理機２０は、それぞれの端末ｋに対応して、異なるＭ組の公開鍵暗号キーの組（暗号キーＫａ＿ｋ,解読キーＫＡ＿ｋ，１≦ｋ≦Ｍ）を生成する。この暗号キーＫａ＿ｋと暗号化関数Ｆにより、任意の平文Ｐを暗号文Ｃに暗号化可能であり、また、解読キーＫＡ＿ｋと解読関数Ｆ’により、暗号キーＫａ＿ｋと暗号化関数Ｆで暗号化された暗号文Ｃを平文Ｐに解読可能である。
さらに、キー管理機２０は、公開鍵暗号を用い、秘密キーであるキー暗号キーＫｇと、キー暗号キーＫｇによる暗号文を解読できる公開鍵であるキー解読キーＫＧとを生成し、キー暗号キーＫｇを秘密に保持する。すなわち、キー暗号キーＫｇとキー変換関数Ｇにより、任意の平文Ｐを暗号文Ｃに暗号化可能であり、また、キー解読キーＫＧとキー逆変換関数Ｇ’により、キー暗号キーＫｇとキー変換関数Ｇで暗号化された暗号文Ｃを平文Ｐに解読可能である。
なお、公開鍵暗号には、例えば、ＲＳＡ（Rivest-Shamir-Adleman）や、Ｅｌｇａｍａｌなどが用いられる。
続いて、ステップＳ１−２において、キー管理機２０は、キー暗号キーＫｇを用いて、各端末ｋの端末識別子ＩＤ＿ｋ、及び、この端末ｋに対応する暗号キーＫａ＿ｋからなる情報ｘ＿ｋを暗号化し、認証キーＫＢ＿ｋを生成する。
【００１９】
すなわち、３つのキーの関係は、以下のようになる。
ｘ＿ｋ＝(ＩＤ＿ｋ，Ｋａ＿ｋ）
ＫＢ＿ｋ＝Ｇ（ｘ＿ｋ，Ｋｇ)，  ｘ＿ｋ＝Ｇ’(ＫＢ＿ｋ，ＫＧ)
Ｃ＝Ｆ(Ｐ，Ｋａ＿ｋ)，  Ｐ＝Ｆ’(Ｃ，ＫＡ＿ｋ)
【００２０】
キー管理機２０は、生成したキー解読キーＫＧ、解読キーＫＡ＿ｋ及び認証キーＫＢ＿ｋを、ＰＧＰ（Pretty Good Privacy）などの機密性、完全性、及び、認証が保証される手段により、対応する端末ｋへ配布する。これにより、端末ｋは、それぞれ、自身の端末を識別する端末識別子ＩＤ＿ｋと、キー管理機２０により配布されたキー解読キーＫＧ、解読キーＫＡ＿ｋ、及び、認証キーＫＢ＿ｋとを保持することになる。そして、認証キーＫＢ＿ｋは公開するが、解読キーＫＡ＿ｋは秘密に保持する。すなわち、キー解読キーＫＧ及び解読キーＫＡ＿ｋについては、第三者は知りえない。
【００２１】
続いて、図３及び図４を用いて認証シーケンスを説明する。ここでは、端末ｉと端末ｊとが通信を行うことを想定する。
図３は、認証シーケンスにおける認証要求ステップを示す図である。
最初に、端末ｉと端末ｊは、データ通信に先立ち、お互いの端末識別子ＩＤ＿ｉおよび端末識別子ＩＤ＿ｊを交換しておく。これは、お互いの端末識別子を端末ｉ及び端末ｊに事前登録しておくことでもよいし、端末ｉと端末ｊ間のリンク確立時に交換することでもよい（ステップＳ１０５、ステップＳ１１０）。
【００２２】
続いて、端末ｉと端末ｊとの間の認証要求ステップを実施する。
まず、端末ｉが、認証要求信号Ｓａ＿ｉを端末ｊに送信する（ステップＳ１１５）。この認証要求信号Ｓａ＿ｉには、端末ｉが内部に記憶している認証キーＫＢ＿ｉが含まれる。端末ｊは、認証要求信号Ｓａ＿ｉを受信すると、認証キーＫＢ＿ｉを取り出す（ステップＳ１２０）。そして、自身が保持するキー解読キーＫＧとキー逆変換関数Ｇ’を用い、以下の式により、認証キーＫＢ＿ｉを端末識別子ＩＤ＿ｉと暗号キーＫａ＿ｉへ変換する（ステップＳ１２５）。
(ＩＤ＿ｉ,Ｋａ＿ｉ)＝Ｇ’(ＫＢ＿ｉ,ＫＧ)
【００２３】
端末ｊは、ステップＳ１２５において得られた端末識別子ＩＤ＿ｉと、ステップＳ１１０において予め交換した端末識別子ＩＤ＿ｉとを比較することにより、認証キーＫＢ＿ｉの正当性を確認する（ステップＳ１３０）。一致しない場合、端末ｊは、端末ｉとの接続を許可しない。一致する場合は、端末ｉに認証試験信号Ｓｃ＿ｊを送信するために、認証試験情報Ｄｃ＿ｊを生成する（ステップＳ１３５）。ここでは、認証試験情報Ｄｃ＿ｊは、固定長のランダムパターンであるとする。そして、この生成した認証試験情報Ｄｃ＿ｊを、以下の式により、ステップＳ１２５において得られた暗号キーＫａ＿ｉと暗号化関数Ｆにより暗号化し、暗号化認証試験情報Ｅｃ＿ｊを生成する（ステップＳ１４０）。
Ｅｃ＿ｊ=Ｆ(Ｄｃ＿ｊ,Ｋａ_ｉ)
端末ｊは、生成した暗号化認証試験情報Ｅｃ＿ｊを含む認証試験信号Ｓｃ＿ｊを端末ｉに送信する（ステップＳ１４５）。
【００２４】
端末ｉは、端末ｊから認証試験信号Ｓｃ＿ｊを受信すると、暗号化認証試験情報Ｅｃ＿ｊを取り出す（ステップＳ１５０）。そして、内部に記憶している解読キーＫＡ＿ｉと解読関数Ｆ’を用い、以下の式により、暗号化認証試験情報Ｅｃ＿ｊを解読して、認証試験情報Ｄｃ＿ｊを得る（ステップＳ１５５）。
Ｄｃ＿ｊ=Ｆ’(Ｅｃ＿ｊ,ＫＡ＿ｉ)
この時点で、端末ｉは、端末ｊの認証試験情報Ｄｃ＿ｊを取得し、端末ｊは、端末ｉの暗号キーＫａ＿ｉを取得している。
【００２５】
次に、ステップＳ１１５〜ステップＳ１５５までの処理について、端末ｉと、端末ｊを入れ替えて同様の認証要求ステップを行い、端末ｉは、端末ｊの端末識別子ＩＤ＿ｊ及び暗号キーＫａ＿ｊを取得し（ステップＳ１７５）、端末ｊは、端末ｉが生成した認証試験情報Ｄｃ＿ｉを取得する（ステップＳ１８０、ステップＳ１８５）。
すなわち、２つの認証要求ステップの実行の結果、端末ｉは、認証試験情報Ｄｃ＿ｊ及び暗号キーＫａ＿ｊを、端末ｊは、認証試験情報Ｄｃ＿ｉ及び暗号キーＫａ＿ｉを取得する。
【００２６】
図４は、認証シーケンスにおける認証回答ステップを示す図である。
まず、端末ｉは、予め決められた方式により、図３のステップＳ１５５において取得した認証試験情報Ｄｃ＿ｊを含む認証回答情報Ｄｒ＿ｉを生成する（ステップＳ２１０）。そして、以下の式により、ステップＳ１７５において取得した端末ｊの暗号キーＫａ＿ｊと暗号化関数Ｆとを用いて認証回答情報Ｄｒ＿ｉを暗号化し、暗号化認証回答情報Ｅｒ＿ｉを生成する（ステップＳ２１５）。
Ｅｒ＿ｉ＝Ｆ(Ｄｒ＿ｉ,Ｋａ＿ｊ)
端末ｉは、この生成した暗号化認証回答情報Ｅｒ＿ｉを含む認証回答信号Ｓｒ＿ｉを端末ｊに送信する。
【００２７】
端末ｊは、端末ｉから認証回答信号Ｓｒ＿ｉを受信すると、暗号化認証回答情報Ｅｒ＿ｉを取り出す（ステップＳ２２０）。そして、自身が記憶する解読キーＫＡ＿ｊと解読関数Ｆ’を用いて、以下の式により、取り出した暗号化認証回答情報Ｅｒ＿ｉを解読し、認証回答情報Ｄｒ＿ｉを得る（ステップＳ２２５）。
Ｄｒ＿ｉ＝Ｆ’(Ｅｒ＿ｉ,ＫＡ＿ｊ)
【００２８】
端末ｊは、ステップＳ２２５で得られた認証回答情報Ｄｒ＿ｉから、認証試験情報Ｄｃ＿ｊを取り出す（ステップＳ２３０）。そして、図３のステップＳ１３５において、自らが生成した認証試験情報Ｄｃ＿ｊと、ステップＳ２３０において取り出した認証試験情報Ｄｃ＿ｊとを比較することにより端末ｉを認証する（ステップＳ２３５）。すなわち、自らが生成した認証試験情報Ｄｃ＿ｊと、取り出した認証試験情報Ｄｃ＿ｊが一致しなかったときは、端末ｉとの接続を許可せず、一致したときは、端末ｊによる端末ｉの認証が完了する。
【００２９】
そして、ステップＳ２１０〜ステップＳ２３５までの処理について、端末ｉと、端末ｊを入れ替えて同様の認証回答ステップを行い、端末ｉによる端末ｊの認証が完了する（ステップＳ２６０）。
【００３０】
なお、この認証シーケンスにおいて、２つの認証要求ステップ内の信号の順序は、認証要求信号Ｓａ＿ｉよりも認証試験信号Ｓｃ＿ｊが後であり、認証要求信号Ｓａ＿ｊよりも認証試験信号Ｓｃ＿ｉが後であれば、その順序は問わない。例えば、認証要求信号Ｓａ＿ｉの直後に認証要求信号Ｓａ＿ｊを送信するような認証シーケンスでもよい。
また、２つの認証回答ステップ内の信号の認証回答信号Ｓｒ＿ｉ及び認証回答信号Ｓｒ＿ｊの順序は問わない。つまり、認証回答信号Ｓｒ＿ｊの後に認証回答信号Ｓｒ＿ｉを送信するような認証シーケンスでもよい。
【００３１】
図５は、端末ｋの内部構成を展開して示した図である。端末ｋは、ＣＰＵ（central processing unit）１１と、メモリ１２と、不揮発性メモリ１３と、暗号化手段１４と、解読手段１５と、送受信手段１６と、それらがデータを交換するためのバス１７を備える。
不揮発性メモリ１３は、キー解読キーＫＧと、自身の端末識別子、解読キー、及び、認証キーを記憶する。例えば、端末ｉであれば、キー解読キーＫＧ、端末識別子ＩＤ＿ｉ、解読キーＫＡ＿ｉ、及び、認証キーＫＢ＿ｉを記憶する。
ＣＰＵ１１およびメモリ１２は連携して、認証要求信号送信/受信処理と、認証試験信号送信/受信処理と、認証回答信号送信/受信処理とを含む処理を行う。前記３つの受信処理内で情報の暗号化が必要なとき、ＣＰＵ１１は暗号化手段１４に指示して暗号化を行わせる。また、暗号化された情報の解読が必要なときは、ＣＰＵ１１は解読手段１５に指示し、解読を行わせる。
暗号化手段１４は、相互認証の相手である端末の暗号キーを用いて、認証試験情報を暗号化認証試験情報に暗号化し、また、認証回答情報を暗号化認証回答情報に暗号化する。
解読手段１５は、不揮発性メモリ１３内に記憶している自身の解読キーを用いて、暗号化認証試験情報を認証試験情報に解読し、また、暗号化認証回答情報を認証回答情報に解読する。
送受信手段１６は、ＣＰＵ１１からの命令に基づいて、認証要求信号、認証試験信号、及び、認証回答信号の送受信を行う。
【００３２】
図６は、端末ｋにおける認証処理のフローチャートを示す。
ここでは、図３及び図４の認証シーケンスにおける端末ｉを例にして説明する。なお、この認証処理においては、端末ｉから認証要求信号Ｓａ＿ｉの送信の直後、端末ｊからの認証試験信号Ｓｃ＿ｊの前に、認証要求信号Ｓａ＿ｊを送信する認証シーケンスであるとする。
【００３３】
まず、認証処理の開始にあたり、端末ｉは、相互認証の相手である端末ｊと端末識別子、例えば、ＭＡＣアドレスを交換する（ステップＳ３１０）。端末識別子の交換の終了により、端末ｉは、認証要求信号送信設定処理を行う（ステップＳ３１５）。この認証要求信号送信設定処理において、ＣＰＵ１１は、端末ｊに送信する認証要求信号Ｓａ＿ｉを生成し、送受信手段１６に対して、送信指示を行う。そして、認証要求信号送信設定処理の終了により、端末ｉは、受信待ち状態に遷移する（ステップＳ３２０）。
【００３４】
ステップＳ３２０の接続待ち状態において、端末ｊから認証要求信号Ｓａ＿ｊを受信した場合、認証要求信号受信判断を行う（ステップＳ３２５）。認証要求信号が受信可能である場合は（ステップＳ３２５“ＯＫ”）、認証要求信号受信処理を行い（ステップＳ３３０）、認証要求信号が受信可能ではない場合は（ステップＳ３２５“ＮＧ”）、再びステップＳ３２０の受信待ち状態に遷移する。ここで、ＯＫの条件は、端末ｊから、認証要求信号Ｓａ＿ｊ、認証試験信号Ｓｃ＿ｊ、及び、認証回答信号Ｓｒ＿ｊのいずれもが末受信であって、かつ、端末ｊへ、認証回答信号Ｓｒ＿ｉを送信していないことである。また、ＮＧはこのＯＫの条件を満たさない場合である。
【００３５】
ステップＳ３３０の認証要求信号受信処理では、図３のステップＳ１７５の処理を行い、認証要求信号Ｓａ＿ｊ内の認証キーＫＢ＿ｊから、端末ｊの端末識別子ＩＤ＿ｊ及び暗号キーＫａ＿ｊを取得し、認証する。認証要求信号受信処理が終了すると、認証試験信号送信処理に遷移し、図３のステップＳ１８０に示す様に、固定長のランダムパターンである認証試験情報Ｄｃ＿ｉを暗号キーＫａ＿ｊで暗号化して暗号化認証試験情報Ｅｃ＿ｉを生成し、この暗号化認証試験情報Ｅｃ＿ｉ含んだ認証試験信号Ｓｃ＿ｉを端末ｊへ送信する（ステップＳ３３５）。もし、ここで、後述するステップＳ３５５の認証試験信号受信処理が既に行われていれば（ステップＳ３４０“Ｙｅｓ”）、認証回答信号送信処理を行う（ステップＳ３４５）。認証試験信号受信処理がまだ行われていなければ（ステップＳ３４０“Ｎｏ”）、受信待ち状態に遷移する（ステップＳ３２０）。
認証回答信号送信処理においては、図４のステップＳ２１０〜ステップＳ２２０の処理を行い、認証回答信号Ｓｒ＿ｉを端末ｊへ送信し、受信待ち状態に遷移する（ステップＳ３４５）。
【００３６】
また、ステップＳ３２０の受信待ち状態において、端末ｊから認証試験信号Ｓｃ＿ｊを受信すると、認証試験信号受信判断を行う（ステップＳ３５０）。認証試験信号が受信可能である場合は（ステップＳ３５０“ＯＫ”）、認証試験信号受信処理を行い（ステップＳ３５５）、認証試験信号が受信可能ではない場合は（ステップＳ３５０“ＮＧ”）、再びステップＳ３２０の受信待ち状態へ遷移する。この認証試験信号受信判断においては、（１）端末ｊから認証要求信号Ｓａ＿ｊが受信済み、（２）端末ｊから認証試験信号Ｓｃ＿ｊ及び認証回答信号Ｓｒ＿ｊのいずれも未受信、（３）端末ｊへ認証要求信号Ｓａ＿ｉが送信済み、（４）端末ｊへ認証回答信号Ｓｒ＿ｊが末送信の、（１）〜（４）の条件を全て満たす場合にＯＫであると判断する。また、ＮＧは、このＯＫの条件を満たさない場合である。
【００３７】
ステップＳ３５５の認証試験信号受信処理では、図３のステップＳ１５０〜ステップＳ１５５の処理を行う。そして、ステップＳ３３０の認証要求信号受信処理が既に実施済みであるならば（ステップＳ３６０“Ｙｅｓ”）、認証回答信号送信処理を行う（ステップＳ３４５）。認証試験信号受信処理がまだ行われていなければ（ステップＳ３６０“Ｎｏ”）、ステップＳ３２０の受信待ち状態に遷移する。
【００３８】
また、ステップＳ３２０の受信待ち状態において、端末ｊから認証回答信号Ｓｒ＿ｊを受信すると、認証回答信号受信判断を行う（ステップＳ３７０）。認証回答信号が受信可能である場合は（ステップＳ３７０“ＯＫ”）、認証回答信号受信処理を行う（ステップＳ３７５）。また、認証回答信号が受信可能ではない場合は（ステップＳ３７０“ＮＧ”）、ステップＳ３２０の受信待ち状態へ遷移する。認証回答信号受信判断においては、（１）端末ｊから認証要求信号Ｓａ＿ｊ及び認証試験信号Ｓｃ＿ｊの両者とも受信済み、（２）端末ｊから認証回答信号Ｓｒ＿ｊが未受信、（３）端末ｊへ認証要求信号Ｓａ＿ｉ及び認証試験信号Ｓｃ＿ｉのいずれも送信済みの、（１）〜（３）の条件を全て満たす場合にＯＫであるとする。また、ＮＧは、このＯＫの条件を満たさない場合である。
認証回答信号受信処理においては、図４のステップＳ２６０の処理を行う（ステップＳ３７５）。すなわち、認証回答信号Ｓｒ＿ｊ内の暗号化認証回答情報Ｅｒ＿ｊを自身の解読キーＫＡ＿ｉにより解読して認証回答情報Ｄｒ＿ｊを得る。そして、認証回答情報Ｄｒ＿ｊから取り出した認証試験情報Ｄｃ＿ｉと、自らが生成した認証試験情報Ｄｃ＿ｉと比較することにより端末ｊを認証する。
【００３９】
なお、ステップＳ３２０において、認証要求信号Ｓａ＿ｉまたは認証試験信号Ｓｃ＿ｉの送信から一定期間経過しても端末ｊからの信号の受信がない場合、タイムアウトが発生し、認証処理を終了する。
【００４０】
なお、端末ｋに、キー管理機２０から解読キーＫＡ＿ｋ、認証キーＫＢ＿ｋ、及び、キー解読キーＫＧのそれぞれを受信し、不揮発性メモリ１３に書き込む解読キー受領手段、認証キー受領手段、及び、キー解読キー受領手段を備える構成としてもよい。これにより、キー管理機２０に端末ｋを接続することによって、解読キーＫＡ＿ｋ、認証キーＫＢ＿ｋ、及び、キー解読キーＫＧを更新することができる。
また、上述する第一実施例では、認証要求信号受信判断または認証試験信号受信判断または認証回答信号受信判断でＮＧであった場合には、ステップＳ３２０の接続待ち状態に遷移したが、後述する第二の実施の形態のように、認証処理を終了してもよい。
【００４１】
次に、本発明の第二実施例を説明する。第二実施例と、第一実施例の差分は、第二実施例においては、端末認証後のデータ通信のための通信暗号キーを生成し、データ通信にその通信暗号キーを使用する点である。
【００４２】
図７〜図９は、第二実施例のシーケンスである。ここでは、端末ｉと端末ｊとが通信を行うことを想定する。
図７は、通信暗号キーの交換を含む認証シーケンスにおける認証要求ステップを示す図である。
同図において、端末ｉと端末ｊがお互いの端末識別子を交換し、端末ｊが、端末ｉから受信した認証要求信号Ｓａ＿ｉに含まれる認証キーＫＢ＿ｉを解読して得た端末識別子ＩＤ＿ｉにより、正当性を確認するステップＳ５０５〜ステップＳ５３０までの処理は、図３におけるステップＳ１０５〜ステップＳ１３０と同様の処理である。
【００４３】
ここで、端末ｊは、端末ｉとのデータ通信に使用する通信暗号キーＫｃ＿ｊ＿ｉを生成する（ステップＳ５３２）。この通信暗号キーは、トリプルＤＥＳ（Data Encryption Standard）やＡＥＳ（Advanced Encryption Standard）などの共通鍵暗号方式の鍵であり、生成の都度異なる鍵である。そして、固定長のランダムパターンと、生成した通信暗号キーＫｃ＿ｊ＿ｉとを含んだ認証試験情報Ｄｃ＿ｊを生成する（ステップＳ５３５）。
端末ｊが、認証試験情報Ｄｃ＿ｊを暗号化して得た暗号化認証試験情報Ｅｃ＿ｊを含む認証試験信号Ｓｃ＿ｊを端末ｊから端末ｉへ送信し、端末ｉが、この信号から暗号化認証試験情報Ｅｃ＿ｊを解読して認証試験情報Ｄｃ＿ｊを得るステップＳ５４０〜ステップＳ５５５までの処理は、図３におけるステップＳ１４０〜ステップＳ１５５までの処理と同様である。
端末ｉは、解読して得た認証試験情報Ｄｃ＿ｊから、通信暗号キーＫｃ＿ｊ＿ｉを取り出し、内部に記憶する（ステップＳ５６０）。
【００４４】
次に、ステップＳ５１５〜ステップＳ５５５までの処理について、端末ｉと、端末ｊを入れ替えて同様の認証要求ステップを行い、端末ｊの端末識別子ＩＤ＿ｊ及び暗号キーＫａ＿ｊを取得し（ステップＳ５７５）、端末ｊは、端末ｉが生成した認証試験情報Ｄｃ＿ｉを取得し、さらに、通信暗号キーＫｃ＿ｉ＿ｊを得る（ステップＳ５８０、ステップＳ５８５）。
【００４５】
図８は、通信暗号キーの交換を含む認証シーケンスにおける認証回答ステップを示す図である。
同図において、端末ｉが、認証試験情報Ｄｃ＿ｊから生成した認証回答情報Ｄｒ＿ｉを暗号化して得た暗号化認証回答情報Ｅｒ＿ｉを含む認証回答信号Ｓｒ＿ｉを端末ｊに送信し、端末ｊにおいて、暗号化認証回答情報Ｅｒ＿ｉを解読して得た認証回答情報Ｄｒ＿ｉから認証試験情報Ｄｃ＿ｊを取り出し、認証を行うステップＳ６１０〜ステップＳ６３５の処理は、図４におけるステップＳ２１０〜ステップＳ２３５の処理と同様である。また、ステップＳ６１０〜ステップＳ６３５までの処理について、端末ｉと、端末ｊを入れ替えて同様の認証回答ステップを行うことにより、端末ｉによる端末ｊの認証も完了する（ステップＳ６５０）。
【００４６】
図９は、図７及び図８に示す端末相互認証後のデータ通信に対して暗号化を行うシーケンスを示している。
まず、端末ｊから端末ｉへのデータ送信について説明する。
端末ｊは、端末ｉへ送信すべきデータＰｄ＿ｊを生成する（ステップＳ７１０）。そして、図７のステップＳ５３２において生成した通信暗号キーＫｃ＿ｊ＿ｉと暗号化関数Ｈを用い、以下の式により、データＰｄ＿ｊを暗号化して暗号化データＣｄ＿ｊを生成する。暗号化関数Ｈとしては、トリプルＤＥＳやＡＥＳなどの共通鍵暗号方式を用いる。
Ｃｄ＿ｊ＝Ｈ（Ｐｄ＿ｊ，Ｋｃ＿ｊ＿ｉ)
端末ｊは、暗号化データＣｄ＿ｊを含むデータ信号を生成し、端末ｉに送信する（ステップＳ７２０）。
【００４７】
端末ｉは、データ信号を受信すると、暗号化データＣｄ＿ｊを取り出す（ステップＳ７２５）。そして、図７のステップＳ５６０において得た通信暗号キーＫｃ＿ｊ＿ｉと解読関数Ｈ'により、以下の式を用いて暗号化データＣｄ＿ｊからデータＰｄ＿ｊを解読し、受け取る（ステップＳ７３０）。
Ｐｄ＿ｊ＝Ｈ'(Ｃｄ＿ｊ，Ｋｃ＿ｊ＿ｉ)
端末ｉは、このようにして解読されたデータＰｄ＿ｊを受け取る。
【００４８】
また、前記端末ｉから端末ｊへのデータ送信についても同様である。端末ｉは、送信すべきデータＰｄ＿ｉを、自身が生成した通信暗号キーＫｃ＿ｉ＿ｊと暗号化関数Ｈを用い、以下の式により暗号化して暗号化データＣｄ＿ｉを生成する。
Ｃｄ＿ｉ＝Ｈ（Ｐｄ＿ｉ，Ｋｃ＿ｉ＿ｊ)
端末ｉは、暗号化データＣｄ＿ｉを含むデータ信号を生成し、端末ｊに送信する（ステップＳ７６０、ステップＳ７７０）。
端末ｊは、データ信号から暗号化データＣｄ＿ｊを取り出し、図７のステップＳ５８５おいて得た通信暗号キーＫｃ＿ｉ＿ｊと解読関数Ｈ'により、以下の式を用いて暗号化データＣｄ＿ｊからデータＰｄ＿ｊを解読し、受け取る（ステップＳ７７５〜ステップＳ７８５）。
Ｐｄ＿ｉ＝Ｈ'(Ｃｄ＿ｊ，Ｋｃ＿ｉ＿ｊ)
【００４９】
本発明第二実施例においては、認証試験情報に通信暗号キーを含めたが、認証試験情報に含めず、共に暗号化して認証試験信号で送信してもよい。また、認証回答情報に通信暗号キーを含めてもよく、また、認証回答情報に含めず、共に暗号化して認証回答信号で送信してもよい。
また、本発明第二実施例においては、端末ｉから端末ｊへの通信暗号キーをＫｃ＿ｉ＿ｊとし、端末ｊから端末ｉへの通信暗号キーをＫｃ＿ｊ＿ｊとしたが、端末ｊからの認証試験信号を受信して得られる通信暗号キーＫｃ＿ｊ＿ｉを記憶し、端末ｉが端末ｊに送信する認証試験信号にこの通信暗号キーＫｃ＿ｊ＿ｉを含めることによって、端末ｉと端末ｊ間の通信暗号キーをＫｃ＿ｊ＿ｉの１種類にしてもよい。認証回答信号に通信暗号キーＫｃ＿ｉ＿ｊを含める場合も同様である。
【００５０】
図１０は、端末ｋにおける認証処理のフローチャートを示す。
ここでは、図７及び図８の認証シーケンスにおける端末ｉを例にして、図６の認証処理のフローチャートとの差分のみを説明する。
端末ｉは、ステップＳ８３０の認証要求信号受信処理において、固定長のランダムパターンに加え、自身が生成した通信暗号キーＫｃ＿ｉ＿ｊも含めた認証試験情報Ｄｃ＿ｉを生成する。そして、この認証試験情報Ｄｃ＿ｉを暗号キーＫａ＿ｊで暗号化した暗号化認証試験情報Ｅｃ＿ｉを含んだ認証試験信号Ｓｃ＿ｉを送信する（ステップＳ８３５）。
また、ステップＳ８５５の認証試験信号受信処理では、図７におけるステップＳ５５０〜ステップＳ５６０の処理を行う。これにより、端末ｉは、通信暗号キーＫｃ＿ｊ＿ｉを取り出し、内部に記憶する。
また、認証要求信号受信判断（ステップＳ８２５）、認証試験信号受信判断（ステップＳ８５０）、または、認証回答信号受信判断（ステップＳ８７０）において、ＮＧであると判断した場合には、認証処理を終了する。
【００５１】
上記実施形態によれば、キー解読キーは非公開であるため、第３者は知りえない。また、解読キーは非公開であるため、同様に第３者は知りえない。さらに、キー解読キーを知らない第３者は、認証キーから暗号キーを知ることもできない。そして、端未間は暗号キーにより暗号化された通信を行うため、第３者に通信の内容を傍受されない。すなわち、第３者が端末ｊになりすまそうとしても、端末ｉからの暗号キーを使って暗号化された通信に対して正しく応答することができないため、端末ｉに成りすますことはできない。また、第３者が端末ｉになりすまそうとしても、キー暗号キーを知らないため、認証キーと解読キーの組み合わせを作ることができず、端末ｉに成りすますことはできない。
このように、第３者が端末に成りすますことを防止し、端末間のデータを第３者が傍受することを防止することができる。また、端末間の通信開始の度に、端末識別子から暗号キーを検索することが不要となり、多数の端末に対して認証を行なう場合にも、認証に要する時間を短縮することができる。
【００５２】
以上、本発明の実施の形態について説明したが、端末ｋ（１≦ｋ≦Ｍ）及びキー管理機２０の機能は、専用のハードウェアにより実現されるものであってもよく、また、メモリおよびＣＰＵ（中央処理装置）により構成され、各手段の機能を実現するためのプログラム（図示せず）をメモリのロードして実行することによりその機能を実現させるものであってもよい。また、端末ｋ及びキー管理機２０の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、端末ｋ及びキー管理機２０の各処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【００５３】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの（伝送媒体ないしは伝送波）、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００５４】
さらに、本発明の端末間の相互認証方法及び端末は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【図面の簡単な説明】
【００５５】
【図１】第一実施例による無線通信システムの構成を示す図である。
【図２】第一実施例によるキー管理機２０のキー生成動作のフローチャートである。
【図３】第一実施例による認証シーケンス図である。
【図４】第一実施例による認証シーケンス図である。
【図５】第一実施例による端末の内部構成を示すブロック図である。
【図６】第一実施例による端末の認証処理のフローチャートである。
【図７】第二実施例による認証シーケンス図である。
【図８】第二実施例による認証シーケンス図である。
【図９】第二実施例による端末相互認証後のデータ通信のシーケンス図である。
【図１０】第二実施例による端末の認証処理のフローチャートである。
【符号の説明】
【００５６】
１１…ＣＰＵ
１２…メモリ
１３…不揮発性メモリ
１４…暗号化手段
１５…解読手段
１６…送受信手段
１７…バス
２０…キー管理機
【図１】
2005065192.tif 000003
【図２】
2005065192.tif 000004
【図３】
2005065192.tif 000005
【図４】
2005065192.tif 000006
【図５】
2005065192.tif 000007
【図６】
2005065192.tif 000008
【図７】
2005065192.tif 000009
【図８】
2005065192.tif 000010
【図９】
2005065192.tif 000011
【図１０】
2005065192.tif 000012