(57)【要約】      （修正有）【課題】所定の時間で更新されるカウンタ情報に基づく暗号化データの復号化処理におけるカウンタ情報のずれを処理能力が低い装置であっても補正することができる暗号装置、暗号通信プログラム及び方法を提供する。【解決手段】暗号通信を行う対象である端末装置１と共に、所定の時間毎に更新される値である暗号鍵を管理する暗号鍵管理部２０６と、端末装置１が管理している暗号鍵に基づいて暗号化された所定のデータを受信する受信部２０３と、受信部２０３において受信され暗号化された所定のデータを復号し、端末装置１において管理されている暗号鍵と暗号鍵管理部２０６において管理されている暗号鍵との値の差を求め、該差に基づいて暗号鍵管理部２０６において管理されている暗号鍵を補正し、端末装置１と共通して用いる共通鍵を生成し、補正した暗号鍵に基づいて共通鍵を暗号化して端末装置１に送信する共通鍵送信部２０３とを有する。【選択図】図１
2010068396.tif 000002
【特許請求の範囲】
【請求項１】
端末装置と暗号通信を行なうことができる暗号化装置であって、
前記端末装置と共に、所定の時間毎に更新される値である暗号鍵を管理する暗号鍵管理部と、
前記端末装置により管理されている前記暗号鍵に基づいて暗号化された所定のデータを受信する受信部と、
前記受信部により受信され暗号化された前記所定のデータを復号し、前記端末装置により管理されている暗号鍵と前記暗号鍵管理部により管理されている暗号鍵との値の差を求め、該差に基づいて前記暗号鍵管理部において管理されている暗号鍵を補正し、前記端末装置と共通して用いる共通鍵を生成し、補正した前記暗号鍵に基づいて前記共通鍵を暗号化して前記端末装置に送信する共通鍵送信部と
を備える暗号化装置。
【請求項２】
請求項１に記載の暗号化装置において、
前記共通鍵送信部は、前記端末装置により管理されている暗号鍵と前記暗号鍵管理部により管理されている暗号鍵との値の差が所定の範囲内である場合に、該差に基づいて前記暗号鍵管理部により管理されている暗号鍵を補正することを特徴とする暗号化装置。
【請求項３】
請求項１または請求項２に記載の暗号化装置において、
前記受信部により受信された前記所定のデータの復号化された平文には前記端末装置により管理されている暗号鍵が含まれており、
前記共通鍵送信部は、前記暗号鍵管理部により管理されている前記暗号鍵を補正し、前記受信部により受信された前記所定のデータを補正した前記暗号鍵に基づいて復号し、復号した前記所定のデータに含まれる暗号鍵と補正した前記暗号鍵との一致を以って、前記端末装置により管理されている暗号鍵と前記暗号鍵管理部により管理されている暗号鍵との値の差を求めることを特徴とする暗号化装置。
【請求項４】
請求項１乃至請求項３のいずれかに記載の暗号化装置において、
前記端末装置と共通に設定された秘密鍵を管理する秘密鍵管理部と、
前記暗号鍵管理部により管理されている前記暗号鍵を前記秘密鍵に基づいて暗号化し、暗号化した暗号鍵を前記端末装置へ送信する暗号鍵送信部とをさらに備える暗号化装置。
【請求項５】
請求項４に記載の暗号化装置において、
前記暗号鍵送信部は、前記端末装置により管理されている暗号鍵と前記暗号鍵管理部により管理されている暗号鍵との値の差が所定の範囲内にない場合に、前記秘密鍵管理部により管理されている秘密鍵に基づいて、前記暗号鍵管理部により管理されている暗号鍵を暗号化し、暗号化した暗号鍵を前記端末装置へ送信することを特徴とする暗号化装置。
【請求項６】
端末装置と暗号通信を行なうことができる暗号化プログラムであって、
前記端末装置と共に、所定の時間毎に更新される値である暗号鍵を管理する暗号鍵管理ステップと、
前記端末装置により管理されている前記暗号鍵に基づいて暗号化された所定のデータを受信する受信ステップと、
前記受信ステップにより受信され暗号化された前記所定のデータを復号し、前記端末装置により管理されている暗号鍵と前記暗号鍵管理ステップにより管理されている暗号鍵との値の差を求め、該差に基づいて前記暗号鍵管理ステップにおいて管理されている暗号鍵を補正し、前記端末装置と共通して用いる共通鍵を生成し、補正した前記暗号鍵に基づいて前記共通鍵を暗号化して前記端末装置に送信する共通鍵送信ステップと
をコンピュータに実行させる暗号化プログラム。
【請求項７】
請求項６に記載の暗号化プログラムにおいて、
前記共通鍵送信ステップは、前記端末装置により管理されている暗号鍵と前記暗号鍵管理ステップにより管理されている暗号鍵との値の差が所定の範囲内である場合に、該差に基づいて前記暗号鍵管理ステップにより管理されている暗号鍵を補正することを特徴とする暗号化プログラム。
【請求項８】
請求項６または請求項７に記載の暗号化プログラムにおいて、
前記受信ステップにより受信された前記所定のデータの復号化された平文には前記端末装置により管理されている暗号鍵が含まれており、
前記共通鍵送信ステップは、前記暗号鍵管理ステップにより管理されている前記暗号鍵を補正し、前記受信ステップにより受信された前記所定のデータを補正した前記暗号鍵に基づいて復号し、復号した前記所定のデータに含まれる暗号鍵と補正した前記暗号鍵との一致を以って、前記端末装置により管理されている暗号鍵と前記暗号鍵管理ステップにより管理されている暗号鍵との値の差を求めることを特徴とする暗号化プログラム。
【請求項９】
請求項６乃至請求項８のいずれかに記載の暗号化プログラムにおいて、
前記端末装置と共通に設定された秘密鍵を管理する秘密鍵管理ステップと、
前記暗号鍵管理ステップにより管理されている前記暗号鍵を前記秘密鍵に基づいて暗号化し、暗号化した暗号鍵を前記端末装置へ送信する暗号鍵送信ステップとをさらにコンピュータに実行させる暗号化プログラム。
【請求項１０】
請求項９に記載の暗号化プログラムにおいて、
前記暗号鍵送信ステップは、前記端末装置により管理されている暗号鍵と前記暗号鍵管理ステップにより管理されている暗号鍵との値の差が所定の範囲内にない場合に、前記秘密鍵管理ステップにより管理されている秘密鍵に基づいて、前記暗号鍵管理ステップにより管理されている暗号鍵を暗号化し、暗号化した暗号鍵を前記端末装置へ送信することを特徴とする暗号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の時間毎に更新されるカウンタ値に基づく暗号化及び復号により暗号通信を行なう暗号化装置、端末装置、暗号化プログラム及び方法、情報処理プログラム及び方法に関する。
【背景技術】
【０００２】
情報通信における暗号方式のひとつとして、暗号化と復号化で同じ鍵を用いる共通鍵暗号方式が知られている。秘密情報としての共通鍵を基礎とするデータの暗号／復号システムまたは暗号通信システムにおいて、共通鍵情報の漏洩対策または秘匿性向上のための定期的な保守作業として、共通鍵の更新を考えた場合、新しい共通鍵を配信する装置と共通鍵を更新される装置間で相互に正規の装置であることを確認し、且つ送受される共通鍵の漏洩を防ぐ必要がある。
【０００３】
上述の条件を満たす安全な共通鍵配信の手段としては、共通鍵を配信する装置の利用者自身が例えばＵＳＢメモリーなどの物理的に独立した記憶媒体に共通鍵を書き込み、共通鍵を更新される装置に共通鍵が書き込まれた記憶媒体用のインターフェースを予め設けておく手段や、公開鍵方式等の別途用意された手段により両装置の相互認証性と通信の秘匿性を確保しつつ新しい共通鍵の送受を行う等、共通暗号方式とは別の手段を仮定する必要がある。
【０００４】
上述の問題を解決する技術として、暗号化する装置と復号化する装置の時間の同期によって鍵を生成し、暗号通信に先立つ鍵交換シーケンスのないセッションキーを保持する仕組みを実現する技術が知られている（例えば特許文献１参照）。
【０００５】
しかし、特にＥｔｈｅｒｎｅｔ（登録商標）に代表される実時間通信を保障しないインターネット通信においては、鍵生成に用いられる時間情報の更新間隔が小さければ小さい程、暗号化する装置と復号化する装置の同期にずれが生じて、復号に失敗する恐れがある。また逆に、更新間隔が大きければ大きい程、盗聴者は暗号解読のための情報を想定しやすくなる。
【０００６】
この同期のずれを解決する技術として、誤り訂正符号を暗号対象データに対して算出して付加する技術が知られている（例えば特許文献２参照）。
【特許文献１】特開２００２−２９０３９１号公報
【特許文献２】特開２００６−２３８２００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献２の技術によると、通信する情報量が大きくなるにつれて、その情報に対する誤り訂正符号の算出に係るリソース消費量が増大することになり、処理能力の低い携帯電話機のような小型装置や高速処理を必要とする装置には適さない。
【０００８】
本発明は上述した課題を解決するためになされたものであり、所定の時間で更新されるカウンタ情報に基づく暗号化データの復号化処理におけるカウンタ情報のずれを処理能力が低い装置であっても補正することができる暗号化装置、端末装置、暗号化プログラム及び方法、情報処理プログラム及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決するため、本発明の一態様は、端末装置と暗号通信を行なうことができる暗号化装置であって、前記端末装置と共に、所定の時間毎に更新される値である暗号鍵を管理する暗号鍵管理部と、前記端末装置により管理されている前記暗号鍵に基づいて暗号化された所定のデータを受信する受信部と、前記受信部により受信され暗号化された前記所定のデータを復号し、前記端末装置により管理されている暗号鍵と前記暗号鍵管理部により管理されている暗号鍵との値の差を求め、該差に基づいて前記暗号鍵管理部において管理されている暗号鍵を補正し、前記端末装置と共通して用いる共通鍵を生成し、補正した前記暗号鍵に基づいて前記共通鍵を暗号化して前記端末装置に送信する共通鍵送信部とを備える。
【００１０】
また、本発明の一態様は、暗号化装置と暗号通信を行なうことができる端末装置であって、前記暗号化装置と共に、所定の時間毎に更新される暗号鍵を管理する暗号鍵管理部と、所定のデータを前記暗号鍵に基づいて暗号化し、暗号化された前記所定のデータを前記暗号化装置に送信する送信部と、前記暗号化装置と共通して用いられる鍵であり、前記暗号化装置において生成され、前記所定のデータに基づいて補正された暗号鍵に基づいて暗号化された鍵である共通鍵を受信し、前記暗号鍵管理部において管理される前記暗号鍵に基づいて復号する共通鍵受信部とを備える。
【００１１】
また、本発明の一態様は、端末装置と暗号通信を行なうことができる暗号化プログラムであって、前記端末装置と共に、所定の時間毎に更新される値である暗号鍵を管理する暗号鍵管理ステップと、前記端末装置により管理されている前記暗号鍵に基づいて暗号化された所定のデータを受信する受信ステップと、前記受信ステップにより受信され暗号化された前記所定のデータを復号し、前記端末装置により管理されている暗号鍵と前記暗号鍵管理ステップにより管理されている暗号鍵との値の差を求め、該差に基づいて前記暗号鍵管理ステップにおいて管理されている暗号鍵を補正し、前記端末装置と共通して用いる共通鍵を生成し、補正した前記暗号鍵に基づいて前記共通鍵を暗号化して前記端末装置に送信する共通鍵送信ステップとをコンピュータに実行させる。
【発明の効果】
【００１２】
本発明によれば、所定の時間で更新されるカウンタ情報に基づく暗号化データの復号処理におけるカウンタ情報のずれを処理能力が低い装置であっても補正することができる暗号化装置、端末装置、暗号化プログラム及び方法、情報処理プログラム及び方法を提供することが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態について図面を参照しつつ説明する。
【００１４】
まず、本実施の形態における暗号装置の構成を図１に示す。なお、本実施の形態において、暗号装置１（端末装置）と暗号装置２（暗号化装置）は暗号通信機能に関しては同じ構成である異なる装置であり、暗号装置１はクライアントとして動作する携帯電話機とし、暗号装置２はサーバとして動作するパーソナルコンピュータとする。また、暗号装置１と暗号装置２はネットワーク上で通信を行なうものとするが、有線通信、赤外線、近距離のみ有効な無線通信のいずれであっても良い。また、図１において両装置は図示しないディスプレイ及び入力部を備えるものとし、大容量のデータを容易に転送できるバーコードによって、後述する秘密鍵を夫々の装置のディスプレイに表示し（秘密鍵表示ステップ）、それらを互いに読み取ることにより通信を行なっても構わない。
【００１５】
暗号装置２に対してクライアント動作する暗号装置１は、ユーザＩＦ部１０１（秘密鍵表示部）、初期化処理部１０２（接続許可部、ポート番号算出部）、共通鍵処理部１０３（送信部、暗号鍵受信部、共通鍵受信部）、共通鍵管理部１０４、暗号通信部１０５、カウンタ処理部１０６（暗号鍵管理部）、セキュア保存領域１０７（秘密鍵管理部）を備える。
【００１６】
また、暗号装置１に対してサーバ動作する暗号装置２は、ユーザＩＦ部２０１（秘密鍵表示部）、初期化処理部２０２（接続許可部、ポート番号算出部）、共通鍵処理部２０３（受信部、暗号鍵送信部、共通鍵送信部）、共通鍵管理部２０４、暗号通信部２０５、カウンタ処理部２０６（暗号鍵管理部）、セキュア保存領域２０７（秘密鍵管理部）を備える。
【００１７】
セキュア保存領域１０７及びセキュア保存領域２０７は、同一の共通鍵によって暗号化及び復号化を行なうグループ内で共通に設定された情報であり、暗号通信及び暗号通信に係る初期化動作に用いられる情報である共有秘密情報（秘密鍵）を保持するものである。また、カウンタ処理部１０６及びカウンタ処理部２０６は１秒ごとに１の加算が行なわれるカウンタ値（暗号鍵）を出力するものである。
【００１８】
ユーザＩＦ部１０１及びユーザＩＦ部２０１は図示しないディスプレイに情報を出力させ、同じく図示しない入力部からの情報を取得するものである。また、初期化処理部１０２及び初期化処理部２０２は共有秘密情報をセキュア保存領域１０７及びセキュア保存領域２０７にそれぞれ保存し、共有秘密情報及びカウンタ値の初期化時にユーザに対して情報を示すためユーザＩＦ部１０１及びユーザＩＦ部２０１の制御を行なうものである。
【００１９】
共通鍵処理部１０３及び共通鍵処理部２０３は乱数を生成し、共有秘密情報、カウンタ値及び生成した乱数によって共通鍵生成に用いる値を算出するものである。また、サーバ動作する暗号装置２の共通鍵処理部２０３においては、誤差を想定してカウンタ値の補正処理がなされる。また、共通鍵管理部１０４及び共通鍵管理部２０４は共通鍵処理部１０３及び共通鍵処理部２０３によって夫々生成された共通鍵を管理するものである。また、暗号通信部１０５及び暗号通信部２０５は共通鍵管理部１０４及び共通鍵管理部２０４において管理される共通鍵によって通信情報を暗号化して送信し、受信した通信情報を共通鍵によって復号化する。
【００２０】
次に、本実施の形態における暗号装置の動作を説明する。図２は暗号装置の共通鍵の更新動作を示すシーケンス図である。また、図２において、暗号装置１及び暗号装置２の共有秘密情報及びカウンタ値の初期化はすでになされ、暗号装置１及び暗号装置２は同じく設定された共有秘密情報及び同期されたカウンタ値を保持している（秘密鍵管理ステップ、暗号鍵管理ステップ）ものとする。
【００２１】
まず、クライアントである暗号装置１の共通鍵処理部１０３が乱数Ｋ０を生成し（Ｓ１０１）、乱数Ｋ０とセキュア保存領域１０７から取得した共有秘密情報とカウンタ処理部１０６から取得したカウンタ値を用いて以下の式によって、値Ｋ１を算出し、暗号装置２へ送信する（Ｓ１０２、送信ステップ）。
【００２２】
Ｋ１＝Ｅ（ＭＡＣ（ＸＯＲ（共有秘密情報，カウンタ値））），カウンタ値｜｜Ｋ０）
【００２３】
この式において、Ｅ（Ａ，Ｂ）は例えばＤＥＳやＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）のようなＡを暗号鍵としてＢの値を暗号化する関数を意味する。また、ＭＡＣ（）は例えばＳＨＡ（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ）のような、引数のハッシュ値を計算するハッシュ関数であり、ＸＯＲは排他的論理和を意味するものである。また、Ｃ｜｜ＤはＣとＤをデータとして連結することを意味し、本実施の形態においてカウンタ値は１０Ｂｙｔｅ（３２ｂｉｔ、整数に対応）の長さの固定長の文字列表現とする。また、暗号装置１及び暗号装置２において、このカウンタ値をハッシュ演算した結果に置き換え、付加されるデータをより複雑にすることにより秘匿性を高めることもできる。
【００２４】
暗号装置１より送信されたＫ１を受信した暗号装置２の共通鍵処理部２０３はカウンタ補正処理を実行し、Ｋ１からＫ０を算出する（Ｓ１０３、受信ステップ、共通鍵送信ステップ）。
【００２５】
カウンタ補正処理は、暗号装置１及び暗号装置２にそれぞれ備わるカウンタ処理部１０６間に生じるずれを補正しつつ、Ｋ１からＫ０を算出するためになされる。なお、カウンタ補正処理の詳細については後述する。
【００２６】
次に、暗号装置２の共通鍵処理部２０３は乱数Ｋ２を生成し（Ｓ１０４、共通鍵送信ステップ）、Ｋ２とカウンタ補正処理によって得られたＫ０を用いて以下の式により値Ｉ０を算出し、暗号装置１へ送信し（Ｓ１０５、共通鍵送信ステップ）、共通鍵管理部２０４にＫ２を入力し、共通鍵管理部２０４がＫ２を暗号通信部２０５に入力し、暗号通信部２０５はＫ２を共通鍵とする（Ｓ１０７）。
【００２７】
Ｉ０＝Ｄ（Ｋ０，Ｋ２）
【００２８】
この式においてＤ（Ａ，Ｂ）は関数Ｅ（）による暗号化に対して、Ａを暗号鍵としてＢの値を復号する関数を意味する。
【００２９】
Ｉ０を受信した暗号装置１の共通鍵処理部１０３は、以下の式によりＫ２を算出し（Ｓ１０６、共通鍵受信ステップ）、共通鍵管理部１０４にＫ２を入力し、共通鍵管理部１０４がＫ２を暗号通信部１０５に入力し、暗号通信部１０５はＫ２を共通鍵とする（Ｓ１０８）。
【００３０】
Ｋ２＝Ｄ（Ｋ０，Ｉ０）
【００３１】
そして、暗号装置１の暗号通信部１０５及び暗号装置２の暗号通信部２０５は互いにＫ２を共通鍵として通信を行なう（Ｓ１０９）。以降、暗号装置１及び暗号装置２は全ての送信情報を以下の式によって暗号化する。
【００３２】
暗号文＝Ｅ（Ｋ２，平文）
【００３３】
また、受信時は以下の式により受信情報を復号する。
【００３４】
平文＝Ｄ（Ｋ２，暗号文）
【００３５】
上述の動作により、暗号装置１及び暗号装置２において同一に設定された情報である共有秘密情報と、両装置の初期化以降、時間に同期して更新されるカウンタ値に基づく共通鍵の暗号化によって、暗号装置２は暗号装置１に対して安全に共通鍵を送信することができる。
【００３６】
図３は暗号装置のカウンタ補正処理の動作を示すフローチャートである。なお、暗号装置２にはカウンタ値の最大誤差を有する値Ｎが予め設定されているものとする。例えば、暗号装置１及び暗号装置２のカウンタ値のリセット間隔が１ヶ月であり、１ヶ月のカウンタのずれの最大値が±１０ならば、Ｎ＝１０となる。
【００３７】
まず、暗号装置２の共通鍵処理部２０３は暗号装置１の共通鍵処理部１０３により算出されたＫ１を取得し（Ｓ２０１）、以下の式により１０Ｂｙｔｅの長さの固定長の文字列表現であるＬとＬにデータ連結された値であるＫを求める（Ｓ２０２）。
【００３８】
Ｌ｜｜Ｋ＝Ｄ（ＭＡＣ（ＸＯＲ（共有秘密情報，サーバカウンタ値＋i）），Ｋ１）
【００３９】
Ｄ（）はＡを暗号鍵としてＢの値を復号化する関数を意味し、図２のステップＳ１０２におけるＫ１の算出の際に用いられた式でのＥ（）に対応するものである。サーバカウンタ値は暗号装置２のカウンタ値であり、iはカウンタ値を補正する値であり、−ＮからＮまでの整数値であって、初期状態は−Ｎが設定されている。
【００４０】
次に、暗号装置２の共通鍵処理部２０３は上述の式によって算出されたＬ｜｜ＫよりＬを取り出し、上述の式で用いられたサーバカウンタ値＋iと等しいかどうかを判断する（Ｓ２０３）。
【００４１】
Ｌとサーバカウンタ値が等しい場合（Ｓ２０３，ＹＥＳ）、つまりＬが暗号装置１のカウンタ値である場合は、Ｌに付加されているＫはＫ０であるため、暗号装置２の共通鍵処理部２０３はＬ｜｜ＫからＫを取り出す（Ｓ２０４）。
【００４２】
また、ステップＳ２０３の判断において、Ｌとサーバカウンタ値＋iが等しくない場合（Ｓ２０３，ＮＯ）、暗号装置２の共通鍵処理部２０３はiの絶対値がＮ以下であるかどうかを判断する（Ｓ２０５）。
【００４３】
iの絶対値がＮ以下である場合（Ｓ２０５，ＹＥＳ）、暗号装置２の共通鍵処理部２０３はiに１を加算する（Ｓ２０７）。
【００４４】
一方、iの絶対値がＮより大きい場合（Ｓ２０５，ＮＯ）、暗号装置２の共通鍵処理部２０３はエラーを返す（Ｓ２０６）。なお、エラーが発生した場合、暗号装置１はカウンタ値を更新するが、この動作については後述する。
【００４５】
上述の動作により暗号装置１と暗号装置２のカウンタ値のずれを処理能力の低い装置であっても補正することができる。また、サーバ動作をする暗号装置２で補正をするので、クライアント動作をする暗号装置１において誤り訂正符号処理のようなリソースを消費する処理が必要ない。
【００４６】
次に、カウンタ値の初期化処理について説明する。図４は暗号装置１の共有秘密情報及びカウンタ値の初期化動作を示すシーケンス図である。また、図５〜図８は初期化動作における画面表示を示す図である。なお、図４において暗号装置２はすでに初期化がなされ、共有秘密情報及びカウンタ値が適切に設定されているものとする。また、初期化の際に用いられる情報である初期化用情報はサーバ動作する暗号装置２のＩＰアドレス（ネットワークアドレス）とする。
【００４７】
まず、ユーザが暗号装置２の入力部を操作することにより、ユーザＩＦ部２０１を介して暗号装置２のディスプレイに初期化画面が呼び出され（図４−Ｓ３０１、図５−Ｄ３０１）、同様にユーザが暗号装置１の入力部を操作することにより、ユーザＩＦ部１０１を介して暗号装置１のディスプレイに初期化画面が呼び出される（図４−Ｓ３０２、図５−Ｄ３０２）。なお、これらの動作の順序は逆であっても構わない。
【００４８】
次に暗号装置２のユーザＩＦ部２０１は共有秘密情報及び初期化用情報をディスプレイに表示させ（図４−Ｓ３０３、図６−Ｄ３０３）、暗号装置１のユーザは暗号装置２のディスプレイに表示された共有秘密情報及び初期化用情報を入力する（図４−Ｓ３０４、図６−Ｄ３０４）。
【００４９】
暗号装置１は入力された共有秘密情報に基づいて共通鍵を生成し（図４−Ｓ３０５、暗号鍵受信ステップ）、暗号装置２も同様に共有秘密情報に基づいて共通鍵を生成する（図４−Ｓ３０６、暗号鍵送信ステップ）。なお、共有秘密情報に基づく共通鍵の生成処理については後述する。また、以降の初期化処理において、この共通鍵を用いた暗号化によって両装置間の通信が行なわれる。また、共通鍵による通信の前にクライアントである暗号装置１において、ＰＩＮ（Ｐｅｒｓｏｎａｌ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｎｕｍｂｅｒ）認証を実施することによりセキュリティを高めても良い。
【００５０】
共通鍵を生成した暗号装置１は入力された初期化情報であるＩＰアドレスに基づいて暗号装置２に対して接続要求を送信し（図４−Ｓ３０７、図７−Ｄ３０７）、接続要求を受信した暗号装置２は要求を許可する（図４−Ｓ３０８、図７−Ｄ３０８、接続許可ステップ）。なお、暗号装置１からの接続要求に対する暗号装置２の選択肢は、“一時的接続許可”、“恒久的接続許可”、“接続拒否”とする。“一時的接続許可”が選択されると、暗号装置２の共通鍵処理部２０３は乱数を生成し、それをカウンタ値として暗号装置１に送信する（共通鍵送信ステップ）。また、“恒久的接続許可”が選択されると、暗号装置２の共通鍵処理部２０３はカウンタ処理部２０６からその時点のカウンタ値を取得し、暗号装置１へ送信する。また、“接続拒否”が選択されると暗号装置２は暗号装置１との通信を終了し、初期化処理を終了する。図４においては、“恒久的接続許可”が選択されたものとする。
【００５１】
上述のように暗号装置２が接続要求に対して確認を行なうことによって、暗号装置２のユーザは暗号装置２に対して接続要求があることを知ることができ、その要求に対して判断を下すことができるため、不正利用者からのアクセスを防止することができる。なお、ＩＰアドレスが一致するか否かの判断は初期化処理部１０２によってなされるものとする。
【００５２】
次に、接続を許可した暗号装置２の共通鍵処理部１０３は暗号装置１に対しカウンタ値を送信し（図４−Ｓ３０９、図８−Ｄ３０９）、暗号装置１はカウンタ値を取得する（図４−Ｓ３１０、図８−Ｄ３１０）。
【００５３】
図９は暗号装置の共有秘密情報による共通鍵生成処理の動作を示すシーケンス図である。この図で示す動作は図４のステップＳ３０５、ステップＳ３０６における処理の詳細な動作である。
【００５４】
まず、暗号装置１の共通鍵処理部１０３が乱数Ｋ０を生成し（Ｓ４０１）、生成した乱数Ｋ０に基づいて以下の式によりＫ１を算出して暗号装置２に対して送信する（Ｓ４０２）。
【００５５】
Ｋ１＝Ｅ（ＭＡＣ（共有秘密情報），Ｋ０）
【００５６】
Ｋ１を受信した暗号装置２の共通鍵処理部２０３はＫ１に基づいて以下の式によりＫ０を算出する（Ｓ４０３）
【００５７】
Ｋ０＝Ｄ（ＭＡＣ（共有秘密情報），Ｋ１）
【００５８】
さらに、暗号装置２の共通鍵処理部２０３は乱数Ｋ２を生成し（Ｓ４０４）、Ｋ２に基づいて以下の式によりＫ３を算出して暗号装置１に送信する（Ｓ４０５）。
【００５９】
Ｋ３を受信した暗号装置１の共通鍵処理部１０３はＫ３に基づいて以下の式によりＫ４及びＫ５を算出し（Ｓ４０６）、Ｋ５を暗号装置２に送信する（Ｓ４０７）。
【００６０】
Ｋ４＝Ｄ（ＭＡＣ（Ｋ０），Ｋ３）
【００６１】
Ｋ５＝Ｅ（ＭＡＣ（Ｋ０），（Ｋ４＋１））
【００６２】
Ｋ５を受信した暗号装置２はＫ５に基づいて以下の式によりＫ６を算出し、Ｋ６＝Ｋ２＋１であることを確認する（Ｓ４０８）。なお、Ｋ６＝Ｋ２＋１であることが確認できない場合、暗号装置２は暗号装置１との通信を遮断する。
【００６３】
Ｋ６＝Ｄ（ＭＡＣ（Ｋ０），Ｋ５）
【００６４】
暗号装置２がＫ６＝Ｋ２＋１であることを確認した後、暗号装置１及び暗号装置２の共通鍵処理部１０３及び共通鍵処理部２０３は共通鍵管理部１０４及び共通鍵管理部２０４にＫ０を共通鍵として入力し、共通鍵管理部１０４及び共通鍵管理部２０４は共通鍵を暗号通信部１０５及び暗号通信部２０５に夫々入力し、共通鍵Ｋ０により初期化処理における通信を行なう（Ｓ４０９）。
【００６５】
次に、クライアント動作する複数の暗号装置を対象とした複数鍵更新処理について説明する。図１０は暗号装置の複数鍵更新処理の動作を示すシーケンス図である。また図１１〜図１４は複数鍵更新処理における画面表示を示す図である。なお、図１０ではクライアント動作する複数の暗号装置を便宜上単独で記載しているが、対象となる装置の数だけ存在しているものとする。
【００６６】
まず、サーバ動作する暗号装置２において、カウンタ値更新処理が起動され（Ｓ５０１）、暗号装置２のカウンタ処理部２０６はカウンタ値の初期値となる乱数を生成する（図１０−Ｓ５０２、図１１−Ｄ５０２）。なお、暗号装置２はこのカウンタ初期値とは別に更新前のカウンタ値も保持している。
【００６７】
さらに、暗号装置２はＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）ブロードキャスト送信を行って対象となるクライアント動作する暗号装置１からの応答を待ち、応答を返した暗号装置１へ生成したカウンタ初期値を更新前のカウンタ値と共有秘密情報によって暗号化して送信し（図１０−Ｓ５０３、図１２−Ｄ５０３）、暗号装置１はカウンタ初期値を受信して（図１０−Ｓ５０４）、暗号装置１のカウンタ処理部１０６はカウンタ初期値を取得し、カウンタをリセットする（図１０−Ｓ５０５、図１２−Ｄ５０５）。
【００６８】
なお、ＵＤＰブロードキャストに使用されるポート番号は通信を行なう暗号装置１及び暗号装置２間で統一されていれるものとする。また、暗号装置１及び暗号装置２において予め定められた値Ｍ及びＮと更新前のカウンタ値を用いて以下の式により通信を行なうポート番号が決められても良い（ポート番号算出ステップ）。
【００６９】
ポート番号＝Ｍ＋カウンタ値％Ｎ
【００７０】
この式において％は剰余算を意味し、Ｍ及びＮはネットワーク上の他のサービスと競合しない所定の値とする。また、ポート番号の決定においてもカウンタ値の補正がなされても良い。なお、このポート番号を算出する処理は初期化処理部１０３により実行されるものとする。
【００７１】
カウンタ値を初期化した暗号装置１はカウンタ値の初期化が終了したことを暗号装置２に更新前のカウンタ値と共有秘密情報に基づいて暗号化して通知し（図１０−Ｓ５０６、図１３−Ｄ５０６）、暗号装置２はその通知を受信する（図１０−Ｓ５０７、図１３−Ｄ５０７）。
【００７２】
さらに暗号装置２は他のクライアント動作する暗号装置１へステップＳ５０３〜Ｓ５０７の動作を鍵更新する装置の数だけ繰り返し実行する（図１０−Ｓ５０８）。なお、夫々の装置において更新されるカウンタ初期値は処理時点の時間に合わせて更新されたカウンタ初期値である。
【００７３】
鍵更新すべき全ての暗号装置１に対して更新を実行した暗号装置２は暗号装置１とのずれが生じないように調整するために、複数の暗号装置１との処理応答において生じた最大遅延時間に応じた時間待機した後にカウンタ値をカウンタ初期値に置き換える（図１０−Ｓ５０９、図１４−Ｄ５０９）。
【００７４】
以上の動作により、暗号装置１及び暗号装置２はカウンタ値の更新という処理によって鍵の更新を行なうことができるため、従来技術の鍵の更新よりも装置のリソースを消費しない。
【００７５】
次に、上述の鍵更新処理において、カウンタ値が更新されなかったクライアント動作する暗号装置に対する鍵更新処理について説明する。図１５はエラーを返すクライアントとして動作する暗号装置に対する鍵更新処理の動作を示すシーケンス図である。また、図１６〜図１８は図１５の鍵更新処理における画面表示を示す図である。なお、図１５において、暗号装置１は図３のステップＳ２０５においてカウンタ値が補正の許容値Ｎを超えており、カウンタ値の更新がなされていないものとする。
【００７６】
まず、暗号装置２は暗号装置１に対してエラー通知を送信し（図１５−Ｓ６０１、図１６−Ｄ６０１）、暗号装置１はエラー通知を受信する（図１５−Ｓ６０２、図１６−Ｄ６０２）。なお、暗号装置１はエラー通知を受信した際、カウンタ値の更新をするか否かを暗号装置１のユーザに確認するために、ＰＩＮコードによる利用者認証を実施しても良い。
【００７７】
次に、暗号装置１は図９において説明したように共有秘密情報に基づいて共通鍵を生成し（図１５−Ｓ６０３）、同様に暗号装置２も共有秘密情報に基づいて共通鍵を生成し（図１５−Ｓ６０４）、両装置間での通信確認を行なう（図１５−Ｓ６０５）。
【００７８】
共有秘密情報に基づく暗号通信が確立されると、暗号装置２の共通鍵処理部２０３は初期化処理部２０２を介してユーザＩＦ部２０１にディスプレイに接続要求が来ている旨を通知させる（図１５−Ｓ６０６、図１７−Ｄ６０６）。なお、暗号装置１からの接続要求に対する暗号装置２の選択肢は、“一時的接続許可”、“恒久的接続許可”、“接続拒否”とする。“一時的接続許可”が選択されると、暗号装置２の共通鍵処理部２０３は乱数を生成し、それをカウンタ値として暗号装置１に送信する。また、“恒久的接続許可”が選択されると、暗号装置２の共通鍵処理部１０３はカウンタ処理部２０６からその時点のカウンタ値を取得し、暗号装置１へ送信する。また、“接続拒否”が選択されると暗号装置２は暗号装置１との通信を終了し、初期化処理を終了する。図４においては、“恒久的接続許可”が選択されたものとする。
【００７９】
接続を許可した暗号装置２の共通鍵処理部２０３は暗号装置１に対しカウンタ値を送信し（図１５−Ｓ６０７、図１８−Ｄ６０７）、暗号装置１はカウンタ値を取得する（図１５−Ｓ６０８、図１８−Ｄ６０８）。
【００８０】
カウンタ値を取得した暗号装置１はカウンタ値をリセットして、以降は共有秘密情報及びカウンタ値に基づいて暗号装置２と暗号通信を行なう。
【００８１】
なお、本実施の形態では装置内部に発明を実施する機能が予め記録されている場合で説明をしたが、これに限らず同様の機能をネットワークから装置にダウンロードしても良いし、同様の機能を記録媒体に記憶させたものを装置にインストールしてもよい。記録媒体としては、ＣＤ−ＲＯＭ等プログラムを記憶でき、かつ装置が読み取り可能な記録媒体であれば、その形態は何れの形態であっても良い。またこのように予めインストールやダウンロードにより得る機能は装置内部のＯＳ（オペレーティング・システム）等と共働してその機能を実現させるものであってもよい。
【図面の簡単な説明】
【００８２】
【図１】本実施の形態における暗号装置の構成を示すブロック図である。
【図２】暗号装置の共通鍵の更新動作を示すシーケンス図である。
【図３】暗号装置のカウンタ補正処理の動作を示すフローチャートである。
【図４】暗号装置の共有秘密情報及びカウンタ値の初期化動作を示すシーケンス図である。
【図５】初期化動作における画面表示を示す図である。
【図６】初期化動作における画面表示を示す図である。
【図７】初期化動作における画面表示を示す図である。
【図８】初期化動作における画面表示を示す図である。
【図９】暗号装置の共有秘密情報による共通鍵生成処理の動作を示すシーケンス図である。
【図１０】暗号装置の複数鍵更新処理の動作を示すシーケンス図である。
【図１１】複数鍵更新処理における画面表示を示す図である。
【図１２】複数鍵更新処理における画面表示を示す図である。
【図１３】複数鍵更新処理における画面表示を示す図である。
【図１４】複数鍵更新処理における画面表示を示す図である。
【図１５】エラーを返すクライアントとして動作する暗号装置に対する鍵更新処理の動作を示す図である。
【図１６】エラーを返すクライアントに対する鍵更新処理における画面表示を示す図である。
【図１７】エラーを返すクライアントに対する鍵更新処理における画面表示を示す図である。
【図１８】エラーを返すクライアントに対する鍵更新処理における画面表示を示す図である。
【符号の説明】
【００８３】
暗号装置、１０１，２０１  ユーザＩＦ部、１０２，２０２  初期化処理部、１０３，２０３  共通鍵処理部、１０４，２０４  共通鍵管部、１０５，２０５  暗号通信部、１０６，２０６  カウンタ処理部、１０７，２０７  セキュア保存領域。
【図１】
2010068396.tif 000003
【図２】
2010068396.tif 000004
【図３】
2010068396.tif 000005
【図４】
2010068396.tif 000006
【図５】
2010068396.tif 000007
【図６】
2010068396.tif 000008
【図７】
2010068396.tif 000009
【図８】
2010068396.tif 000010
【図９】
2010068396.tif 000011
【図１０】
2010068396.tif 000012
【図１１】
2010068396.tif 000013
【図１２】
2010068396.tif 000014
【図１３】
2010068396.tif 000015
【図１４】
2010068396.tif 000016
【図１５】
2010068396.tif 000017
【図１６】
2010068396.tif 000018
【図１７】
2010068396.tif 000019
【図１８】
2010068396.tif 000020