(57)【要約】【課題】秘匿処理と認証処理とを並列処理するデータ処理装置において、各処理の処理範囲が異なる場合に、重複部分のデータ転送を１回で済ましデータ処理効率を向上させる。【解決手段】処理領域確定部１１４は、秘匿処理範囲と認証処理範囲のそれぞれを確定する位置情報Ｃｓ，Ｃｅ，Ａｓ，Ａｅを個別に設定する。制御部２３０は、処理対象データの全範囲１，２，３をメモリ部１２０から取り込み（Ｓ１２０）、各処理範囲を確定する位置情報Ｃｓ，Ｃｅ，Ａｓ，Ａｅに基づいて、秘匿処理範囲であるブロック１，２のデータを取り出して秘匿処理部２１０に転送するとともに（Ｓ１２２）、認証処理範囲であるブロック２，３のデータを取り出して認証処理部２２０に転送する（Ｓ１２４）。秘匿処理部２１０は、ブロック１，２のデータに対して秘匿処理を施し、認証処理部２２０は、ブロック２，３のデータに対して認証処理を施す。【選択図】図１２
2005148894.tif 000002
【特許請求の範囲】
【請求項１】
取得した処理対象データに対して、暗号化または復号化処理を行なうとともに認証処理を行なうデータ処理方法であって、
同一の前記処理対象データについて、前記暗号化または復号化処理における処理範囲を確定する位置情報と、前記認証処理における処理範囲を確定する位置情報とを生成し、
それぞれの前記位置情報により確定された処理範囲において、前記暗号化または復号化処理、および前記認証処理を行なう
ことを特徴とするデータ処理方法。
【請求項２】
前記暗号化または復号化処理と前記認証処理とを同時並行的に行なう
ことを特徴とする請求項１に記載のデータ処理方法。
【請求項３】
前記処理対象データを所定の条件に基づいて複数の処理対象領域に分割するとともに、分割された各処理対象領域ごとに、前記それぞれの位置情報を個別に設定する
ことを特徴とする請求項１に記載のデータ処理方法。
【請求項４】
前記処理対象データを所定の条件に基づいて複数の処理対象領域に分割するとともに、分割された各処理対象領域ごとに、前記それぞれの位置情報を個別に設定する
ことを特徴とする請求項１に記載のデータ処理方法。
【請求項５】
取得した処理対象データに対して、暗号化または復号化処理を行なうとともに認証処理を行なうデータ処理装置であって、
前記暗号化または復号化処理を行なう秘匿処理部と、
前記認証処理を行なう認証処理部と、
同一の前記処理対象データについて、前記秘匿処理部の処理範囲を確定する位置情報と、前記認証処理部の処理範囲を確定する位置情報とを、それぞれ個別に生成する処理領域確定部と、
前記処理領域確定部により生成されたそれぞれの前記位置情報に基づいて、前記暗号化または復号化処理における処理範囲とされたデータを前記秘匿処理部に転送するとともに、前記認証処理における処理範囲とされたデータを前記認証処理部に転送する制御部と
を備えていることを特徴とするデータ処理装置。
【請求項６】
前記秘匿処理部の処理範囲と、前記認証処理部の処理範囲とが異なるか否かを判定する処理範囲判定部
をさらに備え、
前記処理領域確定部は、前記処理範囲判定部が前記秘匿処理部の処理範囲と前記認証処理部の処理範囲とが異なると判定した場合に、それぞれの前記位置情報を個別に生成する
ことを特徴とする請求項５に記載のデータ処理装置。
【請求項７】
前記制御部は、前記秘匿処理部による前記暗号化または復号化処理と前記認証処理部による前記認証処理とを同時並行的に行なわせる
ことを特徴とする請求項５に記載のデータ処理装置。
【請求項８】
前記制御部は、前記秘匿処理部による前記暗号化または復号化処理と前記認証処理部による前記認証処理とを連続的に行なわせる
ことを特徴とする請求項５に記載のデータ処理装置。
【請求項９】
前記処理領域確定部は、前記処理対象データを所定の条件に基づいて複数の処理対象領域に分割するとともに、分割された各処理対象領域ごとに、前記それぞれの位置情報を個別に生成する
ことを特徴とする請求項５に記載のデータ処理装置。
【請求項１０】
前記制御部は、
取得した前記処理対象データ中の前記暗号化または復号化処理における処理範囲と前記認証処理における処理範囲とを包含する範囲のデータを記憶する記憶部を含み、
前記記憶部に記憶されたデータ中の前記暗号化または復号化処理における処理範囲のデータを前記秘匿処理部に転送するとともに、前記記憶部に記憶したデータ中の前記認証処理範囲のデータを前記認証処理部に転送する
ことを特徴とする請求項５に記載のデータ処理装置。
【請求項１１】
前記秘匿処理部は、前記制御部を介して転送された前記暗号化または復号化処理における処理範囲のデータを記憶する記憶部を含むとともに、
前記認証処理部は、前記制御部を介して転送された前記認証処理における処理範囲のデータを記憶する記憶部を含む
ことを特徴とする請求項５に記載のデータ処理装置。
【請求項１２】
前記制御部は、
前記処理対象データの中で、前記認証処理における処理範囲のみに該当する部分の原データを記憶する記憶部を含み、
前記取得した処理対象データの中で、それぞれの処理回において前記暗号化または復号化処理の処理範囲とされるデータを取り込んで前記秘匿処理部に転送し、
当該秘匿処理部による前記暗号化または復号化処理が完了した後に、前記暗号化または復号化処理が施された処理済みデータと、前記記憶部に保持された前記認証処理における処理範囲のみに該当する部分の原データとを纏めて前記認証処理部に転送する
ことを特徴とする請求項５に記載のデータ処理装置。
【請求項１３】
前記制御部は、
前記秘匿処理部での処理が完了した後の処理済みデータを記憶する記憶部を含み、
前記秘匿処理部による処理が完了した後に処理済みデータを外部の記憶部へ一旦転送し、次回の処理においては、転送された当該処理済みデータにおいて前記認証処理の処理範囲とする部分と次回の前記暗号化または復号化処理の処理範囲とされる原データとを取り込んで、当該認証処理の処理範囲に該当する部分の処理済みデータを前記記憶部に記憶させるとともに、当該原データを前記秘匿処理部に転送し、
さらに前記秘匿処理部での当該処理が完了した後に当該処理済みデータと、前記記憶部に保持された前回の処理における前記認証処理の処理範囲に該当する部分の処理済みデータとを纏めて前記認証処理部に転送する
ことを特徴とする請求項５に記載のデータ処理装置。
【請求項１４】
前記記憶部はさらに、前記処理対象データ中のそれぞれの処理回において取得した前記認証処理の処理範囲のみに該当する部分の原データを記憶し、
前記秘匿処理部での処理が完了した後に当該処理済みデータと、前記記憶部に保持された前記処理済みデータおよび前記原データとを纏めて前記認証処理部に転送する
ことを特徴とする請求項１３に記載のデータ処理装置。
【請求項１５】
前記制御部は、
前記秘匿処理部による処理が完了した後のデータであって、次回の処理における前記認証処理の処理範囲に該当する部分の処理済みデータを記憶する記憶部を含み、
それぞれの処理回において前記暗号化または復号化処理の処理範囲とされる原データを取り込んで前記秘匿処理部に転送し、
当該秘匿処理部での処理が完了した後に当該処理済みデータと、前記記憶部に保持しておいた前記処理済みデータとを纏めて前記認証処理部に転送する
ことを特徴とする請求項５に記載のデータ処理装置。
【請求項１６】
前記記憶部はさらに、前記処理対象データ中のそれぞれの処理回において取得した前記認証処理の処理範囲のみに該当する部分の原データを記憶し、
前記秘匿処理部での処理が完了した後に当該処理済みデータと、前記記憶部に保持された前記処理済みデータおよび前記原データとを纏めて前記認証処理部に転送する
ことを特徴とする請求項１５に記載のデータ処理装置。
【請求項１７】
前記処理対象データを記憶する主記憶部と、
前記処理領域確定部を含み、当該装置の全体の動作を制御する中央処理部と
をさらに備え、
前記秘匿処理部と前記認証処理部、および前記制御部がハードウェア処理回路で構成されており、
前記制御部は、前記処理領域確定部により生成されたそれぞれの前記位置情報に基づいて、前記主記憶部から転送された前記暗号化または復号化処理の処理範囲のデータを前記秘匿処理部に転送するとともに、前記主記憶部から転送された前記認証処理の処理範囲のデータを前記認証処理部に転送する
ことを特徴とする請求項５に記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化処理や復号化処理と認証処理とを行なうデータ処理方法およびデータ処理装置に関する。
【背景技術】
【０００２】
近年、計算機や通信技術の分野では、データを暗号化してデータ配布し、配布されたデータを復号化することで、配布されたデータ内容を得る情報の秘匿技術（機密保護技術）が知られている。たとえば、ネットワークを用いたデータ通信では、データの機密性や完全性を確保するために、暗号化や復号化（纏めて秘匿化ともいう）や、データの改竄に対する保護のためのデータ認証技術が用いられており、送信データを暗号化して送信し、受信データを復号化して受信内容を得るようにしている。また、この秘匿技術と併用して認証を行なう認証技術も知られている。以下、秘匿技術と認証技術とを纏めて、情報セキュリティ技術ともいう。
【０００３】
この種の情報セキュリティ技術では、従来、暗号化処理や復号化処理といった秘匿処理や、認証コードの作成や削除といった認証処理を、ソフトウェアで行なう仕組みが採られていた。このソフトウェアで行なう仕組みは、並列処理や連続処理に柔軟に対処し得るものの、その処理が複雑になるに連れ、処理時間が長くなるため、処理速度の低下が問題となる。
【０００４】
この問題を改善する一手法として、たとえば特許文献１に提案されているように、秘匿処理や認証処理を、ハードウェア処理回路で行なうことで高速化を図ったアクセラレータシステムの仕組みが考えられている。このアクセラレータシステムは、処理が複雑であっても、処理速度の低下を防ぐことができ、高いスループットを得ることができる。
【０００５】
【特許文献１】米国公開特許公報２０００／００７８３４２Ａ１
【０００６】
ここで、アクセラレータシステムでは、ひとつのデータに対してブロック暗号・認証の並列処理を行なう場合に、そのデータを暗号処理部、認証処理部それぞれに並列に転送して処理する。また、ひとつのデータに対してブロック暗号・認証の連続処理を行なう場合、先ずはデータを暗号処理部で処理し、その後、認証処理部に転送する。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来のアクセラレータシステムでは、秘匿処理と認証処理のそれぞれの処理範囲が異なる場合に、必ずしも並列処理や連続処理を効率的に行なうことはできなかった。また、複数のデータ系列を時分割で処理しようとする場合などのように、秘匿処理や認証処理の中断機能を備えている場合において、中断により分割されたそれぞれの処理回において処理範囲が異なる場合にも、並列処理や連続処理を効率的に行なうことはできなかった。
【０００８】
なぜならば、クリプト（暗号）エンジンを用いて秘匿処理や認証処理の並列処理もしくは連続処理を行なう場合には、処理単位をブロック暗号の最小処理単位と認証の最小処理単位の公倍数に設定する必要がある。しかし、秘匿処理や認証処理の処理対象範囲の違い（最小処理単位の違いを含む）から、秘匿処理部から要求される処理データサイズの制約と認証処理部から要求される処理データサイズの制約を同時に満たせない場合がある。この制約を同時に満たすことができない場合には、秘匿処理や認証処理の、並列処理もしくは連続処理を効率的に行なうことは難しくなる。
【０００９】
たとえば、秘匿処理と認証処理とを並列モードで動作させる場合において、それぞれの処理範囲が同一であれば図２５（Ａ）に示すように１回のデータ転送で済むが、それぞれの処理範囲が異なる場合には、一部に共通する部分があっても、図２５（Ｂ）に示すようなケースでは、１回目の転送時には秘匿処理用のデータを秘匿処理部へ転送し、２回目の転送時には認証処理用のデータを認証処理部へ転送しなければならず、その共通部分である重複処理範囲のブロック２，３のデータを２回転送する必要があった。
【００１０】
同様に、秘匿処理と認証処理とを連続モードで動作させる場合において、それぞれの処理範囲が同一であれば図２６（Ａ）に示すように１回のデータ転送で済むが、それぞれの処理範囲が異なる場合には、一部に共通する部分があっても、少なくても、秘匿処理用の最小処理単位と認証処理用の最小処理単位の何れか一方を完全に含みかつ何れかの最小処理単位の公倍数でデータ転送しなければならない。
【００１１】
したがって、図２６（Ｂ）に示すようなケースでは、１回目の転送時には、秘匿処理用のブロック１〜６のデータを秘匿処理部へ転送し、秘匿処理部による処理済みのデータのうち認証処理部で必要なブロック２〜４のデータを認証処理部へ転送し、２回目の転送時には、秘匿処理用のブロック４〜９のデータを秘匿処理部へ転送し、秘匿処理部による処理済みのデータのうち認証処理部で必要なブロック５〜７のデータを認証処理部へ転送しなければならず、その共通部分である重複処理範囲のブロック４，５，６のデータを２回転送する必要があった。
【００１２】
このため、以下の問題が生じる。
１）同一データを重複してメモリからクリプトエンジンへ転送することによるバス帯域の浪費。
２）処理を分割することによって、クリプトエンジンからＣＰＵ（Central Processing Unit ）への処理完了の割込み回数増加。
３）データ転送量の増加や割込み回数の増加によるＣＰＵ処理スピードの低下。
【００１３】
つまり、従来技術で処理範囲が異なる秘匿データもしくは認証データをハードウェアで処理する場合、重複処理範囲を複数回転送する必要があり、データ転送量の増加や割込み回数の増加に伴い、処理スピードの低下を避けることができなかった。
【００１４】
なお、秘匿データや認証データをソフトウェアで処理する場合において、そのソフトウェア処理を行なうシステムがマルチタスクに対応している場合は並列処理や連続処理に柔軟に対応可能であるが、そうでないシステムでは、ハードウェアで処理する場合と同様に、重複処理範囲を複数回転送する必要が生じ、データ転送量の増加や割込み回数の増加に伴う、処理スピードの低下が生じ得る。
【００１５】
本発明は、上記事情に鑑みてなされたものであり、秘匿データや認証データをソフトウェアで処理するのかハードウェアで処理するのかに拘らず、秘匿処理と認証処理の各処理対象範囲に違いがあっても、データ処理速度の低減を防止することのできる仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明に係るデータ処理方法は、取得した処理対象データに対して、暗号化または復号化処理を行なうとともに認証処理を行なうデータ処理方法であって、同一の処理対象データについて、暗号化または復号化処理における処理範囲を確定する位置情報と、認証処理における処理範囲を確定する位置情報とを生成し、それぞれの位置情報により確定された処理範囲において、暗号化または復号化処理、および前記認証処理を行なうこととした。
【００１７】
本発明に係るデータ処理装置は、上記本発明に係るデータ処理方法を実施するのに好適な装置であって、暗号化または復号化処理を行なう秘匿処理部と、認証処理を行なう認証処理部と、同一の処理対象データについて、秘匿処理部の処理範囲を確定する位置情報と、認証処理部の処理範囲を確定する位置情報とを、それぞれ個別に生成する処理領域確定部と、処理領域確定部により生成されたそれぞれの位置情報に基づいて、暗号化または復号化処理における処理範囲とされたデータを秘匿処理部に転送するとともに、認証処理における処理範囲とされたデータを認証処理部に転送する制御部とを備えるものとした。
【００１８】
また従属項に記載された発明は、本発明に係るデータ処理方法や装置のさらなる有利な具体例を規定する。
【００１９】
たとえば、同一の処理対象データに対しての秘匿処理と認証処理との間における関係としては、両者が実質的に同時並行的に処理を行なう態様と、両者が連続的に処理を行なう態様とがある。
【００２０】
また、複数のデータ系列を時分割で処理しようとする場合に、秘匿処理や認証処理の中断機能を備えている場合であってもよい。この場合、この分割したそれぞれの処理回における処理対象領域ごとに、秘匿処理範囲および認証処理範囲を確定する各位置情報を個別に生成し設定する。
【００２１】
また、装置を複数のプロトコルに対応するように構成する場合には、秘匿処理部が処理対象とする秘匿処理範囲と、認証処理部が処理対象とする認証処理範囲とが異なるか否かを判定する処理範囲判定部を備えるのがよい。この場合、処理領域確定部は、秘匿処理部が処理対象とする秘匿処理範囲と認証処理部が処理対象とする認証処理範囲とが異なると処理範囲判定部が判定したことを条件として、それぞれの位置情報を個別に生成し設定する。
【００２２】
また、秘匿処理を行なう秘匿処理部と、認証処理を行なう認証処理部と、データの転送を制御する制御部とは、ハードウェア処理回路で構成されているのがよい。この場合、装置全体としては、処理対象データを記憶する主記憶部と、処理領域確定部を有するとともに、装置の全体の動作を制御する中央処理部とを設け、制御部は、中央処理部の処理領域確定部により設定されたそれぞれの位置情報に基づいて、主記憶部から転送された秘匿処理範囲のデータを秘匿処理部に転送させるともに、主記憶部から転送された認証処理範囲のデータを認証処理部に転送させるのがよい。
【００２３】
なおこの場合、中央処理部に関しては、電子計算機（コンピュータ）を用いてソフトウェアで実現することもでき、このためのプログラムやこのプログラムを格納した記録媒体を発明として抽出することも可能である。プログラムは、コンピュータ読取り可能な記憶媒体に格納されて提供されてもよいし、有線あるいは無線による通信手段を介して配信されてもよい。
【発明の効果】
【００２４】
本発明に依れば、同一の処理対象データについて、秘匿処理範囲と認証処理範囲のそれぞれを確定する位置情報をそれぞれ個別に生成し、この生成した各位置情報に基づいて、秘匿処理と認証処理とを行なうようにしたので、秘匿処理と認証処理のそれぞれの処理範囲が異なる場合であっても、重複領域の転送を１回に押さえつつ各範囲を個別に特定することができる。このため、バス仕様効率の改善、ＣＰＵ割込み回数の低減、あるいはデータ処理速度の向上を図ることができる。
【発明を実施するための最良の形態】
【００２５】
以下、図面を参照して本発明の実施形態について詳細に説明する。
【００２６】
＜装置構成＞
図１は、本発明に係るデータ処理装置の一実施形態を備えたコンピュータ装置の構成を示したブロック図である。
【００２７】
図示するように、コンピュータ装置１は、メインシステム１００と、ハードウェアで構成された処理回路部分であるエンジン部２００と、周辺デバイス３００とを備えて構成されている。
【００２８】
メインシステム１００は、コンピュータ装置１全体の動作制御やそのほかの演算や制御の各処理機能をなすＣＰＵ（Central Processing Unit ）やＭＰＵ（Micro Processing Unit ）などの中央処理部１１０と、不揮発性の記憶部の一例であるＲＯＭ（Read Only Memory）１２２および書換可能な記憶部の一例であり主記憶部（メインメモリ）として機能するＲＡＭ（Random Access Memory）１２４を有するメモリ部１２０とを備えている。
【００２９】
またメインシステム１００は、種々の周辺デバイス３００やイントラネットあるいはインターネットなどの通信網との間のインタフェース（Inter Face）機能をなすインタフェース部１５０と、記録媒体４００からデータを読み出したり書き込んだりするドライブ機能とインタフェース機能とを持つメディアＩＦ部１７０と、各部を互いに接続するアドレスバスおよびデータバスを含む内部バス１８０とを備えている。
【００３０】
処理データや制御データは、内部バス１８０を通じてコンピュータ装置１の各ハードウェア間をやり取りされる。
【００３１】
ＲＯＭ１２２は、内部に、中央処理部１１０のＣＰＵあるいはＭＰＵが各種処理を行なうための制御プログラムが格納されるプログラム記憶領域や、中央処理部１１０が各種処理を行なうために必要とするそのほかのデータ記憶領域を有する。さらに、プログラム記憶領域は、図示されないＢＩＯＳ（Basic Input/Output System ）やＯＳ（Operating Systems ；基本ソフト）やＧＵＩ（Graphical User Interface）処理などのプログラムをも格納している。中央処理部１１０は、ＢＩＯＳやＯＳやＧＵＩ処理を利用しつつ、ＲＯＭ１２２内のプログラムを実行することによって、各種の処理を行なう各部の機能を実現する。
【００３２】
ＲＡＭ１２４は、中央処理部１１０が各種処理を実行する際のワークメモリとして用いられる作業領域であって、外部から取り込んだデータを格納するデータ記憶領域、ディスプレイ部３０２にて画像表示するためあるいはプリンタ部３０６にて印刷出力するためのラスタデータ（ビットマップイメージ）を格納するページバッファ領域、画像処理に供されるビットマップイメージを格納するビットマップ領域、あるいはそのほかの処理対象画像データを格納する領域を含んでいる。
【００３３】
またコンピュータ装置１は、周辺デバイス３００として、ＣＲＴ（Cathode Ray Tube；陰極線管）やＬＣＤ（Liquid Crystal Display；液晶）などの表示デバイスを有するディスプレイ部３０２、コンピュータ装置１を操作するための操作部３０４、処理結果を紙媒体などに印刷出力するためのプリンタ部３０６、画像を取り込むためのスキャナ部３０８、および記憶媒体の一例である外付けのハードディスク装置３１０を有する。
【００３４】
操作部３０４は、ディスプレイ部３０２の表示面上に設けられたタッチパネル３０４ａと、ディスプレイ部３０２の近傍に用意される種々の操作キー（たとえば押圧式のボタン）を持つキーボード３０４ｂや指示デバイスの一例であるマウス３０４ｃなどから構成されている。
【００３５】
またコンピュータ装置１は、インタフェース部１５０として、ディスプレイ部３０２との間のインタフェース機能をなすディスプレイＩＦ（インタフェース）部１５１と、操作部３０４を構成するタッチパネル３０４ａや操作キー３０４ｂあるいはマウス３０４ｃとの間のインタフェース機能をなす入力ＩＦ部１５２と、プリンタ部３０６との間のインタフェース機能をなすプリンタＩＦ部１５４と、スキャナ部３０８との間のインタフェース機能をなすスキャナＩＦ部１５６と、通信網との間のインタフェース機能をなすネットワークＩＦ部（ターミナルアダプタ部）１５８とを備えている。
【００３６】
ディスプレイＩＦ部１５１は、中央処理部１１０による制御に従いつつ、ＲＡＭ１２４内のページバッファに展開されたラスタデータを、ディスプレイ部３０２に渡す。これにより、ディスプレイ部３０２は、取り込んだ画像データに基づくラスタデータを表示するようになる。同様に、プリンタＩＦ部１５４は、中央処理部１１０による制御に従いつつ、ＲＡＭ１２４内のページバッファに展開されたラスタデータを、プリンタ部３０６に渡す。これにより、プリンタ部３０６は、取り込んだ画像データに基づくラスタデータに従って、所定の記録媒体上に画像を印刷出力するようになる。
【００３７】
ネットワークＩＦ部１５８は、ＩＳＤＮやインターネットなどの通信網との間の通信データの受け渡しを仲介する。これにより、たとえばユーザは、コンピュータ装置１を利用して、Ｗｅｂサーバへアクセスして認証処理を経た後、所望の画像データをダウンロードすることで、このダウンロードした画像データに基づく印刷出力を得ることができるようになる。
【００３８】
記録媒体４００は、コンピュータ装置１のハードウェア資源に備えられている読取装置に対して、プログラムの記述内容に応じて、磁気、光、電気などのエネルギの変化状態を引き起こして、および対応する信号の形式で、読取装置にプログラムの記述内容を伝達できるものである。
【００３９】
たとえば、コンピュータ装置１に予め組み込まれた状態でユーザに提供される、プログラムが記録されているＲＯＭ１２２やハードディスク装置１７４、あるいは外付けのハードディスク装置３１０などで構成されてもよい。あるいは、コンピュータ装置１とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている、ＩＣカードやミニチュアカードなどの種々の方式の半導体メモリカードのようなフラッシュメモリなどの不揮発性の半導体メモリを用いた記録メディア４０２、磁気ディスク（フレキシブルディスク（ＦＤ）４０６を含む）、光ディスク（ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory ）、ＤＶＤ（Digital Versatile Disc）を含む）４０８、光磁気ディスク（ＭＤ（Mini Disc ）を含む）などのパッケージメディア（可搬型の記憶媒体）により構成されてもよい。
【００４０】
さらにコンピュータ装置１は、メディアＩＦ部１７０として、記録メディア４０２からデータを読み出すメモリリーダ９７２並びにデータを記録メディア４０２に書き込むメモリライタ１７３を有し、この記録メディア４０２との間のインタフェース機能をなすメモリＩＦ部１７１と、ＦＤ４０６からデータを読み出したりデータをＦＤ４０６に書き込むフレキシブルディスク（ＦＤ）ドライブ１７６、ＣＤ−ＲＯＭなどの光ディスク４０８からデータを読み出したりデータを光ディスク４０８に書き込む光ディスクドライブ１７８を備えている。メモリＩＦ部１７１は、図示しないメディアユニットに挿入された記録メディア４０２からの種々のデータ（たとえば画像データ）をＲＡＭ１２４やハードディスク装置１７４へ格納する。
【００４１】
上記構成によって、コンピュータ装置１は、それぞれ専用のハードウェアによりなされる処理機能を、その機能を実現するプログラムコードに基づきソフトウェア的に実現することができるようになっている。
【００４２】
コンピュータ装置１に組み込まれるソフトウェアとしては、たとえば、スキャナアプリケーション、プリンタアプリケーション、複写アプリケーション、ファクシミリ（ＦＡＸ）アプリケーション、あるいは他のアプリケーション用の処理プログラムなど、パーソナルコンピュータを中核とする一般的なコンピュータシステムにおけるものと同様のものが組み込まれる。また、装置が、スキャナ部３０８で読み取った画像を処理したり、Ｗｅｂサイトへのアクセス要求に対してネットワークＩＦ部１５８を介して外部とのデータを送受信したりするためのアクセス制御処理あるいは認証処理のためのプログラムも組み込まれる。
【００４３】
たとえば、本発明に係るデータ処理を実施するためのハードウェア処理回路を制御する機能部分を、電子計算機（コンピュータ）を用いてソフトウェアで実現するために好適なプログラムあるいはこのプログラムを格納したコンピュータ読取可能な記憶媒体を発明として抽出することもできる。ソフトウェアにより実行させる仕組みとすることで、ハードウェアの変更を伴うことなく、処理手順などを容易に変更できる利点を享受できるようになる。
【００４４】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ（組込マイコンなど）、あるいは、ＣＰＵやＭＰＵ、論理回路、記憶装置などの機能を１つのチップ上に搭載して所望のシステムを実現するＳＯＣ（System On a Chip：システムオンチップ）、または、各種プログラムをインストールすることで各種の機能を実行することが可能な汎用のパーソナルコンピュータなどに、記録媒体４００からインストールされる。または、ソフトウェアを構成するプログラムが、ネットワークＩＦ部１５８および有線あるいは無線などの通信網を介して提供されてもよい。
【００４５】
たとえば、Ｗｅｂサーバへのアクセス制御処理や認証処理を行なう機能を実現するソフトウェアのプログラムコードを記録した記憶媒体４００を、コンピュータ装置１に供給し、コンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、ハードウェアにて構成する場合と同様の効果は達成される。この場合、記録媒体４００から読み出されたプログラムコード自体がアクセス制御処理や認証処理の機能を実現することになる。
【００４６】
また、コンピュータが読み出したプログラムコードを実行することにより、アクセス制御処理や認証処理を行なう機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム；基本ソフト）などが実際の処理の一部または全部を行ない、その処理によってアクセス制御処理を行なう機能が実現される場合であってもよい。
【００４７】
さらに、記録媒体４００から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によって認証処理やアクセス制御処理を行なう機能が実現される場合であってもよい。
【００４８】
なお、認証処理やアクセス制御処理を行なう機能を実現するプログラムコードを記述したファイルとしプログラムが提供されるが、この場合、一括のプログラムファイルとして提供されることに限らず、コンピュータで構成されるシステムのハードウェア構成に応じて、個別のプログラムモジュールとして提供されてもよい。
【００４９】
ここで、本実施形態のコンピュータ装置１においては、種々の制御処理機能や演算処理機能をなす全ての処理をソフトウェアで行なうのではなく、これら機能部分の一部をハードウェアにて行なうための処理回路として、エンジン部２００が設けられている。ハードウェアにて処理を行なうことで、ソフトウェア処理よりも処理の高速化を図ることができる。
【００５０】
具体的には、本実施形態のエンジン部２００は、クリプトエンジン（Crypto Engine ；暗号エンジン）として機能するように構成されており、暗号化処理や復号化処理といった秘匿処理を行なう秘匿処理部２１０と、認証処理を行なう認証処理部２２０と、秘匿処理部２１０用の処理対象データを秘匿処理部２１０に渡すとともに、認証処理部２２０用の処理対象データを認証処理部２２０に渡す制御部２３０とを有している。このクリプトエンジンとして機能するエンジン部２００は、単一のハードウェアデバイスによって構成されるのがよい。
【００５１】
各機能部２１０，２２０，２３０は、それぞれの処理を行なうための図示しない小容量のワークメモリ（レジスタ）を持つ。なお、各ワークメモリは、物理的にも独立して各機能部２１０，２２０，２３０に設けられてもよいし、物理的には単一のものを、領域を区分けして使用するものとしてもよい。
【００５２】
これにより、コンピュータ装置１は、エンジン部２００が、ＣＰＵなどを有する中央処理部１１０と、ＲＯＭ１２２およびＲＡＭ１２４を有するメモリ部１２０とに接続されて構成されることで、本発明に係るデータ処理装置３が構成されるようになっている。データ処理装置３は、内部バス１８０並びにネットワークＩＦ部１５８を介して、イントラネットやインターネットなどの通信網に接続され、他装置との間でデータの送受信を行なう。この際、通信データに対しては、所定のプロトコルに従って、たとえば、ハッシュ処理、共通鍵方式や公開鍵方式を用いた秘匿処理、認証処理、あるいはチェックサム処理などがなされる。
【００５３】
データ処理装置３において、中央処理部１１０は、本実施形態特有の機能部（ソフトウェアで構成される）として、同一の処理データについて、秘匿処理部２１０が処理対象とする秘匿処理範囲（暗号処理範囲や復号処理範囲）と認証処理部２２０が処理対象とする認証処理範囲とが異なるか否かを判定する処理範囲判定部１１２と、秘匿処理範囲および認証処理範囲といった２つの処理範囲が異なると処理範囲判定部１１２が判定したことを条件として、秘匿処理範囲を確定する位置情報と認証処理範囲を確定する位置情報とを、それぞれ個別に設定する処理領域確定部１１４とを有している。
【００５４】
制御部２３０は、それぞれ処理領域確定部１１４により設定された、秘匿処理範囲を確定する位置情報に基づいて、秘匿処理範囲のデータを秘匿処理部２１０に渡すとともに、認証処理範囲を確定する位置情報に基づいて認証処理範囲のデータを認証処理部２２０に渡すことで、秘匿処理部２１０による秘匿処理と認証処理部２２０による認証処理とを、実質的に同時並行的に行なわせる、もしくは連続的に行なわせる。
【００５５】
たとえば、中央制御部１１０の主要部をなすＣＰＵは、予めＲＯＭ１２２やハードディスク装置１７４内に格納されている制御プログラムに基づいて必要なＧＵＩ画面をディスプレイ部３０２に順次表示させるとともに、制御プログラムおよびタッチパネル３０４ａを介して与えられるユーザ入力に基づいて、図示しないクライアント装置やＷｅｂサーバなどにアクセスして、ユーザの希望するコンテンツ（ここでは出力対象画像）をダウンロードし、プリンタ部３０６にて印刷出力させる。
【００５６】
この際、中央処理部１１０のＣＰＵは、そのユーザがアカウントを所持している認証サーバに問い合わせることでユーザ認証を行なってから、そのユーザにコンピュータ装置１の使用を許可し、さらにＷｅｂサーバへのアクセスも制御する。これにより、ユーザは、そのアカウントを利用して、コンピュータ装置１の使用やＷｅｂサーバへのアクセスが可能となる。
【００５７】
次に、本発明に係るデータ処理装置３がなすデータ処理について詳しく説明する。
【００５８】
＜データ処理範囲の制御手法を実現する構成＞
図２〜図４は、データ処理に当たっての処理範囲制御機能を実現するためのシステムアーキテクチャの構成例を示した図である。本実施形態において、データ処理装置３は、秘匿処理の処理対象領域と認証処理の処理対象領域が異なっている場合には、秘匿処理の処理対象領域を確定する位置情報（データの切れ目）と、認証処理の処理対象領域を確定する位置情報（データの切れ目）とを、処理領域確定部１１４により、それぞれ個別に生成して指定するようにしている。
【００５９】
処理対象領域を確定する位置情報（データの切れ目）としては、秘匿処理開始位置、秘匿処理終了位置、認証処理開始位置、および認証処理終了位置を指定することで、指定可能である。この指定は、コンピュータアーキテクチャにおけるメモリ管理の手法と同様に、メモリ部１２０から所要部分のデータを読み出す際の種々の手法を利用することができる。また、指定した各開始位置からの読出しに際しては、ＣＰＵがバスマスタとなるプログラム転送の形態と、制御部２３０にＤＭＡ（Direct Memory Access）コントローラを設けることで、制御部２３０がバスマスタとなり、メインシステム１００の中央処理部１１０を介することなく、メモリ部１２０とエンジン部２００との間でデータ転送を行なう形態の何れであってもよい。
【００６０】
また、データ転送における転送モードとしては、１回のアドレス指定で複数のデータを纏めて連続的に転送するバースト転送モードを用いることで、データ転送時に逐一アドレスを指定するサイクルを実行する手間を省き、データ転送速度を向上させるのがよい。この場合、受信したあるいは送信する処理対象データを、メモリ部１２０のＲＡＭ１２４における、連続したアドレスに格納するようにする。
【００６１】
たとえば、図２に示す第１の構成例は、ＤＭＡコントローラ２３２を制御部２３０内に設けることで、制御部２３０がメモリ部１２０に対してバスマスタとなって、メモリ部１２０から処理対象データを自律的に読み出す形態の構成例を示している。ここで、第１の構成例では、処理領域確定部１１４は、秘匿処理開始位置、秘匿処理終了位置、認証処理開始位置、および認証処理終了位置を、制御部２３０内のレジスタ（メモリの一種）２３４に設定する。いわゆる、レジスタ方式を利用したものである。
【００６２】
制御部２３０は、中央処理部１１０からの読出処理の開始指示を受けると、レジスタ（記憶部）２３４に設定されている秘匿処理開始位置、秘匿処理終了位置、認証処理開始位置、および認証処理終了位置を参照して、メモリ部１２０内のＲＡＭ１２４における処理データ格納領域１２５から必要な部分のデータを読み出し、暗号化または復号化処理における処理範囲（秘匿処理範囲）とされたデータを秘匿処理部２１０に転送するとともに、認証処理における処理範囲（認証処理範囲）とされたデータを認証処理部２２０に転送する。
【００６３】
図３に示す第２の構成例は、ＤＭＡコントローラ２３２を制御部２３０内に設けることで、制御部２３０がメモリ部１２０に対してバスマスタとなってメモリ部１２０から処理対象データを読み出す形態の他の構成例を示している。ここで、第２の構成例では、処理領域確定部１１４は、秘匿処理開始位置、秘匿処理終了位置、認証処理開始位置、および認証処理終了位置を示す情報をディスクリプタテーブルとして、メモリ部１２０内のＲＡＭ１２４における処理データ格納領域１２５と対応するディスクリプタ領域１２６に設定する。いわゆる、ディスクリプタ方式を利用したものである。
【００６４】
制御部２３０は、中央処理部１１０からの読出処理の開始指示を受けると、メモリ部１２０内のディスクリプタ領域１２６に設定されている秘匿処理開始位置、秘匿処理終了位置、認証処理開始位置、および認証処理終了位置を参照して、メモリ部１２０内のＲＡＭ１２４における処理データ格納領域１２５から必要な部分のデータを読み出し、秘匿処理範囲とされたデータを秘匿処理部２１０に転送するとともに、認証処理範囲とされたデータを認証処理部２２０に転送する。
【００６５】
図４に示す第３例の構成は、中央処理部１１０が、メモリ部１２０に対してバスマスタとなってメモリ部１２０から処理対象データを読み出して制御部２３０に渡す形態の一構成例を示している。この場合においても、図４（Ａ）に示すように、それぞれの位置を中央処理部１１０内のレジスタ（記憶部）１１８に設定するレジスタ方式や、図４（Ｂ）に示すように、それぞれの位置をメモリ部１２０内のＲＡＭ１２４における処理データ格納領域１２５と対応するディスクリプタ領域１２６に設定するディスクリプタ方式の何れをも採用し得る。
【００６６】
何れの場合でも、中央処理部１１０は、レジスタ１１８もしくはディスクリプタ領域１２６に設定されている秘匿処理開始位置、秘匿処理終了位置、認証処理開始位置、および認証処理終了位置を参照して、メモリ部１２０内のＲＡＭ１２４における処理データ格納領域１２５から必要な部分のデータを読み出して、制御部２３０に転送する。
【００６７】
あるいは、図示を割愛するが、第１〜第３の構成例に代えて、処理領域確定部１１４は、秘匿処理開始位置、秘匿処理終了位置、認証処理開始位置、および認証処理終了位置が、処理順に対応するように、処理データ格納領域１２５に格納されている処理対象データを、先入れ先出し方式に準じて再配置する。こうすることで、メモリ部１２０に対して制御部２３０がバスマスタとなるのか中央処理部１１０がバスマスタとなるのかに拘らず、所定のアドレス位置から順番にデータを読み出すだけでよくなる。
【００６８】
＜データ配布の制御手法を実現する構成＞
図５〜図９は、処理対象データを各機能部に配布するための制御手法を実現する構成例を示した図である。ここでは、バスマスタとなるのが中央処理部１１０（たとえばＣＰＵ）であるのか制御部２３０であるのかは問題とせず、データの流れに着目する。
【００６９】
何れも、暗号化や復号化の処理対象領域と認証の処理対象領域が異なっている場合に、処理領域確定部１１４によりそれぞれ個別に指定されたそれぞれの処理対象領域を確定する位置情報を参照して、処理対象データを保持しているメモリ部１２０の処理データ格納領域１２５から、制御部２３０を介して、データ処理装置３の秘匿処理部２１０と認証処理部２２０に、それぞれの処理対象領域部分を転送する点に着目して示しているが、処理対象領域のデータを如何にして転送するかが異なっている。
【００７０】
先ず、図５および図６は、秘匿処理部２１０と認証処理部２２０とが共通に使用する領域のデータを、メモリ部１２０の処理データ格納領域１２５からそれぞれに配布する場合に着目して示している。
【００７１】
たとえば、図５に示す第１の構成例は、取り込んだデータを一旦保持するバッファメモリ（記憶部）２３６を制御部２３０に持ち、メモリ部１２０から取り込んだ処理対象領域のデータをバッファメモリ２３６に保持し、このバッファメモリ２３６から秘匿処理部２１０と認証処理部２２０に、データを配布するようにした構成例である。このような構成では、秘匿処理部２１０と認証処理部２２０とが共通に使用する領域については、それぞれが共通部分のデータを共用する形態となる。
【００７２】
この場合、バッファメモリ２３６から出力された個々のデータに対して、秘匿処理部２１０と認証処理部２２０とが同時に処理を行なう必要があり、結果として、他方の処理速度の影響を受けることになる。しかしながら、後述する図６の構成とは異なり、バッファメモリは制御部２３０側に１つを設けるだけでよく、回路構成がコンパクトになる利点がある。
【００７３】
これに対して、図６に示す第２の構成例は、秘匿処理部２１０および認証処理部２２０にそれぞれバッファメモリ２１２，２２２を持ち、メモリ部１２０から取り込んだ処理対象領域のデータを、制御部２３０を介して各部のバッファメモリ２１２，２２２に配布するようにした構成例である。このような構成では、秘匿処理部２１０と認証処理部２２０とが共通に使用する領域についても、それぞれが共通部分のデータを各機能部のバッファメモリ２１２，２２２にコピー（データ複製）して専用する形態となる。
【００７４】
この場合、秘匿処理部２１０と認証処理部２２０とにバッファメモリを設ける必要があるので、回路規模が図５の構成よりも大きくなる。しかしながら、前述の図５の構成とは異なり、一旦各部のバッファメモリ２１２，２２２にデータをコピーした後には、他方の処理の影響を受けることなく、それぞれの処理を行なうことができる利点がある。
【００７５】
一方、図７〜図９は、秘匿処理と認証処理とを連続して行なう場合において、認証処理部２２０のみで使用する領域のデータや秘匿処理部２１０で処理された処理済みデータのうちの認証処理部２２０にて使用する部分を、認証処理部２２０に配布する場合に着目して示している。
【００７６】
ここで、図７に示す第３の構成例および図８に示す第３の構成例に対する変形例は、認証処理部２２０のみで使用する領域のデータや秘匿処理部２１０で処理された処理済みデータのうちの次回の処理で認証処理部２２０にて使用する部分を保持するバッファメモリ（記憶部）２３８を制御部２３０に設けた形態である。
【００７７】
この場合、先ず、その回の処理で秘匿処理部２１０と認証処理部２２０とが共通に使用する領域のデータと、認証処理部２２０のみで使用する領域のデータとを纏めて制御部２３０に転送する。そして、この回の処理で秘匿処理部２１０にて必要なデータを除く部分（認証処理部２２０のみで使用する領域のデータ）をバッファメモリ２３８に保持しておく。この後、秘匿処理部２１０にての処理が完了すると、その処理済みのデータと、バッファメモリ２３８に保持しておいたデータとを纏めて、認証処理部２２０に転送して認証処理を行なう。
【００７８】
また、複数のデータ系列を時分割で処理しようとする場合において中断がある場合には、それぞれの処理の都度、秘匿処理部２１０で処理された全ての処理済みデータ（次回の処理で認証処理部２２０にて使用する部分をも含む）を一旦メモリ部１２０の処理データ格納領域１２５に転送する。次回の処理時には、前回の処理にて秘匿処理部２１０で処理された処理済みデータのうちのこの次回の処理で必要となる部分と、必要であれば（中断処理過程で異なるため）、この次回の処理で必要となる原データとを纏めて制御部２３０に取り込む。ここで、原データは、この次回において、秘匿処理部２１０と認証処理部２２０とが共通に使用する領域の原データと、認証処理部２２０のみで使用する領域の原データの双方である。
【００７９】
そして、先ず、この次回の処理で秘匿処理部２１０にて必要なデータを除く部分、すなわち前回の処理にて秘匿処理部２１０で処理された処理済みデータのうちの認証処理部２２０のみで使用する処理済みデータと認証処理部２２０のみで使用する領域の原データとをバッファメモリ２３８に保持しておく。この後、秘匿処理部２１０にての処理が完了すると、その処理済みのデータと、バッファメモリ２３８に保持しておいたデータとを纏めて、認証処理部２２０に転送して認証処理を行なう。
【００８０】
バッファメモリ２３８に保持しておいたデータは、中断処理の入れ方によって異なり、前回の処理にて秘匿処理部２１０で処理された処理済みデータのうちのこの次回の処理で必要となる部分のみの場合（図中の“その１”）と、この次回の処理で必要となる部分に、この次回の処理で必要となる原データとの双方の場合（図中の“その２”）とがある。
【００８１】
このようなデータ転送の形態を採ることで、秘匿処理と認証処理とを連続して行なう連続モードにおいても、その回の処理において双方が使用する共通の原データ部分を重複して１２０からエンジン部２００に転送する必要がなくなり、実質的に、連続処理が可能なデータ領域であるブロックのデータに関して転送処理を統合することができる。
【００８２】
なお、バッファメモリ２３８を設けていながら、各回の処理済みデータを一旦メモリ部１２０の処理データ格納領域１２５に格納し、次回の処理時に、前回の処理済みデータの中から再度必要な部分を制御部２３０に転送してバッファメモリ２３８に格納しているのは、バッファメモリ２３８を開放しておくことで、中断処理時に、他のデータ系列の処理におけるワークメモリのメモリ使用量を圧迫しないようにするためである。このように、ある処理回で必要なときにデータをエンジン部２００にロードすることで、データ転送処理時間が掛るが、バッファメモリ２３８の使用目的を、それぞれのデータ系列のそれぞれの処理回における処理に専念させることができるようになる。
【００８３】
したがって、メモリリソースに余裕がある場合には、図８に示す第３の構成例に対する変形例のように、秘匿処理部２１０で処理された処理済みデータのうちの、次回の処理において認証処理部２２０にて使用する部分をバッファメモリ２３８に保存させておくようにすることで、次回のデータ転送処理時間を緩和するようにしてもよい。
【００８４】
加えて、各処理回にて秘匿処理部２１０と認証処理部２２０の少なくとも一方に必要なデータを纏めて転送することで、各処理回にて必要なデータ量を均等にすることができる。この場合、バースト転送を利用すると、特定のアクセス箇所を表すアドレス情報を、アクセス対象であるＲＡＭ１２４に対して１回だけ送信し、転送するデータ量に関する情報の送信を割愛することで、指定したアドレス付近のデータを所定量だけ連続して転送させることができる。
【００８５】
なお、この第３の構成例では、次回の処理時に認証処理部２２０が必要とする秘匿処理部２１０で前回時に処理された処理済みデータをバッファメモリ２３８に保持させておく必要があるので、この分だけ、各処理回にて転送可能なデータ量すなわち中断処理させる際の分割サイズ（各処理回のデータサイズ）は、バッファメモリ２３８のメモリ容量の制約を受ける。
【００８６】
ただしこの場合でも、あるデータ系列におけるある処理回の分に対してはバッファメモリ２３８がカバーできるから、後述する第４の構成例と同様に、時分割処理可能なデータ系列の数（バンド幅）を、バッファメモリ２３８のメモリ容量の制約を受けることなく、自由に設定できる利点がある。
【００８７】
図９に示す第４の構成例は、認証処理部２２０のみで使用する領域のデータや秘匿処理部２１０で処理された処理済みデータのうちの認証処理部２２０にて使用する部分を保持するバッファメモリを制御部２３０に設けない形態である。この場合、それぞれのデータは、メモリ部１２０から所定のタイミングで制御部２３０を介して認証処理部２２０に転送するようにする。したがって、秘匿処理部２１０で処理された処理済みデータのうちの認証処理部２２０にて使用する部分は、必ず、一旦、メモリ部１２０に転送しておく必要がある。
【００８８】
このような構成では、先ず、秘匿処理部２１０で必要なデータのみを秘匿処理部２１０に渡し、秘匿処理を行なう。この際、制御部２３０は、秘匿処理部２１０における秘匿処理の処理経過を監視し、秘匿処理部２１０における処理が完了する頃に、未転送の認証処理部２２０で必要なデータを取り込む。すなわち、データ転送のタイミング調停を行なう。そして、秘匿処理部２１０による処理済みデータと、時間を合わせて取り込んだデータとを纏めて認証処理部２２０に転送し、認証処理部２２０において認証処理を行なう。
【００８９】
このようなデータ転送の形態を採った場合でも、秘匿処理と認証処理とを連続して行なう連続モードにおいて、その回の処理において双方が使用する共通の原データ部分を重複してメモリ部１２０からエンジン部２００に転送する必要がなく、実質的に、連続処理が可能なデータ領域であるブロックのデータに関して転送処理を統合することができる。
【００９０】
加えて、それぞれの処理回において、先ず、認証処理部２２０のみで必要なデータは転送せずに秘匿処理部２１０で必要なデータのみを秘匿処理部２１０に転送し、秘匿処理部２１０での処理完了時点で、認証処理部２２０が必要とするデータを転送するようにしたので、制御部２３０によるデータ転送の調停処理が必要にはなるものの、第３の構成例よりも、メモリ使用量を少なくすることができる。
【００９１】
加えて、各処理回にて転送可能なデータ量である中断処理させる際の分割サイズは、バッファメモリ２３８のメモリ容量の制約を受けることがない。さらに、時分割処理可能なデータ系列の数（バンド幅）を自由に設定できる利点がある。
【００９２】
なお、この第４の構成例では、各処理回にて秘匿処理部２１０に転送するデータ量と認証処理部２２０に転送するデータ量は逐一変化し得るので、バースト転送を利用する際には、特定のアクセス箇所を表すアドレス情報に加えて、転送するデータ量に関する情報の送信も必要となる。
【００９３】
＜第１実施形態＞
図１０〜図１２は、図１に示したデータ処理装置３がなすデータ処理の第１実施形態を説明する図である。ここで、図１０は、第１実施形態において処理対象とするデータの概要を示す。図１１は、第１実施形態において図１０に示したデータを取り扱う場合における、データに着目した処理手順の一例を示すシーケンス図である。図１２は、第１実施形態において、図１０に示したデータを取り扱う場合における、機能ブロックに着目した処理の概要を示す図である。
【００９４】
この第１実施形態は、同一の処理対象データに対して、秘匿処理部２１０における秘匿処理と認証処理部２２０における認証処理とを同時並行的に処理を行なう構成のデータ処理装置において、処理対象データの秘匿処理範囲と認証処理範囲とが異なる場合に、制御部２３０に対して、同時に処理する秘匿処理範囲ＢＫCrと認証処理範囲ＢＫAuとを個別に生成して指定するようにした点に特徴を有する。
【００９５】
先ず、図１０に示すように、ブロック１、ブロック２（詳細には２ａと２ｂ）、ブロック３からなる処理対象データにおいて、秘匿の処理対象領域（秘匿処理範囲）ＢＫCrは、ブロック１およびブロック２、認証の処理対象領域（認証処理範囲）ＢＫAuはブロック２およびブロック３というように、それぞれの処理対象領域が異なっている。ただし、ブロック２に関しては、秘匿処理と認証処理とが並列処理可能なデータ領域である。
【００９６】
図１１および図１２に示すように、中央処理部１１０の処理範囲判定部１１２は、取得した処理対象データを解析して、同一の処理データについて、秘匿処理部２１０が処理対象とする秘匿処理範囲ＢＫCrと認証処理部２２０が処理対象とする認証処理範囲ＢＫAuとが異なるか否かを判定する（Ｓ１００）。
【００９７】
この判定は、装置を複数のプロトコルに対応するように構成する場合に必要となるものであり、たとえば、送信側と受信側との間におけるネゴシエーションの過程で、どのような通信プロトコルを使用するかで判定可能である。よって、本願発明が適用可能な単一の通信プロトコルのみに対応するシステムとする場合には、この判定処理や処理範囲判定部１１２は不要である。
【００９８】
処理範囲判定部１１２が秘匿処理範囲ＢＫCrと認証処理範囲ＢＫAuとが同一であると判定した場合（Ｓ１００−ＮＯ）、処理領域確定部１１４は、通常通りに、それぞれの範囲を確定する位置情報を共通に、前述のようにレジスタまたはディスクリプタに設定する（Ｓ１０２）。
【００９９】
制御部２３０は、処理領域確定部１１４により共通に設定された位置情報に基づいて、メモリ部１２０から読み出された所定範囲の処理対象データを秘匿処理部２１０と認証処理部２２０に供給する（Ｓ１０４）。データ処理装置３は、通常通り、秘匿処理部２１０にて秘匿処理を（Ｓ１０６）、認証処理部２２０にて認証処理を行なう（Ｓ１０８）。
【０１００】
一方、秘匿処理部２１０が秘匿処理範囲ＢＫCrと認証処理範囲ＢＫAuとが異なると処理範囲判定部１１２が判定した場合（Ｓ１００−ＹＥＳ）、処理領域確定部１１４は、それぞれの範囲を確定する位置情報を、前述のようにレジスタまたはディスクリプタに個別に設定する（Ｓ１１２）。ここで、図１０に示したデータを取り扱う場合には、ブロック１の先端に暗号処理開始位置Ｃｓ、ブロック２の後端（ブロック３の先端）に暗号処理終了位置Ｃｅ、ブロック２の先端（ブロック１の後端）に認証処理開始位置Ａｓ、ブロック３の後端に認証処理終了位置Ａｅを、それぞれ個別に生成して指定する。
【０１０１】
データ処理装置３において、制御部２３０は、先ず、処理対象データの全範囲（ブロック１，２，３）をメモリ部１２０から取り込む（Ｓ１２０）。次に、制御部２３０は、処理領域確定部１１４により個別に設定されたそれぞれの処理範囲を確定する位置情報Ｃｓ，Ｃｅ，Ａｓ，Ａｅに基づいて、取り込んだ全データ中の秘匿処理範囲ＢＫCrであるブロック１，２のデータを取り出して秘匿処理部２１０に転送する（Ｓ１２２）。また、認証処理範囲ＢＫAuであるブロック２，３のデータを取り出して認証処理部２２０に転送する（Ｓ１２４）。並列処理が可能なデータ領域であるブロック２のデータに関しても転送処理を統合することで、一度の転送でそのブロック２のデータを秘匿処理部２１０と認証処理部２２０とに渡す。
【０１０２】
秘匿処理部２１０は、制御部２３０を介して転送された秘匿処理範囲ＢＫCrであるブロック１，２のデータに対して秘匿処理を施す（Ｓ２３０）。一方、認証処理部２２０は、制御部２３０を介して転送された認証処理範囲ＢＫAuであるブロック２，３のデータに対して認証処理を施す（Ｓ２３２）。
【０１０３】
なお、図では示さないが、秘匿処理部２１０は、秘匿処理済みのデータを制御部２３０に渡す。制御部２３０は、秘匿処理部２１０で処理されたブロック１，２の秘匿処理済みデータを受け取り、このブロック１，２の秘匿処理済みデータをメモリ部１２０に転送する。一方、認証処理部２２０は、認証処理済みのデータを内部の図示しないレジスタに保存する。なお、秘匿処理済みのデータと同様に、認証処理済みのデータをメモリ部１２０に転送してもよい。認証処理済みデータを認証処理部２２０に保存するのは、認証処理対象のデータ量は一般的に少なく、メモリ部１２０への転送を省略することで、処理効率を高めるためである。
【０１０４】
このように、第１実施形態に依れば、同一の処理対象データについて、秘匿処理範囲ＢＫCrと認証処理範囲ＢＫAuとを同時並行的に処理する場合において、各処理範囲ＢＫCr，ＢＫAuが異なる場合に、同時並行的に処理する秘匿処理範囲ＢＫCrと認証処理範囲ＢＫAuを確定する各位置情報を個別に生成して指定するようにしたので、並列処理が可能な重複領域（前例ではブロック２）の原データに関しては、一度の転送であっても、その部分のデータを秘匿処理用や認証処理用として特定することができ、秘匿処理や認証処理に的確に使用することができるようになる。
【０１０５】
これにより、秘匿および認証の並列処理を可能な構成とする際に、同一データを重複して（複数回に亘って）メモリ部１２０からデータ処理装置３に転送する必要がなくなり、バス帯域の浪費を防止することができ、バス使用効率が向上する。また、データ転送量を低減できるので、ＣＰＵの処理スピードの低下を防止することができ、結果として、ＣＰＵの処理速度が向上する。加えて、処理範囲が異なる場合においても、転送処理が統合されることにより、中央処理部１１０への割り込み回数を低減させることができ、結果として、ＣＰＵの処理速度が向上する。
【０１０６】
このように、暗号および認証の並列処理が可能な構成とする場合において、各処理範囲ＢＫCr，ＢＫAuが異なる場合には、並列処理する各処理範囲を確定する各位置情報を個別に指定して、並列処理する部分の重複領域についてのデータ転送を１回で済ますことで、バス仕様効率の改善、ＣＰＵ割込み回数の低減、およびデータ処理速度の向上を図ることができる。ＣＰＵ制御におけるソフトウェア処理的にも、またデータ処理装置３におけるハードウェア処理的にも、負荷が重い秘匿処理（暗号化処理／復号化処理）と認証処理を効率よく処理することができるので、本願発明が果たす役割は大きい。
【０１０７】
＜第２実施形態＞
図１３〜図１５は、図１に示したデータ処理装置３がなすデータ処理の第２実施形態を説明する図である。ここで、図１３は、第２実施形態において処理対象とするデータの概要を示す。図１４は、第２実施形態において図１３に示したデータを取り扱う場合における、データに着目した処理手順の一例を示すシーケンス図である。図１５は、第２実施形態において、図１３に示したデータを取り扱う場合における、機能ブロックに着目した処理の概要を示す図である。
【０１０８】
この第２実施形態は、第１実施形態の構成における特徴に加えて、暗号処理と認証処理を中断に対応するように構成した点に特徴を有する。
【０１０９】
先ず、図１３（Ａ）に示すように、ブロック１〜ブロック９からなる処理対象データにおいて、秘匿の処理対象領域（秘匿処理範囲）ＢＫCrは、ブロック１〜９、認証の処理対象領域（認証処理範囲）ＢＫAuはブロック２〜９というように、それぞれの処理対象領域が異なっている。また、ブロック２，３、ブロック４，５、およびブロック７〜９に関しては、それぞれ秘匿処理と認証処理とが並列処理可能なデータ領域である。
【０１１０】
加えて、この第２実施形態では、１つのデータの処理に当たって、２回の中断を挟み、処理１、処理２、および処理３の、計３回の処理に分割している。このため、暗号処理開始位置、暗号処理終了位置、認証処理開始位置、認証処理終了位置の組が３組存在する。
【０１１１】
ただし、処理は３つに分割されているが、それぞれが独立な処理ではない。たとえば、処理２は処理１の計算続きを行ない、処理３は処理２の続きを行なう。処理３が終了した時点で、最終処理を行ない、結果が出力される構成となっている。
【０１１２】
図１４および図１５に示すように、先ず、中央処理部１１０の処理領域確定部１１４は、第１実施形態と同様にして、取得した処理対象データを解析して、同一の処理データについて、秘匿処理部２１０が処理対象とする秘匿処理範囲ＢＫCrと認証処理部２２０が処理対象とする認証処理範囲ＢＫAuとが異なるか否かを判定する（Ｓ２００）。
【０１１３】
処理領域確定部１１４は、処理範囲判定部１１２が秘匿処理範囲ＢＫCrと認証処理範囲ＢＫAuとが同一であると判定した場合（Ｓ２００−ＮＯ）、通常通りに、中断処理に合わせて分割された領域ごとに、それぞれの範囲を確定する位置情報を、前述のようにレジスタまたはディスクリプタに共通に設定する（Ｓ２０２）。制御部２３０は、処理領域確定部１１４により共通に設定された位置情報に基づいて、メモリ部１２０から読み出された所定範囲の処理対象データを秘匿処理部２１０と認証処理部２２０に供給する（Ｓ２０４）。データ処理装置３は、通常通り、秘匿処理部２１０にて秘匿処理を（Ｓ２０６）、認証処理部２２０にて認証処理を行なう（Ｓ２０８）。
【０１１４】
一方、処理範囲判定部１１２が秘匿処理範囲ＢＫCrと認証処理範囲ＢＫAuとが異なると判定した場合（Ｓ２００−ＹＥＳ）、先ず、中央処理部１１０の処理領域確定部１１４は、複数のデータ系列を時分割で処理しようとするために処理を中断させるに当たってデータ処理効率のよい状態となるように、処理対象データの全体を、所定の条件に基づいて複数の処理対象領域に分割する（Ｓ２１０）。
【０１１５】
ここで、分割する際の条件としては、秘匿処理の最小処理単位と認証処理の最小処理単位とを考慮するものとする。たとえば、それぞれの最小処理単位の最小公倍数を基準として、これをそれぞれの最小処理単位で均等に区分けし、かつ、秘匿処理と認証処理の最小処理単位の少なくとも一方を包含しつつ、何れかの最小処理単位で区分けするようにする。処理対象領域が異なるので、分割したそれぞれの処理対象領域は一部が重複していてもよい。
【０１１６】
たとえば、図１３（Ａ）に示したデータを取り扱う場合には、先ず秘匿処理の最小処理単位で区分けする。こうすることで、ブロック１，２，３の秘匿処理単位１と、ブロック４，５，６の秘匿処理単位２と、ブロック７，８，９の秘匿処理単位３に区分けすることができ、秘匿処理単位１の領域には、秘匿処理の最小処理単位と認証処理の最小処理単位とが丁度よく包含される。一方、秘匿処理単位２の領域は、秘匿処理の最小処理単位が丁度よく包含されるが、このままでは、認証処理の最小処理単位はブロック４，５とブロック６の２つに分断される。そこで、この部分に関しては、少なくとも何れか一方（本例では後段側）に、認証処理の最小処理単位が２つ包含されるようにする。
【０１１７】
こうすることで、具体的には、１回目の処理（処理１）における対象データ領域をブロック１，２，３の秘匿処理単位１とし、２回目の処理（処理２）における対象データ領域をブロック４，５，６の秘匿処理単位２とし、３回目の処理（処理３）における対象データ領域をブロック６，７，８，９（ブロック６＋秘匿処理単位３）とする。
【０１１８】
処理領域確定部１１４は、この分割したそれぞれの処理対象領域ごとに、秘匿処理範囲ＢＫCrおよび認証処理範囲ＢＫAuを確定する、暗号処理開始位置Ｃｓ、暗号処理終了位置Ｃｅ、認証処理開始位置Ａｓ、認証処理終了位置Ａｅを、前述のようにレジスタまたはディスクリプタにそれぞれ個別に生成して指定する（Ｓ２１２）。
【０１１９】
たとえば、図１３（Ａ）に示したデータを取り扱う場合において、図１３（Ｂ）に示すように系統ａと系統ｂの２つのデータ系列を時分割で処理しようとする場合は、処理１と処理２、および処理２と処理３との間に、中断および再開処理が入る。
【０１２０】
ここで、１回目の処理１では、秘匿処理対象領域がブロック１，２，３であり、認証処理対象領域がブロック２，３である。処理領域確定部１１４は、ブロック１の先端に暗号処理開始位置Ｃｓ１、ブロック３の後端（ブロック４の先端）に暗号処理終了位置Ｃｅ１、ブロック２の先端（ブロック１の後端）に認証処理開始位置Ａｓ１、ブロック３の後端（ブロック４の先端）に認証処理終了位置Ａｅ１を、２つのデータ系列ａ，ｂについて、それぞれ個別に生成して指定する。
【０１２１】
同様に、２回目の処理２では、秘匿処理対象領域がブロック４，５，６であり、認証処理対象領域がブロック４，５である。処理領域確定部１１４は、ブロック４の先端（ブロック３の後端）に暗号処理開始位置Ｃｓ２、ブロック６の後端（ブロック７の先端）に暗号処理終了位置Ｃｅ２を指定する。一方、ブロック６のデータは、認証処理の最小処理単位に満たないため、処理２では処理できない。したがって、処理領域確定部１１４は、ブロック４の先端（ブロック３の後端）に認証処理開始位置Ａｓ２、ブロック５の後端（ブロック６の先端）に認証処理終了位置Ａｅ２を指定する。
【０１２２】
３回目の処理３では、秘匿処理開始位置Ｃｒ３はブロック７の先端になるが、処理２で実行することができなかった認証処理を行なうため、ブロック６のデータもメモリ部１２０からデータ処理装置３側に転送可能なようにその処理範囲をブロック６，７，８，９とする。秘匿処理対象領域がブロック７，８，９であり、認証処理対象領域がブロック６，７，８，９である。
【０１２３】
処理領域確定部１１４は、ブロック６の先端（ブロック５の後端）に暗号処理開始位置Ｃｓ３、ブロック９の後端に暗号処理終了位置Ｃｅ３、ブロック６の先端（ブロック５の後端）に認証処理開始位置Ａｓ３、ブロック９の後端に認証処理終了位置Ａｅ３を、２つのデータ系列ａ，ｂについて、それぞれ個別に生成して指定する。
【０１２４】
データ処理装置３において、制御部２３０は、先ず、処理対象データにおける処理１の範囲（ブロック１，２，３）をメモリ部１２０から取り込む（Ｓ２２０）。次に、制御部２３０は、処理領域確定部１１４により個別に設定された処理１の範囲（ブロック１，２，３）についての、それぞれの処理範囲を確定する位置情報Ｃｓ１，Ｃｅ１，Ａｓ１，Ａｅ１に基づいて、取り込んだ処理１の範囲（ブロック１，２，３）中の秘匿処理範囲ＢＫCrであるブロック１，２，３のデータを取り出して秘匿処理部２１０に転送する（Ｓ２２２）、また、認証処理範囲ＢＫAuであるブロック２，３のデータを取り出して認証処理部２２０に転送する（Ｓ２２４）。並列処理が可能なデータ領域であるブロック２，３のデータに関しても転送処理を統合することで、一度の転送でそのブロック２，３のデータを秘匿処理部２１０と認証処理部２２０とに渡す。
【０１２５】
秘匿処理部２１０は、１回目の処理１について、制御部２３０を介して転送された秘匿処理範囲ＢＫCrであるブロック１，２，３のデータに対して秘匿処理を施す（Ｓ２２６）。一方、認証処理部２２０は、制御部２３０を介して転送された認証処理範囲ＢＫAuであるブロック２，３のデータに対して認証処理を施す（Ｓ２２８）。
【０１２６】
２回目の処理２についても、ほぼ同様に処理をする。すなわち、制御部２３０は、処理対象データにおける処理２の範囲（ブロック４，５，６）をメモリ部１２０から取り込む（Ｓ２３０）。次に、制御部２３０は、処理領域確定部１１４により個別に設定された処理２の範囲（ブロック４，５，６）についての、それぞれの処理範囲を確定する位置情報Ｃｓ２，Ｃｅ２，Ａｓ２，Ａｅ２に基づいて、取り込んだ処理２の範囲（ブロック４，５，６）中の秘匿処理範囲ＢＫCrであるブロック４，５，６のデータを取り出して秘匿処理部２１０に転送（Ｓ２３２）。また、認証処理範囲ＢＫAuであるブロック４，５のデータを取り出して認証処理部２２０に転送する（Ｓ２３４）。
【０１２７】
ただし、ブロック６のデータは認証処理の最小処理単位に満たないため、処理２では処理できないので、制御部２３０は、このブロック６のデータを認証処理部２２０に転送しない。この場合でも、並列処理が可能なデータ領域であるブロック４，５のデータに関しても転送処理を統合することで、一度の転送でそのブロック２，３のデータを秘匿処理部２１０と認証処理部２２０とに渡すことができる。
【０１２８】
秘匿処理部２１０は、２回目の処理２について、制御部２３０を介して転送された秘匿処理範囲ＢＫCrであるブロック４，５，６のデータに対して秘匿処理を施す（Ｓ２３６）。一方、認証処理部２２０は、制御部２３０を介して転送された認証処理範囲ＢＫAuであるブロック４，５のデータに対して認証処理を施す（Ｓ２３８）。
【０１２９】
３回目の処理３についても、ほぼ同様に処理をする。すなわち、制御部２３０は、処理対象データにおける処理３の範囲（ブロック６，７，８，９）をメモリ部１２０から取り込む（Ｓ２４０）。次に、制御部２３０は、処理領域確定部１１４により個別に設定された処理３の範囲（ブロック６，７，８，９）についての、それぞれの処理範囲を確定する位置情報Ｃｓ３，Ｃｅ３，Ａｓ３，Ａｅ３に基づいて、取り込んだ処理３の範囲（ブロック６，７，８，９）中の秘匿処理範囲ＢＫCrであるブロック７，８，９のデータを取り出して秘匿処理部２１０に転送する（Ｓ２４２）。
【０１３０】
また、制御部２３０は、認証処理範囲ＢＫAuであるブロック６，７を取り出して認証処理部２２０に転送し（Ｓ２４４ａ）、さらにブロック８，９のデータを取り出して認証処理部２２０に転送する（Ｓ２４４ｂ）。この場合でも、並列処理が可能なデータ領域であるブロック７，８，９のデータに関しても転送処理を統合することで、一度の転送でそのブロック７，８，９のデータを秘匿処理部２１０と認証処理部２２０とに渡すことができる。
【０１３１】
秘匿処理部２１０は、３回目の処理３について、制御部２３０を介して転送された秘匿処理範囲ＢＫCrであるブロック７，８，９のデータに対して秘匿処理を施す（Ｓ２４６）。一方、認証処理部２２０は、制御部２３０を介して転送された認証処理範囲ＢＫAuであるブロック６，７のデータに対して認証処理を施すとともにブロック８，９のデータに対して認証処理を施す（Ｓ２４８）。
【０１３２】
このように、第２実施形態に依れば、処理過程で中断が入り込む場合であっても、中断によって分割される領域ごとに、秘匿処理範囲ＢＫCrと認証処理範囲ＢＫAuを確定する各位置情報を個別に生成して指定することで、上記第１実施形態と同様の効果を享受することができる。
【０１３３】
＜第３実施形態＞
図１６〜図１８は、図１に示したデータ処理装置３がなすデータ処理の第３実施形態を説明する図である。ここで、図１６は、第３実施形態において処理対象とするデータの概要を示す。図１７は、第３実施形態において図１６に示したデータを取り扱う場合における、データに着目した処理手順の一例を示すシーケンス図である。図１８は、第３実施形態において、図１６に示したデータを取り扱う場合における、機能ブロックに着目した処理の概要を示す図である。
【０１３４】
この第３実施形態は、同一の処理対象データに対して、秘匿処理部２１０における秘匿処理と認証処理部２２０における認証処理とを連続的に処理を行なう構成のデータ処理装置において、処理対象データの秘匿処理範囲と認証処理範囲とが異なる場合に、制御部２３０に対して、連続して処理する秘匿処理範囲ＢＫCrと認証処理範囲ＢＫAuとを個別に生成して指定するようにした点に特徴を有する。
【０１３５】
先ず、図１６に示すように、ブロック１、ブロック２（詳細には２ａと２ｂ）、ブロック３からなる処理対象データにおいて、秘匿の処理対象領域（秘匿処理範囲）ＢＫCrは、ブロック１およびブロック２、認証の処理対象領域（認証処理範囲）ＢＫAuはブロック２およびブロック３というように、それぞれの処理対象領域が異なっている。ただし、ブロック２に関しては、秘匿処理と認証処理とが連続処理可能なデータ領域である。
【０１３６】
なお、認証処理部２２０のみで使用する領域のデータを一時的に保持するバッファメモリ２３８を制御部２３０に持つ形態で説明する。
【０１３７】
図１７および図１８に示すように、中央処理部１１０の処理範囲判定部１１２は、取得した処理対象データを解析して、同一の処理データについて、秘匿処理部２１０が処理対象とする秘匿処理範囲ＢＫCrと認証処理部２２０が処理対象とする認証処理範囲ＢＫAuとが異なるか否かを判定する（Ｓ３００）。処理範囲判定部１１２が秘匿処理範囲ＢＫCrと認証処理範囲ＢＫAuとが同一であると判定した場合（Ｓ３００−ＮＯ）、処理領域確定部１１４は、通常通りに、それぞれの範囲を確定する位置情報を共通に、前述のようにレジスタまたはディスクリプタに設定する（Ｓ３０２）。
【０１３８】
制御部２３０は、処理領域確定部１１４により共通に設定された位置情報に基づいて、メモリ部１２０から読み出された所定範囲の処理対象データを秘匿処理部２１０と認証処理部２２０に供給する（Ｓ３０４）。データ処理装置３は、通常通り、秘匿処理部２１０にて秘匿処理を（Ｓ３０６）、認証処理部２２０にて認証処理を行なう（Ｓ３０８）。
【０１３９】
一方、秘匿処理部２１０が秘匿処理範囲ＢＫCrと認証処理範囲ＢＫAuとが異なると判定した場合（Ｓ３００−ＹＥＳ）、処理領域確定部１１４は、それぞれの範囲を確定する位置情報を、前述のようにレジスタまたはディスクリプタに個別に設定する（Ｓ３１２）。ここで、図１６に示したデータを取り扱う場合には、ブロック１の先端に暗号処理開始位置Ｃｓ、ブロック２の後端（ブロック３の先端）に暗号処理終了位置Ｃｅ、ブロック２の先端（ブロック１の後端）に認証処理開始位置Ａｓ、ブロック３の後端に認証処理終了位置Ａｅを、それぞれ個別に生成して指定する。
【０１４０】
データ処理装置３において、制御部２３０は、先ず、処理対象データの全範囲（ブロック１，２，３）をメモリ部１２０から取り込む（Ｓ３２０）。次に、制御部２３０は、処理領域確定部１１４により個別に設定されたそれぞれの処理範囲を確定する位置情報Ｃｓ，Ｃｅ，Ａｓ，Ａｅに基づいて、取り込んだ全データ中の秘匿処理範囲ＢＫCrであるブロック１，２のデータを取り出して秘匿処理部２１０に転送する（Ｓ３２２）。また、認証処理範囲ＢＫAuであるブロック２，３のデータのうち、認証処理部２２０のみで使用するデータであるブロック３のデータを取り出してバッファメモリ２３８に保存する（Ｓ３２４）。
【０１４１】
秘匿処理部２１０は、制御部２３０を介して転送された秘匿処理範囲ＢＫCrであるブロック１，２のデータに対して秘匿処理を施し（Ｓ３３０）、秘匿処理済みのデータ（図中、ハッチングで示す）を制御部２３０に渡す（Ｓ３３２）。制御部２３０は、秘匿処理部２１０で処理されたブロック１，２の秘匿処理済みデータを受け取り（Ｓ３３３）、このブロック１，２の秘匿処理済みデータをメモリ部１２０に転送する（Ｓ３３４）。
【０１４２】
また、制御部２３０は、連続処理が可能なデータ領域であるブロック２の秘匿処理済みデータを取り出し、バッファメモリ２３８に保持しておいた認証処理だけを行なうデータ領域であるブロック３の原データを付加して、認証処理部２２０に転送する（Ｓ３３６）。実質的に、連続処理が可能なデータ領域であるブロック２のデータに関しても転送処理を統合する（１回の転送で済ます）こととなる。
【０１４３】
認証処理部２２０は、制御部２３０を介して転送された認証処理範囲ＢＫAuであるブロック２の秘匿処理済みデータとブロック３の原データ（図中、ハッチングのないもの）に対して認証処理を施す（Ｓ３３８）。
【０１４４】
なお、図では示さないが、認証処理部２２０は、認証処理済みのデータを内部の図示しないレジスタに保存する。なお、秘匿処理済みのデータと同様に、認証処理済みのデータをメモリ部１２０に転送してもよい。
【０１４５】
このように、第３実施形態に依れば、同一の処理対象データについて、秘匿処理範囲ＢＫCrと認証処理範囲ＢＫAuとを連続的に処理する場合において、各処理範囲ＢＫCr，ＢＫAuが異なる場合に、連続処理する秘匿処理範囲ＢＫCrと認証処理範囲ＢＫAuを確定する各位置情報を個別に生成して指定するようにした。
【０１４６】
このため、連続処理が可能なデータ領域（前例ではブロック２）の重複領域の原データに関しては、第１実施形態と同様に、一度の転送であっても、その部分のデータを秘匿処理用や認証処理用として特定することができ、実質的に、その部分のデータを秘匿処理や認証処理に的確に使用することができるようになる。“実質的”といったのは、並列処理とは異なり、認証処理は、秘匿処理が対象とする生のデータとは異なり、秘匿処理された処理済みデータを処理対象とするからである。
【０１４７】
これにより、秘匿および認証の連続処理を可能な構成とする際に、第１実施形態と同様に、同一データを重複して（複数回に亘って）メモリ部１２０からデータ処理装置３に転送する必要がなくなり、バス帯域の浪費を防止することができ、バス使用効率が向上する。また、データ転送量を低減できるので、ＣＰＵの処理スピードの低下を防止することができ、結果として、ＣＰＵの処理速度が向上する。加えて、処理範囲が異なる場合においても、転送処理が統合されることにより、中央処理部１１０への割り込み回数を低減させることができ、結果として、ＣＰＵの処理速度が向上する。
【０１４８】
暗号および認証の連続処理が可能な構成とする場合において、第１実施形態と同様に、各処理範囲ＢＫCr，ＢＫAuが異なる場合には、連続処理する各処理範囲を確定する各位置情報を個別に指定して、連続処理する部分についてのデータ転送を１回で済ますことで、データ処理速度を向上させることができる。
【０１４９】
＜第４実施形態＞
図１９〜図２１は、図１に示したデータ処理装置３がなすデータ処理の第４実施形態を説明する図である。ここで、図１９は、第４実施形態において処理対象とするデータの概要を示す。図２０は、第４実施形態において図１９に示したデータを取り扱う場合における、データに着目した処理手順の一例を示すシーケンス図である。図２１は、第４実施形態において、図１９に示したデータを取り扱う場合における、機能ブロックに着目した処理の概要を示す図である。
【０１５０】
この第４実施形態は、第３実施形態の構成における特徴に加えて、暗号処理と認証処理を中断に対応するように構成した点に特徴を有する。
【０１５１】
先ず、図１９（Ａ）に示すように、ブロック１〜ブロック１０からなる処理対象データにおいて、秘匿の処理対象領域（秘匿処理範囲）ＢＫCrは、ブロック１〜９、認証の処理対象領域（認証処理範囲）ＢＫAuはブロック２〜１０というように、それぞれの処理対象領域が異なっている。また、ブロック２〜４およびブロック７〜９に関しては、それぞれ秘匿処理と認証処理とが並列処理可能なデータ領域である。
【０１５２】
加えて、この第２実施形態では、１つのデータの処理に当たって、１回の中断を挟み、処理１および処理２の、計２回の処理に分割している。このため、暗号処理開始位置、暗号処理終了位置、認証処理開始位置、認証処理終了位置の組が２組存在する。
【０１５３】
ただし、処理は２つに分割されているが、それぞれが独立な処理ではない。たとえば、処理２は処理１の計算続きを行なう。処理２が終了した時点で、最終処理を行ない、結果が出力される構成となっている。
【０１５４】
なお、認証処理部２２０のみで使用する領域のデータや秘匿処理部２１０で処理された処理済みデータのうちの認証処理部２２０にて使用する部分を一時的に保持するバッファメモリ２３８を制御部２３０に持つ形態で説明する。
【０１５５】
図２０および図２１に示すように、中央処理部１１０の処理範囲判定部１１２は、第３実施形態と同様にして、取得した処理対象データを解析して、同一の処理データについて、秘匿処理部２１０が処理対象とする秘匿処理範囲ＢＫCrと認証処理部２２０が処理対象とする認証処理範囲ＢＫAuとが異なるか否かを判定する（Ｓ４００）。
【０１５６】
処理範囲判定部１１２が秘匿処理範囲ＢＫCrと認証処理範囲ＢＫAuとが同一であると判定した場合（Ｓ４００−ＮＯ）、処理領域確定部１１４は、通常通りに、それぞれの範囲を確定する位置情報を、前述のようにレジスタまたはディスクリプタに共通に設定する（Ｓ４０２）。制御部２３０は、処理領域確定部１１４により共通に設定された位置情報に基づいて、メモリ部１２０から読み出された所定範囲の処理対象データを秘匿処理部２１０と認証処理部２２０に供給する（Ｓ４０４）。データ処理装置３は、通常通り、秘匿処理部２１０にて秘匿処理を（Ｓ４０６）、認証処理部２２０にて認証処理を行なう（Ｓ４０８）。
【０１５７】
一方、秘匿処理部２１０が秘匿処理範囲ＢＫCrと認証処理範囲ＢＫAuとが異なると判定した場合（Ｓ４００−ＹＥＳ）、先ず、中央処理部１１０の処理領域確定部１１４は、複数のデータ系列を時分割で処理しようとするために処理を中断させるに当たってデータ処理効率のよい状態となるように、処理対象データの全体を、所定の条件に基づいて複数の処理対象領域に分割する（Ｓ４１０）。
【０１５８】
そして、処理領域確定部１１４は、この分割したそれぞれの処理対象領域ごとに、秘匿処理範囲ＢＫCrおよび認証処理範囲ＢＫAuを確定する、暗号処理開始位置Ｃｓ、暗号処理終了位置Ｃｅ、認証処理開始位置Ａｓ、認証処理終了位置Ａｅを、前述のようにレジスタまたはディスクリプタにそれぞれ個別に生成して指定する（Ｓ４１２）。
【０１５９】
ここで、分割する際の条件としては、第２実施形態と同様に、秘匿処理の最小処理単位と認証処理の最小処理単位とを考慮するものとする。たとえば、それぞれの最小処理単位の最小公倍数を基準として、これをそれぞれの最小処理単位で均等に区分けし、かつ、秘匿処理と認証処理の最小処理単位の少なくとも一方を包含しつつ、何れかの最小処理単位で区分けするようにする。処理対象領域が異なるので、分割したそれぞれの処理対象領域は一部が重複していてもよい。
【０１６０】
たとえば、図１９（Ａ）に示したデータを取り扱う場合には、先ず秘匿処理の最小処理単位で区分けする。この場合、ブロック２〜４の領域は、このままでは、秘匿処理の最小処理単位が２つに分断される。そこで、この部分に関しては、分断されることなく包含され、かつ、秘匿処理の最小処理単位で区分けするように、１回目の処理（処理１）における対象データ領域をブロック１〜６とし、残りを後半部分の処理対象領域とする。
【０１６１】
一方、この場合、秘匿処理の最小処理単位であるブロック７〜９の領域は後半部分に包含されるが、このままでは、認証処理の最小処理単位であるブロック５〜７は２つに分断される。そこで、この部分に関しては、少なくとも何れか一方（本例では後段側）に、認証処理の最小処理単位が包含されるようにする。
【０１６２】
こうすることで、具体的には、１回目の処理（処理１）における対象データ領域をブロック１〜６とし、２回目の処理（処理２）における対象データ領域をブロック５〜１０とする。
【０１６３】
よって、図１９（Ａ）に示したデータを取り扱う場合において、図１９（Ｂ）に示すように系統ａと系統ｂの２つのデータ系列を時分割で処理しようとする場合は、処理１と処理２との間に、中断および再開処理が入る。ここで、１回目の処理１では、秘匿処理対象領域がブロック１〜６であり、処理領域確定部１１４は、ブロック４の先端（ブロック３の後端）に暗号処理開始位置Ｃｓ２、ブロック６の後端（ブロック７の先端）に暗号処理終了位置Ｃｅ２を指定する。
【０１６４】
一方、ブロック５，６のデータは、認証処理の最小処理単位に満たないため、処理１では処理できない。したがって、処理領域確定部１１４は、認証処理対象領域をブロック２〜４とするべく、ブロック２の先端（ブロック１の後端）に認証処理開始位置Ａｓ１、ブロック４の後端（ブロック５の先端）に認証処理終了位置Ａｅ１を、２つのデータ系列ａ，ｂについて、それぞれ個別に生成して指定する。
【０１６５】
同様に、２回目の処理２では、ブロック５，６については秘匿処理部２１０による処理が完了しているので、この部分を除くブロック７〜９を秘匿処理対象領域とするべく、処理領域確定部１１４は、ブロック７の先端（ブロック６の後端）に暗号処理開始位置Ｃｓ２、ブロック９の後端（ブロック１０の先端）に暗号処理終了位置Ｃｅ２を指定する。一方、秘匿処理開始位置Ｃｒ２はブロック７の先端になるが、処理１で実行することができなかった認証処理を行なうため、ブロック５，６のデータもメモリ部１２０からデータ処理装置３側に転送可能なように、その処理範囲をブロック６，７，８，９とする。この場合、秘匿処理対象領域がブロック７，８，９であり、認証処理対象領域がブロック６，７，８，９である。
【０１６６】
処理領域確定部１１４は、ブロック６の先端（ブロック５の後端）に暗号処理開始位置Ｃｓ３、ブロック９の後端に暗号処理終了位置Ｃｅ３、ブロック６の先端（ブロック５の後端）に認証処理開始位置Ａｓ３、ブロック９の後端に認証処理終了位置Ａｅ３を、２つのデータ系列ａ，ｂについて、それぞれ個別に生成して指定する。
【０１６７】
データ処理装置３において、制御部２３０は、先ず、処理対象データにおける処理１の範囲（ブロック１〜６）をメモリ部１２０から取り込む（Ｓ４２０）。次に、制御部２３０は、処理領域確定部１１４により個別に設定された処理１の範囲（ブロック１〜６）についての、それぞれの処理範囲を確定する位置情報Ｃｓ１，Ｃｅ１，Ａｓ１，Ａｅ１に基づいて、取り込んだ処理１の範囲（ブロック１〜６）中の秘匿処理範囲ＢＫCrであるブロック１〜６のデータを秘匿処理部２１０に転送する（Ｓ４２２）。
【０１６８】
秘匿処理部２１０は、制御部２３０を介して転送された秘匿処理範囲ＢＫCrであるブロック１〜６のデータに対して秘匿処理を施し（Ｓ４３０）、秘匿処理済みのデータ（図中、ハッチングで示す）を制御部２３０に渡す（Ｓ４３２）。制御部２３０は、秘匿処理部２１０で処理されたブロック１〜６の秘匿処理済みデータを受け取り（Ｓ４３３）、このブロック１〜６の秘匿処理済みデータをメモリ部１２０に転送する（Ｓ４３４）。
【０１６９】
また、制御部２３０は、秘匿処理部２１０で処理された処理済みデータのうちの認証処理部２２０にて使用する部分であるブロック２〜４の秘匿処理済みデータ（図中、ハッチングのあるもの）を認証処理部２２０に転送する（Ｓ４３６）。認証処理部２２０は、制御部２３０を介して転送された認証処理範囲ＢＫAuであるブロック２〜４の秘匿処理済みデータに対して認証処理を施す（Ｓ４３８）。この場合でも、実質的に、連続処理が可能なデータ領域であるブロック２〜４のデータに関しても転送処理を統合することとなる。
【０１７０】
２回目の処理２についても、ほぼ同様に処理をする。すなわち、制御部２３０は、処理対象データにおける処理２の範囲（ブロック５〜１０）について、メモリ部１２０に転送されたブロック１〜６の中からブロック５，６の秘匿処理済みデータを抜き出したものと、ブロック７〜１０生のデータを連結してメモリ部１２０から取り込む（Ｓ４４０）。
【０１７１】
次に、制御部２３０は、処理領域確定部１１４により個別に設定された処理２の範囲（ブロック５〜１０）についての、それぞれの処理範囲を確定する位置情報Ｃｓ２，Ｃｅ２，Ａｓ２，Ａｅ２に基づいて、取り込んだ処理２の範囲（ブロック５〜１０）中の秘匿処理範囲ＢＫCrであるブロック７〜９の原データを取り出して秘匿処理部２１０に転送する（Ｓ４４２）。
【０１７２】
また、制御部２３０は、認証処理範囲ＢＫAuであるブロック５〜１０のデータのうち、秘匿処理部２１０で処理された処理済みデータのうちの認証処理部２２０にて使用する部分であるブロック５，６のデータと認証処理部２２０のみで使用するデータであるブロック１０とを取り出しバッファメモリ２３８に保存する（Ｓ４４４）。この場合でも、連続処理が可能なデータ領域であるブロック７〜９のデータに関しても転送処理を統合する。
【０１７３】
なお、２回目でのブロック７〜９の秘匿処理が済むまでブロック５，６についてを制御部２３０のバッファメモリ２３８に保存しておくのであれば、１回目の処理後にブロック５，６の秘匿処理済みデータをメモリ部１２０に転送せずに、バッファメモリ２３８に保存しておいてもいいように考えられる。
【０１７４】
しかしながら、実際には、中断処理が入るため、このブロック５，６の秘匿処理済みデータをバッファメモリ２３８に保存しておくと、その分だけメモリ容量が圧迫されることになる。このため、この第４実施形態では、１回目の処理で生成されたブロック５，６の秘匿処理済みデータをメモリ部１２０へ一旦転送し、２回目で必要なときに、このブロック５，６の秘匿処理済みデータを再度送ってもらうことで、メモリ容量を、それぞれの回における処理に専念することができるようにしている。
【０１７５】
秘匿処理部２１０は、２回目の処理２について、制御部２３０を介して転送された秘匿処理範囲ＢＫCrであるブロック７〜９のデータに対して秘匿処理を施し（Ｓ４５０）、秘匿処理済みのデータ（図中、ハッチングで示す）を制御部２３０に渡す（Ｓ４５２）。
【０１７６】
制御部２３０は、秘匿処理部２１０で処理されたブロック７〜９の秘匿処理済みデータを受け取り（Ｓ４５３）、このブロック７〜９の秘匿処理済みデータをメモリ部１２０に転送する（Ｓ４５４）。また、連続処理が可能なデータ領域であるブロック７〜９の秘匿処理済みデータを取り出し、それぞれバッファメモリ２３８に保持しておいた、秘匿処理部２１０で１回目に処理されたブロック５，６の秘匿処理済みデータと認証処理だけを行なうデータ領域であるブロック１０のデータとを付加して、認証処理部２２０に転送する（Ｓ４５６）。
【０１７７】
認証処理部２２０は、制御部２３０を介して転送された認証処理範囲ＢＫAuであるブロック５〜９の秘匿処理済みデータ（図中、ハッチングのあるもの）と、ブロック１０の原データ（図中、ハッチングのないもの）に対して認証処理を施す（Ｓ４４８）。
【０１７８】
なお、図では示さないが、認証処理部２２０は、認証処理済みのデータを内部の図示しないレジスタに保存する。なお、秘匿処理済みのデータと同様に、認証処理済みのデータをメモリ部１２０に転送してもよい。
【０１７９】
このように、第４実施形態に依れば、処理過程で中断が入り込む場合であっても、中断によって分割される領域ごとに、連続処理する秘匿処理範囲ＢＫCrと認証処理範囲ＢＫAuを確定する各位置情報を個別に生成して指定することで、上記第３実施形態と同様の効果を享受することができる。
【０１８０】
＜適用プロトコル＞
以上のように、同一の処理対象データに対して、秘匿処理と認証処理とを同時並行的に処理を行なう構成と、この場合において中断が入り込む構成、並びに、秘匿処理と認証処理とを連続的に処理を行なう構成と、この場合において中断が入り込む構成、のそれぞれについて、基本的な処理手法を説明したが、上記で示した処理は、秘匿処理と認証処理とを同時並行的に処理を行なう、あるいは連続して処理を行なうプロトコルであれば、何れのものにも適用できる。
【０１８１】
たとえば、ネットワークトポロジ情報を分配し、サーバが隣接するクライアントやサーバやルータを探すのを助けるプロトコルであるＳＲＴＰ（Sequenced Routing Update Protocol ）、クライアントとサーバとの間で相互認証をできるようにし、認証され暗号化された接続を確立するようにすることでＷｅｂセキュリティを実現するＳＳＬ（Secure Sockets Layer）、このＳＳＬプロトコルをベースに改良されＩＥＴＦ（Internet Engineering Task Force ）によって標準化されたＴＬＳ（Transport Layer Security）に適用することができる。あるいは、暗号化／認証にDES/3DES（RFC 2406）を使ったＩＰＳｅｃ（Internet Protocol Security）における暗号ペイロードＥＳＰ（Encapsulating Security Payload）にも適用することができる。なお、ＳＳＬプロトコルとＴＬＳプロトコルは詳細な点では異なるものの、上記実施形態の適用に当たってはその相違の影響を受けないので、本明細書では纏めて、ＳＳＬ／ＴＬＳと称する。
【０１８２】
また、有線通信におけるプロトコルに限らず、無線通信におけるプロトコルにも適用可能であり、たとえば、ＩＥＥＥ（Institute of Electrical and Electronics Engineers, Inc. ；米国電気電子学会）によって標準化された、ワイヤレス機器や無線ＬＡＮなどによる情報伝達のセキュリティを守るためのプロトコルであるＷＥＰ（Wired Equivalent Privacy）や、Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅが規格を策定したＷＥＰに代わる暗号化規格であるＷＰＡなどにも適用可能である。
【０１８３】
なお、現段階では、ＩＥＥＥでの規格化作業が終了していないが、ＩＥＥＥ８０２．１１ｉで制定されるセキュリティプロトコルにも、上記実施形態で説明した処理を適用することが可能である。
【０１８４】
ここで、それぞれのプロトコルにおいて、上記第１〜第４の何れの実施形態が適用されるか、特に並列処理とするのか連続処理とするのかは、主に、認証の処理対象範囲が、暗号化される前の生のデータや復号化された後のデータ（つまり暗号化される前の生のデータ）であるのか、暗号化された後の暗号化処理済みデータや復号化する前のデータ（つまり暗号化された後の暗号化処理済みデータ）であるのかによって決まる。以下に、具体的な事例を説明する。
【０１８５】
＜具体的な事例；その１＞
図２２は、上記各実施形態で説明したデータ処理を適用するプロトコルの具体例（第１例）を説明する図である。この第１例は、送信処理時には暗号化処理と認証処理とが並列になされる一方、受信処理時には復号化処理と認証処理とが連続してなされるプロトコルの一例として、ＳＳＬ／ＴＬＳの場合を示している。
【０１８６】
たとえば、送信側の装置（たとえばクライアント端末）において、ＳＳＬ／ＴＬＳプロトコルにおける送信処理時には、図２２（Ａ）に示すように、先ず、メッセージ認証コードＭＡＣ（Message Authentication Code ）を生成し（Ｓ５００）、この後、メッセージ認証コードＭＡＣをパケットに挿入し（Ｓ５０２）、最後にパケットにメッセージ認証コードＭＡＣが付加されたデータ全体（すなわちＭＡＣ部分も含めて）に対して暗号化処理をし（Ｓ５０４）、受信側の装置（たとえばＷｅｂサーバ）に暗号化済みのデータを送信する（Ｓ５０６）。
【０１８７】
したがって、この場合、図２２（Ｃ）に示すＳＳＬ／ＴＬＳプロトコルのパケットイメージにおけるＣｏｎｔｅｎｔ部分の認証処理および暗号処理は並列に進めることが可能になる。このときの認証処理対象データは、暗号化前のデータになる。よって、ＳＳＬ／ＴＬＳプロトコルにおける送信処理時には、基本的には上記第１実施形態が適用され、複数のデータ系列を時分割で処理する場合には、上記第２実施形態が適用されることとなる。
【０１８８】
一方、受信側の装置（たとえばＷｅｂサーバ）において、ＳＳＬ／ＴＬＳプロトコルにおける受信処理時には、図２２（Ｂ）に示すように、先ず、送信側の装置（たとえばクライアント端末）から暗号化済みのデータを受信し（Ｓ５１０）、これを復号化して（Ｓ５１２）、認証処理をした後に（Ｓ５１４）、付与されていたメッセージ認証コードＭＡＣを削除する（Ｓ５１６）。つまり受信処理時には、復号化を行なった後、認証処理を行なう必要があり、復号化処理と認証処理とが連続処理となる。これは、認証処理対象データが暗号化前の元のデータであるためである。よって、ＳＳＬ／ＴＬＳプロトコルにおける受信処理時には、基本的には上記第３実施形態が適用され、複数のデータ系列を時分割で処理する場合には、上記第４実施形態が適用されることとなる。
【０１８９】
このように、ＳＳＬ／ＴＬＳプロトコルでは、送信時は並列モードで暗号化処理と認証処理を行ない、受信時には連続モードで復号化処理と認証処理を行なう必要がある。
【０１９０】
＜具体的な事例；その２＞
図２３は、上記各実施形態で説明したデータ処理を適用した他の具体例（第２例）を説明する図である。この第２例は、送信処理時には暗号化処理と認証処理とが連続になされる一方、受信処理時には復号化処理と認証処理とが並列になされるプロトコルの一例として、ＩＰＳｅｃ  ＥＳＰの場合を示している。
【０１９１】
第１例と同様に、送信側の装置（たとえばクライアント端末）において、ＩＰＳｅｃ  ＥＳＰプロトコルにおける送信処理時には、図２３（Ａ）に示すように、先ず、パケットに対して暗号化処理をし（Ｓ５２０）、暗号化後のデータに対して認証コードＩＣＶ（ＩＣＶ（Integrity Check Value ）を生成することで認証処理を行なう（Ｓ５２２）。この後、認証コードＩＣＶを暗号化されたパケットに付加してから（Ｓ５２４）、受信側の装置（たとえばＷｅｂサーバ）に暗号化済みのデータを送信する（Ｓ５２６）。
【０１９２】
したがって、この場合、図２３（Ｃ）に示すＩＰＳｅｃ  ＥＳＰプロトコルのパケットイメージにおけるＰａｙｌｏａｄ部の暗号処理を行なった後、認証処理を行なうことになり、送信処理時には、暗号化処理と認証処理とが連続処理となる。よって、ＩＰＳｅｃ  ＥＳＰプロトコルにおける送信処理時には、基本的には上記第３実施形態が適用され、複数のデータ系列を時分割で処理する場合は、上記第４実施形態が適用されることとなる。
【０１９３】
一方、受信側の装置（たとえばＷｅｂサーバ）において、ＩＰＳｅｃ  ＥＳＰプロトコルにおける受信処理時には、図２３（Ｂ）に示すように、先ず、送信側の装置（たとえばクライアント端末）から暗号化済みのデータを受信し（Ｓ５３０）、認証処理をした後に（Ｓ５３２）、付与されていた認証コードＩＣＶを削除する（Ｓ５３４）。最後に、認証コードＩＣＶが削除されたデータに対して復号化処理をする（Ｓ５１６）。
【０１９４】
したがって、この場合、認証処理と復号化処理を並列に進めることが可能になる。これは、認証処理対象データが暗号化後のデータであるからである。よって、ＩＰＳｅｃ  ＥＳＰプロトコルにおける受信処理時には、基本的には上記第１実施形態が適用され、複数のデータ系列を時分割で処理する場合には、上記第２実施形態が適用されることとなる。
【０１９５】
このように、ＩＰＳｅｃ  ＥＳＰプロトコルでは、送信時は連続モードで暗号化処理と認証処理を行ない、受信時には並列モードで復号化処理と認証処理を行なう必要がある。
【０１９６】
なお、上記第１例のＳＳＬ／ＴＬＳプロトコルにおけるメッセージ認証コードＭＡＣと、第２例のＩＰＳｅｃ  ＥＳＰプロトコルにおける認証コードＩＣＶとは、仕様や具体的な計算方法などは異なるが、基本的には同じ機能のもので、両方とも認証コードになり、その差は、実施形態の適用に際して、影響を及ぼさない。
【０１９７】
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記実施形態に多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれる。
【０１９８】
また、上記の実施形態は、クレーム（請求項）にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組合せの全てが発明の解決手段に必須であるとは限らない。前述した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組合せにより種々の発明を抽出できる。実施形態に示される全構成要件から幾つかの構成要件が削除されても、効果が得られる限りにおいて、この幾つかの構成要件が削除された構成が発明として抽出され得る。
【０１９９】
たとえば、複数のデータ系列を時分割で処理する形態として、第２および第４実施形態では、２つのデータ系列に対する処理の例を示したが、たとえば、図２４に第４実施形態の変形例として示すように、３以上のデータ系列を時分割で処理する場合にも、上記実施形態で説明した技術を同様に適用することが可能である。
【０２００】
また、上記実施形態では、パーソナルコンピュータなどの情報処理装置に本発明に係るデータ処理装置を適用した事例で説明したが、これに限らず、様々な形態の装置に上記実施形態で説明した技術を適用することができる。たとえば、無線ＬＡＮ（Local Area Network）にて使用される基地局としてのアクセスポイントや、端末側の装置に組み込まれるＬＡＮカードなどにも適用することができる。これらの場合の装置構成としては、図１に示したデータ処理装置３の部分を少なくとも含んでいればよいのはいうまでもない。また、エンジン部２００の部分をメインシステム１００に装着される着脱可能なデータ処理装置のモジュール（たとえば基板モジュール）として提供する形態であってもよい。
【０２０１】
また、上記実施形態では、有線方式あるいは無線方式でのネットワークプロトコルにおけるデータ処理について説明したが、ネットワークプロトコルの場合に限らず、処理対象データを暗号化してデータ配布し、配布されたデータを復号化することで、配布されたデータ内容を得る仕組みのもの全てに、上記実施形態で説明した技術を適用することができる。
【０２０２】
たとえば、図１において、処理対象データに暗号化処理と認証処理とを施して処理済みデータをＣＤ−ＲＯＭなどの記録媒体４００に記録して配布し、この後、記録媒体４００から読み出したデータに復号化処理と認証処理とを施すことで、記録媒体４００を介して配布されたデータ内容を得る仕組みにも適用することができる。
【０２０３】
また、上記実施形態では、秘匿処理と認証処理とを、ハードウェア処理回路で行なうことで高速化を図ったアクセラレータシステムに適用した事例で説明したが、秘匿データや認証データをソフトウェアで処理する場合においても、上記実施形態で説明した技術を適用することで、重複処理範囲を複数回転送することに起因した問題を解決できる。
【図面の簡単な説明】
【０２０４】
【図１】本発明に係るデータ処理装置の一実施形態を備えたコンピュータ装置の構成を示したブロック図である。
【図２】処理範囲制御機能を実現するためのシステムアーキテクチャの第１の構成例を示した図である。
【図３】処理範囲制御機能を実現するためのシステムアーキテクチャの第２の構成例を示した図である。
【図４】処理範囲制御機能を実現するためのシステムアーキテクチャの第３の構成例を示した図である。
【図５】処理対象データを各機能部に配布するための制御手法を実現する第１の構成例を示した図である。
【図６】処理対象データを各機能部に配布するための制御手法を実現する第２の構成例を示した図である。
【図７】処理対象データを各機能部に配布するための制御手法を実現する第３の構成例を示した図である。
【図８】第３の構成例に対する変形例を示した図である。
【図９】処理対象データを各機能部に配布するための制御手法を実現する第４の構成例を示した図である。
【図１０】データ処理の第１実施形態において処理対象とするデータの概要を示す図である。
【図１１】第１実施形態において図１０に示したデータを取り扱う場合における、データに着目した処理手順の一例を示すシーケンス図である。
【図１２】第１実施形態において、図１０に示したデータを取り扱う場合における、機能ブロックに着目した処理の概要を示す図である。
【図１３】データ処理の第２実施形態において処理対象とするデータの概要を示す図である。
【図１４】第２実施形態において図１３に示したデータを取り扱う場合における、データに着目した処理手順の一例を示すシーケンス図である。
【図１５】第２実施形態において、図１３に示したデータを取り扱う場合における、機能ブロックに着目した処理の概要を示す図である。
【図１６】データ処理の第３実施形態において処理対象とするデータの概要を示す図である。
【図１７】第３実施形態において図１６に示したデータを取り扱う場合における、データに着目した処理手順の一例を示すシーケンス図である。
【図１８】第３実施形態において、図１６に示したデータを取り扱う場合における、機能ブロックに着目した処理の概要を示す図である。
【図１９】データ処理の第４実施形態において処理対象とするデータの概要を示す図である。
【図２０】第４実施形態において図１９に示したデータを取り扱う場合における、データに着目した処理手順の一例を示すシーケンス図である。
【図２１】第４実施形態において、図１９に示したデータを取り扱う場合における、機能ブロックに着目した処理の概要を示す図である。
【図２２】各実施形態で説明したデータ処理を適用するプロトコルの第１例を説明する図である。
【図２３】各実施形態で説明したデータ処理を適用するプロトコルの第２例を説明する図である。
【図２４】第４実施形態に対する変形例を示した図である。
【図２５】秘匿処理と認証処理とを並列モードで動作させる場合における従来技術の問題点を説明する図である。
【図２６】秘匿処理と認証処理とを連続モードで動作させる場合における従来技術の問題点を説明する図である。
【符号の説明】
【０２０５】
１…コンピュータ装置、３…データ処理装置、１００…メインシステム、１１０…中央処理部、１１２…処理範囲判定部、１１４…処理領域確定部、１１８…レジスタ（記憶部）、１２０…メモリ部、１２２…ＲＯＭ、１２４…ＲＡＭ（主記憶部）、１２５…処理データ格納領域、１２６…ディスクリプタ領域、１５０…インタフェース部、１８０…内部バス、２００…エンジン部、２１０…秘匿処理部、２２０…認証処理部、２３０…制御部、２３２…ＤＭＡコントローラ、２３４…レジスタ（記憶部）、２３６，２３８…バッファメモリ（記憶部）
【図１】
2005148894.tif 000003
【図２】
2005148894.tif 000004
【図３】
2005148894.tif 000005
【図４】
2005148894.tif 000006
【図５】
2005148894.tif 000007
【図６】
2005148894.tif 000008
【図７】
2005148894.tif 000009
【図８】
2005148894.tif 000010
【図９】
2005148894.tif 000011
【図１０】
2005148894.tif 000012
【図１１】
2005148894.tif 000013
【図１２】
2005148894.tif 000014
【図１３】
2005148894.tif 000015
【図１４】
2005148894.tif 000016
【図１５】
2005148894.tif 000017
【図１６】
2005148894.tif 000018
【図１７】
2005148894.tif 000019
【図１８】
2005148894.tif 000020
【図１９】
2005148894.tif 000021
【図２０】
2005148894.tif 000022
【図２１】
2005148894.tif 000023
【図２２】
2005148894.tif 000024
【図２３】
2005148894.tif 000025
【図２４】
2005148894.tif 000026
【図２５】
2005148894.tif 000027
【図２６】
2005148894.tif 000028