説明

データ処理装置およびデータ転送システム

【課題】処理の煩雑性の増加や、パフォーマンスの劣化を生じさせることなく、PCIバス上を流れるデータを効率的に暗号化することができ、かつ暗号化強度も保つ。
【解決手段】PCIターゲットデバイス10のバースト検知部14は、PCIマスタデバイス1からアクセスがあると、バーストアクセスであるか否かを検知する。バーストライトアクセスの場合には、セレクタ15により、128ビット復号化部13の出力を選択し、シングルライトアクセスの場合には、セレクタ15により、32ビット復号化部12の出力を選択する。同様に、バーストリードアクセスの場合には、セレクタ20により、128ビット暗号化部19の出力を選択し、シングルリードアクセスの場合には、セレクタ20により、32ビット暗号化部18の出力を選択する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、PCIバスを介してデータ転送されるデータに対して所定の処理を行うデータ処理装置およびデータ転送システムに関する。
【背景技術】
【0002】
複合機の内部には、データ処理を行う様々な機能が内蔵されており、その機能間のデータの受け渡しは、PCIバスを介して行われている。PCIバス上には、画像データのような大容量のデータが流れる場合もあれば、PCIデバイスの設定情報など、バイト単位のデータも流れる。一般に、暗号化の単位は、大きければ暗号強度が強くなるが、暗号単位を大きく取ると、バイト単位のデータの暗号化が出来なくなるという問題がある。
【0003】
ところで、従来、情報の通信処理における機密保護レベルを向上させるために、利用者が定めた何らかの規則、例えば、1セッション毎に暗号化方法を切り替えるといったような規則により、複数の暗号/復号化手段をテーブル化した暗号化方式テーブルから暗号手段を選択する技術が提案されている(例えば、特許文献1参照)。
【0004】
【特許文献1】特開平9−149023号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明は、処理の煩雑性の増加や、パフォーマンスの劣化を生じさせることなく、PCIバス上を流れるデータを効率的に暗号化することができ、かつ暗号化強度も保つことができるデータ処理装置及びデータ転送システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的達成のため、請求項1記載の発明によるデータ処理装置は、PCIバスを介してデータ転送するデータ処理装置であって、それぞれが異なる暗号化方式を有する複数の暗号化手段を具備し、前記PCIバスを介して接続された他のデータ装置からのデータアクセス方式を判別するデータアクセス方式判別手段と、前記データアクセス方式判別手段によって判別されたデータアクセス方式に基づいて、前記複数の暗号化手段の中から、データを暗号化するために用いる暗号化手段を選択する選択手段とを具備し、前記選択手段により選択された暗号化手段は、自身の暗号化方式に基づいて、前記他のデータ装置にデータ転送すべきデータを暗号化することを特徴とする。
【0007】
本発明の請求項2は、請求項1記載のデータ処理装置において、それぞれが異なる復号化方式を有する複数の復号化手段と、前記選択手段は、前記データアクセス方式判別手段によって判別されたデータアクセス方式に基づいて、前記複数の復号化手段の中から、暗号データを復号するために用いる復号化手段を選択し、前記選択手段により選択された復号化手段は、自身の復号化方式に基づいて、前記他のデータ装置からデータ転送される暗号データを復号することを特徴とする。
【0008】
本発明の請求項3は、請求項2記載のデータ処理装置において、前記他のデータ装置にデータ転送すべきデータのデータサイズを判別するデータサイズ判別手段を具備し、前記選択手段は、前記データサイズ判別手段によって判別されたデータサイズに基づいて、前記複数の暗号化手段の中から、データを暗号化するために用いる暗号化手段を選択することを特徴とする。
【0009】
本発明の請求項4は、請求項3記載のデータ処理装置において、前記複数の暗号化手段は、少なくとも、バースト単位の暗号化手段と1ワード単位の暗号化手段とからなり、前記選択手段は、前記データサイズ判別手段によって判別されたデータサイズが所定のサイズ未満になると、前記複数の暗号化手段の中から前記1ワード単位の暗号化手段を、データを暗号化するために用いる暗号化手段として選択することを特徴とする。
【0010】
本発明の請求項5は、請求項2記載のデータ処理装置において、前記複数の暗号化手段は、少なくとも1ワード単位の暗号化手段からなり、前記データアクセス方式判別手段によって判別されたデータアクセス方式がリードアクセス時には、前記1ワード単位の暗号化手段を用いてデータを暗号化することを特徴とする。
【0011】
本発明の請求項6は、請求項2記載のデータ処理装置において、データアクセス方式のうち、少なくとも1つを非暗号方式に対応付け、前記データアクセス方式判別手段によって判別されたデータアクセス方式が前記非暗号方式に対応する場合、暗号化されないデータをそのまま転送することを特徴とする。
【0012】
本発明の請求項7は、請求項1記載のデータ処理装置において、前記複数の暗号化手段をデータの暗号化に用いるか否かを設定可能であることを特徴とする。
【0013】
また、上記目的達成のため、請求項8記載の発明によるデータ処理装置は、PCIバスを介してデータ転送するデータ処理装置であって、それぞれが異なる暗号化方式を有する複数の暗号化手段と、前記暗号化方式に対応する複数の復号化手段と、他のデータ処理装置に転送すべきデータサイズに基づいて、前記複数の暗号化手段の中から、前記他のデータ処理装置に転送すべきデータを暗号化するための暗号化手段を選択する暗号方式選択手段と、前記他のデータ処理装置から受信すべきデータサイズに基づいて、前記複数の復号化手段の中から、前記他のデータ処理装置からの暗号データを復号するための復号化手段を選択する復号方式選択手段とを具備することを特徴とする。
【0014】
本発明の請求項9は、請求項8記載のデータ処理装置において、前記複数の復号化手段は、少なくとも、バースト単位の復号化手段と1ワード単位の復号化手段とからなり、前記他のデータ処理装置からアクセスが途中で打ち切られたことを検知するディスコネクト検知手段を具備し、前記復号方式選択手段は、前記ディスコネクト検知手段によってアクセスが打ち切られたことが検知されると、前記複数の復号化手段の中から、前記他のデータ処理装置からの暗号データを復号するために、前記1ワード単位の復号化手段を選択することを特徴とする。
【0015】
さらに上記目的達成のため、請求項10記載の発明によるデータ転送システムは、マスタデバイスとターゲットデバイスとの間でPCIバスを介してデータ転送する転送システムであって、前記マスタデバイスは、それぞれが異なる暗号化方式を有する複数の第1の暗号化手段と、前記暗号化方式に対応する複数の第1の復号化手段と、前記ターゲットデバイスに転送すべきデータサイズに基づいて、前記複数の第1の暗号化手段の中から、前記ターゲットデバイスに転送すべきデータを暗号化するための第1の暗号化手段を選択する第1の選択手段と、前記ターゲットデバイスから受信すべきデータサイズに基づいて、前記複数の第1の復号化手段の中から、前記ターゲットデバイスからの暗号データを復号するための第1の復号化手段を選択する第2の選択手段とを具備し、前記ターゲットデバイスは、それぞれが異なる暗号化方式を有する複数の第2の暗号化手段と、前記暗号化方式に対応する複数の第2の復号化手段と、前記マスタデバイスからのデータアクセス方式を判別するデータアクセス方式判別手段と、前記データアクセス方式判別手段によって判別されたデータアクセス方式に基づいて、前記複数の第2の復号化手段の中から、前記マスタデバイスからデータ転送される暗号データを復号するための第2の復号化手段を選択する第3の選択手段と、前記データアクセス方式判別手段によって判別されたデータアクセス方式に基づいて、前記複数の第2の暗号化手段の中から、前記マスタデバイスに転送すべきデータを暗号化するための第2の暗号化手段を選択する第4の選択手段とを具備することを特徴とする。
【発明の効果】
【0016】
この発明によれば、データアクセス方式判別手段により、PCIバスを介して接続された他のデータ装置からのデータアクセス方式を判別し、選択手段によって、該判別されたデータアクセス方式に基づいて、複数の暗号化手段の中から、データを暗号化するために用いる暗号化手段を選択し、該選択された暗号化手段により、自身の暗号化方式に基づいて、他のデータ装置にデータ転送すべきデータを暗号化するようにしたので、処理の煩雑性の増加や、パフォーマンスの劣化を生じさせることなく、PCIバス上を流れるデータを効率的に暗号化することができ、かつ暗号化強度も保つことができるという利点が得られる。
【発明を実施するための最良の形態】
【0017】
以下、本発明の実施の形態を、図面を参照して説明する。
A.第1実施形態
A−1.第1実施形態の構成
図1は、本発明の第1実施形態によるデータ処理装置を用いたPCIデバイスの構成を示すブロック図である。図において、PCIマスタデバイス1とPCIターゲットデバイス10とは、データ転送する際にデータを暗号化するようになっている。PCIマスタデバイス1は、32ビット暗号化部2、128ビット暗号化部3、セレクタ4、PCI I/F部5、32ビット復号化部6、128ビット復号化部7、セレクタ8を備えている。なお、データ処理系も当然備えているが、説明を簡単にするために省略している。
【0018】
32ビット暗号化部2は、当該PCIマスタデバイス1からPCIターゲットデバイス10に対して、小容量のデータ(ワードアクセス)を転送する際に、データを32ビット暗号化してセレクタ4に出力する。128ビット暗号化部3は、当該PCIマスタデバイス1からPCIターゲットデバイス2に対して、画像データのような大容量のデータ(バーストアクセス)を転送する際に、データを128ビット暗号化してセレクタ4に出力する。
【0019】
セレクタ4は、転送するデータサイズに従って、上記32ビット暗号化部2の出力、すなわち、32ビット暗号データか、128ビット暗号化部3の出力、すなわち、128ビット暗号データのいずれか一方を選択的にPCI I/F部5に出力する。より具体的には、データサイズが32ビット長の場合には、32ビット暗号化部2の出力である32ビット暗号データをPCI I/F部5に出力し、データサイズが128ビット長の場合には、128ビット暗号化部3の出力である128ビット暗号データをPCI I/F部5に出力する。
【0020】
PCI I/F部5は、当該PCIマスタデバイス1からPCIターゲットデバイス10にデータ転送する場合(ライトアクセス)には、セレクタ4の出力、すなわち、32ビット暗号データか、128ビット暗号データのいずれか一方をPCIターゲットデバイス10に出力する。また、PCI I/F部5は、PCIターゲットデバイス10から当該PCIマスタデバイス1へデータ転送する場合(リードアクセス)には、PCIターゲットデバイス10からの暗号化データ、この場合、32ビット暗号データか、128ビット暗号データのいずれか一方を、32ビット復号化部6および128ビット復号化部7に出力する。どちらのデータ長であるかは、当該PCIマスタデバイス1からPCIターゲットデバイス2に対してリードアクセスする際に指定するので、当該PCIマスタデバイス1側で既知である。
【0021】
32ビット復号化部6は、当該PCIマスタデバイス1からの32ビット暗号データを復号してセレクタ8に出力する。128ビット復号化部7は、当該PCIマスタデバイス1からの128ビット暗号データを復号してセレクタ8に出力する。セレクタ8は、復号化したデータサイズに従って、上記32ビット復号化部6の出力、すなわち、32ビット復号データか、128ビット復号化部7の出力、すなわち、128ビット復号データのいずれか一方を選択的に図示しない回路に出力する。より具体的には、データサイズが32ビット長の場合には、32ビット復号化部6の出力である32ビット復号データを出力し、データサイズが128ビット長の場合には、128ビット復号化部7の出力である128ビット復号データを出力する。
【0022】
上述したPCIマスタデバイス1は、PCIターゲットデバイス10に対して、小容量のデータをライトアクセスする場合には、シングルライトアクセス(32ビット暗号データ)を実施し、画像データのような大容量のデータをライトアクセスする場合には、バーストライトアクセス(128ビット暗号データ)を実施する。リードアクセスする場合も同様である。
【0023】
次に、PCIターゲットデバイス10は、PCI I/F部11、32ビット復号化部12、128ビット復号化部13、バースト検知部14、セレクタ15、出力側I/F部16、入力側I/F部17、32ビット暗号化部18、128ビット暗号化部19、セレクタ20を備えている。
【0024】
PCI I/F部11は、PCIマスタデバイス1から当該PCIターゲットデバイス10にデータ転送される場合(マスタ側から見てライトアクセス)には、PCIマスタデバイス1からの暗号化データ、この場合、32ビット暗号データか、128ビット暗号データのいずれかを、32ビット復号化部12および128ビット復号化部13に出力する。また、PCI I/F部11は、当該PCIターゲットデバイス10から当該PCIマスタデバイス1へデータ転送する場合(マスタ側から見てリードアクセス)には、セレクタ19の出力、すなわち、32ビット暗号データか、128ビット暗号データのいずれか一方をPCIターゲットデバイス10に出力する。どちらのデータ長であるかは、当該PCIマスタデバイス1からPCIターゲットデバイス2に対してリードアクセスする際に指定される。
【0025】
32ビット復号化部12は、PCI I/F部11から供給される、PCIマスタデバイス1からの32ビット暗号データを復号してセレクタ15に出力する。128ビット復号化部13は、PCI I/F部11から供給される、PCIマスタデバイス1からの128ビット暗号データを復号してセレクタ15に出力する。バースト検知部14は、PCIバスの制御ラインの状態を監視することで、転送されるデータが32ビット長のシングルアクセスであるか、128ビット長のバーストアクセスであるかを検知し、検知結果をセレクタ15、20に出力する。詳細は後述するが、マスタ側がこれから有効なデータを送信することを示すIRDY信号がアサートになったときの1サイクルの始まりを示すFRAM信号の状態(アサートか、ネゲートか)で、シングルアクセスであるのか、バーストアクセスであるのかを検知するようになっている。
【0026】
セレクタ15は、バースト検知部14からの検知結果に従って、32ビット復号化部12で復号化された32ビット復号データ、または128ビット復号化部13で復号化された128ビット復号データのいずれか一方を選択的に出力側I/F部16に出力する。具体的には、シングルライトアクセスである場合には、32ビット復号化部12の出力である32ビット復号データを選択し、バーストライトアクセスである場合には、128ビット復号化部13の出力である128ビット復号データを選択するようになっている。
【0027】
次に、出力側I/F部16は、ネットワークに接続され、セレクタ15からの暗号データをネットワークに出力する。入力側I/F部17は、ネットワークに接続され、ネットワーク上の他の機器からのデータを受け取り、32ビット暗号化部18及び128ビット暗号化部19に出力する。
【0028】
32ビット暗号化部18は、入力側I/F部17から供給されるデータを32ビット暗号化してセレクタ20に出力する。また、128ビット暗号化部19は、入力側I/F部17から供給されるデータを128ビット暗号化してセレクタ20に出力する。セレクタ20は、バースト検知部14からの検知結果に従って、32ビット暗号化部18で暗号化された32ビット暗号データ、または128ビット暗号化部19で暗号化された128ビット暗号データのいずれか一方を選択的にPCI I/F部11に出力する。具体的には、シングルリードアクセスである場合には、32ビット暗号化部18で暗号化された32ビット暗号データを選択し、バーストリードアクセスである場合には、128ビット暗号化部19で暗号化された128ビット暗号データを選択するようになっている。
【0029】
A−2.第1実施形態の動作
次に、本第1実施形態の動作について説明する。
【0030】
(1)シングルライトアクセス
図2は、本第1実施形態によるデータ処理装置の動作(シングルライトアクセス)を説明するためのタイミングチャートである。図において、CLKはクロック、ADはアドレスデータ及びデータ信号、CBEはコマンドバイトイネーブル信号、FRAMEはフレーム信号、IRDYはイニシエータレディ信号、TRDYはターゲットレディ信号、STOPはストップ信号、PCI_DEVSELはデバイスセレクト信号である。また、図においては、各信号は、アクティブローで示されている。従って、ローレベルでアサート(有効)、ハイレベルでネゲート(無効)となる。なお、各信号は、PCIデバイスにおける信号伝送に準じたものであり、周知であるので説明を省略する。
【0031】
PCIマスタデバイス1側から32ビットのデータを暗号化して出力する。このとき、PCIマスタデバイス1側は、送り出すデータのサイズが分かっているので、32ビット暗号化部2で暗号化し、セレクタ4、PCI I/F部5を介して、32ビット暗号データとして出力する。このとき、PCIマスタデバイス1から出力される制御線は、1ワード目のアクセス(タイミングA)で、FRAMEがネゲートされ、かつ、IRDYがアサートされる。
【0032】
PCIターゲットデバイス10側では、バースト検知部11によって、上記タイミングAで、FRAMEがネゲートされ、かつ、IRDYがアサートされたことが検出されるので、シングルアクセスであることが認識され、セレクタ15に対して、32ビット復号化部12の出力を選択すべく指示される。
【0033】
次に、PCIマスタデバイス1から暗号化されたデータ、この場合、32ビット暗号データが転送されてくると(図示のDAT)、PCIターゲットデバイス10側では、PCI I/F部11を介して、32ビット復号化部12及び128ビット復号化部13に供給される。この場合、32ビット暗号データであるので、32ビット復号化部12によって、32ビット暗号データが復号されてセレクタ15に出力される。セレクタ15では、バースト検知部14からの検知結果に従って、32ビット復号化部12の出力である32ビット復号データが選択され、出力側I/F部16に出力される。出力側I/F部16では、上記32ビット復号データをネットワーク上に出力する。
【0034】
(2)バーストライトアクセス
図3は、本第1実施形態によるデータ処理装置の動作(バーストライトアクセス)を説明するためのタイミングチャートである。図において、各信号については前述した通りである。PCIマスタデバイス1側から128ビットのデータを暗号化して出力する。このとき、PCIマスタデバイス1側は、送り出すデータのサイズが分かっているので、128ビット暗号化部3で暗号化し、セレクタ4、PCI I/F部5を介して、128ビット暗号データとして出力する。このとき、PCIマスタデバイス1から出力される制御線は、1ワード目のアクセス(タイミングB)で、FRAMEがアサートされ、かつ、IRDYがアサートされる。
【0035】
PCIターゲットデバイス10側では、バースト検知部11によって、上記タイミングBで、FRAMEがアサートされ、かつ、IRDYがアサートされたことが検出されるので、バーストアクセスであることが認識され、セレクタ15に対して、128ビット復号化部13の出力を選択すべく指示される。
【0036】
次に、PCIマスタデバイス1から暗号化されたデータ、この場合、128ビット暗号データが転送されてくると、PCIターゲットデバイス10側では、PCI I/F部11を介して、32ビット復号化部12及び128ビット復号化部13に供給される。この場合、128ビット暗号データであるので、128ビット復号化部13によって、128ビット暗号データが復号されてセレクタ15に出力される。セレクタ15では、バースト検知部14からの検知結果に従って、128ビット復号化部13の出力である128ビット復号データが選択され、出力側I/F部16に出力される。出力側I/F部16では、上記128ビット復号データをネットワーク上に出力する。
【0037】
(3)シングルリードアクセス
図4は、本第1実施形態によるデータ処理装置の動作(シングルリードアクセス)を説明するためのタイミングチャートである。図において、各信号については前述した通りである。PCIマスタデバイス1は、32ビットのデータをリードアクセスすべく、制御線を1ワード目のアクセス(タイミングC)で、FRAMEをネゲートし、かつ、IRDYをアサートで出力する。
【0038】
PCIターゲットデバイス10側では、バースト検知部11によって、上記タイミングAで、FRAMEがネゲートされ、かつ、IRDYがアサートされたことが検出されるので、シングルリードアクセスであることが認識され、セレクタ20に対して、32ビット暗号化部18の出力を選択すべく指示される。
【0039】
一方、PCIターゲットデバイス10側では、入力側I/F部17からのデータ、この場合、32ビットデータが、32ビット暗号化部18及び128ビット暗号化部19に供給される。この場合、32ビットデータであるので、32ビット暗号化部18によって、32ビットデータが暗号化されてセレクタ20に出力される。セレクタ20では、バースト検知部14からの検知結果に従って、32ビット暗号化部18の出力である32ビット暗号データが選択され、PCI I/F部11に出力される。PCI I/F部11は、上記32ビット暗号データを、PCIバスを介して、PCマスタデバイス1に送信する。
【0040】
PCマスタデバイス1では、上記32ビット暗号データをPCI I/F部5で受信し、32ビット復号化部6及び128ビット復号化部7に出力する。この場合、32ビット暗号データであるので、32ビット復号化部6によって復号化され、セレクタ8により選択的に図示しない回路へ出力される。
【0041】
(4)バーストリードアクセス
図5は、本第1実施形態によるデータ処理装置の動作(バーストリードアクセス)を説明するためのタイミングチャートである。図において、各信号については前述した通りである。PCIマスタデバイス1は、128ビットのデータをリードアクセスすべく、制御線を1ワード目のアクセス(タイミングD)で、FRAMEをアサートし、かつ、IRDYをアサートで出力する。
【0042】
PCIターゲットデバイス10側では、バースト検知部11によって、上記タイミングAで、FRAMEがアサートされ、かつ、IRDYがアサートされたことが検出されるので、バーストリードアクセスであることが認識され、セレクタ20に対して、128ビット暗号化部19の出力を選択すべく指示される。
【0043】
一方、PCIターゲットデバイス10側では、入力側I/F部17からのデータ、この場合、128ビットデータが、32ビット暗号化部18及び128ビット暗号化部19に供給される。この場合、128ビットデータであるので、128ビット暗号化部19によって、128ビットデータが暗号化されてセレクタ20に出力される。セレクタ20では、バースト検知部14からの検知結果に従って、128ビット暗号化部19の出力である128ビット暗号データが選択され、PCI I/F部11に出力される。PCI I/F部11は、上記128ビット暗号データを、PCIバスを介して、PCマスタデバイス1に送信する。
【0044】
PCマスタデバイス1では、上記128ビット暗号データをPCI I/F部5で受信し、32ビット復号化部6及び128ビット復号化部7に出力する。この場合、128ビット暗号データであるので、128ビット復号化部7によって復号化され、セレクタ8により選択的に図示しない回路へ出力される。
【0045】
上述した第1実施形態によれば、PCIバス上を流れるデータの暗号化方式を1回のアクセス単位のデータサイズ(シングルアクセスか、バーストアクセスか)で自動的に切り換えるようにしたので、処理の煩雑性の増加や、パフォーマンスの劣化を生じさせることなく、PCIバス上を流れるデータを効率的に暗号化することができ、かつ暗号化強度を保つことができる。
【0046】
B.第2実施形態
次に、本発明の第2実施形態について説明する。
上述した第1実施形態では、PCIマスタデバイス1側が指定してくるアクセス方式によって暗号化方式を切り換えていたが、リードアクセスの場合には、PCIターゲットデバイス10側が必ずしもPCIマスタデバイス1が要求してくるアクセス方式に対応できるとは限らない。例えば、PCIマスタデバイス1が4ワードのバーストアクセスをしてきた時に、PCIターゲットデバイス10側が出力できるデータが1ワードしかなかった場合などである。そこで、本第2実施形態では、PCIターゲットデバイス10側は、バースト検知結果で暗号化方式を選択するのではなく、データサイズによって暗号化方式を選択する。
【0047】
B−1.第2実施形態の構成
ここで、図6は、本第2実施形態によるデータ処理装置を用いたPCIデバイスの構成を示すブロック図である。なお、図1に対応する部分には同一の符号を付けて説明を省略する。図において、PCIターゲットデバイス10において、データサイズ判別部21は、リードアクセス時に、PCIマスタデバイス1側に送信すべきデータのデータサイズを判別し、該判別結果をセレクタ20に出力する。セレクタ20は、データサイズが128ビット未満であった場合には、32ビット暗号化を自動的に選択するようになっている。そして、PCIマスタデバイス1によるバーストアクセスに対しては、ディスコネクトで応答する。また、PCIマスタデバイス1において、ディスコネクト検知部9は、バーストアクセス中のSTOP信号がアサートされたか否かで、ディスコネクトの有無を検知する。そして、ディスコネクトが検知された場合には、32ビット復号化部6を選択するように、セレクタ8を切り換える。
【0048】
B−2.第2実施形態の動作
次に、上述した第2実施形態の動作について説明する。なお、シングルライトアクセス、バーストライトアクセスについては、前述した第1実施形態と同じであるので説明を省略し、シングルリードアクセス及びバーストリードアクセスについてのみ説明する。
【0049】
(1)シングルリードアクセス
PCIマスタデバイス1は、32ビットのデータをリードアクセスすべく、制御線を1ワード目のアクセス(タイミングC)で、FRAMEをネゲートし、かつ、IRDYをアサートで出力する。
【0050】
PCIターゲットデバイス10側では、バースト検知部11によって、上記タイミングAで、FRAMEがネゲートされ、かつ、IRDYがアサートされたことが検出されるので、シングルリードアクセスであることが認識される。一方、入力側I/F部17からの32ビットデータが、32ビット暗号化部18及び128ビット暗号化部19に供給される。この場合、32ビットデータであるので、32ビット暗号化部18によって、32ビットデータが暗号化されてセレクタ20に出力される。セレクタ20では、32ビット暗号化部18の出力が選択され、32ビット暗号データがPCI I/F部11に出力される。PCI I/F部11は、上記32ビット暗号データを、PCIバスを介して、PCマスタデバイス1に送信する。
【0051】
PCマスタデバイス1では、上記32ビット暗号データをPCI I/F部5で受信し、32ビット復号化部6及び128ビット復号化部7に出力する。この場合、ディスコネクト検知部9では、ディスコネクトが検知されないので、セレクタ8では、32ビット復号化部6によって復号化された32ビット復号化データが選択され、図示しない回路へ出力される。
【0052】
(2)バーストリードアクセス
PCIマスタデバイス1は、128ビットのデータをリードアクセスすべく、制御線を1ワード目のアクセス(タイミングD)で、FRAMEをアサートし、かつ、IRDYをアサートで出力する。
【0053】
PCIターゲットデバイス10側では、バースト検知部11によって、上記タイミングAで、FRAMEがアサートされ、かつ、IRDYがアサートされたことが検出されるので、バーストリードアクセスであることが認識される。
【0054】
バーストリードアクセスであるので、入力側I/F部17からは、128ビットデータが32ビット暗号化部18及び128ビット暗号化部19に供給される。この場合、128ビットデータであるので、128ビット暗号化部19によって128ビットデータが暗号化されてセレクタ20に出力される。セレクタ20では、データサイズが32ビットであるので、32ビット暗号化部18の出力が選択され、32ビット暗号データがPCI I/F部11に出力される。PCI I/F部11は、上記32ビット暗号データを、PCIバスを介して、PCマスタデバイス1に送信する。
【0055】
上記データ転送において、データサイズ判別部21によって、PCIターゲットデバイス10側が出力できるデータが1ワードしかないと判別された場合、PCIマスタデバイス1によるバーストアクセスに対して、STOP信号をアサートしてディスコネクトで応答する。この場合、セレクタ20では、自動的に32ビット暗号化部18の出力が選択され、32ビット暗号データがPCI I/F部11に出力される。PCI I/F部11は、上記32ビット暗号データを、PCIバスを介して、PCマスタデバイス1に送信する。
【0056】
PCIマスタデバイス1では、ディスコネクト検知部9によって、バーストアクセス中のSTOP信号がアサートで、ディスコネクトが検知されるので、32ビット復号化部6を選択するようにセレクタ8を切り換える。この結果、セレクタ8では、32ビット復号化部6によって復号化された32ビット復号データが選択され、図示しない回路へ出力される。
【0057】
上述した第2実施形態によれば、PCIターゲットデバイス10側が必ずしもPCIマスタデバイス1が要求してくるアクセス方式に対応できない場合であっても、データサイズによって暗号化方式を選択するようにしたので、処理の煩雑性の増加や、パフォーマンスの劣化を生じさせることなく、PCIバス上を流れるデータを効率的に暗号化することができ、かつ暗号化強度も保つことができる。
【0058】
C.第3実施形態
次に、本発明の第3実施形態について説明する。
本第3実施形態は、上述した第2実施形態に比べ、暗号強度がリードアクセス時のみ低下するが、回路構成を格段に簡素化にした構成を提供する。PCIマスタデバイス1からのリードアクセスの場合、PCIターゲットデバイス10の状態によっては、バーストアクセスに応答できないことが想定される。例えば、PCIターゲットデバイス10の処理速度がPCIマスタデバイス1の要求に間に合わない場合や、データサイズが端数であった場合などである。そこで、本第3実施形態では、このようなことを考慮して、リードアクセス時のみ、32ビット暗号化に固定する。
【0059】
C−1.第3実施形態の構成
ここで、図7は、本第3実施形態によるデータ処理装置を用いたPCIデバイスの構成を示すブロック図である。なお、図1に対応する部分には同一の符号を付けて説明を省略する。図において、PCIマスタデバイス1側では、128ビット復号化部7及びセレクタ8を取り除いた構成としている。一方、PCIターゲットデバイス10側では、128ビット暗号化部19及びセレクタ20を取り除いた構成としている。
【0060】
C−2.第3実施形態の動作
次に、上述した第3実施形態の動作について説明する。なお、シングルライトアクセス、バーストライトアクセスについては、前述した第1実施形態と同じであるので説明を省略し、シングルリードアクセス及びバーストリードアクセスについてのみ説明する。
【0061】
(1)シングルリードアクセス及びバーストリードアクセス
PCIマスタデバイス1は、シングルリードアクセスを行う場合には、制御線を1ワード目のアクセスで、FRAMEをネゲートし、かつ、IRDYをアサートで出力する。また、バーストリードアクセスを行う場合には、制御線を1ワード目のアクセス(タイミングD)で、FRAMEをアサートし、かつ、IRDYをアサートで出力する。
【0062】
いずれの場合においても、PCIターゲットデバイス10側では、バースト検知部11によって、FRAMEがネゲートされ、かつ、IRDYがアサートされたこと、あるいはFRAMEがアサートされ、かつ、IRDYがアサートされたことから、シングルリードアクセス、あるいはバーストリードアクセスであることが認識される。この結果、入力側I/F部17からの32ビットデータは、32ビット暗号化部18で暗号化され、32ビット暗号データとしてPCI I/F部11に出力される。PCI I/F部11は、上記32ビット暗号データを、PCIバスを介して、PCマスタデバイス1に送信する。
【0063】
PCマスタデバイス1では、PCI I/F部5で受信した上記32ビット暗号データが32ビット復号化部6によって復号化され、32ビット復号化データとして、図示しない回路へ出力される。
【0064】
上述した第3実施形態によれば、リードアクセス時のみ、32ビット暗号化に固定するようにしたので、リードアクセス時における暗号強度が低下するものの、格段に簡素化にした回路構成とすることができる。
【0065】
D.第4実施形態
次に、本発明の第3実施形態について説明する。
本第4実施形態は、データサイズによって暗号化方式を予め設定しておくようにする。すなわち、データサイズが128ビットの整数倍のときは128ビット暗号化方式とし、それ以外は32ビット暗号化方式とするようにしてもよい。
【0066】
上述した第1ないし第4実施形態によれば、処理の煩雑性の増加や、パフォーマンスの劣化を生じさせることなく、PCIバス上を流れるデータを効率的に暗号化することができ、かつ暗号化強度も保つことができる。
【0067】
なお、上述した第1ないし第4実施形態以外の変形例として、データアクセス方式によって、暗号化するか否かを切り換えるようにしてもよい。すなわち、バーストアクセス時は128ビット暗号化してデータ転送し、シングルアクセス時は暗号化せずに生データのままデータ転送するようにしてもよい。
また、他の変形例として、暗号化方式を使うか使わないかをシステムの用途に応じて利用者により設定可能としてもよい。
【図面の簡単な説明】
【0068】
【図1】本発明の第1実施形態によるデータ処理装置を用いたPCIデバイスの構成を示すブロック図である。
【図2】本第1実施形態によるデータ処理装置の動作(シングルライトアクセス)を説明するためのタイミングチャートである。
【図3】本第1実施形態によるデータ処理装置の動作(バーストライトアクセス)を説明するためのタイミングチャートである。
【図4】本第1実施形態によるデータ処理装置の動作(シングルリードアクセス)を説明するためのタイミングチャートである。
【図5】本第1実施形態によるデータ処理装置の動作(バーストリードアクセス)を説明するためのタイミングチャートである。
【図6】本第2実施形態によるデータ処理装置を用いたPCIデバイスの構成を示すブロック図である。
【図7】本第3実施形態によるデータ処理装置を用いたPCIデバイスの構成を示すブロック図である。
【符号の説明】
【0069】
1 PCIマスタデバイス
2 32ビット暗号化部(複数の暗号化手段、複数の第1の暗号化手段)
3 128ビット暗号化部(複数の暗号化手段、複数の第1の暗号化手段)
4 セレクタ(暗号方式選択手段、第1の選択手段)
5 PCI I/F部
6 32ビット復号化部(複数の復号化手段、複数の第1の復号化手段)
7 128ビット復号化部(複数の復号化手段、複数の第1の復号化手段)
8 セレクタ(復号方式選択手段、第2の選択手段)
9 ディスコネクト検知部(ディスコネクト検知手段)
10 PCIターゲットデバイス
11 PCI I/F部
12 32ビット復号化部(複数の復号化手段、複数の第2の復号化手段)
13 128ビット復号化部(複数の復号化手段、複数の第2の復号化手段)
14 バースト検知部(データアクセス方式判別手段)
15 セレクタ(選択手段、第3の選択手段)
16 出力側I/F部
17 入力側I/F部
18 32ビット暗号化部(複数の暗号化手段、1ワード単位の暗号化手段、複数の第2の暗号化手段)
19 128ビット暗号化部(複数の暗号化手段、複数の第2の暗号化手段)
20 セレクタ(選択手段、第4の選択手段)
21 データサイズ判別部(データサイズ判別手段)

【特許請求の範囲】
【請求項1】
PCIバスを介してデータ転送するデータ処理装置であって、
それぞれが異なる暗号化方式を有する複数の暗号化手段を具備し、
前記PCIバスを介して接続された他のデータ装置からのデータアクセス方式を判別するデータアクセス方式判別手段と、
前記データアクセス方式判別手段によって判別されたデータアクセス方式に基づいて、前記複数の暗号化手段の中から、データを暗号化するために用いる暗号化手段を選択する選択手段と
を具備し、
前記選択手段により選択された暗号化手段は、自身の暗号化方式に基づいて、前記他のデータ装置にデータ転送すべきデータを暗号化することを特徴とするデータ処理装置。
【請求項2】
それぞれが異なる復号化方式を有する複数の復号化手段と、
前記選択手段は、前記データアクセス方式判別手段によって判別されたデータアクセス方式に基づいて、前記複数の復号化手段の中から、暗号データを復号するために用いる復号化手段を選択し、
前記選択手段により選択された復号化手段は、自身の復号化方式に基づいて、前記他のデータ装置からデータ転送される暗号データを復号することを特徴とする請求項1記載のデータ処理装置。
【請求項3】
前記他のデータ装置にデータ転送すべきデータのデータサイズを判別するデータサイズ判別手段を具備し、
前記選択手段は、前記データサイズ判別手段によって判別されたデータサイズに基づいて、前記複数の暗号化手段の中から、データを暗号化するために用いる暗号化手段を選択することを特徴とする請求項2記載のデータ処理装置。
【請求項4】
前記複数の暗号化手段は、少なくとも、バースト単位の暗号化手段と1ワード単位の暗号化手段とからなり、
前記選択手段は、前記データサイズ判別手段によって判別されたデータサイズが所定のサイズ未満になると、前記複数の暗号化手段の中から前記1ワード単位の暗号化手段を、データを暗号化するために用いる暗号化手段として選択することを特徴とする請求項3記載のデータ処理装置。
【請求項5】
前記複数の暗号化手段は、少なくとも1ワード単位の暗号化手段からなり、
前記データアクセス方式判別手段によって判別されたデータアクセス方式がリードアクセス時には、前記1ワード単位の暗号化手段を用いてデータを暗号化することを特徴とする請求項2記載のデータ処理装置。
【請求項6】
データアクセス方式のうち、少なくとも1つを非暗号方式に対応付け、
前記データアクセス方式判別手段によって判別されたデータアクセス方式が前記非暗号方式に対応する場合、暗号化されないデータをそのまま転送することを特徴とする請求項2記載のデータ処理装置。
【請求項7】
前記複数の暗号化手段をデータの暗号化に用いるか否かを設定可能であることを特徴とする請求項1記載のデータ処理装置。
【請求項8】
PCIバスを介してデータ転送するデータ処理装置であって、
それぞれが異なる暗号化方式を有する複数の暗号化手段と、
前記暗号化方式に対応する複数の復号化手段と、
他のデータ処理装置に転送すべきデータサイズに基づいて、前記複数の暗号化手段の中から、前記他のデータ処理装置に転送すべきデータを暗号化するための暗号化手段を選択する暗号方式選択手段と、
前記他のデータ処理装置から受信すべきデータサイズに基づいて、前記複数の復号化手段の中から、前記他のデータ処理装置からの暗号データを復号するための復号化手段を選択する復号方式選択手段と
を具備することを特徴とするデータ処理装置。
【請求項9】
前記複数の復号化手段は、少なくとも、バースト単位の復号化手段と1ワード単位の復号化手段とからなり、
前記他のデータ処理装置からアクセスが途中で打ち切られたことを検知するディスコネクト検知手段を具備し、
前記復号方式選択手段は、前記ディスコネクト検知手段によってアクセスが打ち切られたことが検知されると、前記複数の復号化手段の中から、前記他のデータ処理装置からの暗号データを復号するために、前記1ワード単位の復号化手段を選択することを特徴とする請求項8記載のデータ処理装置。
【請求項10】
マスタデバイスとターゲットデバイスとの間でPCIバスを介してデータ転送する転送システムであって、
前記マスタデバイスは、
それぞれが異なる暗号化方式を有する複数の第1の暗号化手段と、
前記暗号化方式に対応する複数の第1の復号化手段と、
前記ターゲットデバイスに転送すべきデータサイズに基づいて、前記複数の第1の暗号化手段の中から、前記ターゲットデバイスに転送すべきデータを暗号化するための第1の暗号化手段を選択する第1の選択手段と、
前記ターゲットデバイスから受信すべきデータサイズに基づいて、前記複数の第1の復号化手段の中から、前記ターゲットデバイスからの暗号データを復号するための第1の復号化手段を選択する第2の選択手段と
を具備し、
前記ターゲットデバイスは、
それぞれが異なる暗号化方式を有する複数の第2の暗号化手段と、
前記暗号化方式に対応する複数の第2の復号化手段と、
前記マスタデバイスからのデータアクセス方式を判別するデータアクセス方式判別手段と、
前記データアクセス方式判別手段によって判別されたデータアクセス方式に基づいて、前記複数の第2の復号化手段の中から、前記マスタデバイスからデータ転送される暗号データを復号するための第2の復号化手段を選択する第3の選択手段と、
前記データアクセス方式判別手段によって判別されたデータアクセス方式に基づいて、前記複数の第2の暗号化手段の中から、前記マスタデバイスに転送すべきデータを暗号化するための第2の暗号化手段を選択する第4の選択手段と
を具備することを特徴とするデータ転送システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2008−48271(P2008−48271A)
【公開日】平成20年2月28日(2008.2.28)
【国際特許分類】
【出願番号】特願2006−223293(P2006−223293)
【出願日】平成18年8月18日(2006.8.18)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】