説明

暗号化通信方法および通信装置

【課題】暗号化情報の有無を検出し、暗号化情報がない場合に、データ再送の間隔を暗号化情報の折衝にかかる時間だけあけて、CPUの負荷を低減させる暗号化通信方法および通信装置を提供する。
【解決手段】アプリケーションプログラムの動作に基づいて作成された送信データを暗号化して送信する暗号化通信方法において、暗号化処理の適用の規則を定めたセキュリティポリシに基づいて送信データの暗号化の要否を判断し、必要と判断した場合で暗号化処理の暗号化情報が存在しない場合は、暗号化情報の不存在を示す情報をアプリケーションプログラムに送信し、送信データの送信先である他の装置との間で暗号化通信の折衝を行い暗号化情報を作成する。暗号化情報の有無を検出し、暗号化情報がない場合には、データ再送の間隔を暗号化情報の折衝にかかる時間だけあけることにより、CPUの負荷を低減させる暗号化通信方法および装置。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータをはじめとする所定の装置間の暗号化通信に関し、特に暗号化通信の通信状態を動作中のアプリケーションに通知する暗号化通信方法および通信装置に関するものである。
【背景技術】
【0002】
インターネット、社内ネットワーク等が普及する中、このようなネットワークはオープン化されたものであるため、その中を流れる情報の保護が重要となっている。この情報の保護として、特定の装置間でのみ情報の授受を可能とする暗号化通信が用いられる(例えば特許文献1参照。)。
【0003】
【特許文献1】特開平9−270786号公報
【0004】
図6は従来の暗号化通信方法および通信装置の一例を示す構成図である。図6は、装置内の暗号化通信に係る部分を図示したものである。
【0005】
図6において、アプリケーション実行手段1はアプリケーションプログラム(以下、アプリケーションという。)とCPU(演算装置)やメモリなどからなる処理回路により形成される。アプリケーション実行手段1は、アプリケーションを実行し、アプリケーションの動作に基づき、データの作成や送受信を始めとする所定の機能を実現する。なお、アプリケーションは、記憶手段53に格納されている。
【0006】
通信制御手段52は、TCP/IP(Transmission Control Protocol/Internet Protocol)に準じた通信制御を司る通信モジュールであって、実装されたソフトウェアの動作に基づき、アプリケーション実行手段1から受け取った送信データをTCP/IPに則って、送信データの分割、プロトコルのヘッダ情報の付加などを行なった送信パケットを生成し、ネットワーク5を介して他の装置に送信すると共に、他の装置から受信したパケットを受信データとしてアプリケーション実行手段1に送る。通信制御データ6は、アプリケーションの一連の通信毎に作成され、例えば接続状態情報、自己の使用ポート、接続相手の使用ポートなどの通信の際に必要になる様々なデータであって、記憶手段53に格納される。
【0007】
セキュリティポリシデータベース8は、暗号化通信をするにあたって、どのようなパケットに対して、discard(パケットの廃棄)、Bypass(いかなる暗号、複合化処理も行わない)、Apply(暗号化・複合化処理を適用する)などのアクションを行うかを定めたルールであるセキュリティポリシが格納されるデータベースである。このデータベースも記憶手段53に格納される。
【0008】
暗号化情報データベース9は、暗号化通信において、安全な通信路を確立するために必要な暗号アルゴリズムや暗号鍵の情報である暗号化情報が格納されるデータベースである。この暗号化情報は、暗号化通信を始める前に、通信相手と共有されなければ成らない。この共有は手動または自動で設定される。このデータベースも記憶手段53に格納される。
【0009】
暗号化情報設定手段10は、通信相手と暗号化情報を自動で共有するためのモジュールであって、実装されたソフトウェアの動作に基づき、通信制御手段52から暗号化情報の作成依頼を受けたときに、ネットワーク5を介して通信相手との折衝を行う。
【0010】
このような構成による動作は以下の通りである。信号の流れ(処理手順)に従って説明する。
【0011】
(S1)アプリケーション実行手段1は、送信データを作成し、通信制御手段52に渡す。
【0012】
(S2)通信制御手段52は、セキュリティポリシデータベース8を検索し、送信データに暗号化通信を適用すべきかどうかを調べる。
【0013】
(S3)暗号化通信が必要な場合、通信制御手段52は暗号化情報データベース9を検索し、該当する暗号化情報が存在するか調べる。送信対象のパケットに対応する暗号化情報が存在しない場合には、暗号化情報設定手段10に、該当する暗号化情報の作成を依頼する。並行して、予め設定された間隔で予め設定された回数の送信パケットの再送信を行い、送信回数が設定回数に達した時点でそのパケットを破棄する。或いは、再送信を行わず送信パケットをそのまま破棄する。
【0014】
(S4)通信制御手段52はパケットの送信に失敗したことをアプリケーション実行手段1に伝える。
【0015】
(S5)通信制御手段52から暗号化情報の作成依頼を受けた暗号化情報設定手段10は、通信相手との折衝を行う。
【0016】
(S6)暗号化情報設定手段10が折衝に成功すると、作成した暗号化情報を暗号化情報データベース9に格納する。
【0017】
このような暗号化通信は、暗号化技術をTCP/IPに則って生成されるパケットに適用して安全な通信路を確立した通信であって、TCP/IP通信モジュールで実現するため、アプリケーションは暗号化通信が行われていることを意識する必要はない。
【発明の開示】
【発明が解決しようとする課題】
【0018】
このような従来の暗号化通信方法および通信装置では、暗号化通信をするアプリケーションが通信相手との通信に失敗する原因として、暗号化情報がない場合や暗号化情報設定手段による暗号化情報作成の失敗、通信経路の異常などが考えられるが、暗号化情報が無かったことをアプリケーションが知ることができない。
【0019】
一般的に暗号化情報の折衝にかかる時間は通常の通信に比べ非常に大きいため、アプリケーションに暗号化通信の失敗や状態を通知する機構が無い場合、特に通信相手の応答を期待するアプリケーションは、次のステップに移行できないし、TCP/IP通信モジュールは、無駄にデータの再送を繰り返してタイムアウトを待つことになり、送信元のCPUの負荷が大きくなり、他の処理に影響が生じるという問題があった。
【0020】
本発明は、このような暗号化通信方法および通信装置が有していた問題を解決しようとするものであり、暗号化情報の有無を検出し、暗号化情報がない場合には、データ再送の間隔を暗号化情報の折衝にかかる時間だけあけることにより、CPUの負荷を低減させる暗号化通信方法および通信装置を提供することを目的とする。
【課題を解決するための手段】
【0021】
本発明は次の通りの構成になった暗号化通信方法および通信装置である。
【0022】
(1)アプリケーションプログラムの動作に基づいて作成された送信データを暗号化して送信する暗号化通信方法において、
前記送信データの暗号化通信にあたって、暗号化処理の適用の規則を定めたセキュリティポリシに基づいて送信データの暗号化の要否を判断する工程と、
暗号化が必要と判断した場合に、暗号化通信を確立するための暗号化情報が格納されたデータベースから適用する暗号化処理の暗号化情報を検索する工程と、
暗号化情報を検索した結果、該当する暗号化情報が存在しない場合に、暗号化情報の不存在を示す情報を作成し、この情報を前記アプリケーションプログラムに送信する工程と、
前記送信データの送信先である他の装置との間で暗号化通信の折衝を行い、前記該当する暗号化情報を作成する工程と、
前記暗号化情報の不存在を示す情報に基づき送信データの再送信を所定の時間待機する工程とから構成される暗号化通信方法。
【0023】
(2)前記暗号化情報の不存在を示す情報は、フラグ情報であることを特徴とする(1)に記載の暗号化通信方法。
【0024】
(3)前記送信データの再送信の待機時間は、前記暗号化通信の折衝に要する時間であることを特徴とする(1)または(2)に記載の暗号化通信方法。
【0025】
(4)送信データを暗号化して送信する通信装置において、
アプリケーションプログラムの動作に基づいて前記送信データを生成するアプリケーション実行手段と、
前記送信データを暗号化して他の装置に送信する通信制御手段と、
暗号化通信を確立するための暗号化情報が格納された記憶手段と、
他の装置との暗号化通信の折衝を行う暗号化情報設定手段と、
を有し、
前記通信制御手段は、前記送信データに対応する暗号化情報の有無の検出と、この検出結果の前記アプリケーション実行手段への送信と、前記暗号化情報設定手段への暗号化通信の折衝の要求を行うと共に、前記アプリケーション実行手段および前記通信制御手段の少なくともいずれか一方は、前記検出結果に基づいてデータの再送を所定時間待機することを特徴とする通信装置。
【0026】
(5)前記検出結果は、フラグ情報として前記記憶手段に格納されることを特徴とする(4)に記載の通信装置。
【0027】
(6)前記送信データの再送信の待機時間は、前記暗号化通信手段の折衝に要する時間であることを特徴とする(4)または(5)に記載の通信装置。
【発明の効果】
【0028】
本発明によれば、以下のような効果がある。
【0029】
請求項1から請求項6に記載の発明によれば、暗号化情報の有無を検出し、暗号化情報がない場合には、データ再送の間隔を暗号化情報の折衝にかかる時間だけあけることにより、CPUの負荷を低減させる暗号化通信方法および通信装置を実現できる。
【発明を実施するための最良の形態】
【0030】
以下図面を用いて本発明を詳細に説明する。図1は本発明に係る暗号化通信方法および通信装置の一例を示す構成図である。図1は、装置内の暗号化通信に係る部分を図示したものである。なお、図1で前出の図と同様の構成要素には同様の符号を付し、その部分の説明は省略する。
【0031】
図1において、アプリケーション実行手段1はアプリケーションとCPU(演算装置)やメモリなどからなる処理回路により形成される。アプリケーション実行手段1は、アプリケーションを実行し、アプリケーションの動作に基づき、送信データの作成や送受信を始めとする所定の機能や制御を実現する。なお、アプリケーションは、記憶手段11に格納されている。
【0032】
通信制御手段2は、TCP/IPに準じた通信制御を司る通信モジュールであって、アプリケーション実行手段1から受け取った送信データをTCP/IPに則って、送信データの分割、プロトコルのヘッダ情報の付加などを行なった送信パケットを生成し、ネットワーク5を介して他の装置に送信すると共に、他の装置から受信したパケットを受信データとしてアプリケーション実行手段1に送る。
【0033】
通信制御データ6は、前述と同様、アプリケーションの一連の通信毎に作成され、通信の際に必要になる様々なデータであって、メモリやハードディスクなどの記憶手段11に格納される。
【0034】
通信制御データ6は、暗号化情報の有無を示す暗号化情報フラグ7を設定するエリアを有し、通信制御手段2は、アプリケーション実行手段1がデータ送信する際に、該当する暗号化情報が無い場合には、通信制御データ6の暗号化情報フラグ7をセット(例えばデータを0から1)し、パケットの送信に失敗したことを通信制御データ6の暗号化情報フラグ7の状況と共にアプリケーション実行手段1に伝える。アプリケーション実行手段1は、通信制御手段2から伝えられた情報に基づき、例えば通信制御手段2へのデータ送信を予め設定された時間待機したり、他の処理などを行う。
【0035】
通信制御手段2は、再びアプリケーション実行手段1がデータ送信する際に、該当する通信制御データ6の暗号化情報フラグ7をチェックし、前回のデータ送信で、該当する暗号化情報が存在しなかったかをチェックする。暗号化情報フラグ7がセットされていた場合には、通信制御手段2は、前回のデータ送信で暗号化情報が存在しなかったことをアプリケーション実行手段1に送信すると共にパケットの再送を行わないように待機する。
【0036】
詳細には、一般的に装置間で暗号化情報の交換にはデータ送信よりも大きな時間がかかるため、暗号化情報フラグのセットを検出してデータを再送信する際の間隔を調整することにより、送信元のCPUの負荷を低減することができる。データを再送信する待機時間は、暗号化情報設定手段の行う暗号化通信の折衝に要する時間であり、この時間を経験的に求め、予め待機時間として設定しておく。
【0037】
また、データ送信で暗号化情報が存在しなかったことをアプリケーション実行手段1に送信することにより、アプリケーションの動作は暗号化通信の成否の結果に拘束されることなく他の処理を行うことができる。
【0038】
図1を用いて、本発明の動作(処理工程)を以下に説明する。
【0039】
(S101)アプリケーション実行手段1は送信データを作成し、通信制御手段2に渡す。
【0040】
(S102)通信制御手段2は、セキュリティポリシデータベース8を検索し、送信パケットに暗号化通信を適用すべきかどうかを調べる。
【0041】
(S103)暗号化通信が必要な場合、通信制御手段2は暗号化情報データベース9を検索し、該当する暗号化情報が存在するか調べ、存在すれば送信パケットの暗号化を行いパケットの送信を行う。
【0042】
(S104)該当する暗号化情報が存在しない場合には、既に暗号化情報フラグ7がセットされていなければ、通信制御手段2は、通信制御データ6の暗号化情報フラグ7をセットし、パケットの送信に失敗したことを通信制御データ6の暗号化情報フラグ7の状況と共にアプリケーション実行手段1に伝える。また、通信制御手段2は、暗号化情報フラグ7がセットされていれば、パケットの再送は行わないと判断する。
並行して、通信制御手段2は、暗号情報設定手段10に、該当する暗号化情報の作成を依頼する。
アプリケーション実行手段1は、通信制御手段2から伝えられた情報に基づき、例えば通信制御手段2へのデータ送信を予め設定された時間待機したり、他の処理などを行う。
【0043】
(S105)暗号化情報設定手段10は、暗号アルゴリズムや暗号鍵の情報である暗号化情報の作成を行い、ネットワーク5を介して暗号鍵の交換による通信相手との折衝を行う。
【0044】
(S106)暗号化情報設定手段10は、折衝に成功すると、作成した暗号化情報を暗号化情報データベース9に格納する。
【0045】
(S107)通信制御手段2は、暗号化情報設定手段10によって、該当する暗号化情報が作成され、暗号化通信が成功した場合には、暗号化情報フラグ7をリセットする。
このとき、通信制御手段2は、暗号化情報が作成されたことを、アプリケーション実行手段1に伝えるようにしても良い。アプリケーション側では、暗号化情報フラグ7の変化を把握できるので、データ送信などの処理を適切なタイミングで行える。
【0046】
図2は、本発明に係る通信装置における暗号化通信方法の処理工程を示したフローチャートである。
図2を用いて以下に各処理工程に従って説明する。
【0047】
(ST1)アプリケーションデータにヘッダを付加し、パケットを作成する。
【0048】
(ST2)セキュリティポリシデータベースを検索し 該当するポリシがあるか調べる。
【0049】
(ST3)見つかったポリシに「暗号化が必要」と書いてあるか判断する。
【0050】
(ST4)「暗号化が必要」なら、暗号化情報データベースを検索し、送信しようとするパケットに該当する暗号化情報を検索する。
【0051】
(ST5)暗号化情報があるか判断し、暗号化情報がない場合はST6の処理を行い、暗号化情報がある場合はST13の処理を行う。
【0052】
(ST6)暗号化情報フラグがセットされていなければ、暗号化情報フラグをセットする。
【0053】
(ST7)アプリケーションの処理のブロック(アプリケーションが所定の戻り値を待っている状態)が必要でなければST11の処理を行う。
アプリケーションの処理のブロックが必要であれば、ブロックを開始し、ST8およびST10の処理を行う。アプリケーションは再送が規定回数に達するか、通信が成功するまでブロックされる。
【0054】
(ST8)通信相手と折衝を行い、暗号化情報を作成する。
【0055】
(ST9)暗号化情報を暗号化情報データベースに格納する。
【0056】
(ST10)通信相手からの受信応答が無ければパケットを再送すると判断し、ST1に戻る。
【0057】
(ST11)再送しないと判断した場合やアプリケーションの処理のブロックが必要でない場合は、送信パケットを破棄する。
【0058】
(ST12)該当する暗号化情報が無いという理由で通信が失敗したことをアプリケーションに通知し処理を終える。
【0059】
(ST13)送信パケットの暗号化を行う。
【0060】
(ST14)暗号化情報フラグがセットされていれば 暗号化情報フラグをリセットする。
【0061】
(ST15)送信パケットの暗号化を行う。
【0062】
(ST16)送信の成否を判断し、失敗であればST17の処理を行い、成功であれば処理を終える。
【0063】
(ST17)通信が失敗したことをアプリケーションに通知して処理を終える。
【0064】
以上により、暗号化通信が必要なパケットを送信するアプリケーションが、該当する暗号化情報の有無を知ることができるようになるので、適切な処理を行うことができる。
【0065】
特に、送信に失敗したときのデータ再送信をアプリケーションが行う場合、暗号化情報が無いことをアプリケーションが知ることができれば、暗号化情報の折衝にかかる時間だけ再送間隔をあけることができるようになり、送信元のCPUの負荷を低減させることができる。
【0066】
また、従来例のように通信制御手段が、データの再送を司る場合も暗号化情報が無いことを知ることができれば無駄な再送処理を省きCPUの負荷を低減させることができる。
【0067】
なお、本発明は、上記実施例に限定されることなく、その本質から逸脱しない範囲で更に多くの変更、変形をも含むものである。
【0068】
図3は、本発明に係る暗号化通信方法および通信装置の第2の実施例の動作を示す説明図である。図3は、装置内の暗号化通信に係る部分を図示したものである。
【0069】
なお、図3で前出の図と同様の構成要素には同様の符号を付し、その部分の説明は省略する。また、接続関係は実線で信号経路は破線で示している。さらに、説明の便宜上、通信制御データ、送信データおよび送信パケットを通信制御手段(TCP/IP通信モジュール)内に図示している。
【0070】
図3において、TCPソケット部21のAPI(Application Program Interface)は、インタフェースとして機能するための関数の集合やそれらを利用するためのプログラム上の手続きを定めた規約の集合のことであって、具体的には、実装されたソフトウェアの動作により、処理回路(図示せず)を介して、TCP/IPで通信を行なう装置が持つネットワークアドレス、接続関数、パケット送信関数などに基づき、通信を行なうアプリケーション実行手段1がTCP/IPを扱うためのインタフェースとして機能する。
【0071】
これにより、アプリケーション実行手段1はアドレスとポートの組であるソケットを指定して回線を開くだけで、通信手順の詳細を気にすることなくデータの送受信を行なうことができる。
【0072】
TCP/IP通信モジュール22内のTCPモジュール23は、実装されたソフトウェアの動作に基づき処理回路(図示せず)を介して、トランスポート層にあたる標準プロトコル(Transmission Control Protocol)に則って、後述するネットワーク層のIPモジュールと、セッション層以上のプロトコルの橋渡しを実行する。ここでトランスポート層、ネットワーク層、セッション層は周知であるため説明は省略する。
【0073】
また、IPモジュール24は、実装されたソフトウェアの動作に基づき処理回路(図示せず)を介して、ネットワーク5に参加している機器のアドレッシングや、相互に接続された複数のネットワーク内での通信経路のルーティングをする。
【0074】
IPsecポリシデータベース25は、インターネットで暗号通信を行なうための規格であるIPsec(Security Architecture for Internet Protocol)によるセキュリティポリシを格納したデータベースである。IPのパケットを暗号化して送受信するため、TCPや後述のUDPなど上位のプロトコルを利用するアプリケーションソフトはIPsecが使われていることを意識する必要はない。
【0075】
以下に図3を用いてTCPソケット部21のAPIを使用して暗号化通信による接続を行う場合の動作(処理工程)を説明する。
【0076】
(S201)アプリケーション実行手段1がTCPソケット部21のAPIの接続関数を呼び出すと、TCPソケット部21のAPIはTCPモジュール23の接続関数を呼び出す。
【0077】
(S202)TCPモジュール23の接続関数は、TCP接続用パケットを生成し、IPモジュール24のパケット送信関数を呼び出す。
【0078】
(S203)IPモジュール24は、IPsecポリシデータベース25を参照し、該当するポリシにIPsecが必要であるかどうかを調べ、必要な場合には暗号化情報データベース9から該当する暗号化情報を検索する。
【0079】
(S204)該当する暗号化情報が存在しない場合、IPモジュール24は、該当するTCPの通信制御データ6に暗号化情報フラグ7をセットし、暗号化情報設定手段10に対して暗号化情報設定を要求する。暗号化情報設定手段10は、暗号化情報設定プロトコルにより、パケット送信相手先と折衝を行い、該当する暗号化情報を作成し、暗号化情報データベース9に格納する。
【0080】
(S205)該当する暗号化情報が存在する場合、IPモジュール24はその暗号化情報を用いて送信パケット4の暗号化を行い通信相手に送信パケット4を送信し、該当するTCPの通信制御データ6に立ててある暗号化情報フラグ7をリセットする。
【0081】
(S206)通信相手からの受信応答が無い場合、S202〜S205の処理をTCPモジュール23のパケット再送処理によって行う。この間、アプリケーション実行手段1の処理はTCPソケットAPI21の接続関数を呼び出した時点で、TCPソケット部21のAPIにより、接続終了またはパケット4の再送が規定回数に達したことなどの通信エラーが起こるまでブロックされる場合がある。
【0082】
(S207)TCPモジュール23は、パケット再送処理中に通信相手との暗号化情報が暗号化情報設定手段10によって作成されない場合、アプリケーション実行手段1にその事を関数の戻り値もしくはエラー番号として伝える。
【0083】
また、以下にTCPソケット部21のAPIを使用して暗号化通信によるデータの送信を行う場合の動作(処理工程)を説明する。
【0084】
図4は、図3における暗号化通信によるデータ送信の動作(処理工程)を説明する説明図である。
なお、図4の構成要素は、図3の構成要素と同様である。
【0085】
(S301)アプリケーション実行手段1は、TCPソケット部21のAPIのパケット送信関数を呼び出す。TCPソケット部21のAPIはTCPモジュール23のパケット送信関数を呼び出す。
【0086】
(S302)パケット送信関数は、該当する通信制御データ6を調べ、暗号化情報フラグ7がセットされていれば、その事を関数の戻り値もしくはエラー番号としてアプリケーション実行手段1に伝える。
パケット送信関数はこの時点でのエラー情報をTCPソケット部21のAPIの送信関数を通じてアプリケーション実行手段1に伝え、後の送信処理はTCPモジュール23内のみで行う。
【0087】
(S303)TCPモジュール23の接続関数は、送信パケット4を生成し、IPモジュール24のパケット送信関数を呼び出す。
【0088】
(S304)IPモジュール24は、IPsecポリシデータベース25を参照し、該当するポリシにIPsecが必要であるかどうかを調べ、必要な場合には暗号化情報データベース9から該当する暗号化情報を検索する。
【0089】
(S305)該当する暗号化情報が存在しない場合、IPモジュール24は、該当する通信制御データ6に該当する暗号化情報フラグ7をセットし、暗号化情報設定手段10に対して暗号化情報設定を要求し、暗号化情報設定手段10は、暗号化情報設定プロトコルにより、パケット送信相手先と折衝を行い、該当する暗号化情報を作成し、暗号化情報データベース9に格納する。
【0090】
(S306)該当する暗号化情報が存在する場合、IPモジュール24はその暗号化情報を用いて送信パケット4の暗号化を行い通信相手に送信パケット4を送信し、該当する通信制御データ6に立ててある暗号化情報フラグ7をリセットする。
【0091】
(S307)通信相手からの受信応答が無い場合、S303〜S305の処理をTCPモジュール23のパケット再送処理によって行う。
【0092】
(S308)TCPモジュール23のパケット再送処理中に通信相手との暗号化情報が暗号化情報設定手段によって作成されない場合、該当する通信制御データに立ててある暗号化情報フラグはそのままにしておく。
【0093】
以上により、TCPソケットAPIを用いて通信相手との暗号化が必要な接続を行うアプリケーションが、該当する暗号化情報の有無を知ることで、接続時の暗号化情報の無い状態において適切な処理を行うことができるようになる。
【0094】
またTCPソケットAPIを用いて通信相手に暗号化が必要なパケットを送信するアプリケーションが、前回パケットを送信したときの暗号化情報の作成状況を知ることで、パケットの送信時に該当する暗号化情報が無い状態において適切な処理を行うことができるようになる。
【0095】
さらに、TCP/IP通信モジュールの中のTCPモジュールの代わりにUDP(User Datagram Protocol),ICMP(Internet Control Message Protocol)モジュールを用いたTCP/IP通信モジュールによる暗号化通信について説明する。なお、ここでは、TCP/IPとは、インターネットに接続するための通信プロトコルの総称として用いている。
【0096】
図5は、本発明に係る暗号化通信方法および通信装置の第3の実施例の動作を説明する説明図である。
図5において、TCP/IP通信モジュール28内のUDP,ICPMモジュール26は、実装されたソフトウェアの動作に基づき処理回路(図示せず)を介して、トランスポート層にあたる標準プロトコル(UDP)に則って、後述するネットワーク層のIPモジュールと、セッション層以上のプロトコルの橋渡しを実行する。
【0097】
また、IPのエラーメッセージや制御メッセージをコンピュータやネットワーク機器間で、互いの状態を確認するための機能も有する。
【0098】
UDP,RAWソケット部29は、実装されたソフトウェアの動作により、処理回路(図示せず)を介して、通信を行なう装置が持つネットワークアドレス、接続関数、パケット送信関数などに基づき、通信を行なうアプリケーションとのインタフェースとして機能する。
【0099】
以下にUDP,RAWソケット部29を使用して暗号化通信によるデータの送信を行う場合の動作(処理工程)を説明する。
【0100】
(S401)アプリケーション実行手段1は、UDP,RAWソケット部29を使用して、下位モジュール(UDP,ICMP,IPモジュール)26のパケット送信関数を呼び出す。
【0101】
(S402)下位モジュールの接続関数は、送信パケットを生成し、IPモジュール27のパケット送信関数を呼び出す。
【0102】
(S403)IPモジュール27は、IPsecポリシデータベース25を参照し、該当するポリシにIPsecが必要であるかどうかを調べ、必要な場合には暗号化情報データベース9から該当する暗号化情報を検索する。
【0103】
(S404)該当する暗号化情報が存在しない場合、IPモジュール27は、暗号化情報設定手段10に対して暗号化情報設定を要求し、暗号化情報設定手段10は暗号化情報設定プロトコルによりパケット送信相手先と折衝を行い、該当する暗号化情報を作成し、暗号化情報データベース9に格納する。IPモジュール27は上位モジュール(UDP,ICMPモジュール26)に対して該当する暗号化情報が存在しなかったことを伝える。上位モジュール26は、UDP,RAWソケット部29を介してアプリケーション実行手段1に該当する暗号化情報が存在しなかったことを伝える。
【0104】
(S405)該当する暗号化情報が存在する場合、IPモジュール27はその暗号化情報を用いて送信パケット4の暗号化を行い通信相手に送信パケット4を送信する。IPモジュール27は上位モジュール(UDP,ICMPモジュール26)に対して送信が成功したことを通知する。
【0105】
以上により、UDP,RAWソケットを用いて通信相手に暗号化が必要なパケットを送信するアプリケーションが、該当する暗号化情報の有無を知ることで、パケットの送信時に該当する暗号化情報が無い状態において適切な処理を行うことができるようになる。
【0106】
特に、UDP,RAWソケットの通信では、パケット送信に失敗した場合、必要であれば、アプリケーションがパケットの再送を自ら行わねばならない。暗号化情報が存在しないことをアプリケーションが知ることができれば、暗号化情報設定にかかる時間だけ再送間隔をあけることができるようになり、送信元のCPU負荷を低減することができるようになる。
【図面の簡単な説明】
【0107】
【図1】本発明に係る暗号化通信方法および通信装置の一実施例を示す構成図である。
【図2】本発明に係る通信装置における暗号化通信方法の処理工程を示すフローチャートである。
【図3】本発明に係る暗号化通信方法および通信装置の第2の実施例を示す説明図である。
【図4】図3における暗号化通信によるデータ送信の動作(処理工程)を示す説明図である。
【図5】本発明に係る暗号化通信方法および通信装置の第3の実施例を示す説明図である。
【図6】従来の暗号化通信方法および通信装置の一例を示した構成図である。
【符号の説明】
【0108】
1 アプリケーション実行手段
2 通信制御手段
5 ネットワーク
6 通信制御データ
7 暗号化情報フラグ
8 セキュリティポリシデータベース
9 暗号化情報データベース
10 暗号化情報設定手段

【特許請求の範囲】
【請求項1】
アプリケーションプログラムの動作に基づいて作成された送信データを暗号化して送信する暗号化通信方法において、
前記送信データの暗号化通信にあたって、暗号化処理の適用の規則を定めたセキュリティポリシに基づいて送信データの暗号化の要否を判断する工程と、
暗号化が必要と判断した場合に、暗号化通信を確立するための暗号化情報が格納されたデータベースから適用する暗号化処理の暗号化情報を検索する工程と、
暗号化情報を検索した結果、該当する暗号化情報が存在しない場合に、暗号化情報の不存在を示す情報を作成し、この情報を前記アプリケーションプログラムに送信する工程と、
前記送信データの送信先である他の装置との間で暗号化通信の折衝を行い、前記該当する暗号化情報を作成する工程と、
前記暗号化情報の不存在を示す情報に基づき送信データの再送信を所定の時間待機する工程とから構成される暗号化通信方法。
【請求項2】
前記暗号化情報の不存在を示す情報は、フラグ情報であることを特徴とする請求項1に記載の暗号化通信方法。
【請求項3】
前記送信データの再送信の待機時間は、前記暗号化通信の折衝に要する時間であることを特徴とする請求項1または請求項2に記載の暗号化通信方法。
【請求項4】
送信データを暗号化して送信する通信装置において、
アプリケーションプログラムの動作に基づいて前記送信データを生成するアプリケーション実行手段と、
前記送信データを暗号化して他の装置に送信する通信制御手段と、
暗号化通信を確立するための暗号化情報が格納された記憶手段と、
他の装置との暗号化通信の折衝を行う暗号化情報設定手段と、
を有し、
前記通信制御手段は、前記送信データに対応する暗号化情報の有無の検出と、この検出結果の前記アプリケーション実行手段への送信と、前記暗号化情報設定手段への暗号化通信の折衝の要求を行うと共に、前記アプリケーション実行手段および前記通信制御手段の少なくともいずれか一方は、前記検出結果に基づいてデータの再送を所定時間待機することを特徴とする通信装置。
【請求項5】
前記検出結果は、フラグ情報として前記記憶手段に格納されることを特徴とする請求項4に記載の通信装置。
【請求項6】
前記送信データの再送信の待機時間は、前記暗号化通信手段の折衝に要する時間であることを特徴とする請求項4または請求項5に記載の通信装置。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2007−93693(P2007−93693A)
【公開日】平成19年4月12日(2007.4.12)
【国際特許分類】
【出願番号】特願2005−279508(P2005−279508)
【出願日】平成17年9月27日(2005.9.27)
【出願人】(000006507)横河電機株式会社 (4,443)
【Fターム(参考)】