JP2004064652A - Communication equipment - Google Patents

Communication equipment Download PDF

Info

Publication number
JP2004064652A
JP2004064652A JP2002223474A JP2002223474A JP2004064652A JP 2004064652 A JP2004064652 A JP 2004064652A JP 2002223474 A JP2002223474 A JP 2002223474A JP 2002223474 A JP2002223474 A JP 2002223474A JP 2004064652 A JP2004064652 A JP 2004064652A
Authority
JP
Japan
Prior art keywords
communication
data
information
encryption
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002223474A
Other languages
Japanese (ja)
Inventor
Satoru Matsuyama
松山 悟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2002223474A priority Critical patent/JP2004064652A/en
Publication of JP2004064652A publication Critical patent/JP2004064652A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To make compatible secrecy of data and communication quality while taking into account quality information or the like associated with a real communication status. <P>SOLUTION: The communication equipment is provided with: a communication part for transmitting-receiving data with one or a plurality of communication medium; a communication status detecting part for monitoring a status of the communication part to acquire the quality information specifying the present communication status; an encryption level determining part for determining an encryption level based upon the acquired quality information; and a cipher part for encrypting the transmitting data based upon the determined encryption level. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
この発明は、通信装置に関し、特に情報の秘匿性と通信品質の両立を図ることのできる通信装置に関するものである。
【0002】
【従来の技術】
近年のインターネットの普及、無線を利用する通信機器の普及等によって、通信機器が伝送する情報において、第三者による盗聴に対しての秘匿性を保つために、情報を暗号化して伝送することは、必要不可欠なものとなっている。
【0003】
その一方で伝送する情報には様々なものがあり、それぞれの情報によって、必要とされる機密度は異なる。例えば、認証に必要なパスワード等の情報は厳重に暗号化されている必要があるが、インターネットのホームページ上で一般に公開されているデータは暗号化する必要はない。このような様々なデータについて一様に暗号化して伝送していたのでは、効率が悪い。また、データを暗号化して送信する際にはその暗号化レベルによって暗号化に必要とされる処理能力が異なり、結果として暗号化して伝送することが可能な最大の通信能力が異なることとなる。
【0004】
このような課題に対して、特開平7−295892号公報では、ファイルの機密度に応じて最適な機密制御を自動的に得るセキュアシステムが提案されている。
図13に、従来のこのセキュアシステムの全体構造を示すブロック図を示し、図14にその一実施例のフローチャートを示す。
【0005】
図13において、51は暗号化データの転送を管理する送信側のデータ転送管理部、52は転送するデータ、53はデータの転送の有無を判定するデータ転送判定手段、54は暗号化レベルを決定するために使用されるパラメータ情報、55はパラメータ情報54を用いてデータの暗号化レベルを決定する暗号化レベル決定手段、56は決定された暗号化レベルによりデータを暗号化するレベル別暗号化手段、57は暗号化されたデータ、58はデータを転送するデータ転送手段、59はデータの暗号化のための鍵及び暗号化レベル情報、60は転送されたデータの受信を管理する受信側のデータ転送管理部、61は転送されたデータを受信するデータ受信手段、62はデータを復号するレベル別復号手段である。
【0006】
次にこのセキュアシステムにおける動作を、図14のフローチャートを参照しながら説明する。まず、送信側51のデータ転送判定手段53はデータ52の転送要求があるかどうかを判定する(ステップS62)。要求がなければ処理は何も行わない。要求があれば、暗号化レベル決定手段55は転送のためのパラメータ情報54を収集する(ステップS63)。
【0007】
パラメータ情報54は、データの転送速度、データの転送媒体、データの転送先計算機からなる。どのようなパラメータ情報を収集するかは、予めユーザが設定しておく。
次に、暗号化レベル決定手段55はこれらパラメータ情報のうち、例えばデータの転送媒体という情報を用いて暗号化レベルを決定する(ステップS64)。転送媒体と暗号化レベルの対応は、予めユーザが設定しておく。
【0008】
このようにして暗号化レベル決定手段55により決定した暗号化レベルに従って、レベル別暗号化手段56はデータ52を暗号化する(ステップS65)。データが暗号化されたら、データ転送手段58は暗号に使われた暗号化レベルと鍵59を、送信者と受信者以外の人に秘密にするため、二重暗号化方式を用いて受信側60に転送する(ステップ66)。その後同じくデータ転送手段58は暗号化したデータ57を受信側60に転送する(ステップS67)。転送されたデータは、予め転送されている暗号化レベルと鍵59と共にデータ受信手段61により受信側に取り込まれ、レベル別復号手段62により復号される。
【0009】
【発明が解決しようとする課題】
しかし、このような従来のセキュアシステムでは、データの転送速度、データの転送媒体、データの転送先計算機をパラメータ情報として暗号化レベルを決定するが、実際の転送能力や品質は、データに関するパラメータ情報だけでは判断できない。
実際の転送能力や品質は、通信媒体のノイズ状況、稼働率等、通信状態の様々な要素によって刻一刻と変化する。また、通信ポートを介して転送されるデータは単一のデータとは限らず、複数の様々な種類のデータの転送が並行して行われることも多々あり、データに関するパラメータ情報を暗号化レベル決定の制御因子とすると、実際の通信状態との間での齟齬を生じる。
【0010】
即ち、例えばリアルタイム性を必要とされるが、機密度があまり必要とされないような、インターネット上で公開されている動画、音声等のストリーミングデータの送信中に、他のリアルタイム性の要求されないようなデータの送信要求によりデータを送信する場合に、高い暗号化レベルにより暗号化されているために、通信能力の限界を超え、結果としてデータの遅延および損失等によって通信品質の低下を招くような問題が発生する可能性に対応することができない。
【0011】
その一方で、ある暗号化方式が、悪意のある第三者からの攻撃に対して、完全な安全性を永久に保証するということは不可能であるために、通信品質を損なわない範囲で、できる限り暗号の強度を高くすることが望ましい場合もある。
【0012】
この発明は、このような事情を考慮してなされたものであり、送受信されるデータの秘匿性と通信品質の両立を図ることのできる通信装置を提供することを課題とする。
【0013】
【課題を解決するための手段】
この発明は、1つまたは複数の通信媒体に対してデータの送受信を行う通信部と、通信部の状態を監視し現在の通信状態を特定する品質情報を取得する通信状態検出部と、取得した品質情報に基づいて暗号化レベルを決定する暗号化レベル決定部と、決定された暗号化レベルに基づいて送信データを暗号化する暗号部とを備えたことを特徴とする通信機器を提供するものである。
これによれば、現在の通信環境下における種々の品質情報に対応して、送受信されるデータの秘匿性と通信品質の両立を図ることができる。
【0014】
また、前記通信状態検出部は、前記品質情報として、通信部の単位時間あたりに送受信されるデータ量、通信部の現在のリンク速度、通信部の通信エラー率、および通信部が所定のデータを送信した時からそのデータに対する応答データを受信するまでの時間のうち、少なくともいずれか1つ以上を取得するようにしてもよい。
このような4つの品質情報は、いずれも時々刻々変化する情報であり、データ送信時に、これらの品質情報の値を取得して暗号化レベルを変更するようにすれば、現実の通信状態により適した秘匿性と通信品質を確保することができる。
【0015】
さらに、通信部が無線によるデータの送受信を行う場合、前記通信状態検出部は、受信する電波強度を品質情報として取得するようにしてもよい。
また、暗号化レベル決定部が決定する暗号化レベルは、暗号化鍵の鍵長,暗号化方式,暗号化処理の適用回数,暗号化されたデータに付加される初期化ベクトルのデータ量のうち、少なくともいずれか一つ以上から構成してもよい。
【0016】
ここで、暗号化鍵の鍵長とは、8ビットや16ビット等のようなデータ長で表され、鍵長が長いほど暗号化の程度が高く、秘匿性が高くなる。
暗号化方式とは、利用できる各種暗号化手法のうちどの暗号化手法を用いるかを示した情報であり、たとえば、DES,IDEA,RC2,RC4,RC5(以上、共通鍵方式),RSA,D−Hellman(以上、公開鍵方式),ハイブリッド方式などがある。
暗号化処理の適用回数とは、基本となる暗号化処理を何回繰り返すかを示したものであり、この回数によっても秘匿性の高さが異なる。基本となる暗号化処理として、同一の暗号化方式を複数回適用してもよいが、異なる暗号化方式を順に適用してもよい。
初期化ベクトルとは、暗号の秘匿性を高くするために暗号化鍵に加えられる冗長データであり、数ビットの予め定められた固定データである。
【0017】
秘匿性を高めるために、前記暗号化鍵の鍵長は、一方向性を持ったハッシュ関数により生成されることが好ましい。
暗号化レベル決定部により決定された暗号化レベルの各情報は、前記暗号部により暗号化されたデータに付加されて通信部により送信されるようにしてもよい。これによれば、1つのパケットで、データそのものと暗号化レベルの情報とが同時に送信される。
【0018】
前記暗号部が使用する暗号化鍵自体は、所定の暗号化方式で暗号化され、かつ前記暗号化鍵を使用して暗号化された送信データとは異なるデータとして、通信部が送信するようにしてもよい。これによれば、データそのものと、暗号化鍵とは、別々に送信されることになる。
前記通信部が受信したデータに含まれる暗号化レベルの情報に基づいて、受信したデータを復号する復号部をさらに備えてもよい。
【0019】
さらに、送信データの中に予め付与された機密度情報、または、送信データに含まれる特定の情報から設定される機密度情報を検出する機密度情報検出部をさらに備え、前記暗号化レベル決定部が、取得された品質情報と検出された機密度情報とを用いて暗号化レベルを決定するようにしてもよい。
ここで、機密度情報とは、送信されるデータごとに付与される秘匿化の程度を示すものであり、たとえば高機密あるいは低機密であることを示す2段階情報でもよく、n段落に分類した情報であってもよい。詳細は後述する。
【0020】
また、送信データの中に予め付与されたデータ転送の優先度情報、または送信データに含まれる特定の情報から設定される優先度情報を検出する優先度情報検出部をさらに備え、前記暗号化レベル決定部が、前記取得された品質情報と検出された優先度情報とを用いて暗号化レベルを決定するようにしてもよい。
ここで、優先度情報とは、送信すべきデータが多数あるときに、送信の順序を決定づける情報であり、高優先あるいは低優先であることを示す2段階情報でもよく、n段階に分類した情報であってもよい。多数の送信データがある場合、作成された順序にかかわらず、優先度の高いデータの方が先に転送される。
【0021】
また、送信データの中に予め付与された機密度情報および優先度情報、または送信データに含まれる特定の情報から設定される機密度情報および優先度情報を検出する機密度/優先度検出部と、前記品質情報,機密度情報および優先度情報のうちいずれの情報を用いて暗号化レベルを決定すべきかを設定する情報設定部とをさらに備え、前記暗号化レベル決定部が、前記情報設定部によって設定された情報を用いて暗号化レベルを決定するようにしてもよい。
【0022】
暗号化レベルを決定する因子としては、品質情報,機密度情報および優先度情報があるが、ユーザが自らの意思あるいは経験等に基づいてどの情報を利用するかを設定できるようにしてもよい。
前記情報設定部は、キー入力,スイッチ等を用いることができる。
【0023】
上記通信機器において、通信部は、以下の実施例では通信ポートを意味し、通信ポートが1つの場合は、他の1台の通信機器と1対1の通信をその通信ポートを介して行うものであり、通信ポートが2以上の場合は、他のn台の通信機器と1対nの通信を行うものである。
【0024】
また、通信機器の各構成要素は、ハードウェアロジックで構成してもよいが、機能拡張や変更に柔軟に対応するために、CPU,ROM,RAM,I/Oコントローラ,タイマー等からなるマイクロコンピュータと処理手順を示したプログラムとにより構成してもよい。
また、各構成要素は物理的に独立した別々のハードウェアの要素として実現してもよいが、共通部分がある場合や小型化,コストダウンのために、統合したハードウェア要素として実現してもよい。
たとえば、暗号部および復号部を、通信部(通信ポート)の内部に固定化されたハードウェアとして形成してもよい。
【0025】
さらに、この発明は、複数の通信媒体に対してそれぞれ中継データの送受信を行う複数の通信部と、通信部の状態を監視し、現在の通信状態を特定する品質情報と、通信部で中継されるデータに関する中継情報とを取得する通信状態検出部と、取得した品質情報および中継情報とに基づいて暗号化レベルを決定する暗号化レベル決定部と、決定された暗号化レベルに基づいて中継データを暗号化する暗号部と、決定された暗号化レベルに基づいて中継データを復号化する復号部とを備え、前記通信部が受信した中継データを復号部により復号した後、暗号部により暗号化して、中継データを受信した通信部とは異なる通信部から前記暗号化された中継データを送信することを特徴とする通信機器を提供するものである。これによれば、中継データについて、適切な情報の秘匿性と通信品質の両立を図ることができる。
【0026】
たとえば、この通信機器は、2つの通信装置の間に配置され、2つの通信装置の間で送受信されるデータを中継するものであり、2つの通信装置が異なる通信プロトコル、異なる通信速度、異なる暗号化方式等を用いている場合においても、適切な秘匿性と通信品質を保ったまま2つの通信装置間のデータ通信を行わせるものである。
【0027】
また、前記中継情報は、通信部の通信ポート種別情報,所定の通信部が単位時間あたりに中継するデータの合計量、および上位プロトコルレイヤにおける暗号化情報のうち少なくとも1つ以上から構成することができる。
【0028】
【発明の実施の形態】
以下、図面に示す実施の形態に基づいてこの発明を詳述する。なお、これによってこの発明が限定されるものではない。
【0029】
<実施例1>
図1に、この発明の通信機器の実施例1の全体構成ブロック図を示す。
図1の通信機器21において、2は通信相手との間で物理的なデータの送受信を行う通信ポートである。通信ポートは、主としてハードウェアで構成され、具体的にはイーサネットによる通信の場合にはLANコントローラチップ、無線LANによる通信の場合にはベースバンドプロセッサと無線モジュール、ADSLによる通信の場合にはデジタルシグナルプロセッサ(DSP)とアナログフロントエンド等が用いられる。
【0030】
実際のハードウェア構成によっては通信ポートの処理の一部をCPUを用いたソフトウェアで行う等、明確に通信ポートがハードとソフトに分離していない場合もある。ここでは、物理的に通信媒体を使用して通信相手に転送する為に必要となる通信路の確立、パケットへのヘッダ・フッタの付加、および電気的変換を行う部分を通信ポートと呼ぶこととする。
【0031】
3は通信ポート2の通信状態を取得する通信状態検出部、4は送信データを暗号化する暗号器、5は通信状態によって暗号化レベルを決定する暗号化レベル決定部、6は暗号方式のアルゴリズム、暗号鍵等を格納する暗号データベース、7は送信データを一時保存しておく送信データキュー、8は送受信するデータが保存されているデータ記憶媒体(具体的にはメモリ、ハードディスク等)、9a,9bはデータ記憶媒体8に保存され通信ポート2から送信される送信データ、10は通信ポート2で受信されデータ記憶媒体8に保存される受信データであり、11は、通信ポート2で受信されたデータを復号する復号器であり、12は、復号されたデータを一時保存するための受信データバッファである。
なお、送信専用の通信機器では、復号器11,受信データバッファ12はなくてもよい。
【0032】
ここで、暗号データベース6,送信データキュー7,データ記憶媒体8,受信データバッファ12は、RAM,ハードディスクなどの書きかえ可能な記憶素子、記憶媒体が用いられる。
また、通信状態検出部3,暗号器4,暗号化レベル決定部5,復号器11は、ハードウェアロジックの他、図示していないCPUを中心としてRAM,ROM,タイマー,I/Oコントローラ,各種レジスタ等で構成されたマイクロコンピュータを用いたソフトウェア処理によって実現することもできる。
すなわち、通信状態検出部3や暗号器4などの機能は、CPUがROM,RAM等に格納されたプログラムに基づいて動作することにより実現される。
【0033】
図7に、この発明の通信機器の実施例1の送信時の動作フローチャートを示す。通信機器21のCPUが通信相手からのデータの送信要求やI/Oコントローラ経由でのコマンド入力により、データの送信命令を実行することにより、データ送信が開始される(ステップS1)。
次に、CPUが、送信に適用される通信プロトコルに対応づけてデータ記憶媒体8に保存されている送信データ(9a,9b等)をパケットと呼ばれる単位に分割し、さらに、それぞれのパケットにその通信プロトコルに応じたヘッダ情報を付加し、送信データキュー7に転送する(ステップS2)。
【0034】
尚、送信データはデータ量が小さく分割する必要のない場合や、すでに上位のプロトコルレイヤにおいて分割されている場合もある。また、このヘッダ情報にはパケットが分割された場合にはそのパケットが分割されたパケットであるかどうか、送信データの途中のパケットか、最終のパケットかを示す情報、およびパケットの通し番号の情報等が含まれる。
【0035】
パケットが送信データキュー7に転送されると、通信状態検出部3は通信ポート2の通信状態の取得を行う(ステップS3)。ここで、通信状態の取得はパケットが送信データキュー7に転送されるたびに開始されるものとする。ただし、送信データキュー7に一時保存されたパケットのデータ量がある一定量に達するたびに開始してもよいし、または所定の単位時間ごとに開始してもよい。
【0036】
取得される「通信状態」とは、後述するような「通信ポートの単位時間あたりの送受信されるデータ量(バイト数)」等の品質情報を意味し、暗号化レベル決定部5が暗号化レベルを決定するときの制御因子となるものである。
【0037】
次に、暗号化レベル決定部5が、取得された通信状態によって暗号化レベルを決定する(ステップS4)。通信状態によって暗号化レベルを決定するアルゴリズムの詳細については後述する。なお、このアルゴリズムはROM等の固定メモリに記憶されたものでもよいし、あるいは、機器の管理者またはユーザが所定のパラメータを設定することにより処理内容を変更することが可能なアルゴリズムでもよい。
【0038】
次に、暗号化レベル決定部5が、ステップS4で決定された暗号化レベルに対応した暗号化アルゴリズム(暗号化方式)と暗号鍵とを暗号データベース6から取得して、暗号器4に転送する(ステップS5)。
暗号器4は、ステップS5で取得した暗号化アルゴリズムと暗号鍵を使用して、送信データキュー7に一時保存されたパケットを順次暗号化する(ステップS6)。
【0039】
さらにCPUは、暗号化された各パケットのヘッダ部分にどの暗号化レベルで暗号化されたかを示す情報(暗号化レベル情報)を付加して通信ポート2に転送する(ステップS7)。尚、フローチャートに図示していないが、ステップS4にて暗号化をしないということが決定された場合にはステップS5からステップS7までの処理は行わず、暗号化されていない通常の送受信処理と同様の動作をする。
【0040】
通信ポート2は、転送されたパケットに対して、物理的に通信媒体を使用して通信相手に転送する為に必要となる通信路の確立、パケットへのヘッダ・フッタの付加、電気的変換を行い、順次通信相手に暗号化されたパケットを転送する(ステップS8)。このとき送信データ(9a,9b等)から分割されたパケットの最終のパケットかどうかをパケットのヘッダ情報により判定し(ステップS9)、転送完了するまでステップS2に戻って繰り返し、すべてのパケットが転送完了していたならば、データの送信が完了となる(ステップS10)。
【0041】
次に、図8に、実施例1のデータ受信時のフローチャートを示す。まず、CPUが通信ポート2にて一旦受信したデータが自分宛であることを検出することにより、データの受信が開始される(ステップS11)。
【0042】
次に、通信ポート2は、物理的な通信媒体による転送の為にパケットに付加されていたヘッダ・フッタ情報を受信データから分離して復号器11に転送する(ステップS12)。復号器11は暗号化パケットのヘッダ情報に付加された暗号化レベルの情報を読み取り、受信パケットの暗号化レベルを認識する(ステップS13)。そしてこの暗号化レベルから、復号するために必要となる暗号化方式とそれに対応した暗号鍵の情報を暗号データベース6から取得する(ステップS14)。但し、暗号データベースの検索は暗号化レベルが前回復号時から変化した場合にのみ検索すればよい。
【0043】
次に復号器11がステップS14で得た暗号化方式と暗号鍵によりパケットの復号を行い、受信データバッファ12に転送する(ステップS15)。ステップS16において、現在処理したパケットが最終であるかどうかを判定し、まだ最終でなければ次に受信したパケットについてステップS12からS15までの復号処理を繰り返す。
パケットが最終であれば、受信したパケットの通し番号にしたがって受信データを復元する(ステップS17)。そして、復元された受信データをデータ記憶媒体8に保存してデータ受信の完了となる(ステップS18)。
【0044】
このような手順による送受信を行えば、リアルタイム的に変化する通信状態に対応した最適な暗号化レベルで暗号化した通信が可能となる。また、この実施例1によれば、ある送信データ9aが送信中に別の送信データ9bの送信が開始された場合でも、送信するパケットはすべて一旦送信データキュー7に保存されてから通信ポート2に転送されるので、現在の通信状態の正確な情報を得ることができる。
【0045】
次に、前記した通信状態検出部によって取得される「通信状態」の具体的内容について説明する。
この「通信状態」としては、たとえば、次のような5つの情報が考えられる。
(a)通信ポートを介して単位時間あたりに送受信されるデータ量(バイト数)
(b)通信ポートのリンク速度
(c)通信ポートの通信エラー率
(d)通信ポートからデータを送信した後、そのデータに対する応答データを受信するまでの応答時間
(e)無線通信を行う通信ポートが受信する電波強度
【0046】
このような「通信状態」の情報は、暗号化レベル決定部5が暗号化レベルを決定する際の制御因子として用いられる。用いる制御因子としては、上記(a)〜(e)のいずれか一つの情報のみを用いてもよいが、信頼性等の観点から、必要に応じて複数の「通信状態」情報を組み合わせて用いてもよい。
また、これら5つの情報に限ることはなく、他の情報を暗号化レベルの決定因子として用いてもよい。
【0047】
単位時間あたりの送受信するデータ量(a)は、現在の実際の通信能力、すなわちスループットを知ることができる因子であり、このデータ量が多いことは通信能力が高いことを意味する。
ただし、常にデータ送信およびデータ受信が行われているわけではないので、単純に単位時間あたりの送受信するデータ量を求めても、正確な情報とはなりえない。その為に、連続してデータの送信または受信が行われている場合の単位時間あたりの送受信データを現在のスループットとして用いるようにする。また、頻繁に暗号化レベル決定の制御因子が変動すると処理の負荷が大きくなり結果として全体の通信能力が落ちる原因ともなるので、スループットの値の平均値を採用したり、ある一定の間隔内での最大値を求めて調整することが好ましい。
【0048】
通信ポートのリンク速度(b)は、回線接続の初期段階で回線状況に応じて判断される通信速度である。
例えば通信ポートがADSLモデムの場合には、ADSLモデムと局側モデム(DSLAM)との間でネゴシエーションを行い、回線状況に応じてリンク速度が決定される。またIEEE802.11b規格に準拠した無線LANの場合は、1Mbps、2Mbps、5.5Mbps、11Mbpsの4通りのリンク速度によって初期通信を行い、現在の電波状況によって最も適切と判断される速度がリンク速度として選ばれる。
【0049】
通信ポートの通信エラー率(c)としては、送受信したパケット数に対するエラー発生数の割合、あるいは、単位時間内のエラー発生数を用いることができる。いずれにせよ通信エラー率が高くなるとパケットの再送回数が多くなるので結果としてスループットは低下することとなる。また、通信時のエラーにはパケットの損失、チェックサムの不一致、パケットサイズ違い等のエラーがあるが、エラーの種類、エラーの発生頻度等は通信媒体、通信プロトコルによって異なるので、制御因子としての通信エラー率をどのような基準で適用するかは調整により最適化することが好ましい。
【0050】
応答データを受信するまでの応答時間(d)は通信相手側の能力も考慮した情報である。通信路の信頼性を確保するような通信の場合には、通信相手からデータが正確に届いたかどうかの応答データを受信して、データ送信の完了を確認するようになっているが、この応答データが届くまでの時間によって、通信能力を計ることができる。また、通信相手先が通信ポートで応答を返すのではなく、復号処理をした後に応答データを返すようになっていれば、通信能力だけでなく、通信相手の暗号処理能力も含めた能力を判断することができる。例えば、応答データを受信するまでの時間が長ければ復号の処理の負荷が大きいと判断し、暗号化レベルを下げて通信するということも可能となる。
【0051】
電波強度(e)は、無線通信を行う場合に用いられる情報である。無線通信を行う場合には、通信機器が移動することにより、電波強度が変化し、それによってエラー率等が変化する。結果として通信能力が変化することとなるので、電波強度を暗号化レベル決定の制御因子として用いることが好ましい。
【0052】
また、通信媒体や通信プロトコルによって通信の信頼性や能力が異なるので、上記(a)〜(e)の「通信状態」情報を組み合わせることによって、より柔軟で確実性の高い暗号化レベルの決定が可能となる。例えば、単位時間あたりのデータ送受信量のみを制御因子とする場合には通信相手が暗号処理能力不足のために受信パケットを破棄してしまい、再送が多発していたとしても単位時間あたりのデータ送信量は変化がないため通信能力に適した暗号化レベルだと判断し、暗号化レベルを保ったまま通信を行ってしまう。このような場合、通信エラー発生率の情報を組み合わせれば、エラーが多発していることを検知することができ、暗号化レベルを下げて通信することが可能となる。
【0053】
次に、暗号化レベル決定部の具体的な処理内容(暗号化レベル決定アルゴリズム)について説明する。
暗号化レベル決定部5は、上記(a)〜(e)のような「通信状態」情報を利用して暗号化レベルを決定するが、決定した暗号化レベルに対応させて、次に示すように、「暗号化鍵の鍵長の変更」や、「暗号化方式の変更」等の処理を行う。
まず、暗号化レベルの変更は、「暗号化鍵の鍵長の変更」により行うことができる。
【0054】
例えば共通鍵を用いる方式では、データの暗号化に用いられる共通鍵のビット数を変更する。共通鍵のビット数が高くなればなるほど、暗号解読の困難さが増し、その反面暗号化および復号に必要な時間が多くなり、結果として転送能力が低くなる。予めビット数の異なる複数の共通鍵を暗号データベース6に保持するようにしてもよいし、あるマスター鍵から必要なビット数を切り出したものを共通鍵として用いてもよい。
【0055】
但し、ビット数の異なる複数の共通鍵を持つことは非効率であり、必要なビット数を切り出して共通鍵とすることはあるビット数の共通鍵が第三者に漏洩すると、それより低いビット数の共通鍵がすべて漏洩することとなるおそれがある。そこで、マスターとなる鍵に一方向性をもったハッシュ関数を適用して、任意のビット数の鍵を生成することが好ましい。一方向性をもったハッシュ関数で生成された鍵ならば、あるビット数の鍵が仮に漏洩したとしても、その鍵からマスター鍵を求めることはほぼ不可能となる。一方向性をもったハッシュ関数の例としてはRFC(Request For Comment)1321で規定されているMD5等がある。
【0056】
また、暗号化方式としては、共通鍵方式のほかに、公開鍵方式を用いてもよい。
しかし、公開鍵方式による暗号化は通常、共通鍵方式に比べて必要となる計算量が多いので、大量のデータ通信よりも、認証や共通鍵の転送に利用することが好ましい。
【0057】
さらに、暗号化レベルを変更する場合に、暗号化方式そのものを変更してもよい。暗号化方式の種類によっては、使用する暗号化鍵の鍵長が同じであっても、機密性、即ち第三者による不正な暗号に対する耐性が異なり、また、処理速度、データ毎に付加される冗長なデータ量についても異なるからである。たとえば、1送信あたり送信されるデータ量が少ない場合には、共通鍵方式から公開鍵方式に変更すればよい。
【0058】
また、暗号化レベルを変更する方法として、同一または異なる暗号化処理のステップの適用回数を変更するようにしてもよい。例えば、商用暗号として一般的に用いられているDES(Data Encryption Standard)暗号方式を使ってデータを暗号化し、さらにIEEE802.11規格で規定されている無線LANの暗号化方式WEP(Wired EquivalentPrivacy)を使って暗号化して無線通信を行っている場合に、電波状況が悪くなり必要とするスループットが得られなくなった場合、WEPによる暗号化をとりやめてDESのみの暗号化を行うようにする。これによればスループットの向上を図ることができる。また、DESの適用回数を1回だけではなく、複数回適用するようにしてもよい。
【0059】
また、暗号化データに付加されて送信される初期化ベクトルのデータ量を変更するようにしてもよい。例えば前述のWEPは共通鍵方式による暗号化を行っているが、同じ共通鍵によって暗号化された複数のデータからの共通鍵の解析を困難にするために、暗号化はパケット毎に共通鍵に24ビットの初期化ベクトルを付加して生成した乱数を使用する。このとき復号には共通鍵とともにこの初期化ベクトルが必要になるため、パケットに初期化ベクトルを付加して送信を行う。暗号化/復号化に要する処理以外にも、この初期化ベクトルのデータによっても、スループットが低下することになる。そこでスループットを向上させるために、電波状況によってはこの初期化ベクトルのデータ量を少なくするようにすればよい。一方、24ビット程度の初期化ベクトルでは暗号の信頼性の面で不十分なので、通信能力に余裕がある場合、信頼性を高める為に、初期化ベクトルのデータ量を多くすればよい。
【0060】
また、上記のように変更した暗号化レベルの情報は、暗号化されたデータのヘッダ部分に付加して送信するようにしてもよい。
また、暗号化に使用する暗号化鍵などの情報は、予め定めた暗号化方式によって暗号化し、暗号化データを送信する直前または直後に送信してもよい。より具体的には、あるビット数の共通鍵によって暗号化通信を行っているときに、暗号化レベルが変更になり、適用する共通鍵のビット数を変更する場合に、予め定めた公開鍵暗号方式で新しい共通鍵を通信先に送信することによって、受信側は新たに得た共通鍵で復号するようにする。
【0061】
<実施例2>
図2に、この発明の実施例2の通信機器22の全体構成ブロック図を示す。ここでは、通信ポート(2a,2b)を2つ備え、さらに、データ送信先検出部13を備えている点が、実施例1と異なる。
通信ポート(2a,2b)の接続先は、それぞれ異なる通信相手である。データ送信先検出部13は、送信データの送信先アドレス情報と通信ポート(2a、2b)のそれぞれに割り当てられたアドレス情報を用いて、データを送信すべき相手がどちらの通信ポートに接続されているかを判定するものである。
また、通信状態検出部3、暗号器4、暗号化レベル決定部5、送信データキュー7、復号器11、受信データバッファ12は一つずつ備えた構成を図示しているが、通信ポートごとに別々に設けてもよい。
【0062】
図9に、この発明の実施例2の送信時のフローチャートを示す。なお、受信時の動作は、図8に示したものと同様である。
ステップS21において、実施例1と同様にデータ送信が開始されると、パケットに分割され、さらにそれぞれのパケットに通信プロトコルに応じたヘッダが付加されて送信データキュー7に転送される(ステップS2)。
【0063】
次に、データ送信先検出部13は、送信データキュー7にパケットが格納されたことを検出すると、そのパケットの中のヘッダ部分を確認し、そのパケットの送信先の判定、すなわち送信先がどこであるかを認識し、どちらの通信ポートを経由すべきかを認識し、通信状態検出部3に、その送信先に関する情報を与える(ステップS22)。そして通信状態検出部3は、送信先に関する情報を得ると、そのパケットの送信先に対応した通信状態の取得を行う(ステップS23)。
【0064】
次に、実施例1と同様に、暗号化レベルの決定(ステップS4)、暗号化方式と暗号鍵とを取得して暗号器4への転送(ステップS5)、送信データキューのパケットの暗号化(ステップS6)を順次行う。
その後、CPUが、暗号化されたパケットに、暗号化レベル情報を付加して、送信先に対応した通信ポート(2aまたは2bのどちらか)に、転送する(ステップS24)。
【0065】
次に、通信ポートは、この暗号化されたパケットを送信先に対して転送する(ステップS8)。転送したパケットが最終か否かを判定し(ステップS9)、最終でなければ、ステップS2へ戻って、ステップS2からS8までの処理を繰り返し、最終パケットならデータ送信が完了となる(ステップS10)。
以上のように、この実施例2では、通信ポートを2つ備えているので、複数の送信先へデータを転送する場合に、転送効率を向上させることができ、さらに、多くの場合通信ポートのそれぞれで通信状態は異なるが、そのような場合においてもリアルタイム的に変化する通信状態に対応した最適な暗号化レベルで暗号化した通信が可能となるという効果がある。
【0066】
<実施例3>
図3に、この発明の実施例3の通信機器23の全体構成ブロック図を示す。ここでは、実施例1と同様に1つの通信ポート24を有しているが、通信ポート24が、その内部に暗号器25と復号器26とを内蔵している点が、実施例1と異なる。
【0067】
ここで、通信ポート24に内蔵された暗号器25と復号器26は、ハードウェアにより構成され、通信ポート24の他の機能ブロックとともに一体化されたLSI素子として実現してもよい。
このように、暗号器25と復号器26とをハードウェア化することにより、暗号化処理と復号化処理を高速化することができ、通信機器のCPUの負荷を減少させることができる。
【0068】
通信状態検出部3,暗号化レベル決定部5,暗号データベース6,送信データキュー7,データ記憶媒体8,送信データ9,受信データ10,受信データバッファ12は実施例1と同様のものとする。
【0069】
図10に、この発明の実施例3の送信時のフローチャートを示す。ステップS31において、実施例1と同様にデータ送信が開始されると、パケットに分割され、さらにそれぞれのパケットに通信プロトコルに応じたヘッダが付加されて送信データキュー7に転送される(ステップS2)。
【0070】
次に、実施例1と同様に、通信状態の取得(ステップS3),暗号化レベルの決定(ステップS4)を行い、通信ポート24が暗号化方式と暗号鍵を取得して、通信ポート内部の暗号器25へ転送する(ステップS32)。
次に、CPUは、送信データキュー7のパケットを通信ポート24の暗号器25へ転送する(ステップS33)。
【0071】
この後、暗号器25は、与えられたパケットを暗号化し、暗号化レベル情報を付加する(ステップS34)。
そして通信ポート24は、通信相手に、暗号化されたパケットを転送する(ステップS8)。
最後に、実施例1と同様に、転送したパケットが最終か否か判定し(ステップS9)、最終でなければステップS2からS8までの処理を繰り返し、最終であればデータ送信完了となる(ステップS10)。
【0072】
図11に、実施例3のデータ受信時のフローチャートを示す。
データ受信が開始されると(ステップS35)、通信ポート2の復号器26は、暗号化パケットのヘッダ情報に付加されていた暗号化レベル情報を読み取る(ステップS13)。
そして復号器26は、読み取った暗号化レベルから、復号するために必要となる暗号化方式とそれに対応した暗号鍵の情報を暗号データベース6から取得する(ステップS14)。
【0073】
次に、復号器26が、ステップS14で得た暗号化方式と暗号鍵を用いてパケットの復号を行い(ステップS36)、復号されたパケットを受信データバッファ12に転送する(ステップS37)。
次に、ステップS16において、現在処理したパケットが最終であるか判定し、最終でなければステップS13からS37までの処理を繰り返す。
【0074】
最終であれば、受信したパケットの通し番号に従って受信データを復元し、復元された受信データをデータ記憶媒体8に保存してデータ受信の完了となる(ステップS18)。これによれば、暗号処理と復号処理をハードウェアで行っているので、これらの処理の高速化とCPUの負荷削減をすることができる。
【0075】
<実施例4>
上記の実施例では、「通信状態」情報に基づいて、暗号化レベルを決定したが、ここでは、「通信状態」情報に加えて、「送信するデータの内容に関する情報」を用いて暗号化レベルを決定する実施例について説明する。
図4に、この発明の実施例4の通信機器の全体構成ブロック図を示す。図4では、実施例1の構成に加えて、データ内容解析部14と、機密度/優先度検出部15を備えている。
【0076】
データ内容解析部14は、送信データ9a,9bを受けてそのデータ内の特定の位置の情報を読み出して解析する部分であり、読み出された特定位置の情報は、後述するような「機密度情報」あるいは「優先度情報」が設定された特定位置の情報、または「機密度情報」あるいは「優先度情報」を特定位置に設定する際に判断材料となるような情報であり、機密度/優先度検出部15に与えられる。一方、送信データ9a,9bそのものは送信データキュー7に与えられる。機密度/優先度検出部15は、送信データの内容に関する情報の一つである機密度情報や優先度情報を得て、暗号化レベル決定部5へ、暗号化レベル決定の制御因子として転送する部分である。
【0077】
暗号化レベル決定部5は、通信状態検出部3が取得した「通信状態」情報と、機密度/優先度検出部15から与えられた「機密度情報」または「優先度情報」とを用いて、暗号化レベルを決定する。
【0078】
したがって、実施例1〜3では、「通信状態」情報を用いて暗号化レベルを決定していたが、この実施例4では、「通信状態」と「機密度または優先度」情報によって暗号化レベルを決定するので、暗号化レベル決定部5の暗号化レベル決定アルゴリズムが上記実施例1〜3とは異なる。
【0079】
実施例4の通信機器27の送信時の全体的なフローチャートの流れは図7に示した実施例1の処理と同じであるが、ステップS2とステップS4の処理の内容が異なる。実施例4では、ステップS2において、まずデータ記憶媒体8から送信データ(9a,9b)が読み出されデータ内容解析部14へ転送される。そしてデータ内容解析部14がデータが機密度または優先度に関係したデータであるかどうかを解析して必要であれば新たな機密度または優先度を設定した上でパケットへの分割をした後、送信データ(9a,9b)を転送データキュー7へ転送する。
【0080】
実施例4のステップS4では、まず送信データキュー7に転送されてきた送信データについて機密度/優先度検出部15がパケットの特定位置の機密度情報または優先度情報に相当する情報の検出処理をした後、暗号化レベル決定部5へこれらの情報を転送する。次いで、暗号化レベル決定部5が、「通信状態」および機密度情報(または優先度情報)とを用いて暗号化レベルを決定する。図7に示したその他の処理については実施例1と同様である。
【0081】
次に、実施例4で制御因子として利用される機密度情報と優先度情報について説明する。
「機密度情報」とは、通信の信頼性に関連した情報であり、たとえば通信の高信頼性が要求されるときは高機密を意味するデータが設定され、低信頼性でもよいときは低機密を意味するデータが設定される。
「機密度情報」としては、次の2つのうちどちらかを利用する。
(a)送信データ(9a,9b)の特定の位置、たとえばヘッダ部分に予め設定される情報(データに予め設定された情報)
(b)送信データ(9a,9b)の具体的な内容を解析して、この内容をある基準に基づいて総合判断した結果設定される新たな情報
【0082】
まず、「データに予め設定された情報」としては、送信データのヘッダ部分の付加情報を用いることができる。
たとえば、RFC794で規定されているIPv4(Internet Protocol Version4)において定義されているToS(Type of Service)フィールドを用いることができる。
このToSフィールドは8ビットで構成されるが、このうち特定のビットは信頼性に関係するので、このビットの有効/無効を機密度情報として用いればよい。
【0083】
この特定ビットが有効となっている場合、通信の高信頼性を要求するという意味であるとすると、暗号化レベル決定部5が暗号化レベルの決定をするときに、たとえ「通信状態」が悪くスループットが低いときでも暗号化レベルを下げないように決定処理を実行する。
また、このビットが有効となっているときに「通信状態」が良好でスループットが所定のしきい値レベルより高いときは、暗号化レベルを上げるようにすればよい。
【0084】
また、データ内容解析部14が、ToSフィールドのこの特定ビットを、ユーザが予め設定した機密度情報に書きかえるようにしてもよい。
また、IPv4では、ToSフィールド以外にオプションフィールドが用意されているので、このオプションフィールドを機密度情報の領域として用いてもよい。たとえば、ネットワークに接続された通信機器がこのオプションフィールドにさらに細かくクラス分けした任意の機密度情報を設定するようになっていれば、オプションフィールドに設定された機密度情報を利用してもよい。
【0085】
次に、「送信データの内容を解析して設定された新たな情報」は、送信データの内容に含まれる「認証情報」,「ユーザ名」,「パスワード」などの情報の内容自体およびこれらの情報の有無を利用して、新たに作成された情報を意味する。
この新たに作成された情報は、そのまま制御因子として暗号化レベル決定部5へ与えてもよいが、データ内容解析部14が、前記した「データに予め設定された情報」に対応する特定ビットに書き込むようにしてもよい。
【0086】
「優先度情報」とは、送信データの送信の優先度に関連した情報であり、この情報を見ることにより、送信の優先度の高低を判断するものである。
「優先度情報」としては、前記した「機密度情報」と同様に、(a)「データに予め設定された情報」あるいは、(b)「送信データ内容を解析して設定された新たな情報」を利用することができる。
【0087】
「優先度情報のデータに予め設定された情報」としては、たとえば、IPv4のToSフィールドのうち優先度を示すデータとして定義されている特定の3ビットを直接利用することができる。
この特定の3ビットが高優先度を意味するように設定されている場合は、暗号化レベルの決定のときに、「通信状態」が悪くスループットが所定のしきい値よりも低ければ、暗号化レベルを下げるように暗号化レベルを決定する。そして、低い暗号化レベルのデータを優先的に暗号器4に与え送信先へ転送するようにする。
またデータ内容解析部14が、この特定の3ビットを、ユーザが予め設定した優先度情報に書きかえるようにしてもよい。
さらに、前記したオプションフィールドを利用して優先度情報を設定してもよい。
【0088】
優先度情報のうち、「送信データ内容を解析して設定された新たな情報」としては、たとえば、RFC1889で規定されているRTP(Real−time Transport Protocol)の情報を利用することができる。
このRTPは、インターネットプロトコルを利用した音声通話のようなリアルタイム性の要求されるデータの送受信に有効であり、RTP情報が存在するときには、高優先度を意味する新たな情報を設定するようにする。
【0089】
この場合、データ内容解析部14が、送信データ(9a,9b)の中にRTPのヘッダがあるかどうかを検出する。そしてRTPヘッダが検出された場合、前記したToSフィールドまたはオプションフィールドの特定のビットに優先度が高いことを示す情報を設定する。
一方RTPヘッダが検出されない場合は、優先度が低いことを示す情報を設定する。
【0090】
この優先度情報として「高優先度」が設定されている場合であって「通信状態」が悪いとき、暗号化レベル決定部5は、データ転送の遅延を抑えるために、低い暗号化レベルを設定するようにする。
以上のように、「機密度情報」または「優先度情報」を利用することにより、現在の通信環境により適したデータ送信が可能となる。
【0091】
さらに、この機密度情報と優先度情報の両方を組み合わせ、暗号化レベル決定の制御因子とすることもできる。
この両方の情報を組み合わせることにより、送信する情報内容によっては情報の秘匿性と通信品質の両立を図ることが可能となる。たとえば、音声データの送受信、すなわち双方向の通話を行う場合、音声データの遅延が発生するとスムーズな会話ができなくなり、通信品質が悪くなる。したがって、スムーズな会話のためには一般的には、機密度は下げても優先度を高くする必要がある。
【0092】
優先度情報のみを用いる場合、高い優先度を設定することにより暗号化レベルが下がりスムーズな会話ができることになるが、逆に秘匿性がほとんどないような状態となり得る。しかし、音声通話をするときに、その内容によっては、秘匿性を高く保ちたい場合もあり、このときには機密度を高くする必要がある。
【0093】
このように、スムーズな会話をある程度確保した上で、秘匿性も要求される場合には、機密度情報と優先度情報の両方を考慮して、暗号化レベルを決定することが好ましい。
たとえば、暗号化レベルの決定のアルゴリズムとしては、まず「通信状態」と「優先度情報」とを得て音声データの遅延が問題とならないような暗号化レベルを選択した後、「機密度情報」を得て、その機密度情報に対応づけられたランク数だけ、選択された暗号化レベルを下げるように変更すればよい。
また、「通信状態」を示す品質情報,機密度情報,優先度情報のうちどれを、暗号化レベルの決定に使用するかを、利用者が設定できるようにしてもよい。たとえば、キー入力,スイッチにより、3つの情報のうちどれを使用するかを設定入力すればよい。
【0094】
<実施例5>
ここでは、暗号化レベルを変更してデータを中継する通信機器の実施例について説明する。
図5に、この発明の実施例5の通信機器の全体構成ブロック図を示す。
実施例5の通信機器31は、2つの通信ポート(2a,2b)を備え、通信ポート2aに接続された通信相手と通信ポート2bに接続された通信相手との間で送受信されるデータの双方向の中継を行うものである。
【0095】
図5において、通信ポート2aに接続された通信相手から通信ポート2bに接続された通信相手へ送るデータの中継のために、復号器11a,データキュー32a,暗号器4aが設けられ、通信ポート2bに接続された通信相手から通信ポート2bに接続された通信相手へ送るデータの中継のために、復号器11b,データキュー32b,暗号器4bが設けられる。
【0096】
たとえば、通信ポート2aに接続された通信相手からパケットを受け取った場合、そのパケットを復号器11aで復号し、データキュー32aに一時保存し、暗号化レベル決定部5で決定した暗号レベルを用いて、一時保存されたパケットを暗号器4aで暗号化して、通信ポート2bから他の通信相手へ転送する。
【0097】
ここで、通信機器31のCPUは、データキュー32aに保存されたデータに対して、必要に応じてプロトコルや送受信アドレスの解析または変換、その他フィルタリング,パケットの優先度によるスケジュールリングを行う。
【0098】
図12に、この発明の実施例5の通信機器の動作フローチャートを示す。
ここでは、通信ポート2aに接続された通信相手から受信したデータを、通信ポート2bに接続された他の通信相手に中継する場合について説明する。ただし、通信ポート2bから2aへデータを中継する場合も同様である。
【0099】
ステップS41において、通信ポート2aでデータの受信が開始されると、まず、通信ポート2aは、物理的な通信媒体による転送のために付加されていたヘッダおよびフッタを取り除き、パケットに暗号化レベル情報が付加されているかどうかを検出すること、またはパケットに付加されている送信元情報が暗号化通信を行っている通信相手であるかどうかを判断することによってパケットが暗号化されているかどうかを判定する(ステップS42)。
【0100】
暗号化されている場合は、そのパケットデータを復号器11aに転送する(ステップS43)。
暗号化されていない場合は、データパケットはデータキュー32aに転送され、ステップS47へ進む。
ステップS44において、復号器11aは、パケットのヘッダ部分に付加されている暗号化レベル情報を読み取り、パケットの暗号化レベルを判定する(ステップS44)。
【0101】
次に、暗号データベース6を参照して、データを復号するために必要となる暗号化方式とそれに対応した暗号鍵の情報を取得する(ステップS45)。
次に、これらの取得した情報を用いて、受信パケットの復号を行い、データキュー32aに転送する(ステップS46)。
ステップS47において、データキュー32aでパケットを解析し、解析した内容に基づいてパケットの加工を行う。ここで、パケットの加工とは、データ送信先アドレスの検出,パケットの機密度および優先度の設定,解析,検出,フィルタリング,スケジュールリング,パケットの分割/結合などを意味する。
【0102】
次に、ステップS48において、実施例1と同様にして、通信状態検出部3がデータ送信先の「通信状態」を取得する。
ステップS49において、取得した「通信状態」と、パケットの機密度および優先度を利用して、暗号化レベル決定部5が暗号化レベルを決定する。
ステップS50において、暗号化レベル決定部5は、決定された暗号化レベルに対応した暗号化アルゴリズムと暗号鍵とを暗号データベース6から取得して、暗号器4aに転送する(ステップS50)。
【0103】
ステップS51において、暗号器4aは、データキュー32aに格納されていたパケットに対して順次暗号化を行う。
ステップS52において、暗号化されたパケットのヘッダ部分にどの暗号化レベルで暗号化されたかを示す情報を付加して通信ポート2bに転送する。
最後に、ステップS53において、通信ポート2bでは、転送されたパケットに対して、物理的に通信媒体を使用して通信相手に転送する為の処理、すなわち通信路の確立、パケットへのヘッダ・フッタの付加、電気的変換を行い、順次通信相手にパケットを転送して完了となる。
【0104】
次に、データキュー32の具体的な構成の一実施例について説明する。
図6に、実施例5におけるデータキュー32aの構成ブロック図を示す。図5のデータキュー32bも同様の構成である。
図6において、データキュー32aは、受信データバッファ12および送信データキュー7とからなるメモリ素子群と、データ送信先検出部13,スケジュール37等の機能ブロック群とから構成される。
【0105】
機能ブロック群は、高速処理の観点からはハードウェアロジックで構成されることが好ましいが、CPUを中心とするマイクロコンピュータと各機能ブロックの処理手順を示したプログラムとにより実現するようにしてもよい。
また、図6に示した受信データバッファ12,送信データキュー7,データ送信先検出部13および機密度/優先度検出部15は、実施例1,2および4に記載したものと同様の機能を有する機能ブロックである。
【0106】
パケットフィルタ33は、転送すべきパケットを選別する部分であり、受信データバッファ12のパケットを調べ、送信する必要のないパケット,送信許可していない端末からのパケット,アクセスを許可していない端末を宛先としたパケット等を破棄して必要なパケットのみを転送する。
【0107】
アドレス/プロトコル変換部34は、LAN上の機器による通信機器31を介したインターネット接続のような場合に必要となるアドレス変換や、プロトコル変換を行う部分であり、具体的には、アドレス変換とはたとえばグローバルアドレスとローカルアドレスの間でアドレスを変換することを意味し、プロトコル変換とはたとえばATMとTCP/IP間でプロトコルを変換することを意味する。
【0108】
機密度/優先度解析部35は、パケットフィルタ33を通過したパケットに機密度または優先度を設定するために、そのパケットの内容を解析する部分である。また、機密度/優先度設定部36は、パケットに機密度または優先度を設定する部分である。
たとえば、機密度/優先度解析部35がパケットの中の上位プロトコルレイヤの種別を確認し、これがRTPであれば、機密度/優先度設定部36が優先度を高く設定する。
【0109】
スケジューラ37は、パケットに付与された優先度を利用して、転送の順序を決定する部分であり、たとえば高い優先度が付与されたパケットは、優先度の低いパケットよりも先に、送信データキュー7に転送される。
【0110】
また、図5には、通信ポート2a,2bと独立させて暗号器4,復号器11を設ける構成を示したが、通信ポート2a,2b内に暗号器および復号器を内蔵するようにしてもよい。これによれば、データキュー32の内部処理と、暗号・復号処理とを分散,並列化して全体の処理時間を短縮することができる。
【0111】
次に、この実施例5のデータの中継をする場合において、通信状態検出部3が取得すべき通信状態について説明する。
この実施例5では、前記した実施例1〜4と異なり、データの中継を主機能とするので、検出すべき「通信状態」の情報が実施例1〜4と異なる。
すなわち、通信ポートの送信データ量やリンク速度のような品質情報の他に、中継するデータに関する情報(中継情報)も、「通信状態」の情報として用いることが好ましい。
中継するデータに関する情報(中継情報)としては、ポートの種別,中継データの総合計量,上位プロトコルレイヤの暗号化情報などが利用できる。
【0112】
「ポートの種別」とは、たとえば有線か無線かを区別する情報や、通信ポートが物理的な通信を行うための通信プロトコルを区別する情報をいう。通信ポートは、通常は通信ポート(2a,2b)のハードウェアに依存するので予め通信ポート毎にポート情報を設定しておく。たとえば、一方の通信ポート2aが有線の通信媒体に接続され、他方の通信ポート2bが無線の通信媒体に接続されている場合、通常、同じ暗号化レベルで暗号化されたデータでも、無線によって送受信されるデータの方が有線のものよりも秘匿性が低いと言える。
【0113】
したがって、「通信状態」として無線というポートの種別を示す情報を取得した場合、その通信ポートから送信するデータは、たとえスループットが低い通信状態でも、ランクの高い暗号化レベルを用いた暗号化をするべきである。すなわち、「ポートの種別」は、中継データの暗号化レベルを選択するための基準として用いられる。
【0114】
「中継データの総合計量」とは、通信ポートの単位時間あたりに中継されるデータ量の合計をいう。
たとえば、この総合計量と中継の処理能力に対応する基準量とを比較して、総合計量が基準量よりも大きければ、暗号化レベルを低くし、小さければ暗号化レベルを高くするようにする。
この総合計量は、通信ポートを実際に通過するパケット数を計測することにより取得できる。実際の中継データ量の処理能力を考慮して暗号化レベルを選択すれば、より効率的かつ安全な通信が可能となる。
【0115】
「上位プロトコルレイヤの暗号化情報」とは、通信のために適用したプロトコル(下位プロトコル)のヘッダ情報を取り除いたデータの内容において暗号化をされているかどうかの情報を意味する。この情報は上位プロトコルにおけるヘッダ情報から取得することができる。たとえば、中継をしようとするデータがRFC2246で規定されている上位プロトコルレイヤの情報であるTLS(Transport Layer Security)の暗号化がすでにされている場合、通信する情報の秘匿性がある基準レベルを越えており通信能力に余裕があるときのみ、下位のプロトコルレイヤでは高い暗号化レベルで暗号化し、その他の場合には低い暗号化レベルで暗号化するか、または暗号化処理はしないようにする。
このように、上位プロトコルレイヤの情報を用いれば、処理速度と秘匿性の観点からより適切な暗号化レベルを選択することができる。
【0116】
【発明の効果】
この発明によれば、実際の通信状態に関連する情報を考慮して暗号化レベルを選択することができるので、送受信されるデータの秘匿性と通信品質の両立を図ることができる。
【図面の簡単な説明】
【図1】この発明の通信機器の実施例1の全体構成ブロック図である。
【図2】この発明の通信機器の実施例2の全体構成ブロック図である。
【図3】この発明の通信機器の実施例3の全体構成ブロック図である。
【図4】この発明の通信機器の実施例4の全体構成ブロック図である。
【図5】この発明の通信機器の実施例5の全体構成ブロック図である。
【図6】この発明の実施例5のデータキューの構成ブロック図である。
【図7】この発明の通信機器の実施例1の送信時の動作フローチャートである。
【図8】この発明の通信機器の実施例1の受信時の動作フローチャートである。
【図9】この発明の通信機器の実施例2の送信時の動作フローチャートである。
【図10】この発明の通信機器の実施例3の送信時の動作フローチャートである。
【図11】この発明の通信機器の実施例3の受信時の動作フローチャートである。
【図12】この発明の通信機器の実施例5の動作フローチャートである。
【図13】従来のセキュアシステムの全体構造を示すブロック図である。
【図14】従来のセキュアシステムの一実施例のフローチャートである。
【符号の説明】
2  通信ポート
3  通信状態検出部
4  暗号器
5  暗号化レベル決定部
6  暗号データベース
7  送信データキュー
8  データ記憶媒体
9a 送信データ
9b 送信データ
10  受信データ
11  復号器
12  受信データバッファ
13  データ送信先検出部
14  データ内容解析部
15  機密度/優先度検出部
21  通信機器
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a communication device, and more particularly to a communication device capable of achieving both confidentiality of information and communication quality.
[0002]
[Prior art]
Due to the recent spread of the Internet and the spread of wireless communication devices, it is not possible to encrypt and transmit information transmitted by communication devices in order to maintain confidentiality against eavesdropping by third parties. , Has become essential.
[0003]
On the other hand, there are various types of information to be transmitted, and the required confidentiality differs depending on the information. For example, information such as a password necessary for authentication needs to be strictly encrypted, but data that is generally disclosed on a homepage on the Internet need not be encrypted. It would be inefficient to uniformly encrypt and transmit such various data. Further, when encrypting and transmitting data, the processing capability required for encryption differs depending on the encryption level, and as a result, the maximum communication capability that can be encrypted and transmitted differs.
[0004]
To solve such a problem, Japanese Patent Application Laid-Open No. 7-295892 proposes a secure system that automatically obtains optimal security control according to the secrecy of a file.
FIG. 13 is a block diagram showing the entire structure of the conventional secure system, and FIG. 14 is a flowchart of one embodiment thereof.
[0005]
In FIG. 13, reference numeral 51 denotes a data transfer management unit on the transmission side that manages the transfer of encrypted data; 52, data to be transferred; 53, a data transfer determination unit that determines whether data is transferred; and 54, an encryption level is determined. 55 is an encryption level determining means for determining the data encryption level using the parameter information 54, and 56 is a level-specific encryption means for encrypting data according to the determined encryption level. , 57 are encrypted data, 58 is data transfer means for transferring data, 59 is a key and encryption level information for data encryption, and 60 is data on the receiving side which manages reception of the transferred data. A transfer management unit, 61 is a data receiving means for receiving the transferred data, and 62 is a level-specific decoding means for decoding the data.
[0006]
Next, the operation of this secure system will be described with reference to the flowchart of FIG. First, the data transfer determination means 53 of the transmission side 51 determines whether there is a transfer request for the data 52 (step S62). If there is no request, do nothing. If there is a request, the encryption level determining means 55 collects parameter information 54 for transfer (step S63).
[0007]
The parameter information 54 includes a data transfer speed, a data transfer medium, and a data transfer destination computer. The type of parameter information to be collected is set in advance by the user.
Next, the encryption level determining means 55 determines an encryption level using, for example, information of a data transfer medium among the parameter information (step S64). The correspondence between the transfer medium and the encryption level is set in advance by the user.
[0008]
According to the encryption level determined by the encryption level determining means 55 in this way, the level-specific encryption means 56 encrypts the data 52 (step S65). When the data has been encrypted, the data transfer means 58 uses a double encryption method to encrypt the encryption level and the key 59 used for the encryption to a person other than the sender and the receiver. (Step 66). Thereafter, the data transfer means 58 similarly transfers the encrypted data 57 to the receiving side 60 (step S67). The transferred data is taken into the receiving side by the data receiving means 61 together with the encryption level and the key 59 which have been transferred in advance, and is decoded by the level-specific decoding means 62.
[0009]
[Problems to be solved by the invention]
However, in such a conventional secure system, the encryption level is determined using the data transfer speed, the data transfer medium, and the computer to which the data is transferred as parameter information. I cannot judge it alone.
The actual transfer capability and quality change every moment depending on various factors of the communication state, such as the noise state of the communication medium and the operation rate. In addition, the data transferred via the communication port is not limited to a single data, and a plurality of various types of data are often transferred in parallel. If the control factor is used, inconsistency with the actual communication state occurs.
[0010]
That is, for example, during transmission of streaming data such as moving images and voices published on the Internet, where real-time properties are required but confidentiality is not much required, other real-time properties are not required. When transmitting data in response to a data transmission request, since the data is encrypted at a high encryption level, it exceeds the communication capability limit, and as a result, the communication quality is degraded due to data delay and loss. Can not cope with the possibility of occurrence.
[0011]
On the other hand, it is impossible for a certain encryption method to permanently guarantee complete security against attacks from malicious third parties, so that communication quality is not impaired. In some cases, it may be desirable to make the encryption as strong as possible.
[0012]
The present invention has been made in view of such circumstances, and it is an object of the present invention to provide a communication device that can achieve both confidentiality of transmitted and received data and communication quality.
[0013]
[Means for Solving the Problems]
The present invention provides a communication unit that transmits and receives data to and from one or more communication media, a communication state detection unit that monitors the state of the communication unit and obtains quality information that specifies a current communication state, A communication device comprising: an encryption level determining unit that determines an encryption level based on quality information; and an encryption unit that encrypts transmission data based on the determined encryption level. It is.
According to this, it is possible to achieve both confidentiality of transmitted / received data and communication quality in accordance with various quality information in the current communication environment.
[0014]
In addition, the communication state detection unit, as the quality information, the amount of data transmitted and received per unit time of the communication unit, the current link speed of the communication unit, the communication error rate of the communication unit, and the communication unit is a predetermined data At least one of the times from when the data is transmitted to when the response data corresponding to the data is received may be acquired.
These four pieces of quality information are information that changes every moment. If the encryption level is changed by acquiring the value of these pieces of quality information at the time of data transmission, it is more suitable for the actual communication state. Confidentiality and communication quality can be ensured.
[0015]
Furthermore, when the communication unit transmits and receives data wirelessly, the communication state detection unit may acquire the received radio wave intensity as quality information.
The encryption level determined by the encryption level determination unit is determined by the key length of the encryption key, the encryption method, the number of times the encryption process is applied, and the data amount of the initialization vector added to the encrypted data. , Or at least one of them.
[0016]
Here, the key length of the encryption key is represented by a data length such as 8 bits or 16 bits. The longer the key length, the higher the degree of encryption and the higher the confidentiality.
The encryption method is information indicating which encryption method among various available encryption methods is used. For example, DES, IDEA, RC2, RC4, RC5 (above, a common key method), RSA, D -Hellman (above, public key system), hybrid system, and the like.
The number of times the encryption processing is applied indicates how many times the basic encryption processing is repeated, and the degree of confidentiality also differs depending on the number of times. As the basic encryption processing, the same encryption scheme may be applied a plurality of times, or different encryption schemes may be applied in order.
The initialization vector is redundant data that is added to the encryption key in order to increase the secrecy of the encryption, and is predetermined fixed data of several bits.
[0017]
In order to enhance confidentiality, it is preferable that the key length of the encryption key is generated by a one-way hash function.
Each information of the encryption level determined by the encryption level determination unit may be added to the data encrypted by the encryption unit and transmitted by the communication unit. According to this, the data itself and the information of the encryption level are transmitted simultaneously in one packet.
[0018]
The encryption key itself used by the encryption unit is encrypted by a predetermined encryption method, and is transmitted by the communication unit as data different from transmission data encrypted using the encryption key. You may. According to this, the data itself and the encryption key are transmitted separately.
The communication device may further include a decryption unit that decrypts the received data based on information on an encryption level included in the data received by the communication unit.
[0019]
The apparatus further includes a confidentiality information detection unit configured to detect confidentiality information added in advance to the transmission data or confidentiality information set from specific information included in the transmission data; However, the encryption level may be determined using the acquired quality information and the detected confidentiality information.
Here, the confidential information indicates the degree of confidentiality given to each data to be transmitted, and may be, for example, two-stage information indicating high confidentiality or low confidentiality, and is classified into n paragraphs. It may be information. Details will be described later.
[0020]
The apparatus further includes a priority information detecting unit that detects priority information of data transfer added in advance in the transmission data or priority information set from specific information included in the transmission data, The determining unit may determine an encryption level using the acquired quality information and the detected priority information.
Here, the priority information is information that determines the transmission order when there is a large amount of data to be transmitted, and may be two-stage information indicating high priority or low priority, or information classified into n stages. It may be. When there is a large number of transmission data, data having a higher priority is transferred first, regardless of the order in which the data was created.
[0021]
A confidentiality / priority detecting unit for detecting confidentiality information and priority information given in advance in the transmission data, or confidentiality information and priority information set from specific information included in the transmission data; An information setting unit for setting which of the quality information, the confidentiality information, and the priority information is to be used to determine the encryption level, wherein the encryption level determination unit includes the information setting unit. The encryption level may be determined using the information set by the user.
[0022]
Factors that determine the encryption level include quality information, confidentiality information, and priority information. The user may be able to set which information to use based on his or her own intention or experience.
The information setting unit can use a key input, a switch, and the like.
[0023]
In the above communication device, the communication unit means a communication port in the following embodiment, and when there is one communication port, performs one-to-one communication with another communication device via the communication port. When there are two or more communication ports, one-to-n communication is performed with other n communication devices.
[0024]
Each component of the communication device may be constituted by hardware logic. However, in order to flexibly cope with function expansion and change, a microcomputer including a CPU, a ROM, a RAM, an I / O controller, a timer, and the like is used. And a program indicating a processing procedure.
In addition, each component may be realized as physically separate hardware elements, but may be realized as an integrated hardware element when there is a common part or for miniaturization and cost reduction. Good.
For example, the encryption unit and the decryption unit may be formed as hardware fixed inside a communication unit (communication port).
[0025]
Further, the present invention provides a plurality of communication units for respectively transmitting and receiving relay data to and from a plurality of communication media, quality information for monitoring a state of the communication unit and specifying a current communication state, and relaying the communication unit. A communication state detecting unit for acquiring relay information on data to be transmitted, an encryption level determining unit for determining an encryption level based on the obtained quality information and the relay information, and relay data based on the determined encryption level. And a decryption unit that decrypts the relay data based on the determined encryption level. The communication unit decrypts the relay data received by the decryption unit, and then encrypts the relay data received by the encryption unit. A communication unit that transmits the encrypted relay data from a communication unit different from the communication unit that has received the relay data. According to this, it is possible to achieve both appropriate confidentiality of information and communication quality for relay data.
[0026]
For example, this communication device is disposed between two communication devices and relays data transmitted and received between the two communication devices. The two communication devices use different communication protocols, different communication speeds, and different encryptions. In this case, data communication between the two communication apparatuses is performed while maintaining appropriate confidentiality and communication quality even when the encryption scheme is used.
[0027]
The relay information may include at least one of communication port type information of a communication unit, a total amount of data relayed by a predetermined communication unit per unit time, and encryption information in an upper protocol layer. it can.
[0028]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, the present invention will be described in detail based on an embodiment shown in the drawings. Note that the present invention is not limited by this.
[0029]
<Example 1>
FIG. 1 is a block diagram showing the overall configuration of a communication apparatus according to a first embodiment of the present invention.
In the communication device 21 shown in FIG. 1, reference numeral 2 denotes a communication port for transmitting and receiving physical data to and from a communication partner. The communication port is mainly composed of hardware, specifically, a LAN controller chip for Ethernet communication, a baseband processor and a wireless module for wireless LAN communication, and a digital signal for ADSL communication. A processor (DSP) and an analog front end are used.
[0030]
Depending on the actual hardware configuration, the communication port may not be clearly separated into hardware and software, for example, part of the processing of the communication port is performed by software using a CPU. Here, the part that establishes the communication path necessary for physically transferring to the communication partner using the communication medium, adds the header / footer to the packet, and performs the electrical conversion is called the communication port. I do.
[0031]
Reference numeral 3 denotes a communication state detection unit that acquires the communication state of the communication port 2, 4 denotes an encryptor that encrypts transmission data, 5 denotes an encryption level determination unit that determines an encryption level according to the communication state, and 6 denotes an encryption algorithm. , An encryption database for storing encryption keys and the like, 7 a transmission data queue for temporarily storing transmission data, 8 a data storage medium (specifically, a memory, a hard disk, etc.) for storing data to be transmitted and received, 9a, 9b is transmission data stored in the data storage medium 8 and transmitted from the communication port 2, 10 is reception data received by the communication port 2 and stored in the data storage medium 8, and 11 is received by the communication port 2. A decoder 12 decodes the data. Reference numeral 12 denotes a reception data buffer for temporarily storing the decoded data.
In a communication device dedicated to transmission, the decoder 11 and the reception data buffer 12 may not be provided.
[0032]
Here, the encryption database 6, the transmission data queue 7, the data storage medium 8, and the reception data buffer 12 use rewritable storage elements and storage media such as a RAM and a hard disk.
The communication state detector 3, the encryptor 4, the encryption level determiner 5, and the decoder 11 are not only hardware logic, but also a RAM, ROM, timer, I / O controller, It can also be realized by software processing using a microcomputer constituted by registers and the like.
That is, the functions of the communication state detection unit 3 and the encryptor 4 are realized by the CPU operating based on the programs stored in the ROM, the RAM, and the like.
[0033]
FIG. 7 shows an operation flowchart at the time of transmission of the communication apparatus according to the first embodiment of the present invention. The data transmission is started when the CPU of the communication device 21 executes a data transmission instruction in response to a data transmission request from a communication partner or a command input via an I / O controller (step S1).
Next, the CPU divides the transmission data (9a, 9b, etc.) stored in the data storage medium 8 into units called packets in association with the communication protocol applied to the transmission, and further divides the data into packets. Header information corresponding to the communication protocol is added, and the header information is transferred to the transmission data queue 7 (step S2).
[0034]
In some cases, the transmission data has a small data amount and does not need to be divided, or may be already divided in an upper protocol layer. When the packet is divided, the header information indicates whether the packet is a divided packet, information indicating whether the packet is in the middle of transmission data or the last packet, and information on the serial number of the packet. Is included.
[0035]
When the packet is transferred to the transmission data queue 7, the communication state detector 3 acquires the communication state of the communication port 2 (Step S3). Here, it is assumed that the acquisition of the communication state is started each time a packet is transferred to the transmission data queue 7. However, it may be started each time the data amount of packets temporarily stored in the transmission data queue 7 reaches a certain amount, or may be started every predetermined unit time.
[0036]
The acquired “communication state” means quality information such as “the amount of data transmitted / received per unit time of the communication port (the number of bytes)” as described later, and the encryption level determination unit 5 determines the encryption level. Is a control factor when determining the
[0037]
Next, the encryption level determination unit 5 determines an encryption level based on the acquired communication state (Step S4). The details of the algorithm for determining the encryption level according to the communication state will be described later. This algorithm may be stored in a fixed memory such as a ROM, or may be an algorithm that allows the administrator or the user of the device to change the processing content by setting predetermined parameters.
[0038]
Next, the encryption level determination unit 5 acquires an encryption algorithm (encryption method) and an encryption key corresponding to the encryption level determined in step S4 from the encryption database 6 and transfers them to the encryptor 4. (Step S5).
The encryptor 4 sequentially encrypts the packets temporarily stored in the transmission data queue 7 using the encryption algorithm and the encryption key obtained in step S5 (step S6).
[0039]
Further, the CPU adds information indicating the encryption level (encryption level information) to the header portion of each encrypted packet and transfers the packet to the communication port 2 (step S7). Although not shown in the flowchart, if it is determined in step S4 that encryption is not to be performed, the processing from step S5 to step S7 is not performed, and the same as the normal non-encrypted transmission / reception processing Works.
[0040]
The communication port 2 establishes a communication path necessary for transferring the transferred packet to a communication partner using a physical communication medium, adds a header / footer to the packet, and performs electrical conversion. Then, the encrypted packets are sequentially transferred to the communication partner (step S8). At this time, it is determined from the header information of the packet whether or not the packet is the last packet divided from the transmission data (9a, 9b, etc.) (step S9). If completed, the data transmission is completed (step S10).
[0041]
Next, FIG. 8 shows a flowchart at the time of data reception in the first embodiment. First, when the CPU detects that data once received at the communication port 2 is addressed to itself, data reception is started (step S11).
[0042]
Next, the communication port 2 separates the header / footer information added to the packet from the received data for transfer by the physical communication medium and transfers it to the decoder 11 (step S12). The decryptor 11 reads the information of the encryption level added to the header information of the encrypted packet and recognizes the encryption level of the received packet (Step S13). Then, from this encryption level, information on the encryption method necessary for decryption and the corresponding encryption key is obtained from the encryption database 6 (step S14). However, the search of the encryption database may be performed only when the encryption level has changed from the previous decryption.
[0043]
Next, the decryptor 11 decrypts the packet using the encryption method and the encryption key obtained in step S14, and transfers the packet to the reception data buffer 12 (step S15). In step S16, it is determined whether or not the currently processed packet is final. If not, the decoding process from step S12 to S15 is repeated for the next received packet.
If the packet is final, the received data is restored according to the serial number of the received packet (step S17). Then, the restored received data is stored in the data storage medium 8, and the data reception is completed (step S18).
[0044]
If transmission and reception are performed according to such a procedure, communication encrypted at an optimal encryption level corresponding to a communication state that changes in real time can be performed. Further, according to the first embodiment, even when transmission of another transmission data 9b is started while transmission data 9a is being transmitted, all packets to be transmitted are temporarily stored in the transmission data queue 7 and then transmitted to the communication port 2. , It is possible to obtain accurate information on the current communication state.
[0045]
Next, the specific contents of the “communication state” acquired by the communication state detection unit will be described.
As the “communication state”, for example, the following five pieces of information can be considered.
(A) Data amount (bytes) transmitted / received per unit time via communication port
(B) Link speed of communication port
(C) Communication error rate of communication port
(D) Response time from transmission of data from the communication port to reception of response data for that data
(E) Radio field intensity received by the communication port for wireless communication
[0046]
Such information on the “communication state” is used as a control factor when the encryption level determination unit 5 determines the encryption level. As the control factor to be used, only one of the above information (a) to (e) may be used, but from the viewpoint of reliability or the like, a plurality of “communication state” information may be used in combination as necessary. You may.
The information is not limited to these five pieces of information, and other information may be used as a determinant of the encryption level.
[0047]
The data amount (a) to be transmitted / received per unit time is a factor for knowing the current actual communication capability, that is, the throughput. A large data amount means that the communication capability is high.
However, since data transmission and data reception are not always performed, simply obtaining the amount of data to be transmitted / received per unit time cannot be accurate information. For this purpose, transmission / reception data per unit time when data is continuously transmitted or received is used as the current throughput. Also, if the control factor for determining the encryption level fluctuates frequently, the processing load increases, which may cause a decrease in the overall communication performance.Therefore, an average value of the throughput values may be employed, or within a certain interval. It is preferable to obtain and adjust the maximum value.
[0048]
The link speed (b) of the communication port is a communication speed determined according to the line condition at the initial stage of the line connection.
For example, when the communication port is an ADSL modem, negotiation is performed between the ADSL modem and the office modem (DSLAM), and the link speed is determined according to the line condition. In the case of a wireless LAN compliant with the IEEE 802.11b standard, initial communication is performed at four link speeds of 1 Mbps, 2 Mbps, 5.5 Mbps, and 11 Mbps, and the speed determined to be most appropriate according to the current radio wave condition is the link speed. Is chosen as
[0049]
As the communication error rate (c) of the communication port, the ratio of the number of error occurrences to the number of transmitted and received packets or the number of error occurrences per unit time can be used. In any case, if the communication error rate increases, the number of packet retransmissions increases, resulting in a decrease in throughput. In addition, errors during communication include errors such as packet loss, checksum mismatch, and packet size difference.However, since the type of error and the frequency of occurrence of the error vary depending on the communication medium and the communication protocol, they are used as control factors. It is preferable to adjust the communication error rate based on what criteria to apply by adjustment.
[0050]
The response time (d) until the response data is received is information in consideration of the capability of the communication partner. In the case of communication that ensures the reliability of the communication path, response data indicating whether data has arrived correctly from the communication partner is received and the completion of data transmission is confirmed. The communication ability can be measured by the time until the data arrives. In addition, if the communication partner returns the response data after performing decryption processing instead of returning a response at the communication port, it will determine not only the communication capability but also the communication partner's capability including the encryption processing capability can do. For example, if the time until the response data is received is long, it is determined that the load of the decryption process is large, and the communication can be performed with the encryption level lowered.
[0051]
The radio wave intensity (e) is information used when performing wireless communication. In the case of performing wireless communication, the strength of radio waves changes due to the movement of the communication device, thereby changing the error rate and the like. As a result, the communication capability changes, so that it is preferable to use the radio wave intensity as a control factor for determining the encryption level.
[0052]
In addition, since the reliability and capability of communication differ depending on the communication medium and communication protocol, a more flexible and reliable determination of the encryption level can be determined by combining the above-mentioned “communication state” information of (a) to (e). It becomes possible. For example, if only the data transmission / reception amount per unit time is used as a control factor, the communication partner discards the received packet due to insufficient cryptographic processing capability, and even if retransmission occurs frequently, data transmission per unit time Since the amount does not change, it is determined that the encryption level is appropriate for the communication capability, and communication is performed while maintaining the encryption level. In such a case, by combining the information on the communication error occurrence rate, it is possible to detect the occurrence of many errors, and it is possible to perform communication at a lower encryption level.
[0053]
Next, specific processing contents (encryption level determination algorithm) of the encryption level determination unit will be described.
The encryption level determination unit 5 determines the encryption level by using the “communication state” information as described in the above (a) to (e). The encryption level is determined according to the determined encryption level as follows. Then, processing such as "change of key length of encryption key" and "change of encryption method" is performed.
First, the encryption level can be changed by “changing the key length of the encryption key”.
[0054]
For example, in a method using a common key, the number of bits of the common key used for data encryption is changed. The higher the number of bits of the common key, the more difficult it is to decipher and, on the other hand, the more time required for encryption and decryption, resulting in lower transfer capabilities. A plurality of common keys having different numbers of bits may be stored in the encryption database 6 in advance, or a necessary number of bits extracted from a certain master key may be used as the common key.
[0055]
However, it is inefficient to have a plurality of common keys with different numbers of bits, and it is inefficient to cut out the necessary number of bits and use it as a common key. There is a risk that all of the common keys will be leaked. Therefore, it is preferable to generate a key having an arbitrary number of bits by applying a one-way hash function to the master key. If a key is generated by a one-way hash function, even if a key having a certain number of bits is leaked, it is almost impossible to obtain a master key from the key. An example of a one-way hash function is MD5 defined by RFC (Request For Comment) 1321 and the like.
[0056]
As the encryption method, a public key method may be used in addition to the common key method.
However, since encryption using the public key method usually requires a larger amount of calculation than the common key method, it is preferable to use it for authentication and transfer of a common key rather than a large amount of data communication.
[0057]
Further, when changing the encryption level, the encryption method itself may be changed. Depending on the type of encryption method, confidentiality, that is, resistance to unauthorized encryption by a third party is different even if the encryption key used has the same key length, and processing speed and data are added for each data. This is because the amount of redundant data is also different. For example, when the amount of data transmitted per transmission is small, the common key method may be changed to the public key method.
[0058]
Further, as a method of changing the encryption level, the number of times of applying the same or different encryption processing steps may be changed. For example, data is encrypted using a DES (Data Encryption Standard) encryption method that is generally used as commercial encryption, and a wireless LAN encryption method WEP (Wired Equivalent Privacy) defined by the IEEE 802.11 standard is used. In the case where wireless communication is performed by using encryption, when the radio wave condition deteriorates and the required throughput cannot be obtained, the encryption by WEP is canceled and only the DES is encrypted. According to this, the throughput can be improved. In addition, the number of times DES is applied is not limited to one time, and may be applied plural times.
[0059]
Further, the data amount of the initialization vector transmitted by being added to the encrypted data may be changed. For example, the above-mentioned WEP performs encryption using a common key method. However, in order to make it difficult to analyze a common key from a plurality of data encrypted using the same common key, encryption is performed on a common key basis for each packet. A random number generated by adding a 24-bit initialization vector is used. At this time, since the initialization vector is required for decryption together with the common key, the packet is transmitted with the initialization vector added thereto. In addition to the processing required for encryption / decryption, the data of the initialization vector causes a decrease in throughput. Therefore, in order to improve the throughput, the data amount of the initialization vector may be reduced depending on the radio wave condition. On the other hand, since an initialization vector of about 24 bits is not sufficient in terms of encryption reliability, if there is sufficient communication capacity, the data amount of the initialization vector may be increased in order to increase the reliability.
[0060]
Further, the information of the encryption level changed as described above may be added to the header portion of the encrypted data and transmitted.
Further, information such as an encryption key used for encryption may be encrypted by a predetermined encryption method and transmitted immediately before or immediately after transmitting the encrypted data. More specifically, when performing encryption communication using a common key having a certain number of bits, the encryption level is changed, and when changing the number of bits of the common key to be applied, a predetermined public key encryption is performed. By transmitting a new common key to the communication destination by the method, the receiving side decrypts the new common key with the newly obtained common key.
[0061]
<Example 2>
FIG. 2 is a block diagram showing the overall configuration of a communication device 22 according to a second embodiment of the present invention. Here, the second embodiment is different from the first embodiment in that two communication ports (2a, 2b) are provided and a data transmission destination detection unit 13 is provided.
The connection destinations of the communication ports (2a, 2b) are different communication partners. The data transmission destination detecting unit 13 uses the transmission destination address information of the transmission data and the address information assigned to each of the communication ports (2a, 2b) to determine which communication port is connected to which data should be transmitted. Is determined.
In addition, the communication state detection unit 3, the encryption unit 4, the encryption level determination unit 5, the transmission data queue 7, the decryption unit 11, and the reception data buffer 12 are shown in a configuration provided one by one. They may be provided separately.
[0062]
FIG. 9 shows a flowchart at the time of transmission according to the second embodiment of the present invention. The operation at the time of reception is the same as that shown in FIG.
In step S21, when data transmission is started in the same manner as in the first embodiment, the data is divided into packets, each packet is added with a header corresponding to a communication protocol, and transferred to the transmission data queue 7 (step S2). .
[0063]
Next, when detecting that the packet is stored in the transmission data queue 7, the data transmission destination detecting unit 13 checks the header portion in the packet and determines the transmission destination of the packet, that is, where the transmission destination is. It recognizes which communication port it should go through, and recognizes which communication port it should go through, and gives information about the destination to the communication state detector 3 (step S22). Then, upon obtaining the information on the transmission destination, the communication state detection unit 3 acquires the communication state corresponding to the transmission destination of the packet (step S23).
[0064]
Next, similarly to the first embodiment, the encryption level is determined (step S4), the encryption method and the encryption key are obtained and transferred to the encryptor 4 (step S5), and the packet of the transmission data queue is encrypted. (Step S6) is sequentially performed.
Thereafter, the CPU adds encryption level information to the encrypted packet and transfers the packet to the communication port (either 2a or 2b) corresponding to the destination (step S24).
[0065]
Next, the communication port transfers the encrypted packet to the destination (Step S8). It is determined whether or not the transferred packet is the last packet (step S9). If not, the process returns to step S2 and repeats the processes from steps S2 to S8. If it is the last packet, the data transmission is completed (step S10). .
As described above, in the second embodiment, since two communication ports are provided, the transfer efficiency can be improved when data is transferred to a plurality of destinations. Although the communication states are different from each other, there is an effect that even in such a case, communication encrypted at an optimum encryption level corresponding to the communication state that changes in real time is possible.
[0066]
<Example 3>
FIG. 3 is a block diagram showing the overall configuration of a communication device 23 according to a third embodiment of the present invention. Here, as in the first embodiment, one communication port 24 is provided, but the communication port 24 is different from the first embodiment in that the communication port 24 includes an encryptor 25 and a decryptor 26 therein. .
[0067]
Here, the encryptor 25 and the decryptor 26 built in the communication port 24 may be configured as hardware, and may be realized as an LSI element integrated with other functional blocks of the communication port 24.
As described above, by making the encryptor 25 and the decryptor 26 into hardware, the speed of the encryption process and the decryption process can be increased, and the load on the CPU of the communication device can be reduced.
[0068]
The communication state detector 3, the encryption level determiner 5, the encryption database 6, the transmission data queue 7, the data storage medium 8, the transmission data 9, the reception data 10, and the reception data buffer 12 are the same as those in the first embodiment.
[0069]
FIG. 10 is a flowchart at the time of transmission according to the third embodiment of the present invention. In step S31, when data transmission is started in the same manner as in the first embodiment, the data is divided into packets, each packet is added with a header corresponding to a communication protocol, and transferred to the transmission data queue 7 (step S2). .
[0070]
Next, as in the first embodiment, the communication state is obtained (step S3) and the encryption level is determined (step S4), and the communication port 24 obtains the encryption method and the encryption key, and the communication port 24 The data is transferred to the encryptor 25 (step S32).
Next, the CPU transfers the packet in the transmission data queue 7 to the encryptor 25 of the communication port 24 (Step S33).
[0071]
Thereafter, the encryptor 25 encrypts the given packet and adds encryption level information (step S34).
Then, the communication port 24 transfers the encrypted packet to the communication partner (Step S8).
Finally, similarly to the first embodiment, it is determined whether or not the transferred packet is the last one (step S9). If not, the processes from steps S2 to S8 are repeated. If the last, the data transmission is completed (step S9). S10).
[0072]
FIG. 11 shows a flowchart at the time of data reception according to the third embodiment.
When the data reception is started (step S35), the decoder 26 of the communication port 2 reads the encryption level information added to the header information of the encrypted packet (step S13).
Then, the decryptor 26 obtains, from the encryption database 6, information on the encryption method necessary for decryption and the corresponding encryption key from the read encryption level (step S14).
[0073]
Next, the decryptor 26 decrypts the packet using the encryption method and the encryption key obtained in step S14 (step S36), and transfers the decrypted packet to the reception data buffer 12 (step S37).
Next, in step S16, it is determined whether the currently processed packet is final, and if not, the processes from steps S13 to S37 are repeated.
[0074]
If it is final, the received data is restored according to the serial number of the received packet, the restored received data is stored in the data storage medium 8, and the data reception is completed (step S18). According to this, since the encryption process and the decryption process are performed by hardware, it is possible to speed up these processes and reduce the load on the CPU.
[0075]
<Example 4>
In the above embodiment, the encryption level is determined based on the “communication state” information. However, in this case, in addition to the “communication state” information, the encryption level is determined using “information about the content of data to be transmitted”. The following describes an example of determining the value.
FIG. 4 is a block diagram showing the overall configuration of a communication device according to a fourth embodiment of the present invention. In FIG. 4, in addition to the configuration of the first embodiment, a data content analyzer 14 and a confidentiality / priority detector 15 are provided.
[0076]
The data content analysis unit 14 is a part that receives the transmission data 9a and 9b and reads and analyzes information of a specific position in the data. Information or information of a specific position to which "priority information" is set, or information that can be used when determining "confidentiality information" or "priority information" to a specific position. It is provided to the priority detection unit 15. On the other hand, the transmission data 9a and 9b themselves are given to the transmission data queue 7. The confidentiality / priority detecting unit 15 obtains confidentiality information and priority information, which are one of the information on the contents of the transmission data, and transfers them to the encryption level determining unit 5 as control factors for determining the encryption level. Part.
[0077]
The encryption level determination unit 5 uses the “communication state” information acquired by the communication state detection unit 3 and the “confidentiality information” or “priority information” given from the confidentiality / priority detection unit 15. , Determine the encryption level.
[0078]
Therefore, in the first to third embodiments, the encryption level is determined by using the “communication state” information. In the fourth embodiment, however, the encryption level is determined by the “communication state” and the “confidentiality or priority” information. Is determined, the encryption level determination algorithm of the encryption level determination unit 5 is different from those of the first to third embodiments.
[0079]
The flow of the overall flowchart at the time of transmission by the communication device 27 of the fourth embodiment is the same as that of the processing of the first embodiment shown in FIG. 7, but the contents of the processing of steps S2 and S4 are different. In the fourth embodiment, in step S2, first, transmission data (9a, 9b) is read from the data storage medium 8 and transferred to the data content analysis unit 14. Then, the data content analysis unit 14 analyzes whether the data is data related to confidentiality or priority, sets a new confidentiality or priority if necessary, and divides the packet into packets. The transmission data (9a, 9b) is transferred to the transfer data queue 7.
[0080]
In step S4 of the fourth embodiment, first, the confidentiality / priority detection unit 15 performs a process of detecting information corresponding to confidentiality information or priority information at a specific position of a packet with respect to the transmission data transferred to the transmission data queue 7. After that, these pieces of information are transferred to the encryption level determination unit 5. Next, the encryption level determination unit 5 determines the encryption level using the “communication state” and the confidentiality information (or priority information). Other processes shown in FIG. 7 are the same as those in the first embodiment.
[0081]
Next, confidentiality information and priority information used as control factors in the fourth embodiment will be described.
The “confidentiality information” is information related to the reliability of communication. For example, when high reliability of communication is required, data indicating high confidentiality is set. Is set.
As the “confidentiality information”, one of the following two is used.
(A) Information preset in a specific position of transmission data (9a, 9b), for example, a header portion (information preset in data)
(B) New information that is set as a result of analyzing the specific contents of the transmission data (9a, 9b) and comprehensively determining the contents based on a certain standard
[0082]
First, additional information in a header portion of transmission data can be used as “information preset in data”.
For example, a ToS (Type of Service) field defined in IPv4 (Internet Protocol Version 4) defined in RFC794 can be used.
The ToS field is composed of 8 bits. Of these bits, a specific bit is related to reliability, so that the validity / invalidity of this bit may be used as confidentiality information.
[0083]
If this specific bit is valid, which means that high communication reliability is required, when the encryption level determination unit 5 determines the encryption level, even if the “communication state” is poor. The determination process is executed so that the encryption level is not lowered even when the throughput is low.
If the "communication state" is good when this bit is valid and the throughput is higher than a predetermined threshold level, the encryption level may be increased.
[0084]
Further, the data content analysis unit 14 may rewrite this specific bit of the ToS field to confidentiality information set in advance by the user.
In IPv4, an option field is prepared in addition to the ToS field. Therefore, this option field may be used as an area of confidentiality information. For example, if the communication device connected to the network sets arbitrary confidentiality information classified more finely in this option field, the confidentiality information set in the option field may be used.
[0085]
Next, the “new information set by analyzing the content of the transmission data” is the content itself of the information such as “authentication information”, “user name”, and “password” included in the content of the transmission data, and the information itself. Utilizing the presence or absence of information, it means newly created information.
The newly created information may be provided as it is to the encryption level determination unit 5 as a control factor, but the data content analysis unit 14 determines whether the specified bit corresponding to the “information preset in the data” You may write it.
[0086]
The “priority information” is information related to the transmission priority of the transmission data, and determines the level of the transmission priority by looking at this information.
As the “priority information”, similar to the “confidentiality information” described above, (a) “information preset in data” or (b) “new information set by analyzing transmission data contents” Can be used.
[0087]
As the “information preset in the data of the priority information”, for example, specific 3 bits defined as data indicating the priority in the ToS field of IPv4 can be directly used.
If the specific three bits are set to mean high priority, the encryption level is determined if the “communication state” is poor and the throughput is lower than a predetermined threshold when determining the encryption level. Decide the encryption level to lower the level. Then, data of a low encryption level is given to the encryptor 4 preferentially and transferred to the destination.
Further, the data content analysis unit 14 may rewrite the specific three bits into priority information set in advance by the user.
Furthermore, priority information may be set using the above-mentioned option field.
[0088]
As the “new information set by analyzing the contents of transmission data” of the priority information, for example, RTP (Real-time Transport Protocol) information defined in RFC1889 can be used.
This RTP is effective for transmission and reception of data requiring real-time properties such as voice communication using the Internet protocol. When RTP information exists, new information indicating high priority is set. .
[0089]
In this case, the data content analysis unit 14 detects whether or not the transmission data (9a, 9b) includes an RTP header. When the RTP header is detected, information indicating that the priority is high is set in a specific bit of the ToS field or the option field.
On the other hand, if no RTP header is detected, information indicating that the priority is low is set.
[0090]
When “high priority” is set as the priority information and the “communication state” is poor, the encryption level determination unit 5 sets a low encryption level in order to suppress a delay in data transfer. To do.
As described above, by using the “confidentiality information” or the “priority information”, data transmission more suitable for the current communication environment can be performed.
[0091]
Furthermore, both the confidentiality information and the priority information can be combined and used as a control factor for determining the encryption level.
By combining these two types of information, it is possible to achieve both confidentiality of information and communication quality depending on the content of information to be transmitted. For example, in the case of transmitting and receiving voice data, that is, two-way communication, if a delay in voice data occurs, smooth conversation cannot be performed, and communication quality deteriorates. Therefore, in order to have a smooth conversation, it is generally necessary to raise the priority even if the confidentiality is lowered.
[0092]
In the case of using only the priority information, setting a high priority lowers the encryption level to enable a smooth conversation, but may result in a state in which little confidentiality is provided. However, when making a voice call, there is a case where it is desired to keep confidentiality high depending on the content, and in this case, it is necessary to increase confidentiality.
[0093]
As described above, when confidentiality is also required after securing a certain level of smooth conversation, it is preferable to determine the encryption level in consideration of both confidentiality information and priority information.
For example, the algorithm for determining the encryption level is to first obtain an “communication state” and “priority information”, select an encryption level that does not cause a delay in voice data, and then select “confidential information”. , The encryption level may be changed so as to lower the selected encryption level by the number of ranks associated with the confidentiality information.
Further, the user may be able to set which of the quality information, the confidentiality information, and the priority information indicating the “communication state” is used for determining the encryption level. For example, it is only necessary to set and input which of the three pieces of information is used by key input and a switch.
[0094]
<Example 5>
Here, an embodiment of a communication device that changes the encryption level and relays data will be described.
FIG. 5 is a block diagram showing the overall configuration of a communication device according to a fifth embodiment of the present invention.
The communication device 31 of the fifth embodiment includes two communication ports (2a, 2b), and both data transmitted and received between a communication partner connected to the communication port 2a and a communication partner connected to the communication port 2b. It relays the direction.
[0095]
In FIG. 5, for relaying data to be sent from a communication partner connected to the communication port 2a to a communication partner connected to the communication port 2b, a decoder 11a, a data queue 32a, and an encryptor 4a are provided. A decoder 11b, a data queue 32b, and an encryptor 4b are provided for relaying data to be sent from a communication partner connected to the communication port 2b to a communication partner connected to the communication port 2b.
[0096]
For example, when a packet is received from a communication partner connected to the communication port 2a, the packet is decrypted by the decoder 11a, temporarily stored in the data queue 32a, and the encryption level determined by the encryption level determination unit 5 is used. Then, the temporarily stored packet is encrypted by the encryptor 4a and transferred from the communication port 2b to another communication partner.
[0097]
Here, the CPU of the communication device 31 performs analysis or conversion of a protocol and a transmission / reception address, other filtering, and scheduling based on packet priority, as necessary, for the data stored in the data queue 32a.
[0098]
FIG. 12 shows an operation flowchart of the communication device according to the fifth embodiment of the present invention.
Here, a case will be described in which data received from a communication partner connected to the communication port 2a is relayed to another communication partner connected to the communication port 2b. However, the same applies when data is relayed from the communication port 2b to the communication port 2a.
[0099]
In step S41, when data reception is started at the communication port 2a, the communication port 2a first removes the header and the footer added for the transfer by the physical communication medium, and adds the encryption level information to the packet. Determines whether the packet is encrypted by detecting whether the packet is added, or by determining whether the source information added to the packet is the communication partner that is performing the encrypted communication. (Step S42).
[0100]
If it is encrypted, the packet data is transferred to the decoder 11a (step S43).
If not, the data packet is transferred to the data queue 32a, and the process proceeds to step S47.
In step S44, the decryptor 11a reads the encryption level information added to the header of the packet and determines the encryption level of the packet (step S44).
[0101]
Next, referring to the encryption database 6, information on an encryption method necessary for decrypting data and an encryption key corresponding to the encryption method is acquired (step S45).
Next, the received packet is decoded using the obtained information, and is transferred to the data queue 32a (step S46).
In step S47, the packet is analyzed in the data queue 32a, and the packet is processed based on the analyzed contents. Here, processing of a packet means detection of a data transmission destination address, setting of confidentiality and priority of a packet, analysis, detection, filtering, scheduling, division / combination of a packet, and the like.
[0102]
Next, in step S48, as in the first embodiment, the communication state detection unit 3 acquires the “communication state” of the data transmission destination.
In step S49, the encryption level determination unit 5 determines the encryption level using the acquired “communication state” and the confidentiality and priority of the packet.
In step S50, the encryption level determination unit 5 acquires an encryption algorithm and an encryption key corresponding to the determined encryption level from the encryption database 6, and transfers them to the encryptor 4a (step S50).
[0103]
In step S51, the encryptor 4a sequentially performs encryption on the packets stored in the data queue 32a.
In step S52, information indicating the encryption level is added to the header of the encrypted packet, and the packet is transferred to the communication port 2b.
Finally, in step S53, the communication port 2b performs processing for transferring the transferred packet to a communication partner using a physical communication medium, that is, establishing a communication path, header / footer to the packet. Is added, and electrical conversion is performed, and packets are sequentially transferred to the communication partner, and the process is completed.
[0104]
Next, an embodiment of a specific configuration of the data queue 32 will be described.
FIG. 6 is a block diagram illustrating a configuration of the data queue 32a according to the fifth embodiment. The data queue 32b in FIG. 5 has the same configuration.
6, the data queue 32a includes a memory element group including the reception data buffer 12 and the transmission data queue 7, and a functional block group such as the data transmission destination detection unit 13 and the schedule 37.
[0105]
The function block group is preferably configured by hardware logic from the viewpoint of high-speed processing, but may be realized by a microcomputer centered on a CPU and a program indicating a processing procedure of each function block. .
The reception data buffer 12, the transmission data queue 7, the data transmission destination detection unit 13 and the secrecy / priority detection unit 15 shown in FIG. 6 have the same functions as those described in the first, second and fourth embodiments. It is a functional block having.
[0106]
The packet filter 33 is a part for selecting a packet to be transferred. The packet filter 33 examines a packet in the reception data buffer 12, and determines a packet that does not need to be transmitted, a packet from a terminal that is not permitted to transmit, and a terminal that is not permitted to access. Discard the destination packets and transfer only the necessary packets.
[0107]
The address / protocol conversion unit 34 is a unit that performs an address conversion and a protocol conversion necessary in a case such as an Internet connection by a device on the LAN via the communication device 31. For example, it means converting an address between a global address and a local address, and the protocol conversion means, for example, converting a protocol between ATM and TCP / IP.
[0108]
The confidentiality / priority analysis unit 35 is a part that analyzes the contents of the packet that has passed through the packet filter 33 in order to set the confidentiality or the priority of the packet. The confidentiality / priority setting unit 36 is a part for setting confidentiality or priority to a packet.
For example, the confidentiality / priority analysis unit 35 checks the type of the upper protocol layer in the packet, and if this is RTP, the confidentiality / priority setting unit 36 sets a high priority.
[0109]
The scheduler 37 is a part that determines the transfer order by using the priority given to the packet. For example, a packet given a high priority has a transmission data queue prior to a packet given a low priority. 7 is transferred.
[0110]
Although FIG. 5 shows a configuration in which the encryptor 4 and the decryptor 11 are provided independently of the communication ports 2a and 2b, the encryptors and the decryptors may be built in the communication ports 2a and 2b. Good. According to this, the internal processing of the data queue 32 and the encryption / decryption processing can be distributed and parallelized to reduce the overall processing time.
[0111]
Next, a description will be given of a communication state to be acquired by the communication state detection unit 3 when relaying data of the fifth embodiment.
The fifth embodiment differs from the first to fourth embodiments in that the main function is to relay data, unlike the first to fourth embodiments.
That is, it is preferable to use information (relay information) on data to be relayed as information on the “communication state”, in addition to quality information such as a transmission data amount and a link speed of the communication port.
As information (relay information) on data to be relayed, the type of port, total measurement of relay data, encryption information of a higher protocol layer, and the like can be used.
[0112]
The “port type” refers to, for example, information for distinguishing between wired and wireless, and information for distinguishing a communication protocol for a communication port to perform physical communication. Since the communication port usually depends on the hardware of the communication port (2a, 2b), port information is set in advance for each communication port. For example, when one communication port 2a is connected to a wired communication medium and the other communication port 2b is connected to a wireless communication medium, data that is encrypted at the same encryption level is usually transmitted and received wirelessly. It can be said that the data to be transmitted has lower confidentiality than the wired data.
[0113]
Therefore, when the information indicating the type of the port of wireless as the “communication state” is obtained, the data transmitted from the communication port is encrypted using the encryption level with the higher rank even in the communication state with low throughput. Should. That is, the “port type” is used as a reference for selecting the encryption level of the relay data.
[0114]
“Total measurement of relay data” refers to the total amount of data relayed per unit time of a communication port.
For example, by comparing the total weighing with a reference amount corresponding to the processing capacity of the relay, if the total weighing is larger than the reference amount, the encryption level is lowered, and if the total weighing is lower, the encryption level is raised.
This total measurement can be obtained by measuring the number of packets actually passing through the communication port. If the encryption level is selected in consideration of the processing capacity of the actual amount of relay data, more efficient and secure communication can be performed.
[0115]
The “encryption information of the upper protocol layer” means information as to whether or not the data content obtained by removing the header information of the protocol (lower protocol) applied for communication is encrypted. This information can be obtained from header information in the upper layer protocol. For example, if the data to be relayed is already encrypted by TLS (Transport Layer Security), which is information of an upper protocol layer defined by RFC2246, the confidentiality of the information to be transmitted exceeds a certain reference level. Only when communication capacity is available, the lower protocol layer performs encryption at a higher encryption level, and otherwise performs encryption at a lower encryption level or does not perform encryption processing.
As described above, by using the information of the upper protocol layer, a more appropriate encryption level can be selected from the viewpoint of processing speed and confidentiality.
[0116]
【The invention's effect】
According to the present invention, since the encryption level can be selected in consideration of the information related to the actual communication state, it is possible to achieve both confidentiality of transmitted and received data and communication quality.
[Brief description of the drawings]
FIG. 1 is an overall configuration block diagram of a communication device according to a first embodiment of the present invention.
FIG. 2 is an overall configuration block diagram of a communication device according to a second embodiment of the present invention;
FIG. 3 is an overall configuration block diagram of a communication device according to a third embodiment of the present invention.
FIG. 4 is an overall configuration block diagram of a communication device according to a fourth embodiment of the present invention.
FIG. 5 is an overall configuration block diagram of a communication device according to a fifth embodiment of the present invention.
FIG. 6 is a configuration block diagram of a data queue according to a fifth embodiment of the present invention.
FIG. 7 is an operation flowchart at the time of transmission of the communication device according to the first embodiment of the present invention.
FIG. 8 is an operation flowchart at the time of reception of the communication device according to the first embodiment of the present invention.
FIG. 9 is an operation flowchart at the time of transmission of the communication apparatus according to the second embodiment of the present invention.
FIG. 10 is an operation flowchart at the time of transmission of the communication device according to the third embodiment of the present invention.
FIG. 11 is an operation flowchart at the time of reception of a communication device according to a third embodiment of the present invention.
FIG. 12 is an operation flowchart of Embodiment 5 of the communication device of the present invention.
FIG. 13 is a block diagram showing the entire structure of a conventional secure system.
FIG. 14 is a flowchart of an example of a conventional secure system.
[Explanation of symbols]
2 Communication port
3 Communication status detector
4 Encryptor
5 Encryption level determination unit
6 Cryptographic database
7 Transmission data queue
8 Data storage media
9a Transmission data
9b Transmission data
10 Received data
11 Decoder
12 Receive data buffer
13 Data transmission destination detection unit
14 Data Content Analysis Section
15 Confidentiality / priority detector
21 Communication equipment

Claims (13)

1つまたは複数の通信媒体に対してデータの送受信を行う通信部と、通信部の状態を監視し現在の通信状態を特定する品質情報を取得する通信状態検出部と、取得した品質情報に基づいて暗号化レベルを決定する暗号化レベル決定部と、決定された暗号化レベルに基づいて送信データを暗号化する暗号部とを備えたことを特徴とする通信機器。A communication unit that transmits and receives data to and from one or more communication media; a communication state detection unit that monitors the state of the communication unit and acquires quality information that specifies a current communication state; A communication device comprising: an encryption level determination unit that determines an encryption level by using the encryption unit; and an encryption unit that encrypts transmission data based on the determined encryption level. 前記通信状態検出部が、前記品質情報として、通信部の単位時間あたりに送受信されるデータ量、通信部の現在のリンク速度、通信部の通信エラー率、および通信部が所定のデータを送信した時からそのデータに対する応答データを受信するまでの時間のうち、少なくともいずれか1つ以上を取得することを特徴とする請求項1の通信機器。The communication state detection unit, as the quality information, the amount of data transmitted and received per unit time of the communication unit, the current link speed of the communication unit, the communication error rate of the communication unit, and the communication unit has transmitted predetermined data 2. The communication device according to claim 1, wherein at least one of the time from when the response data corresponding to the data is received is acquired. 前記通信部が無線によるデータの送受信を行う場合、前記通信状態検出部は、受信する電波強度を前記品質情報として取得することを特徴とする請求項1または2の通信機器。The communication device according to claim 1, wherein when the communication unit performs wireless data transmission and reception, the communication state detection unit acquires a received radio wave intensity as the quality information. 前記暗号化レベル決定部が決定する暗号化レベルは、暗号化鍵の鍵長,暗号化方式,暗号化処理の適用回数,暗号化されたデータに付加される初期化ベクトルのデータ量のうち、少なくともいずれか一つ以上から構成されることを特徴とする請求項1の通信機器。The encryption level determined by the encryption level determining unit is one of the key length of the encryption key, the encryption method, the number of times the encryption process is applied, and the data amount of the initialization vector added to the encrypted data. The communication device according to claim 1, wherein the communication device is configured by at least one of at least one. 前記暗号化鍵の鍵長が、一方向性を持ったハッシュ関数により生成されることを特徴とする請求項4の通信機器。The communication device according to claim 4, wherein the key length of the encryption key is generated by a one-way hash function. 前記暗号化レベル決定部により決定された暗号化レベルが、前記暗号部により暗号化されたデータに付加されて通信部により送信されることを特徴とする請求項4の通信機器。The communication device according to claim 4, wherein the encryption level determined by the encryption level determination unit is added to data encrypted by the encryption unit and transmitted by a communication unit. 前記暗号部が使用する暗号化鍵自体が、所定の暗号化方式で暗号化され、かつ前記暗号化鍵を使用して暗号化された送信データとは異なるデータとして、通信部により送信されることを特徴とする請求項4の通信機器。The encryption key itself used by the encryption unit is encrypted by a predetermined encryption method, and transmitted by the communication unit as data different from transmission data encrypted using the encryption key. The communication device according to claim 4, wherein: 前記通信部が受信したデータに含まれる暗号化レベルの情報に基づいて、通信部が受信したデータを復号する復号部をさらに備えたことを特徴とする請求項1の通信機器。The communication device according to claim 1, further comprising a decryption unit that decrypts the data received by the communication unit based on information on an encryption level included in the data received by the communication unit. 送信データの中に予め付与された機密度情報、または、送信データに含まれる特定の情報から設定される機密度情報を検出する機密度情報検出部をさらに備え、前記暗号化レベル決定部が、前記取得された品質情報と検出された機密度情報とを用いて暗号化レベルを決定することを特徴とする請求項1の通信機器。The confidentiality information added in advance in the transmission data, or further includes a confidentiality information detection unit that detects confidentiality information set from specific information included in the transmission data, the encryption level determination unit, The communication device according to claim 1, wherein an encryption level is determined using the obtained quality information and the detected confidentiality information. 送信データの中に予め付与されたデータ転送の優先度情報、または送信データに含まれる特定の情報から設定される優先度情報を検出する優先度情報検出部をさらに備え、前記暗号化レベル決定部が、前記取得された品質情報と検出された優先度情報とを用いて暗号化レベルを決定することを特徴とする請求項1の通信機器。The encryption level determination unit further includes a priority information detection unit that detects priority information of data transfer given in advance in the transmission data or priority information set from specific information included in the transmission data. The communication device according to claim 1, wherein the communication device determines an encryption level using the obtained quality information and the detected priority information. 送信データの中に予め付与された機密度情報および優先度情報、または送信データに含まれる特定の情報から設定される機密度情報および優先度情報を検出する機密度/優先度検出部と、前記品質情報,機密度情報および優先度情報のうちいずれの情報を用いて暗号化レベルを決定すべきかを設定する情報設定部とをさらに備え、前記暗号化レベル決定部が、前記情報設定部によって設定された情報を用いて暗号化レベルを決定することを特徴とする請求項1の通信機器。A confidentiality / priority detecting unit for detecting confidentiality information and priority information given in advance in the transmission data, or confidentiality information and priority information set from specific information included in the transmission data; An information setting unit for setting which of the quality information, the confidentiality information and the priority information is to be used to determine the encryption level, wherein the encryption level determination unit sets the encryption level by the information setting unit. 2. The communication device according to claim 1, wherein an encryption level is determined using the obtained information. 複数の通信媒体に対してそれぞれ中継データの送受信を行う複数の通信部と、通信部の状態を監視し現在の通信状態を特定する品質情報と、通信部で中継されるデータに関する中継情報とを取得する通信状態検出部と、取得した品質情報および中継情報とに基づいて暗号化レベルを決定する暗号化レベル決定部と、決定された暗号化レベルに基づいて中継データを暗号化する暗号部と、決定された暗号化レベルに基づいて中継データを復号化する復号部とを備え、前記通信部が受信した中継データを復号部により復号した後、暗号部により暗号化して、中継データを受信した通信部とは異なる通信部から前記暗号化された中継データを送信することを特徴とする通信機器。A plurality of communication units for transmitting / receiving relay data to / from a plurality of communication media, quality information for monitoring the state of the communication unit and specifying a current communication state, and relay information for data relayed by the communication unit. A communication state detection unit to obtain, an encryption level determination unit to determine an encryption level based on the obtained quality information and relay information, and an encryption unit to encrypt relay data based on the determined encryption level. A decryption unit that decrypts the relay data based on the determined encryption level. A communication device for transmitting the encrypted relay data from a communication unit different from the communication unit. 前記中継情報が、通信部の通信ポート種別情報,所定の通信部が単位時間あたりに中継するデータの合計量、および上位プロトコルレイヤにおける暗号化情報のうち、少なくともいずれか1つ以上から構成されることを特徴とする請求項12の通信機器。The relay information includes at least one of communication port type information of a communication unit, a total amount of data relayed by a predetermined communication unit per unit time, and encryption information in an upper protocol layer. 13. The communication device according to claim 12, wherein:
JP2002223474A 2002-07-31 2002-07-31 Communication equipment Pending JP2004064652A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002223474A JP2004064652A (en) 2002-07-31 2002-07-31 Communication equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002223474A JP2004064652A (en) 2002-07-31 2002-07-31 Communication equipment

Publications (1)

Publication Number Publication Date
JP2004064652A true JP2004064652A (en) 2004-02-26

Family

ID=31943217

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002223474A Pending JP2004064652A (en) 2002-07-31 2002-07-31 Communication equipment

Country Status (1)

Country Link
JP (1) JP2004064652A (en)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007143062A (en) * 2005-11-22 2007-06-07 Fuji Xerox Co Ltd Information management system, information management method, and program
JP2007282070A (en) * 2006-04-11 2007-10-25 Nec Engineering Ltd Communication terminal device and encrypting method
JP2008035438A (en) * 2006-07-31 2008-02-14 Fujitsu Ltd Data repeating apparatus
JP2008113172A (en) * 2006-10-30 2008-05-15 Hitachi Ltd Content transmitter, content receiver and content ciphering method
JP2009505506A (en) * 2005-08-11 2009-02-05 マイクロソフト コーポレーション Protection of digital media of various content types
JP2009534697A (en) * 2006-04-18 2009-09-24 エアバス フランス Communication method and apparatus on communication network between aircraft and ground station
JP2009253563A (en) * 2008-04-03 2009-10-29 Nec Corp Content encryption distribution system, content encryption distribution method, and program for content encryption distribution
JP2009540707A (en) * 2006-06-13 2009-11-19 エヌイーシー ヨーロッパ リミテッド Private key establishment process
JP2011193055A (en) * 2010-03-11 2011-09-29 Fujitsu Ltd Communication device and communication method
JP2012114592A (en) * 2010-11-22 2012-06-14 Nec Corp Data processing apparatus, data processing system, data processing program, and access restriction method
US8374339B2 (en) 2005-09-06 2013-02-12 Fujitsu Limited Security setting method of wireless communication network, wireless communication network system, client device and recording medium
JP2014171090A (en) * 2013-03-04 2014-09-18 Buffalo Inc Radio relay device, radio relay method, and client device
WO2014184938A1 (en) 2013-05-16 2014-11-20 富士通株式会社 Terminal device, communication system, and communication control program
JP2014233020A (en) * 2013-05-30 2014-12-11 株式会社バッファロー Wireless communication device, wireless terminal device, wireless communication system, and method
WO2016028140A1 (en) * 2014-08-18 2016-02-25 Mimos Berhad System and method for adaptive protocol data unit management for secure network communication
JP2016170813A (en) * 2016-06-16 2016-09-23 日立オートモティブシステムズ株式会社 Electronic controller for automatic vehicle
US10606229B2 (en) 2011-09-21 2020-03-31 Hitachi Automotive Systems, Ltd. Electronic control unit for vehicle and method of executing program
JP2020088478A (en) * 2018-11-19 2020-06-04 三菱電機株式会社 Relay device, relay method, and relay program
US20200244669A1 (en) * 2006-04-13 2020-07-30 Certicom Corp. Method and Apparatus for Providing an Adaptable Security Level in an Electronic Communication
US11563747B2 (en) 2003-07-07 2023-01-24 Blackberry Limited Method and aparatus for providing an adaptable security level in an electronic communication
CN117395466A (en) * 2023-10-11 2024-01-12 深邦智能科技集团(青岛)有限公司 Video transmission real-time monitoring method and system and electronic equipment
CN117395466B (en) * 2023-10-11 2024-04-30 深邦智能科技集团(青岛)有限公司 Video transmission real-time monitoring method and system and electronic equipment

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11563747B2 (en) 2003-07-07 2023-01-24 Blackberry Limited Method and aparatus for providing an adaptable security level in an electronic communication
US11870787B2 (en) 2003-07-07 2024-01-09 Blackberry Limited Method and apparatus for providing an adaptable security level in an electronic communication
JP2009505506A (en) * 2005-08-11 2009-02-05 マイクロソフト コーポレーション Protection of digital media of various content types
US8374339B2 (en) 2005-09-06 2013-02-12 Fujitsu Limited Security setting method of wireless communication network, wireless communication network system, client device and recording medium
JP2007143062A (en) * 2005-11-22 2007-06-07 Fuji Xerox Co Ltd Information management system, information management method, and program
JP2007282070A (en) * 2006-04-11 2007-10-25 Nec Engineering Ltd Communication terminal device and encrypting method
US20200244669A1 (en) * 2006-04-13 2020-07-30 Certicom Corp. Method and Apparatus for Providing an Adaptable Security Level in an Electronic Communication
JP2009534697A (en) * 2006-04-18 2009-09-24 エアバス フランス Communication method and apparatus on communication network between aircraft and ground station
JP2009540707A (en) * 2006-06-13 2009-11-19 エヌイーシー ヨーロッパ リミテッド Private key establishment process
JP2008035438A (en) * 2006-07-31 2008-02-14 Fujitsu Ltd Data repeating apparatus
JP2008113172A (en) * 2006-10-30 2008-05-15 Hitachi Ltd Content transmitter, content receiver and content ciphering method
JP2009253563A (en) * 2008-04-03 2009-10-29 Nec Corp Content encryption distribution system, content encryption distribution method, and program for content encryption distribution
JP2011193055A (en) * 2010-03-11 2011-09-29 Fujitsu Ltd Communication device and communication method
JP2012114592A (en) * 2010-11-22 2012-06-14 Nec Corp Data processing apparatus, data processing system, data processing program, and access restriction method
US10606229B2 (en) 2011-09-21 2020-03-31 Hitachi Automotive Systems, Ltd. Electronic control unit for vehicle and method of executing program
US11556104B2 (en) 2011-09-21 2023-01-17 Hitachi Astemo, Ltd. Electronic control unit for vehicle and method of executing program
JP2014171090A (en) * 2013-03-04 2014-09-18 Buffalo Inc Radio relay device, radio relay method, and client device
WO2014184938A1 (en) 2013-05-16 2014-11-20 富士通株式会社 Terminal device, communication system, and communication control program
JP5994936B2 (en) * 2013-05-16 2016-09-21 富士通株式会社 Terminal device, communication system, and communication control program
JP2014233020A (en) * 2013-05-30 2014-12-11 株式会社バッファロー Wireless communication device, wireless terminal device, wireless communication system, and method
WO2016028140A1 (en) * 2014-08-18 2016-02-25 Mimos Berhad System and method for adaptive protocol data unit management for secure network communication
JP2016170813A (en) * 2016-06-16 2016-09-23 日立オートモティブシステムズ株式会社 Electronic controller for automatic vehicle
JP2020088478A (en) * 2018-11-19 2020-06-04 三菱電機株式会社 Relay device, relay method, and relay program
JP7213664B2 (en) 2018-11-19 2023-01-27 三菱電機株式会社 Relay device, relay method and relay program
CN117395466A (en) * 2023-10-11 2024-01-12 深邦智能科技集团(青岛)有限公司 Video transmission real-time monitoring method and system and electronic equipment
CN117395466B (en) * 2023-10-11 2024-04-30 深邦智能科技集团(青岛)有限公司 Video transmission real-time monitoring method and system and electronic equipment

Similar Documents

Publication Publication Date Title
JP2004064652A (en) Communication equipment
US8984268B2 (en) Encrypted record transmission
US7774593B2 (en) Encrypted packet, processing device, method, program, and program recording medium
KR101357026B1 (en) Air-interface application layer security for wireless networks
US8775790B2 (en) System and method for providing secure network communications
JP5706308B2 (en) Rapid SSL inspection using precalculated cryptographic data
JP2002319936A (en) Apparatus and method for communication for making data safe
US8189586B2 (en) Plural telecommunications functions having sharing transaction(s)
JP2007522764A (en) Method and apparatus for cryptographically processing data
US20070242703A1 (en) Binding/combining of plural telecommunications functions
WO2009000209A1 (en) A method and a system for transmitting and receiving the data
US9185130B2 (en) Transmission apparatus, reception apparatus, communication system, transmission method, and reception method
WO2001049058A1 (en) Radio communication device and radio communication method
Seggelmann et al. SSH over SCTP—Optimizing a multi-channel protocol by adapting it to SCTP
JP2010028747A (en) Transmission device and reception device for ciphering process
KR20150055004A (en) Streaming alignment of key stream to unaligned data stream
WO2006035501A1 (en) Concealment communication system
CN116015943B (en) Privacy protection method based on multi-level tunnel confusion
EP1569408B1 (en) Communication-processing apparatus and its method
Paulus et al. SPEECH: Secure personal end-to-end communication with handheld
Hussain et al. Securing the insecure link of internet-of-things using next-generation smart gateways
Hohendorf et al. Secure End-to-End Transport Over SCTP.
JP2693881B2 (en) Cryptographic processing apparatus and method used in communication network
JP4260658B2 (en) VPN device and fraud detection system
JP2006013781A (en) Wireless communication system and interception prevention method in wireless communication system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050525

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070821

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071218