(57)【特許請求の範囲】
【請求項１】
受信時にはネットワークからパケットを受信して前記パケットからヘッダ部とデータ本体とを含む受信データを生成し、送信時には前記ヘッダ部と前記データ本体とを含む送信データをパケット化して前記ネットワークに送出する送受信部と、
少なくとも前記受信データ内の暗号化データからなる前記データ本体の復号化を行うことが可能なセキュリティ部と、
システムバスを介して前記セキュリティ部に接続された制御部と、を備える通信装置であって、
前記システムバスと前記送受信部とに接続された暗号化データ処理部と、前記暗号化データ処理部と前記セキュリティ部との間を接続する第２のバスと、を含み、
前記暗号化データ処理部は、前記受信時に前記送受信部から受信した前記受信データが暗号化データを含むか否かを判別し、当該判別の結果、前記受信データ内の前記データ本体が暗号化データであるときは前記受信データを前記第２のバスを介して前記セキュリティ部に供給し、かつ前記受信データを前記システムバスを介して前記制御部に供給し、
前記制御部は、前記暗号化データ処理部から供給された前記受信データが暗号化データを含むか否かを判別し、当該判別の結果、当該受信データが暗号化データを含むときは前記データ本体のデータ量を削減した前記受信データと共に復号化指令を前記システムバスを介して前記セキュリティ部に供給し、
前記セキュリティ部は、前記暗号化データ処理部から前記第２のバスを介して供給された前記受信データ内の前記データ本体の前記暗号化データを、前記復号化指令に応じて復号化して平文データとし、前記復号化指令に対する応答として前記平文データを前記システムバスを介して前記制御部に供給することを特徴とする通信装置。
【請求項２】
前記受信データの前記ヘッダ部は前記受信データの前記データ本体が暗号化データであるか否かを示す情報を含み、
前記制御部は、前記暗号化データ処理部から前記システムバスを介して供給された前記前記受信データを受け取ることが可能な送受信ドライバと、
前記送受信ドライバによって受け取られた前記受信データが暗号化データを含むか否かを前記受け取られた前記受信データ内の前記ヘッダ部に応じて判別することが可能なＯＳ部と、
前記ＯＳ部によって前記受信データが暗号化データを含むことを判別されたとき前記データ本体を含まない前記受信データと共に前記復号化指令を前記システムバスを介して前記セキュリティ部に供給し、前記復号化指令に対する応答として前記平文データを前記セキュリティ部から前記システムバスを介して受け取るセキュリティドライバと、を含むことを特徴とする請求項１記載の通信装置。
【請求項３】
前記送受信ドライバ及び前記セキュリティドライバの動作は、前記ＯＳ部が備えるアプリケーションプログラムに応じて実行されることを特徴とする請求項２記載の通信装置。
【請求項４】
前記暗号化データ処理部は、前記受信時に前記送受信部で生成された前記受信データ内の前記データ本体が暗号化データであるか否かを前記受信データ内のヘッダ部に応じて判別し、前記データ本体が暗号化データであるとき前記データ本体を除去した前記受信データを前記システムバスを介して前記送受信ドライバに供給することを特徴とする請求項２記載の通信装置。
【請求項５】
前記セキュリティ部は、前記セキュリティドライバから前記復号化指令と共に供給された前記受信データ内の前記ヘッダ部と、前記暗号化データ処理部から供給された前記受信データ内の前記ヘッダ部とを照合し、双方の前記ヘッダ部が同一であることを確認してから前記暗号化データの前記平文データへの復号化を行うことを特徴とする請求項２記載の通信装置。
【請求項６】
受信時にはネットワークからパケットを受信して前記パケットからヘッダ部とデータ本体とを含む受信データを生成し、送信時には前記ヘッダ部と前記データ本体とを含む送信データをパケット化して前記ネットワークに送出する送受信部と、
少なくとも前記送信データ内の平文データからなる前記データ本体の暗号化を行うことが可能なセキュリティ部と、
システムバスを介して前記セキュリティ部に接続された制御部と、を備える通信装置であって、
前記システムバスと前記送受信部とに接続された暗号化データ処理部と、前記暗号化データ処理部と前記セキュリティ部との間を接続する第２のバスと、を含み、
前記制御部は、前記送信時に平文データを含む前記送信データを生成し、前記平文データを暗号化する場合には前記送信データと共に前記平文データの暗号化指令を前記セキュリティ部に対して前記システムバスを介して供給し、
前記セキュリティ部は、前記制御部から供給された前記送信データ内の前記データ本体の前記平文データを、前記暗号化指令に応じて暗号化して暗号化データとし、暗号化後、前記暗号化データを前記データ本体とした前記送信データを前記第２のバスを介して前記暗号化データ処理部に供給し、前記暗号化指令に対する応答として前記送信データを前記システムバスを介して前記制御部に供給し、
前記制御部は、前記暗号化指令に対する応答に応じて前記データ本体のデータ量を減少した前記送信データを送信指令と共に前記システムバスを介して前記暗号化データ処理部に供給し、
前記暗号化データ処理部は、前記制御部から供給された前記送信データが暗号化データであるか否かを判別し、当該判別の結果、前記送信データが暗号化データであるときは、前記データ本体のデータ量を削減した前記送信データと前記送信指令とに応じて、前記セキュリティ部から前記第２のバスを介して供給された前記暗号化後の前記送信データをパケット送信のために前記送受信部に供給することを特徴とする通信装置。
【請求項７】
前記送信データの前記ヘッダ部は前記送信データの前記データ本体が暗号化データであるか否かを示す情報を含み、
前記制御部は、前記送信データが暗号化されるべき平文データを含むか否かを前記送信データ内の前記ヘッダ部に応じて判別することが可能なＯＳ部と、
前記ＯＳ部によって前記送信データが暗号化されるべき平文データを含むことが判別されたとき前記送信データと共に前記暗号化指令を前記システムバスを介して前記セキュリティ部に供給し、前記暗号化指令に対する応答として前記暗号化データを前記セキュリティ部から前記システムバスを介して受け取ってそれをＯＳ部に供給するセキュリティドライバと、
前記ＯＳ部から前記送信データを受け取って前記送信データから前記データ本体を除去し、除去後の前記送信データを前記送信指令と共に前記システムバスを介して前記暗号化データ処理部に供給することが可能な送受信ドライバと、を含むことを特徴とする請求項６記載の通信装置。
【請求項８】
前記送受信ドライバ及び前記セキュリティドライバの動作は、前記ＯＳ部が備えるアプリケーションプログラムに応じて実行されることを特徴とする請求項７記載の通信装置。
【請求項９】
前記セキュリティ部は、前記暗号化指令に対する応答として前記データ本体を除去した前記送信データを前記システムバスを介して前記セキュリティドライバに供給することを特徴とする請求項７記載の通信装置。
【請求項１０】
前記暗号化データ処理部は、前記制御部から前記送信指令と共に供給された前記データ本体を除去した前記送信データの前記ヘッダ部と、前記セキュリティ部から前記第２のバスを介して供給された前記送信データの前記ヘッダ部とを照合し、双方の前記ヘッダ部が同一であることを確認してから前記セキュリティ部から供給された前記送信データをパケット送信のために前記送受信部に供給することを特徴とする請求項７記載の通信装置。
【請求項１１】
受信時にはネットワークからパケットを受信して前記パケットからヘッダ部とデータ本体とを含む受信データを生成し、送信時には前記ヘッダ部と前記データ本体とを含む送信データをパケット化して前記ネットワークに送出する送受信部と、
少なくとも前記受信データ内の暗号化データからなる前記データ本体の復号化を行うことが可能なセキュリティ部と、
システムバスを介して前記セキュリティ部に接続された制御部と、
前記システムバスと前記送受信部とに接続された暗号化データ処理部と、
前記暗号化データ処理部と前記セキュリティ部との間を接続する第２のバスと、を備える通信装置の受信制御方法であって、
前記暗号化データ処理部が、前記受信時に前記送受信部で生成された前記受信データ
が暗号化データを含むか否かを判別し、当該判別の結果、前記データ本体が暗号化データであるときに前記受信データを前記暗号化データ処理部から前記第２のバスを介して前記セキュリティ部に供給し、かつ前記受信データを前記暗号化データ処理部から前記システムバスを介して前記制御部に供給する受信データ供給ステップと、
前記制御部が、供給された前記受信データが暗号化データを含む受信データであるか否かを判別し、当該判別の結果、当該受信データが暗号化データを含むときは前記データ本体のデータ量を削減した前記受信データと共に復号化指令を前記制御部から前記システムバスを介して前記セキュリティ部に供給する復号化指令ステップと、
前記セキュリティ部が、前記暗号化データ処理部から前記第２のバスを介して供給された前記受信データ内の前記データ本体の前記暗号化データを、前記復号化指令に応じて復号化して平文データとし、前記復号化指令に対する応答として前記平文データを前記システムバスを介して前記制御部に供給する復号化ステップと、を含むことを特徴とする通信装置の受信制御方法。
【請求項１２】
受信時にはネットワークからパケットを受信して前記パケットからヘッダ部とデータ本体とを含む受信データを生成し、送信時には前記ヘッダ部と前記データ本体とを含む送信データをパケット化して前記ネットワークに送出する送受信部と、
少なくとも前記送信データ内の平文データからなる前記データ本体の暗号化を行うことが可能なセキュリティ部と、
システムバスを介して前記セキュリティ部に接続された制御部と、
前記システムバスと前記送受信部とに接続された暗号化データ処理部と、
前記暗号化データ処理部と前記セキュリティ部との間を接続する第２のバスと、を備える通信装置の送信制御方法であって、
前記制御部が、前記送信時に平文データを含む前記送信データを生成し、前記平文データを暗号化する場合には前記送信データと共に前記平文データの暗号化指令を前記セキュリティ部に対して前記システムバスを介して供給する暗号化指令ステップと、
前記セキュリティ部が、前記制御部から供給された前記送信データ内の前記データ本体の前記平文データを、前記暗号化指令に応じて暗号化して暗号化データとし、暗号化後、前記暗号化データを前記データ本体とした前記送信データを前記第２のバスを介して暗号化データ処理部に供給し、前記暗号化指令に対する応答として前記送信データを前記システムバスを介して前記制御部に供給する暗号化ステップと、
前記制御部が、前記暗号化指令に対する応答に応じて前記データ本体のデータ量を削減した前記送信データを送信指令と共に前記システムバスを介して前記暗号化データ処理部に供給する送信指令ステップと、
前記暗号化データ処理部が、前記制御部から供給された前記送信データが暗号化データであるか否かを判別し、当該判別の結果、前記送信データが暗号化データであるときは、前記制御部から前記暗号化データ処理部に供給された前記データ本体のデータ量を削減した前記送信データ及び前記送信指令に応じて、前記セキュリティ部から前記第２のバスを介して供給された前記送信データを、パケット送信のために前記送受信部に供給する送信データ供給ステップと、を含むことを特徴とする通信装置の送信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は暗号化データを含むパケットを送受信する通信装置、受信制御方法及び送信制御方法に関する。
【背景技術】
【０００２】
パケット通信においてデータの漏洩防止のために送信側ではパケット内のデータを暗号化して送信し、受信側ではその受信パケットの暗号化データを復号することは良く知られている。インターネットにおけるパケット通信で用いられる暗号化プロトコルとしてＩＰｓｅｃ(Security Architecture for Internet Protocol)がある。現在、ＩＰｓｅｃを利用した通信装置としてはルックアサイド(Lookaside)型が一般的である。ルックアサイド型は図１に示すように、送受信部１とセキュリティ部２とが制御部３にシステムバス４を介して接続された構成のものである。このような構成を有する従来装置は特許文献１及び２に示されている。
【０００３】
送受信部１はネットワーク５に対してパケットを送受信し、セキュリティ部２は送信されるデータの暗号化及び受信された暗号化データの復号化を行う。制御部３は送受信部１及びセキュリティ部２各々を制御する。パケットの送信の際にデータを暗号化して送信する場合には、制御部３は送信されるべきデータをシステムバス４を介してセキュリティ部２に供給し、セキュリティ部２は供給されたデータを暗号化し、その暗号化データをシステムバス４を介して制御部３に返す。その後、制御部３は暗号化データ及びヘッダを含む送信データをシステムバス４を介して送受信部１に供給し、送受信部１は供給された送信データをパケットとして形成してネットワーク５内の送信先のアドレスに向けて送信する。パケットの受信の際に受信データを復号化する場合には、送受信部１によって受信されたパケット内の受信データはシステムバス４を介して制御部３に供給され、制御部３は受信データが暗号化データを含むデータであるならば、その暗号化データをシステムバス４を介してセキュリティ部２に供給する。セキュリティ部２は供給された暗号化データを復号化し、その復号したデータ、すなわち平文データをシステムバス４を介して制御部３に返す。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３４９７７５号公報
【特許文献２】特開２００７−１３５０３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のルックアサイド型の通信装置においては、暗号化データを含むパケットを送信する場合及び暗号化データを含むパケットを受信する場合各々について、制御部３と送受信部１及びセキュリティ部２各々との間のシステムバス４を利用して何度もデータのやり取りをする必要が生じるので、システムバス４のバンド幅が通信装置のデータ送受信のスループット（処理能力）を制限することになり、暗号化データを含むパケットの通信の高速化を図ることが難しいという問題点があった。
【０００６】
そこで、本発明の目的は、かかる点を鑑みてなされたものであり、暗号化データを含むパケットの通信における高速化を図ることができるルックアサイド型の通信装置、受信制御方法及び送信制御方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明の通信装置は、受信時にはネットワークからパケットを受信して前記パケットからヘッダ部とデータ本体とを含む受信データを生成し、送信時には前記ヘッダ部と前記データ本体とを含む送信データをパケット化して前記ネットワークに送出する送受信部と、 少なくとも前記受信データ内の暗号化データからなる前記データ本体の復号化を行うことが可能なセキュリティ部と、システムバスを介して前記セキュリティ部に接続された制御部と、を備える通信装置であって、前記システムバスと前記送受信部とに接続された暗号化データ処理部と、前記暗号化データ処理部と前記セキュリティ部との間を接続する第２のバスと、を含み、前記暗号化データ処理部は、前記受信時に前記送受信部から受信した前記受信データが暗号化データを含むか否かを判別し、当該判別の結果、前記受信データ内の前記データ本体が暗号化データであるときは前記受信データを前記第２のバスを介して前記セキュリティ部に供給し、かつ前記受信データを前記システムバスを介して前記制御部に供給し、前記制御部は、前記暗号化データ処理部から供給された前記受信データが暗号化データを含むか否かを判別し、当該判別の結果、当該受信データが暗号化データを含むときは前記データ本体のデータ量を削減した前記受信データと共に復号化指令を前記システムバスを介して前記セキュリティ部に供給し、前記セキュリティ部は、前記暗号化データ処理部から前記第２のバスを介して供給された前記受信データ内の前記データ本体の前記暗号化データを、前記復号化指令に応じて復号化して平文データとし、前記復号化指令に対する応答として前記平文データを前記システムバスを介して前記制御部に供給することを特徴としている。
【０００８】
本発明の通信装置は、受信時にはネットワークからパケットを受信して前記パケットからヘッダ部とデータ本体とを含む受信データを生成し、送信時には前記ヘッダ部と前記データ本体とを含む送信データをパケット化して前記ネットワークに送出する送受信部と、 少なくとも前記送信データ内の平文データからなる前記データ本体の暗号化を行うことが可能なセキュリティ部と、システムバスを介して前記セキュリティ部に接続された制御部と、を備える通信装置であって、前記システムバスと前記送受信部とに接続された暗号化データ処理部と、前記暗号化データ処理部と前記セキュリティ部との間を接続する第２のバスと、を含み、前記制御部は、前記送信時に平文データを含む前記送信データを生成し、前記平文データを暗号化する場合には前記送信データと共に前記平文データの暗号化指令を前記セキュリティ部に対して前記システムバスを介して供給し、前記セキュリティ部は、前記制御部から供給された前記送信データ内の前記データ本体の前記平文データを、前記暗号化指令に応じて暗号化して暗号化データとし、暗号化後、前記暗号化データを前記データ本体とした前記送信データを前記第２のバスを介して前記暗号化データ処理部に供給し、前記暗号化指令に対する応答として前記送信データを前記システムバスを介して前記制御部に供給し、前記制御部は、前記暗号化指令に対する応答に応じて前記データ本体のデータ量を減少した前記送信データを送信指令と共に前記システムバスを介して前記暗号化データ処理部に供給し、前記暗号化データ処理部は、前記制御部から供給された前記送信データが暗号化データであるか否かを判別し、当該判別の結果、前記送信データが暗号化データであるときは、前記データ本体のデータ量を削減した前記送信データと前記送信指令とに応じて、前記セキュリティ部から前記第２のバスを介して供給された前記暗号化後の前記送信データをパケット送信のために前記送受信部に供給することを特徴としている。
【０００９】
本発明の通信装置の受信制御方法は、受信時にはネットワークからパケットを受信して前記パケットからヘッダ部とデータ本体とを含む受信データを生成し、送信時には前記ヘッダ部と前記データ本体とを含む送信データをパケット化して前記ネットワークに送出する送受信部と、少なくとも前記受信データ内の暗号化データからなる前記データ本体の復号化を行うことが可能なセキュリティ部と、システムバスを介して前記セキュリティ部に接続された制御部と、前記システムバスと前記送受信部とに接続された暗号化データ処理部と、前記暗号化データ処理部と前記セキュリティ部との間を接続する第２のバスと、を備える通信装置の受信制御方法であって、前記暗号化データ処理部が、前記受信時に前記送受信部で生成された前記受信データが暗号化データを含むか否かを判別し、当該判別の結果、前記データ本体が暗号化データであるときに前記受信データを前記暗号化データ処理部から前記第２のバスを介して前記セキュリティ部に供給し、かつ前記受信データを前記暗号化データ処理部から前記システムバスを介して前記制御部に供給する受信データ供給ステップと、前記制御部が、供給された前記受信データが暗号化データを含む受信データであるか否かを判別し、当該判別の結果、当該受信データが暗号化データを含むときは前記データ本体のデータ量を削減した前記受信データと共に復号化指令を前記制御部から前記システムバスを介して前記セキュリティ部に供給する復号化指令ステップと、前記セキュリティ部が、前記暗号化データ処理部から前記第２のバスを介して供給された前記受信データ内の前記データ本体の前記暗号化データを、前記復号化指令に応じて復号化して平文データとし、前記復号化指令に対する応答として前記平文データを前記システムバスを介して前記制御部に供給する復号化ステップと、を含むことを特徴としている。
【００１０】
本発明の通信装置の送信制御方法は、受信時にはネットワークからパケットを受信して前記パケットからヘッダ部とデータ本体とを含む受信データを生成し、送信時には前記ヘッダ部と前記データ本体とを含む送信データをパケット化して前記ネットワークに送出する送受信部と、少なくとも前記送信データ内の平文データからなる前記データ本体の暗号化を行うことが可能なセキュリティ部と、システムバスを介して前記セキュリティ部に接続された制御部と、前記システムバスと前記送受信部とに接続された暗号化データ処理部と、前記暗号化データ処理部と前記セキュリティ部との間を接続する第２のバスと、を備える通信装置の送信制御方法であって、前記制御部が、前記送信時に平文データを含む前記送信データを生成し、前記平文データを暗号化する場合には前記送信データと共に前記平文データの暗号化指令を前記セキュリティ部に対して前記システムバスを介して供給する暗号化指令ステップと、前記セキュリティ部が、前記制御部から供給された前記送信データ内の前記データ本体の前記平文データを、前記暗号化指令に応じて暗号化して暗号化データとし、暗号化後、前記暗号化データを前記データ本体とした前記送信データを前記第２のバスを介して暗号化データ処理部に供給し、前記暗号化指令に対する応答として前記送信データを前記システムバスを介して前記制御部に供給する暗号化ステップと、前記制御部が、前記暗号化指令に対する応答に応じて前記データ本体のデータ量を削減した前記送信データを送信指令と共に前記システムバスを介して前記暗号化データ処理部に供給する送信指令ステップと、前記暗号化データ処理部が、前記制御部から供給された前記送信データが暗号化データであるか否かを判別し、当該判別の結果、前記送信データが暗号化データであるときは、前記制御部から前記暗号化データ処理部に供給された前記データ本体のデータ量を削減した前記送信データ及び前記送信指令に応じて、前記セキュリティ部から前記第２のバスを介して供給された前記送信データを、パケット送信のために前記送受信部に供給する送信データ供給ステップと、を含むことを特徴としている。
【発明の効果】
【００１１】
本発明の通信装置及び受信制御方法によれば、暗号化データを含むパケットの受信の際には、暗号化データの受信データは送受信部から暗号化データ処理部、そして第２のバスを介してセキュリティ部に供給され、暗号化データがセキュリティ部において平文データとされ、その平文データがシステムバスを介して制御部に供給される。このとき制御部からシステムバスを介してセキュリティ部へは復号化されるべき暗号化データが例えば、除去されて供給されず、復号化されるべき暗号化データを特定するための受信データのヘッダ部が復号化指令と共に供給される。よって、パケット受信の際にシステムバスを通過するデータ量を従来装置より減少させることができるので、データ受信のスループットを向上させることができ、これにより暗号化データを含むパケットの受信における高速化を図ることができる。
【００１２】
また、本発明の通信装置及び送信制御方法によれば、暗号化データを含むパケットの送信の際には、暗号化されるべき平文データをデータ本体に含む送信データは制御部からシステムバスを介してセキュリティ部に供給され、平文データがセキュリティ部において暗号化データとされ、その暗号化データを平文データと置き換えたデータ本体を有する送信データが第２のバスを介して暗号化データ処理部に供給され、更に送受信部によってパケットとして送信される。この送信の際に制御部からシステムバスを介して暗号化データ処理部へは暗号化データが例えば、除去されて供給されず、送信されるべき暗号化データを特定するための送信データのヘッダ部が送信命令と共に供給される。よって、パケット送信の際にもシステムバスを通過するデータ量を従来装置より減少させることができるので、データ送信のスループットを向上させることができ、これにより暗号化データを含むパケットの送信における高速化を図ることができる。
【図面の簡単な説明】
【００１３】
【図１】従来のルックアサイド型の通信装置の構成を示すブロック図である。
【図２】本発明の実施例１としてルックアサイド型の通信装置の構成を示すブロック図である。
【図３】図２の通信装置が送受信するパケットのデータ構造を示す図である。
【図４】図２の通信装置の受信時の暗号化データ処理部の動作を示すフローチャートである。
【図５】図２の通信装置の受信時のセキュリティ部の動作を示すフローチャートである。
【図６】図２の通信装置の送信時のセキュリティ部の動作を示すフローチャートである。
【図７】図２の通信装置の送信時の暗号化データ処理部の動作を示すフローチャートである。
【図８】本発明の実施例２として図２の通信装置の受信時の暗号化データ処理部の動作を示すフローチャートである。
【図９】本発明の実施例３として図２の通信装置の送信時のセキュリティ部の動作を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施例を、図面を参照しつつ詳細に説明する。
【００１５】
図２は本発明の実施例１としてのルックアサイド型の通信装置を示している。この通信装置は、送受信部１１、暗号化データ処理部１２、セキュリティ部１３、及び制御部１４を備えている。送受信部１１はイーサネット(Ethernet:登録商標)のネットワーク１５に接続され、暗号化データ処理部１２、セキュリティ部１３及び制御部１４各々はシステムバス１６に接続されている。システムバス１６は例えば、ＰＣＩ  Ｅｘｐｒｅｓｓ  ＢＵＳである。また、送受信部１１は暗号化データ処理部１２に接続され、暗号化データ処理部１２はセキュリティ部１３と内部バス１７（第２のバス）によって接続されている。
【００１６】
送受信部１１はネットワーク１５に対してパケットを送受信し、パケット受信時にはパケットの受信データを暗号化データ処理部１２に供給し、パケット送信時には暗号化データ処理部１２から供給された送信データをパケットとして形成して送信する。送受信部１１は本通信装置内でネットワーク１５上のデータを処理できる形式にするために受信パケットに基づいて受信データが生成される。暗号化データ処理部１２は送受信部１１に接続され、パケット受信時には受信データが暗号化データを含むか否かを判別し、その判別結果が平文データ（暗号化されていないデータ）の場合には受信データをシステムバス１６を介して制御部１４に供給する。判別結果が暗号化データの場合にはパケット中のＦＣＳを除く部分をシステムバス１６を介して制御部１４に供給すると共に内部バス１７を介してセキュリティ部１３に供給する。また、暗号化データ処理部１２はパケット送信時には制御部１４から送信指令と共に供給されたパケットが暗号化データを送信するパケットであるか否かを判別し、判別結果が平文データのパケットである場合にはそのパケットをそのまま送受信部１１に供給する。判別結果が暗号化データのパケットである場合にはそのパケットはデータ領域に後述するが暗号化データが含まれていないので、セキュリティ部１３から内部バス１７を介して供給される暗号化されたデータをパケットに挿入し、そのパケットを送受信部１１に供給する。
【００１７】
セキュリティ部１３は送受信部１１が暗号化データを含むパケットを受信した時には暗号化データ処理部１２からパケットが内部バス１７を介して供給され、また、制御部１４から復号化指令と共にデータ領域にデータがないパケットがシステムバス１６を介して供給される。セキュリティ部１３は復号化指令に応じて暗号化データ処理部１２から供給されたパケットに含まれる暗号化データを復号化して平文データをシステムバス１６を介して制御部１４に供給する。また、セキュリティ部１３は暗号化データを含むパケットの送信時には制御部１４から暗号化指令と共に暗号化されるべき平文データを含むパケットがシステムバス１６を介して供給される。セキュリティ部１３は暗号化指令に応じて供給された平文データを暗号化して暗号化データをシステムバス１６を介して制御部１４に供給する。
【００１８】
制御部１４はＣＰＵによって構成され、図２に示すように、ＯＳ（オペレーションシステム）部２１、送受信ドライバ２２、及びセキュリティドライバ２３を含む。ＯＳ（オペレーションシステム）部２１は図示しないアプリケーションプログラムに応じてオペレーションシステムが動作して、各種の指令を発生すると共に送信すべきデータを送受信ドライバ２２及びセキュリティドライバ２３に供給し、また、送受信ドライバ２２から受信データを受け取り、セキュリティドライバ２３から暗号化データ又は復号化した平文データを受け取る。送受信ドライバ２２はＯＳ部２１からの送受信部１１又は暗号化データ処理部１２への指令及び送信データをシステムバス１６を介して暗号化データ処理部１２に供給する動作、及び暗号化データ処理部１２からの受信データをシステムバス１６を介して受け取る動作を行う。セキュリティドライバ２３はＯＳ部２１からのセキュリティ部１３への指令及び送信データをシステムバス１６を介してセキュリティ部１３に供給する動作、及びセキュリティ部１３からの暗号化データ又は平文データをシステムバス１６を介して受け取る動作を行う。送受信ドライバ２２及びセキュリティドライバ２３は上記のアプリケーションプログラムの実行により形成される。
【００１９】
かかる通信装置において送受信されるパケットはイーサネットでインターネットプロトコルを用いる場合に図３に示すようなデータ構造を有する。パケットの先頭から順に、イーサネットヘッダ、ＩＰヘッダ、ＩＰｓｅｃヘッダ、データ本体、及びＦＣＳが位置している。イーサネットヘッダは送信先ＭＡＣアドレス、送信元ＭＡＣアドレス、及びイーサネットタイプを含んでいる。イーサネットタイプはイーサネットで使用されるプロトコルの種類を示し、イーサネットタイプの番号が０ｘ８００又は０ｘ８６ＤＤであるときプロトコルがＩＰ（インターネットプロトコル）であることを示す。
【００２０】
ＩＰヘッダは送信元ＩＰアドレス、送信先ＩＰアドレス、及びプロトコルタイプを含んでいる。プロトコルタイプはデータの暗号化プロトコルの種類を示し、プロトコルタイプの番号が５０又は５１であるとき暗号化プロトコルはＩＰｓｅｃである。ＦＣＳはフレームチェックシーケンスの略であり、送受信するデータが正しいかを調べるためのチェックサムである。
【００２１】
なお、本明細書で送信データ及び受信データ各々はイーサネットヘッダ、ＩＰヘッダ、ＩＰｓｅｃヘッダ、及びデータ本体（暗号化データ又は平文データ）からなるデータブロックを言い、パケットとはイーサネットヘッダ、ＩＰヘッダ、ＩＰｓｅｃヘッダ、及びデータ本体にＦＣＳを含むデータブロックを言う。また、送信データ及び受信データ各々のヘッダ部とはイーサネットヘッダ、ＩＰヘッダ、及びＩＰｓｅｃヘッダを言う。
【００２２】
次に、かかる通信装置のパケット送受信時の処理動作について説明する。先ず、パケットの受信処理において、送受信部１１はネットワーク１５からパケットを受信すると、受信データを内部メモリ（図示せず）に展開する。
【００２３】
暗号化データ処理部１２は送受信部１１からパケットの受信を示す信号を受け取ると、図４に示すように、内部メモリの受信データ中のイーサネットヘッダのイーサネットタイプを捜し出し（ステップＳ１）、イーサネットタイプがＩＰであるか否か判別する（ステップＳ２）。ＩＰであるならば、ＩＰヘッダのプロトコルタイプを捜し出し（ステップＳ３）、プロトコルタイプがＩＰｓｅｃであるか否かを判別する（ステップＳ４）。例えば、イーサネットヘッダが０ｘ８００であるときＩＰｖ４であり、そのＩＰヘッダの１０オクテッド目に存在するプロトコルタイプを捜し出す。また、イーサネットヘッダが０ｘ８６ＤＤであるときＩＰｖ６であり、そのＩＰヘッダの７オクテッド目に存在するプロトコルタイプを捜し出す。プロトコルタイプが例えば、５０又は５１であるならば、ＩＰｓｅｃプロトコルで暗号化されたデータがデータ本体であることが分かる。
【００２４】
暗号化データ処理部１２はプロトコルタイプがＩＰｓｅｃである場合には内部メモリの受信データを読み出してそれをシステムバス１６を介して制御部１４の送受信ドライバ２２に供給し（ステップＳ５）、その読み出した受信データを内部バス１７を介してセキュリティ部１３に供給する（ステップＳ６）。ステップＳ５及びＳ６は受信データ供給ステップに相当する。
【００２５】
また、暗号化データ処理部１２はＩＰｓｅｃでない場合には内部メモリの受信データを読み出してそれをシステムバス１６を介して制御部１４の送受信ドライバ２２に供給する（ステップＳ７）。
【００２６】
送受信ドライバ２２は受信データが暗号化データ処理部１２からシステムバス１６を介して供給されると、その受信データをＯＳ部２１に渡す。ＯＳ部２１は受信データのプロトコルタイプからＩＰｓｅｃでないと判別した場合には受信データのデータ本体が平文データであるので、その平文データを受け入れる。一方、受信データのプロトコルタイプからＩＰｓｅｃであると判別した場合には受信データのデータ本体が暗号化データであるので、受信データをセキュリティドライバ２３に供給する。
【００２７】
セキュリティドライバ２３は、ＯＳ部２１から受け取った受信データのうちの暗号化データのデータ本体を除去し、受信データのうちのイーサネットヘッダ、ＩＰヘッダ、及びＩＰｓｅｃヘッダからなるヘッダ部と共に復号化指令をシステムバス１６を介してセキュリティ部１３に供給する。このセキュリティドライバ２３の動作が復号化指令ステップに相当する。なお、セキュリティドライバ２３は、受信データのうちの暗号化データのデータ本体を除去しないで、変換等の削減処理によってそのデータ本体のデータ量を削減させ、データ本体のデータ量を削減した受信データを復号化指令と共にシステムバス１６を介してセキュリティ部１３に供給しても良い。
【００２８】
セキュリティ部１３は、復号化指令を受けると、図５に示すように、暗号化データ処理部１２から内部バス１７を介して供給された受信データのヘッダ部と復号化指令で受け取ったヘッダ部とを照合して同一である否かを判別し（ステップＳ１１）、同一であることを確認すると、受信データのデータ本体の暗号化データを復号化して平文データを生成する（ステップＳ１２）。そして、その平文データをシステムバス１６を介してセキュリティドライバ２３に出力する（ステップＳ１３）。このステップＳ１２及びＳ１３は復号化ステップに相当する。
【００２９】
また、セキュリティドライバ２３はセキュリティ部１３から平文データを受け取ると、ＯＳ部２１から復号化のために受け取った受信データのデータ本体をその平文データに取り替え、その取り替え後の受信データをＯＳ部２１に戻す。これにより通信装置の受信処理が終了する。なお、セキュリティ部１３がセキュリティドライバ２３に対して平文データだけを戻すのではなく、受信データのデータ本体を平文データに取り替えてから受信データをシステムバス１６を介して戻しても良い。
【００３０】
次に、パケットの送信処理において、ＯＳ部２１は平文データを暗号化して送信することが生じると、その平文データをデータ本体に含む送信データを作成し、その送信データをセキュリティドライバ２３に供給する。
【００３１】
セキュリティドライバ２３は、ＯＳ部２１から受け取った送信データと共に暗号化指令をシステムバス１６を介してセキュリティ部１３に供給する。このセキュリティドライバ２３の動作が暗号化指令ステップに相当する。
【００３２】
セキュリティ部１３は、暗号化指令及び送信データを受けると、図６に示すように、送信データのうちのデータ本体の平文データを暗号化して暗号化データを生成する（ステップＳ１５）。そして、その暗号化データをシステムバス１６を介してセキュリティドライバ２３に出力する（ステップＳ１６）。また、セキュリティ部１３はセキュリティドライバ２３から暗号化指令と共に受け取った送信データのデータ本体を暗号化データに取り替え（ステップＳ１７）、取り替え後の送信データを内部バス１７を介して暗号化データ処理部１２に供給する（ステップＳ１８）。このステップＳ１５〜Ｓ１８が暗号化ステップに相当する。
【００３３】
また、セキュリティドライバ２３はセキュリティ部１３から暗号化データを受け取ると、ＯＳ部２１から暗号化のために受け取った送信データのデータ本体をその暗号化データに取り替え、その取り替え後の送信データをＯＳ部２１に戻す。なお、セキュリティ部１３はセキュリティドライバ２３に対して暗号化データに取り替えた送信データをシステムバス１６を介して戻しても良い。
【００３４】
ＯＳ部２１はデータ本体が暗号化データとなった送信データを受け取ると、その送信データを送受信ドライバ２２に供給する。送受信ドライバ２２は送信データのうちの暗号化データのデータ本体を取り除き、イーサネットヘッダ、ＩＰヘッダ、及びＩＰｓｅｃヘッダからなるヘッダ部だけの送信データを送信指令と共にシステムバス１６を介して暗号化データ処理部１２に供給する。この送受信ドライバ２２の動作が送信指令ステップに相当する。なお、送受信ドライバ２２は送信データのうちの暗号化データのデータ本体を除去しないで、変換等の削減処理によってデータ本体のデータ量を削減させ、データ本体のデータ量を削減した送信データを送信指令と共にシステムバス１６を介して暗号化データ処理部１２に供給しても良い。
【００３５】
暗号化データ処理部１２は、送受信ドライバ２２から送信指令及び送信データを受け取ると、図７に示すように、その送信データのプロトコルタイプがＩＰｓｅｃであるか否かを判別する（ステップＳ２１）。送信データのプロトコルタイプがＩＰｓｅｃであるならば、セキュリティ部１３から内部バス１７を介して供給された送信データのヘッダ部と送信指令で受け取った送信データのヘッダ部とを照合して同一であるか否かを判別する（ステップＳ２２）。同一であるならば、セキュリティ部１３から内部バス１７を介して供給された送信データを送受信部１１に供給する（ステップＳ２３）。ヘッダ部が互いに同一でないならば、送信データは送受信部１１に供給されない。ステップＳ２２及びＳ２３が送信データ供給ステップに相当する。
【００３６】
暗号化データ処理部１２は、ステップＳ２１の判別で送信データのプロトコルタイプがＩＰｓｅｃでないならば、その送信データを送受信部１１に供給する（ステップＳ２４）。
【００３７】
送受信部１１は暗号化データ処理部１２から供給された送信データにＦＣＳを付加してパケットを形成し、そのパケットをネットワーク１５に送出する。
【００３８】
このように暗号化データを含むパケットの受信の際には、その暗号化データの受信データは送受信部１１から暗号化データ処理部１２、そして内部バス１７を介してセキュリティ部１３に供給され、暗号化データがセキュリティ部１３において平文データとされ、その平文データがシステムバス１６を介して制御部１４のセキュリティドライバ２３に供給される。このとき制御部１４のセキュリティドライバ２３からシステムバス１６を介してセキュリティ部１３へは復号化されるべき暗号化データが供給されず、復号化されるべき暗号化データを特定するための受信データのヘッダ部だけが復号化指令と共に供給される。よって、パケット受信の際にシステムバス１６を通過するデータ量を従来装置より減少させることができる。
【００３９】
また、暗号化データを含むパケットの送信の際には、暗号化されるべき平文データを含む送信データは制御部１４のセキュリティドライバ２３からシステムバス１６を介してセキュリティ部１３に供給され、平文データがセキュリティ部１３において暗号化データとされ、その暗号化データを平文データと置き換えた送信データが内部バス１７を介して暗号化データ処理部１２に供給され、更に送受信部１１によってパケットとして送信される。この送信の際に制御部１４の送受信ドライバ２２からシステムバス１６を介して暗号化データ処理部１２へは暗号化データが供給されず、送信されるべき暗号化データを特定するための送信データのヘッダ部だけが送信命令と共に供給される。よって、パケット送信の際にもシステムバス１６を通過するデータ量を従来装置より減少させることができる。
【００４０】
この結果、パケットの送受信の際にシステムバス１６を通過するデータ量の減少により、データ送受信のスループットを向上させることができ、これにより暗号化データを含むパケットの通信における高速化を図ることができる。
【００４１】
図８は本発明の実施例２として暗号化データ処理部１２の受信時動作を示している。この受信時動作において、暗号化データ処理部１２は送受信部１１からパケットの受信を示す信号を受け取ると、内部メモリの受信データ中のイーサネットヘッダのイーサネットタイプを捜し出し（ステップＳ３１）、イーサネットタイプがＩＰであるか否か判別する（ステップＳ３２）。ＩＰであるならば、ＩＰヘッダのプロトコルタイプを捜し出し（ステップＳ３３）、プロトコルタイプがＩＰｓｅｃであるか否かを判別する（ステップＳ３４）。ステップＳ３１〜Ｓ３４は上記したステップＳ１〜Ｓ４と同一である。
【００４２】
暗号化データ処理部１２はプロトコルタイプがＩＰｓｅｃである場合には内部メモリの受信データを読み出してその読み出した受信データのうちの暗号化データのデータ本体を取り除き、イーサネットヘッダ、ＩＰヘッダ、及びＩＰｓｅｃヘッダからなるヘッダ部だけの受信データ（暗号化データ無しの受信データ）をシステムバス１６を介して送受信ドライバ２２に供給する（ステップＳ３５）。また、読み取った受信データ（暗号化データ有りの受信データ）を内部バス１７を介してセキュリティ部１３に供給する（ステップＳ３６）。また、暗号化データ処理部１２はＩＰｓｅｃでない場合には内部メモリの受信データを読み出してそれをシステムバス１６を介して制御部１４の送受信ドライバ２２に供給する（ステップＳ３７）。
【００４３】
送受信ドライバ２２はステップＳ３５の動作で暗号化データ処理部１２から送られてきた暗号化データ無しの受信データを受け取る場合も、上記したステップＳ５の動作で暗号化データ処理部１２から送られてきた暗号化データ有りの受信データを受け取る場合と同様に動作してその受信データをＯＳ部２１に渡す。
【００４４】
このように図８の受信時動作を実行する通信装置においては、暗号化データを含むパケットの受信の際には、その暗号化データの受信データは送受信部１１から暗号化データ処理部１２、そして内部バス１７を介してセキュリティ部１３に供給され、暗号化データがセキュリティ部１３において平文データとされ、その平文データがシステムバス１６を介して制御部１４のセキュリティドライバ２３に供給される一方、暗号化データ処理部１２からシステムバス１６を介して制御部１４の送受信ドライバ２２には暗号化データが供給されず、受信された暗号化データを特定するための受信データのヘッダ部だけが供給される。よって、制御部１４のセキュリティドライバ２３からシステムバス１６を介してセキュリティ部１３へはそのヘッダ部だけが供給される。よって、パケット受信の際にシステムバス１６を通過するデータ本体はセキュリティ部１３からセキュリティドライバ２３に供給される復号化された平文データだけであり、システムバス１６を通過するデータ量を従来装置より更に減少させることができる。
【００４５】
図９は本発明の実施例３としてセキュリティ部１３の送信時動作を示している。この送信時動作において、セキュリティ部１３は、セキュリティドライバ２３からシステムバス１６を介して暗号化指令及び送信データを受け取ると、送信データのうちのデータ本体の平文データを暗号化して暗号化データを生成する（ステップＳ４１）。そして、セキュリティドライバ２３から暗号化指令と共に受け取った送信データをイーサネットヘッダ、ＩＰヘッダ、及びＩＰｓｅｃヘッダからなるヘッダ部だけにして、暗号化データ無しの送信データをシステムバス１６を介してセキュリティドライバ２３に出力する（ステップＳ４２）。また、セキュリティ部１３はその暗号化指令と共に受け取った送信データのデータ本体を暗号化データに取り替え（ステップＳ４３）、取り替え後の送信データ（暗号化データ有りの送信データ）を内部バス１７を介して暗号化データ処理部１２に供給する（ステップＳ４４）。
【００４６】
また、セキュリティドライバ２３は、セキュリティ部１３から暗号化データ無しの送信データを受け取ると、ＯＳ部２１から暗号化のために受け取った平文データのままの送信データをＯＳ部２１に戻す。ＯＳ部２１は平文データのままの送信データが戻って来たことから暗号化データ有りの送信データが作成されたと判断してその平文データのままの送信データを送受信ドライバ２２に供給する。その後の送受信ドライバ２２、暗号化データ処理部１２及び送受信部１１の各動作は実施例１のパケットの送信の際の動作と同一である。
【００４７】
このように図９の送信時動作を実行する通信装置においては、暗号化データを含むパケットの送信の際には、暗号化されるべき平文データを含む送信データは制御部１４のセキュリティドライバ２３からシステムバス１６を介してセキュリティ部１３に供給され、平文データがセキュリティ部１３において暗号化データとされ、その暗号化データを平文データと置き換えた送信データが内部バス１７を介して暗号化データ処理部１２に供給される。更に、暗号化データ無しの送信データが暗号化が済んだことをＯＳ部２１に知らせるためにセキュリティ部１３からシステムバス１６を介してセキュリティドライバ２３に供給され、また、送受信ドライバ２２からシステムバス１６を介して暗号化データ処理部１２へは送信されるべき暗号化データを特定するための送信データのヘッダ部だけが送信命令と共に供給される。よって、パケット送信の際にはシステムバス１６を通過するデータ本体はセキュリティドライバ２３からセキュリティ部１３に供給される暗号化されるべき平文データだけであり、システムバス１６を通過するデータ量を従来装置より更に減少させることができる。
【００４８】
また、上記した実施例においては、ネットワーク１５はイーサネットであるとして説明したが、本発明はイーサネット以外のネットワークに接続される場合にも適用することができる。
【００４９】
上記した実施例においては、暗号化データ処理部１２は送受信部１１とは別個に形成されているが、送受信部１１内に形成されていても良い。
【００５０】
更に、上記した実施例においては、パケット送信の際にシステムバスを通過するデータ量及びパケット受信の際にシステムバスを通過するデータ量各々を従来装置より減少させることができるが、本発明はパケット送信及びパケット受信のいずれか一方の際にだけでもシステムバスを通過するデータ量を減少させるために適用されても良い。
【符号の説明】
【００５１】
１，１１  送受信部
２，１３  セキュリティ部
３，１４  制御部
４，１６  システムバス
５，１５  ネットワーク
１２  暗号化データ処理部
１７  内部バス
【図１】
0005848570.tif 000002
【図２】
0005848570.tif 000003
【図３】
0005848570.tif 000004
【図４】
0005848570.tif 000005
【図５】
0005848570.tif 000006
【図６】
0005848570.tif 000007
【図７】
0005848570.tif 000008
【図８】
0005848570.tif 000009
【図９】
0005848570.tif 000010