(57)【要約】【課題】実際の通信状態に関連する品質情報等を考慮して、データの秘匿性と通信品質の両立を図ること。【解決手段】１つまたは複数の通信媒体に対してデータの送受信を行う通信部と、通信部の状態を監視し現在の通信状態を特定する品質情報を取得する通信状態検出部と、取得した品質情報に基づいて暗号化レベルを決定する暗号化レベル決定部と、決定された暗号化レベルに基づいて送信データを暗号化する暗号部とを備えたこと。【選択図】　図１
2004064652.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数の通信媒体に対してデータの送受信を行う通信部と、通信部の状態を監視し現在の通信状態を特定する品質情報を取得する通信状態検出部と、取得した品質情報に基づいて暗号化レベルを決定する暗号化レベル決定部と、決定された暗号化レベルに基づいて送信データを暗号化する暗号部とを備えたことを特徴とする通信機器。
【請求項２】
前記通信状態検出部が、前記品質情報として、通信部の単位時間あたりに送受信されるデータ量、通信部の現在のリンク速度、通信部の通信エラー率、および通信部が所定のデータを送信した時からそのデータに対する応答データを受信するまでの時間のうち、少なくともいずれか１つ以上を取得することを特徴とする請求項１の通信機器。
【請求項３】
前記通信部が無線によるデータの送受信を行う場合、前記通信状態検出部は、受信する電波強度を前記品質情報として取得することを特徴とする請求項１または２の通信機器。
【請求項４】
前記暗号化レベル決定部が決定する暗号化レベルは、暗号化鍵の鍵長，暗号化方式，暗号化処理の適用回数，暗号化されたデータに付加される初期化ベクトルのデータ量のうち、少なくともいずれか一つ以上から構成されることを特徴とする請求項１の通信機器。
【請求項５】
前記暗号化鍵の鍵長が、一方向性を持ったハッシュ関数により生成されることを特徴とする請求項４の通信機器。
【請求項６】
前記暗号化レベル決定部により決定された暗号化レベルが、前記暗号部により暗号化されたデータに付加されて通信部により送信されることを特徴とする請求項４の通信機器。
【請求項７】
前記暗号部が使用する暗号化鍵自体が、所定の暗号化方式で暗号化され、かつ前記暗号化鍵を使用して暗号化された送信データとは異なるデータとして、通信部により送信されることを特徴とする請求項４の通信機器。
【請求項８】
前記通信部が受信したデータに含まれる暗号化レベルの情報に基づいて、通信部が受信したデータを復号する復号部をさらに備えたことを特徴とする請求項１の通信機器。
【請求項９】
送信データの中に予め付与された機密度情報、または、送信データに含まれる特定の情報から設定される機密度情報を検出する機密度情報検出部をさらに備え、前記暗号化レベル決定部が、前記取得された品質情報と検出された機密度情報とを用いて暗号化レベルを決定することを特徴とする請求項１の通信機器。
【請求項１０】
送信データの中に予め付与されたデータ転送の優先度情報、または送信データに含まれる特定の情報から設定される優先度情報を検出する優先度情報検出部をさらに備え、前記暗号化レベル決定部が、前記取得された品質情報と検出された優先度情報とを用いて暗号化レベルを決定することを特徴とする請求項１の通信機器。
【請求項１１】
送信データの中に予め付与された機密度情報および優先度情報、または送信データに含まれる特定の情報から設定される機密度情報および優先度情報を検出する機密度／優先度検出部と、前記品質情報，機密度情報および優先度情報のうちいずれの情報を用いて暗号化レベルを決定すべきかを設定する情報設定部とをさらに備え、前記暗号化レベル決定部が、前記情報設定部によって設定された情報を用いて暗号化レベルを決定することを特徴とする請求項１の通信機器。
【請求項１２】
複数の通信媒体に対してそれぞれ中継データの送受信を行う複数の通信部と、通信部の状態を監視し現在の通信状態を特定する品質情報と、通信部で中継されるデータに関する中継情報とを取得する通信状態検出部と、取得した品質情報および中継情報とに基づいて暗号化レベルを決定する暗号化レベル決定部と、決定された暗号化レベルに基づいて中継データを暗号化する暗号部と、決定された暗号化レベルに基づいて中継データを復号化する復号部とを備え、前記通信部が受信した中継データを復号部により復号した後、暗号部により暗号化して、中継データを受信した通信部とは異なる通信部から前記暗号化された中継データを送信することを特徴とする通信機器。
【請求項１３】
前記中継情報が、通信部の通信ポート種別情報，所定の通信部が単位時間あたりに中継するデータの合計量、および上位プロトコルレイヤにおける暗号化情報のうち、少なくともいずれか１つ以上から構成されることを特徴とする請求項１２の通信機器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、通信装置に関し、特に情報の秘匿性と通信品質の両立を図ることのできる通信装置に関するものである。
【０００２】
【従来の技術】
近年のインターネットの普及、無線を利用する通信機器の普及等によって、通信機器が伝送する情報において、第三者による盗聴に対しての秘匿性を保つために、情報を暗号化して伝送することは、必要不可欠なものとなっている。
【０００３】
その一方で伝送する情報には様々なものがあり、それぞれの情報によって、必要とされる機密度は異なる。例えば、認証に必要なパスワード等の情報は厳重に暗号化されている必要があるが、インターネットのホームページ上で一般に公開されているデータは暗号化する必要はない。このような様々なデータについて一様に暗号化して伝送していたのでは、効率が悪い。また、データを暗号化して送信する際にはその暗号化レベルによって暗号化に必要とされる処理能力が異なり、結果として暗号化して伝送することが可能な最大の通信能力が異なることとなる。
【０００４】
このような課題に対して、特開平７−２９５８９２号公報では、ファイルの機密度に応じて最適な機密制御を自動的に得るセキュアシステムが提案されている。
図１３に、従来のこのセキュアシステムの全体構造を示すブロック図を示し、図１４にその一実施例のフローチャートを示す。
【０００５】
図１３において、５１は暗号化データの転送を管理する送信側のデータ転送管理部、５２は転送するデータ、５３はデータの転送の有無を判定するデータ転送判定手段、５４は暗号化レベルを決定するために使用されるパラメータ情報、５５はパラメータ情報５４を用いてデータの暗号化レベルを決定する暗号化レベル決定手段、５６は決定された暗号化レベルによりデータを暗号化するレベル別暗号化手段、５７は暗号化されたデータ、５８はデータを転送するデータ転送手段、５９はデータの暗号化のための鍵及び暗号化レベル情報、６０は転送されたデータの受信を管理する受信側のデータ転送管理部、６１は転送されたデータを受信するデータ受信手段、６２はデータを復号するレベル別復号手段である。
【０００６】
次にこのセキュアシステムにおける動作を、図１４のフローチャートを参照しながら説明する。まず、送信側５１のデータ転送判定手段５３はデータ５２の転送要求があるかどうかを判定する（ステップＳ６２）。要求がなければ処理は何も行わない。要求があれば、暗号化レベル決定手段５５は転送のためのパラメータ情報５４を収集する（ステップＳ６３）。
【０００７】
パラメータ情報５４は、データの転送速度、データの転送媒体、データの転送先計算機からなる。どのようなパラメータ情報を収集するかは、予めユーザが設定しておく。
次に、暗号化レベル決定手段５５はこれらパラメータ情報のうち、例えばデータの転送媒体という情報を用いて暗号化レベルを決定する（ステップＳ６４）。転送媒体と暗号化レベルの対応は、予めユーザが設定しておく。
【０００８】
このようにして暗号化レベル決定手段５５により決定した暗号化レベルに従って、レベル別暗号化手段５６はデータ５２を暗号化する（ステップＳ６５）。データが暗号化されたら、データ転送手段５８は暗号に使われた暗号化レベルと鍵５９を、送信者と受信者以外の人に秘密にするため、二重暗号化方式を用いて受信側６０に転送する（ステップ６６）。その後同じくデータ転送手段５８は暗号化したデータ５７を受信側６０に転送する（ステップＳ６７）。転送されたデータは、予め転送されている暗号化レベルと鍵５９と共にデータ受信手段６１により受信側に取り込まれ、レベル別復号手段６２により復号される。
【０００９】
【発明が解決しようとする課題】
しかし、このような従来のセキュアシステムでは、データの転送速度、データの転送媒体、データの転送先計算機をパラメータ情報として暗号化レベルを決定するが、実際の転送能力や品質は、データに関するパラメータ情報だけでは判断できない。
実際の転送能力や品質は、通信媒体のノイズ状況、稼働率等、通信状態の様々な要素によって刻一刻と変化する。また、通信ポートを介して転送されるデータは単一のデータとは限らず、複数の様々な種類のデータの転送が並行して行われることも多々あり、データに関するパラメータ情報を暗号化レベル決定の制御因子とすると、実際の通信状態との間での齟齬を生じる。
【００１０】
即ち、例えばリアルタイム性を必要とされるが、機密度があまり必要とされないような、インターネット上で公開されている動画、音声等のストリーミングデータの送信中に、他のリアルタイム性の要求されないようなデータの送信要求によりデータを送信する場合に、高い暗号化レベルにより暗号化されているために、通信能力の限界を超え、結果としてデータの遅延および損失等によって通信品質の低下を招くような問題が発生する可能性に対応することができない。
【００１１】
その一方で、ある暗号化方式が、悪意のある第三者からの攻撃に対して、完全な安全性を永久に保証するということは不可能であるために、通信品質を損なわない範囲で、できる限り暗号の強度を高くすることが望ましい場合もある。
【００１２】
この発明は、このような事情を考慮してなされたものであり、送受信されるデータの秘匿性と通信品質の両立を図ることのできる通信装置を提供することを課題とする。
【００１３】
【課題を解決するための手段】
この発明は、１つまたは複数の通信媒体に対してデータの送受信を行う通信部と、通信部の状態を監視し現在の通信状態を特定する品質情報を取得する通信状態検出部と、取得した品質情報に基づいて暗号化レベルを決定する暗号化レベル決定部と、決定された暗号化レベルに基づいて送信データを暗号化する暗号部とを備えたことを特徴とする通信機器を提供するものである。
これによれば、現在の通信環境下における種々の品質情報に対応して、送受信されるデータの秘匿性と通信品質の両立を図ることができる。
【００１４】
また、前記通信状態検出部は、前記品質情報として、通信部の単位時間あたりに送受信されるデータ量、通信部の現在のリンク速度、通信部の通信エラー率、および通信部が所定のデータを送信した時からそのデータに対する応答データを受信するまでの時間のうち、少なくともいずれか１つ以上を取得するようにしてもよい。
このような４つの品質情報は、いずれも時々刻々変化する情報であり、データ送信時に、これらの品質情報の値を取得して暗号化レベルを変更するようにすれば、現実の通信状態により適した秘匿性と通信品質を確保することができる。
【００１５】
さらに、通信部が無線によるデータの送受信を行う場合、前記通信状態検出部は、受信する電波強度を品質情報として取得するようにしてもよい。
また、暗号化レベル決定部が決定する暗号化レベルは、暗号化鍵の鍵長，暗号化方式，暗号化処理の適用回数，暗号化されたデータに付加される初期化ベクトルのデータ量のうち、少なくともいずれか一つ以上から構成してもよい。
【００１６】
ここで、暗号化鍵の鍵長とは、８ビットや１６ビット等のようなデータ長で表され、鍵長が長いほど暗号化の程度が高く、秘匿性が高くなる。
暗号化方式とは、利用できる各種暗号化手法のうちどの暗号化手法を用いるかを示した情報であり、たとえば、ＤＥＳ，ＩＤＥＡ，ＲＣ２，ＲＣ４，ＲＣ５（以上、共通鍵方式），ＲＳＡ，Ｄ−Ｈｅｌｌｍａｎ（以上、公開鍵方式），ハイブリッド方式などがある。
暗号化処理の適用回数とは、基本となる暗号化処理を何回繰り返すかを示したものであり、この回数によっても秘匿性の高さが異なる。基本となる暗号化処理として、同一の暗号化方式を複数回適用してもよいが、異なる暗号化方式を順に適用してもよい。
初期化ベクトルとは、暗号の秘匿性を高くするために暗号化鍵に加えられる冗長データであり、数ビットの予め定められた固定データである。
【００１７】
秘匿性を高めるために、前記暗号化鍵の鍵長は、一方向性を持ったハッシュ関数により生成されることが好ましい。
暗号化レベル決定部により決定された暗号化レベルの各情報は、前記暗号部により暗号化されたデータに付加されて通信部により送信されるようにしてもよい。これによれば、１つのパケットで、データそのものと暗号化レベルの情報とが同時に送信される。
【００１８】
前記暗号部が使用する暗号化鍵自体は、所定の暗号化方式で暗号化され、かつ前記暗号化鍵を使用して暗号化された送信データとは異なるデータとして、通信部が送信するようにしてもよい。これによれば、データそのものと、暗号化鍵とは、別々に送信されることになる。
前記通信部が受信したデータに含まれる暗号化レベルの情報に基づいて、受信したデータを復号する復号部をさらに備えてもよい。
【００１９】
さらに、送信データの中に予め付与された機密度情報、または、送信データに含まれる特定の情報から設定される機密度情報を検出する機密度情報検出部をさらに備え、前記暗号化レベル決定部が、取得された品質情報と検出された機密度情報とを用いて暗号化レベルを決定するようにしてもよい。
ここで、機密度情報とは、送信されるデータごとに付与される秘匿化の程度を示すものであり、たとえば高機密あるいは低機密であることを示す２段階情報でもよく、ｎ段落に分類した情報であってもよい。詳細は後述する。
【００２０】
また、送信データの中に予め付与されたデータ転送の優先度情報、または送信データに含まれる特定の情報から設定される優先度情報を検出する優先度情報検出部をさらに備え、前記暗号化レベル決定部が、前記取得された品質情報と検出された優先度情報とを用いて暗号化レベルを決定するようにしてもよい。
ここで、優先度情報とは、送信すべきデータが多数あるときに、送信の順序を決定づける情報であり、高優先あるいは低優先であることを示す２段階情報でもよく、ｎ段階に分類した情報であってもよい。多数の送信データがある場合、作成された順序にかかわらず、優先度の高いデータの方が先に転送される。
【００２１】
また、送信データの中に予め付与された機密度情報および優先度情報、または送信データに含まれる特定の情報から設定される機密度情報および優先度情報を検出する機密度／優先度検出部と、前記品質情報，機密度情報および優先度情報のうちいずれの情報を用いて暗号化レベルを決定すべきかを設定する情報設定部とをさらに備え、前記暗号化レベル決定部が、前記情報設定部によって設定された情報を用いて暗号化レベルを決定するようにしてもよい。
【００２２】
暗号化レベルを決定する因子としては、品質情報，機密度情報および優先度情報があるが、ユーザが自らの意思あるいは経験等に基づいてどの情報を利用するかを設定できるようにしてもよい。
前記情報設定部は、キー入力，スイッチ等を用いることができる。
【００２３】
上記通信機器において、通信部は、以下の実施例では通信ポートを意味し、通信ポートが１つの場合は、他の１台の通信機器と１対１の通信をその通信ポートを介して行うものであり、通信ポートが２以上の場合は、他のｎ台の通信機器と１対ｎの通信を行うものである。
【００２４】
また、通信機器の各構成要素は、ハードウェアロジックで構成してもよいが、機能拡張や変更に柔軟に対応するために、ＣＰＵ，ＲＯＭ，ＲＡＭ，Ｉ／Ｏコントローラ，タイマー等からなるマイクロコンピュータと処理手順を示したプログラムとにより構成してもよい。
また、各構成要素は物理的に独立した別々のハードウェアの要素として実現してもよいが、共通部分がある場合や小型化，コストダウンのために、統合したハードウェア要素として実現してもよい。
たとえば、暗号部および復号部を、通信部（通信ポート）の内部に固定化されたハードウェアとして形成してもよい。
【００２５】
さらに、この発明は、複数の通信媒体に対してそれぞれ中継データの送受信を行う複数の通信部と、通信部の状態を監視し、現在の通信状態を特定する品質情報と、通信部で中継されるデータに関する中継情報とを取得する通信状態検出部と、取得した品質情報および中継情報とに基づいて暗号化レベルを決定する暗号化レベル決定部と、決定された暗号化レベルに基づいて中継データを暗号化する暗号部と、決定された暗号化レベルに基づいて中継データを復号化する復号部とを備え、前記通信部が受信した中継データを復号部により復号した後、暗号部により暗号化して、中継データを受信した通信部とは異なる通信部から前記暗号化された中継データを送信することを特徴とする通信機器を提供するものである。これによれば、中継データについて、適切な情報の秘匿性と通信品質の両立を図ることができる。
【００２６】
たとえば、この通信機器は、２つの通信装置の間に配置され、２つの通信装置の間で送受信されるデータを中継するものであり、２つの通信装置が異なる通信プロトコル、異なる通信速度、異なる暗号化方式等を用いている場合においても、適切な秘匿性と通信品質を保ったまま２つの通信装置間のデータ通信を行わせるものである。
【００２７】
また、前記中継情報は、通信部の通信ポート種別情報，所定の通信部が単位時間あたりに中継するデータの合計量、および上位プロトコルレイヤにおける暗号化情報のうち少なくとも１つ以上から構成することができる。
【００２８】
【発明の実施の形態】
以下、図面に示す実施の形態に基づいてこの発明を詳述する。なお、これによってこの発明が限定されるものではない。
【００２９】
＜実施例１＞
図１に、この発明の通信機器の実施例１の全体構成ブロック図を示す。
図１の通信機器２１において、２は通信相手との間で物理的なデータの送受信を行う通信ポートである。通信ポートは、主としてハードウェアで構成され、具体的にはイーサネットによる通信の場合にはＬＡＮコントローラチップ、無線ＬＡＮによる通信の場合にはベースバンドプロセッサと無線モジュール、ＡＤＳＬによる通信の場合にはデジタルシグナルプロセッサ（ＤＳＰ）とアナログフロントエンド等が用いられる。
【００３０】
実際のハードウェア構成によっては通信ポートの処理の一部をＣＰＵを用いたソフトウェアで行う等、明確に通信ポートがハードとソフトに分離していない場合もある。ここでは、物理的に通信媒体を使用して通信相手に転送する為に必要となる通信路の確立、パケットへのヘッダ・フッタの付加、および電気的変換を行う部分を通信ポートと呼ぶこととする。
【００３１】
３は通信ポート２の通信状態を取得する通信状態検出部、４は送信データを暗号化する暗号器、５は通信状態によって暗号化レベルを決定する暗号化レベル決定部、６は暗号方式のアルゴリズム、暗号鍵等を格納する暗号データベース、７は送信データを一時保存しておく送信データキュー、８は送受信するデータが保存されているデータ記憶媒体（具体的にはメモリ、ハードディスク等）、９ａ，９ｂはデータ記憶媒体８に保存され通信ポート２から送信される送信データ、１０は通信ポート２で受信されデータ記憶媒体８に保存される受信データであり、１１は、通信ポート２で受信されたデータを復号する復号器であり、１２は、復号されたデータを一時保存するための受信データバッファである。
なお、送信専用の通信機器では、復号器１１，受信データバッファ１２はなくてもよい。
【００３２】
ここで、暗号データベース６，送信データキュー７，データ記憶媒体８，受信データバッファ１２は、ＲＡＭ，ハードディスクなどの書きかえ可能な記憶素子、記憶媒体が用いられる。
また、通信状態検出部３，暗号器４，暗号化レベル決定部５，復号器１１は、ハードウェアロジックの他、図示していないＣＰＵを中心としてＲＡＭ，ＲＯＭ，タイマー，Ｉ／Ｏコントローラ，各種レジスタ等で構成されたマイクロコンピュータを用いたソフトウェア処理によって実現することもできる。
すなわち、通信状態検出部３や暗号器４などの機能は、ＣＰＵがＲＯＭ，ＲＡＭ等に格納されたプログラムに基づいて動作することにより実現される。
【００３３】
図７に、この発明の通信機器の実施例１の送信時の動作フローチャートを示す。通信機器２１のＣＰＵが通信相手からのデータの送信要求やＩ／Ｏコントローラ経由でのコマンド入力により、データの送信命令を実行することにより、データ送信が開始される（ステップＳ１）。
次に、ＣＰＵが、送信に適用される通信プロトコルに対応づけてデータ記憶媒体８に保存されている送信データ（９ａ，９ｂ等）をパケットと呼ばれる単位に分割し、さらに、それぞれのパケットにその通信プロトコルに応じたヘッダ情報を付加し、送信データキュー７に転送する（ステップＳ２）。
【００３４】
尚、送信データはデータ量が小さく分割する必要のない場合や、すでに上位のプロトコルレイヤにおいて分割されている場合もある。また、このヘッダ情報にはパケットが分割された場合にはそのパケットが分割されたパケットであるかどうか、送信データの途中のパケットか、最終のパケットかを示す情報、およびパケットの通し番号の情報等が含まれる。
【００３５】
パケットが送信データキュー７に転送されると、通信状態検出部３は通信ポート２の通信状態の取得を行う（ステップＳ３）。ここで、通信状態の取得はパケットが送信データキュー７に転送されるたびに開始されるものとする。ただし、送信データキュー７に一時保存されたパケットのデータ量がある一定量に達するたびに開始してもよいし、または所定の単位時間ごとに開始してもよい。
【００３６】
取得される「通信状態」とは、後述するような「通信ポートの単位時間あたりの送受信されるデータ量（バイト数）」等の品質情報を意味し、暗号化レベル決定部５が暗号化レベルを決定するときの制御因子となるものである。
【００３７】
次に、暗号化レベル決定部５が、取得された通信状態によって暗号化レベルを決定する（ステップＳ４）。通信状態によって暗号化レベルを決定するアルゴリズムの詳細については後述する。なお、このアルゴリズムはＲＯＭ等の固定メモリに記憶されたものでもよいし、あるいは、機器の管理者またはユーザが所定のパラメータを設定することにより処理内容を変更することが可能なアルゴリズムでもよい。
【００３８】
次に、暗号化レベル決定部５が、ステップＳ４で決定された暗号化レベルに対応した暗号化アルゴリズム（暗号化方式）と暗号鍵とを暗号データベース６から取得して、暗号器４に転送する（ステップＳ５）。
暗号器４は、ステップＳ５で取得した暗号化アルゴリズムと暗号鍵を使用して、送信データキュー７に一時保存されたパケットを順次暗号化する（ステップＳ６）。
【００３９】
さらにＣＰＵは、暗号化された各パケットのヘッダ部分にどの暗号化レベルで暗号化されたかを示す情報（暗号化レベル情報）を付加して通信ポート２に転送する（ステップＳ７）。尚、フローチャートに図示していないが、ステップＳ４にて暗号化をしないということが決定された場合にはステップＳ５からステップＳ７までの処理は行わず、暗号化されていない通常の送受信処理と同様の動作をする。
【００４０】
通信ポート２は、転送されたパケットに対して、物理的に通信媒体を使用して通信相手に転送する為に必要となる通信路の確立、パケットへのヘッダ・フッタの付加、電気的変換を行い、順次通信相手に暗号化されたパケットを転送する（ステップＳ８）。このとき送信データ（９ａ，９ｂ等）から分割されたパケットの最終のパケットかどうかをパケットのヘッダ情報により判定し（ステップＳ９）、転送完了するまでステップＳ２に戻って繰り返し、すべてのパケットが転送完了していたならば、データの送信が完了となる（ステップＳ１０）。
【００４１】
次に、図８に、実施例１のデータ受信時のフローチャートを示す。まず、ＣＰＵが通信ポート２にて一旦受信したデータが自分宛であることを検出することにより、データの受信が開始される（ステップＳ１１）。
【００４２】
次に、通信ポート２は、物理的な通信媒体による転送の為にパケットに付加されていたヘッダ・フッタ情報を受信データから分離して復号器１１に転送する（ステップＳ１２）。復号器１１は暗号化パケットのヘッダ情報に付加された暗号化レベルの情報を読み取り、受信パケットの暗号化レベルを認識する（ステップＳ１３）。そしてこの暗号化レベルから、復号するために必要となる暗号化方式とそれに対応した暗号鍵の情報を暗号データベース６から取得する（ステップＳ１４）。但し、暗号データベースの検索は暗号化レベルが前回復号時から変化した場合にのみ検索すればよい。
【００４３】
次に復号器１１がステップＳ１４で得た暗号化方式と暗号鍵によりパケットの復号を行い、受信データバッファ１２に転送する（ステップＳ１５）。ステップＳ１６において、現在処理したパケットが最終であるかどうかを判定し、まだ最終でなければ次に受信したパケットについてステップＳ１２からＳ１５までの復号処理を繰り返す。
パケットが最終であれば、受信したパケットの通し番号にしたがって受信データを復元する（ステップＳ１７）。そして、復元された受信データをデータ記憶媒体８に保存してデータ受信の完了となる（ステップＳ１８）。
【００４４】
このような手順による送受信を行えば、リアルタイム的に変化する通信状態に対応した最適な暗号化レベルで暗号化した通信が可能となる。また、この実施例１によれば、ある送信データ９ａが送信中に別の送信データ９ｂの送信が開始された場合でも、送信するパケットはすべて一旦送信データキュー７に保存されてから通信ポート２に転送されるので、現在の通信状態の正確な情報を得ることができる。
【００４５】
次に、前記した通信状態検出部によって取得される「通信状態」の具体的内容について説明する。
この「通信状態」としては、たとえば、次のような５つの情報が考えられる。
（ａ）通信ポートを介して単位時間あたりに送受信されるデータ量（バイト数）
（ｂ）通信ポートのリンク速度
（ｃ）通信ポートの通信エラー率
（ｄ）通信ポートからデータを送信した後、そのデータに対する応答データを受信するまでの応答時間
（ｅ）無線通信を行う通信ポートが受信する電波強度
【００４６】
このような「通信状態」の情報は、暗号化レベル決定部５が暗号化レベルを決定する際の制御因子として用いられる。用いる制御因子としては、上記（ａ）〜（ｅ）のいずれか一つの情報のみを用いてもよいが、信頼性等の観点から、必要に応じて複数の「通信状態」情報を組み合わせて用いてもよい。
また、これら５つの情報に限ることはなく、他の情報を暗号化レベルの決定因子として用いてもよい。
【００４７】
単位時間あたりの送受信するデータ量（ａ）は、現在の実際の通信能力、すなわちスループットを知ることができる因子であり、このデータ量が多いことは通信能力が高いことを意味する。
ただし、常にデータ送信およびデータ受信が行われているわけではないので、単純に単位時間あたりの送受信するデータ量を求めても、正確な情報とはなりえない。その為に、連続してデータの送信または受信が行われている場合の単位時間あたりの送受信データを現在のスループットとして用いるようにする。また、頻繁に暗号化レベル決定の制御因子が変動すると処理の負荷が大きくなり結果として全体の通信能力が落ちる原因ともなるので、スループットの値の平均値を採用したり、ある一定の間隔内での最大値を求めて調整することが好ましい。
【００４８】
通信ポートのリンク速度（ｂ）は、回線接続の初期段階で回線状況に応じて判断される通信速度である。
例えば通信ポートがＡＤＳＬモデムの場合には、ＡＤＳＬモデムと局側モデム（ＤＳＬＡＭ）との間でネゴシエーションを行い、回線状況に応じてリンク速度が決定される。またＩＥＥＥ８０２．１１ｂ規格に準拠した無線ＬＡＮの場合は、１Ｍｂｐｓ、２Ｍｂｐｓ、５．５Ｍｂｐｓ、１１Ｍｂｐｓの４通りのリンク速度によって初期通信を行い、現在の電波状況によって最も適切と判断される速度がリンク速度として選ばれる。
【００４９】
通信ポートの通信エラー率（ｃ）としては、送受信したパケット数に対するエラー発生数の割合、あるいは、単位時間内のエラー発生数を用いることができる。いずれにせよ通信エラー率が高くなるとパケットの再送回数が多くなるので結果としてスループットは低下することとなる。また、通信時のエラーにはパケットの損失、チェックサムの不一致、パケットサイズ違い等のエラーがあるが、エラーの種類、エラーの発生頻度等は通信媒体、通信プロトコルによって異なるので、制御因子としての通信エラー率をどのような基準で適用するかは調整により最適化することが好ましい。
【００５０】
応答データを受信するまでの応答時間（ｄ）は通信相手側の能力も考慮した情報である。通信路の信頼性を確保するような通信の場合には、通信相手からデータが正確に届いたかどうかの応答データを受信して、データ送信の完了を確認するようになっているが、この応答データが届くまでの時間によって、通信能力を計ることができる。また、通信相手先が通信ポートで応答を返すのではなく、復号処理をした後に応答データを返すようになっていれば、通信能力だけでなく、通信相手の暗号処理能力も含めた能力を判断することができる。例えば、応答データを受信するまでの時間が長ければ復号の処理の負荷が大きいと判断し、暗号化レベルを下げて通信するということも可能となる。
【００５１】
電波強度（ｅ）は、無線通信を行う場合に用いられる情報である。無線通信を行う場合には、通信機器が移動することにより、電波強度が変化し、それによってエラー率等が変化する。結果として通信能力が変化することとなるので、電波強度を暗号化レベル決定の制御因子として用いることが好ましい。
【００５２】
また、通信媒体や通信プロトコルによって通信の信頼性や能力が異なるので、上記（ａ）〜（ｅ）の「通信状態」情報を組み合わせることによって、より柔軟で確実性の高い暗号化レベルの決定が可能となる。例えば、単位時間あたりのデータ送受信量のみを制御因子とする場合には通信相手が暗号処理能力不足のために受信パケットを破棄してしまい、再送が多発していたとしても単位時間あたりのデータ送信量は変化がないため通信能力に適した暗号化レベルだと判断し、暗号化レベルを保ったまま通信を行ってしまう。このような場合、通信エラー発生率の情報を組み合わせれば、エラーが多発していることを検知することができ、暗号化レベルを下げて通信することが可能となる。
【００５３】
次に、暗号化レベル決定部の具体的な処理内容（暗号化レベル決定アルゴリズム）について説明する。
暗号化レベル決定部５は、上記（ａ）〜（ｅ）のような「通信状態」情報を利用して暗号化レベルを決定するが、決定した暗号化レベルに対応させて、次に示すように、「暗号化鍵の鍵長の変更」や、「暗号化方式の変更」等の処理を行う。
まず、暗号化レベルの変更は、「暗号化鍵の鍵長の変更」により行うことができる。
【００５４】
例えば共通鍵を用いる方式では、データの暗号化に用いられる共通鍵のビット数を変更する。共通鍵のビット数が高くなればなるほど、暗号解読の困難さが増し、その反面暗号化および復号に必要な時間が多くなり、結果として転送能力が低くなる。予めビット数の異なる複数の共通鍵を暗号データベース６に保持するようにしてもよいし、あるマスター鍵から必要なビット数を切り出したものを共通鍵として用いてもよい。
【００５５】
但し、ビット数の異なる複数の共通鍵を持つことは非効率であり、必要なビット数を切り出して共通鍵とすることはあるビット数の共通鍵が第三者に漏洩すると、それより低いビット数の共通鍵がすべて漏洩することとなるおそれがある。そこで、マスターとなる鍵に一方向性をもったハッシュ関数を適用して、任意のビット数の鍵を生成することが好ましい。一方向性をもったハッシュ関数で生成された鍵ならば、あるビット数の鍵が仮に漏洩したとしても、その鍵からマスター鍵を求めることはほぼ不可能となる。一方向性をもったハッシュ関数の例としてはＲＦＣ（Ｒｅｑｕｅｓｔ　Ｆｏｒ　Ｃｏｍｍｅｎｔ）１３２１で規定されているＭＤ５等がある。
【００５６】
また、暗号化方式としては、共通鍵方式のほかに、公開鍵方式を用いてもよい。
しかし、公開鍵方式による暗号化は通常、共通鍵方式に比べて必要となる計算量が多いので、大量のデータ通信よりも、認証や共通鍵の転送に利用することが好ましい。
【００５７】
さらに、暗号化レベルを変更する場合に、暗号化方式そのものを変更してもよい。暗号化方式の種類によっては、使用する暗号化鍵の鍵長が同じであっても、機密性、即ち第三者による不正な暗号に対する耐性が異なり、また、処理速度、データ毎に付加される冗長なデータ量についても異なるからである。たとえば、１送信あたり送信されるデータ量が少ない場合には、共通鍵方式から公開鍵方式に変更すればよい。
【００５８】
また、暗号化レベルを変更する方法として、同一または異なる暗号化処理のステップの適用回数を変更するようにしてもよい。例えば、商用暗号として一般的に用いられているＤＥＳ（Ｄａｔａ　Ｅｎｃｒｙｐｔｉｏｎ　Ｓｔａｎｄａｒｄ）暗号方式を使ってデータを暗号化し、さらにＩＥＥＥ８０２．１１規格で規定されている無線ＬＡＮの暗号化方式ＷＥＰ（Ｗｉｒｅｄ　ＥｑｕｉｖａｌｅｎｔＰｒｉｖａｃｙ）を使って暗号化して無線通信を行っている場合に、電波状況が悪くなり必要とするスループットが得られなくなった場合、ＷＥＰによる暗号化をとりやめてＤＥＳのみの暗号化を行うようにする。これによればスループットの向上を図ることができる。また、ＤＥＳの適用回数を１回だけではなく、複数回適用するようにしてもよい。
【００５９】
また、暗号化データに付加されて送信される初期化ベクトルのデータ量を変更するようにしてもよい。例えば前述のＷＥＰは共通鍵方式による暗号化を行っているが、同じ共通鍵によって暗号化された複数のデータからの共通鍵の解析を困難にするために、暗号化はパケット毎に共通鍵に２４ビットの初期化ベクトルを付加して生成した乱数を使用する。このとき復号には共通鍵とともにこの初期化ベクトルが必要になるため、パケットに初期化ベクトルを付加して送信を行う。暗号化／復号化に要する処理以外にも、この初期化ベクトルのデータによっても、スループットが低下することになる。そこでスループットを向上させるために、電波状況によってはこの初期化ベクトルのデータ量を少なくするようにすればよい。一方、２４ビット程度の初期化ベクトルでは暗号の信頼性の面で不十分なので、通信能力に余裕がある場合、信頼性を高める為に、初期化ベクトルのデータ量を多くすればよい。
【００６０】
また、上記のように変更した暗号化レベルの情報は、暗号化されたデータのヘッダ部分に付加して送信するようにしてもよい。
また、暗号化に使用する暗号化鍵などの情報は、予め定めた暗号化方式によって暗号化し、暗号化データを送信する直前または直後に送信してもよい。より具体的には、あるビット数の共通鍵によって暗号化通信を行っているときに、暗号化レベルが変更になり、適用する共通鍵のビット数を変更する場合に、予め定めた公開鍵暗号方式で新しい共通鍵を通信先に送信することによって、受信側は新たに得た共通鍵で復号するようにする。
【００６１】
＜実施例２＞
図２に、この発明の実施例２の通信機器２２の全体構成ブロック図を示す。ここでは、通信ポート（２ａ，２ｂ）を２つ備え、さらに、データ送信先検出部１３を備えている点が、実施例１と異なる。
通信ポート（２ａ，２ｂ）の接続先は、それぞれ異なる通信相手である。データ送信先検出部１３は、送信データの送信先アドレス情報と通信ポート（２ａ、２ｂ）のそれぞれに割り当てられたアドレス情報を用いて、データを送信すべき相手がどちらの通信ポートに接続されているかを判定するものである。
また、通信状態検出部３、暗号器４、暗号化レベル決定部５、送信データキュー７、復号器１１、受信データバッファ１２は一つずつ備えた構成を図示しているが、通信ポートごとに別々に設けてもよい。
【００６２】
図９に、この発明の実施例２の送信時のフローチャートを示す。なお、受信時の動作は、図８に示したものと同様である。
ステップＳ２１において、実施例１と同様にデータ送信が開始されると、パケットに分割され、さらにそれぞれのパケットに通信プロトコルに応じたヘッダが付加されて送信データキュー７に転送される（ステップＳ２）。
【００６３】
次に、データ送信先検出部１３は、送信データキュー７にパケットが格納されたことを検出すると、そのパケットの中のヘッダ部分を確認し、そのパケットの送信先の判定、すなわち送信先がどこであるかを認識し、どちらの通信ポートを経由すべきかを認識し、通信状態検出部３に、その送信先に関する情報を与える（ステップＳ２２）。そして通信状態検出部３は、送信先に関する情報を得ると、そのパケットの送信先に対応した通信状態の取得を行う（ステップＳ２３）。
【００６４】
次に、実施例１と同様に、暗号化レベルの決定（ステップＳ４）、暗号化方式と暗号鍵とを取得して暗号器４への転送（ステップＳ５）、送信データキューのパケットの暗号化（ステップＳ６）を順次行う。
その後、ＣＰＵが、暗号化されたパケットに、暗号化レベル情報を付加して、送信先に対応した通信ポート（２ａまたは２ｂのどちらか）に、転送する（ステップＳ２４）。
【００６５】
次に、通信ポートは、この暗号化されたパケットを送信先に対して転送する（ステップＳ８）。転送したパケットが最終か否かを判定し（ステップＳ９）、最終でなければ、ステップＳ２へ戻って、ステップＳ２からＳ８までの処理を繰り返し、最終パケットならデータ送信が完了となる（ステップＳ１０）。
以上のように、この実施例２では、通信ポートを２つ備えているので、複数の送信先へデータを転送する場合に、転送効率を向上させることができ、さらに、多くの場合通信ポートのそれぞれで通信状態は異なるが、そのような場合においてもリアルタイム的に変化する通信状態に対応した最適な暗号化レベルで暗号化した通信が可能となるという効果がある。
【００６６】
＜実施例３＞
図３に、この発明の実施例３の通信機器２３の全体構成ブロック図を示す。ここでは、実施例１と同様に１つの通信ポート２４を有しているが、通信ポート２４が、その内部に暗号器２５と復号器２６とを内蔵している点が、実施例１と異なる。
【００６７】
ここで、通信ポート２４に内蔵された暗号器２５と復号器２６は、ハードウェアにより構成され、通信ポート２４の他の機能ブロックとともに一体化されたＬＳＩ素子として実現してもよい。
このように、暗号器２５と復号器２６とをハードウェア化することにより、暗号化処理と復号化処理を高速化することができ、通信機器のＣＰＵの負荷を減少させることができる。
【００６８】
通信状態検出部３，暗号化レベル決定部５，暗号データベース６，送信データキュー７，データ記憶媒体８，送信データ９，受信データ１０，受信データバッファ１２は実施例１と同様のものとする。
【００６９】
図１０に、この発明の実施例３の送信時のフローチャートを示す。ステップＳ３１において、実施例１と同様にデータ送信が開始されると、パケットに分割され、さらにそれぞれのパケットに通信プロトコルに応じたヘッダが付加されて送信データキュー７に転送される（ステップＳ２）。
【００７０】
次に、実施例１と同様に、通信状態の取得（ステップＳ３），暗号化レベルの決定（ステップＳ４）を行い、通信ポート２４が暗号化方式と暗号鍵を取得して、通信ポート内部の暗号器２５へ転送する（ステップＳ３２）。
次に、ＣＰＵは、送信データキュー７のパケットを通信ポート２４の暗号器２５へ転送する（ステップＳ３３）。
【００７１】
この後、暗号器２５は、与えられたパケットを暗号化し、暗号化レベル情報を付加する（ステップＳ３４）。
そして通信ポート２４は、通信相手に、暗号化されたパケットを転送する（ステップＳ８）。
最後に、実施例１と同様に、転送したパケットが最終か否か判定し（ステップＳ９）、最終でなければステップＳ２からＳ８までの処理を繰り返し、最終であればデータ送信完了となる（ステップＳ１０）。
【００７２】
図１１に、実施例３のデータ受信時のフローチャートを示す。
データ受信が開始されると（ステップＳ３５）、通信ポート２の復号器２６は、暗号化パケットのヘッダ情報に付加されていた暗号化レベル情報を読み取る（ステップＳ１３）。
そして復号器２６は、読み取った暗号化レベルから、復号するために必要となる暗号化方式とそれに対応した暗号鍵の情報を暗号データベース６から取得する（ステップＳ１４）。
【００７３】
次に、復号器２６が、ステップＳ１４で得た暗号化方式と暗号鍵を用いてパケットの復号を行い（ステップＳ３６）、復号されたパケットを受信データバッファ１２に転送する（ステップＳ３７）。
次に、ステップＳ１６において、現在処理したパケットが最終であるか判定し、最終でなければステップＳ１３からＳ３７までの処理を繰り返す。
【００７４】
最終であれば、受信したパケットの通し番号に従って受信データを復元し、復元された受信データをデータ記憶媒体８に保存してデータ受信の完了となる（ステップＳ１８）。これによれば、暗号処理と復号処理をハードウェアで行っているので、これらの処理の高速化とＣＰＵの負荷削減をすることができる。
【００７５】
＜実施例４＞
上記の実施例では、「通信状態」情報に基づいて、暗号化レベルを決定したが、ここでは、「通信状態」情報に加えて、「送信するデータの内容に関する情報」を用いて暗号化レベルを決定する実施例について説明する。
図４に、この発明の実施例４の通信機器の全体構成ブロック図を示す。図４では、実施例１の構成に加えて、データ内容解析部１４と、機密度／優先度検出部１５を備えている。
【００７６】
データ内容解析部１４は、送信データ９ａ，９ｂを受けてそのデータ内の特定の位置の情報を読み出して解析する部分であり、読み出された特定位置の情報は、後述するような「機密度情報」あるいは「優先度情報」が設定された特定位置の情報、または「機密度情報」あるいは「優先度情報」を特定位置に設定する際に判断材料となるような情報であり、機密度／優先度検出部１５に与えられる。一方、送信データ９ａ，９ｂそのものは送信データキュー７に与えられる。機密度／優先度検出部１５は、送信データの内容に関する情報の一つである機密度情報や優先度情報を得て、暗号化レベル決定部５へ、暗号化レベル決定の制御因子として転送する部分である。
【００７７】
暗号化レベル決定部５は、通信状態検出部３が取得した「通信状態」情報と、機密度／優先度検出部１５から与えられた「機密度情報」または「優先度情報」とを用いて、暗号化レベルを決定する。
【００７８】
したがって、実施例１〜３では、「通信状態」情報を用いて暗号化レベルを決定していたが、この実施例４では、「通信状態」と「機密度または優先度」情報によって暗号化レベルを決定するので、暗号化レベル決定部５の暗号化レベル決定アルゴリズムが上記実施例１〜３とは異なる。
【００７９】
実施例４の通信機器２７の送信時の全体的なフローチャートの流れは図７に示した実施例１の処理と同じであるが、ステップＳ２とステップＳ４の処理の内容が異なる。実施例４では、ステップＳ２において、まずデータ記憶媒体８から送信データ（９ａ，９ｂ）が読み出されデータ内容解析部１４へ転送される。そしてデータ内容解析部１４がデータが機密度または優先度に関係したデータであるかどうかを解析して必要であれば新たな機密度または優先度を設定した上でパケットへの分割をした後、送信データ（９ａ，９ｂ）を転送データキュー７へ転送する。
【００８０】
実施例４のステップＳ４では、まず送信データキュー７に転送されてきた送信データについて機密度／優先度検出部１５がパケットの特定位置の機密度情報または優先度情報に相当する情報の検出処理をした後、暗号化レベル決定部５へこれらの情報を転送する。次いで、暗号化レベル決定部５が、「通信状態」および機密度情報（または優先度情報）とを用いて暗号化レベルを決定する。図７に示したその他の処理については実施例１と同様である。
【００８１】
次に、実施例４で制御因子として利用される機密度情報と優先度情報について説明する。
「機密度情報」とは、通信の信頼性に関連した情報であり、たとえば通信の高信頼性が要求されるときは高機密を意味するデータが設定され、低信頼性でもよいときは低機密を意味するデータが設定される。
「機密度情報」としては、次の２つのうちどちらかを利用する。
（ａ）送信データ（９ａ，９ｂ）の特定の位置、たとえばヘッダ部分に予め設定される情報（データに予め設定された情報）
（ｂ）送信データ（９ａ，９ｂ）の具体的な内容を解析して、この内容をある基準に基づいて総合判断した結果設定される新たな情報
【００８２】
まず、「データに予め設定された情報」としては、送信データのヘッダ部分の付加情報を用いることができる。
たとえば、ＲＦＣ７９４で規定されているＩＰｖ４（Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ　Ｖｅｒｓｉｏｎ４）において定義されているＴｏＳ（Ｔｙｐｅ　ｏｆ　Ｓｅｒｖｉｃｅ）フィールドを用いることができる。
このＴｏＳフィールドは８ビットで構成されるが、このうち特定のビットは信頼性に関係するので、このビットの有効／無効を機密度情報として用いればよい。
【００８３】
この特定ビットが有効となっている場合、通信の高信頼性を要求するという意味であるとすると、暗号化レベル決定部５が暗号化レベルの決定をするときに、たとえ「通信状態」が悪くスループットが低いときでも暗号化レベルを下げないように決定処理を実行する。
また、このビットが有効となっているときに「通信状態」が良好でスループットが所定のしきい値レベルより高いときは、暗号化レベルを上げるようにすればよい。
【００８４】
また、データ内容解析部１４が、ＴｏＳフィールドのこの特定ビットを、ユーザが予め設定した機密度情報に書きかえるようにしてもよい。
また、ＩＰｖ４では、ＴｏＳフィールド以外にオプションフィールドが用意されているので、このオプションフィールドを機密度情報の領域として用いてもよい。たとえば、ネットワークに接続された通信機器がこのオプションフィールドにさらに細かくクラス分けした任意の機密度情報を設定するようになっていれば、オプションフィールドに設定された機密度情報を利用してもよい。
【００８５】
次に、「送信データの内容を解析して設定された新たな情報」は、送信データの内容に含まれる「認証情報」，「ユーザ名」，「パスワード」などの情報の内容自体およびこれらの情報の有無を利用して、新たに作成された情報を意味する。
この新たに作成された情報は、そのまま制御因子として暗号化レベル決定部５へ与えてもよいが、データ内容解析部１４が、前記した「データに予め設定された情報」に対応する特定ビットに書き込むようにしてもよい。
【００８６】
「優先度情報」とは、送信データの送信の優先度に関連した情報であり、この情報を見ることにより、送信の優先度の高低を判断するものである。
「優先度情報」としては、前記した「機密度情報」と同様に、（ａ）「データに予め設定された情報」あるいは、（ｂ）「送信データ内容を解析して設定された新たな情報」を利用することができる。
【００８７】
「優先度情報のデータに予め設定された情報」としては、たとえば、ＩＰｖ４のＴｏＳフィールドのうち優先度を示すデータとして定義されている特定の３ビットを直接利用することができる。
この特定の３ビットが高優先度を意味するように設定されている場合は、暗号化レベルの決定のときに、「通信状態」が悪くスループットが所定のしきい値よりも低ければ、暗号化レベルを下げるように暗号化レベルを決定する。そして、低い暗号化レベルのデータを優先的に暗号器４に与え送信先へ転送するようにする。
またデータ内容解析部１４が、この特定の３ビットを、ユーザが予め設定した優先度情報に書きかえるようにしてもよい。
さらに、前記したオプションフィールドを利用して優先度情報を設定してもよい。
【００８８】
優先度情報のうち、「送信データ内容を解析して設定された新たな情報」としては、たとえば、ＲＦＣ１８８９で規定されているＲＴＰ（Ｒｅａｌ−ｔｉｍｅ　Ｔｒａｎｓｐｏｒｔ　Ｐｒｏｔｏｃｏｌ）の情報を利用することができる。
このＲＴＰは、インターネットプロトコルを利用した音声通話のようなリアルタイム性の要求されるデータの送受信に有効であり、ＲＴＰ情報が存在するときには、高優先度を意味する新たな情報を設定するようにする。
【００８９】
この場合、データ内容解析部１４が、送信データ（９ａ，９ｂ）の中にＲＴＰのヘッダがあるかどうかを検出する。そしてＲＴＰヘッダが検出された場合、前記したＴｏＳフィールドまたはオプションフィールドの特定のビットに優先度が高いことを示す情報を設定する。
一方ＲＴＰヘッダが検出されない場合は、優先度が低いことを示す情報を設定する。
【００９０】
この優先度情報として「高優先度」が設定されている場合であって「通信状態」が悪いとき、暗号化レベル決定部５は、データ転送の遅延を抑えるために、低い暗号化レベルを設定するようにする。
以上のように、「機密度情報」または「優先度情報」を利用することにより、現在の通信環境により適したデータ送信が可能となる。
【００９１】
さらに、この機密度情報と優先度情報の両方を組み合わせ、暗号化レベル決定の制御因子とすることもできる。
この両方の情報を組み合わせることにより、送信する情報内容によっては情報の秘匿性と通信品質の両立を図ることが可能となる。たとえば、音声データの送受信、すなわち双方向の通話を行う場合、音声データの遅延が発生するとスムーズな会話ができなくなり、通信品質が悪くなる。したがって、スムーズな会話のためには一般的には、機密度は下げても優先度を高くする必要がある。
【００９２】
優先度情報のみを用いる場合、高い優先度を設定することにより暗号化レベルが下がりスムーズな会話ができることになるが、逆に秘匿性がほとんどないような状態となり得る。しかし、音声通話をするときに、その内容によっては、秘匿性を高く保ちたい場合もあり、このときには機密度を高くする必要がある。
【００９３】
このように、スムーズな会話をある程度確保した上で、秘匿性も要求される場合には、機密度情報と優先度情報の両方を考慮して、暗号化レベルを決定することが好ましい。
たとえば、暗号化レベルの決定のアルゴリズムとしては、まず「通信状態」と「優先度情報」とを得て音声データの遅延が問題とならないような暗号化レベルを選択した後、「機密度情報」を得て、その機密度情報に対応づけられたランク数だけ、選択された暗号化レベルを下げるように変更すればよい。
また、「通信状態」を示す品質情報，機密度情報，優先度情報のうちどれを、暗号化レベルの決定に使用するかを、利用者が設定できるようにしてもよい。たとえば、キー入力，スイッチにより、３つの情報のうちどれを使用するかを設定入力すればよい。
【００９４】
＜実施例５＞
ここでは、暗号化レベルを変更してデータを中継する通信機器の実施例について説明する。
図５に、この発明の実施例５の通信機器の全体構成ブロック図を示す。
実施例５の通信機器３１は、２つの通信ポート（２ａ，２ｂ）を備え、通信ポート２ａに接続された通信相手と通信ポート２ｂに接続された通信相手との間で送受信されるデータの双方向の中継を行うものである。
【００９５】
図５において、通信ポート２ａに接続された通信相手から通信ポート２ｂに接続された通信相手へ送るデータの中継のために、復号器１１ａ，データキュー３２ａ，暗号器４ａが設けられ、通信ポート２ｂに接続された通信相手から通信ポート２ｂに接続された通信相手へ送るデータの中継のために、復号器１１ｂ，データキュー３２ｂ，暗号器４ｂが設けられる。
【００９６】
たとえば、通信ポート２ａに接続された通信相手からパケットを受け取った場合、そのパケットを復号器１１ａで復号し、データキュー３２ａに一時保存し、暗号化レベル決定部５で決定した暗号レベルを用いて、一時保存されたパケットを暗号器４ａで暗号化して、通信ポート２ｂから他の通信相手へ転送する。
【００９７】
ここで、通信機器３１のＣＰＵは、データキュー３２ａに保存されたデータに対して、必要に応じてプロトコルや送受信アドレスの解析または変換、その他フィルタリング，パケットの優先度によるスケジュールリングを行う。
【００９８】
図１２に、この発明の実施例５の通信機器の動作フローチャートを示す。
ここでは、通信ポート２ａに接続された通信相手から受信したデータを、通信ポート２ｂに接続された他の通信相手に中継する場合について説明する。ただし、通信ポート２ｂから２ａへデータを中継する場合も同様である。
【００９９】
ステップＳ４１において、通信ポート２ａでデータの受信が開始されると、まず、通信ポート２ａは、物理的な通信媒体による転送のために付加されていたヘッダおよびフッタを取り除き、パケットに暗号化レベル情報が付加されているかどうかを検出すること、またはパケットに付加されている送信元情報が暗号化通信を行っている通信相手であるかどうかを判断することによってパケットが暗号化されているかどうかを判定する（ステップＳ４２）。
【０１００】
暗号化されている場合は、そのパケットデータを復号器１１ａに転送する（ステップＳ４３）。
暗号化されていない場合は、データパケットはデータキュー３２ａに転送され、ステップＳ４７へ進む。
ステップＳ４４において、復号器１１ａは、パケットのヘッダ部分に付加されている暗号化レベル情報を読み取り、パケットの暗号化レベルを判定する（ステップＳ４４）。
【０１０１】
次に、暗号データベース６を参照して、データを復号するために必要となる暗号化方式とそれに対応した暗号鍵の情報を取得する（ステップＳ４５）。
次に、これらの取得した情報を用いて、受信パケットの復号を行い、データキュー３２ａに転送する（ステップＳ４６）。
ステップＳ４７において、データキュー３２ａでパケットを解析し、解析した内容に基づいてパケットの加工を行う。ここで、パケットの加工とは、データ送信先アドレスの検出，パケットの機密度および優先度の設定，解析，検出，フィルタリング，スケジュールリング，パケットの分割／結合などを意味する。
【０１０２】
次に、ステップＳ４８において、実施例１と同様にして、通信状態検出部３がデータ送信先の「通信状態」を取得する。
ステップＳ４９において、取得した「通信状態」と、パケットの機密度および優先度を利用して、暗号化レベル決定部５が暗号化レベルを決定する。
ステップＳ５０において、暗号化レベル決定部５は、決定された暗号化レベルに対応した暗号化アルゴリズムと暗号鍵とを暗号データベース６から取得して、暗号器４ａに転送する（ステップＳ５０）。
【０１０３】
ステップＳ５１において、暗号器４ａは、データキュー３２ａに格納されていたパケットに対して順次暗号化を行う。
ステップＳ５２において、暗号化されたパケットのヘッダ部分にどの暗号化レベルで暗号化されたかを示す情報を付加して通信ポート２ｂに転送する。
最後に、ステップＳ５３において、通信ポート２ｂでは、転送されたパケットに対して、物理的に通信媒体を使用して通信相手に転送する為の処理、すなわち通信路の確立、パケットへのヘッダ・フッタの付加、電気的変換を行い、順次通信相手にパケットを転送して完了となる。
【０１０４】
次に、データキュー３２の具体的な構成の一実施例について説明する。
図６に、実施例５におけるデータキュー３２ａの構成ブロック図を示す。図５のデータキュー３２ｂも同様の構成である。
図６において、データキュー３２ａは、受信データバッファ１２および送信データキュー７とからなるメモリ素子群と、データ送信先検出部１３，スケジュール３７等の機能ブロック群とから構成される。
【０１０５】
機能ブロック群は、高速処理の観点からはハードウェアロジックで構成されることが好ましいが、ＣＰＵを中心とするマイクロコンピュータと各機能ブロックの処理手順を示したプログラムとにより実現するようにしてもよい。
また、図６に示した受信データバッファ１２，送信データキュー７，データ送信先検出部１３および機密度／優先度検出部１５は、実施例１，２および４に記載したものと同様の機能を有する機能ブロックである。
【０１０６】
パケットフィルタ３３は、転送すべきパケットを選別する部分であり、受信データバッファ１２のパケットを調べ、送信する必要のないパケット，送信許可していない端末からのパケット，アクセスを許可していない端末を宛先としたパケット等を破棄して必要なパケットのみを転送する。
【０１０７】
アドレス／プロトコル変換部３４は、ＬＡＮ上の機器による通信機器３１を介したインターネット接続のような場合に必要となるアドレス変換や、プロトコル変換を行う部分であり、具体的には、アドレス変換とはたとえばグローバルアドレスとローカルアドレスの間でアドレスを変換することを意味し、プロトコル変換とはたとえばＡＴＭとＴＣＰ／ＩＰ間でプロトコルを変換することを意味する。
【０１０８】
機密度／優先度解析部３５は、パケットフィルタ３３を通過したパケットに機密度または優先度を設定するために、そのパケットの内容を解析する部分である。また、機密度／優先度設定部３６は、パケットに機密度または優先度を設定する部分である。
たとえば、機密度／優先度解析部３５がパケットの中の上位プロトコルレイヤの種別を確認し、これがＲＴＰであれば、機密度／優先度設定部３６が優先度を高く設定する。
【０１０９】
スケジューラ３７は、パケットに付与された優先度を利用して、転送の順序を決定する部分であり、たとえば高い優先度が付与されたパケットは、優先度の低いパケットよりも先に、送信データキュー７に転送される。
【０１１０】
また、図５には、通信ポート２ａ，２ｂと独立させて暗号器４，復号器１１を設ける構成を示したが、通信ポート２ａ，２ｂ内に暗号器および復号器を内蔵するようにしてもよい。これによれば、データキュー３２の内部処理と、暗号・復号処理とを分散，並列化して全体の処理時間を短縮することができる。
【０１１１】
次に、この実施例５のデータの中継をする場合において、通信状態検出部３が取得すべき通信状態について説明する。
この実施例５では、前記した実施例１〜４と異なり、データの中継を主機能とするので、検出すべき「通信状態」の情報が実施例１〜４と異なる。
すなわち、通信ポートの送信データ量やリンク速度のような品質情報の他に、中継するデータに関する情報（中継情報）も、「通信状態」の情報として用いることが好ましい。
中継するデータに関する情報（中継情報）としては、ポートの種別，中継データの総合計量，上位プロトコルレイヤの暗号化情報などが利用できる。
【０１１２】
「ポートの種別」とは、たとえば有線か無線かを区別する情報や、通信ポートが物理的な通信を行うための通信プロトコルを区別する情報をいう。通信ポートは、通常は通信ポート（２ａ，２ｂ）のハードウェアに依存するので予め通信ポート毎にポート情報を設定しておく。たとえば、一方の通信ポート２ａが有線の通信媒体に接続され、他方の通信ポート２ｂが無線の通信媒体に接続されている場合、通常、同じ暗号化レベルで暗号化されたデータでも、無線によって送受信されるデータの方が有線のものよりも秘匿性が低いと言える。
【０１１３】
したがって、「通信状態」として無線というポートの種別を示す情報を取得した場合、その通信ポートから送信するデータは、たとえスループットが低い通信状態でも、ランクの高い暗号化レベルを用いた暗号化をするべきである。すなわち、「ポートの種別」は、中継データの暗号化レベルを選択するための基準として用いられる。
【０１１４】
「中継データの総合計量」とは、通信ポートの単位時間あたりに中継されるデータ量の合計をいう。
たとえば、この総合計量と中継の処理能力に対応する基準量とを比較して、総合計量が基準量よりも大きければ、暗号化レベルを低くし、小さければ暗号化レベルを高くするようにする。
この総合計量は、通信ポートを実際に通過するパケット数を計測することにより取得できる。実際の中継データ量の処理能力を考慮して暗号化レベルを選択すれば、より効率的かつ安全な通信が可能となる。
【０１１５】
「上位プロトコルレイヤの暗号化情報」とは、通信のために適用したプロトコル（下位プロトコル）のヘッダ情報を取り除いたデータの内容において暗号化をされているかどうかの情報を意味する。この情報は上位プロトコルにおけるヘッダ情報から取得することができる。たとえば、中継をしようとするデータがＲＦＣ２２４６で規定されている上位プロトコルレイヤの情報であるＴＬＳ（Ｔｒａｎｓｐｏｒｔ　Ｌａｙｅｒ　Ｓｅｃｕｒｉｔｙ）の暗号化がすでにされている場合、通信する情報の秘匿性がある基準レベルを越えており通信能力に余裕があるときのみ、下位のプロトコルレイヤでは高い暗号化レベルで暗号化し、その他の場合には低い暗号化レベルで暗号化するか、または暗号化処理はしないようにする。
このように、上位プロトコルレイヤの情報を用いれば、処理速度と秘匿性の観点からより適切な暗号化レベルを選択することができる。
【０１１６】
【発明の効果】
この発明によれば、実際の通信状態に関連する情報を考慮して暗号化レベルを選択することができるので、送受信されるデータの秘匿性と通信品質の両立を図ることができる。
【図面の簡単な説明】
【図１】この発明の通信機器の実施例１の全体構成ブロック図である。
【図２】この発明の通信機器の実施例２の全体構成ブロック図である。
【図３】この発明の通信機器の実施例３の全体構成ブロック図である。
【図４】この発明の通信機器の実施例４の全体構成ブロック図である。
【図５】この発明の通信機器の実施例５の全体構成ブロック図である。
【図６】この発明の実施例５のデータキューの構成ブロック図である。
【図７】この発明の通信機器の実施例１の送信時の動作フローチャートである。
【図８】この発明の通信機器の実施例１の受信時の動作フローチャートである。
【図９】この発明の通信機器の実施例２の送信時の動作フローチャートである。
【図１０】この発明の通信機器の実施例３の送信時の動作フローチャートである。
【図１１】この発明の通信機器の実施例３の受信時の動作フローチャートである。
【図１２】この発明の通信機器の実施例５の動作フローチャートである。
【図１３】従来のセキュアシステムの全体構造を示すブロック図である。
【図１４】従来のセキュアシステムの一実施例のフローチャートである。
【符号の説明】
２　　通信ポート
３　　通信状態検出部
４　　暗号器
５　　暗号化レベル決定部
６　　暗号データベース
７　　送信データキュー
８　　データ記憶媒体
９ａ　送信データ
９ｂ　送信データ
１０　　受信データ
１１　　復号器
１２　　受信データバッファ
１３　　データ送信先検出部
１４　　データ内容解析部
１５　　機密度／優先度検出部
２１　　通信機器
【図１】
2004064652.tif 000003
【図２】
2004064652.tif 000004
【図３】
2004064652.tif 000005
【図４】
2004064652.tif 000006
【図５】
2004064652.tif 000007
【図６】
2004064652.tif 000008
【図７】
2004064652.tif 000009
【図８】
2004064652.tif 000010
【図９】
2004064652.tif 000011
【図１０】
2004064652.tif 000012
【図１１】
2004064652.tif 000013
【図１２】
2004064652.tif 000014
【図１３】
2004064652.tif 000015
【図１４】
2004064652.tif 000016