(57)【要約】【課題】暗復号および認証をするパケット通信において、送信時と受信時の処理構成を共通化し、送信時と受信時の処理順序を同じにすることで開発効率を向上する暗号認証パケット通信装置、方法及びプログラムを提供する。【解決手段】パケットの送信時は、暗復号処理部１０１は入力パケットに基づいて生成した暗号化パケットを出力し、認証処理部１０４は暗号化パケットに基づいて生成した認証子を出力し、パケット出力部１０７は暗号化パケットと認証子に基づいて構築したパケットを出力する。パケットの受信時は、暗復号処理部１０１は入力したパケットに基づいて生成した復号化パケットと入力パケットを出力し、認証処理部１０４は入力パケットに基づいて生成した認証子と復号化パケットを出力し、パケット出力部１０７は認証子の整合性を確認して結果を出力する。これにより処理の共通化と処理順序の同一化をする。【選択図】        図３
2005278009.tif 000002
【特許請求の範囲】
【請求項１】
送信パケットと受信パケットとのいずれかを入力し、
送信パケットを暗号化して暗号化パケットを生成して暗号化パケットを出力し、
受信パケットを復号化して復号化パケットを生成して復号化パケットと受信パケットとを出力する暗復号処理部と、
暗復号処理部が出力した暗号化パケットと、復号化パケット及び受信パケットとのいずれかを入力し、
暗号化パケットと受信パケットとのいずれかから認証子を生成し、
暗号化パケットと復号化パケットとのいずれかと認証子とを出力する認証処理部と、
認証処理部が出力した暗号化パケットと復号化パケットとのいずれかと認証子とを入力し、
暗号化パケットと認証子を入力した場合に暗号化パケットと認証子とにより構築パケットを生成して出力し、
復号化パケットと認証子を入力した場合に認証子の整合性を確認してその結果を出力するパケット出力部とを備えた暗号認証パケット通信装置。
【請求項２】
上記暗復号処理部が出力する受信パケットを入力し、上記認証処理部に受信パケットを出力する暗復号未処理パケット蓄積部と、
上記暗復号処理部が出力した暗号化パケットと復号化パケットとのいずれかを入力し、上記認証処理部に暗号化パケットと復号化パケットとのいずれかを出力する暗復号処理済パケット蓄積部と、
上記認証処理部が出力した認証子を入力し、上記パケット出力部に認証子を出力する認証子蓄積部と、
上記認証処理部が出力した暗号化パケットと復号化パケットとのいずれかを入力し、上記パケット出力部に暗号化パケットと復号化パケットとのいずれかを出力する認証パケット蓄積部とを備えたことを特徴とする請求項１記載の暗号認証パケット通信装置。
【請求項３】
送信パケットと受信パケットはパケット処理情報を含み、
上記暗復号処理部は、送信パケットと受信パケットとのいずれかを入力し、
送信パケットと受信パケットとのいずれかを出力し、
送信パケットと受信パケットとのいずれかに含まれるパケット処理情報に基づいて、送信パケットと受信パケットとのいずれかから、暗号処理と復号処理とのいずれかを実行する暗復号処理データと、
暗号処理と復号処理とのいずれも実行しない暗復号非処理データとを出力する暗復号処理入力部と、
暗復号処理データは暗復号処理情報を含み、暗復号処理情報は暗号鍵とＩＶ（Ｉｎｉｔｉａｌ  Ｖａｌｕｅ）と暗復号区分とを含み、
暗復号処理入力部が出力した暗復号処理データに含まれる暗復号処理情報に基づいて、
暗復号化対象データをブロック単位に出力する第１暗復号ブロック整列部と、
暗復号処理入力部が出力した暗復号処理データに含まれる暗号処理情報に含まれる暗号鍵とＩＶと暗復号区分とを出力する鍵・ＩＶ制御部と、
鍵・ＩＶ制御部が出力した暗号鍵とＩＶと暗復号区分に基づいて第１暗復号ブロック整列部が出力したブロック単位の暗復号化対象データを暗号化と復号化とのいずれかをして、暗号化と復号化とのいずれかをしたブロック単位の暗復号化対象データを出力する暗復号部と、
暗復号部が出力したブロック単位の暗復号化対象データを整列し出力する第２暗復号ブロック整列部と、
第２暗復号ブロック整列部が出力した暗復号化対象データと暗復号処理入力部が出力した暗復号非処理データを結合して暗号化パケットと復号化パケットとのいずれかを生成し出力する暗復号処理出力部とを備えたことを特徴とする請求項１記載の暗号認証パケット通信装置。
【請求項４】
暗号化パケットと復号化パケットと受信パケットはパケット処理情報を含み、
上記認証処理部は、暗号化パケットと、復号化パケット及び受信パケットとのいずれかを入力し、
暗号化パケットと復号化パケットとのいずれかを出力し、
暗号化パケットと、復号化パケット及び受信パケットとのいずれかに含まれるパケット情報に基づいて、暗号化パケットと受信パケットとのいずれかから、
認証処理を実行する認証処理データを出力する認証処理入力部と、
認証処理データは認証処理情報を含み、認証処理情報は認証鍵を含み、
認証処理入力部が出力した認証処理データに含まれる認証処理情報に基づいて、
認証対象データをブロック単位に出力する認証ブロック整列部と、
認証処理入力部が出力した認証処理データに含まれる認証処理情報に含まれる認証鍵を出力する鍵制御部と、
認証ブロック整列部が出力したブロック単位の認証対象データと鍵制御部が出力した認証鍵に基づいて認証子を生成して、生成した認証子を出力する認証部とを備えたことを特徴とする請求項１記載の暗号認証パケット通信装置。
【請求項５】
送信パケットと受信パケットとのいずれかを入力し、
暗号化と認証処理を実行する第１の種類のパケットと、
復号化と認証処理を実行する第２の種類のパケットと、
暗号化と復号化のいずれかを実行する第３の種類のパケットと、
認証処理を実行する第４の種類のパケットとのいずれであるかを判断する判断工程と、
判断工程が入力した送信パケットと受信パケットとのいずれかを第１の種類のパケットと判断した場合は、
判断工程が入力した送信パケットを暗号化して暗号化パケットを生成し、
生成した暗号化パケットから認証子を生成し、
生成した暗号化パケットと生成した認証子とにより構築パケットを生成して出力する第１の出力工程と、
判断工程が入力した送信パケットと受信パケットとのいずれかを第２の種類のパケットと判断した場合は、
判断工程が入力した受信パケットを復号化して復号化パケットを生成し、
生成した受信パケットから認証子を生成し、
生成した認証子の整合性を確認してその結果を出力する第２の出力工程と、
判断工程が入力した送信パケットと受信パケットとのいずれかを第３の種類のパケットと判断した場合は、
判断工程が入力した送信パケットを暗号化して暗号化パケットを生成し、
判断工程で入力した受信パケットを復号化して復号化パケットを生成し、
生成した暗号化パケットと復号化パケットとのいずれかを出力する第３の出力工程と、
判断工程が入力した送信パケットと受信パケットとのいずれかを第４の種類のパケットと判断した場合は、
判断工程が入力した送信パケットと受信パケットとのいずれかから認証子を生成し、
送信パケットと受信パケットとのいずれかと、生成した認証子とにより構築パケットを生成して、生成した構築パケットを出力する第４の出力工程とを備えた暗号認証パケット通信方法。
【請求項６】
送信パケットと受信パケットとのいずれかを入力し、
送信パケットを暗号化して暗号化パケットを生成して暗号化パケットを出力し、
受信パケットを復号化して復号化パケットを生成して復号化パケットと受信パケットとを出力する暗復号処理工程と、
暗復号処理工程が出力した暗号化パケットと、復号化パケット及び受信パケットとのいずれかを入力し、
暗号化パケットと受信パケットとのいずれかから認証子を生成し、
暗号化パケットと復号化パケットとのいずれかと認証子とを出力する認証処理工程と、
認証処理工程が出力した暗号化パケットと復号化パケットとのいずれかと認証子とを入力し、
暗号化パケットと認証子を入力した場合に暗号化パケットと認証子とにより構築パケットを生成して出力し、
復号化パケットと認証子を入力した場合に認証子の整合性を確認してその結果を出力するパケット出力工程とを備えた暗号認証パケット通信方法。
【請求項７】
請求項６記載の暗号認証パケット通信方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークにおける暗号認証パケット通信装置、暗号認証パケット通信方法及び暗号認証パケット通信方法をコンピュータに実行させるプログラムに関するものである。
【背景技術】
【０００２】
インターネットを利用して企業間のデータ通信を行う機会が増えているが、これに対してインターネット上に流れるデータの盗聴と改ざんが大きな問題となっている。
この問題を解決するために、パケット通信装置にパケットの暗号機能および認証機能を備えることで、転送するパケットを暗号化し、暗号化したパケットに認証コードを付加して通信を行ういわゆるＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）の方式が一般に用いられている。
【０００３】
このようなパケットの暗復号処理および認証処理は、従来はＣＰＵによるソフトウェアで実行するのが一般的であったが、近年のネットワークの高速化に伴いＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）やＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の専用のハードウェアエンジンで高速に実行するケースが増えている。
ここではそのようなパケットの暗復号処理および認証処理をハードウェアで実行する暗号認証パケット通信装置を考える。
【０００４】
パケットを暗復号あるいは認証する場合、送信時、受信時ともに暗号化パケットが認証の対象となる。従って送信時の処理順序は、まずパケットを暗号処理し、次に認証処理する。一方、受信時の処理順序は、まずパケットを認証処理し、次に復号処理する。
このように送信時と受信時で暗復号と認証の処理順序を入れ替える必要がある。
【０００５】
従来の暗号認証パケット通信装置では、パケットに対する処理順序が暗号、認証となるよう送信側回路を固定的に構成し、一方でパケットに対する処理順序が認証、復号となるよう受信側回路を固定的に構成している（例えば、特許文献１）。
【０００６】
また、従来の暗号認証パケット通信装置では、暗復号と認証の処理順序をパケットの種類に応じて変更できるように構成することで送信側回路と受信側回路を共通化し、構成している例もある（例えば、特許文献２）。
【０００７】
また、従来の暗号認証パケット通信装置では、暗復号と認証の処理順序をパケットの種類に応じて変更できるように構成することで送信側回路と受信側回路を共通化し、特に復号時の処理を高速化するために、認証処理と復号処理を並列実行できるように構成している例もある（例えば、特許文献３）。
【特許文献１】特開２００３−２０４３２６号公報
【特許文献２】特開平１０−３２７１９３号公報
【特許文献３】特開２００２−２８７６２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来の暗号認証パケット通信装置は、送信側回路と受信側回路をそれぞれ個別に設計する必要があり、開発工数および試験工数が増加するという問題点があった。
【０００９】
また従来の暗号認証パケット通信装置は、送信側回路と受信側回路を共通化した場合、パケットの種類に応じて暗復号と認証の処理順序を切り替える。このとき装置を構成する各部位は複数の部位に対してそれぞれのインターフェイスを有する。このため装置を構成する各部位間のインターフェイスは独立性が低く、開発工数および試験工数が増加するという問題点があった。
【００１０】
この発明は上記のような問題点を解決するためになされたもので、暗号認証パケット通信装置内の送信側回路と受信側回路を共通化し、かつパケットの送信の際もパケットに対する処理順序がパケットの受信の際と同様に復号、認証の順になるように構成することで、装置を構成する各部位間のインターフェイスを簡素化し、開発工数および試験工数を削減し開発効率を向上することを目的とする。
【課題を解決するための手段】
【００１１】
この発明の暗号認証通信装置は、
送信パケットと受信パケットとのいずれかを入力し、
送信パケットを暗号化して暗号化パケットを生成して暗号化パケットを出力し、
受信パケットを復号化して復号化パケットを生成して復号化パケットと受信パケットとを出力する暗復号処理部と、
暗復号処理部が出力した暗号化パケットと、復号化パケット及び受信パケットとのいずれかを入力し、
暗号化パケットと受信パケットとのいずれかから認証子を生成し、
暗号化パケットと復号化パケットとのいずれかと認証子とを出力する認証処理部と、
認証処理部が出力した暗号化パケットと復号化パケットとのいずれかと認証子とを入力し、
暗号化パケットと認証子を入力した場合に暗号化パケットと認証子とにより構築パケットを生成して出力し、
復号化パケットと認証子を入力した場合に認証子の整合性を確認してその結果を出力するパケット出力部とを備えたものである。
【発明の効果】
【００１２】
本発明によれば、送信時の処理構成と受信時の処理構成を共通化でき、加えて送信時の処理順序と受信時の処理順序を同じにすることができる。これにより、開発工数および試験工数を削減し開発効率を向上するという効果を奏する。
【発明を実施するための最良の形態】
【００１３】
実施の形態１．
実施の形態１として、暗号認証パケット通信システムの外観、暗号認証パケット通信システムのハードウェア構成、暗号認証パケット通信システムの内部構成、各種パケットの入力に対する各構成要素のデータ入出力、各構成要素の内部詳細、各構成要素の動作の流れについて説明する。
【００１４】
図１は、実施の形態１における暗号認証パケット通信システムの外観を示す図である。
図１において、暗号認証パケット通信システム５００は、システムユニット６００、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）表示装置５４１、キーボード（Ｋ／Ｂ）５４２、マウス５４３、コンパクトディスク装置（ＣＤＤ）５８６、プリンタ装置５８７、スキャナ装置５８８を備え、これらはケーブルで接続されている。
さらに、暗号認証パケット通信システム５００は、ＦＡＸ機７１０、電話器７２０とケーブルで接続され、また、ローカルエリアネットワーク（ＬＡＮ）５０５、ウェブサーバ８００を介してインターネット８０１に接続されている。
【００１５】
図２は、実施の形態１における暗号認証パケット通信システム５００のハードウェア構成図である。
図２において、暗号認証パケット通信システム５００は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５３７を備えている。ＣＰＵ５３７は、バス５３８を介してＲＯＭ５３９、ＲＡＭ５４０、通信ボード５４４、ＣＲＴ表示装置５４１、Ｋ／Ｂ５４２、マウス５４３、ＦＤＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）５４５、磁気ディスク装置５４６、ＣＤＤ５８６、プリンタ装置５８７、スキャナ装置５８８と接続されている。
ＲＡＭ５４０は、揮発性メモリの一例である。ＲＯＭ５３９、ＦＤＤ５４５、ＣＤＤ５８６、磁気ディスク装置５４６、光ディスク装置は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード５４４は、ＦＡＸ機７１０、電話器７２０、ＬＡＮ５０５等に接続されている。
例えば、通信ボード５４４、Ｋ／Ｂ５４２、ＦＤＤ５４５などは、情報入力部の一例である。
また、例えば、通信ボード５４４、スキャナ装置５８８、ＣＲＴ表示装置５４１などは、出力部の一例である。
【００１６】
ここで、通信ボード５４４は、ＬＡＮ５０５に限らず、直接、インターネット８０１、或いはＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）に接続されていても構わない。直接、インターネット８０１、或いはＩＳＤＮ等のＷＡＮに接続されている場合、暗号認証パケット通信システム５００は、インターネット８０１、或いはＩＳＤＮ等のＷＡＮに接続され、ウェブサーバ８００は不用となる。
磁気ディスク装置５４６には、オペレーティングシステム（ＯＳ）５４７、ウィンドウシステム５４８、プログラム群５４９、ファイル群５５０が記憶されている。プログラム群は、ＣＰＵ５３７、ＯＳ５４７、ウィンドウシステム５４８により実行される。
【００１７】
上記プログラム群５４９には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ５３７により読み出され実行される。
ファイル群５５０には、以下に述べる実施の形態の説明において、「〜パケット」として説明するものが、「〜ファイル」として記憶されている。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータの入出力を示し、そのデータの入出力のためにデータは、磁気ディスク装置５４６、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）、光ディスク、ＣＤ（コンパクトディスク）、ＭＤ（ミニディスク）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のその他の記録媒体に記録される。あるいは、信号線やその他の伝送媒体により伝送される。
【００１８】
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、ＲＯＭ５３９に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、ハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
【００１９】
また、以下に述べる実施の形態を実施するプログラムは、また、磁気ディスク装置５４６、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）、光ディスク、ＣＤ（コンパクトディスク）、ＭＤ（ミニディスク）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のその他の記録媒体による記録装置を用いて記憶されても構わない。
【００２０】
暗号認証パケット通信システムの内部構成を図３に基づいて説明する。
図３は暗号認証パケット通信システムの内部構成を示す図である。
暗号認証パケット通信システムは以下の要素を備えている。
暗復号処理部１０１は、入力したパケットに対して暗号化または復号化する処理（暗復号処理）を行い、暗復号処理をしたパケット（暗復号処理済パケット）と入力したパケット（暗復号未処理パケット）を出力する。
ここでパケットとは、ネットワーク上に流れるひとかたまりのデータのことをいう。ただし、入力されるデータはパケットと呼ばれるものでなくてもよい。
暗復号処理済パケット蓄積部１０２は、暗復号処理済パケットを一時的に記憶する記憶領域である。
暗復号未処理パケット蓄積部１０３は、暗復号未処理パケットを一時的に記憶する記憶領域である。
認証処理部１０４は、暗復号処理済パケットと暗復号未処理パケットを入力し、認証子を作成し、認証子と認証対象となるパケット（認証パケット）を出力する。
ここで認証子とは、パケットの送信者を確認しパケットを認証するための情報のことをいう。
認証子蓄積部１０５は、認証子を一時的に記憶する記憶領域である。
認証パケット蓄積部１０６は、認証パケットを一時的に記憶する記憶領域である。
パケット出力部１０７は、認証子と認証パケットを入力し、認証パケットに対して認証処理を行い、認証したパケットを出力する。
ここで、暗復号処理部１０１は複数の暗号アルゴリズムの処理を実装しても構わない。
また、認証処理部１０４は複数の認証アルゴリズムの処理を実装しても構わない。
また、暗復号処理済パケット蓄積部１０２と暗復号未処理パケット蓄積部１０３の記憶領域は、暗復号処理部１０１の出力を退避する形で設けても、暗復号処理部１０１で使用した領域でも構わない。
また、認証子蓄積部１０５と認証パケット蓄積部１０６の記憶領域は、認証処理部１０４の出力を退避する形で設けても、認証処理部１０４で使用した領域でも構わない。
暗復号処理済パケット蓄積部１０２、暗復号未処理パケット蓄積部１０３、認証子蓄積部１０５及び認証パケット蓄積部１０６を備えることにより、暗号認証パケット通信システムの電源が不意にオフになった場合、記憶されたパケット、認証子に基づいて処理を途中から再開したり、処理の履歴を調べることができる。
【００２１】
次に、各種パケットの入力に対する各構成要素のデータ入出力について図４〜図７に基づいて説明する。
暗復号処理部１０１が入力するパケットの種類には、第１の種類として暗号処理と認証処理の両方が必要なパケット、第２の種類として復号処理と認証処理の両方が必要なパケット、第３の種類として暗復号処理のみが必要なパケット、第４の種類として認証処理のみが必要なパケットとがある。
図４は第１の種類のパケットを入力した場合の暗号認証パケット通信システム内のデータ入出力を示す図である。
図５は第２の種類のパケットを入力した場合の暗号認証パケット通信システム内のデータ入出力を示す図である。
図６は第３の種類のパケットを入力した場合の暗号認証パケット通信システム内のデータ入出力を示す図である。
図７は第４の種類のパケットを入力した場合の暗号認証パケット通信システム内のデータ入出力を示す図である。
【００２２】
第１の種類である暗号処理と認証処理の両方が必要なパケット（送信パケット）を入力した場合について図４に基づいて説明する。
まず、暗復号処理部１０１は入力した送信パケットを暗号化して暗復号処理済パケット蓄積部１０２に出力し、入力した送信パケットを暗復号未処理パケット蓄積部１０３に出力する。
次に、認証処理部１０４は暗復号処理済パケット蓄積部１０２から暗号化パケットと、暗復号未処理パケット蓄積部１０３から送信パケットを入力し、暗号化パケットから認証子を生成して認証子蓄積部１０５に出力し、暗号化パケットを認証パケット蓄積部１０６に出力する。送信パケットは無視して破棄する。
次に、パケット出力部１０７は認証子蓄積部１０５から認証子と、認証パケット蓄積部１０６から暗号化パケットを入力し、暗号化パケットと認証子に基づいて構築パケットを生成して出力する。
ここで構築パケットとは、外部ネットワークに流すパケットのことをいう。
また、構築パケットは、パケットに認証子を付加して生成したものをいう。
【００２３】
第２の種類である復号処理と認証処理の両方が必要なパケット（受信パケット）を入力した場合について図５に基づいて説明する。
まず、暗復号処理部１０１は入力した受信パケットを復号化して暗復号処理済パケット蓄積部１０２に出力し、入力した受信パケットを暗復号未処理パケット蓄積部１０３に出力する。
次に、認証処理部１０４は暗復号処理済パケット蓄積部１０２から復号化パケットと、暗復号未処理パケット蓄積部１０３から受信パケットを入力し、受信パケットから認証子を生成して認証子蓄積部１０５に出力し、復号化パケットを認証パケット蓄積部１０６に出力する。
次に、パケット出力部１０７は認証子蓄積部１０５から認証子と、認証パケット蓄積部１０６から復号化パケットを入力し、認証子蓄積部１０５から入力した認証子と、復号化パケットに含まれる認証子が一致することを確認して復号化パケットを出力する。
【００２４】
第３の種類である暗復号処理のみが必要なパケット（パケットＡ）を入力した場合について図６に基づいて説明する。
まず、暗復号処理部１０１は入力したパケットＡを暗復号化して暗復号処理済パケット蓄積部１０２に出力し、パケットＡを暗復号未処理パケット蓄積部１０３に出力する。
次に、認証処理部１０４は暗復号処理済パケット蓄積部１０２から暗復号化パケットと、暗復号未処理パケット蓄積部１０３からパケットＡを入力し、暗復号化パケットを認証パケット蓄積部１０６に出力する。パケットＡは無視して破棄する。
次に、パケット出力部１０７は認証パケット蓄積部１０６から暗復号化パケットを入力し、暗復号化パケットを出力する。
【００２５】
第４の種類である認証処理のみが必要なパケット（パケットＢ）を入力した場合について図７に基づいて説明する。
まず、暗復号処理部１０１は入力したパケットＢを暗復号未処理パケット蓄積部１０３に出力する。
次に、認証処理部１０４は暗復号未処理パケット蓄積部１０３からパケットＢを入力し、パケットＢから認証子を生成して認証子蓄積部１０５に出力し、パケットＢを認証パケット蓄積部１０６に出力する。
次に、パケット出力部１０７は認証子蓄積部１０５から認証子と、認証パケット蓄積部１０６からパケットＢを入力し、パケットＢと認証子に基づいて構築パケットを生成して出力する。
【００２６】
暗復号処理と認証処理の両方が必要なパケットと同一の処理構成および同一の処理順序で、暗復号処理のみが必要なパケット、認証処理のみが必要なパケットも処理することができ、開発工数および試験工数を削減し開発効率を向上する。
【００２７】
次に、暗復号処理部１０１、認証処理部１０４の内部詳細について図８と図９に基づいて説明する。
図８は暗復号処理部１０１の内部構成を示す図である。
図９は認証処理部１０４の内部構成を示す図である。
【００２８】
暗復号処理部１０１の内部詳細について図８に基づいて説明する。
パケットにはパケット処理情報が含まれているものとする。
パケット処理情報とはパケットに対する暗復号処理の方法と認証処理の方法等に関する情報のことをいう。
パケット処理情報には暗復号化に必要な暗復号処理データ（暗号鍵、ＩＶ、暗復号区分等の暗復号化に必要な暗復号処理情報、暗復号化対象データ）と認証処理に必要な認証処理データ（認証鍵、認証区分等の認証化に必要な認証処理情報、認証対象データ）が含まれている。
また、暗復号区分とは暗号処理、復号処理の要否についての情報のことをいう。
また、認証区分とは認証処理の要否についての情報のことをいう。
【００２９】
暗復号処理入力部２０１は、入力したパケットに含まれるパケット処理情報に基づいて暗復号処理データを抽出して第１暗復号ブロック整列部２０２および鍵・ＩＶ制御部２０３に出力し、暗復号化に不要な暗復号非処理データ（認証鍵等の暗号化に不要な暗復号化非処理情報、暗復号化非対象データ）を抽出して暗復号処理出力部２０８に出力する。
第１暗復号ブロック整列部２０２は、暗復号化対象データを暗復号部２０４にブロック長の単位で整列して出力する。
鍵・ＩＶ制御部２０３は暗号鍵、ＩＶ、暗復号区分を暗復号部２０４に出力する。
暗復号部２０４は、鍵・ＩＶ制御部２０３が出力した暗号鍵、ＩＶ、暗復号区分に基づき、第１暗復号ブロック整列部２０２が出力した暗復号化対象データを暗号化または復号化して出力する。
擬似暗復号部２０５は、第１暗復号ブロック整列部が出力した暗復号化対象データをそのまま出力する。
第２暗復号ブロック整列部２０６と擬似暗復号ブロック整列部２０７は、それぞれ暗復号部２０４と擬似暗復号部２０５が出力したブロック長単位の暗復号化対象データをそのバイト位置に合わせて出力する。
暗復号処理出力部２０８は、暗復号処理入力部２０１が出力した暗復号非処理データと第２暗復号ブロック整列部２０６が出力した暗復号化対象データを、暗復号処理済パケット構築部２０９で結合して、暗復号処理済パケット蓄積部１０２に出力するとともに、暗復号処理入力部２０１が出力した暗復号非処理データと擬似暗復号ブロック整列部２０７が出力した暗復号化対象データを、暗復号未処理パケット構築部２１０で結合して、暗復号未処理パケット蓄積部１０３に出力する。
【００３０】
暗復号処理部１０１は、送信時の暗復号処理の構成と受信時の暗復号処理の構成とを共通化できることに加えて、送信時の暗復号処理の順序と受信時の暗復号処理の順序を同じにすることができ、開発工数および試験工数を削減し開発効率を向上する。
【００３１】
認証処理部１０４の内部詳細について図９に基づいて説明する。
認証処理入力部３０１は、暗復号処理済パケット蓄積部１０２が出力した暗復号処理済パケットおよび暗復号未処理パケット蓄積部１０３が出力した暗復号未処理パケットに含まれるパケット処理情報に基づいて認証処理データを抽出して認証ブロック整列部３０２および鍵制御部３０３に出力し、出力の対象となるパケットを認証パケット蓄積部１０６に出力する。
認証ブロック整列部３０２は、認証対象データを認証部３０４にブロック長の単位で整列して出力する。
鍵制御部３０３は認証鍵を認証部３０４に出力する。
認証部３０４は、鍵制御部３０３が出力した認証鍵と認証ブロック整列部３０２が出力した認証対象データに基づき認証子を生成して認証子蓄積部１０５に出力する。
【００３２】
認証処理部１０４は、送信時の認証処理の構成と受信時の認証処理の構成とを共通化できることに加えて、送信時の認証処理の順序と受信時の認証処理の順序を同じにすることができ、開発工数および試験工数を削減し開発効率を向上する。
【００３３】
次に、暗復号処理部１０１、認証処理部１０４、パケット出力部１０７の動作の流れについて図１０〜図１２に基づいて説明する。
図１０は暗復号処理部１０１のフローチャートである。
図１１は認証処理部１０４のフローチャートである。
図１２はパケット出力部１０７のフローチャートである。
【００３４】
暗復号処理部１０１について図１０に基づいて説明する。
暗復号処理部１０１は、パケット処理情報の暗復号区分を参照して、入力したパケットに対する暗復号処理の要否を判断する（Ｓ１）。
暗復号処理を必要と判断した場合（Ｓ１）、パケット処理情報の暗復号区分を参照して必要な処理が暗号化と復号化とのいずれであるかを判断する（Ｓ２）。
暗号処理を必要と判断した場合（Ｓ２）、入力したパケットを暗号化し（Ｓ３）、暗号化したパケットを暗復号処理済パケット蓄積部１０２に出力し（Ｓ４）、入力したパケットを暗復号未処理パケット蓄積部１０３に出力する（Ｓ５）。
復号処理を必要と判断した場合（Ｓ２）、入力したパケットを復号化し（Ｓ６）、復号化したパケットを暗復号処理済パケット蓄積部１０２に出力し（Ｓ７）、入力したパケットを暗復号未処理パケット蓄積部１０３に出力する（Ｓ８）。
暗復号処理を不要と判断した場合（Ｓ１）、入力したパケットを暗復号未処理パケット蓄積部１０３に出力する（Ｓ９）。
【００３５】
認証処理部１０４について図１１に基づいて説明する。
認証処理部１０４は暗復号処理済パケット蓄積部１０２から暗復号処理済パケット、暗復号未処理パケット蓄積部１０３から暗復号未処理パケットを入力し、パケット処理情報の認証区分を参照して入力したパケットに対する認証処理の要否を判断する（Ｓ１０）。
認証処理を必要と判断した場合（Ｓ１０）、パケット処理情報を参照して認証子を生成する対象にする入力パケットを判断する（Ｓ１１）。
認証子を生成する対象を暗復号処理済パケットと判断した場合（Ｓ１１）、暗復号処理済パケットに対する認証子を生成し（Ｓ１２）、暗復号処理未処理パケットを破棄し（Ｓ１３）、暗復号処理済パケットを認証パケット蓄積部１０６に出力し（Ｓ１４）、Ｓ１２で生成した認証子を認証子蓄積部１０５に出力する（Ｓ１５）。
認証子を生成する対象を暗復号未処理パケットと判断した場合（Ｓ１１）、暗復号未処理パケットに対する認証子を生成し（Ｓ１６）、暗復号処理済パケットを認証パケット蓄積部１０６に出力し（Ｓ１７）、暗復号未処理パケットを破棄し（Ｓ１８）、Ｓ１６で生成した認証子を認証子蓄積部１０５に出力する（Ｓ１９）。
認証処理を不要と判断した場合（Ｓ１０）、パケット処理情報の暗復号区分を参照して、入力したパケットに対する暗復号処理の有無を判断する（Ｓ２０）。
暗復号処理を処理有と判断した場合（Ｓ２０）、暗復号処理済パケットを認証パケット蓄積部１０６に出力し（Ｓ２１）、暗復号未処理パケットを破棄する（Ｓ２２）。
暗復号処理を処理無と判断した場合（Ｓ２０）、暗復号未処理パケットを認証パケット蓄積部１０６に出力する（Ｓ２３）。
【００３６】
パケット出力部１０７について図１２に基づいて説明する。
パケット出力部１０７は認証子蓄積部１０５から認証子、認証パケット蓄積部１０６から認証パケットを入力し、パケット処理情報の認証区分を参照して認証パケットに認証子を付加する処理の要否を判断する（Ｓ２４）。
認証子の付加処理を必要と判断した場合（Ｓ２４）、認証パケットに認証子を付加して構築パケットを生成し（Ｓ２５）、生成した構築パケットを出力する（Ｓ２６）。
認証子の付加処理を不要と判断した場合（Ｓ２４）、入力した認証子と認証パケットに含まれる認証子の整合性判定処理の要否を判断する（Ｓ２７）。
認証子の整合性判定処理を必要と判断した場合（Ｓ２７）、整合性判定として入力した認証子と認証パケットに含まれる認証子の一致性を判断する（Ｓ２８）。
認証子を一致と判断した場合（Ｓ２８）、認証パケットに基づいて構築パケットを生成し（Ｓ２９）、生成した構築パケットを出力する（Ｓ３０）。
認証子を不一致と判断した場合（Ｓ２８）、認証パケットを破棄する（Ｓ３１）。
認証子の整合性判定処理を不要と判断した場合（Ｓ２７）、認証パケットに基づいて構築パケットを生成し（Ｓ３２）、生成した構築パケットを出力する（Ｓ３３）。
【００３７】
実施の形態２．
実施の形態２として、実施の形態１において暗復号処理部１０１の内部構成の別例を、図１３に基づいて説明する。
【００３８】
暗復号処理入力部２１１は、入力したパケットに含まれるパケット処理情報に基づいて暗復号化に必要な暗復号処理データを抽出して第１暗復号ブロック整列部２１２および鍵・ＩＶ制御部２１３に出力し、暗復号化に不要な暗復号非処理データを抽出して暗復号処理出力部２１６に出力し、入力したパケットを暗復号処理出力部２１６に出力する。
第１暗復号ブロック整列部２１２は、暗復号化対象データを暗復号部２１４にブロック長の単位で整列して出力する。
鍵・ＩＶ制御部２１３は暗号鍵、ＩＶ、暗復号区分を暗復号部２１４に出力する。
暗復号部２１４は、鍵・ＩＶ制御部２１３が出力した暗号鍵、ＩＶ、暗復号区分に基づき、第１暗復号ブロック整列部２１２が出力した暗復号化対象データを暗号化または復号化して出力する。
第２暗復号ブロック整列部２１５は、暗復号部２１４が出力したブロック長単位の暗復号化対象データをそのバイト位置に合わせて出力する。
暗復号処理出力部２１６は、暗復号処理入力部２１１が出力した暗復号非処理データと第２暗復号ブロック整列部２１５が出力した暗復号化対象データを結合して暗復号処理済パケット蓄積部１０２に出力し、暗復号処理入力部２１１が出力した入力パケットを暗復号未処理パケット蓄積部１０３に出力する。
【００３９】
以上のように、本実施例の形態では、暗号側と復号側で共通の構成を有することを特徴とする暗号認証パケット通信装置を説明した。
また、送信時と受信時で暗復号と認証の処理順序を変更しないことを特徴とする暗号認証パケット通信装置を説明した。
また、入力した未暗号のパケットを装置内部で暗号化した後にも記憶する手段を有することを特徴とする暗号認証パケット通信装置を説明した。
また、入力した未復号のパケットを装置内部で復号化した後にも記憶する手段を有することを特徴とする暗号認証パケット通信装置を説明した。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施の形態１及び２に係る暗号認証パケット通信システムの外観図。
【図２】本発明の実施の形態１及び２に係る暗号認証パケット通信システムのハードウェア構成図。
【図３】本発明の実施の形態１及び２に係る内部構成図。
【図４】本発明の実施の形態１及び２に係るデータ入出力（第１の種類）を示す図。
【図５】本発明の実施の形態１及び２に係るデータ入出力（第２の種類）を示す図。
【図６】本発明の実施の形態１及び２に係るデータ入出力（第３の種類）を示す図。
【図７】本発明の実施の形態１及び２に係るデータ入出力（第４の種類）を示す図。
【図８】本発明の実施の形態１に係る暗復号処理部１０１の内部構成図。
【図９】本発明の実施の形態１及び２に係る認証処理部１０４の内部構成図。
【図１０】本発明の実施の形態１及び２に係る暗復号処理部１０１のフローチャート。
【図１１】本発明の実施の形態１及び２に係る認証処理部１０４のフローチャート。
【図１２】本発明の実施の形態１及び２に係るパケット出力部１０７のフローチャート。
【図１３】本発明の実施の形態２に係る暗復号処理部１０１の内部構成図。
【符号の説明】
【００４１】
１０１  暗復号処理部、１０２  暗復号処理済パケット蓄積部、１０３  暗復号未処理パケット蓄積部、１０４  認証処理部、１０５  認証子蓄積部、１０６  認証パケット蓄積部、１０７  パケット出力部、２０１  暗復号処理入力部、２０２  第１暗復号ブロック整列部、２０３  鍵・ＩＶ制御部、２０４  暗復号部、２０５  擬似暗復号部、２０６  第２暗復号ブロック整列部、２０７  擬似暗復号ブロック整列部、２０８  暗復号処理出力部、２０９  暗復号処理済パケット構築部、２１０  暗復号未処理パケット構築部、２１１  暗復号処理入力部、２１２  第１暗復号ブロック整列部、２１３  鍵・ＩＶ制御部、２１４  暗復号部、２１５  第２暗復号ブロック整列部、２１６  暗復号処理出力部、３０１  認証処理入力部、３０２  認証ブロック整列部、３０３  鍵制御部、３０４  認証部、５０５  ＬＡＮ、５３７  ＣＰＵ、５３８  バス、５３９  ＲＯＭ、５４０  ＲＡＭ、５４１  ＣＲＴ表示装置、５４２  Ｋ／Ｂ、５４３  マウス、５４４  通信ボード、５４５  ＦＤＤ、５４６  磁気ディスク装置、５４７  ＯＳ、５４８  ウィンドウシステム、５４９  プログラム群、５５０  ファイル群、５８６  ＣＤＤ、５８７  プリンタ装置、５８８  スキャナ装置、５００  暗号認証パケット通信システム、６００  システムユニット、７１０  ＦＡＸ機、７２０  電話器、８００  ウェブサーバ、８０１  インターネット。
【図１】
2005278009.tif 000003
【図２】
2005278009.tif 000004
【図３】
2005278009.tif 000005
【図４】
2005278009.tif 000006
【図５】
2005278009.tif 000007
【図６】
2005278009.tif 000008
【図７】
2005278009.tif 000009
【図８】
2005278009.tif 000010
【図９】
2005278009.tif 000011
【図１０】
2005278009.tif 000012
【図１１】
2005278009.tif 000013
【図１２】
2005278009.tif 000014
【図１３】
2005278009.tif 000015