説明

通信装置、受信制御方法及び送信制御方法

【課題】暗号化データを含むパケットの通信における高速化を図ることができるルックアサイド型の通信装置、受信制御方法及び送信制御方法を提供する。
【解決手段】暗号化データを含むパケットの受信の際には、暗号化データの受信データは送受信部11から暗号化データ処理部12と第2のバス17を介してセキュリティ部13に供給され、暗号化データがセキュリティ部13で平文データとされ、その平文データがシステムバス16を介して制御部に供給される。暗号化データを含むパケットの送信の際には、暗号化されるべき平文データを含む送信データは制御部からシステムバス16を介してセキュリティ部13に供給され、平文データがセキュリティ部13で暗号化データとされ、その暗号化データを平文データと置き換えたデータ本体を有する送信データが第2のバス17を介して暗号化データ処理部12に供給され、送受信部11によってパケットとして送信される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は暗号化データを含むパケットを送受信する通信装置、受信制御方法及び送信制御方法に関する。
【背景技術】
【0002】
パケット通信においてデータの漏洩防止のために送信側ではパケット内のデータを暗号化して送信し、受信側ではその受信パケットの暗号化データを復号することは良く知られている。インターネットにおけるパケット通信で用いられる暗号化プロトコルとしてIPsec(Security Architecture for Internet Protocol)がある。現在、IPsecを利用した通信装置としてはルックアサイド(Lookaside)型が一般的である。ルックアサイド型は図1に示すように、送受信部1とセキュリティ部2とが制御部3にシステムバス4を介して接続された構成のものである。このような構成を有する従来装置は特許文献1及び2に示されている。
【0003】
送受信部1はネットワーク5に対してパケットを送受信し、セキュリティ部2は送信されるデータの暗号化及び受信された暗号化データの復号化を行う。制御部3は送受信部1及びセキュリティ部2各々を制御する。パケットの送信の際にデータを暗号化して送信する場合には、制御部3は送信されるべきデータをシステムバス4を介してセキュリティ部2に供給し、セキュリティ部2は供給されたデータを暗号化し、その暗号化データをシステムバス4を介して制御部3に返す。その後、制御部3は暗号化データ及びヘッダを含む送信データをシステムバス4を介して送受信部1に供給し、送受信部1は供給された送信データをパケットとして形成してネットワーク5内の送信先のアドレスに向けて送信する。パケットの受信の際に受信データを復号化する場合には、送受信部1によって受信されたパケット内の受信データはシステムバス4を介して制御部3に供給され、制御部3は受信データが暗号化データを含むデータであるならば、その暗号化データをシステムバス4を介してセキュリティ部2に供給する。セキュリティ部2は供給された暗号化データを復号化し、その復号したデータ、すなわち平文データをシステムバス4を介して制御部3に返す。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−349775号公報
【特許文献2】特開2007−135035号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来のルックアサイド型の通信装置においては、暗号化データを含むパケットを送信する場合及び暗号化データを含むパケットを受信する場合各々について、制御部3と送受信部1及びセキュリティ部2各々との間のシステムバス4を利用して何度もデータのやり取りをする必要が生じるので、システムバス4のバンド幅が通信装置のデータ送受信のスループット(処理能力)を制限することになり、暗号化データを含むパケットの通信の高速化を図ることが難しいという問題点があった。
【0006】
そこで、本発明の目的は、かかる点を鑑みてなされたものであり、暗号化データを含むパケットの通信における高速化を図ることができるルックアサイド型の通信装置、受信制御方法及び送信制御方法を提供することである。
【課題を解決するための手段】
【0007】
本発明の通信装置は、受信時にはネットワークからパケットを受信して前記パケットからヘッダ部とデータ本体とを含む受信データを生成し、送信時には前記ヘッダ部と前記データ本体とを含む送信データをバケット化して前記ネットワークに送出する送受信部と、少なくとも前記受信データ内の暗号化データからなる前記データ本体の復号化を行うことが可能なセキュリティ部と、前記送受信部及び前記セキュリティ部各々とシステムバスを介して接続された制御部と、を備える通信装置であって、前記システムバスに接続された暗号化データ処理部と、前記暗号化データ処理部と前記セキュリティ部との間を接続する第2のバスと、を含み、前記暗号化データ処理部は、前記受信時に前記送受信部で生成された前記受信データ内の前記データ本体が暗号化データであるとき前記受信データを前記第2のバスを介して前記セキュリティ部に供給し、かつ前記受信データを前記システムバスを介して前記制御部に供給し、前記制御部は、前記暗号化データ処理部から供給された前記受信データが暗号化データを含む受信データであることを判別したとき前記データ本体のデータ量を削減した前記受信データと共に復号化指令を前記システムバスを介して前記セキュリティ部に供給し、前記セキュリティ部は、前記暗号化データ処理部から前記第2のバスを介して供給された前記受信データ内の前記データ本体の前記暗号化データを、前記復号化指令に応じて復号化して平文データとし、前記暗号化指令に対する応答として前記平文データを前記システムバスを介して前記制御部に供給することを特徴としている。
【0008】
本発明の通信装置は、受信時にはネットワークからパケットを受信して前記パケットからヘッダ部とデータ本体とを含む受信データを生成し、送信時には前記ヘッダ部と前記データ本体とを含む送信データをバケット化して前記ネットワークに送出する送受信部と、少なくとも前記送信データ内の平文データからなる前記データ本体の暗号化を行うことが可能なセキュリティ部と、前記送受信部及び前記セキュリティ部各々とシステムバスを介して接続された制御部と、を備える通信装置であって、前記システムバスに接続された暗号化データ処理部と、前記暗号化データ処理部と前記セキュリティ部との間を接続する第2のバスと、を含み、前記制御部は、前記送信時に前記送信データを生成し、前記送信データと共に前記平文データの暗号化指令を前記セキュリティ部に対して前記システムバスを介して供給し、前記セキュリティ部は、前記制御部から供給された前記送信データ内の前記データ本体の前記平文データを、前記暗号化指令に応じて暗号化して暗号化データとし、暗号化後、前記暗号化データを前記データ本体とした前記送信データを前記第2のバスを介して前記暗号化データ処理部に供給し、前記暗号化指令に対する応答として前記送信データを前記システムバスを介して前記制御部に供給し、前記制御部は、前記暗号化指令に対する応答に応じて前記データ本体のデータ量を削減した前記送信データを送信指令と共に前記システムバスを介して前記暗号化データ処理部に供給し、前記暗号化データ処理部は、前記制御部から供給された前記データ本体のデータ量を削減した前記送信データと前記送信指令とに応じて前記セキュリティ部から前記第2のバスを介して供給された前記送信データをパケット送信のために前記送受信部に供給することを特徴としている。
【0009】
本発明の通信装置の受信制御方法は、受信時にはネットワークからパケットを受信して前記パケットからヘッダ部とデータ本体とを含む受信データを生成し、送信時には前記ヘッダ部と前記データ本体とを含む送信データをバケット化して前記ネットワークに送出する送受信部と、少なくとも前記受信データ内の暗号化データからなる前記データ本体の復号化を行うことが可能なセキュリティ部と、前記送受信部及び前記セキュリティ部各々とシステムバスを介して接続された制御部と、前記システムバスに接続された暗号化データ処理部と、前記暗号化データ処理部と前記セキュリティ部との間を接続する第2のバスと、を備える通信装置の受信制御方法であって、前記受信時に前記送受信部で生成された前記受信データ内の前記データ本体が暗号化データであるとき前記受信データを前記暗号化データ処理部から前記第2のバスを介して前記セキュリティ部に供給し、かつ前記受信データを前記暗号化データ処理部から前記システムバスを介して前記制御部に供給する受信データ供給ステップと、前記制御部に供給された前記受信データが暗号化データを含む受信データであることを判別したとき前記データ本体のデータ量を削減した前記受信データと共に復号化指令を前記制御部から前記システムバスを介して前記セキュリティ部に供給する復号化指令ステップと、前記暗号化データ処理部から前記第2のバスを介して前記セキュリティ部に供給された前記受信データ内の前記データ本体の前記暗号化データを、前記復号化指令に応じて復号化して平文データとし、前記暗号化指令に対する応答として前記平文データを前記セキュリティ部から前記システムバスを介して前記制御部に供給する復号化ステップと、を含むことを特徴としている。
【0010】
本発明の通信装置の送信制御方法は、受信時にはネットワークからパケットを受信して前記パケットからヘッダ部とデータ本体とを含む受信データを生成し、送信時には前記ヘッダ部と前記データ本体とを含む送信データをバケット化して前記ネットワークに送出する送受信部と、少なくとも前記送信データ内の平文データからなる前記データ本体の暗号化を行うことが可能なセキュリティ部と、前記送受信部及び前記セキュリティ部各々とシステムバスを介して接続された制御部と、前記システムバスに接続された暗号化データ処理部と、前記暗号化データ処理部と前記セキュリティ部との間を接続する第2のバスと、を備える通信装置の送信制御方法であって、前記送信時に前記制御部において前記送信データを生成し、前記送信データと共に前記平文データの暗号化指令を前記セキュリティ部に対して前記システムバスを介して供給する暗号化指令ステップと、前記制御部から前記セキュリティ部に供給された前記送信データ内の前記データ本体の前記平文データを、前記暗号化指令に応じて暗号化して暗号化データとし、暗号化後、前記暗号化データを前記データ本体とした前記送信データを前記セキュリティ部から前記第2のバスを介して暗号化データ処理部に供給し、前記暗号化指令に対する応答として前記送信データを前記システムバスを介して前記制御部に供給する暗号化ステップと、前記暗号化指令に対する応答に応じて前記データ本体のデータ量を削減した前記送信データを送信指令と共に前記制御部から前記システムバスを介して前記暗号化データ処理部に供給する送信指令ステップと、前記制御部から前記暗号化データ処理部に供給された前記データ本体のデータ量を削減した前記送信データ及び前記送信指令に応じて前記セキュリティ部から前記第2のバスを介して供給された前記送信データをパケット送信のために前記暗号化データ処理部から前記送受信部に供給する送信データ供給ステップと、を含むことを特徴としている。
【発明の効果】
【0011】
本発明の通信装置及び受信制御方法によれば、暗号化データを含むパケットの受信の際には、暗号化データの受信データは送受信部から暗号化データ処理部、そして第2のバスを介してセキュリティ部に供給され、暗号化データがセキュリティ部において平文データとされ、その平文データがシステムバスを介して制御部に供給される。このとき制御部からシステムバスを介してセキュリティ部へは復号化されるべき暗号化データが例えば、除去されて供給されず、復号化されるべき暗号化データを特定するための受信データのヘッダ部が復号化指令と共に供給される。よって、パケット受信の際にシステムバスを通過するデータ量を従来装置より減少させることができるので、データ受信のスループットを向上させることができ、これにより暗号化データを含むパケットの受信における高速化を図ることができる。
【0012】
また、本発明の通信装置及び送信制御方法によれば、暗号化データを含むパケットの送信の際には、暗号化されるべき平文データをデータ本体に含む送信データは制御部からシステムバスを介してセキュリティ部に供給され、平文データがセキュリティ部において暗号化データとされ、その暗号化データを平文データと置き換えたデータ本体を有する送信データが第2のバスを介して暗号化データ処理部に供給され、更に送受信部によってパケットとして送信される。この送信の際に制御部からシステムバスを介して暗号化データ処理部へは暗号化データが例えば、除去されて供給されず、送信されるべき暗号化データを特定するための送信データのヘッダ部が送信命令と共に供給される。よって、パケット送信の際にもシステムバスを通過するデータ量を従来装置より減少させることができるので、データ送信のスループットを向上させることができ、これにより暗号化データを含むパケットの送信における高速化を図ることができる。
【図面の簡単な説明】
【0013】
【図1】従来のルックアサイド型の通信装置の構成を示すブロック図である。
【図2】本発明の実施例1としてルックアサイド型の通信装置の構成を示すブロック図である。
【図3】図2の通信装置が送受信するパケットのデータ構造を示す図である。
【図4】図2の通信装置の受信時の暗号化データ処理部の動作を示すフローチャートである。
【図5】図2の通信装置の受信時のセキュリティ部の動作を示すフローチャートである。
【図6】図2の通信装置の送信時のセキュリティ部の動作を示すフローチャートである。
【図7】図2の通信装置の送信時の暗号化データ処理部の動作を示すフローチャートである。
【図8】本発明の実施例2として図2の通信装置の受信時の暗号化データ処理部の動作を示すフローチャートである。
【図9】本発明の実施例3として図2の通信装置の送信時のセキュリティ部の動作を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の実施例を、図面を参照しつつ詳細に説明する。
【0015】
図2は本発明の実施例1としてのルックアサイド型の通信装置を示している。この通信装置は、送受信部11、暗号化データ処理部12、セキュリティ部13、及び制御部14を備えている。送受信部11はイーサネット(Ethernet:登録商標)のネットワーク15に接続され、暗号化データ処理部12、セキュリティ部13及び制御部14各々はシステムバス16に接続されている。システムバス16は例えば、PCI Express BUSである。また、送受信部11は暗号化データ処理部12に接続され、暗号化データ処理部12はセキュリティ部13と内部バス17(第2のバス)によって接続されている。
【0016】
送受信部11はネットワーク15に対してパケットを送受信し、パケット受信時にはパケットの受信データを暗号化データ処理部12に供給し、パケット送信時には暗号化データ処理部12から供給された送信データをパケットとして形成して送信する。送受信部11は本通信装置内でネットワーク15上のデータを処理できる形式にするために受信パケットに基づいて受信データが生成される。暗号化データ処理部12は送受信部11に接続され、パケット受信時には受信データが暗号化データを含むか否かを判別し、その判別結果が平文データ(暗号化されていないデータ)の場合には受信データをシステムバス16を介して制御部14に供給する。判別結果が暗号化データの場合にはパケット中のFCSを除く部分をシステムバス16を介して制御部14に供給すると共に内部バス17を介してセキュリティ部13に供給する。また、暗号化データ処理部12はパケット送信時には制御部14から送信指令と共に供給されたパケットが暗号化データを送信するパケットであるか否かを判別し、判別結果が平文データのパケットである場合にはそのパケットをそのまま送受信部11に供給する。判別結果が暗号化データのパケットである場合にはそのパケットはデータ領域に後述するが暗号化データが含まれていないので、セキュリティ部13から内部バス17を介して供給される暗号化されたデータをパケットに挿入し、そのパケットを送受信部11に供給する。
【0017】
セキュリティ部13は送受信部11が暗号化データを含むパケットを受信した時には暗号化データ処理部12からパケットが内部バス17を介して供給され、また、制御部14から復号化指令と共にデータ領域にデータがないパケットがシステムバス16を介して供給される。セキュリティ部13は復号化指令に応じて暗号化データ処理部12から供給されたパケットに含まれる暗号化データを復号化して平文データをシステムバス16を介して制御部14に供給する。また、セキュリティ部13は暗号化データを含むパケットの送信時には制御部14から暗号化指令と共に暗号化されるべき平文データを含むパケットがシステムバス16を介して供給される。セキュリティ部13は暗号化指令に応じて供給された平文データを暗号化して暗号化データをシステムバス16を介して制御部14に供給する。
【0018】
制御部14はCPUによって構成され、図2に示すように、OS(オペレーションシステム)部21、送受信ドライバ22、及びセキュリティドライバ23を含む。OS(オペレーションシステム)部21は図示しないアプリケーションプログラムに応じてオペレーションシステムが動作して、各種の指令を発生すると共に送信すべきデータを送受信ドライバ22及びセキュリティドライバ23に供給し、また、送受信ドライバ22から受信データを受け取り、セキュリティドライバ23から暗号化データ又は復号化した平文データを受け取る。送受信ドライバ22はOS部21からの送受信部11又は暗号化データ処理部12への指令及び送信データをシステムバス16を介して暗号化データ処理部12に供給する動作、及び暗号化データ処理部12からの受信データをシステムバス16を介して受け取る動作を行う。セキュリティドライバ23はOS部21からのセキュリティ部13への指令及び送信データをシステムバス16を介してセキュリティ部13に供給する動作、及びセキュリティ部13からの暗号化データ又は平文データをシステムバス16を介して受け取る動作を行う。送受信ドライバ22及びセキュリティドライバ23は上記のアプリケーションプログラムの実行により形成される。
【0019】
かかる通信装置において送受信されるパケットはイーサネットでインターネットプロトコルを用いる場合に図3に示すようなデータ構造を有する。パケットの先頭から順に、イーサネットヘッダ、IPヘッダ、IPsecヘッダ、データ本体、及びFCSが位置している。イーサネットヘッダは送信先MACアドレス、送信元MACアドレス、及びイーサネットタイプを含んでいる。イーサネットタイプはイーサネットで使用されるプロトコルの種類を示し、イーサネットタイプの番号が0x800又は0x86DDであるときプロトコルがIP(インターネットプロトコル)であることを示す。
【0020】
IPヘッダは送信元IPアドレス、送信先IPアドレス、及びプロトコルタイプを含んでいる。プロトコルタイプはデータの暗号化プロトコルの種類を示し、プロトコルタイプの番号が50又は51であるとき暗号化プロトコルはIPsecである。FCSはフレームチェックシーケンスの略であり、送受信するデータが正しいかを調べるためのチェックサムである。
【0021】
なお、本明細書で送信データ及び受信データ各々はイーサネットヘッダ、IPヘッダ、IPsecヘッダ、及びデータ本体(暗号化データ又は平文データ)からなるデータブロックを言い、パケットとはイーサネットヘッダ、IPヘッダ、IPsecヘッダ、及びデータ本体にFCSを含むデータブロックを言う。また、送信データ及び受信データ各々のヘッダ部とはイーサネットヘッダ、IPヘッダ、及びIPsecヘッダを言う。
【0022】
次に、かかる通信装置のパケット送受信時の処理動作について説明する。先ず、パケットの受信処理において、送受信部11はネットワーク15からパケットを受信すると、受信データを内部メモリ(図示せず)に展開する。
【0023】
暗号化データ処理部12は送受信部11からパケットの受信を示す信号を受け取ると、図4に示すように、内部メモリの受信データ中のイーサネットヘッダのイーサネットタイプを捜し出し(ステップS1)、イーサネットタイプがIPであるか否か判別する(ステップS2)。IPであるならば、IPヘッダのプロコトルタイプを捜し出し(ステップS3)、プロコトルタイプがIPsecであるか否かを判別する(ステップS4)。例えば、イーサネットヘッダが0x800であるときIPv4であり、そのIPヘッダの10オクテッド目に存在するプロコトルタイプを捜し出す。また、イーサネットヘッダが0x86DDであるときIPv6であり、そのIPヘッダの7オクテッド目に存在するプロコトルタイプを捜し出す。プロトコルタイプが例えば、50又は51であるならば、IPsecプロトコルで暗号化されたデータがデータ本体であることが分かる。
【0024】
暗号化データ処理部12はプロトコルタイプがIPsecである場合には内部メモリの受信データを読み出してそれをシステムバス16を介して制御部14の送受信ドライバ22に供給し(ステップS5)、その読み出した受信データを内部バス17を介してセキュリティ部13に供給する(ステップS6)。ステップS5及びS6は受信データ供給ステップに相当する。
【0025】
また、暗号化データ処理部12はIPsecでない場合には内部メモリの受信データを読み出してそれをシステムバス16を介して制御部14の送受信ドライバ22に供給する(ステップS7)。
【0026】
送受信ドライバ22は受信データが暗号化データ処理部12からシステムバス16を介して供給されると、その受信データをOS部21に渡す。OS部21は受信データのプロトコルタイプからIPsecでないと判別した場合には受信データのデータ本体が平文データであるので、その平文データを受け入れる。一方、受信データのプロトコルタイプからIPsecであると判別した場合には受信データのデータ本体が暗号化データであるので、受信データをセキュリティドライバ23に供給する。
【0027】
セキュリティドライバ23は、OS部21から受け取った受信データのうちの暗号化データのデータ本体を除去し、受信データのうちのイーサネットヘッダ、IPヘッダ、及びIPsecヘッダからなるヘッダ部と共に復号化指令をシステムバス16を介してセキュリティ部13に供給する。このセキュリティドライバ23の動作が復号化指令ステップに相当する。なお、セキュリティドライバ23は、受信データのうちの暗号化データのデータ本体を除去しないで、変換等の削減処理によってそのデータ本体のデータ量を削減させ、データ本体のデータ量を削減した受信データを復号化指令と共にシステムバス16を介してセキュリティ部13に供給しても良い。
【0028】
セキュリティ部13は、復号化指令を受けると、図5に示すように、暗号化データ処理部12から内部バス17を介して供給された受信データのヘッダ部と復号化指令で受け取ったヘッダ部とを照合して同一である否かを判別し(ステップS11)、同一であることを確認すると、受信データのデータ本体の暗号化データを復号化して平文データを生成する(ステップS12)。そして、その平文データをシステムバス16を介してセキュリティドライバ23に出力する(ステップS13)。このステップS12及びS13は復号化ステップに相当する。
【0029】
また、セキュリティドライバ23はセキュリティ部13から平文データを受け取ると、OS部21から復号化のために受け取った受信データのデータ本体をその平文データに取り替え、その取り替え後の受信データをOS部21に戻す。これにより通信装置の受信処理が終了する。なお、セキュリティ部13がセキュリティドライバ23に対して平文データだけを戻すのではなく、受信データのデータ本体を平文データに取り替えてから受信データをシステムバス16を介して戻しても良い。
【0030】
次に、パケットの送信処理において、OS部21は平文データを暗号化して送信することが生じると、その平文データをデータ本体に含む送信データを作成し、その送信データをセキュリティドライバ23に供給する。
【0031】
セキュリティドライバ23は、OS部21から受け取った送信データと共に暗号化指令をシステムバス16を介してセキュリティ部13に供給する。このセキュリティドライバ23の動作が暗号化指令ステップに相当する。
【0032】
セキュリティ部13は、暗号化指令及び送信データを受けると、図6に示すように、送信データのうちのデータ本体の平文データを暗号化して暗号化データを生成する(ステップS15)。そして、その暗号化データをシステムバス16を介してセキュリティドライバ23に出力する(ステップS16)。また、セキュリティ部13はセキュリティドライバ23から暗号化指令と共に受け取った送信データのデータ本体を暗号化データに取り替え(ステップS17)、取り替え後の送信データを内部バス17を介して暗号化データ処理部12に供給する(ステップS18)。このステップS15〜S18が暗号化ステップに相当する。
【0033】
また、セキュリティドライバ23はセキュリティ部13から暗号化データを受け取ると、OS部21から暗号化のために受け取った送信データのデータ本体をその暗号化データに取り替え、その取り替え後の送信データをOS部21に戻す。なお、セキュリティ部13はセキュリティドライバ23に対して暗号化データに取り替えた送信データをシステムバス16を介して戻しても良い。
【0034】
OS部21はデータ本体が暗号化データとなった送信データを受け取ると、その送信データを送受信ドライバ22に供給する。送受信ドライバ22は送信データのうちの暗号化データのデータ本体を取り除き、イーサネットヘッダ、IPヘッダ、及びIPsecヘッダからなるヘッダ部だけの送信データを送信指令と共にシステムバス16を介して暗号化データ処理部12に供給する。この送受信ドライバ22の動作が送信指令ステップに相当する。なお、送受信ドライバ22は送信データのうちの暗号化データのデータ本体を除去しないで、変換等の削減処理によってデータ本体のデータ量を削減させ、データ本体のデータ量を削減した送信データを送信指令と共にシステムバス16を介して暗号化データ処理部12に供給しても良い。
【0035】
暗号化データ処理部12は、送受信ドライバ22から送信指令及び送信データを受け取ると、図7に示すように、その送信データのプロトコルタイプがIPsecであるか否かを判別する(ステップS21)。送信データのプロトコルタイプがIPsecであるならば、セキュリティ部13から内部バス17を介して供給された送信データのヘッダ部と送信指令で受け取った送信データのヘッダ部とを照合して同一であるか否かを判別する(ステップS22)。同一であるならば、セキュリティ部13から内部バス17を介して供給された送信データを送受信部11に供給する(ステップS23)。ヘッダ部が互いに同一でないならば、送信データは送受信部11に供給されない。ステップS22及びS23が送信データ供給ステップに相当する。
【0036】
暗号化データ処理部12は、ステップS21の判別で送信データのプロトコルタイプがIPsecでないならば、その送信データを送受信部11に供給する(ステップS24)。
【0037】
送受信部11は暗号化データ処理部12から供給された送信データにFCSを付加してパケットを形成し、そのパケットをネットワーク15に送出する。
【0038】
このように暗号化データを含むパケットの受信の際には、その暗号化データの受信データは送受信部11から暗号化データ処理部12、そして内部バス17を介してセキュリティ部13に供給され、暗号化データがセキュリティ部13において平文データとされ、その平文データがシステムバス16を介して制御部14のセキュリティドライバ23に供給される。このとき制御部14のセキュリティドライバ23からシステムバス16を介してセキュリティ部13へは復号化されるべき暗号化データが供給されず、復号化されるべき暗号化データを特定するための受信データのヘッダ部だけが復号化指令と共に供給される。よって、パケット受信の際にシステムバス16を通過するデータ量を従来装置より減少させることができる。
【0039】
また、暗号化データを含むパケットの送信の際には、暗号化されるべき平文データを含む送信データは制御部14のセキュリティドライバ23からシステムバス16を介してセキュリティ部13に供給され、平文データがセキュリティ部13において暗号化データとされ、その暗号化データを平文データと置き換えた送信データが内部バス17を介して暗号化データ処理部12に供給され、更に送受信部11によってパケットとして送信される。この送信の際に制御部14の送受信ドライバ22からシステムバス16を介して暗号化データ処理部12へは暗号化データが供給されず、送信されるべき暗号化データを特定するための送信データのヘッダ部だけが送信命令と共に供給される。よって、パケット送信の際にもシステムバス16を通過するデータ量を従来装置より減少させることができる。
【0040】
この結果、パケットの送受信の際にシステムバス16を通過するデータ量の減少により、データ送受信のスループットを向上させることができ、これにより暗号化データを含むパケットの通信における高速化を図ることができる。
【0041】
図8は本発明の実施例2として暗号化データ処理部12の受信時動作を示している。この受信時動作において、暗号化データ処理部12は送受信部11からパケットの受信を示す信号を受け取ると、内部メモリの受信データ中のイーサネットヘッダのイーサネットタイプを捜し出し(ステップS31)、イーサネットタイプがIPであるか否か判別する(ステップS32)。IPであるならば、IPヘッダのプロコトルタイプを捜し出し(ステップS33)、プロコトルタイプがIPsecであるか否かを判別する(ステップS34)。ステップS31〜S34は上記したステップS1〜S4と同一である。
【0042】
暗号化データ処理部12はプロトコルタイプがIPsecである場合には内部メモリの受信データを読み出してその読み出した受信データのうちの暗号化データのデータ本体を取り除き、イーサネットヘッダ、IPヘッダ、及びIPsecヘッダからなるヘッダ部だけの受信データ(暗号化データ無しの受信データ)をシステムバス16を介して送受信ドライバ22に供給する(ステップS35)。また、読み取った受信データ(暗号化データ有りの受信データ)を内部バス17を介してセキュリティ部13に供給する(ステップS36)。また、暗号化データ処理部12はIPsecでない場合には内部メモリの受信データを読み出してそれをシステムバス16を介して制御部14の送受信ドライバ22に供給する(ステップS37)。
【0043】
送受信ドライバ22はステップS35の動作で暗号化データ処理部12から送られてきた暗号化データ無しの受信データを受け取る場合も、上記したステップS5の動作で暗号化データ処理部12から送られてきた暗号化データ有りの受信データを受け取る場合と同様に動作してその受信データをOS部21に渡す。
【0044】
このように図8の受信時動作を実行する通信装置においては、暗号化データを含むパケットの受信の際には、その暗号化データの受信データは送受信部11から暗号化データ処理部12、そして内部バス17を介してセキュリティ部13に供給され、暗号化データがセキュリティ部13において平文データとされ、その平文データがシステムバス16を介して制御部14のセキュリティドライバ23に供給される一方、暗号化データ処理部12からシステムバス16を介して制御部14の送受信ドライバ22には暗号化データが供給されず、受信された暗号化データを特定するための受信データのヘッダ部だけが供給される。よって、制御部14のセキュリティドライバ23からシステムバス16を介してセキュリティ部13へはそのヘッダ部だけが供給される。よって、パケット受信の際にシステムバス16を通過するデータ本体はセキュリティ部13からセキュリティドライバ23に供給される復号化された平文データだけであり、システムバス16を通過するデータ量を従来装置より更に減少させることができる。
【0045】
図9は本発明の実施例3としてセキュリティ部13の送信時動作を示している。この送信時動作において、セキュリティ部13は、セキュリティドライバ23からシステムバス16を介して暗号化指令及び送信データを受け取ると、送信データのうちのデータ本体の平文データを暗号化して暗号化データを生成する(ステップS41)。そして、セキュリティドライバ23から暗号化指令と共に受け取った送信データをイーサネットヘッダ、IPヘッダ、及びIPsecヘッダからなるヘッダ部だけにして、暗号化データ無しの送信データをシステムバス16を介してセキュリティドライバ23に出力する(ステップS42)。また、セキュリティ部13はその暗号化指令と共に受け取った送信データのデータ本体を暗号化データに取り替え(ステップS43)、取り替え後の送信データ(暗号化データ有りの送信データ)を内部バス17を介して暗号化データ処理部12に供給する(ステップS44)。
【0046】
また、セキュリティドライバ23は、セキュリティ部13から暗号化データ無しの送信データを受け取ると、OS部21から暗号化のために受け取った平文データのままの送信データをOS部21に戻す。OS部21は平文データのままの送信データが戻って来たことから暗号化データ有りの送信データが作成されたと判断してその平文データのままの送信データを送受信ドライバ22に供給する。その後の送受信ドライバ22、暗号化データ処理部12及び送受信部11の各動作は実施例1のパケットの送信の際の動作と同一である。
【0047】
このように図9の送信時動作を実行する通信装置においては、暗号化データを含むパケットの送信の際には、暗号化されるべき平文データを含む送信データは制御部14のセキュリティドライバ23からシステムバス16を介してセキュリティ部13に供給され、平文データがセキュリティ部13において暗号化データとされ、その暗号化データを平文データと置き換えた送信データが内部バス17を介して暗号化データ処理部12に供給される。更に、暗号化データ無しの送信データが暗号化が済んだことをOS部21に知らせるためにセキュリティ部13からシステムバス16を介してセキュリティドライバ23に供給され、また、送受信ドライバ22からシステムバス16を介して暗号化データ処理部12へは送信されるべき暗号化データを特定するための送信データのヘッダ部だけが送信命令と共に供給される。よって、パケット送信の際にはシステムバス16を通過するデータ本体はセキュリティドライバ23からセキュリティ部13に供給される暗号化されるべき平文データだけであり、システムバス16を通過するデータ量を従来装置より更に減少させることができる。
【0048】
また、上記した実施例においては、ネットワーク15はイーサネットであるとして説明したが、本発明はイーサネット以外のネットワークに接続される場合にも適用することができる。
【0049】
上記した実施例においては、暗号化データ処理部12は送受信部11とは別個に形成されているが、送受信部11内に形成されていても良い。
【0050】
更に、上記した実施例においては、パケット送信の際にシステムバスを通過するデータ量及びパケット受信の際にシステムバスを通過するデータ量各々を従来装置より減少させることができるが、本発明はパケット送信及びパケット受信のいずれか一方の際にだけでもシステムバスを通過するデータ量を減少させるために適用されても良い。
【符号の説明】
【0051】
1,11 送受信部
2,13 セキュリティ部
3,14 制御部
4,16 システムバス
5,15 ネットワーク
12 暗号化データ処理部
17 内部バス

【特許請求の範囲】
【請求項1】
受信時にはネットワークからパケットを受信して前記パケットからヘッダ部とデータ本体とを含む受信データを生成し、送信時には前記ヘッダ部と前記データ本体とを含む送信データをバケット化して前記ネットワークに送出する送受信部と、
少なくとも前記受信データ内の暗号化データからなる前記データ本体の復号化を行うことが可能なセキュリティ部と、
前記送受信部及び前記セキュリティ部各々とシステムバスを介して接続された制御部と、を備える通信装置であって、
前記システムバスに接続された暗号化データ処理部と、前記暗号化データ処理部と前記セキュリティ部との間を接続する第2のバスと、を含み、
前記暗号化データ処理部は、前記受信時に前記送受信部で生成された前記受信データ内の前記データ本体が暗号化データであるとき前記受信データを前記第2のバスを介して前記セキュリティ部に供給し、かつ前記受信データを前記システムバスを介して前記制御部に供給し、
前記制御部は、前記暗号化データ処理部から供給された前記受信データが暗号化データを含む受信データであることを判別したとき前記データ本体のデータ量を削減した前記受信データと共に復号化指令を前記システムバスを介して前記セキュリティ部に供給し、
前記セキュリティ部は、前記暗号化データ処理部から前記第2のバスを介して供給された前記受信データ内の前記データ本体の前記暗号化データを、前記復号化指令に応じて復号化して平文データとし、前記暗号化指令に対する応答として前記平文データを前記システムバスを介して前記制御部に供給することを特徴とする通信装置。
【請求項2】
前記受信データの前記ヘッダ部は前記受信データの前記データ本体が暗号化データであるか否かを示す情報を含み、
前記制御部は、前記暗号化データ処理部から前記システムバスを介して供給された前記前記受信データを受け取ることが可能な送受信ドライバと、
前記送受信ドライバによって受け取られた前記受信データが暗号化データを含むか否かを前記受け取られた前記受信データ内の前記ヘッダ部に応じて判別することが可能なOS部と、
前記OS部によって前記受信データが暗号化データを含むことを判別されたとき前記データ本体を含まない前記受信データと共に前記復号化指令を前記システムバスを介して前記セキュリティ部に供給し、前記暗号化指令に対する応答として前記平文データを前記セキュリティ部から前記システムバスを介して受け取るセキュリティドライバと、を含むことを特徴とする請求項1記載の通信装置。
【請求項3】
前記送受信ドライバ及び前記セキュリティドライバの動作は、前記OS部が備えるアプリケーションプログラムに応じて実行されることを特徴とする請求項2記載の通信装置。
【請求項4】
前記暗号化データ処理部は、前記受信時に前記送受信部で生成された前記受信データ内の前記データ本体が暗号化データであるか否かを前記受信データ内のヘッダ部に応じて判別し、前記データ本体が暗号化データであるとき前記データ本体を除去した前記受信データを前記システムバスを介して前記送受信ドライバに供給することを特徴とする請求項2記載の通信装置。
【請求項5】
前記セキュリティ部は、前記セキュリティドライバから前記復号化指令と共に供給された前記受信データ内の前記ヘッダ部と、前記暗号化データ処理部から供給された前記受信データ内の前記ヘッダ部とを照合し、双方の前記ヘッダ部が同一であることを確認してから前記暗号化データの前記平文データへの復号化を行うことを特徴とする請求項2記載の通信装置。
【請求項6】
受信時にはネットワークからパケットを受信して前記パケットからヘッダ部とデータ本体とを含む受信データを生成し、送信時には前記ヘッダ部と前記データ本体とを含む送信データをバケット化して前記ネットワークに送出する送受信部と、
少なくとも前記送信データ内の平文データからなる前記データ本体の暗号化を行うことが可能なセキュリティ部と、
前記送受信部及び前記セキュリティ部各々とシステムバスを介して接続された制御部と、を備える通信装置であって、
前記システムバスに接続された暗号化データ処理部と、前記暗号化データ処理部と前記セキュリティ部との間を接続する第2のバスと、を含み、
前記制御部は、前記送信時に前記送信データを生成し、前記送信データと共に前記平文データの暗号化指令を前記セキュリティ部に対して前記システムバスを介して供給し、
前記セキュリティ部は、前記制御部から供給された前記送信データ内の前記データ本体の前記平文データを、前記暗号化指令に応じて暗号化して暗号化データとし、暗号化後、前記暗号化データを前記データ本体とした前記送信データを前記第2のバスを介して前記暗号化データ処理部に供給し、前記暗号化指令に対する応答として前記送信データを前記システムバスを介して前記制御部に供給し、
前記制御部は、前記暗号化指令に対する応答に応じて前記データ本体のデータ量を減少した前記送信データを送信指令と共に前記システムバスを介して前記暗号化データ処理部に供給し、
前記暗号化データ処理部は、前記制御部から供給された前記データ本体のデータ量を削減した前記送信データと前記送信指令とに応じて前記セキュリティ部から前記第2のバスを介して供給された前記送信データをパケット送信のために前記送受信部に供給することを特徴とする通信装置。
【請求項7】
前記送信データの前記ヘッダ部は前記送信データの前記データ本体が暗号化データであるか否かを示す情報を含み、
前記制御部は、前記送信データが暗号化されるべき平文データを含むか否かを前記送信データ内の前記ヘッダ部に応じて判別することが可能なOS部と、
前記OS部によって前記送信データが暗号化されるべき平文データを含むことが判別されたとき前記送信データと共に前記暗号化指令を前記システムバスを介して前記セキュリティ部に供給し、前記暗号化指令に対する応答として前記暗号化データを前記セキュリティ部から前記システムバスを介して受け取ってそれをOS部に供給するセキュリティドライバと、
前記OS部から前記送信データを受け取って前記送信データから前記データ本体を除去し、除去後の前記送信データを前記送信指令と共に前記システムバスを介して前記暗号化データ処理部に供給することが可能な送受信ドライバと、を含むことを特徴とする請求項6記載の通信装置。
【請求項8】
前記送受信ドライバ及び前記セキュリティドライバの動作は、前記OS部が備えるアプリケーションプログラムに応じて実行されることを特徴とする請求項7記載の通信装置。
【請求項9】
前記セキュリティ部は、前記暗号化指令に対する応答として前記データ本体を除去した前記送信データを前記システムバスを介して前記セキュリティドライバに供給することを特徴とする請求項7記載の通信装置。
【請求項10】
前記暗号化データ処理部は、前記制御部から前記送信指令と共に供給された前記データ本体を除去した前記送信データの前記ヘッダ部と、前記セキュリティ部から前記第2のバスを介して供給された前記送信データの前記ヘッダ部とを照合し、双方の前記ヘッダ部が同一であることを確認してから前記セキュリティ部から供給された前記送信データをパケット送信のために前記送受信部に供給することを特徴とする請求項7記載の通信装置。
【請求項11】
受信時にはネットワークからパケットを受信して前記パケットからヘッダ部とデータ本体とを含む受信データを生成し、送信時には前記ヘッダ部と前記データ本体とを含む送信データをバケット化して前記ネットワークに送出する送受信部と、
少なくとも前記受信データ内の暗号化データからなる前記データ本体の復号化を行うことが可能なセキュリティ部と、
前記送受信部及び前記セキュリティ部各々とシステムバスを介して接続された制御部と、
前記システムバスに接続された暗号化データ処理部と、
前記暗号化データ処理部と前記セキュリティ部との間を接続する第2のバスと、を備える通信装置の受信制御方法であって、
前記受信時に前記送受信部で生成された前記受信データ内の前記データ本体が暗号化データであるとき前記受信データを前記暗号化データ処理部から前記第2のバスを介して前記セキュリティ部に供給し、かつ前記受信データを前記暗号化データ処理部から前記システムバスを介して前記制御部に供給する受信データ供給ステップと、
前記制御部に供給された前記受信データが暗号化データを含む受信データであることを判別したとき前記データ本体のデータ量を削減した前記受信データと共に復号化指令を前記制御部から前記システムバスを介して前記セキュリティ部に供給する復号化指令ステップと、
前記暗号化データ処理部から前記第2のバスを介して前記セキュリティ部に供給された前記受信データ内の前記データ本体の前記暗号化データを、前記復号化指令に応じて復号化して平文データとし、前記暗号化指令に対する応答として前記平文データを前記セキュリティ部から前記システムバスを介して前記制御部に供給する復号化ステップと、を含むことを特徴とする通信装置の受信制御方法。
【請求項12】
受信時にはネットワークからパケットを受信して前記パケットからヘッダ部とデータ本体とを含む受信データを生成し、送信時には前記ヘッダ部と前記データ本体とを含む送信データをバケット化して前記ネットワークに送出する送受信部と、
少なくとも前記送信データ内の平文データからなる前記データ本体の暗号化を行うことが可能なセキュリティ部と、
前記送受信部及び前記セキュリティ部各々とシステムバスを介して接続された制御部と、
前記システムバスに接続された暗号化データ処理部と、
前記暗号化データ処理部と前記セキュリティ部との間を接続する第2のバスと、を備える通信装置の送信制御方法であって、
前記送信時に前記制御部において前記送信データを生成し、前記送信データと共に前記平文データの暗号化指令を前記セキュリティ部に対して前記システムバスを介して供給する暗号化指令ステップと、
前記制御部から前記セキュリティ部に供給された前記送信データ内の前記データ本体の前記平文データを、前記暗号化指令に応じて暗号化して暗号化データとし、暗号化後、前記暗号化データを前記データ本体とした前記送信データを前記セキュリティ部から前記第2のバスを介して暗号化データ処理部に供給し、前記暗号化指令に対する応答として前記送信データを前記システムバスを介して前記制御部に供給する暗号化ステップと、
前記暗号化指令に対する応答に応じて前記データ本体のデータ量を削減した前記送信データを送信指令と共に前記制御部から前記システムバスを介して前記暗号化データ処理部に供給する送信指令ステップと、
前記制御部から前記暗号化データ処理部に供給された前記データ本体のデータ量を削減した前記送信データ及び前記送信指令に応じて前記セキュリティ部から前記第2のバスを介して供給された前記送信データをパケット送信のために前記暗号化データ処理部から前記送受信部に供給する送信データ供給ステップと、を含むことを特徴とする通信装置の送信制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2013−78019(P2013−78019A)
【公開日】平成25年4月25日(2013.4.25)
【国際特許分類】
【出願番号】特願2011−217308(P2011−217308)
【出願日】平成23年9月30日(2011.9.30)
【出願人】(308033711)ラピスセミコンダクタ株式会社 (898)
【Fターム(参考)】