JP2004328359A - パケット処理装置 - Google Patents

パケット処理装置 Download PDF

Info

Publication number
JP2004328359A
JP2004328359A JP2003119922A JP2003119922A JP2004328359A JP 2004328359 A JP2004328359 A JP 2004328359A JP 2003119922 A JP2003119922 A JP 2003119922A JP 2003119922 A JP2003119922 A JP 2003119922A JP 2004328359 A JP2004328359 A JP 2004328359A
Authority
JP
Japan
Prior art keywords
encryption
message authentication
decryption
microprocessor
data buffer
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
JP2003119922A
Other languages
English (en)
Inventor
Yuji Uto
裕士 宇都
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2003119922A priority Critical patent/JP2004328359A/ja
Publication of JP2004328359A publication Critical patent/JP2004328359A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】バス転送レートが低い低機能マイクロプロセッサであっても、バス帯域を圧迫せず高速なセキュリティ処理を実現する。
【解決手段】パケット通信のネットワーク105に対するネットワークインターフェイス101が第1のデータバッファ101Bおよびバス103を介してマイクロプロセッサ100に接続され、暗復号・メッセージ認証に使用する制御レジスタ102Cおよび第2のデータバッファ102Bがバス103を介してマイクロプロセッサ100に接続される。暗復号・メッセージ認証専用回路102と第2のデータバッファ102Bがローカルバス104を介して直接に接続され、第1のデータバッファ101Bと第2のデータバッファ102Bの入出力の接続先が入れ替え可能に構成されている。処理途中でのバスを介してのデータ転送が省略され、バス帯域の圧迫を防ぐ。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、秘密通信のためのセキュリティ機能を備えたパケット処理装置にかかわり、より詳しくは、パケット通信のネットワークに対するネットワークインターフェイスが第1のデータバッファおよびバスを介してマイクロプロセッサに接続され、暗復号・メッセージ認証専用回路が暗復号・メッセージ認証に使用する制御レジスタおよび第2のデータバッファがそれぞれ前記バスを介して前記マイクロプロセッサに接続されたパケット処理装置に関し、特には、セキュリティ処理を高速化する技術に関する。
【0002】
【従来の技術】
近年、インターネットに代表されるTCP/IPネットワークが急速に普及している。これに伴って、電子音楽配信やWeb上での商取引、家電製品をネットワークに接続して外出先からの操作や監視を行うなど、様々な形態のネットビジネスが脚光を浴び、次々に展開されつつある。
【0003】
このようなインターネット接続を行う場合、商取引ではサービス提供者側とユーザ側との間で、また、家電製品接続サービスではユーザーと宅内家電との間で、信頼のおける安全な通信が行われることが大前提となる。しかしながら、TCP/IPネットワーク上のデータは、クラッカーによる盗聴やなりすましなどの危険にさらされており、一般に安全でないネットワークと考えられている。
【0004】
そこで重要になってくるのが、電子認証や通信データの暗号化、ファイアウォールなどに代表されるネットワークセキュリティ技術である。
【0005】
ネットワークセキュリティ技術の中でIPパケットの機密性、完全性を確保するものにIPSec(IP Security Protocol)がある。IPsecでは共通鍵に基づく暗号技術を主に利用しており、データの暗号化には共通鍵暗号を、メッセージ認証には共通鍵暗号もしくは一方向性ハッシュ関数を利用したメッセージ認証コードが利用される。
【0006】
これらは主にソフトウェアによる処理である(例えば、特許文献1参照)。また、将来的なTCP/IPインフラストラクチャの広帯域化に備え、暗号処理やメッセージ処理において、IPsecアクセラレータなどの暗復号・メッセージ認証専用回路にオフロードされる手法もある。暗復号処理のオフロードについては、プロトコルを処理するマイクロプロセッサ100の専用コプロセッサとして設置する方式が一般的である(例えば特許文献2、及び非特許文献1参照)。
【0007】
その一例を図6に示す。図6において、100はマイクロプロセッサ、101は第1のデータバッファ101Bを介してバス103に接続されたネットワークインターフェイス、102はバス103に第2のデータバッファ102Bおよび制御レジスタ102Cを介して接続された暗復号・メッセージ認証専用回路(IPsecアクセラレータ)、105はネットワークである。
【0008】
パケットデータの送信の場合、マイクロプロセッサ100はバス103を介して第2のデータバッファ102Bに送信パケットデータを格納し、マイクロプロセッサ100から制御レジスタ102Cに設定した条件に基づいて暗復号・メッセージ認証専用回路102で送信パケットデータに対する暗号とメッセージ認証の処理を行わせ、次いで、第2のデータバッファ102Bからマイクロプロセッサ100にバス103を介してデータ転送し、マイクロプロセッサ100でしかるべきヘッダ処理を行った後に、第1のバス103を介して送信パケットデータをデータバッファ101Bに格納し、されにネットワークインターフェイス101を介してネットワーク105へ送信パケットデータを送出する。
【0009】
パケットデータの受信の場合、ネットワーク105からネットワークインターフェイス101を介して第1のデータバッファ101Bに受け取った受信パケットデータをマイクロプロセッサ100に渡し、ヘッダ情報から復号とメッセージ認証の情報を解析し、第1のデータバッファ101Bの受信パケットデータをバス103を介して第2のデータバッファ102Bにデータ転送し、必要な条件を制御レジスタ102Cに設定し、暗復号・メッセージ認証専用回路102で復号とメッセージ認証の処理を行わせ、処理後の復号データをバス103を介してマイクロプロセッサ100に渡し、マイクロプロセッサ100で上位プロトコルの処理を行う。
【0010】
上記のような暗復号・メッセージ認証専用回路(IPsecアクセラレータ)102を備えた従来のパケット処理装置によれば、暗号処理と認証計算処理が高速化される。
【0011】
【特許文献1】
特開2002−305517号公報
【特許文献2】
特開2002−526822号公報
【非特許文献1】
Motolora MCP164 Fact Sheet
http://e−www.motolora.com/brdata/PDFDB/docs/MPC184FACT.pdf
【0012】
【発明が解決しようとする課題】
しかしながら、従来技術の場合、暗復号・メッセージ認証専用回路102で処理が終わった後に、処理結果のパケットデータをマイクロプロセッサ100のワークメモリへ転送するとともに、マイクロプロセッサ100からネットワークインターフェイス101へ転送する処理が必要で、バス103の帯域を圧迫してしまうという問題がある。特に、機器の制約上、動作速度の遅い低機能なマイクロプロセッサを使用しなければならない場合(例えば一般家電製品など)には、セキュリティ処理(IPsec)を行った場合に、満足のいく通信速度が得られなくなってしまう。
【0013】
本発明は、このような事情に鑑みて創作したものであり、バス転送レートが低い低機能マイクロプロセッサを用いる場合でも、バス帯域を圧迫することなく、セキュリティ処理を高速化できるパケット処理装置を提供することを目的としている。
【0014】
【課題を解決するための手段】
上記の課題を解決するために、本発明は次のような手段を講じる。
【0015】
第1の解決手段として、本発明は、パケット通信のネットワークに対するネットワークインターフェイスが第1のデータバッファおよびバスを介してマイクロプロセッサに接続され、暗復号・メッセージ認証専用回路が暗復号・メッセージ認証に使用する制御レジスタおよび第2のデータバッファがそれぞれ前記バスを介して前記マイクロプロセッサに接続されたパケット処理装置を前提とする。そして、次のような手段を講じることにより、上記の課題を解決する。すなわち、前記暗復号・メッセージ認証専用回路と前記第2のデータバッファがローカルバスを介して直接に接続され、さらに、前記第1のデータバッファと前記第2のデータバッファの入出力の接続先が前記マイクロプロセッサの指示によって入れ替え可能に構成されている。
【0016】
この構成による作用は次のとおりである。セキュリティ処理した上でネットワークに送出すべきパケットデータが第2のデータバッファに格納され、暗号およびメッセージ認証に必要な各種設定がマイクロプロセッサによって暗復号・メッセージ認証専用回路の制御レジスタに格納される。暗復号・メッセージ認証専用回路は、制御レジスタの設定に基づいてローカルバスを介して第2のデータバッファから送信パケットデータを読み込み、暗号およびメッセージ認証の処理を行う。そして、暗号およびメッセージ認証の処理が終了した送信パケットデータをローカルバスを介して第2のデータバッファに戻す。次いで、マイクロプロセッサは、暗号およびメッセージ認証の処理が終了して第2のデータバッファに戻された送信パケットデータに対してヘッダ情報を付加する。さらに、マイクロプロセッサは、第1のデータバッファと第2のデータバッファの入出力の接続先を入れ替える。これで、暗号およびメッセージ認証の処理が終了しヘッダ情報が付加されたセキュリティ処理済みの送信パケットデータは第1のデータバッファに格納された状態となる。そして、第1のデータバッファのセキュリティ処理済みの送信パケットデータをネットワークインターフェイスを介してネットワークに送出する。
【0017】
一方、ネットワークからネットワークインターフェイスを介して受信したパケットデータは、第1のデータバッファに格納され、マイクロプロセッサは第1のデータバッファの受信パケットデータがセキュリティ処理を施されたものか否かを検査し、そうであれば、マイクロプロセッサは、第1のデータバッファと第2のデータバッファの入出力の接続先を入れ替える。これで、セキュリティ処理が施された受信パケットデータは第2のデータバッファに格納された状態となる。また、復号およびメッセージ認証に必要な各種設定がマイクロプロセッサによって暗復号・メッセージ認証専用回路の制御レジスタに格納される。暗復号・メッセージ認証専用回路は、制御レジスタの設定に基づいてローカルバスを介して第2のデータバッファから受信パケットデータを読み込み、復号およびメッセージ認証の処理を行う。そして、復号およびメッセージ認証の処理が終了した受信パケットデータをローカルバスを介して第2のデータバッファに戻す。次いで、マイクロプロセッサは、復号およびメッセージ認証の処理が終了して第2のデータバッファに戻された受信パケットデータに対して上位プロトコルの処理を行う。
【0018】
この発明によれば、暗復号・メッセージ認証専用回路と第2のデータバッファがローカルバスを介して直接に接続され、かつ、ネットワークインターフェイスに関連する第1のデータバッファと暗復号・メッセージ認証専用回路に関連する第2のデータバッファの入出力の接続先を入れ替え可能としてあるので、従来、必要としていたバスを介してのデータ転送を不要化することができる。したがって、バスの帯域を圧迫することなく、セキュリティ処理を施したパケットデータの高速な送受信が可能となる。
【0019】
第2の解決手段として、本発明は、パケット通信のネットワークに対するネットワークインターフェイスがバッファメモリおよびバスを介してマイクロプロセッサに接続され、暗復号・メッセージ認証専用回路が暗復号・メッセージ認証に使用する制御レジスタが前記バスを介して前記マイクロプロセッサに接続されたパケット処理装置を前提とする。そして、次のような手段を講じることにより、上記の課題を解決する。すなわち、前記マイクロプロセッサは、前記バッファメモリを、通信に必要な容量に応じて、ネットワークインターフェイス用の第1のアクセス領域と暗復号・メッセージ認証専用回路用の第2のアクセス領域とに分割するように構成され、前記暗復号・メッセージ認証専用回路と前記バッファメモリにおける前記第2のアクセス領域がローカルバスを介して直接に接続され、前記第1のアクセス領域と前記第2のアクセス領域の入出力の接続先が前記マイクロプロセッサの指示によって入れ替え可能に構成されている。
【0020】
この構成による作用は次のとおりである。パケットデータに対してセキュリティ処理を施した上でネットワークに送出するとき、マイクロプロセッサは、そのときの通信に必要な容量(最大通信パケット数)に応じてバッファメモリを第1のアクセス領域と第2のアクセス領域とに分割する。そして、ネットワークに送出すべきパケットデータが第2のアクセス領域に格納され、暗号およびメッセージ認証に必要な各種設定がマイクロプロセッサによって暗復号・メッセージ認証専用回路の制御レジスタに格納される。暗復号・メッセージ認証専用回路は、制御レジスタの設定に基づいてローカルバスを介して第2のアクセス領域から送信パケットデータを読み込み、暗号およびメッセージ認証の処理を行う。そして、暗号およびメッセージ認証の処理が終了した送信パケットデータをローカルバスを介して第2のアクセス領域に戻す。次いで、マイクロプロセッサは、暗号およびメッセージ認証の処理が終了して第2のアクセス領域に戻された送信パケットデータに対してヘッダ情報を付加する。さらに、マイクロプロセッサは、第1のアクセス領域と第2のアクセス領域の入出力の接続先を入れ替える。これで、暗号およびメッセージ認証の処理が終了しヘッダ情報が付加されたセキュリティ処理済みの送信パケットデータは第1のアクセス領域に格納された状態となる。そして、第1のアクセス領域のセキュリティ処理済みの送信パケットデータをネットワークインターフェイスを介してネットワークに送出する。
【0021】
一方、ネットワークからネットワークインターフェイスを介して受信したパケットデータは、第1のアクセス領域に格納され、マイクロプロセッサは第1のアクセス領域の受信パケットデータがセキュリティ処理を施されたものか否かを検査し、そうであれば、マイクロプロセッサは、第1のデータバッファと第2のデータバッファの入出力の接続先を入れ替える。これで、セキュリティ処理が施された受信パケットデータは第2のアクセス領域に格納された状態となる。また、復号およびメッセージ認証に必要な各種設定がマイクロプロセッサによって暗復号・メッセージ認証専用回路の制御レジスタに格納される。暗復号・メッセージ認証専用回路は、制御レジスタの設定に基づいてローカルバスを介して第2のアクセス領域から受信パケットデータを読み込み、復号およびメッセージ認証の処理を行う。そして、復号およびメッセージ認証の処理が終了した受信パケットデータをローカルバスを介して第2のアクセス領域に戻す。次いで、マイクロプロセッサは、復号およびメッセージ認証の処理が終了して第2のアクセス領域に戻された受信パケットデータに対して上位プロトコルの処理を行う。
【0022】
この発明によれば、暗復号・メッセージ認証専用回路とバッファメモリにおける第2のアクセス領域がローカルバスを介して直接に接続され、かつ、ネットワークインターフェイスに関連する第1のアクセス領域と暗復号・メッセージ認証専用回路に関連する第2のアクセス領域の入出力の接続先を入れ替え可能としてあるので、従来、必要としていたバスを介してのデータ転送を不要化することができる。したがって、バスの帯域を圧迫することなく、セキュリティ処理を施したパケットデータの高速な送受信が可能となる。
【0023】
さらに、マイクロプロセッサが通信状況に応じた分割容量比において、バッファメモリをネットワークインターフェイス用の第1のアクセス領域と暗復号・メッセージ認証専用回路用の第2のアクセス領域とに領域分割するように構成してあるので、通信状況に応じて使用容量を変更することが可能となり、各種プロトコルに対応できる。すなわち、各種プロトコルのパケットデータサイズに依存することなく、かつバス負荷を増加させることなく、セキュリティ処理を高速に行うことができる。
【0024】
第3の解決手段として、本発明によるパケット処理装置は、上記第1の解決手段において、前記第1のデータバッファに格納されるパケットデータのヘッダ情報があらかじめ設定した特定通信相手検出用の比較基準ヘッダ情報と一致するか否かを検査し、前記暗復号・メッセージ認証専用回路に通知するヘッダ情報検査回路を備え、前記暗復号・メッセージ認証専用回路は、特定通信相手に対してのみ使用する暗復号鍵とメッセージ認証鍵を有し、暗復号・メッセージ認証専用回路は、前記ヘッダ情報検査回路による検査結果が一致のときに前記暗復号鍵とメッセージ認証鍵を使用してセキュリティ処理を行うように構成されている。
【0025】
この構成による作用は次のとおりである。第1のデータバッファに格納されたパケットデータが特定通信相手のものか否かを検査し、特定通信相手のものであるときに行うセキュリティ処理は、マイクロプロセッサから設定された暗復号鍵とメッセージ認証鍵で行うのではなく、あらかじめ保有している暗復号鍵とメッセージ認証鍵に基づいてセキュリティ処理を行うので、マイクロプロセッサにおける割り込み負荷をさらに軽減することができ、特定通信相手とのパケットデータ交換の処理速度をさらに高速化することができる。
【0026】
【発明の実施の形態】
以下、本発明にかかわるパケット処理装置の実施の形態を図面に基づいて説明する。
【0027】
(実施の形態1)
図1は本発明の実施の形態1におけるパケット処理装置の構成を示すブロック図である。
【0028】
図1において、100はマイクロプロセッサ、101はネットワークインターフェイス、102はIPsecアクセラレータなどで構成される暗復号・メッセージ認証専用回路、101Bはネットワークインターフェイス101用のデータバッファである第1のデータバッファ、102Bは暗復号・メッセージ認証専用回路102用のデータバッファである第2のデータバッファ、102Cは暗復号・メッセージ認証専用回路102における制御レジスタ、103はバス、104は暗復号・メッセージ認証専用回路102と第2のデータバッファ102Bを直接に接続するローカルバス、105はネットワークである。マイクロプロセッサ100、第1のデータバッファ101B、第2のデータバッファ102Bおよび制御レジスタ102Cはバス103を介して互いに接続されている。このバス103については、マイクロプロセッサ100に固有のバスの他、PCI(Peripheral Component Interconnect)などの規格に則ったバスであっても構わない。
【0029】
暗復号・メッセージ認証専用回路102は、第2のデータバッファ102Bに格納されたパケットデータをローカルバス104を介して取り込み、暗復号計算、ハッシュ計算を行い、その結果をローカルバス104を介して第2のデータバッファ102Bに書き戻すように構成されている。この場合に、マイクロプロセッサ100は、暗復号・メッセージ認証専用回路102が暗復号とハッシュ計算を行う上で利用するデータ領域、使用する暗復号鍵・メッセージ認証鍵、結果を格納する場所などについて、個別に制御レジスタ102Cに設定する。
【0030】
ネットワークインターフェイス101は、第1のデータバッファ101Bから送信用のパケットデータを受け取り、ネットワーク105に送出する一方、ネットワーク105から受信したパケットデータを第1のデータバッファ101Bに送出するように構成されている。第1のデータバッファ101Bには、送信用のデータバッファと受信用のデータバッファとが並設されている。
【0031】
第1のデータバッファ101Bと第2のデータバッファ102Bとは、マイクロプロセッサ100からの設定によって、その入出力の接続先を論理的に入れ替えることができるように構成されている。なお、物理的な入れ替えの方法としては、セレクタによる方式や、スイッチなどの方式が考えられる。
【0032】
次に、上記のように構成された実施の形態1のパケット処理装置におけるセキュリティパケット送受信の動作を説明する。
【0033】
まず、送信の場合の動作について説明する。
【0034】
セキュリティ処理(IPsec)を行わないでパケット送信を行う場合、マイクロプロセッサ100は、IP層の処理を終えた送信パケットデータを第1のデータバッファ101Bに送出し、さらに、ネットワークインターフェイス101はネットワーク105に対してパケット送信を行う。受信の場合は、逆の処理を行う。
【0035】
一方、セキュリティ処理(IPsec)を行った上でパケット送信を行う場合、マイクロプロセッサ100は、IP層の処理を終えた送信パケットデータを第2のデータバッファ102Bへ格納するとともに、暗復号・メッセージ認証専用回路102の制御レジスタ102Cに、暗号計算、ハッシュ計算を行うデータ領域、使用する暗復号鍵・メッセージ認証鍵、計算対象とするデータ領域、計算結果を格納するバッファ領域などを設定する。暗復号・メッセージ認証専用回路102は、制御レジスタ102Cにおける設定に基づいて、ローカルバス104を介して第2のデータバッファ102Bの送信パケットデータに対するセキュリティ処理(暗号・メッセージ認証)を行う。暗復号・メッセージ認証専用回路102がセキュリティ処理を実行している最中は、マイクロプロセッサ100からのアクセスを禁止するように第2のデータバッファ102Bを設定する。暗復号・メッセージ認証専用回路102は、セキュリティ処理を終了すると、制御レジスタ102Cの設定に従って、処理結果の送信パケットデータをローカルバス104を介して第2のデータバッファ102Bに書き戻す。
【0036】
セキュリティ処理が終了すると、マイクロプロセッサ100は、第2のデータバッファ102Bに戻された送信パケットデータに対して必要なヘッダ情報の付加を行う。
【0037】
図2にデータの変化の様子を示す。ここでは、暗号処理にESP(Encapsulation Security Payload)を使用し、メッセージ認証にAH(Authentication Header)を使用している例を示す。
【0038】
図2(a)は、第2のデータバッファ102Bに設定されるデータの様子を示す。図2(b)は、暗復号・メッセージ認証専用回路102が処理を行った後のデータの様子を示す。ダミーヘッダと初期ベクトルIVは暗号化されず、そのまま保存される。メッセージ認証値ICVが新たにバッファ内に現れる。
【0039】
図2(c)は、図2(b)のデータを基にしてヘッダ処理を終えたデータの様子を示す。ICV値はAHヘッダの中に埋め込まれ、ESPヘッダが送信用のものに置き換わり、さらにIPヘッダが付属している。この図2(c)に示すデータがネットワークインターフェイス101に引き渡せる状態のデータ形式である。
【0040】
以上の処理が終了し、ネットワークインターフェイス101が処理している送受信データが無くなったところで、マイクロプロセッサ100によって第1のデータバッファ101Bと第2のデータバッファ102Bの入出力の接続先を論理的に入れ替える。このとき、データバッファの外部回路であるマイクロプロセッサ100、ネットワークインターフェイス101、暗復号・メッセージ認証専用回路102から見える接続関係は、データの内容のみが入れ替わったものとなる。
【0041】
入出力の接続先を入れ替えた後は、第1のデータバッファ101Bには送信パケットデータが格納された状態となり、この送信パケットデータをネットワークインターフェイス101を介して順序にネットワーク105に送出する。
【0042】
次に、受信の場合の動作について説明する。
【0043】
ネットワーク105からネットワークインターフェイス101を介して受信したパケットデータを第1のデータバッファ101Bへ格納し、マイクロプロセッサ100がその受信パケットデータのヘッダ情報からセキュリティ処理(IPsec)を行う必要があるか否かを判断する。セキュリティ処理を行わない場合は、マイクロプロセッサ100は、第1のデータバッファ101Bの受信パケットデータをワークメモリへ転送し、さらに、上位プロトコルの処理を行う。
【0044】
セキュリティ処理を行う場合は、第1のデータバッファ101Bと第2のデータバッファ102Bの入出力の接続先を論理的に入れ替える。これで、受信パケットデータは第2のデータバッファ102Bに格納された状態となる。そして、マイクロプロセッサ100から復号およびメッセージ認証に必要な各種設定が暗復号・メッセージ認証専用回路102の制御レジスタ102Cに格納される。暗復号・メッセージ認証専用回路102は、制御レジスタ102Cの設定に基づいてローカルバス104を介して第2のデータバッファ102Bから受信パケットデータを読み込み、復号およびメッセージ認証の処理を行う。そして、復号およびメッセージ認証の処理が終了した受信パケットデータをローカルバス104を介して第2のデータバッファ102Bに戻す。次いで、マイクロプロセッサ100は、復号およびメッセージ認証の処理が終了して第2のデータバッファ102Bに戻された受信パケットデータに対して上位プロトコルの処理を行う。
【0045】
従来技術では、暗復号・メッセージ認証専用回路の処理が終わった後に、第2のデータバッファからマイクロプロセッサのワークメモリに対するデータ転送と、マイクロプロセッサから第1のデータバッファに対するデータ転送の処理が必要であった。これに対して、本実施の形態によれば、それらの処理を省略することが可能となっており、バス103の帯域の圧迫を抑制することができる。
【0046】
(実施の形態2)
図3は本発明の実施の形態2におけるパケット処理装置の構成を示すブロック図である。
【0047】
図3において、実施の形態1の図1におけるのと同じ符号は同一構成要素を指しているので、詳しい説明は省略する。実施の形態1の場合の第1のデータバッファ101Bおよび第2のデータバッファ102Bに代えて、バッファメモリ200とそのアクセス制御回路201が設けられている。バッファメモリ200およびアクセス制御回路201はバス103に接続されている。ネットワークインターフェイス101と暗復号・メッセージ認証専用回路102はバッファメモリ200に接続されており、バッファメモリ200は、ネットワークインターフェイス101と暗復号・メッセージ認証専用回路102の共通バッファメモリとして使用される。
【0048】
バッファメモリ200は、マイクロプロセッサ100、ネットワークインターフェイス101、暗復号・メッセージ認証専用回路102からアクセスを受けることになる。バッファメモリ200は、マイクロプロセッサ100からの指示により通信状況に応じた分割容量比において、ネットワークインターフェイス101用の第1のアクセス領域200aと暗復号・メッセージ認証専用回路102用の第2のアクセス領域200bとに領域分割されるように構成されている。すなわち、セキュリティ処理を施さずにパケットデータをネットワーク105へ送出する場合には、第1のアクセス領域200aに通信必要容量である最大通信パケット数を確保するように領域分割し、一方、セキュリティ処理を施した上でネットワーク105へ送出する場合には、第2のアクセス領域200bに通信必要容量である最大通信パケット数を確保するように領域分割する。ただし、マイクロプロセッサ100はバッファメモリ200の全エリアにアクセス可能である。
【0049】
例として、図4に、バッファメモリ200が4Kバイトの領域を持っている場合に、ネットワークインターフェイス101用の第1のアクセス領域200aに2Kバイトが確保され、暗復号・メッセージ認証専用回路102用の第2のアクセス領域200bにも2Kバイトが確保された状態を示す。このように、通信状況に応じてバッファメモリ200の分割容量比をフレキシブルに変更するように構成している。なお、ここでは、メモリアドレスはメモリの独自アドレスであり、バイト単位で表示してある。
【0050】
バッファメモリ200に対しては複数のアクセスが同時に要求されることがある。これに対応するには、2ポートメモリやシングルポートメモリに優先順位付けによるアクセス制御、一定時間におけるアクセスタイミングのシェアなどの方式を採る必要がある。本実施形態では、アクセス制御回路201によってシングルポートメモリの優先順位付けを行っている。
【0051】
また、アクセス制御回路201は、ネットワークインターフェイス101と暗復号・メッセージ認証専用回路102のアドレスをメモリアドレスに変換するアドレス変換回路を内蔵し、マイクロプロセッサ100の設定によって変換アドレスを変更できるように構成されている。
【0052】
次に、上記のように構成された実施の形態2のパケット処理装置におけるセキュリティパケット送受信の動作を説明する。
【0053】
まず、送信の場合の動作について説明する。
【0054】
マイクロプロセッサ100は、パケット交換を行う相手に対して最大通信パケット数を設定し、それを基にしてバッファメモリ200の境界を設定し、第1のアクセス領域200aと第2のアクセス領域200bとに領域分割する。これにより、通信状況に応じた分割容量比においてフレキシブルな対応としている。
【0055】
セキュリティ処理(IPsec)を行わずにネットワーク105に送出する場合、マイクロプロセッサ100は、第1のアクセス領域200aに送信パケットデータを送出する。第1のアクセス領域200aに格納された送信パケットデータはネットワークインターフェイス101に転送され、ネットワーク105へ送出される。
【0056】
セキュリティ処理(IPsec)を行う場合には、マイクロプロセッサ100は、バッファメモリ200における第2のアクセス領域200bへ送信パケットデータを格納するとともに、暗復号・メッセージ認証専用回路102の制御レジスタ102Cに、暗号計算、ハッシュ計算を行うデータ領域、使用する暗復号鍵・メッセージ認証鍵、計算対象とするデータ領域、計算結果を格納するバッファ領域などを設定する。暗復号・メッセージ認証専用回路102は、制御レジスタ102Cにおける設定に基づいて、ローカルバス104を介して第2のアクセス領域200bの送信パケットデータに対するセキュリティ処理(暗号・メッセージ認証)を行う。暗復号・メッセージ認証専用回路102がセキュリティ処理を実行している最中は、マイクロプロセッサ100からのアクセスを禁止するように第2のアクセス領域200bを設定する。暗復号・メッセージ認証専用回路102は、セキュリティ処理を終了すると、制御レジスタ102Cの設定に従って、処理結果の送信パケットデータをローカルバス104を介して第2のアクセス領域200bに書き戻す。
【0057】
セキュリティ処理が終了すると、マイクロプロセッサ100は、第2のアクセス領域200bに戻された送信パケットデータに対して必要なヘッダ情報の付加を行う。
【0058】
ネットワークインターフェイス101が処理している送受信データが無くなったところで、マイクロプロセッサ100は、第1のアクセス領域200aと第2のアクセス領域200bの入出力の接続先を論理的に入れ替える。この入れ替えによっても、マイクロプロセッサ100がアクセスするアドレス空間、ネットワークインターフェイス101が参照するバッファメモリ200のアドレス空間、暗復号・メッセージ認証専用回路102が参照する第2のアクセス領域200bのアドレス空間は変化しない。
【0059】
入出力の接続先を入れ替えた後は、第1のアクセス領域200aには送信パケットデータが格納された状態となり、この送信パケットデータをネットワークインターフェイス101を介して順序にネットワーク105に送出する。
【0060】
次に、受信の場合の動作について説明する。
【0061】
ネットワーク105からネットワークインターフェイス101を介して受信したパケットデータをバッファメモリ200の第1のアクセス領域200aへ格納し、マイクロプロセッサ100がその受信パケットデータのヘッダ情報からセキュリティ処理(IPsec)を行う必要があるか否かを判断する。セキュリティ処理を行わない場合は、マイクロプロセッサ100は、第1のアクセス領域200aの受信パケットデータをワークメモリへ転送し、さらに、上位プロトコルの処理を行う。
【0062】
セキュリティ処理を行う場合は、バッファメモリ200において、第1のアクセス領域200aと第2のアクセス領域200bの入出力の接続先を論理的に入れ替える。これで、受信パケットデータは第2のアクセス領域200bに格納された状態となる。そして、マイクロプロセッサ100から復号およびメッセージ認証に必要な各種設定が暗復号・メッセージ認証専用回路102の制御レジスタ102Cに格納される。暗復号・メッセージ認証専用回路102は、制御レジスタ102Cの設定に基づいてローカルバス104を介して第2のアクセス領域200bから受信パケットデータを読み込み、復号およびメッセージ認証の処理を行う。そして、復号およびメッセージ認証の処理が終了した受信パケットデータをローカルバス104を介して第2のアクセス領域200bに戻す。次いで、マイクロプロセッサ100は、復号およびメッセージ認証の処理が終了して第2のアクセス領域200bに戻された受信パケットデータに対して上位プロトコルの処理を行う。
【0063】
上記の実施の形態1では、第1のデータバッファ101B、第2のデータバッファ102Bともにバッファ容量は最大分用意する必要がある。これに対して本実施の形態では、例えばセキュリティ処理を使用しない通信相手とセキュリティ処理を行う通信相手との相違に応じて、アクセス領域を柔軟に変化させることが可能で、バッファメモリ200の容量を削減する上で貢献する。また、各種プロトコル(例えばIPv4とIPv6など)が混在するネットワーク105の環境において、柔軟に対応することができるセキュリティ処理システムを実現できる。
【0064】
(実施の形態3)
図5は本発明の実施の形態3におけるパケット処理装置の構成を示すブロック図である。
【0065】
図5において、実施の形態1の図1におけるのと同じ符号は同一構成要素を指しているので、詳しい説明は省略する。新たな構成要素としての300は、第1のデータバッファ101Bに格納されているパケットのヘッダ情報を解析するヘッダ情報検査回路であり、このヘッダ情報検査回路300は、特定の通信相手を検出するための比較基準のヘッダ情報を格納するレジスタを有し、第1のデータバッファ101Bに格納されたパケットデータにおけるヘッダ情報と前記比較基準のヘッダ情報とを比較し、一致するときには特定の通信相手であると判断して暗復号・メッセージ認証専用回路102に通知し、セキュリティ処理(IPsec)を行うように構成されている。この場合、ヘッダ情報検査回路300は、第1のデータバッファ101Bと第2のデータバッファ102Bの入出力の接続先を論理的に入れ替え、パケットデータが暗復号・メッセージ認証専用回路102からアクセスされる状態とする。また、ヘッダ情報検査回路300は、暗復号対象データ領域と認証対応データ領域を自由に設定して、暗復号・メッセージ認証専用回路102にパケットデータを送るように構成されている。また、ヘッダ情報検査回路300は、様々な通信プロトコルに対応できるものとなっている。
【0066】
暗復号・メッセージ認証専用回路102は、特定の通信相手に対応するSA情報を格納しておくSA情報格納レジスタを有している。暗復号・メッセージ認証専用回路102は、ヘッダ情報検査回路300から特定の通信相手であることを検出したことの通知を受けたときは、SA情報格納レジスタに格納しているSA情報に基づいて暗復号、メッセージ認証のセキュリティ処理を行うように構成されている。この場合、マイクロプロセッサ100からはSA情報を転送することはない。
【0067】
また、暗復号・メッセージ認証専用回路102は、実施の形態1と同様に、マイクロプロセッサ100からの指示によって動作する場合には、その制御レジスタ102Cにマイクロプロセッサ100からSA情報が設定されるが、設定されたSA情報を利用して暗復号、メッセージ認証のセキュリティ処理を行う。この場合、前述したSA情報格納レジスタの値は保存されたままである。
【0068】
また、暗復号・メッセージ認証専用回路102のメッセージ認証においては、特定の箇所を“0”に置き換える必要がある。この箇所のデータを暗復号・メッセージ認証専用回路102に取り込む際には、書き換える位置を設定するレジスタから情報を受け取り、“0”に置き換えて処理を行う。
【0069】
次に、上記のように構成された実施の形態3のパケット処理装置におけるセキュリティパケット送受信の動作を説明する。
【0070】
まず、送信の場合の動作について説明する。
【0071】
送信の場合の動作については、実施の形態1の場合と同じ動作を基本とする。ヘッダ情報検査回路300は、第1のデータバッファ101Bに格納された送信パケットデータのヘッダ情報を、特定通信相手検出用の比較基準ヘッダ情報と照合し、不一致の場合は、そのままネットワークインターフェイス101を介してネットワーク105に送信パケットデータを送出する。
【0072】
一方、ヘッダ情報検査回路300での照合の結果、一致するときは、自動的にセキュリティ処理(IPsec)を選択し、第1のデータバッファ101Bと第2のデータバッファ102Bの入出力の接続先を論理的に入れ替える。暗復号・メッセージ認証専用回路102は、SA情報格納レジスタに格納しているSA情報に基づいて、第2のデータバッファ102Bの送信パケットデータに対するセキュリティ処理を行う。この場合、マイクロプロセッサ100からは暗復号・メッセージ認証専用回路102にSA情報を転送する必要はない。暗復号・メッセージ認証専用回路102は、セキュリティ処理を終了すると、処理結果の送信パケットデータをローカルバス104を介して第2のデータバッファ102Bに書き戻す。さらに、第2のデータバッファ102Bと第1のデータバッファ101Bの入出力の接続先を論理的に入れ替え、ネットワークインターフェイス101からネットワーク105へ送信パケットデータを送出する。
【0073】
次に、受信の場合の動作について説明する。
【0074】
ネットワーク105からネットワークインターフェイス101を介して受信したパケットデータは第1のデータバッファ101Bに格納される。ヘッダ情報検査回路300は、第1のデータバッファ101Bに格納された受信パケットデータのヘッダ情報を、レジスタに設定されている特定通信相手検出用の比較基準ヘッダ情報と照合する。照合の結果、一致を示す場合には、セキュリティ処理(IPsec)を行うべく、第1のデータバッファ101Bと第2のデータバッファ102Bの入出力の接続先を論理的に入れ替える。これで、受信パケットデータは第2のデータバッファ102Bに格納された状態となる。暗復号・メッセージ認証専用回路102は、あらかじめ格納している特定通信相手のSA情報の設定に基づいてローカルバス104を介して第2のデータバッファ102Bから受信パケットデータを読み込み、復号およびメッセージ認証の処理を行う。そして、復号およびメッセージ認証の処理が終了した受信パケットデータをローカルバス104を介して第2のデータバッファ102Bに戻す。次いで、マイクロプロセッサ100は、復号およびメッセージ認証の処理が終了して第2のデータバッファ102Bに戻された受信パケットデータに対して上位プロトコルの処理を行う。
【0075】
ヘッダ情報検査回路300は、一致しない場合にはマイクロプロセッサ100へ通知する。マイクロプロセッサ100は、2次的な判断として、第1のデータバッファ101Bに格納されている受信パケットデータがセキュリティ処理(IPsec)を必要とするデータか否かを判断する。セキュリティ処理を行うべきデータである場合は、マイクロプロセッサ100が第1のデータバッファ101Bと第2のデータバッファ102Bの入出力の接続先を論理的に入れ替え、必要なSA情報を暗復号・メッセージ認証専用回路102の制御レジスタ102Cに転送し、次いで暗復号・メッセージ認証専用回路102による処理が行われる。
【0076】
マイクロプロセッサ100による2次的な判断で、第1のデータバッファ101Bに格納されている受信パケットデータがセキュリティ処理を必要としないデータである場合には、第1のデータバッファ101Bの受信パケットデータをマイクロプロセッサ100のワークメモリに転送し、上位プロトコルの処理を実行する。
【0077】
以上により、ヘッダ情報検査回路300によって、特定の通信相手からの受信の場合には、マイクロプロセッサ100への割り込み通知を省くことが可能となり、その結果、セキュリティ処理(IPsec)の高速化を図ることができる。これは、例えばIPQoSなどを利用する場合に有効である。
【0078】
なお、上記の実施の形態においては、検出すべきヘッダ情報を1つとしたが、複数の特定の通信相手を検出する場合にも適用可能であり、その場合には、暗復号・メッセージ認証専用回路102では特定通信相手のSA情報として同じ数だけもつようにする。
【0079】
また、本実施の形態ではヘッダ情報の処理をメッセージ認証の計算に適するようにマイクロプロセッサが設定し、メッセージ認証値を計算した後に、マイクロプロセッサが正規のヘッダ情報を入力することとしているが、メッセージ認証値の計算を行う回路で、自動的にヘッダ情報を置き換えることができる回路を付加することもできる。
【0080】
【発明の効果】
以上のように本発明によれば、暗復号・メッセージ認証専用回路と第2のデータバッファがローカルバスを介して直接に接続され、かつ、ネットワークインターフェイスに関連する第1のデータバッファと暗復号・メッセージ認証専用回路に関連する第2のデータバッファの入出力の接続先を入れ替え可能としてあるので、従来、必要としていたバスを介してのデータ転送を不要化することができ、バスの帯域を圧迫することなく、セキュリティ処理を施したパケットデータの送受信を高速化することができる。
【0081】
また、通信状況に応じた分割容量比において、バッファメモリをネットワークインターフェイス用の第1のアクセス領域と暗復号・メッセージ認証専用回路用の第2のアクセス領域とに領域分割するように構成してあるので、通信状況に応じて使用容量を変更することが可能となり、各種プロトコルに対応することができる。すなわち、各種プロトコルのパケットデータサイズに依存することなく、かつバス負荷を増加させることなく、セキュリティ処理を高速に行うことができる。
【0082】
また、パケットデータが特定通信相手のものであるときに行うセキュリティ処理は、マイクロプロセッサから設定された暗復号鍵とメッセージ認証鍵で行うのではなく、あらかじめ保有している暗復号鍵とメッセージ認証鍵に基づいてセキュリティ処理を行うことにより、マイクロプロセッサにおける割り込み負荷をさらに軽減することができ、特定通信相手とのパケットデータ交換の処理速度をさらに高速化することができる。
【0083】
以上のように、本発明によれば、低機能プロセッサを使用した場合においても、高速で柔軟性のあるセキュリティ処理システムを構成でき、低コスト化が図られる。
【図面の簡単な説明】
【図1】本発明の実施の形態1におけるパケット処理装置の構成を示すブロック図
【図2】本発明の実施の形態1におけるパケット処理の流れに沿ってのデータ構成図
【図3】本発明の実施の形態2におけるパケット処理装置の構成を示すブロック図
【図4】本発明の実施の形態2におけるバッファメモリの領域分割の一例を示す図
【図5】本発明の実施の形態3におけるパケット処理装置の構成を示すブロック図
【図6】従来技術におけるパケット処理装置の構成を示すブロック図
【符号の説明】
100 マイクロプロセッサ
101 ネットワークインターフェイス
101B 第1のデータバッファ
102 暗復号・メッセージ認証専用回路(IPsecアクセラレータ)
102B 第2のデータバッファ
102C 制御レジスタ
103 バス
104 ローカルバス
200 バッファメモリ
200a 第1のアクセス領域
200b 第2のアクセス領域
201 アクセス制御回路
300 パケットヘッダ情報検査回路

Claims (3)

  1. パケット通信のネットワークに対するネットワークインターフェイスが第1のデータバッファおよびバスを介してマイクロプロセッサに接続され、暗復号・メッセージ認証専用回路が暗復号・メッセージ認証に使用する制御レジスタおよび第2のデータバッファがそれぞれ前記バスを介して前記マイクロプロセッサに接続されたパケット処理装置であって、
    前記暗復号・メッセージ認証専用回路と前記第2のデータバッファがローカルバスを介して直接に接続され、
    前記第1のデータバッファと前記第2のデータバッファの入出力の接続先が前記マイクロプロセッサの指示によって入れ替え可能に構成されていることを特徴とするパケット処理装置。
  2. パケット通信のネットワークに対するネットワークインターフェイスがバッファメモリおよびバスを介してマイクロプロセッサに接続され、暗復号・メッセージ認証専用回路が暗復号・メッセージ認証に使用する制御レジスタが前記バスを介して前記マイクロプロセッサに接続されたパケット処理装置であって、
    前記マイクロプロセッサは、前記バッファメモリを、通信に必要な容量に応じて、ネットワークインターフェイス用の第1のアクセス領域と暗復号・メッセージ認証専用回路用の第2のアクセス領域とに分割するように構成され、
    前記暗復号・メッセージ認証専用回路と前記バッファメモリにおける前記第2のアクセス領域がローカルバスを介して直接に接続され、
    前記第1のアクセス領域と前記第2のアクセス領域の入出力の接続先が前記マイクロプロセッサの指示によって入れ替え可能に構成されていることを特徴とするパケット処理装置。
  3. 請求項1に記載のパケット処理装置において、
    前記第1のデータバッファに格納されるパケットデータのヘッダ情報があらかじめ設定した特定通信相手検出用の比較基準ヘッダ情報と一致するか否かを検査し、前記暗復号・メッセージ認証専用回路に通知するヘッダ情報検査回路を備え、
    前記暗復号・メッセージ認証専用回路は、特定通信相手に対してのみ使用する暗復号鍵とメッセージ認証鍵を有し、
    暗復号・メッセージ認証専用回路は、前記ヘッダ情報検査回路による検査結果が一致のときに前記暗復号鍵とメッセージ認証鍵を使用してセキュリティ処理を行うように構成されているパケット処理装置。
JP2003119922A 2003-04-24 2003-04-24 パケット処理装置 Pending JP2004328359A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003119922A JP2004328359A (ja) 2003-04-24 2003-04-24 パケット処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003119922A JP2004328359A (ja) 2003-04-24 2003-04-24 パケット処理装置

Publications (1)

Publication Number Publication Date
JP2004328359A true JP2004328359A (ja) 2004-11-18

Family

ID=33499007

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003119922A Pending JP2004328359A (ja) 2003-04-24 2003-04-24 パケット処理装置

Country Status (1)

Country Link
JP (1) JP2004328359A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007166279A (ja) * 2005-12-14 2007-06-28 Nippon Telegr & Teleph Corp <Ntt> IPsec回路及びIPsec処理方法
WO2009022422A1 (ja) * 2007-08-16 2009-02-19 Panasonic Corporation 暗号通信装置
JP2010528343A (ja) * 2006-12-08 2010-08-19 マイクロソフト コーポレーション クローズドシステムにおける無署名コンテンツの実行とアクセスのセキュアリング
JP2010206276A (ja) * 2009-02-27 2010-09-16 Nec Commun Syst Ltd 通信装置およびその処理方法ならびにそのプログラム
JP2012023617A (ja) * 2010-07-15 2012-02-02 Furukawa Electric Co Ltd:The データ中継装置及び暗号化通信方法
JP2012070846A (ja) * 2010-09-28 2012-04-12 Kyoraku Sangyo Kk 遊技機
JP2013078019A (ja) * 2011-09-30 2013-04-25 Lapis Semiconductor Co Ltd 通信装置、受信制御方法及び送信制御方法
WO2018141358A1 (en) * 2017-01-31 2018-08-09 Huawei Technologies Co., Ltd. Processing device, communication device and methods thereof

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007166279A (ja) * 2005-12-14 2007-06-28 Nippon Telegr & Teleph Corp <Ntt> IPsec回路及びIPsec処理方法
JP4647479B2 (ja) * 2005-12-14 2011-03-09 日本電信電話株式会社 IPsec回路及びIPsec処理方法
JP2010528343A (ja) * 2006-12-08 2010-08-19 マイクロソフト コーポレーション クローズドシステムにおける無署名コンテンツの実行とアクセスのセキュアリング
US8875271B2 (en) 2006-12-08 2014-10-28 Microsoft Corporation Executing unsigned content and securing access in a closed system
WO2009022422A1 (ja) * 2007-08-16 2009-02-19 Panasonic Corporation 暗号通信装置
JP2010206276A (ja) * 2009-02-27 2010-09-16 Nec Commun Syst Ltd 通信装置およびその処理方法ならびにそのプログラム
JP2012023617A (ja) * 2010-07-15 2012-02-02 Furukawa Electric Co Ltd:The データ中継装置及び暗号化通信方法
JP2012070846A (ja) * 2010-09-28 2012-04-12 Kyoraku Sangyo Kk 遊技機
JP2013078019A (ja) * 2011-09-30 2013-04-25 Lapis Semiconductor Co Ltd 通信装置、受信制御方法及び送信制御方法
US9071582B2 (en) 2011-09-30 2015-06-30 Lapis Semiconductor Co., Ltd. Communication apparatus, reception control method, and transmission control method
WO2018141358A1 (en) * 2017-01-31 2018-08-09 Huawei Technologies Co., Ltd. Processing device, communication device and methods thereof
US11436375B2 (en) 2017-01-31 2022-09-06 Huawei Technologies Co., Ltd. Processing device for reducing a load on a system bus

Similar Documents

Publication Publication Date Title
EP3701690B1 (en) Method, device, and system for offloading algorithms
US10250571B2 (en) Systems and methods for offloading IPSEC processing to an embedded networking device
US11503004B2 (en) Distributed IPSec gateway
JP3990565B2 (ja) セキュリティ通信パケット処理装置及びその方法
US8468337B2 (en) Secure data transfer over a network
US7685436B2 (en) System and method for a secure I/O interface
US7634650B1 (en) Virtualized shared security engine and creation of a protected zone
US7716730B1 (en) Cryptographic offload using TNICs
US7631182B1 (en) Secure protocol handshake offload using TNICs
AU2005332284B2 (en) Data-mover controller with plural registers for supporting ciphering operations
GB2530851A (en) Encryption key updates in wireless communication systems
US6983382B1 (en) Method and circuit to accelerate secure socket layer (SSL) process
EP1687998B1 (en) Method and apparatus to inline encryption and decryption for a wireless station
US20050198498A1 (en) System and method for performing cryptographic operations on network data
Kim et al. A case for smartnic-accelerated private communication
CN106209401B (zh) 一种传输方法及装置
JP2004328359A (ja) パケット処理装置
US7564976B2 (en) System and method for performing security operations on network data
US20130339727A1 (en) WAN Optimization Without Required User Configuration for WAN Secured VDI Traffic
CN113810397B (zh) 协议数据的处理方法及装置
WO2010023951A1 (ja) セキュア通信装置、セキュア通信方法及びプログラム
US11677727B2 (en) Low-latency MACsec authentication
CN100502348C (zh) 网络安全处理装置及其方法
US7437548B1 (en) Network level protocol negotiation and operation
JP2003069555A (ja) 暗号装置および暗復号処理方法