(57)【要約】    【課題】      通信端末間のセッション鍵生成パラメータのずれを同期化することで、通信の安定性を確保すると共に安全性の高いセッション鍵生成機構を提供する。    【解決手段】  誤り検出符号挿入手段３に平文送信データが入力されると、誤り検出符号挿入手段３はその平文送信データから誤り検出符号を算出し、誤り検出符号を平文送信データに挿入する。一方、一方向性ハッシュ計算手段２は、端末情報取得手段１よりセッション鍵生成パラメータを取得し、セッション鍵生成パラメータと共通鍵とをバイナリ列として連結したものを一方向性ハッシュ関数に掛けてセッション鍵を生成する。秘匿手段４は、このセッション鍵で誤り検出符号入り平文送信データを秘匿化し、秘匿送信データを送信手段へ出力する。  【選択図】      図１
2006238200.tif 000002
【特許請求の範囲】
【請求項１】
通信端末間の秘匿通信を実現させるセッション鍵生成機構であって、
通信端末が持つ情報からセッション鍵生成パラメータを抽出する端末情報取得手段と、
共通鍵と前記端末情報取得手段が抽出したセッション鍵生成パラメータとに対して一方向性ハッシュ計算を行ってセッション鍵を生成する一方向性ハッシュ計算手段と、
平文送信データに誤り検出符号を挿入して誤り検出符号入り平文送信データを出力する誤り検出符号挿入手段と、
前記誤り検出符号入り平文送信データを前記セッション鍵で秘匿化する秘匿手段と、
秘匿受信データを復号化して誤り検出符号入り平文受信データを出力する復号手段と、
前記誤り検出符号入り平文受信データの誤り検出符号から平文受信データの誤りを検出し、検出結果と前記平文受信データとを出力する誤り検出手段と、
前記検出結果から前記セッション鍵生成パラメータを補正する同期手段と、
を備えることを特徴とするセッション鍵生成機構。
【請求項２】
前記セッション鍵生成パラメータは、
発呼端末を一意に識別する第１の情報と、
着呼端末を一意に識別する第２の情報と、
通信を行う２通信端末間で同一かつセッションごとに変化する第３の情報と、
を使用することを特徴とする請求項１に記載のセッション鍵生成機構。
【請求項３】
前記第３の情報に２通信端末間でずれが発生しても、前記誤り検出手段での誤り判定結果に基づいて、当該第３の情報を補正することを特徴とする請求項２に記載のセッション鍵生成機構。
【請求項４】
前記通信端末内の情報のみを使用して前記セッション鍵生成パラメータを取得することを特徴とする請求項１乃至請求項３のいずれかに記載のセッション鍵生成機構。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信端末間の秘匿通信などに用いられるセッション鍵生成機構に関し、特に、複数の通信端末から構成されるグループ内で秘匿通信を行うためのセッション鍵生成機構に関する。
【背景技術】
【０００２】
従来より、通信端末間の秘匿通信に使用するセッション鍵生成機構として、日時情報を加工したものをセッション鍵生成パラメータとし、そのセッション鍵生成パラメータと共通鍵を結合したものに対して一方向性ハッシュ関数を掛けてセッション鍵を生成するように構成されたものが知られている（例えば、特許文献１参照）。図８は、特許文献１とほぼ同様な従来のセッション鍵生成機構の概略構成を示すブロック図である。図８に示すセッション鍵生成機構においては、ハッシュ処理手段２０が、セッション識別情報生成手段２１によって日時情報の精度を大まかにまとめた情報と、共有鍵と、カウント手段２２によって結合されたカウンタ値とに基づいて、鍵強度判定手段２３にセッション鍵を生成させている。このようなセッション鍵生成機構によれば、通信端末間でセッション鍵を共有するための通信を行うことなくセッション鍵を生成することができるので、通信コストを削減することが可能となる。
【特許文献１】特開２００２−２９０３９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、図８に示すような従来のセッション鍵生成機構は、通信端末間で日時情報のずれが発生した場合には、セッション鍵を復号化することができないなどの不具合がある。そこで、通信端末間における日時情報のずれに対して対処する方法としては、日時情報の精度をより大まかにすることが考えられる。例えば、日時情報の精度を分単位から週単位に変更すれば、通信端末間の日時情報のずれが発生する確率は低くなる。しかし、このようにして日時情報の精度を大まかにすると、同じセッション鍵を長期間使用することになり、結果的には攻撃者が解読に成功する可能性が高くなるため、セッション鍵の安全性が低下してしまう。
【０００４】
また、図８に示すような従来のセッション鍵生成機構では、セッション鍵生成パラメータにセッション識別情報として日時情報しか考慮されていない。そのため、３台以上の通信端末間で同一の共通鍵を持って秘匿通信を行う場合は、同一時刻に２つ以上の秘匿通信セッションが確立されると、同一のセッション鍵を用いて秘匿通信を行うことになる。このような場合には、攻撃者はより多くの同一のセッション鍵を用いて秘匿化された情報を得ることができるため、結果的にセッション鍵の安全性が低下してしまうことになる。
【０００５】
本発明はかかる点に鑑みてなされたものであり、通信端末間のセッション鍵生成パラメータのずれを同期化することで通信の安定性を確保すると共に、安全性の高いセッション鍵生成機構を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明のセッション鍵生成機構は、通信端末間の秘匿通信を実現させるセッション鍵生成機構であって、通信端末が持つ情報からセッション鍵生成パラメータを抽出する端末情報取得手段と、共通鍵と前記端末情報取得手段が抽出したセッション鍵生成パラメータとに対して一方向性ハッシュ計算を行ってセッション鍵を生成する一方向性ハッシュ計算手段と、平文送信データに誤り検出符号を挿入して誤り検出符号入り平文送信データを出力する誤り検出符号挿入手段と、誤り検出符号入り平文送信データをセッション鍵で秘匿化する秘匿手段と、秘匿受信データを復号化して誤り検出符号入り平文受信データを出力する復号手段と、誤り検出符号入り平文受信データの誤り検出符号から平文受信データの誤りを検出し、検出結果と平文受信データとを出力する誤り検出手段と、検出結果からセッション鍵生成パラメータを補正する同期手段とを備えた構成を採っている。このような構成により、二つの通信端末間の通信内容を高いレベルで秘匿化することができる。
【発明の効果】
【０００７】
本発明のセッション鍵生成機構によれば、通信端末ローカルから取得できる情報と、秘匿化しない通常の通信をする上で必要な情報とによってセッション鍵を生成しているので、セッション鍵を生成するために通信コストは発生しない。これによって、従来よりも安全なセッション鍵を通信コストなしで生成することができ、かつ、従来よりも高い通信の安定性を確保することができる。また、数回のバイナリ列の並び替えと結合と一回の一方向性ハッシュとによって計算が構成されるので、セッション鍵生成のための計算コストを低減することができる。さらに、同時刻に通信が発生した場合でも、誰と誰が通信したかによってセッション鍵を異なるものにすることができるので鍵の安全性は低下しない。また、時刻を同期させるために特別なＧＰＳなどのハードウェアを必要としないし、時刻が数分ずれても通信を行うことができるので使い勝手が極めてよい。
【０００８】
つまり、本発明のセッション鍵生成機構によれば、従来技術よりも安全なセッション鍵を通信コストなしで生成することができ、かつ、従来技術よりも高い通信の安定性を確保することができる。そのため、通信帯域が狭く計算能力も低い携帯通信端末などに用いて音声通話の秘匿化を行うことができる。さらに、本発明のセッション鍵生成機構によれば、既存のプロトコルに変更を加える必要がないため、既存の通信端末においても容易に秘匿通信を実施することができる。これによって、共通鍵暗号を使用した通信端末間の秘匿通信システムにおいて、通信端末間のセッション鍵共有のための通信が不要かつ通信安定性が高い安全なセッション鍵生成機構を提供することが可能となる。
【発明を実施するための最良の形態】
【０００９】
《発明の概要》
本発明のセッション鍵生成機構は、セッション鍵生成のためのパラメータとして、通信端末グループ内で共有する秘密鍵情報、通信端末を一意に意識する端末意識情報、全ての通信端末間で同一の値を持つ端末間同一値情報、及び通信を行う二者間で同一かつセッションごとに変化するセッション情報を結合したものを使用し、これらの結合情報に対して一方向性ハッシュ関数を掛けてセッション鍵を生成する。また、セッション鍵生成のためのパラメータとして、通信端末の自局番号、相手番号、グループ共有鍵、及び時刻情報を使用する。さらに、復号エラーの検出時に復号化が成功するまで時刻を微調整することで時刻を同期させる。これによって、通信コストを発生させることなく秘匿性の高いセッション鍵を生成することができる。
【００１０】
以下、図面を用いて、本発明におけるセッション鍵生成機構の実施の形態の幾つかを詳細に説明する。尚、各実施の形態に用いる図面において、同一の構成要素は同一の符号を付し、かつ重複する説明は可能な限り省略する。
【００１１】
《実施の形態１》
図１は、本発明の実施の形態１に係るセッション鍵生成機構の概略構成を示すブロック図である。図１に示す実施の形態１のセッション鍵生成機構は、通信端末が持つ情報からセッション鍵生成パラメータを抽出する端末情報取得手段１と、共通鍵とセッション鍵生成パラメータとによってセッション鍵を生成する一方向性ハッシュ計算手段２と、平文送信データに誤り検出符号を挿入して誤り検出符号入り平文送信データを出力する誤り検出符号挿入手段３と、誤り検出符号入りの平文送信データをセッション鍵で秘匿化する秘匿手段４と、秘匿受信データを復号化して誤り検出符号入りの平文受信データを出力する復号手段５と、誤り検出符号入りの平文受信データの誤り検出符号から平文受信データの誤りを検出し、検出結果と平文受信データとを出力する誤り検出手段６と、検出結果からセッション鍵生成パラメータを補正する同期手段７とを備えた構成となっている。
【００１２】
次に、図１に示す実施の形態１におけるセッション鍵生成機構の各構成要素の機能について説明する。端末情報取得手段１は、セッション鍵生成パラメータとして、発呼端末を一意に識別する第１の情報ａと、着呼端末を一意に識別する第２の情報ｂと、通信を行う２端末間で同一かつセッションごとに変化する第３の情報ｃとを抽出し、それぞれをバイナリ列として第１の情報ａ、第２の情報ｂ、第３の情報ｃの順に連結したものを、セッション鍵生成パラメータとする。第１の情報ａと第３の情報ｃは通信端末の記憶装置もしくは内蔵ハードウェアより取得し、第２の情報ｂはセッションが確立した段階で相手端末から得られる情報とし、第１の情報ａ、第２の情報ｂ、及び第３の情報ｃを取得するための通信は行わない。
【００１３】
一方向性ハッシュ計算手段２は、セッション鍵生成パラメータと共通鍵ｋとの順でバイナリ列として連結したものに対して一方向性ハッシュ計算を行い、セッション鍵を生成する。
【００１４】
誤り検出符号挿入手段３は、秘匿化の対象となる平文送信データから誤り検出符号を算出し、誤り検出符号を平文送信データに挿入したものを誤り検出符号入り平文送信データとする。
【００１５】
秘匿手段４は、共通鍵暗号に基づいて、誤り検出符号入り平文送信データを、端末情報取得手段１から取得したセッション鍵生成パラメータと共通鍵とによって生成されたセッション鍵で秘匿化し、秘匿送信データを出力する。
【００１６】
復号手段５は、共通鍵暗号に基づいて、受信した秘匿受信データを、同期手段７で補正されたセッション鍵生成パラメータと共通鍵とによって生成されたセッション鍵で復号化し、誤り検出符号入り平文受信データを出力する。
【００１７】
誤り検出手段６は、平文受信データの正当性の評価を行う。この誤り検出手段６は、誤り検出符号入り平文受信データから誤り検出符号を抽出し、この誤り検出符号と、平文受信データから算出した誤り検出符号とを比較し、両者が同じならば復号成功を、両者が異なっていれば復号失敗を、それぞれ同期手段７に対して出力する。このとき、復号成功ならば、検出符号入り平文受信データから誤り検出符号を除去した平文受信データを出力する。
【００１８】
なお、セッションを確立した通信端末間で第３の情報ｃ（つまり、通信を行う２端末間で同一かつセッションごとに変化する第３の情報ｃ）の値にずれが発生した場合は、秘匿化に使ったセッション鍵と復号化に使うセッション鍵に違いが生じるため、復号化に失敗する。同期手段７は、セッション鍵生成パラメータを補正することで、通信の安定性を確保する。この同期手段７は、誤り検出手段６から出力される誤り検出結果が復号成功の場合、補正値ｏを第３の情報ｃに加算してセッション鍵生成パラメータを出力する。補正値ｏの単位は第３の情報ｃの単位と同じであり、その初期値は０である。検出結果が復号失敗の場合は、補正値ｏが０ならば補正値ｏに最小単位を代入し、また、補正値ｏが正ならば補正値ｏの符号を負にし、補正値ｏが負ならば補正値ｏの符号を正にして最小単位を加える。
【００１９】
例えば、第３の情報ｃと補正値ｏが整数の場合は、復号失敗を検出するたびに、補正値ｏは、ｏ＝０、１、−１、２、−２、３、−３…のように変化する。通信端末間の第３の情報ｃのずれが−２の場合、ｏ＝−２で補正したセッション鍵生成パラメータを用いて生成したセッション鍵で復号化すると、以降は誤り検出手段６から復号成功が出力されるので、補正値ｏは、ｏ＝−２となって値は確定される。
【００２０】
次に、フローチャートを用いて、図１に示す実施の形態１におけるセッション鍵生成機構を用いた秘匿化時の動作について説明する。図２は、図１に示すセッション鍵生成機構における秘匿化時の動作を示すフローチャートである。したがって、図１と図２を用いてフローチャートの流れを説明する。まず、誤り検出符号挿入手段３に平文送信データが入力されると（ステップＳ１）、誤り検出符号挿入手段３は、その平文送信データから誤り検出符号を算出し（ステップＳ２）、誤り検出符号を平文送信データに挿入する（ステップＳ３）。
【００２１】
また、一方向性ハッシュ計算手段２は、端末情報取得手段１よりセッション鍵生成パラメータを取得し、セッション鍵生成パラメータと共通鍵とをバイナリ列として連結したものを一方向性ハッシュ関数に掛けてセッション鍵を生成する。つまり、一方向性ハッシュ関数をｆ、バイナリ列の連結を＆で表記すると、セッション鍵ｓはｓ＝ｆ（ａ＆ｂ＆ｃ＆ｋ）で生成される（ステップＳ４）。但し、ａは第１の情報、ｂは第２の情報、ｃは第３の情報、ｋは共通鍵である。このセッション鍵ｓで誤り検出符号入り平文送信データを秘匿化し（ステップＳ５）、秘匿送信データを送信手段へ出力する（ステップＳ６）。
【００２２】
次に、図１に示す実施の形態１におけるセッション鍵生成機構を用いた復号化時の動作について説明する。図３は、図１に示すセッション鍵生成機構における復号化時の動作を示すフローチャートである。図３において、まず始めに、補正値ｏを０に初期化する（ステップＳ１１）。そして、受信手段から復号手段５へ秘匿受信データが入力されると（ステップＳ１２）、一方向性ハッシュ計算手段２は、同期手段７にて補正値ｏが加算された第３の情報ｃを含むセッション鍵生成パラメータの共通鍵をバイナリ列として連結したものを一方向性ハッシュ関数に掛け、セッション鍵を生成する。つまり、一方向性ハッシュ関数をｆ、バイナリ列の連結を＆で表記すると、セッション鍵ｓはｓ＝ｆ（ａ＆ｂ＆（ｃ+ｏ）＆ｋ）で生成される（ステップＳ１３）。但し、ａは第１の情報、ｂは第２の情報、ｃは第３の情報、ｏは補正値、ｋは共通鍵である。
【００２３】
そして、復号手段５がこのセッション鍵ｓで秘匿受信データを復号化し（ステップＳ１４）、誤り検出符号入り平文受信データを誤り検出手段６に出力し、平文受信データが正当であるか否かを検査する（ステップＳ１５）。平文受信データが正当であった場合は（ステップＳ１５でＯＫの場合）、復号化が成功したものとして誤り検出符号入り平文受信データから誤り検出符号を除去し、誤り検出手段６から平文受信データを出力する（ステップＳ１６）。
【００２４】
一方、ステップＳ１５において、セッションを確立した通信端末間で第３の情報ｃの値にずれが発生した場合は、秘匿化に使ったセッション鍵と復号に使うセッション鍵に違いが生じる。そのため、平文受信データが正当でない場合は（ステップＳ１５でＮＧの場合）、復号に失敗して平文受信データは不当なデータとなり、セッションを確立した通信端末間で第３の情報ｃを同期化させるための補正値ｏを変更する処理を行う。つまり、補正値ｏが０であるか否かの判定を行う（ステップＳ１７）。
【００２５】
ここで、補正値ｏが０である場合は（ステップＳ１７でＹＥＳの場合）、補正値ｏに１を代入し（ステップＳ１８）、再びステップＳ１３に戻ってセッション鍵を生成し（ステップＳ１３）、再生成されたセッション鍵ｓで秘匿受信データを復号化する（ステップＳ１４）。この時点で、補正値ｏ＝１で第３の情報ｃの同期に成功した場合は、平文受信データの正当性検査で復号成功となり（ステップＳ１５のＯＫの場合）、誤り検出符号入り平文受信データから誤り検出符号を除去し、平文受信データを出力する（ステップＳ１６）。
【００２６】
一方、ステップＳ１５で復号に失敗した場合は（ステップＳ１５でＮＧの場合）、再び補正値ｏを変更する処理を行う。ここでは、補正値ｏ＝１であるので補正値ｏは０ではないため（ステップＳ１７でＮＯの場合）、補正値ｏが負であるか否かを判定して（ステップＳ１９）、補正値ｏは負ではないため（ステップＳ１９でＮＯの場合）、補正値ｏの符号を反転してｏ＝−ｏとし（ステップＳ２０）、再びステップＳ１３に戻ってセッション鍵生成を行う（ステップＳ１３）。また、ｏ＝−ｏでも復号に失敗した場合は、ステップＳ１９で補正値ｏは負であるか否かを判定した結果、補正値ｏは負であるので（ステップＳ１９でＹＥＳの場合）、補正値ｏの符号を反転して−ｏに１を加算し（ステップＳ２１）、補正値ｏ＝２とし、ステップＳ１３に戻る。
【００２７】
図４は、図１に示すセッション鍵生成機構を用いた復号化時の動作の変形例を示すフローチャートである。つまり、図１に示す実施の形態１におけるセッション鍵生成機構を用いた復号動作は、図４の変形例に示すような動作の流れにしてもよい。図４のフローチャートにおいて、図３のフローチャートと同一のステップは同じステップ番号を付している。したがって、図４のフローチャートでは図３のフローチャートと同一のステップについては説明を省略し、異なるステップのみについて説明する。つまり、図４のフローチャートのステップＳ１２からステップＳ２１までは図３のフローチャートと同じである。
【００２８】
図３のフローチャートで示した復号動作では、一つの秘匿受信データに対して成功するまで補正値ｏの値を変更して復号化を試行したが、図４のフローチャートに示す復号動作では、一つの秘匿受信データの入力（ステップＳ１２）に対して一度だけ復号化の処理を行い、復号に失敗した場合は補正値ｏの値を変更し（ステップＳ２１）、その後、固定データを出力する（ステップＳ２２）。
【００２９】
つまり、図４に示すフローチャートの復号動作では、一つの秘匿受信データに対して一度だけ復号化し、復号に成功するまで補正値ｏの値を変更しながら固定データを出力する。言い換えれば、第３の情報ｃの値が補正値ｏの値によって補正され、正しいセッション鍵を生成できた場合は、平文受信データを出力する。このように、図３で示した復号動作では、一つの秘匿受信データに対して成功するまで復号を試行するため、図４で示す復号動作よりも計算コストが高く、かつリアルタイム性が低いが、文章やプログラムなどのデータの欠けが許されない場合には有効である。一方、図４で示す復号動作では、一つの秘匿受信データに対して一度だけ復号化を試行し、復号失敗の場合は固定データを出力する。つまり、図４で示す復号動作は、計算コストが低く、リアルタイム性が高いため、音声通話などのデータの完全性よりもリアルタイム性が優先される場合に有効である。
【００３０】
実施の形態１におけるセッション鍵生成機構によれば、復号化に成功するまで補正値ｏについて、ｏ＝１，−１，２，−２，３，−３…というように補正値ｏの値を変化させ、セッションを確立した通信端末間で第３の情報ｃの値にずれが発生した場合でも第３の情報ｃの値を補正しながら通信を行うことができる。
【００３１】
《実施の形態２》
次に、本発明の実施の形態２におけるセッション鍵生成機構について説明する。実施の形態２のセッション鍵生成機構では、インターネット電話などのＶｏＩＰ（Voice over Internet Protocol）における音声通話について秘匿化を行う場合の実施の形態について説明する。実施の形態２のセッション鍵生成機構で適用されるＶｏＩＰでは、トランスポート層プロトコルとしてＵＤＰ（User Datagram Protocol）を使用し、セッション層プロトコルとしてＩＥＴＦ（Internet Engineering Task Force）勧告のＲＦＣ（Request For Comments）３２６１準拠のＲＴＰ（Real-time Transport Protocol）を使用する。ＲＴＰ上で送受信する音声データ形式として、ＩＴＵ（International Telecommunication Union）勧告のＧ．７１１準拠の標本化周波数８Ｋｈｚ、量子化ビット数８ビット、１データフレーム長１６０バイトを使用する。また、呼の制御にＩＥＴＦ勧告のＲＦＣ１８８９準拠のＳＩＰ（Session Initiation Protocol）を使用する。また、秘匿化と復号化に用いる共通鍵暗号としてＮＩＳＴ（National Institute of Technology）勧告のＡＥＳ（Advanced Encryption Standard）１２８のＥＣＢ（Electric Code Book）モードを使用する。
【００３２】
図５は、本発明の実施の形態２に適用されるセッション鍵生成機構の概略データフロー図である。実施の形態２のセッション鍵生成機構は、図５に示すように、リアルタイムクロックから取得した日時分秒情報を、日時分情報に単位を繰上げする（以下、丸めるという）ための精度丸め手段１１と、共通鍵と、日時分情報と、通信端末を一意に指定する自局ＵＲＩ（Uniform Resource Identifier）と相手ＵＲＩから、１２８ビットのセッション鍵を生成するＳＨＡ（Secure Hash Algorithm）１一方向性ハッシュ計算手段１２と、１６０バイトの平文音声データに誤り検出符号を挿入する１６ビットＣＲＣ（Cyclic Redundancy Check）挿入手段１３と、１６ビットＣＲＣ挿入手段１３が挿入された１６０バイトの平文音声データフレームをセッション鍵で秘匿化するＡＥＳ１２８秘匿手段１４と、秘匿音声データを復号化して１６ビットＣＲＣ入り平文音声データを出力するＡＥＳ１２８復号手段１５と、１６ビットＣＲＣ入り平文音声データから平文音声データの誤りを検出し、検出結果と平文音声データを出力するＣＲＣエラー検出手段１６と、検出結果から日時分情報を補正する時刻同期手段１７とを備えた構成となっている。
【００３３】
次に、図５に示す実施の形態２におけるセッション鍵生成機構の各構成要素の機能について説明する。実施の形態２のセッション鍵生成機構では、発呼端末を一意に識別する情報として、発呼側では自局ＵＲＩ、着呼側では相手ＵＲＩを使用する。また、着呼端末を一意に識別する情報として、着呼側では自局ＵＲＩ、発呼側では相手ＵＲＩを使用する。また、通信を行う２端末間で同一かつセッションごとに変化する情報として、内蔵リアルタイムクロックの時刻情報を使用する。
【００３４】
ＳＨＡ１一方向性ハッシュ計算手段１２は、発呼ＵＲＩと着呼ＵＲＩと日時分情報と共通鍵との順でバイナリ列として連結し、ＳＨＡ１一方向性ハッシュ計算を行い、１６０ビットのハッシュ値を得る。このハッシュ値を１２８ビットに切り詰めてセッション鍵を生成する。
【００３５】
時刻同期手段１７は、精度丸め手段１１からの日時分情報に対して、分単位の補正値ｏを加算した日時分情報をＳＨＡ１一方向性ハッシュ計算手段１２へ出力する。また、ＣＲＣエラー検出手段１６からの検出結果が復号失敗の場合は、補正値ｏの値を復号失敗の度に、ｏ＝０、１、−１、２、−２、３、−３と変化させ、通信端末間の日時分情報の同期を試みる。
【００３６】
次に、本発明の実施の形態２における秘匿化時の動作の流れについて説明する。図６は、本発明の実施の形態２における秘匿化時のデータフロー図である。図６に示すように、音声エンコーダから出力される平文音声データは１６０バイトごとに区切られて送信される。この平文音声データの１０バイト目と８０バイト目にゼロをセットし、これを一時音声データとしてメモリに保存する（ステップＳ３１）。そして、一時音声データに対して１６ビットＣＲＣを計算し（ステップＳ３２）、計算結果の上位８ビットを一時音声データの１０バイト目に、下位８ビットを一時音声データの８０バイト目にセットし（ステップＳ３３）、これをＣＲＣ入り音声データとする。次に、ＣＲＣ入り音声データをセッション鍵でＡＥＳ１２８秘匿手段１４を用いて秘匿化し、秘匿音声データをＲＴＰプロトコルスタックに出力する（ステップＳ３４）。
【００３７】
実施の形態２では、ＣＲＣ値を音声データの固定的な位置に挿入したが、挿入位置を共通鍵によって変化させることで、さらに解読への耐性を高めることができる。例えば、共通鍵ｋ、ＣＲＣ上位８ビット挿入位置ｉ、ＣＲＣ下位８ビット挿入位置ｊとすると、
ｉ＝ｋ  ｍｏｄ  １６０
ｊ＝（ｋ＋８０）  ｍｏｄ  １６０
のように挿入位置を決定してもよい。
【００３８】
次に、本発明の実施の形態２における復号化時の動作の流れについて説明する。図７は、本発明の実施の形態２における復号化時のデータフロー図である。図７に示すように、ＡＥＳ１２８復号手段１５は、ＲＴＰプロトコルスタックから受け取った秘匿音声データをセッション鍵で復号化し、ＣＲＣ入り音声データとしてメモリに保存する（ステップＳ４１）。次に、ＣＲＣ入り音声データの１０バイト目と８０バイト目にゼロをセットしたものを、平文音声データとしてメモリに保存する（ステップＳ４２）。
【００３９】
さらに、前段の平文音声データに対して１６ビットＣＲＣを計算する（ステップＳ４３）。また、ＣＲＣ入り音声データの１０バイト目と８０バイト目からＣＲＣ値を抽出する（ステップＳ４４）。そして、ステップＳ４３で計算したＣＲＣ値とステップＳ４４でＣＲＣ入り音声データから抽出したＣＲＣ値とを比較し、比較結果を時刻同期手段に出力する（ステップＳ４５）。ここで、比較結果において両者のＣＲＣ値が一致した場合は復号成功とし、両者のＣＲＣ値が一致しない場合は復号失敗とする。そして、切替手段は、比較結果が復号成功の場合はステップＳ４２で保存された平文音声データを音声デコーダに出力し、復号失敗の場合は無音データを音声デコーダに出力する（ステップＳ４６）。
【００４０】
《まとめ》
以上説明した実施の形態１及び実施の形態２のセッション鍵生成機構は、携帯電話システムにおけるグループ内秘匿通信にも有効に利用することができる。すなわち、現在の携帯電話システムにおいても秘匿化が施されているが、これらは携帯端末間の秘匿性を保証するものではない。これを保証するためには、携帯端末間で共有される秘密情報を用いた秘匿化装置を追加する必要がある。ところが、秘匿化を行う際に毎回同じ秘密情報を使うと解読される危険性が高くなるため、秘密情報などから通信ごとにセッション鍵を使って秘匿化を行う必要がある。しかし、従来の秘匿化の手法はセッション鍵の生成と共有のために通信コスト及び計算コストが多くかかったり、安全性と安定性が欠けるなどの懸念があった。
【００４１】
ところが、本発明のセッション鍵生成機構では、セッション鍵の生成と共有のために通信コストを必要とせず、かつ計算コストも極めて少ない。また、復号エラーの検出による情報の同期により通信の安定性も確保されている。言い換えれば、本発明のセッション鍵生成機構を実現するためには通信を必要としないため、秘匿機能は既存の通信プロトコルに対して手を加えることなく実現することができる。また、本発明のセッション鍵生成機構は鍵交換や暗号パラメータ通信などが発生しないために、通信の観測者からは秘匿通信を行っているのか否かを判断することは難しいので、秘匿性は一段と高いものとなり通信の安全性は極めて高い。
【００４２】
本発明のセッション鍵生成機構における上位概念は、セッション鍵を『グループで秘密に共有する情報』、『自通信端末を一意に識別する情報』、『通信を行う二者間で同一かつセッションごとに変化する情報』を結合したものに対して一方向性ハッシュ関数をかけて生成する。これらの情報は全て端末ローカルで取得することができるので、情報を取得するための通信は不要である。また、計算コストも一方向性ハッシュ関数はべき乗演算よりもさらに低い。なお、時刻など『通信を行う二者間で同一かつセッションごとに変化する情報』は通信端末間でずれが生じる可能性がある。その場合は通信端末間で使用するセッション鍵に違いが発生して通信不能になる。そこで、ある閾値以上の連続する復号エラーを検出した場合は、着呼側は発呼側の時刻に合わせるように復号エラーが発生しなくなるまで時刻を調整する。これにより、情報ずれによる通信障害から回復して通信の安定性を確保することができる。
【産業上の利用可能性】
【００４３】
本発明のセッション鍵生成機構は、既存のプロトコルに変更を加える必要がないために、既存の通信端末に利用することができると共に安全なセッション鍵を通信コストなしに生成することができ、かつ、高い通信安定性を確保することができるので、通信帯域が狭く計算能力も低い携帯通信端末での音声通話の秘匿化などに有効に利用することができる。
【図面の簡単な説明】
【００４４】
【図１】本発明の実施の形態１に係るセッション鍵生成機構の概略構成を示すブロック図
【図２】図１に示すセッション鍵生成機構における秘匿化時の動作を示すフローチャート
【図３】図１に示すセッション鍵生成機構における復号化時の動作を示すフローチャート
【図４】図１に示すセッション鍵生成機構を用いた復号化時の動作の変形例を示すフローチャート
【図５】本発明の実施の形態２に適用されるセッション鍵生成機構の概略データフロー図
【図６】本発明の実施の形態２における秘匿化時のデータフロー図
【図７】本発明の実施の形態２における復号化時のデータフロー図
【図８】従来のセッション鍵生成機構の概略構成を示すブロック図
【符号の説明】
【００４５】
１  端末情報取得手段
２  一方向性ハッシュ計算手段
３  誤り検出符号挿入手段
４  秘匿手段
５  復号手段
６  誤り検出手段
７  同期手段
１１  精度丸め手段
１２  ＳＨＡ１一方向性ハッシュ計算手段
１３  １６ビットＣＲＣ挿入手段
１４  ＡＥＳ１２８秘匿手段
１５  ＡＥＳ１２８復号手段
１６  ＣＲＣエラー検出手段
１７  時刻同期手段
【図１】
2006238200.tif 000003
【図２】
2006238200.tif 000004
【図３】
2006238200.tif 000005
【図４】
2006238200.tif 000006
【図５】
2006238200.tif 000007
【図６】
2006238200.tif 000008
【図７】
2006238200.tif 000009
【図８】
2006238200.tif 000010