(57)【要約】  送信側のホストコンピュータ３００１には、コマンド情報を暗号化するスクランブル回路１０４が配置され、受信側の情報処理全体回路３００３には、前記暗号化されたコマンド情報を復号するデスクランブル回路１０１が配置される。また、インタフェース回路１０３には、変換回路１０２が備えられる。この変換回路１０２は、連続して送信されてくるコマンド情報をメモリモジュール３００４に格納するに際して、少なくとも受信した順番のアドレス並びでは位置させないようにアドレス変換する。従って、コマンド中の秘匿すべき情報が、装置間の通信傍受や回路中の情報格納部位を外部から観測されても、秘匿情報の内容が漏洩することが防止される。
2007102323.tif 000002
【特許請求の範囲】
【請求項１】
記憶手段と、
複数の連続する情報単位からなるコマンド情報及びデータ情報を順番に受け、このコマンド情報及びデータ情報の少なくとも一方の複数の情報単位の一部又は全部を、少なくとも受信した順番のアドレス並びで位置させないようにアドレス変換して、前記記憶手段への格納アドレスを生成する変換手段とを備え、
前記変換手段によりアドレス変換された格納アドレスの並びで前記アドレス変換の対象となったコマンド情報又はデータ情報の各情報単位が前記記憶手段に書き込まれる
ことを特徴とするインタフェース回路。
【請求項２】
前記請求項１記載のインタフェース回路であって、
前記変換手段は、
シーケンシャルな系列がランダムな系列になるような変換Ｆであって、変換元のアドレスｊ（ｊは０≦ｊ＜Ｋを満たす任意の整数）（Ｋは任意の整数）を変換先のアドレスＦ[ｊ]に変換する関数であるとき、
Ｆ［ｊ＋１］≠Ｆ［ｊ］＋１
及び、Ｆ［ｊ＋１］≠Ｆ［ｊ］−１
の双方を満たすように、前記変換Ｆを定義して、アドレス変換する
ことを特徴とするインタフェース回路。
【請求項３】
前記請求項１又は２に記載のインタフェース回路であって、
前記アドレス変換されるコマンド情報又はデータ情報は、暗号化されており、
前記暗号化された前記コマンド情報又はデータ情報を、前記記憶手段に記憶する前に復号するデスクランブル手段を備えた
ことを特徴とするインタフェース回路。
【請求項４】
前記請求項１〜３の何れか１項に記載のインタフェース回路であって、
前記変換手段は、
アドレス変換後の格納アドレスの何れか２つ以上のビット同士を置換して生成したアドレス値を第２のアドレス値として見なしても、前記アドレス変換の対象となったコマンド情報又はデータ情報の複数の情報単位の一部又は全部が、受信した順番に並ぶことがないように、前記格納アドレスを生成する
ことを特徴とするインタフェース回路。
【請求項５】
前記請求項３又は４に記載のインタフェース回路であって、
前記変換手段は、
０≦ｉ＜Ｌ、０≦ｊ＜Ｋを満たす任意の整数の組｛ｉ，ｊ｝（ｉは０≦ｉ＜Ｋを満たす任意の整数）において、
前記変換Ｆで変換された変換先のアドレスＦ[ｊ]の所定の２以上の構成ビット間を所定ルールで置換することを整数ｉ回繰り返して、異なる変換先のアドレスＦ（ｉ）[ｊ]を得るに際し、
Ｆ（ｉ）［ｊ＋１］≠Ｆ（ｉ）［ｊ］＋１
及び、Ｆ（ｉ）［ｊ＋１］≠Ｆ（ｉ）［ｊ］−１
の双方を満たすように、変換Ｆを定義して、アドレス変換する
ことを特徴とするインタフェース回路。
【請求項６】
前記請求項１、３〜５の何れか１項に記載のインタフェース回路であって、
前記記憶手段は、複数の副記憶手段から構成され、
前記アドレス変換の対象となったコマンド情報又はデータ情報の各情報単位が、各々、前記複数の副記憶手段に分割して格納される
ことを特徴とするインタフェース回路。
【請求項７】
前記請求項６に記載のインタフェース回路であって、
前記変換手段は、
前記複数の情報単位の各々を前記複数の副記憶手段に分割して格納するに際し、その複数の情報単位の一部又は全部について、１つの情報単位が分割された複数の分割情報の格納アドレス同士を同一にしないように、格納アドレスを生成する
ことを特徴とするインタフェース回路。
【請求項８】
前記請求項７に記載のインタフェース回路であって、
前記変換手段は、
シーケンシャルな系列がランダムな系列になるような２つの変換Ｆ、変換Ｇであって、変換元のアドレスｊ（ｊは０≦ｊ＜Ｋを満たす任意の整数）（Ｋは任意の整数）を変換先のアドレスＦ[ｊ]、Ｇ［ｊ］に変換する関数であるとき、
Ｆ［ｊ＋１］≠Ｆ［ｊ］＋１
及び、Ｆ［ｊ＋１］≠Ｆ［ｊ］−１
の双方、並びに、
Ｇ［ｊ＋１］≠Ｇ［ｊ］＋１
及び、Ｇ［ｊ＋１］≠Ｇ［ｊ］−１
の双方を満たし、且つ、
０≦ｈ＜Ｌ、０≦ｉ＜Ｌ、０≦ｊ＜Ｋを満たす任意の整数の組｛ｈ，ｉ，ｊ｝（ｈは整数）において、
Ｆ（ｈ）［ｊ］≠Ｇ（ｉ）［ｊ］
を満たすように、前記変換Ｆ、変換Ｇを定義して、アドレス変換する
ことを特徴とするインタフェース回路。
【請求項９】
前記請求項７又は８に記載のインタフェース回路であって、
更に、前記複数の分割情報を前記複数の副記憶手段に格納するに際し、前記複数の分割情報が前記複数の副記憶手段に格納されるタイミングを相互に異ならせるように、前記複数の分割情報を設定時間遅延させる遅延手段を備える
ことを特徴とするインタフェース回路。
【請求項１０】
前記請求項１〜９の何れか１項に記載のインタフェース回路であって、
前記各情報単位は、１語８ビット又は１語１６ビットで構成されるワードデータである
ことを特徴とするインタフェース回路。
【請求項１１】
前記請求項１〜１０の何れか１項に記載のインタフェース回路であって、
複数の情報処理装置間に存在する伝送路を通じて、前記複数の情報処理装置間におけるコマンド情報又はデータ情報を送信又は受信する
ことを特徴とするインタフェース回路。
【請求項１２】
前記請求項１１に記載のインタフェース回路であって、
前記伝送路は、ＡＴＡ／ＩＤＥバス又はＳＣＳＩバスである
ことを特徴とするインタフェース回路。
【請求項１３】
前記請求項１〜１２の何れか１項に記載のインタフェース回路と、
前記インタフェース回路を制御する情報処理回路とを備えた
ことを特徴とする情報処理装置。
【請求項１４】
前記請求項３記載のインタフェース回路と、
前記インタフェース回路を制御する情報処理回路とを備え、
前記情報処理回路は、
ベンダ・ユニーク・コマンドを受信して、初めて、前記インタフェース回路に備えるデスクランブル手段によるコマンド情報の復号化を有効にする
ことを特徴とする情報処理装置。
【請求項１５】
前記請求項１３又は１４に記載の情報処理装置であって、
前記情報処理回路は、前記インタフェース回路を制御すると共に、情報記録媒体からのデータの記録又は再生の制御を行う
ことを特徴とする情報処理装置。
【請求項１６】
前記請求項１３〜１５の何れか１項に記載の情報処理装置と、
前記情報処理装置と通信する第２の情報処理装置とを備えた
ことを特徴とする情報処理システム。
【請求項１７】
前記請求項１６に記載の情報処理システムであって、
前記第２の情報処理装置は、送信する前記コマンド情報を暗号化するスクランブル手段を備えた
ことを特徴とする情報処理システム。
【請求項１８】
前記請求項１７に記載の情報処理システムであって、
前記第２の情報処理装置は、
ベンダ・ユニーク・コマンドを前記請求項１３〜１５の何れか１項に記載の情報処理装置に送信し、
前記ベンダ・ユニーク・コマンドの送信後に、前記スクランブル手段により暗号化したコマンド情報を前記請求項１３〜１５の何れか１項に記載の情報処理装置に送信する
ことを特徴とする情報処理システム。
【請求項１９】
前記請求項１６〜１８の何れか１項に記載の情報処理システムであって、
前記第２の情報処理装置は、ホストコンピュータである
ことを特徴とする情報処理システム。
【請求項２０】
前記請求項１７又は１８に記載の情報処理システムであって、
前記第２の情報処理装置は、ホストコンピュータであり、
前記スクランブル手段は、前記ホストコンピュータ上で実行されるプログラムである
ことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置間における情報通信技術に関し、特にＡＴＡＰＩ（AT Attachment Pachet Interface）やＳＣＳＩ（Small Computer System Interface）などに代表されるディジタル装置間のインタフェース技術に関するものである。
【背景技術】
【０００２】
ＡＴＡＰＩ回路などのインタフェース回路を用いた従来の情報処理装置は、データ伝送については、スクランブル通信を行う装置も存在する（例えば、ＤＶＤドライブ機器におけるコピー・プロテクション技術ＣＳＳ。非特許文献１参照）が、コマンド情報（コマンド・パケット）の伝送については特にデータを加工することなくケーブルを介して通信している（例えば、非特許文献２参照。）。【０００３】
以下、図面を参照しながら従来のインタフェース回路及びそれを用いた情報処理装置の構成を説明する。図１５は従来の情報処理装置及び情報処理システムの一例を示すブロック図である。図１５において、３００１はホストコンピュータ、３００２は情報処理装置、３００３は情報処理全体回路、３００４はメモリモジュール、３００５は情報処理回路を表している。また、Ｓ３０００はインタフェース信号、Ｓ３００１はインタフェース内部信号、Ｓ３００２はメモリ書き込みデータ信号、Ｓ３００３はメモリ読み出しデータ信号、Ｓ３００４はメモリ制御信号を表している。【０００４】
ここで、本明細書中において、メモリ又はメモリモジュールという用語を使うときは、物理的なパッケージを有する、例えば汎用ＳＲＡＭのようなメモリを指すだけでなく、アドレスを介してデータにアクセス可能なあらゆる種類の記憶手段、例えばフリップフロップ回路をも含む用語として使用していることを明記しておく。【０００５】
従来の情報処理システムでは、ホストコンピュータ３００１が情報処理装置３００２とインタフェース信号Ｓ３０００を介して接続されており、コマンドやデータのやり取りを行うことが可能である。【０００６】
初めに、コマンド情報がホストコンピュータ３００１から発行され、インタフェース信号Ｓ３０００を介して情報処理装置３００２に伝達される。通常、複数バイト又は複数ワードからなるコマンド情報は、インタフェース内部信号Ｓ３００１にそのまま伝わり、その信号がメモリ書き込みデータ信号Ｓ３００２を経てメモリモジュール３００４に順次届く。コマンド情報は、情報処理回路３００５からの制御信号であるメモリ制御信号Ｓ３００４によって指定されたアドレスに対して、メモリ制御信号Ｓ３００４によって指定されたタイミングで、順次メモリモジュール３００４に書き込まれて行く。【０００７】
次に、情報処理回路３００５は、メモリ制御信号Ｓ３００４を制御することによってメモリモジュール３００４からコマンド情報を読み出し、メモリ読み出しデータ信号Ｓ３００３を介してコマンド情報を取り込む。そして、そのコマンド情報を解釈し、それが示すコマンド処理を実行する。【０００８】
情報処理回路３００５によるコマンド処理の実行段階において、データ伝送が必要だと判断した場合は、ホストコンピュータ３００１と情報処理装置３００２間のデータ伝送を実行する。ホストコンピュータ３００１から情報処理装置３００２に、データを取り込む方向のデータ伝送を行う場合、基本的にはコマンド情報の伝送と同様の手順によって情報が伝達される。また反対に、情報処理装置３００２からホストコンピュータ３００１に、データを送り出す方向のデータ伝送を行う場合には、情報処理回路３００５からホストコンピュータ３００１に送るべきデータを、メモリ書き込みデータ信号Ｓ３００２に伝達してメモリモジュール３００４に書き込み、ホストコンピュータ３００１の準備ができた時又はホストコンピュータ３００１から要求があった時にメモリモジュール３００４からデータを順次読み出し、メモリ読み出しデータ信号Ｓ３００３とインタフェース内部信号Ｓ３００１を経由してインタフェース信号Ｓ３０００に伝達され、ホストコンピュータ３００１に届く。情報処理回路３００５からメモリモジュール３００４への書き込み経路については、本明細書において詳細に説明する必要がないため、特に図示していないが実際には存在する。【０００９】
次に、図１６を用いてインタフェース回路におけるメモリモジュールの構成と動作について説明する。図１６はインタフェース回路におけるメモリの一例を示すブロック図である。図１６において、３００４はメモリモジュール、３１０２はデコーダ回路、３１０３は所定ビット数で構成される１語のデータを記憶するアクセス単位データ記憶セル群、３１０４はセレクタ回路である。また、Ｓ３１０１はライトイネーブル信号、Ｓ３１０２はメモリ書き込みアドレス信号、Ｓ３１０３はメモリ読み出しアドレス信号、Ｓ３００２はメモリ書き込みデータ信号、Ｓ３００３はメモリ読み出しデータ信号、Ｓ３００４はメモリ制御信号である。【００１０】
尚、アクセス単位データ記憶セル群３１０３は、個々の記憶セルｃｅｌｌ［０］，ｃｅｌｌ［１］，…，ｃｅｌｌ［ＭＳ−１］から構成されている。ＭＳはメモリモジュール内の記憶セル数を表す。本明細書において、記憶セルという用語は、特殊な構造を持つ記憶手段ということを指して用いるのではなく、記憶のための手段という意味で用いることをここに明記しておく。つまり、記憶セルとは、ＳＲＡＭ構造やＤＲＡＭ構造の記憶セルであってもよいし、フリップフロップ回路を主たる構成要素としたディジタル論理回路であってもよい。【００１１】
先ず、メモリモジュール３００４のデータ書き込み動作を説明する。書き込みアドレスをメモリ書き込みアドレス信号Ｓ３１０２によって指定し、書き込みデータをメモリ書き込みデータ信号Ｓ３００２によって指定している状態で、ライトイネーブル信号Ｓ３１０１を１クロック以上アサートすると、指定したアドレスに指定したデータが書き込まれる。【００１２】
次に、メモリモジュール３００４のデータ読み出し動作を説明する。読み出したいアドレスをメモリ読み出しアドレス信号Ｓ３１０３によって指定すると、メモリ読み出しデータ信号Ｓ３００３に読み出しデータが出力される。
ここでは、このメモリモジュール３００４には図示していないクロックを与えることを想定して説明している。本明細書における従来技術の説明や発明の実施形態の説明では、メモリモジュールを同期型メモリとして扱う。しかし、同期型か非同期型かは本質的な問題ではなく、非同期型メモリを用いたとしても、信号の扱いが若干変わるだけで、当業者であれば容易に置き換え可能であることは言うまでも無い。【００１３】
このメモリモジュール３００４は書き込みと読み出しが同時にできるマルチポート型のメモリモジュールということができる。本明細書ではマルチポート型のメモリモジュールによって動作説明を行うことにする。しかしそれは、書き込みと読み出しが調停制御やテンポラリ・バッファなしに行えるメモリモジュールであるというだけであり、シングルポート型のメモリモジュールでも調停用回路やテンポラリ・バッファを付加することにより、マルチポート型のメモリモジュールと同様に使用可能であることは当業者にとって自明である。【００１４】
次に、従来のインタフェース回路におけるコマンド情報受信時のメモリモジュールへの書き込み動作について図１７と既に説明済みの図１５を参照しながら説明する。図１７は、従来のインタフェース回路でのメモリへの書き込み動作の一例を示す図である。図１７において、３００４はメモリモジュール、３２０１は最初の受信データ、３２０２は２番目の受信データ、３２０３は３番目の受信データ、３２０４は４番目の受信データを表している。また、Ｓ３００２はメモリ書き込みデータ信号、Ｓ３００３はメモリ読み出しデータ信号、Ｓ３１０１はライトイネーブル信号、Ｓ３１０２はメモリ書き込みアドレス信号、Ｓ３１０３はメモリ読み出しアドレス信号である。【００１５】
先ず、最初に図１５における情報処理回路３００５は書き込みアドレス値を０に初期化してコマンド情報の受信準備をしている。すなわち、最初の受信データ３２０１がメモリ書き込みデータ信号Ｓ３００２に与えられているとき、並行して、メモリ書き込みアドレス信号Ｓ３１０２には信号値０が与えられている。この時、ライトイネーブル信号Ｓ３１０１が１クロック以上アサートされ、コマンド情報の最初のデータである最初の受信データ３２０１がメモリモジュール３００４のアドレス０に書き込まれる。次に、情報処理回路３００５が書き込みアドレスをインクリメントし、メモリ書き込みアドレス信号Ｓ３１０２に信号値１を与える。先程と同様にして、次は２番目の受信データ３２０２がメモリモジュール３００４のアドレス１に書き込まれる。以後、同様に続けて、受信データが順番に、すなわち、シーケンシャルにメモリモジュール３００４に書き込まれて行く。このようにして、コマンド情報がメモリモジュール３００４に格納される。
【非特許文献１】“ＤＶＤ著作権保護システム”、Ｎａｔｉｏｎａｌ  Ｔｅｃｈｎｉｃａｌ  Ｒｅｐｏｒｔ Ｖｏｌ．４３  Ｎｏ．３  Ｊｕｎ．１９９７、１１８頁〜１２２頁
【非特許文献２】“ＡＴＡ（ＩＤＥ）／ＡＴＡＰＩの徹底研究”、ＣＱ出版社、ＩＳＢＮ４−７８９８−３３２１−６
【発明の開示】
【発明が解決しようとする課題】
【００１６】
これまでに説明したような従来のインタフェース回路を用いた情報処理装置間の通信では、ケーブルの信号線を外部から観測することにより、装置間でやり取りされるコマンドの内容を確認することが可能である。また、そのような装置間の通信を観測するための装置はバス・アナライザとして市販されている。そのため、コマンド又はコマンド・シーケンスの中に秘匿すべき情報が存在する場合、悪意のある者が装置間の通信を傍受して、それを知り得るという問題点があった。【００１７】
更に、スクランブルされていない又はスクランブルを解いた後の伝送データ情報やコマンド・パケットなどのコマンド情報を、インタフェース回路のメモリ上にそのまま格納した場合には、インタフェース回路中の情報格納部位を外部からプローブされて、その情報内容を解析されるリスクが存在するという問題点もあった。たとえインタフェース回路がＬＳＩの内部回路の一部として実装されていたとしても、ＬＳＩ解析用装置を用いればＬＳＩの内部信号を解析することが可能なため、情報の秘匿性において課題があった。
【課題を解決するための手段】
【００１８】
本発明の目的は、装置間の通信を傍受されても、その通信情報中のコマンド情報を知り得ないように、そのコマンド情報を暗号化する場合に、その暗号化されたコマンド情報を復号する機能をインタフェース回路に持たせたり、そのようにコマンド情報を暗号化して装置間で通信する情報処理システムを提供することにある。【００１９】
更に、本発明の他の目的は、インタフェース回路中の情報格納部位を外部からプローブされて、その情報内容が解析されようとしても、格納されたデータ情報やコマンド情報の内容を解析できないようにして、それ等の情報の秘匿性を高めるようにすることにある。【００２０】
以上の目的を達成するため、本発明では、コマンド情報を暗号化して通信し、インターフェース回路でその暗号化されたコマンド情報を復号化するデスクランブル手段を設ける。【００２１】
また、本発明では、複数の情報単位からなるデータ情報又はコマンド情報の各情報単位を、少なくとも受信した順番のアドレス並びで位置させないように記憶手段に格納することとする。【００２２】
具体的に、本発明のインタフェース回路は、記憶手段と、複数の連続する情報単位からなるコマンド情報及びデータ情報を順番に受け、このコマンド情報及びデータ情報の少なくとも一方の複数の情報単位の一部又は全部を、少なくとも受信した順番のアドレス並びで位置させないようにアドレス変換して、前記記憶手段への格納アドレスを生成する変換手段とを備え、前記変換手段によりアドレス変換された格納アドレスの並びで前記アドレス変換の対象となったコマンド情報又はデータ情報の各情報単位が前記記憶手段に書き込まれることを特徴とする。【００２３】
本発明は、前記インタフェース回路であって、前記変換手段は、シーケンシャルな系列がランダムな系列になるような変換Ｆであって、変換元のアドレスｊ（ｊは０≦ｊ＜Ｋを満たす任意の整数）（Ｋは任意の整数）を変換先のアドレスＦ[ｊ]に変換する関数であるとき、
Ｆ［ｊ＋１］≠Ｆ［ｊ］＋１
及び、Ｆ［ｊ＋１］≠Ｆ［ｊ］−１
の双方を満たすように、前記変換Ｆを定義して、アドレス変換することを特徴とする。【００２４】
本発明は、前記インタフェース回路であって、前記アドレス変換されるコマンド情報又はデータ情報は、暗号化されており、前記暗号化された前記コマンド情報又はデータ情報を、前記記憶手段に記憶する前に復号するデスクランブル手段を備えたことを特徴とする。【００２５】
本発明は、前記インタフェース回路であって、前記変換手段は、アドレス変換後の格納アドレスの何れか２つ以上のビット同士を置換して生成したアドレス値を第２のアドレス値として見なしても、前記アドレス変換の対象となったコマンド情報又はデータ情報の複数の情報単位の一部又は全部が、受信した順番に並ぶことがないように、前記格納アドレスを生成することを特徴とする。【００２６】
本発明は、前記インタフェース回路であって、前記変換手段は、０≦ｉ＜Ｌ、０≦ｊ＜Ｋを満たす任意の整数の組｛ｉ，ｊ｝（ｉは０≦ｉ＜Ｋを満たす任意の整数）において、前記変換Ｆで変換された変換先のアドレスＦ[ｊ]の所定の２以上の構成ビット間を所定ルールで置換することを整数ｉ回繰り返して、異なる変換先のアドレスＦ（ｉ）[ｊ]を得るに際し、
Ｆ（ｉ）［ｊ＋１］≠Ｆ（ｉ）［ｊ］＋１
及び、Ｆ（ｉ）［ｊ＋１］≠Ｆ（ｉ）［ｊ］−１
の双方を満たすように、変換Ｆを定義して、アドレス変換することを特徴とする。【００２７】
本発明は、前記インタフェース回路であって、前記記憶手段は、複数の副記憶手段から構成され、前記アドレス変換の対象となったコマンド情報又はデータ情報の各情報単位が、各々、前記複数の副記憶手段に分割して格納されることを特徴とする。【００２８】
本発明は、前記インタフェース回路であって、前記変換手段は、前記複数の情報単位の各々を前記複数の副記憶手段に分割して格納するに際し、その複数の情報単位の一部又は全部について、１つの情報単位が分割された複数の分割情報の格納アドレス同士を同一にしないように、格納アドレスを生成することを特徴とする。【００２９】
本発明は、前記インタフェース回路であって、前記変換手段は、シーケンシャルな系列がランダムな系列になるような２つの変換Ｆ、変換Ｇであって、変換元のアドレスｊ（ｊは０≦ｊ＜Ｋを満たす任意の整数）（Ｋは任意の整数）を変換先のアドレスＦ[ｊ]、Ｇ［ｊ］に変換する関数であるとき、
Ｆ［ｊ＋１］≠Ｆ［ｊ］＋１
及び、Ｆ［ｊ＋１］≠Ｆ［ｊ］−１
の双方、並びに、
Ｇ［ｊ＋１］≠Ｇ［ｊ］＋１
及び、Ｇ［ｊ＋１］≠Ｇ［ｊ］−１
の双方を満たし、且つ、
０≦ｈ＜Ｌ、０≦ｉ＜Ｌ、０≦ｊ＜Ｋを満たす任意の整数の組｛ｈ，ｉ，ｊ｝（ｈは整数）において、
Ｆ（ｈ）［ｊ］≠Ｇ（ｉ）［ｊ］
を満たすように、前記変換Ｆ、変換Ｇを定義して、アドレス変換することを特徴とする。【００３０】
本発明は、前記インタフェース回路であって、更に、前記複数の分割情報を前記複数の副記憶手段に格納するに際し、前記複数の分割情報が前記複数の副記憶手段に格納されるタイミングを相互に異ならせるように、前記複数の分割情報を設定時間遅延させる遅延手段を備えることを特徴とする。【００３１】
本発明は、前記インタフェース回路であって、前記各情報単位は、１語８ビット又は１語１６ビットで構成されるワードデータであることを特徴とする。【００３２】
本発明は、前記インタフェース回路であって、複数の情報処理装置間に存在する伝送路を通じて、前記複数の情報処理装置間におけるコマンド情報又はデータ情報を送信又は受信することを特徴とする。【００３３】
本発明は、前記インタフェース回路であって、前記伝送路は、ＡＴＡ／ＩＤＥバス又はＳＣＳＩバスであることを特徴とする。【００３４】
本発明の情報処理装置は、前記インタフェース回路と、前記インタフェース回路を制御する情報処理回路とを備えたことを特徴とする。【００３５】
本発明の情報処理装置は、前記インタフェース回路と、前記インタフェース回路を制御する情報処理回路とを備え、前記情報処理回路は、ベンダ・ユニーク・コマンドを受信して、初めて、前記インタフェース回路に備えるデスクランブル手段によるコマンド情報の復号化を有効にすることを特徴とする。【００３６】
本発明は、前記情報処理装置であって、前記情報処理回路は、前記インタフェース回路を制御すると共に、情報記録媒体からのデータの記録又は再生の制御を行うことを特徴とする。【００３７】
本発明の情報処理システムは、前記情報処理装置と、前記情報処理装置と通信する第２の情報処理装置とを備えたことを特徴とする。【００３８】
本発明は、前記情報処理システムであって、前記第２の情報処理装置は、送信する前記コマンド情報を暗号化するスクランブル手段を備えたことを特徴とする。【００３９】
本発明は、前記情報処理システムであって、前記第２の情報処理装置は、ベンダ・ユニーク・コマンドを前記情報処理装置に送信し、前記ベンダ・ユニーク・コマンドの送信後に、前記スクランブル手段により暗号化したコマンド情報を前記情報処理装置に送信することを特徴とする。【００４０】
本発明は、前記情報処理システムであって、前記第２の情報処理装置は、ホストコンピュータである
ことを特徴とする。【００４１】
本発明は、前記情報処理システムであって、前記第２の情報処理装置は、ホストコンピュータであり、前記スクランブル手段は、前記ホストコンピュータ上で実行されるプログラムであることを特徴とする。【００４２】
以上により、本発明に係るインタフェース回路は、複数の情報単位からなるデータ情報又はコマンド情報の各情報単位を、少なくとも受信した順番のアドレス並びで位置させないように記憶手段に格納するので、インタフェース回路中の情報格納部位を外部からプローブされても、そこに格納された情報内容を容易に解析できない。【００４３】
更に、本発明に係るインタフェース回路は、複数の情報単位からなるデータ情報又はコマンド情報の各情報単位を、副記憶手段の各々に分けて格納するので、インタフェース回路中の情報格納部位を外部からプローブされても、そこに格納された情報内容の解析がより一層に困難になる。
【発明の効果】
【００４４】
以上により、本発明によれば、インタフェース回路中の情報格納部位を外部からプローブされても、そこに格納された情報内容を容易に解析できないようにしたので、元々暗号化されていない又は暗号を解いた後のデータ情報やコマンド情報の秘匿性の向上を図ることができる。【００４５】
更に、本発明によれば、１つの情報単位を複数に分割して複数の格納場所に記憶したので、インタフェース回路中の情報格納部位を外部からプローブされても、そこに格納された情報内容を解析することをより一層に困難にでき、情報の秘匿性を顕著に高めるることが可能である。
【図面の簡単な説明】
【００４６】
【図１】図１は本発明の実施形態１による情報処理装置及び情報処理システムの一例を示すブロック図である。
【図２】図２は本発明の実施形態２による情報処理装置及び情報処理システムの一例を示すブロック図である。
【図３】図３は本発明の実施形態２による情報処理装置及び情報処理システムの他の一例を示すブロック図である。
【図４】図４は本発明の実施形態３によるインタフェース回路中の変換回路の一例を示すブロック図である。
【図５】図５は本発明の実施形態３によるインタフェース回路でのメモリへの書き込み動作の一例を示す図である。
【図６】図６は本発明の実施形態４によるインタフェース回路のブロック図である。
【図７】図７は本発明の実施形態４によるインタフェース回路中の変換回路の一例を示すブロック図である。
【図８】図８は本発明の実施形態４によるインタフェース回路中の変換回路における変換回路Ｆ部の構成の一例を示すブロック図である。
【図９】図９は本発明の実施形態４によるインタフェース回路中の変換回路における変換回路Ｇ部の構成の一例を示すブロック図である。
【図１０】図１０は本発明の実施形態４によるインタフェース回路中の変換回路における変換Ｆと変換Ｇの各変換表の一例を示した図である。
【図１１】図１１は本発明の実施形態４によるインタフェース回路中の変換回路における変換Ｆと変換Ｇの各変換表について、表中のビット割当てを入れ替えた場合、変換表の最初の８要素がどのように変化するかを各３例だけ示した図である。
【図１２】図１２は、５ビットで表せる数値について、各ビットを任意に入れ替えた時に得られる値を、数値におけるビット“１”の数に応じてまとめた表を示した図である。
【図１３】図１３は本発明の実施形態４によるインタフェース回路でのメモリへの書き込み動作の一例を示す図である。
【図１４】図１４は本発明の実施形態４によるインタフェース回路でのメモリへの書き込み動作時における、書き込み状態の一例を示す図である。
【図１５】図１５は従来の情報処理装置及び情報処理システムの一例を示すブロック図である。
【図１６】図１６はインタフェース回路におけるメモリの一例を示すブロック図である。
【図１７】図１７は従来のインタフェース回路でのメモリへの書き込み動作の一例を示す図である。
【図１８】図１８はホストコンピュータに２台の情報処理装置が接続される場合に、一方の情報処理装置がベンダ・ユニーク・コマンドを持つ場合の全体構成図である。
【符号の説明】
【００４７】
１０１                    コマンド情報も対象に含められる
デスクランブル回路（デスクランブル手段）
１０２、１０２１          変換回路（変換手段）
１０３、１０３１          インタフェース処理回路
１０４                    コマンド情報も対象に含められるスクランブル回路
（スクランブル手段）
３０１、３０２            メモリモジュール（副記憶手段）
１０２１１              変換回路（Ｆ）
１０２１２              変換回路（Ｇ）
１０２１３              データ信号Ｎクロック遅延回路（遅延手段）
１０２１１１、１０２２  変換Ｆの第１の変換回路
１０２１１２、１０２３  変換Ｆの第２の変換回路
１０２１２１            変換Ｇの第１の変換回路
１０２１２２            変換Ｇの第２の変換回路
１０２１２３            ライトイネーブル信号Ｎクロック遅延回路
２００１                変換Ｆ（０）の変換表
２００２                変換Ｇ（０）の変換表
２０１１                変換Ｆ（０）における変換元０〜７に対応する
変換先リスト
２０１２                変換Ｆ（１）における変換元０〜７に対応する
変換先リスト
２０１３                変換Ｆ（２）における変換元０〜７に対応する
変換先リスト
２０１４                変換Ｇ（０）における変換元０〜７に対応する
変換先リスト
２０１５                変換Ｇ（１）における変換元０〜７に対応する
変換先リスト
２０１６                変換Ｇ（２）における変換元０〜７に対応する
変換先リスト
２２０１、３２０１      最初の受信データ
２２０２、３２０２      ２番目の受信データ
２２０３、３２０３      ３番目の受信データ
２２０４、３２０４      ４番目の受信データ
３００１                ホストコンピュータ（第２の情報処理装置）
３００２                情報処理装置
３００３                情報処理全体回路
３００４                メモリモジュール（記憶手段）
３００５                情報処理回路
３１０２                デコーダ回路
３１０３                アクセス単位データ記憶セル群
３１０４                セレクタ回路
Ｓ１００                デスクランブル回路制御信号
Ｓ１０１、Ｓ３０１      変換Ｆ後メモリ制御信号
Ｓ１０１Ａ、Ｓ３０１Ａ  変換Ｆ後ライトイネーブル信号
Ｓ１０１Ｂ、Ｓ３０１Ｂ  変換Ｆ後メモリ書き込みアドレス信号
Ｓ１０１Ｃ、Ｓ３０１Ｃ  変換Ｆ後メモリ読み出しアドレス信号
Ｓ３０２                変換Ｇ後メモリ制御信号
Ｓ３０２Ａ              Ｎクロック遅延ライトイネーブル信号
Ｓ３０２Ｂ              変換Ｇ後メモリ書き込みアドレス信号
Ｓ３０２Ｃ              変換Ｇ後メモリ読み出しアドレス信号
Ｓ３０３                Ｎクロック遅延前メモリ書き込みデータ信号
Ｓ３０４                Ｎクロック遅延後メモリ書き込みデータ信号
Ｓ３０５、Ｓ３０６      メモリ読み出しデータ信号
Ｓ３０００              インタフェース信号
Ｓ３００１              インタフェース内部信号
Ｓ３００２              メモリ書き込みデータ信号
Ｓ３００３              メモリ読み出しデータ信号
Ｓ３００４              メモリ制御信号
Ｓ３１０１              ライトイネーブル信号
Ｓ３１０２              メモリ書き込みアドレス信号
Ｓ３１０３              メモリ読み出しアドレス信号
【発明を実施するための最良の形態】
【００４８】
（実施形態１）
以下、本発明の第１の実施形態について、図面を参照しながら説明する。図１は本発明の実施形態１による情報処理装置及び情報処理システムの一例を示すブロック図である。図１において、１０１はコマンド情報も対象に含められるデスクランブル回路（デスクランブル手段）、１０３はインタフェース処理回路、１０４はコマンド情報も対象に含められるスクランブル回路（スクランブル手段）、３００１はホストコンピュータである。前記スクランブル回路１０４はホストコンピュータ３００１上で実行されるプログラムである。３００２は情報処理装置、３００３は情報処理全体回路、３００４はメモリモジュール（記憶手段）、３００５は光ディスクなどからのデータの記録又は再生の制御を行う情報処理回路である。また、Ｓ１００はデスクランブル回路制御信号、Ｓ３０００はインタフェース信号である。このインタフェース信号Ｓ３０００は、前記ホストコンピュータ（第２の情報処理装置）３００１と情報処理装置（第１の情報処理装置）３００２との間に存在するＡＴＡ／ＩＤＥバス又はＳＣＳＩバスなどの伝送路を通じて伝送される信号であって、データ情報やコマンド情報が含まれる。Ｓ３００１はインタフェース内部信号、Ｓ３００２はメモリ書き込みデータ信号、Ｓ３００３はメモリ読み出しデータ信号、Ｓ３００４はメモリ制御信号である。【００４９】
スクランブル及びデスクランブルの各処理は一対であり、スクランブル処理とは、インタフェース信号Ｓ３０００上の伝送データを暗号化して、漏洩しても問題ないようにするデータ処理である。また、デスクランブル処理とは暗号化して伝送されたデータを元のデータに戻す処理である。ここで、スクランブル処理及びデスクランブル処理の具体的な方法としては、擬似乱数データを生成して排他的論理和を取る方法や、ＤＥＳ暗号、ＲＳＡ暗号、楕円暗号などがある。スクランブル処理及びデスクランブル処理として利用可能な方式は多数存在するので、説明した以外の方法を用いてもよい。また、データを加工する以外に、データの順序を並べ替えるだけでも、並べ替え方を複雑にすれば、スクランブル処理及びデスクランブル処理として利用可能である。もともと置換処理が含まる暗号方式もあるが、前述の処理やデータ順序の並べ替えなどを任意に組み合わせて用いると、より解析を困難にすることができる。【００５０】
また、ホストコンピュータ３００１におけるスクランブル処理手段１０４は、ハードウェアで実装されていてもソフトウェアで実装されていても良いが、特にソフトウェアで実装する場合は、外部から観測され難い耐タンパ性を持たせたソフトウェア構造にする方が望ましい。【００５１】
従来のインタフェース回路、情報処理装置及び情報処理システムでは、データ伝送のみスクランブルの対象とするものは存在したが、コマンド情報についてはスクランブル処理の対象としたものは存在しなかった。そのため、コマンド情報やコマンド情報のシーケンスから重要な情報が得られるような応用分野の場合には、十分な秘匿性が得られないという課題があった。【００５２】
本実施形態では、コマンド情報も対象に含めてスクランブル処理やデスクランブル処理を行うことにより、その課題の解決を図る。この課題解決のために、単純にコマンド情報も対象に含めてスクランブル処理やデスクランブル処理を行うと、同じ物理インタフェースを有してこれまでは接続可能であった他の装置と接続できなくなるという課題が生じる。この課題を具体的に説明すると、ホストコンピュータのブート時に光ディスクドライブを認識し、光ディスク（ＣＤ−ＲＯＭ）からＯＳをブートする技術を前提として、コマンド情報をスクランブル処理する本発明の情報処理装置（例えば、ＣＤ−ＲＯＭドライブ１）と、従来のようにコマンド情報をスクランブル処理しない一般的な光ディスクドライブ（例えばＣＤ−ＲＯＭドライブ２）とが、ホストコンピュータに混在して接続された状態において、ＡＴＡ／ＡＴＡＰＩの場合には、先ず、接続されているデバイスがＡＴＡデバイス（ＨＤＤは通常ＡＴＡデバイス）かＡＴＡＰＩデバイス（ＣＤ−ＲＯＭドライブなど）かを把握するための処理シーケンスを実行し、ＡＴＡＰＩデバイスかどうかを確認する。ホストコンピュータは、ＡＴＡＰＩデバイスだと認識した後、このＡＴＡＰＩデバイスに対してコマンドを発行して、ＡＴＡＰＩデバイスの状態を確認する。この発行するコマンドは、具体的には、「ＴＥＳＴ  ＵＮＩＴ  ＲＥＡＤＹ」コマンド（以下、「ＴＵＲ」と略す）や「ＩＮＱＵＩＲＹ」コマンドである。ここで、コマンド情報をスクランブル処理しない一般的なＣＤ−ＲＯＭドライブ２は、前記「ＴＵＲ」や「ＩＮＱＵＩＲＹ」コマンドに応答して、正しいステータス情報やドライブ情報を返送する。しかし、コマンド情報をスクランブル処理する本発明のＣＤ−ＲＯＭドライブ１は、前記「ＴＵＲ」や「ＩＮＱＵＩＲＹ」コマンドをスクランブルされたコマンドと解釈し、デスクランブルしてしまい、その結果、「ＴＵＲ」や「ＩＮＱＵＩＲＹ」コマンドと解釈できず、本発明のＣＤ−ＲＯＭドライブ１やホストコンピュータの誤動作を招く可能性が生じてしまう。【００５３】
本実施形態では、特殊なコマンド、例えばベンダ（機器の販売者）が自由に定義するいわゆるベンダ・ユニーク・コマンドなどによって、本発明のＣＤ−ＲＯＭドライブ１を通常モードから、コマンド情報をもスクランブルする特殊モードに切替え可能な構成にする。具体的には、次の通りである。【００５４】
例えば、光ディスク・デバイスでのコマンドコードＣ０ｈ〜ＦＦｈをベンダ・ユニーク（ベンダ定義）のコマンドコード領域とし、これらのベンダ・ユニークなコマンドコード領域に、通常モードからコマンドスクランブルモードに切替えるコマンドを定義する。例えば、「Ｃ０ｈ」をモード切替えコマンドのコマンドコードに設定する。従って、この場合には、本発明の情報処理装置（ＣＤ−ＲＯＭドライブ１）は、コマンドコード「Ｃ０ｈ」を受け取るまでは、受け取ったコマンドを通常通りスクランブルされていないコマンド情報として解釈して、前記「ＴＵＲ」や「ＩＮＱＵＩＲＹ」コマンドを正しく受け付ける。これに対し、正しくＯＳまでブートした後、特定のアプリケーションプログラムなどにより、前記モード切り替えコマンド「Ｃ０ｈ」が発行されると、本発明の情報処理装置（ＣＤ−ＲＯＭドライブ１）は、ホストコンピュータからスクランブルされた前記「ＴＵＲ」や「ＩＮＱＵＩＲＹ」コマンドをデスクランブルして、正しく「ＴＵＲ」や「ＩＮＱＵＩＲＹ」コマンドと解釈するので、ＣＤ−ＲＯＭドライブ１やホストコンピュータの正常動作が確保される。【００５５】
尚、「Ｃ０ｈ」コマンドのパラメータとして、パラメータ「００ｈ」はスクランブルモードＯＦＦ、パラメータ「０１ｈ」はスクランブルモードＯＮというように、ＯＮ／ＯＦＦ定義をしても構わない。また、パラメータとする代わりに、「Ｃ１ｈ」をスクランブルモード解除コマンドとしても構わない。【００５６】
従って、本実施形態では、ホストコンピュータに、コマンド情報を暗号化する本発明の情報処理装置と、コマンド情報を暗号化しない通常の情報処理装置とを混在して接続した場合において、本発明の情報処理装置が前記モード切替えコマンドなどの特定のコマンドを受信した後に、コマンド情報のデスクランブルを有効にすることにより、ブートシーケンスなどのコマンド情報の暗号化による秘匿が本発明の情報処理装置のエラーやホストコンピュータの誤動作を引き起こす状況においても、それらのエラーや誤動作の発生を防止することができる。【００５７】
次に、このような技術の実施形態を図１８に基づいて説明する。図１８において、３００１はスクランブル回路１０４を内蔵するホストコンピュータ、５００３はコマンド情報を復号化するデスクランブル回路１０１及びインタフェース回路・情報処理回路５００４を内蔵する第１の情報処理装置（ＣＤ−ＲＯＭドライブ１）、５００１はインタフェース回路・情報処理回路５００２のみを内蔵しデスクランブル回路を有しない通常の第２の情報処理装置（ＣＤ−ＲＯＭドライブ２）である。また、Ｓ３０００はインタフェース信号、Ｓ５００１及びＳ５００２はインタフェース内部信号、S5００３及びＳ５００５は書き込みデータ及びコマンド信号、Ｓ５００４はデスクランブル後書き込みデータ及びコマンド信号、Ｓ５００６は書き込みデータ及びコマンド信号、Ｓ５００７は読み出しデータ及びコマンド信号である。【００５８】
図１８に示した情報処理システムでは、第１の情報処理装置５００３がホストコンピュータ３００１からモード切替えコマンドを受信していない際には、暗号化されていない通常のコマンド情報をデスクランブル回路１０１を介さずに内部に取り込む。一方、ホストコンピュータ３００１がモード切替えコマンドを送信し、第１の情報処理装置５００３がそのモード切替えコマンドを受信すると、ホストコンピュータ３００１がスクランブル回路１０４により暗号化したコマンド情報を第１の情報処理装置５００３に送信すると共に、第１の情報処理装置５００３の内蔵するインタフェース回路・情報処理回路５００４がセレクタなどに選択信号Ｓ５００８を出力して、書き込み信号として、デスクランブル回路１０１で復号化されたコマンド情報を選択して内部に取り込むように、モード切り替え処理を実行する。【００５９】
以上のように構成することにより、秘匿性を上げる必要のない用途で使用する通常の装置が通信相手の場合でも、これまでと同様に問題なく通信し合うことを可能としつつ、秘匿性を上げる必要のある応用分野にも使用できる装置及びインタフェース回路を提供することが可能である。【００６０】
尚、インターフェース回路・情報処理回路５００４は、専用回路だけで構成されるとは限らず、マイコンなどのプログラマブルな汎用情報処理手段を構成要素として含んでいても良い。むしろ、マイコンなどによってモード切り替え処理を行う構成にする方が、回路規模を小さくできるなどの点で望ましい。【００６１】
（実施形態２）
以下、本発明の第２の実施形態について、図面を参照しながら説明する。図２は本発明の実施形態２による情報処理装置及び情報処理システムの一例を示すブロック図である。図２における図１から追加された要素のみを説明すると、１０２は変換回路（変換手段）、Ｓ１０１は変換後メモリ制御信号である。【００６２】
従来及び第１の実施形態で説明したインタフェース回路及び情報処理装置の場合、スクランブルされていない又はスクランブルを解いた後の伝送データ情報やコマンド・パケットなどのコマンド情報を、インタフェース回路のメモリ上にそのまま格納した場合、インタフェース回路のメモリを外部からプローブされて、その情報内容を解析されるリスクが存在するという問題点があった。【００６３】
本発明の第２の実施形態はこの問題点を解決するためになされたものであり、伝送されてきたコマンド情報をメモリモジュール（記憶手段）３００４に格納する際のアドレスを、順番に、すなわち、シーケンシャルに生成して格納するのではなく、変換回路１０２によって格納アドレスの全部又は一部をランダム化することを特徴とする。【００６４】
このように、格納アドレスの一部又は全部をランダム化することにより、万が一、メモリモジュール３００４の内容を外部からプローブされ、そこに格納されたデータが漏れた場合であっても、元がどのようなデータであったのか容易に知り得ないという効果を奏する。【００６５】
次に、本発明の第２の実施形態に係る第２の例を示す。図３は本発明の実施形態２による情報処理装置及び情報処理システムの他の一例を示すブロック図である。図３は図２からデスクランブル回路（デスクランブル手段）１０１及びデスクランブル回路制御信号Ｓ１００を除いた構成であることを特徴とする。図３で示したブロック構成のインタフェース回路及び情報処理装置においては、仮に、コマンド情報又はデータ伝送におけるデスクランブルが不要な情報処理装置に利用するインタフェース回路であったとしても、前述のデスクランブルが必要な情報処理装置に利用するインタフェース回路と共通の回路資産がそのまま利用できることに価値がある。同一回路の利用による回路の開発効率向上や信頼性向上についての観点、換言すると、インタフェース回路のＩＰコア化推進についての観点からすれば、予め図３に示したようなインタフェース回路の構成にしておくことが望ましい。【００６６】
以上説明したように、本発明の第２の実施形態に係るインタフェース回路によれば、回路の開発効率向上や信頼性向上という効果を奏する。【００６７】
尚、メモリモジュール３００４に格納する情報は、コマンド情報に限らず、伝送されてきたデータ情報であっても良い。【００６８】
以下では、本発明のインタフェース回路に係る実施形態として、インタフェース処理回路１０３の詳細、特に変換回路１０２の具体的な動作について説明する。【００６９】
（実施形態３）
以下、本発明の第３の実施形態について、図面を参照しながら説明する。図４は本発明の実施形態３によるインタフェース回路中の変換回路１０２の一例を示すブロック図である。【００７０】
図４において、１０２は変換回路、１０２２は変換Ｆの第１の変換回路、１０２３は変換Ｆの第２の変換回路、Ｓ３１０１はライトイネーブル信号、Ｓ３１０２はメモリ書き込みアドレス信号、Ｓ３１０３はメモリ読み出しアドレス信号、Ｓ３００４はメモリ制御信号、Ｓ１０１は変換Ｆ後メモリ制御信号、Ｓ１０１Ａは変換Ｆ後ライトイネーブル信号、Ｓ１０１Ｂは変換Ｆ後メモリ書き込みアドレス信号、Ｓ１０１Ｃは変換Ｆ後メモリ読み出しアドレス信号である。【００７１】
図４を用いて、本発明の第３の実施形態に係るインタフェース回路中の変換回路１０２の具体的な動作について説明する。変換回路１０２は、メモリ書き込みアドレス信号Ｓ３１０２を受け取ると、第１の変換回路１０２２において、シーケンシャルな系列がランダムな系列になるような変換Ｆを施し、その結果を信号Ｓ１０１Ｂとして出力する。また、変換回路１０２は、メモリ読み出しアドレス信号Ｓ３１０３を受け取ると、同様に第２の変換回路１０２３において、シーケンシャルな系列がランダムな系列になるような変換Ｆを施し、その結果を信号Ｓ１０１Ｃとして出力する。また、変換回路１０２は、ライトイネーブル信号Ｓ３１０１を入力し、変換Ｆ後ライトイネーブル信号Ｓ１０１Ａとして出力するが、その際、何も信号を加工せずそのまま出力する。尚、図４や符号の説明から明らかで言うまでもないが、第１及び第２の変換回路１０２２、１０２３について言えば、同一の入力に対しては同一の出力を得るべき回路であるので、通常、二者は同一の回路構成で実現されるものと考えてよい。【００７２】
図４中の第１及び第２の変換回路１０２２、１０２３のブロック内に示したように、変換Ｆとは、例えば、入力信号が０のときには出力信号が９に、入力信号が１のときには出力信号が０に、入力信号が２のときには出力信号が３に、入力信号が３のときには出力信号が１５になるような変換であり、より詳細な変換表は図１０において符号２００１として示した。符号の説明には、図１０の２００１は変換Ｆ（０）の変換表と記載しているが、変換Ｆ（０）とは、後述する変換Ｆの任意のビット入れ替えパターンに関する基本形として定義したものである。ここでは変換Ｆ（０）は変換Ｆと同義であると考えてよい。変換表２００１により、「０→１→２→３→４→５→６→７→…」というシーケンシャルなアドレス系列は、「９→０→３→１５→２→２６→２１→１０→…」という非シーケンシャルなアドレス系列に変換される。【００７３】
変換表２００１は、非シーケンシャル化に関する唯一の変換表すなわち変換則ではないことは言うまでもないが、ここで本発明の実施にあたっての望ましい実施形態の一例として示している。以下で、本発明に適用する変換則として満たすことが望ましい条件について説明する。【００７４】
満たすことが望ましい条件式の例を表すに当たって、変換元の０がＦ（０）［０］で示される値に、変換元の１がＦ（０）［１］で示される値に、と続き、変換元のｎがＦ（０）［ｎ］で示される値に各々変換されるものとする。（「Ｆ（ｍ）［ｎ］」という表記で、ｍとｎの値で決まる一つの数値を表している。ここでは、先ずｍ＝０から説明する。）
（条件式１）
０≦ｊ＜Ｋを満たす任意の整数ｊにおいて、
Ｆ（０）［ｊ＋１］≠Ｆ（０）［ｊ］＋１
と
Ｆ（０）［ｊ＋１］≠Ｆ（０）［ｊ］−１
を満たすこと。【００７５】
（条件式１）は、変換後のアドレス（メモリモジュールの格納アドレス）が非シーケンシャルになることを要請する式である。変換前が連番（１つ違い）である数値の組（例えば、｛３と４｝など）は、変換後には連番にならないこと（メモリモジュールにおいて互いに隣り合う記憶セルに格納されないこと）を保証する。図４中の第１及び第２の変換回路１０２２、１０２３のブロック内に一部示した変換Ｆ、言い換えれば、図１０の変換表２００１でもう少し詳細に示した変換Ｆ（０）は、０≦ｊ＜８について（条件式１）を満たしている（ここで、変換Ｆは変換Ｆ（０）と同一の変換を表しているので、説明はＦ（０）で代表させる）。すなわち、例としてｊ＝０，１，２について具体的に示せば、以下のようになる。【００７６】
Ｆ（０）［１］＝０    ≠  Ｆ（０）［０］＋１＝９＋１＝１０
Ｆ（０）［１］＝０    ≠  Ｆ（０）［０］−１＝９−１＝８
Ｆ（０）［２］＝３    ≠  Ｆ（０）［１］＋１＝０＋１＝０
Ｆ（０）［２］＝３    ≠  Ｆ（０）［１］−１＝０−１＝−１
Ｆ（０）［３］＝１５  ≠  Ｆ（０）［２］＋１＝３＋１＝４
Ｆ（０）［３］＝１５  ≠  Ｆ（０）［２］−１＝３−１＝２
次に、図５を用いて変換Ｆ（０）による非シーケンシャル化の効果について簡単に説明する。図５は本発明の実施形態３によるインタフェース回路でのメモリへの書き込み動作の一例を示す図である。図５において、３００４はメモリモジュール、３２０１は最初の受信データ、３２０２は２番目の受信データ、３２０３は３番目の受信データ、３２０４は４番目の受信データ、Ｓ１０１Ｂは変換Ｆ後メモリ書き込みアドレス信号、Ｓ１０１Ｃは変換Ｆ後メモリ読み出しアドレス信号、Ｓ３００２はメモリ書き込みデータ信号、Ｓ３００３はメモリ読み出しデータ信号、Ｓ３１０１はライトイネーブル信号である。変換Ｆ後メモリ書き込みアドレス信号Ｓ１０１Ｂの変換元の信号は前述の図４からメモリ書き込みアドレス信号Ｓ３１０２であることがわかる。メモリ書き込みアドレス信号Ｓ３１０２を０→１→２→３と順番に変化させながら、ライトイネーブル信号Ｓ３１０１のタイミングで順次メモリモジュール３００４へメモリ書き込みデータ信号Ｓ３００２上の値を書き込んでいく場合、変換Ｆ後メモリ書き込みアドレス信号Ｓ１０１Ｂ上では変換Ｆによってアドレス信号が９→０→３→１５と変化するため、最初の受信データ３２０１はメモリモジュール３００４のアドレス９の位置に、２番目の受信データ３２０２は同アドレス０の位置に、３番目の受信データ３２０３は同アドレス３の位置に、４番目の受信データ３２０４は同アドレス１５の位置に、順次格納されていく。このように、メモリモジュール３００４上で、各々の受信データ３２０１〜３２０４が互いに隣り合う記憶セルに格納されないことを図５に示した。連続する受信データを互いに隣り合わない記憶セルに格納することは、受信内容傍受の困難度を上げることに寄与する。【００７７】
これまでは変換Ｆ（０）について説明したが、次に変換Ｆ（ｉ）について説明する（但し、ｉは整数）。変換Ｆ（ｉ）とは、基本変換Ｆ（０）の変換表における各変換先について、一律のルールで構成ビットを置換して作成した変換表を持つような変換である。一律のルールとは具体的には、「ビット０とビット１を入れ替える」や「ビット１とビット２を入れ替える」、「ビット０とビット２を入れ替える」などである。もう少し詳しく表現すれば、変換Ｆ（０）の変換表における各変換先が例えば５ビットで構成され、変換先の各ビットを｛Ｐ４，Ｐ３，Ｐ２，Ｐ１，Ｐ０｝と表現するとする。すると、先程挙げた３つの例であれば、一律のルールとは、ルール適用後の変換先を、例えば｛Ｐ４，Ｐ３，Ｐ２，Ｐ０，Ｐ１｝や｛Ｐ４，Ｐ３，Ｐ１，Ｐ２，Ｐ０｝、｛Ｐ４，Ｐ３，Ｐ０，Ｐ１，Ｐ２｝のようにビット置換することである。また、前記に挙げたような２つのビットの置換だけでなく、例えば｛Ｐ０，Ｐ１，Ｐ２，Ｐ３，Ｐ４｝など、全ビットが置換されてもよい。このような置換の種類は、前述のように変換先が５ビットで構成される場合には、元の｛Ｐ４，Ｐ３，Ｐ２，Ｐ１，Ｐ０｝を含めて１２０通りある。（５！＝５×４×３×２×１＝１２０）このように変換Ｆ（０）の変換先の数値をビット置換してできた数値を変換先を持つ変換について、取り得る１２０通りの置換パターンのうち、元の変換Ｆ（０）以外のものを、変換Ｆ（１）〜変換Ｆ（１１９）として定義する。【００７８】
そして、これらのビット置換した変換先についても、前述の（条件式１）と同様に変換先が隣接しないように定義されることが望ましい。メモリモジュール３００４に供給されるアドレス信号について、アドレス値の各ビットがアドレス（バス）信号の各ビット線のどれに割当てられるのかは必ずしも外部の観測から確定できるとは限らず、従って、各ビット線の割当てが想定していたもの（例えば、変換Ｆ（０））とは別の割当てで受信内容の傍受が行われた場合には、偶然に変換先のアドレスが隣接することによって受信内容の解析が容易になるという事態が起こり得るからである。【００７９】
従って、以下の（条件式２）をより望ましい条件として定義する。説明の繰り返しになるが、（条件式２）における変換Ｆ（ｉ）とは、基本変換Ｆ（０）の変換表における各変換先について、一律のルールで構成ビットを置換して作成した変換表を持つような変換を表す。尚、変換先が５ビットの数値で表される場合、（条件式２）のＬはＬ＝１２０（＝５！）である。
（条件式２）
０≦ｉ＜Ｌ、０≦ｊ＜Ｋを満たす任意の整数の組｛ｉ，ｊ｝において、
Ｆ（ｉ）［ｊ＋１］≠Ｆ（ｉ）［ｊ］＋１
及び
Ｆ（ｉ）［ｊ＋１］≠Ｆ（ｉ）［ｊ］−１
を満たすこと。【００８０】
図１０において、符号２００１に示した変換Ｆ（０）の変換先をビット置換したＦ（１）〜Ｆ（１１９）においては、０≦ｊ＜８について、上記（条件式２）を満たす。具体的な例については、図１１の符号２０１１〜符号２０１３に記載した。図１１において、２０１１は変換Ｆ（０）における変換元０〜７に対応する変換先リスト、２０１２は変換Ｆ（１）における変換元０〜７に対応する変換先リスト、２０１３は変換Ｆ（２）における変換元０〜７に対応する変換先リストである。符号２０１１は変換Ｆ（０）の変換先の一部を示したものであるが、１行目の「４３２１０」は各々ビット位置「ビット４」、「ビット３」…「ビット０」を表したものであり、次の「ＨＥＸ」は１６進数表記、その次の「ＤＥＣ」は１０進数表記を表している。２行目は、１行目の説明と３行目以下のデータを分離する線である。３行目は、先ず「０１００１」として１０進数で言う「９」を２進数にて表現している。１行目に「４」が記載されている列にビット４が、１行目に「３」が記載されている列にビット３が、以下同様にして、１行目に「０」が記載されている列にビット０が記載されている。３行目に記載された次の要素は「０９」であるが、これは１０進数で言う「９」を１６進数にて表現しているものである。３行目の最後の要素は「９」であり、これは１０進数で言う「９」そのものである。このように、３行目は全て９を表しており、２進数表現、１６進数表現、１０進数表現を記載している。この３行目に記載した「９」は変換元「０」に対して変換Ｆ（０）を適用した際の変換先である。以後、同様に変換元「１」に対する変換先「０」、…と変換元「７」に対する変換先「１０」まで並んでいる。符号２０１２はこれら変換Ｆ（０）の変換先について、ビット４とビット３を入れ替えた変換を記載したものである。ここでは、そのような変換を変換Ｆ（１）と表現する。変換Ｆ（１）による変換は符号２０１２に表したようになる。また、同様に、変換Ｆ（０）の変換先について、ビット３とビット２を入れ替えた変換を記載したものが符号２０１３に示した変換Ｆ（２）である。詳細には記載しないが、これら符号２０１２及び符号２０１３で示した変換先についても、これまの説明と同様に計算を進めさえすれば、（条件式２）を満たしていることがわかる。同様に進めると、この変換Ｆ（０）は、０≦ｉ≦１２０の全ての変換Ｆ（ｉ）について、（条件式２）を満たすように設計されていることがわかる。【００８１】
このように基本変換Ｆ（０）のみならず、変換先をビット置換した派生変換Ｆ（１）〜Ｆ（１１９）についての全ての変換についての条件式である（条件式２）を満たすような変換を見つけることは実際に可能である。但し、実際に見つかるかどうかは、変換先のビット数と条件式におけるＫの値との兼ね合いによる。変換先のビット数が少なく、Ｋの値が大きい場合には、（条件式２）を満たす変換は見つからないこともある。本実施形態に示したように、少なくとも、変換先のビット数を５とし、Ｋ＝８とした場合には、（条件式２）を満たす変換の一つとして、変換Ｆ（Ｆ（０）〜Ｆ（１１９））が見つかったということになる。【００８２】
（実施形態４）
以下、図６〜図１４の図面を参照しながら本発明の第４の実施形態に係るインタフェース回路の具体的な動作について説明する。【００８３】
先ず、図６は本発明の実施形態４によるインタフェース回路の一例を示すブロック図である。図６において、１０２１は変換回路、１０３１はインタフェース処理回路である。また、３０１、３０２はメモリモジュールであって、１つの記憶手段を構成する２個の副記憶手段として機能する。更に、Ｓ３００１はインタフェース内部信号、Ｓ３００２はメモリ書き込みデータ信号、Ｓ３００３はメモリ読み出しデータ信号、Ｓ３００４はメモリ制御信号、Ｓ３０１は変換Ｆ後メモリ制御信号、Ｓ３０２は変換Ｇ後メモリ制御信号、Ｓ３０３はＮクロック（ＮはＮ≧１の整数）遅延前のメモリ書き込みデータ信号、Ｓ３０４はＮクロック遅延後のメモリ書き込みデータ信号、Ｓ３０５、Ｓ３０６はメモリ読み出しデータ信号である。【００８４】
前記実施形態３に示したインタフェース回路と本実施形態４に示すインタフェース回路の相違点は、メモリモジュール３００４を分割し、２つのメモリモジュール３０１、３０２とした点である。２つのメモリモジュール（副記憶手段）３０１、３０２は、メモリモジュール３００４中の１つの記憶セルに入るアクセス単位データを上位側と下位側に各々分割したデータ（分割情報）を格納する記憶セルを有する。例えば、ＡＴＡＰＩインタフェースの場合、１６ビット幅のデータバスで通信するので、メモリモジュール３００４のアクセス単位データ（つまり１つの記憶セルに格納される１語のデータ）は１６ビット幅であることを想定している。このようなＡＴＡＰＩインタフェースの場合、本実施形態４で示すインタフェース回路では、各メモリモジュール３０１、３０２は、上位側と下位側の各８ビット幅のデータをアクセス単位（１つのアドレス当りに格納する１語のデータ）とする。以下、ＡＴＡＰＩインタフェースを例にして説明する。【００８５】
メモリモジュール３０１はコマンド・パケットを構成する各ワード（１６ビット）の上位８ビットを格納するメモリモジュールである。尚、それに加えて、データ伝送フェーズにおける伝送データの上位８ビットも格納するような構成にしてもよい。また、メモリモジュール３０２はコマンド・パケットを構成する各ワード（１６ビット）の下位８ビットを格納するメモリモジュールである。尚、これも同様に伝送データも格納するような構成にしてもよい。変換回路１０２１は、各メモリモジュール３０１、３０２に与えるメモリ制御信号である信号Ｓ３０１と信号Ｓ３０２とを生成する。【００８６】
次に、変換回路１０２１の構成の一例について図７を参照しながら説明する。図７において、１０２１１は変換回路（Ｆ）、２０２１２は変換回路（Ｇ）、１０２１３はデータ信号をＮクロック（ＮはＮ≧１の整数）遅延させるデータ信号Ｎクロック遅延回路（遅延手段）、Ｓ３００４はメモリ制御信号、Ｓ３１０１はライトイネーブル信号、Ｓ３１０２はメモリ書き込みアドレス信号、Ｓ３１０３はメモリ読み出しアドレス信号、Ｓ３０１は変換Ｆ後メモリ制御信号、Ｓ３０１Ａは変換Ｆ後ライトイネーブル信号、Ｓ３０１Ｂは変換Ｆ後メモリ書き込みアドレス信号、Ｓ３０１Ｃは変換Ｆ後メモリ読み出しアドレス信号、Ｓ３０２は変換Ｇ後メモリ制御信号、Ｓ３０２ＡはＮクロック遅延ライトイネーブル信号、Ｓ３０２Ｂは変換Ｇ後メモリ書き込みアドレス信号、Ｓ３０２Ｃは変換Ｇ後メモリ読み出しアドレス信号、Ｓ３０３はＮクロック遅延前メモリ書き込みデータ信号、Ｓ３０４はＮクロック遅延後メモリ書き込みデータ信号である。変換回路（Ｆ）１０２１１は、実施形態３で説明した変換回路１０２に相当し、回路的にも同一のものが使用可能である。図８に変換回路１０２１１の構成の一例を示す（図４の変換回路１０２と同一の構成）。図８において、１０２１１は変換回路（Ｆ）、１０２１１１と１０２１１２は変換回路（Ｆ）に備える第１の変換回路（Ｆａ）及び第２の変換回路（Ｆｂ）、Ｓ３１０１はライトイネーブル信号、Ｓ３１０２はメモリ書き込みアドレス信号、Ｓ３１０３はメモリ読み出しアドレス信号、Ｓ３００４はメモリ制御信号、Ｓ３０１は変換Ｆ後メモリ制御信号、Ｓ３０１Ａは変換Ｆ後ライトイネーブル信号、Ｓ３０１Ｂは変換Ｆ後メモリ書き込みアドレス信号、Ｓ３０１Ｃは変換Ｆ後メモリ読み出しアドレス信号である。【００８７】
また、１０２１２に示した変換回路（Ｇ）は、変換回路１０２１１の変換表を別の変換表に変更した変換回路である。図９に変換回路１０２１２の構成の一例を示す。図９において、１０２１２は変換回路（Ｇ）、１０２１２１と１０２１２２は変換Ｇの変換回路、１０２１２３はライトイネーブル信号Ｎクロック遅延回路、Ｓ３１０１はライトイネーブル信号、Ｓ３１０２はメモリ書き込みアドレス信号、Ｓ３１０３はメモリ読み出しアドレス信号、Ｓ３００４はメモリ制御信号、Ｓ３０２は変換Ｇ後メモリ制御信号、Ｓ３０２ＡはＮクロック遅延ライトイネーブル信号、Ｓ３０２Ｂは変換Ｇ後メモリ書き込みアドレス信号、Ｓ３０２Ｃは変換Ｇ後メモリ読み出しアドレス信号である。変換回路１０２１２中の変換回路１０２１２１、１０２１２２は、何れも図１０に示した変換Ｇ（０）の変換表２００２に従って信号値の変換を行う。変換表２００２に関しても、変換Ｆ（０）の変換表２００１と同様に、実施形態３で示した（条件式２）と同様の条件を満足する。つまり、以下の（条件式３）を満たすということである。条件を満足していることの確認方法の説明は、実施形態３で説明した変換Ｆと同様のため省略するが、図１１の符号２０１４〜２０１６に変換Ｇ（０）の変換先ビットの置換バリエーションを記載している。図１１において、２０１４は変換Ｇ（０）における変換元０〜７に対応する変換先リスト、２０１５は変換Ｇ（１）における変換元０〜７に対応する変換先リスト、２０１６は変換Ｇ（２）における変換元０〜７に対応する変換先リストである。
（条件式３）
０≦ｉ＜Ｌ、０≦ｊ＜Ｋを満たす任意の整数の組｛ｉ，ｊ｝において、
Ｇ（ｉ）［ｊ＋１］≠Ｇ（ｉ）［ｊ］＋１
と
Ｇ（ｉ）［ｊ＋１］≠Ｇ（ｉ）［ｊ］−１
を満たすこと。【００８８】
ところで、変換表２００１に示される変換Ｆ（０）と変換表２００２に示される変換Ｇ（０）の関係について説明すると、どちらも、「変換元のアドレスが隣接している２つの変換元アドレスを変換した場合、変換先のアドレスは隣接しない」という条件に留まらず、変換Ｆ（０）と変換Ｇ（０）とは更に望ましい条件を有するように設計することも可能である。【００８９】
本実施形態においては、そのようなより一層望ましい設計に基づいて変換Ｆと変換Ｇとを定めた。具体的には、以下の（条件式４）を満たすようにしている。尚、本実施形態で説明する具体的な変換については、実施形態３で説明したと同様に、Ｋ＝８、Ｌ＝１２０としている。
（条件式４）
０≦ｈ＜Ｌ、０≦ｉ＜Ｌ、０≦ｊ＜Ｋを満たす任意の整数の組｛ｈ，ｉ，ｊ｝において、
Ｆ（ｈ）［ｊ］≠Ｇ（ｉ）［ｊ］
を満たすこと。【００９０】
（条件式４）の意味は次の通りである。ＡＴＡＰＩなど１ワード当り１６ビットのデータの上位８ビット分のデータを変換Ｆでアドレス変換し、下位８ビット分のデータを変換Ｇでアドレス変換して別々のメモリモジュールに格納する場合に、最初のＫ＝８ワード分のデータについて言えば、変換Ｆと変換Ｇによる変換後のアドレス値における各ビットがアドレス（バス）信号の各ビット線のどれに割当てられるかに関わらず、変換Ｆと変換Ｇによる変換後のアドレス値が同一になることはないということである。つまり、ＡＴＡＰＩの場合、ＡＴＡＰＩコマンド・パケットを構成する６ワード又は８ワード分のデータについては、変換Ｆと変換Ｇによる変換後のアドレス値が同一であると見なされるリスクは全く無く、従って、下位８ビットと上位８ビットが関連付けられて連続しているといった解析のヒントを与えるような事態は、発生し得ない効果がある。【００９１】
前記変換Ｆと変換Ｇとが（条件式４）を満足していることは、図１２に示した表によって容易に確認できる。図１２は、５ビットで表せる数値について、各ビットを任意に入れ替えた時に得られる値を、数値におけるビット“１”の数に応じてまとめた表を示した図である。図１１の変換先リスト２０１１（変換Ｆ（０））と変換先リスト２０１４（変換Ｇ（０））に着目すると、３行目に相当する変換元「０」に対する変換先（１０進数表記）は各々「９」と「１５」であり、（５ビットの）２進数で示した場合のビット“１”の数は各々「２」と「４」である。（１０進数の「９」は２進数の“０１００１”なのでビット“１”は２個存在する。一方、１０進数の「１５」は２進数の“０１１１１”なのでビット“１”は４個存在するという意味である。）同様に４行目に相当する変換元「１」に対する変換先についても、２進数で示した場合のビット“１”の数は各々「０」と「１」で異なる。同様に、５行目〜１０行目に相当する変換元「２」〜変換元「７」に対する変換先についても、２進数で示した場合のビット“１”の数は各々異なる。図１２に示した通り、ビット“１”の数が同じ数値は複数存在することもあるため、その数値をビット置換した場合には、図１２中の同一行（「：」の右側）に示された数値の何れかに見えることになる。しかし、ビット“１”の数が異なる数値同士の場合には、どのようにビット置換したとしても同じ数値に見えることはあり得ない。従って、図１１の変換先リスト２０１１（変換Ｆ（０））と変換先リスト２０１４（変換Ｇ（０））とによれば、変換元「０」〜変換元「７」までに対する変換先に同一数のビット“１”を含む数値（アドレス値）を有していないので、変換Ｆと変換Ｇに対して如何なるビット置換を独立に適用したとしても、変換Ｆと変換Ｇとの両変換先が共に同一数値（アドレス値）になることはないと言える。【００９２】
次に、図１３及び図１４を用いて、変換Ｆ（０）と変換Ｇ（０）による非シーケンシャル化のさらなる効果について簡単に説明する。図１３は本発明の実施形態４によるインタフェース回路でのメモリへの書き込み動作の一例を示す図である。図１３において、３０１と３０２はメモリモジュール、１０２１は変換回路、１０２１３はデータ信号Ｎクロック遅延回路、１０３１はインタフェース処理回路、２２０１は最初の受信データ、２２０２は２番目の受信データ、２２０３は３番目の受信データ、２２０４は４番目の受信データである。図１３に示したように、受信データは２２０１〜２２０４まで順次入ってくる。これから具体的に説明するＡＴＡＰＩコマンド・パケットの場合には、受信データ２２０１〜２２０４は１ワード１６ビットのデータである。図示したように、受信データ２２０１の下位バイトを「Ａ」、上位バイトを「Ｂ」と表現する。同様に、受信データ２２０２については、下位バイトを「Ｃ」、上位バイトを「Ｄ」と表現する。以下、同様に図示した通りである。これらのデータはＡＴＡＰＩのコマンド情報としては「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」…のバイトオーダ（バイト毎の並び）で解釈される（ＡＴＡＰＩでは、この後、更に２ワード分か４ワード分のデータ受信が続くが、以下のデータも最初の４ワード分のデータと同様に処理されるので省略する）。これらのＡＴＡＰＩコマンド・パケット受信においては、受信データ２２０１の上位バイト「Ｂ」が先ずメモリモジュール３０１に格納される。その後、Ｎクロック（ＮはＮ≧１の整数）遅延して、受信データ２２０１の下位バイト「Ａ」がメモリモジュール３０２に格納される。続けて、受信データ２２０２の上位バイト「Ｄ」がメモリモジュール３０１に格納された後、Ｎクロック遅延して、受信データ２２０２の下位バイト「Ｃ」がメモリモジュール３０２に格納される。以後、同様に上位バイト側が先に上位バイトを保存するメモリモジュール３０１に格納され、Ｎクロック遅延して下位バイト側が下位バイトを保存するメモリモジュール３０２に格納される。このようにして、ＡＴＡＰＩコマンド・パケットのメモリモジュールへの格納順番は、「Ｂ」→「Ａ」→「Ｄ」→「Ｃ」→「Ｆ」→「Ｅ」…のようになる。【００９３】
次に、この動作例における各メモリモジュール３０１、３０２の格納アドレスについて、図１４を用いて説明する。図１４において、３０１と３０２はメモリモジュール、Ｓ３０１Ｂは変換Ｆ後メモリ書き込みアドレス信号、Ｓ３０２Ｂは変換Ｇ後メモリ書き込みアドレス信号、Ｓ３００２はメモリ書き込みデータ信号、Ｓ３０４はＮクロック遅延後メモリ書き込みデータ信号である。図８、図９、図１０を用いて説明したように変換Ｆ（０）と変換Ｇ（０）を定めたので、受信データ２２０１の変換元アドレス「０」に対応する変換先アドレスは、「９」と「１５」である。従って、受信データ２２０１の上位下位の各バイトについての書き込み動作は、メモリモジュール３０１のアドレス「９」に対して受信データ２２０１の上位バイトデータ「Ｂ」を書き込む動作と、メモリモジュール３０２のアドレス「１５」に対して受信データ２２０１の下位バイトデータ「Ａ」を書き込む動作とに分かれて行われる。書き込み順序は前述したように「Ｂ」の方が先、「Ａ」の書き込みは「Ｂ」の書き込みのＮクロック後になる。以下、同様にして、図１４に示したように、ＡＴＡＰＩコマンド・パケットを構成する各ワードの上位バイトと下位バイトが各々別のメモリモジュールの別のアドレスに異なる時間に（Ｎクロック遅延回路１０２１で遅延されるＮクロック分の時間差で）書き込まれる。信号Ｓ３０１Ｂ及び信号Ｓ３０２Ｂの各信号線に対応するビット位置をどのように入れ替えて解釈しても、同一ワードに属する上位及び下位の各バイトのデータは別のメモリモジュールの別アドレスに格納される。このようにすることにより、インタフェース回路中の情報格納部位を外部からプローブされたとしても、情報解析の糸口を極力与えないため、安全性を高めたコマンド通信が可能になる。【００９４】
尚、本実施形態４では、メモリモジュールについて、上位バイトと下位バイトの各々を格納するために、２つに分けた構成で説明したが、２つに分ける構成に限定されるものではない。３つ以上に分割しても、これまでの説明と同様に安全性を高めたインタフェース回路が実現可能であり、かつ２つにメモリモジュールを分割した場合と同様又はそれ以上の効果を奏することは言うまでもない。
以上、発明の実施形態１〜４で行った説明においては、具体的なホストインタフェースについて説明するときは特にＡＴＡＰＩを例にして説明したが、本発明は何もＡＴＡＰＩに限ることはなく、ＳＣＳＩやその他のいかなるホストインタフェースであっても同様に有効に機能することは言うまでもない。【００９５】
また、発明の実施形態１〜４で説明した情報処理装置がどのような分野に適用できるかについて言及しておくと、具体的には、少なくとも光ディスク装置や磁気テープ装置又はメモリカード装置のような情報再生装置や情報記録再生装置に適用できる。これらはＡＴＡＰＩインタフェースやＳＣＳＩインタフェースなどのディジタル・インタフェースを利用する代表的な応用分野の一つである。
【産業上の利用可能性】
【００９６】
以上説明したように、本発明にかかるインタフェース回路、情報処理装置及び情報処理システムは、秘匿すべき情報が存在するようなディジタル機器間の通信用途に広く有用である。また、特にＤＶＤ等の光ディスクを始めとする情報再生装置や情報記録再生装置等におけるインタフェース用途への応用が期待できる。
【図１】
2007102323.tif 000003
【図２】
2007102323.tif 000004
【図３】
2007102323.tif 000005
【図４】
2007102323.tif 000006
【図５】
2007102323.tif 000007
【図６】
2007102323.tif 000008
【図７】
2007102323.tif 000009
【図８】
2007102323.tif 000010
【図９】
2007102323.tif 000011
【図１０】
2007102323.tif 000012
【図１１】
2007102323.tif 000013
【図１２】
2007102323.tif 000014
【図１３】
2007102323.tif 000015
【図１４】
2007102323.tif 000016
【図１５】
2007102323.tif 000017
【図１６】
2007102323.tif 000018
【図１７】
2007102323.tif 000019
【図１８】
2007102323.tif 000020
【手続補正書】
【提出日】平成19年8月1日(2007.8.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
（削除）
【請求項２】
記憶手段と、
複数の連続する情報単位からなるコマンド情報及びデータ情報を順番に受け、このコマンド情報及びデータ情報の少なくとも一方の複数の情報単位の一部又は全部を、少なくとも受信した順番のアドレス並びで位置させないようにアドレス変換して、前記記憶手段への格納アドレスを生成する変換手段とを備え、
前記変換手段によりアドレス変換された格納アドレスの並びで前記アドレス変換の対象となったコマンド情報又はデータ情報の各情報単位が前記記憶手段に書き込まれるインタフェース回路であって、
前記変換手段は、
シーケンシャルな系列がランダムな系列になるような変換Ｆであって、変換元のアドレスｊ（ｊは０≦ｊ＜Ｋを満たす任意の整数）（Ｋは２以上の任意の整数）を変換先のアドレスＦ［ｊ］に変換する関数であるとき、
Ｆ［ｊ＋１］≠Ｆ［ｊ］＋１
及び、Ｆ［ｊ＋１］≠Ｆ［ｊ］−１
の双方を満たすように、前記変換Ｆを定義して、アドレス変換する
ことを特徴とするインタフェース回路。
【請求項３】
（削除）
【請求項４】
前記請求項２に記載のインタフェース回路であって、
前記変換手段は、
アドレス変換後の格納アドレスの何れか２つ以上のビット同士を置換して生成したアドレス値を第２のアドレス値として見なしても、前記アドレス変換の対象となったコマンド情報又はデータ情報の複数の情報単位の一部又は全部が、受信した順番に並ぶことがないように、前記格納アドレスを生成する
ことを特徴とするインタフェース回路。
【請求項５】
前記請求項４に記載のインタフェース回路であって、
前記変換手段は、
０≦ｉ＜Ｌ、０≦ｊ＜Ｋを満たす任意の整数の組｛ｉ，ｊ｝（ｉは０≦ｉ＜Ｋを満たす任意の整数）（Ｌは２以上の任意の整数）において、
前記変換Ｆで変換された変換先のアドレスＦ［ｊ］の所定の２以上の構成ビット間を所定ルールで置換することを整数ｉ回繰り返して、異なる変換先のアドレスＦ（ｉ）［ｊ］を得るに際し、
Ｆ（ｉ）［ｊ＋１］≠Ｆ（ｉ）［ｊ］＋１
及び、Ｆ（ｉ）［ｊ＋１］≠Ｆ（ｉ）［ｊ］−１
の双方を満たすように、変換Ｆを定義して、アドレス変換する
ことを特徴とするインタフェース回路。
【請求項６】
（削除）
【請求項７】
記憶手段と、
複数の連続する情報単位からなるコマンド情報及びデータ情報を順番に受け、このコマンド情報及びデータ情報の少なくとも一方の複数の情報単位の一部又は全部を、少なくとも受信した順番のアドレス並びで位置させないようにアドレス変換して、前記記憶手段への格納アドレスを生成する変換手段とを備え、
前記変換手段によりアドレス変換された格納アドレスの並びで前記アドレス変換の対象となったコマンド情報又はデータ情報の各情報単位が前記記憶手段に書き込まれるインタフェース回路であって、
前記記憶手段は、複数の副記憶手段から構成され、
前記アドレス変換の対象となったコマンド情報又はデータ情報の各情報単位が、各々、前記複数の副記憶手段に分割して格納され、
前記変換手段は、
前記複数の情報単位の各々を前記複数の副記憶手段に分割して格納するに際し、その複数の情報単位の一部又は全部について、１つの情報単位が分割された複数の分割情報の格納アドレス同士を同一にしないように、格納アドレスを生成する
ことを特徴とするインタフェース回路。
【請求項８】
前記請求項７に記載のインタフェース回路であって、
前記変換手段は、
シーケンシャルな系列がランダムな系列になるような２つの変換Ｆ、変換Ｇであって、変換元のアドレスｊ（ｊは０≦ｊ＜Ｋを満たす任意の整数）（Ｋは２以上の任意の整数）を変換先のアドレスＦ［ｊ］、Ｇ［ｊ］に変換する関数であるとき、
Ｆ［ｊ＋１］≠Ｆ［ｊ］＋１
及び、Ｆ［ｊ＋１］≠Ｆ［ｊ］−１
の双方、並びに、
Ｇ［ｊ＋１］≠Ｇ［ｊ］＋１
及び、Ｇ［ｊ＋１］≠Ｇ［ｊ］−１
の双方を満たし、且つ、
０≦ｈ＜Ｌ、０≦ｉ＜Ｌ、０≦ｊ＜Ｋを満たす任意の整数の組｛ｈ，ｉ，ｊ｝（Ｌは２以上の任意の整数）において、
Ｆ（ｈ）［ｊ］≠Ｇ（ｉ）［ｊ］
を満たすように、前記変換Ｆ、変換Ｇを定義して、アドレス変換する
ことを特徴とするインタフェース回路。
【請求項９】
前記請求項７又は８に記載のインタフェース回路であって、
更に、前記複数の分割情報を前記複数の副記憶手段に格納するに際し、前記複数の分割情報が前記複数の副記憶手段に格納されるタイミングを相互に異ならせるように、前記複数の分割情報を設定時間遅延させる遅延手段を備える
ことを特徴とするインタフェース回路。
【請求項１０】
前記請求項２、４、５、７、８の何れか１項に記載のインタフェース回路であって、
前記各情報単位は、１語８ビット又は１語１６ビットで構成されるワードデータである
ことを特徴とするインタフェース回路。
【請求項１１】
前記請求項２、４、５、７、８の何れか１項に記載のインタフェース回路であって、
複数の情報処理装置間に存在する伝送路を通じて、前記複数の情報処理装置間におけるコマンド情報又はデータ情報を送信又は受信する
ことを特徴とするインタフェース回路。
【請求項１２】
前記請求項１１に記載のインタフェース回路であって、
前記伝送路は、ＡＴＡ／ＩＤＥバス又はＳＣＳＩバスである
ことを特徴とするインタフェース回路。
【請求項１３】
前記請求項２、４、５、７、８の何れか１項に記載のインタフェース回路と、
前記インタフェース回路を制御する情報処理回路とを備えた
ことを特徴とする情報処理装置。
【請求項１４】
記憶手段と、
複数の連続する情報単位からなるコマンド情報及びデータ情報を順番に受け、このコマンド情報及びデータ情報の少なくとも一方の複数の情報単位の一部又は全部を、少なくとも受信した順番のアドレス並びで位置させないようにアドレス変換して、前記記憶手段への格納アドレスを生成する変換手段とを備え、
前記変換手段によりアドレス変換された格納アドレスの並びで前記アドレス変換の対象となったコマンド情報又はデータ情報の各情報単位が前記記憶手段に書き込まれるインタフェース回路であって、
前記アドレス変換されるコマンド情報又はデータ情報は、暗号化されており、
前記暗号化された前記コマンド情報又はデータ情報を、前記記憶手段に記憶する前に復号するデスクランブル手段と、
前記インタフェース回路を制御する情報処理回路とを備え、
前記情報処理回路は、
ベンダ・ユニーク・コマンドを受信して、初めて、前記インタフェース回路に備えるデスクランブル手段によるコマンド情報の復号化を有効にする
ことを特徴とする情報処理装置。
【請求項１５】
（削除）
【請求項１６】
（削除）
【請求項１７】
前記請求項１４に記載の情報処理装置と、前記情報処理装置と通信する第２の情報処理装置とを備えた情報処理システムであって、
前記第２の情報処理装置は、送信する前記コマンド情報を暗号化するスクランブル手段を備えた
ことを特徴とする情報処理システム。
【請求項１８】
前記請求項１７に記載の情報処理システムであって、
前記第２の情報処理装置は、
ベンダ・ユニーク・コマンドを前記請求項１４に記載の情報処理装置に送信し、
前記ベンダ・ユニーク・コマンドの送信後に、前記スクランブル手段により暗号化したコマンド情報を前記請求項１４に記載の情報処理装置に送信する
ことを特徴とする情報処理システム。
【請求項１９】
前記請求項１７又は１８に記載の情報処理システムであって、
前記第２の情報処理装置は、ホストコンピュータである
ことを特徴とする情報処理システム。
【請求項２０】
前記請求項１９に記載の情報処理システムであって、
前記スクランブル手段は、前記ホストコンピュータ上で実行されるプログラムである
ことを特徴とする情報処理システム。
【手続補正書】
【提出日】平成20年6月23日(2008.6.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
記憶手段と、
複数の連続する情報単位からなるコマンド情報及びデータ情報を順番に受け、このコマンド情報及びデータ情報の少なくとも一方の複数の情報単位の一部又は全部を、少なくとも受信した順番のアドレス並びで位置させないようにアドレス変換して、前記記憶手段への格納アドレスを生成する変換手段とを備え、
前記変換手段によりアドレス変換された格納アドレスの並びで前記アドレス変換の対象となったコマンド情報又はデータ情報の各情報単位が前記記憶手段に書き込まれるインタフェース回路であって、
前記変換手段は、
シーケンシャルな系列がランダムな系列になるような変換Ｆであって、変換元のアドレスｊ（ｊは０≦ｊ＜Ｋを満たす任意の整数）（Ｋは２以上の任意の整数）を変換先のアドレスＦ[ｊ]に変換する関数であるとき、
Ｆ［ｊ＋１］≠Ｆ［ｊ］＋１
及び、Ｆ［ｊ＋１］≠Ｆ［ｊ］−１
の双方を満たすように、前記変換Ｆを定義して、アドレス変換する
ことを特徴とするインタフェース回路。
【請求項２】
前記請求項１に記載のインタフェース回路であって、
前記変換手段は、
アドレス変換後の格納アドレスの何れか２つ以上のビット同士を置換して生成したアドレス値を第２のアドレス値として見なしても、前記アドレス変換の対象となったコマンド情報又はデータ情報の複数の情報単位の一部又は全部が、受信した順番に並ぶことがないように、前記格納アドレスを生成する
ことを特徴とするインタフェース回路。
【請求項３】
前記請求項２に記載のインタフェース回路であって、
前記変換手段は、
０≦ｉ＜Ｌ、０≦ｊ＜Ｋを満たす任意の整数の組｛ｉ，ｊ｝（ｉは０≦ｉ＜Ｋを満たす任意の整数）（Ｌは２以上の任意の整数）において、
前記変換Ｆで変換された変換先のアドレスＦ[ｊ]の所定の２以上の構成ビット間を所定ルールで置換することを整数ｉ回繰り返して、異なる変換先のアドレスＦ（ｉ）[ｊ]を得るに際し、
Ｆ（ｉ）［ｊ＋１］≠Ｆ（ｉ）［ｊ］＋１
及び、Ｆ（ｉ）［ｊ＋１］≠Ｆ（ｉ）［ｊ］−１
の双方を満たすように、変換Ｆを定義して、アドレス変換する
ことを特徴とするインタフェース回路。
【請求項４】
記憶手段と、
複数の連続する情報単位からなるコマンド情報及びデータ情報を順番に受け、このコマンド情報及びデータ情報の少なくとも一方の複数の情報単位の一部又は全部を、少なくとも受信した順番のアドレス並びで位置させないようにアドレス変換して、前記記憶手段への格納アドレスを生成する変換手段とを備え、
前記変換手段によりアドレス変換された格納アドレスの並びで前記アドレス変換の対象となったコマンド情報又はデータ情報の各情報単位が前記記憶手段に書き込まれるインタフェース回路であって、
前記記憶手段は、複数の副記憶手段から構成され、
前記アドレス変換の対象となったコマンド情報又はデータ情報の各情報単位が、各々、前記複数の副記憶手段に分割して格納され、
前記変換手段は、
前記複数の情報単位の各々を前記複数の副記憶手段に分割して格納するに際し、その複数の情報単位の一部又は全部について、１つの情報単位が分割された複数の分割情報の格納アドレス同士を同一にしないように、格納アドレスを生成する
ことを特徴とするインタフェース回路。
【請求項５】
前記請求項４に記載のインタフェース回路であって、
前記変換手段は、
シーケンシャルな系列がランダムな系列になるような２つの変換Ｆ、変換Ｇであって、変換元のアドレスｊ（ｊは０≦ｊ＜Ｋを満たす任意の整数）（Ｋは２以上の任意の整数）を変換先のアドレスＦ[ｊ]、Ｇ［ｊ］に変換する関数であるとき、
Ｆ［ｊ＋１］≠Ｆ［ｊ］＋１
及び、Ｆ［ｊ＋１］≠Ｆ［ｊ］−１
の双方、並びに、
Ｇ［ｊ＋１］≠Ｇ［ｊ］＋１
及び、Ｇ［ｊ＋１］≠Ｇ［ｊ］−１
の双方を満たし、且つ、
０≦ｈ＜Ｌ、０≦ｉ＜Ｌ、０≦ｊ＜Ｋを満たす任意の整数の組｛ｈ，ｉ，ｊ｝（Ｌは２以上の任意の整数）において、
Ｆ（ｈ）［ｊ］≠Ｇ（ｉ）［ｊ］
を満たすように、前記変換Ｆ、変換Ｇを定義して、アドレス変換する
ことを特徴とするインタフェース回路。
【請求項６】
前記請求項４又は５に記載のインタフェース回路であって、
更に、前記複数の分割情報を前記複数の副記憶手段に格納するに際し、前記複数の分割情報が前記複数の副記憶手段に格納されるタイミングを相互に異ならせるように、前記複数の分割情報を設定時間遅延させる遅延手段を備える
ことを特徴とするインタフェース回路。
【請求項７】
前記請求項１〜５の何れか１項に記載のインタフェース回路であって、
前記各情報単位は、１語８ビット又は１語１６ビットで構成されるワードデータである
ことを特徴とするインタフェース回路。
【請求項８】
前記請求項１〜５の何れか１項に記載のインタフェース回路であって、
複数の情報処理装置間に存在する伝送路を通じて、前記複数の情報処理装置間におけるコマンド情報又はデータ情報を送信又は受信する
ことを特徴とするインタフェース回路。
【請求項９】
前記請求項８に記載のインタフェース回路であって、
前記伝送路は、ＡＴＡ／ＩＤＥバス又はＳＣＳＩバスである
ことを特徴とするインタフェース回路。
【請求項１０】
前記請求項１〜５の何れか１項に記載のインタフェース回路と、
前記インタフェース回路を制御する情報処理回路とを備えた
ことを特徴とする情報処理装置。
【請求項１１】
記憶手段と、
複数の連続する情報単位からなるコマンド情報及びデータ情報を順番に受け、このコマンド情報及びデータ情報の少なくとも一方の複数の情報単位の一部又は全部を、少なくとも受信した順番のアドレス並びで位置させないようにアドレス変換して、前記記憶手段への格納アドレスを生成する変換手段とを備え、
前記変換手段によりアドレス変換された格納アドレスの並びで前記アドレス変換の対象となったコマンド情報又はデータ情報の各情報単位が前記記憶手段に書き込まれるインタフェース回路であって、
前記アドレス変換されるコマンド情報又はデータ情報は、暗号化されており、
前記暗号化された前記コマンド情報又はデータ情報を、前記記憶手段に記憶する前に復号するデスクランブル手段と、
前記インタフェース回路を制御する情報処理回路とを備え、
前記情報処理回路は、
ベンダ・ユニーク・コマンドを受信して、初めて、前記インタフェース回路に備えるデスクランブル手段によるコマンド情報の復号化を有効にする
ことを特徴とする情報処理装置。
【請求項１２】
前記請求項１１に記載の情報処理装置と、前記情報処理装置と通信する第２の情報処理装置とを備えた情報処理システムであって、
前記第２の情報処理装置は、送信する前記コマンド情報を暗号化するスクランブル手段を備えた
ことを特徴とする情報処理システム。
【請求項１３】
前記請求項１２に記載の情報処理システムであって、
前記第２の情報処理装置は、
ベンダ・ユニーク・コマンドを前記請求項１４に記載の情報処理装置に送信し、
前記ベンダ・ユニーク・コマンドの送信後に、前記スクランブル手段により暗号化したコマンド情報を前記請求項１４に記載の情報処理装置に送信する
ことを特徴とする情報処理システム。
【請求項１４】
前記請求項１２又は１３に記載の情報処理システムであって、
前記第２の情報処理装置は、ホストコンピュータである
ことを特徴とする情報処理システム。
【請求項１５】
前記請求項１４に記載の情報処理システムであって、
前記スクランブル手段は、前記ホストコンピュータ上で実行されるプログラムである
ことを特徴とする情報処理システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置間における情報通信技術に関し、特にＡＴＡＰＩ（AT Attachment Pachet Interface）やＳＣＳＩ（Small Computer System Interface）などに代表されるディジタル装置間のインタフェース技術に関するものである。
【背景技術】
【０００２】
ＡＴＡＰＩ回路などのインタフェース回路を用いた従来の情報処理装置は、データ伝送については、スクランブル通信を行う装置も存在する（例えば、ＤＶＤドライブ機器におけるコピー・プロテクション技術ＣＳＳ。非特許文献１参照）が、コマンド情報（コマンド・パケット）の伝送については特にデータを加工することなくケーブルを介して通信している（例えば、非特許文献２参照。）。
【０００３】
以下、図面を参照しながら従来のインタフェース回路及びそれを用いた情報処理装置の構成を説明する。図１５は従来の情報処理装置及び情報処理システムの一例を示すブロック図である。図１５において、３００１はホストコンピュータ、３００２は情報処理装置、３００３は情報処理全体回路、３００４はメモリモジュール、３００５は情報処理回路を表している。また、Ｓ３０００はインタフェース信号、Ｓ３００１はインタフェース内部信号、Ｓ３００２はメモリ書き込みデータ信号、Ｓ３００３はメモリ読み出しデータ信号、Ｓ３００４はメモリ制御信号を表している。
【０００４】
ここで、本明細書中において、メモリ又はメモリモジュールという用語を使うときは、物理的なパッケージを有する、例えば汎用ＳＲＡＭのようなメモリを指すだけでなく、アドレスを介してデータにアクセス可能なあらゆる種類の記憶手段、例えばフリップフロップ回路をも含む用語として使用していることを明記しておく。
【０００５】
従来の情報処理システムでは、ホストコンピュータ３００１が情報処理装置３００２とインタフェース信号Ｓ３０００を介して接続されており、コマンドやデータのやり取りを行うことが可能である。
【０００６】
初めに、コマンド情報がホストコンピュータ３００１から発行され、インタフェース信号Ｓ３０００を介して情報処理装置３００２に伝達される。通常、複数バイト又は複数ワードからなるコマンド情報は、インタフェース内部信号Ｓ３００１にそのまま伝わり、その信号がメモリ書き込みデータ信号Ｓ３００２を経てメモリモジュール３００４に順次届く。コマンド情報は、情報処理回路３００５からの制御信号であるメモリ制御信号Ｓ３００４によって指定されたアドレスに対して、メモリ制御信号Ｓ３００４によって指定されたタイミングで、順次メモリモジュール３００４に書き込まれて行く。
【０００７】
次に、情報処理回路３００５は、メモリ制御信号Ｓ３００４を制御することによってメモリモジュール３００４からコマンド情報を読み出し、メモリ読み出しデータ信号Ｓ３００３を介してコマンド情報を取り込む。そして、そのコマンド情報を解釈し、それが示すコマンド処理を実行する。
【０００８】
情報処理回路３００５によるコマンド処理の実行段階において、データ伝送が必要だと判断した場合は、ホストコンピュータ３００１と情報処理装置３００２間のデータ伝送を実行する。ホストコンピュータ３００１から情報処理装置３００２に、データを取り込む方向のデータ伝送を行う場合、基本的にはコマンド情報の伝送と同様の手順によって情報が伝達される。また反対に、情報処理装置３００２からホストコンピュータ３００１に、データを送り出す方向のデータ伝送を行う場合には、情報処理回路３００５からホストコンピュータ３００１に送るべきデータを、メモリ書き込みデータ信号Ｓ３００２に伝達してメモリモジュール３００４に書き込み、ホストコンピュータ３００１の準備ができた時又はホストコンピュータ３００１から要求があった時にメモリモジュール３００４からデータを順次読み出し、メモリ読み出しデータ信号Ｓ３００３とインタフェース内部信号Ｓ３００１を経由してインタフェース信号Ｓ３０００に伝達され、ホストコンピュータ３００１に届く。情報処理回路３００５からメモリモジュール３００４への書き込み経路については、本明細書において詳細に説明する必要がないため、特に図示していないが実際には存在する。
【０００９】
次に、図１６を用いてインタフェース回路におけるメモリモジュールの構成と動作について説明する。図１６はインタフェース回路におけるメモリの一例を示すブロック図である。図１６において、３００４はメモリモジュール、３１０２はデコーダ回路、３１０３は所定ビット数で構成される１語のデータを記憶するアクセス単位データ記憶セル群、３１０４はセレクタ回路である。また、Ｓ３１０１はライトイネーブル信号、Ｓ３１０２はメモリ書き込みアドレス信号、Ｓ３１０３はメモリ読み出しアドレス信号、Ｓ３００２はメモリ書き込みデータ信号、Ｓ３００３はメモリ読み出しデータ信号、Ｓ３００４はメモリ制御信号である。
【００１０】
尚、アクセス単位データ記憶セル群３１０３は、個々の記憶セルｃｅｌｌ［０］，ｃｅｌｌ［１］，…，ｃｅｌｌ［ＭＳ−１］から構成されている。ＭＳはメモリモジュール内の記憶セル数を表す。本明細書において、記憶セルという用語は、特殊な構造を持つ記憶手段ということを指して用いるのではなく、記憶のための手段という意味で用いることをここに明記しておく。つまり、記憶セルとは、ＳＲＡＭ構造やＤＲＡＭ構造の記憶セルであってもよいし、フリップフロップ回路を主たる構成要素としたディジタル論理回路であってもよい。
【００１１】
先ず、メモリモジュール３００４のデータ書き込み動作を説明する。書き込みアドレスをメモリ書き込みアドレス信号Ｓ３１０２によって指定し、書き込みデータをメモリ書き込みデータ信号Ｓ３００２によって指定している状態で、ライトイネーブル信号Ｓ３１０１を１クロック以上アサートすると、指定したアドレスに指定したデータが書き込まれる。
【００１２】
次に、メモリモジュール３００４のデータ読み出し動作を説明する。読み出したいアドレスをメモリ読み出しアドレス信号Ｓ３１０３によって指定すると、メモリ読み出しデータ信号Ｓ３００３に読み出しデータが出力される。
ここでは、このメモリモジュール３００４には図示していないクロックを与えることを想定して説明している。本明細書における従来技術の説明や発明の実施形態の説明では、メモリモジュールを同期型メモリとして扱う。しかし、同期型か非同期型かは本質的な問題ではなく、非同期型メモリを用いたとしても、信号の扱いが若干変わるだけで、当業者であれば容易に置き換え可能であることは言うまでも無い。
【００１３】
このメモリモジュール３００４は書き込みと読み出しが同時にできるマルチポート型のメモリモジュールということができる。本明細書ではマルチポート型のメモリモジュールによって動作説明を行うことにする。しかしそれは、書き込みと読み出しが調停制御やテンポラリ・バッファなしに行えるメモリモジュールであるというだけであり、シングルポート型のメモリモジュールでも調停用回路やテンポラリ・バッファを付加することにより、マルチポート型のメモリモジュールと同様に使用可能であることは当業者にとって自明である。
【００１４】
次に、従来のインタフェース回路におけるコマンド情報受信時のメモリモジュールへの書き込み動作について図１７と既に説明済みの図１５を参照しながら説明する。図１７は、従来のインタフェース回路でのメモリへの書き込み動作の一例を示す図である。図１７において、３００４はメモリモジュール、３２０１は最初の受信データ、３２０２は２番目の受信データ、３２０３は３番目の受信データ、３２０４は４番目の受信データを表している。また、Ｓ３００２はメモリ書き込みデータ信号、Ｓ３００３はメモリ読み出しデータ信号、Ｓ３１０１はライトイネーブル信号、Ｓ３１０２はメモリ書き込みアドレス信号、Ｓ３１０３はメモリ読み出しアドレス信号である。
【００１５】
先ず、最初に図１５における情報処理回路３００５は書き込みアドレス値を０に初期化してコマンド情報の受信準備をしている。すなわち、最初の受信データ３２０１がメモリ書き込みデータ信号Ｓ３００２に与えられているとき、並行して、メモリ書き込みアドレス信号Ｓ３１０２には信号値０が与えられている。この時、ライトイネーブル信号Ｓ３１０１が１クロック以上アサートされ、コマンド情報の最初のデータである最初の受信データ３２０１がメモリモジュール３００４のアドレス０に書き込まれる。次に、情報処理回路３００５が書き込みアドレスをインクリメントし、メモリ書き込みアドレス信号Ｓ３１０２に信号値１を与える。先程と同様にして、次は２番目の受信データ３２０２がメモリモジュール３００４のアドレス１に書き込まれる。以後、同様に続けて、受信データが順番に、すなわち、シーケンシャルにメモリモジュール３００４に書き込まれて行く。このようにして、コマンド情報がメモリモジュール３００４に格納される。
【非特許文献１】“ＤＶＤ著作権保護システム”、National Technical Report Ｖｏｌ．４３  Ｎｏ．３  Ｊｕｎ．１９９７、１１８頁〜１２２頁
【非特許文献２】“ＡＴＡ（ＩＤＥ）／ＡＴＡＰＩの徹底研究”、ＣＱ出版社、ＩＳＢＮ４−７８９８−３３２１−６
【発明の開示】
【発明が解決しようとする課題】
【００１６】
これまでに説明したような従来のインタフェース回路を用いた情報処理装置間の通信では、ケーブルの信号線を外部から観測することにより、装置間でやり取りされるコマンドの内容を確認することが可能である。また、そのような装置間の通信を観測するための装置はバス・アナライザとして市販されている。そのため、コマンド又はコマンド・シーケンスの中に秘匿すべき情報が存在する場合、悪意のある者が装置間の通信を傍受して、それを知り得るという問題点があった。
【００１７】
更に、スクランブルされていない又はスクランブルを解いた後の伝送データ情報やコマンド・パケットなどのコマンド情報を、インタフェース回路のメモリ上にそのまま格納した場合には、インタフェース回路中の情報格納部位を外部からプローブされて、その情報内容を解析されるリスクが存在するという問題点もあった。たとえインタフェース回路がＬＳＩの内部回路の一部として実装されていたとしても、ＬＳＩ解析用装置を用いればＬＳＩの内部信号を解析することが可能なため、情報の秘匿性において課題があった。
【課題を解決するための手段】
【００１８】
本発明の目的は、装置間の通信を傍受されても、その通信情報中のコマンド情報を知り得ないように、そのコマンド情報を暗号化する場合に、その暗号化されたコマンド情報を復号する機能をインタフェース回路に持たせたり、そのようにコマンド情報を暗号化して装置間で通信する情報処理システムを提供することにある。
【００１９】
更に、本発明の他の目的は、インタフェース回路中の情報格納部位を外部からプローブされて、その情報内容が解析されようとしても、格納されたデータ情報やコマンド情報の内容を解析できないようにして、それ等の情報の秘匿性を高めるようにすることにある。
【００２０】
以上の目的を達成するため、本発明では、コマンド情報を暗号化して通信し、インターフェース回路でその暗号化されたコマンド情報を復号化するデスクランブル手段を設ける。
【００２１】
また、本発明では、複数の情報単位からなるデータ情報又はコマンド情報の各情報単位を、少なくとも受信した順番のアドレス並びで位置させないように記憶手段に格納することとする。
【００２２】
具体的に、請求項１記載の発明のインタフェース回路は、記憶手段と、複数の連続する情報単位からなるコマンド情報及びデータ情報を順番に受け、このコマンド情報及びデータ情報の少なくとも一方の複数の情報単位の一部又は全部を、少なくとも受信した順番のアドレス並びで位置させないようにアドレス変換して、前記記憶手段への格納アドレスを生成する変換手段とを備え、前記変換手段によりアドレス変換された格納アドレスの並びで前記アドレス変換の対象となったコマンド情報又はデータ情報の各情報単位が前記記憶手段に書き込まれるインタフェース回路であって、前記変換手段は、シーケンシャルな系列がランダムな系列になるような変換Ｆであって、変換元のアドレスｊ（ｊは０≦ｊ＜Ｋを満たす任意の整数）（Ｋは２以上の任意の整数）を変換先のアドレスＦ[ｊ]に変換する関数であるとき、
Ｆ［ｊ＋１］≠Ｆ［ｊ］＋１
及び、Ｆ［ｊ＋１］≠Ｆ［ｊ］−１
の双方を満たすように、前記変換Ｆを定義して、アドレス変換することを特徴とする。
【００２３】
請求項２記載の発明は、前記請求項１に記載のインタフェース回路であって、前記変換手段は、アドレス変換後の格納アドレスの何れか２つ以上のビット同士を置換して生成したアドレス値を第２のアドレス値として見なしても、前記アドレス変換の対象となったコマンド情報又はデータ情報の複数の情報単位の一部又は全部が、受信した順番に並ぶことがないように、前記格納アドレスを生成することを特徴とする。
【００２４】
請求項３記載の発明は、前記請求項２に記載のインタフェース回路であって、前記変換手段は、０≦ｉ＜Ｌ、０≦ｊ＜Ｋを満たす任意の整数の組｛ｉ，ｊ｝（ｉは０≦ｉ＜Ｋを満たす任意の整数）（Ｌは２以上の任意の整数）において、前記変換Ｆで変換された変換先のアドレスＦ[ｊ]の所定の２以上の構成ビット間を所定ルールで置換することを整数ｉ回繰り返して、異なる変換先のアドレスＦ（ｉ）[ｊ]を得るに際し、
Ｆ（ｉ）［ｊ＋１］≠Ｆ（ｉ）［ｊ］＋１
及び、Ｆ（ｉ）［ｊ＋１］≠Ｆ（ｉ）［ｊ］−１
の双方を満たすように、変換Ｆを定義して、アドレス変換することを特徴とする。
【００２５】
請求項４記載の発明は、記憶手段と、複数の連続する情報単位からなるコマンド情報及びデータ情報を順番に受け、このコマンド情報及びデータ情報の少なくとも一方の複数の情報単位の一部又は全部を、少なくとも受信した順番のアドレス並びで位置させないようにアドレス変換して、前記記憶手段への格納アドレスを生成する変換手段とを備え、前記変換手段によりアドレス変換された格納アドレスの並びで前記アドレス変換の対象となったコマンド情報又はデータ情報の各情報単位が前記記憶手段に書き込まれるインタフェース回路であって、前記記憶手段は、複数の副記憶手段から構成され、前記アドレス変換の対象となったコマンド情報又はデータ情報の各情報単位が、各々、前記複数の副記憶手段に分割して格納され、前記変換手段は、前記複数の情報単位の各々を前記複数の副記憶手段に分割して格納するに際し、その複数の情報単位の一部又は全部について、１つの情報単位が分割された複数の分割情報の格納アドレス同士を同一にしないように、格納アドレスを生成することを特徴とする。
【００２６】
請求項５記載の発明は、前記請求項４に記載のインタフェース回路であって、前記変換手段は、シーケンシャルな系列がランダムな系列になるような２つの変換Ｆ、変換Ｇであって、変換元のアドレスｊ（ｊは０≦ｊ＜Ｋを満たす任意の整数）（Ｋは２以上の任意の整数）を変換先のアドレスＦ[ｊ]、Ｇ［ｊ］に変換する関数であるとき、
Ｆ［ｊ＋１］≠Ｆ［ｊ］＋１
及び、Ｆ［ｊ＋１］≠Ｆ［ｊ］−１
の双方、並びに、
Ｇ［ｊ＋１］≠Ｇ［ｊ］＋１
及び、Ｇ［ｊ＋１］≠Ｇ［ｊ］−１
の双方を満たし、且つ、
０≦ｈ＜Ｌ、０≦ｉ＜Ｌ、０≦ｊ＜Ｋを満たす任意の整数の組｛ｈ，ｉ，ｊ｝（Ｌは２以上の任意の整数）において、
Ｆ（ｈ）［ｊ］≠Ｇ（ｉ）［ｊ］
を満たすように、前記変換Ｆ、変換Ｇを定義して、アドレス変換することを特徴とする。
【００２７】
請求項６記載の発明は、前記請求項４又は５に記載のインタフェース回路であって、更に、前記複数の分割情報を前記複数の副記憶手段に格納するに際し、前記複数の分割情報が前記複数の副記憶手段に格納されるタイミングを相互に異ならせるように、前記複数の分割情報を設定時間遅延させる遅延手段を備えることを特徴とする。
【００２８】
請求項７記載の発明は、前記請求項１〜５の何れか１項に記載のインタフェース回路であって、前記各情報単位は、１語８ビット又は１語１６ビットで構成されるワードデータであることを特徴とする。
【００２９】
請求項８記載の発明は、前記請求項１〜５の何れか１項に記載のインタフェース回路であって、複数の情報処理装置間に存在する伝送路を通じて、前記複数の情報処理装置間におけるコマンド情報又はデータ情報を送信又は受信することを特徴とする。
【００３０】
請求項９記載の発明は、前記請求項８に記載のインタフェース回路であって、前記伝送路は、ＡＴＡ／ＩＤＥバス又はＳＣＳＩバスであることを特徴とする。
【００３１】
請求項１０記載の発明の情報処理装置は、前記請求項１〜５の何れか１項に記載のインタフェース回路と、前記インタフェース回路を制御する情報処理回路とを備えたことを特徴とする。
【００３２】
請求項１１記載の発明の情報処理装置は、記憶手段と、複数の連続する情報単位からなるコマンド情報及びデータ情報を順番に受け、このコマンド情報及びデータ情報の少なくとも一方の複数の情報単位の一部又は全部を、少なくとも受信した順番のアドレス並びで位置させないようにアドレス変換して、前記記憶手段への格納アドレスを生成する変換手段とを備え、前記変換手段によりアドレス変換された格納アドレスの並びで前記アドレス変換の対象となったコマンド情報又はデータ情報の各情報単位が前記記憶手段に書き込まれるインタフェース回路であって、前記アドレス変換されるコマンド情報又はデータ情報は、暗号化されており、前記暗号化された前記コマンド情報又はデータ情報を、前記記憶手段に記憶する前に復号するデスクランブル手段と、前記インタフェース回路を制御する情報処理回路とを備え、前記情報処理回路は、ベンダ・ユニーク・コマンドを受信して、初めて、前記インタフェース回路に備えるデスクランブル手段によるコマンド情報の復号化を有効にすることを特徴とする。
【００３３】
請求項１２記載の発明の情報処理システムは、前記請求項１１に記載の情報処理装置と、前記情報処理装置と通信する第２の情報処理装置とを備えた情報処理システムであって、前記第２の情報処理装置は、送信する前記コマンド情報を暗号化するスクランブル手段を備えたことを特徴とする。
【００３４】
請求項１３記載の発明の情報処理システムは、前記請求項１２に記載の情報処理システムであって、前記第２の情報処理装置は、ベンダ・ユニーク・コマンドを前記請求項１４に記載の情報処理装置に送信し、前記ベンダ・ユニーク・コマンドの送信後に、前記スクランブル手段により暗号化したコマンド情報を前記請求項１４に記載の情報処理装置に送信することを特徴とする。
【００３５】
請求項１４記載の発明の情報処理システムは、前記請求項１２又は１３に記載の情報処理システムであって、前記第２の情報処理装置は、ホストコンピュータであることを特徴とする。
【００３６】
請求項１５記載の発明の情報処理システムは、前記請求項１４に記載の情報処理システムであって、前記スクランブル手段は、前記ホストコンピュータ上で実行されるプログラムであることを特徴とする。
【００３７】
以上により、本発明に係るインタフェース回路は、複数の情報単位からなるデータ情報又はコマンド情報の各情報単位を、少なくとも受信した順番のアドレス並びで位置させないように記憶手段に格納するので、インタフェース回路中の情報格納部位を外部からプローブされても、そこに格納された情報内容を容易に解析できない。
【００３８】
更に、本発明に係るインタフェース回路は、複数の情報単位からなるデータ情報又はコマンド情報の各情報単位を、副記憶手段の各々に分けて格納するので、インタフェース回路中の情報格納部位を外部からプローブされても、そこに格納された情報内容の解析がより一層に困難になる。
【発明の効果】
【００３９】
以上により、本発明によれば、インタフェース回路中の情報格納部位を外部からプローブされても、そこに格納された情報内容を容易に解析できないようにしたので、元々暗号化されていない又は暗号を解いた後のデータ情報やコマンド情報の秘匿性の向上を図ることができる。
【００４０】
更に、本発明によれば、１つの情報単位を複数に分割して複数の格納場所に記憶したので、インタフェース回路中の情報格納部位を外部からプローブされても、そこに格納された情報内容を解析することをより一層に困難にでき、情報の秘匿性を顕著に高めるることが可能である。
【発明を実施するための最良の形態】
【００４１】
（実施形態１）
以下、本発明の第１の実施形態について、図面を参照しながら説明する。図１は本発明の実施形態１による情報処理装置及び情報処理システムの一例を示すブロック図である。図１において、１０１はコマンド情報も対象に含められるデスクランブル回路（デスクランブル手段）、１０３はインタフェース処理回路、１０４はコマンド情報も対象に含められるスクランブル回路（スクランブル手段）、３００１はホストコンピュータである。前記スクランブル回路１０４はホストコンピュータ３００１上で実行されるプログラムである。３００２は情報処理装置、３００３は情報処理全体回路、３００４はメモリモジュール（記憶手段）、３００５は光ディスクなどからのデータの記録又は再生の制御を行う情報処理回路である。また、Ｓ１００はデスクランブル回路制御信号、Ｓ３０００はインタフェース信号である。このインタフェース信号Ｓ３０００は、前記ホストコンピュータ（第２の情報処理装置）３００１と情報処理装置（第１の情報処理装置）３００２との間に存在するＡＴＡ／ＩＤＥバス又はＳＣＳＩバスなどの伝送路を通じて伝送される信号であって、データ情報やコマンド情報が含まれる。Ｓ３００１はインタフェース内部信号、Ｓ３００２はメモリ書き込みデータ信号、Ｓ３００３はメモリ読み出しデータ信号、Ｓ３００４はメモリ制御信号である。
【００４２】
スクランブル及びデスクランブルの各処理は一対であり、スクランブル処理とは、インタフェース信号Ｓ３０００上の伝送データを暗号化して、漏洩しても問題ないようにするデータ処理である。また、デスクランブル処理とは暗号化して伝送されたデータを元のデータに戻す処理である。ここで、スクランブル処理及びデスクランブル処理の具体的な方法としては、擬似乱数データを生成して排他的論理和を取る方法や、ＤＥＳ暗号、ＲＳＡ暗号、楕円暗号などがある。スクランブル処理及びデスクランブル処理として利用可能な方式は多数存在するので、説明した以外の方法を用いてもよい。また、データを加工する以外に、データの順序を並べ替えるだけでも、並べ替え方を複雑にすれば、スクランブル処理及びデスクランブル処理として利用可能である。もともと置換処理が含まる暗号方式もあるが、前述の処理やデータ順序の並べ替えなどを任意に組み合わせて用いると、より解析を困難にすることができる。
【００４３】
また、ホストコンピュータ３００１におけるスクランブル処理手段１０４は、ハードウェアで実装されていてもソフトウェアで実装されていても良いが、特にソフトウェアで実装する場合は、外部から観測され難い耐タンパ性を持たせたソフトウェア構造にする方が望ましい。
【００４４】
従来のインタフェース回路、情報処理装置及び情報処理システムでは、データ伝送のみスクランブルの対象とするものは存在したが、コマンド情報についてはスクランブル処理の対象としたものは存在しなかった。そのため、コマンド情報やコマンド情報のシーケンスから重要な情報が得られるような応用分野の場合には、十分な秘匿性が得られないという課題があった。
【００４５】
本実施形態では、コマンド情報も対象に含めてスクランブル処理やデスクランブル処理を行うことにより、その課題の解決を図る。この課題解決のために、単純にコマンド情報も対象に含めてスクランブル処理やデスクランブル処理を行うと、同じ物理インタフェースを有してこれまでは接続可能であった他の装置と接続できなくなるという課題が生じる。この課題を具体的に説明すると、ホストコンピュータのブート時に光ディスクドライブを認識し、光ディスク（ＣＤ−ＲＯＭ）からＯＳをブートする技術を前提として、コマンド情報をスクランブル処理する本発明の情報処理装置（例えば、ＣＤ−ＲＯＭドライブ１）と、従来のようにコマンド情報をスクランブル処理しない一般的な光ディスクドライブ（例えばＣＤ−ＲＯＭドライブ２）とが、ホストコンピュータに混在して接続された状態において、ＡＴＡ／ＡＴＡＰＩの場合には、先ず、接続されているデバイスがＡＴＡデバイス（ＨＤＤは通常ＡＴＡデバイス）かＡＴＡＰＩデバイス（ＣＤ−ＲＯＭドライブなど）かを把握するための処理シーケンスを実行し、ＡＴＡＰＩデバイスかどうかを確認する。ホストコンピュータは、ＡＴＡＰＩデバイスだと認識した後、このＡＴＡＰＩデバイスに対してコマンドを発行して、ＡＴＡＰＩデバイスの状態を確認する。この発行するコマンドは、具体的には、「ＴＥＳＴ  ＵＮＩＴ  ＲＥＡＤＹ」コマンド（以下、「ＴＵＲ」と略す）や「ＩＮＱＵＩＲＹ」コマンドである。ここで、コマンド情報をスクランブル処理しない一般的なＣＤ−ＲＯＭドライブ２は、前記「ＴＵＲ」や「ＩＮＱＵＩＲＹ」コマンドに応答して、正しいステータス情報やドライブ情報を返送する。しかし、コマンド情報をスクランブル処理する本発明のＣＤ−ＲＯＭドライブ１は、前記「ＴＵＲ」や「ＩＮＱＵＩＲＹ」コマンドをスクランブルされたコマンドと解釈し、デスクランブルしてしまい、その結果、「ＴＵＲ」や「ＩＮＱＵＩＲＹ」コマンドと解釈できず、本発明のＣＤ−ＲＯＭドライブ１やホストコンピュータの誤動作を招く可能性が生じてしまう。
【００４６】
本実施形態では、特殊なコマンド、例えばベンダ（機器の販売者）が自由に定義するいわゆるベンダ・ユニーク・コマンドなどによって、本発明のＣＤ−ＲＯＭドライブ１を通常モードから、コマンド情報をもスクランブルする特殊モードに切替え可能な構成にする。具体的には、次の通りである。
【００４７】
例えば、光ディスク・デバイスでのコマンドコードＣ０ｈ〜ＦＦｈをベンダ・ユニーク（ベンダ定義）のコマンドコード領域とし、これらのベンダ・ユニークなコマンドコード領域に、通常モードからコマンドスクランブルモードに切替えるコマンドを定義する。例えば、「Ｃ０ｈ」をモード切替えコマンドのコマンドコードに設定する。従って、この場合には、本発明の情報処理装置（ＣＤ−ＲＯＭドライブ１）は、コマンドコード「Ｃ０ｈ」を受け取るまでは、受け取ったコマンドを通常通りスクランブルされていないコマンド情報として解釈して、前記「ＴＵＲ」や「ＩＮＱＵＩＲＹ」コマンドを正しく受け付ける。これに対し、正しくＯＳまでブートした後、特定のアプリケーションプログラムなどにより、前記モード切り替えコマンド「Ｃ０ｈ」が発行されると、本発明の情報処理装置（ＣＤ−ＲＯＭドライブ１）は、ホストコンピュータからスクランブルされた前記「ＴＵＲ」や「ＩＮＱＵＩＲＹ」コマンドをデスクランブルして、正しく「ＴＵＲ」や「ＩＮＱＵＩＲＹ」コマンドと解釈するので、ＣＤ−ＲＯＭドライブ１やホストコンピュータの正常動作が確保される。
【００４８】
尚、「Ｃ０ｈ」コマンドのパラメータとして、パラメータ「００ｈ」はスクランブルモードＯＦＦ、パラメータ「０１ｈ」はスクランブルモードＯＮというように、ＯＮ／ＯＦＦ定義をしても構わない。また、パラメータとする代わりに、「Ｃ１ｈ」をスクランブルモード解除コマンドとしても構わない。
【００４９】
従って、本実施形態では、ホストコンピュータに、コマンド情報を暗号化する本発明の情報処理装置と、コマンド情報を暗号化しない通常の情報処理装置とを混在して接続した場合において、本発明の情報処理装置が前記モード切替えコマンドなどの特定のコマンドを受信した後に、コマンド情報のデスクランブルを有効にすることにより、ブートシーケンスなどのコマンド情報の暗号化による秘匿が本発明の情報処理装置のエラーやホストコンピュータの誤動作を引き起こす状況においても、それらのエラーや誤動作の発生を防止することができる。
【００５０】
次に、このような技術の実施形態を図１８に基づいて説明する。図１８において、３００１はスクランブル回路１０４を内蔵するホストコンピュータ、５００３はコマンド情報を復号化するデスクランブル回路１０１及びインタフェース回路・情報処理回路５００４を内蔵する第１の情報処理装置（ＣＤ−ＲＯＭドライブ１）、５００１はインタフェース回路・情報処理回路５００２のみを内蔵しデスクランブル回路を有しない通常の第２の情報処理装置（ＣＤ−ＲＯＭドライブ２）である。また、Ｓ３０００はインタフェース信号、Ｓ５００１及びＳ５００２はインタフェース内部信号、S5００３及びＳ５００５は書き込みデータ及びコマンド信号、Ｓ５００４はデスクランブル後書き込みデータ及びコマンド信号、Ｓ５００６は書き込みデータ及びコマンド信号、Ｓ５００７は読み出しデータ及びコマンド信号である。
【００５１】
図１８に示した情報処理システムでは、第１の情報処理装置５００３がホストコンピュータ３００１からモード切替えコマンドを受信していない際には、暗号化されていない通常のコマンド情報をデスクランブル回路１０１を介さずに内部に取り込む。一方、ホストコンピュータ３００１がモード切替えコマンドを送信し、第１の情報処理装置５００３がそのモード切替えコマンドを受信すると、ホストコンピュータ３００１がスクランブル回路１０４により暗号化したコマンド情報を第１の情報処理装置５００３に送信すると共に、第１の情報処理装置５００３の内蔵するインタフェース回路・情報処理回路５００４がセレクタなどに選択信号Ｓ５００８を出力して、書き込み信号として、デスクランブル回路１０１で復号化されたコマンド情報を選択して内部に取り込むように、モード切り替え処理を実行する。
【００５２】
以上のように構成することにより、秘匿性を上げる必要のない用途で使用する通常の装置が通信相手の場合でも、これまでと同様に問題なく通信し合うことを可能としつつ、秘匿性を上げる必要のある応用分野にも使用できる装置及びインタフェース回路を提供することが可能である。
【００５３】
尚、インターフェース回路・情報処理回路５００４は、専用回路だけで構成されるとは限らず、マイコンなどのプログラマブルな汎用情報処理手段を構成要素として含んでいても良い。むしろ、マイコンなどによってモード切り替え処理を行う構成にする方が、回路規模を小さくできるなどの点で望ましい。
【００５４】
（実施形態２）
以下、本発明の第２の実施形態について、図面を参照しながら説明する。図２は本発明の実施形態２による情報処理装置及び情報処理システムの一例を示すブロック図である。図２における図１から追加された要素のみを説明すると、１０２は変換回路（変換手段）、Ｓ１０１は変換後メモリ制御信号である。
【００５５】
従来及び第１の実施形態で説明したインタフェース回路及び情報処理装置の場合、スクランブルされていない又はスクランブルを解いた後の伝送データ情報やコマンド・パケットなどのコマンド情報を、インタフェース回路のメモリ上にそのまま格納した場合、インタフェース回路のメモリを外部からプローブされて、その情報内容を解析されるリスクが存在するという問題点があった。
【００５６】
本発明の第２の実施形態はこの問題点を解決するためになされたものであり、伝送されてきたコマンド情報をメモリモジュール（記憶手段）３００４に格納する際のアドレスを、順番に、すなわち、シーケンシャルに生成して格納するのではなく、変換回路１０２によって格納アドレスの全部又は一部をランダム化することを特徴とする。
【００５７】
このように、格納アドレスの一部又は全部をランダム化することにより、万が一、メモリモジュール３００４の内容を外部からプローブされ、そこに格納されたデータが漏れた場合であっても、元がどのようなデータであったのか容易に知り得ないという効果を奏する。
【００５８】
次に、本発明の第２の実施形態に係る第２の例を示す。図３は本発明の実施形態２による情報処理装置及び情報処理システムの他の一例を示すブロック図である。図３は図２からデスクランブル回路（デスクランブル手段）１０１及びデスクランブル回路制御信号Ｓ１００を除いた構成であることを特徴とする。図３で示したブロック構成のインタフェース回路及び情報処理装置においては、仮に、コマンド情報又はデータ伝送におけるデスクランブルが不要な情報処理装置に利用するインタフェース回路であったとしても、前述のデスクランブルが必要な情報処理装置に利用するインタフェース回路と共通の回路資産がそのまま利用できることに価値がある。同一回路の利用による回路の開発効率向上や信頼性向上についての観点、換言すると、インタフェース回路のＩＰコア化推進についての観点からすれば、予め図３に示したようなインタフェース回路の構成にしておくことが望ましい。
【００５９】
以上説明したように、本発明の第２の実施形態に係るインタフェース回路によれば、回路の開発効率向上や信頼性向上という効果を奏する。
【００６０】
尚、メモリモジュール３００４に格納する情報は、コマンド情報に限らず、伝送されてきたデータ情報であっても良い。
【００６１】
以下では、本発明のインタフェース回路に係る実施形態として、インタフェース処理回路１０３の詳細、特に変換回路１０２の具体的な動作について説明する。
【００６２】
（実施形態３）
以下、本発明の第３の実施形態について、図面を参照しながら説明する。図４は本発明の実施形態３によるインタフェース回路中の変換回路１０２の一例を示すブロック図である。
【００６３】
図４において、１０２は変換回路、１０２２は変換Ｆの第１の変換回路、１０２３は変換Ｆの第２の変換回路、Ｓ３１０１はライトイネーブル信号、Ｓ３１０２はメモリ書き込みアドレス信号、Ｓ３１０３はメモリ読み出しアドレス信号、Ｓ３００４はメモリ制御信号、Ｓ１０１は変換Ｆ後メモリ制御信号、Ｓ１０１Ａは変換Ｆ後ライトイネーブル信号、Ｓ１０１Ｂは変換Ｆ後メモリ書き込みアドレス信号、Ｓ１０１Ｃは変換Ｆ後メモリ読み出しアドレス信号である。
【００６４】
図４を用いて、本発明の第３の実施形態に係るインタフェース回路中の変換回路１０２の具体的な動作について説明する。変換回路１０２は、メモリ書き込みアドレス信号Ｓ３１０２を受け取ると、第１の変換回路１０２２において、シーケンシャルな系列がランダムな系列になるような変換Ｆを施し、その結果を信号Ｓ１０１Ｂとして出力する。また、変換回路１０２は、メモリ読み出しアドレス信号Ｓ３１０３を受け取ると、同様に第２の変換回路１０２３において、シーケンシャルな系列がランダムな系列になるような変換Ｆを施し、その結果を信号Ｓ１０１Ｃとして出力する。また、変換回路１０２は、ライトイネーブル信号Ｓ３１０１を入力し、変換Ｆ後ライトイネーブル信号Ｓ１０１Ａとして出力するが、その際、何も信号を加工せずそのまま出力する。尚、図４や符号の説明から明らかで言うまでもないが、第１及び第２の変換回路１０２２、１０２３について言えば、同一の入力に対しては同一の出力を得るべき回路であるので、通常、二者は同一の回路構成で実現されるものと考えてよい。
【００６５】
図４中の第１及び第２の変換回路１０２２、１０２３のブロック内に示したように、変換Ｆとは、例えば、入力信号が０のときには出力信号が９に、入力信号が１のときには出力信号が０に、入力信号が２のときには出力信号が３に、入力信号が３のときには出力信号が１５になるような変換であり、より詳細な変換表は図１０において符号２００１として示した。符号の説明には、図１０の２００１は変換Ｆ（０）の変換表と記載しているが、変換Ｆ（０）とは、後述する変換Ｆの任意のビット入れ替えパターンに関する基本形として定義したものである。ここでは変換Ｆ（０）は変換Ｆと同義であると考えてよい。変換表２００１により、「０→１→２→３→４→５→６→７→…」というシーケンシャルなアドレス系列は、「９→０→３→１５→２→２６→２１→１０→…」という非シーケンシャルなアドレス系列に変換される。
【００６６】
変換表２００１は、非シーケンシャル化に関する唯一の変換表すなわち変換則ではないことは言うまでもないが、ここで本発明の実施にあたっての望ましい実施形態の一例として示している。以下で、本発明に適用する変換則として満たすことが望ましい条件について説明する。
【００６７】
満たすことが望ましい条件式の例を表すに当たって、変換元の０がＦ（０）［０］で示される値に、変換元の１がＦ（０）［１］で示される値に、と続き、変換元のｎがＦ（０）［ｎ］で示される値に各々変換されるものとする。（「Ｆ（ｍ）［ｎ］」という表記で、ｍとｎの値で決まる一つの数値を表している。ここでは、先ずｍ＝０から説明する。）
（条件式１）
０≦ｊ＜Ｋを満たす任意の整数ｊにおいて、
Ｆ（０）［ｊ＋１］≠Ｆ（０）［ｊ］＋１
と
Ｆ（０）［ｊ＋１］≠Ｆ（０）［ｊ］−１
を満たすこと。
【００６８】
（条件式１）は、変換後のアドレス（メモリモジュールの格納アドレス）が非シーケンシャルになることを要請する式である。変換前が連番（１つ違い）である数値の組（例えば、｛３と４｝など）は、変換後には連番にならないこと（メモリモジュールにおいて互いに隣り合う記憶セルに格納されないこと）を保証する。図４中の第１及び第２の変換回路１０２２、１０２３のブロック内に一部示した変換Ｆ、言い換えれば、図１０の変換表２００１でもう少し詳細に示した変換Ｆ（０）は、０≦ｊ＜８について（条件式１）を満たしている（ここで、変換Ｆは変換Ｆ（０）と同一の変換を表しているので、説明はＦ（０）で代表させる）。すなわち、例としてｊ＝０，１，２について具体的に示せば、以下のようになる。
【００６９】
Ｆ（０）［１］＝０    ≠  Ｆ（０）［０］＋１＝９＋１＝１０
Ｆ（０）［１］＝０    ≠  Ｆ（０）［０］−１＝９−１＝８
Ｆ（０）［２］＝３    ≠  Ｆ（０）［１］＋１＝０＋１＝０
Ｆ（０）［２］＝３    ≠  Ｆ（０）［１］−１＝０−１＝−１
Ｆ（０）［３］＝１５  ≠  Ｆ（０）［２］＋１＝３＋１＝４
Ｆ（０）［３］＝１５  ≠  Ｆ（０）［２］−１＝３−１＝２
次に、図５を用いて変換Ｆ（０）による非シーケンシャル化の効果について簡単に説明する。図５は本発明の実施形態３によるインタフェース回路でのメモリへの書き込み動作の一例を示す図である。図５において、３００４はメモリモジュール、３２０１は最初の受信データ、３２０２は２番目の受信データ、３２０３は３番目の受信データ、３２０４は４番目の受信データ、Ｓ１０１Ｂは変換Ｆ後メモリ書き込みアドレス信号、Ｓ１０１Ｃは変換Ｆ後メモリ読み出しアドレス信号、Ｓ３００２はメモリ書き込みデータ信号、Ｓ３００３はメモリ読み出しデータ信号、Ｓ３１０１はライトイネーブル信号である。変換Ｆ後メモリ書き込みアドレス信号Ｓ１０１Ｂの変換元の信号は前述の図４からメモリ書き込みアドレス信号Ｓ３１０２であることがわかる。メモリ書き込みアドレス信号Ｓ３１０２を０→１→２→３と順番に変化させながら、ライトイネーブル信号Ｓ３１０１のタイミングで順次メモリモジュール３００４へメモリ書き込みデータ信号Ｓ３００２上の値を書き込んでいく場合、変換Ｆ後メモリ書き込みアドレス信号Ｓ１０１Ｂ上では変換Ｆによってアドレス信号が９→０→３→１５と変化するため、最初の受信データ３２０１はメモリモジュール３００４のアドレス９の位置に、２番目の受信データ３２０２は同アドレス０の位置に、３番目の受信データ３２０３は同アドレス３の位置に、４番目の受信データ３２０４は同アドレス１５の位置に、順次格納されていく。このように、メモリモジュール３００４上で、各々の受信データ３２０１〜３２０４が互いに隣り合う記憶セルに格納されないことを図５に示した。連続する受信データを互いに隣り合わない記憶セルに格納することは、受信内容傍受の困難度を上げることに寄与する。
【００７０】
これまでは変換Ｆ（０）について説明したが、次に変換Ｆ（ｉ）について説明する（但し、ｉは整数）。変換Ｆ（ｉ）とは、基本変換Ｆ（０）の変換表における各変換先について、一律のルールで構成ビットを置換して作成した変換表を持つような変換である。一律のルールとは具体的には、「ビット０とビット１を入れ替える」や「ビット１とビット２を入れ替える」、「ビット０とビット２を入れ替える」などである。もう少し詳しく表現すれば、変換Ｆ（０）の変換表における各変換先が例えば５ビットで構成され、変換先の各ビットを｛Ｐ４，Ｐ３，Ｐ２，Ｐ１，Ｐ０｝と表現するとする。すると、先程挙げた３つの例であれば、一律のルールとは、ルール適用後の変換先を、例えば｛Ｐ４，Ｐ３，Ｐ２，Ｐ０，Ｐ１｝や｛Ｐ４，Ｐ３，Ｐ１，Ｐ２，Ｐ０｝、｛Ｐ４，Ｐ３，Ｐ０，Ｐ１，Ｐ２｝のようにビット置換することである。また、前記に挙げたような２つのビットの置換だけでなく、例えば｛Ｐ０，Ｐ１，Ｐ２，Ｐ３，Ｐ４｝など、全ビットが置換されてもよい。このような置換の種類は、前述のように変換先が５ビットで構成される場合には、元の｛Ｐ４，Ｐ３，Ｐ２，Ｐ１，Ｐ０｝を含めて１２０通りある。（５！＝５×４×３×２×１＝１２０）このように変換Ｆ（０）の変換先の数値をビット置換してできた数値を変換先を持つ変換について、取り得る１２０通りの置換パターンのうち、元の変換Ｆ（０）以外のものを、変換Ｆ（１）〜変換Ｆ（１１９）として定義する。
【００７１】
そして、これらのビット置換した変換先についても、前述の（条件式１）と同様に変換先が隣接しないように定義されることが望ましい。メモリモジュール３００４に供給されるアドレス信号について、アドレス値の各ビットがアドレス（バス）信号の各ビット線のどれに割当てられるのかは必ずしも外部の観測から確定できるとは限らず、従って、各ビット線の割当てが想定していたもの（例えば、変換Ｆ（０））とは別の割当てで受信内容の傍受が行われた場合には、偶然に変換先のアドレスが隣接することによって受信内容の解析が容易になるという事態が起こり得るからである。
【００７２】
従って、以下の（条件式２）をより望ましい条件として定義する。説明の繰り返しになるが、（条件式２）における変換Ｆ（ｉ）とは、基本変換Ｆ（０）の変換表における各変換先について、一律のルールで構成ビットを置換して作成した変換表を持つような変換を表す。尚、変換先が５ビットの数値で表される場合、（条件式２）のＬはＬ＝１２０（＝５！）である。
（条件式２）
０≦ｉ＜Ｌ、０≦ｊ＜Ｋを満たす任意の整数の組｛ｉ，ｊ｝において、
Ｆ（ｉ）［ｊ＋１］≠Ｆ（ｉ）［ｊ］＋１
及び
Ｆ（ｉ）［ｊ＋１］≠Ｆ（ｉ）［ｊ］−１
を満たすこと。
【００７３】
図１０において、符号２００１に示した変換Ｆ（０）の変換先をビット置換したＦ（１）〜Ｆ（１１９）においては、０≦ｊ＜８について、上記（条件式２）を満たす。具体的な例については、図１１の符号２０１１〜符号２０１３に記載した。図１１において、２０１１は変換Ｆ（０）における変換元０〜７に対応する変換先リスト、２０１２は変換Ｆ（１）における変換元０〜７に対応する変換先リスト、２０１３は変換Ｆ（２）における変換元０〜７に対応する変換先リストである。符号２０１１は変換Ｆ（０）の変換先の一部を示したものであるが、１行目の「４３２１０」は各々ビット位置「ビット４」、「ビット３」…「ビット０」を表したものであり、次の「ＨＥＸ」は１６進数表記、その次の「ＤＥＣ」は１０進数表記を表している。２行目は、１行目の説明と３行目以下のデータを分離する線である。３行目は、先ず「０１００１」として１０進数で言う「９」を２進数にて表現している。１行目に「４」が記載されている列にビット４が、１行目に「３」が記載されている列にビット３が、以下同様にして、１行目に「０」が記載されている列にビット０が記載されている。３行目に記載された次の要素は「０９」であるが、これは１０進数で言う「９」を１６進数にて表現しているものである。３行目の最後の要素は「９」であり、これは１０進数で言う「９」そのものである。このように、３行目は全て９を表しており、２進数表現、１６進数表現、１０進数表現を記載している。この３行目に記載した「９」は変換元「０」に対して変換Ｆ（０）を適用した際の変換先である。以後、同様に変換元「１」に対する変換先「０」、…と変換元「７」に対する変換先「１０」まで並んでいる。符号２０１２はこれら変換Ｆ（０）の変換先について、ビット４とビット３を入れ替えた変換を記載したものである。ここでは、そのような変換を変換Ｆ（１）と表現する。変換Ｆ（１）による変換は符号２０１２に表したようになる。また、同様に、変換Ｆ（０）の変換先について、ビット３とビット２を入れ替えた変換を記載したものが符号２０１３に示した変換Ｆ（２）である。詳細には記載しないが、これら符号２０１２及び符号２０１３で示した変換先についても、これまの説明と同様に計算を進めさえすれば、（条件式２）を満たしていることがわかる。同様に進めると、この変換Ｆ（０）は、０≦ｉ≦１２０の全ての変換Ｆ（ｉ）について、（条件式２）を満たすように設計されていることがわかる。
【００７４】
このように基本変換Ｆ（０）のみならず、変換先をビット置換した派生変換Ｆ（１）〜Ｆ（１１９）についての全ての変換についての条件式である（条件式２）を満たすような変換を見つけることは実際に可能である。但し、実際に見つかるかどうかは、変換先のビット数と条件式におけるＫの値との兼ね合いによる。変換先のビット数が少なく、Ｋの値が大きい場合には、（条件式２）を満たす変換は見つからないこともある。本実施形態に示したように、少なくとも、変換先のビット数を５とし、Ｋ＝８とした場合には、（条件式２）を満たす変換の一つとして、変換Ｆ（Ｆ（０）〜Ｆ（１１９））が見つかったということになる。
【００７５】
（実施形態４）
以下、図６〜図１４の図面を参照しながら本発明の第４の実施形態に係るインタフェース回路の具体的な動作について説明する。
【００７６】
先ず、図６は本発明の実施形態４によるインタフェース回路の一例を示すブロック図である。図６において、１０２１は変換回路、１０３１はインタフェース処理回路である。また、３０１、３０２はメモリモジュールであって、１つの記憶手段を構成する２個の副記憶手段として機能する。更に、Ｓ３００１はインタフェース内部信号、Ｓ３００２はメモリ書き込みデータ信号、Ｓ３００３はメモリ読み出しデータ信号、Ｓ３００４はメモリ制御信号、Ｓ３０１は変換Ｆ後メモリ制御信号、Ｓ３０２は変換Ｇ後メモリ制御信号、Ｓ３０３はＮクロック（ＮはＮ≧１の整数）遅延前のメモリ書き込みデータ信号、Ｓ３０４はＮクロック遅延後のメモリ書き込みデータ信号、Ｓ３０５、Ｓ３０６はメモリ読み出しデータ信号である。
【００７７】
前記実施形態３に示したインタフェース回路と本実施形態４に示すインタフェース回路の相違点は、メモリモジュール３００４を分割し、２つのメモリモジュール３０１、３０２とした点である。２つのメモリモジュール（副記憶手段）３０１、３０２は、メモリモジュール３００４中の１つの記憶セルに入るアクセス単位データを上位側と下位側に各々分割したデータ（分割情報）を格納する記憶セルを有する。例えば、ＡＴＡＰＩインタフェースの場合、１６ビット幅のデータバスで通信するので、メモリモジュール３００４のアクセス単位データ（つまり１つの記憶セルに格納される１語のデータ）は１６ビット幅であることを想定している。このようなＡＴＡＰＩインタフェースの場合、本実施形態４で示すインタフェース回路では、各メモリモジュール３０１、３０２は、上位側と下位側の各８ビット幅のデータをアクセス単位（１つのアドレス当りに格納する１語のデータ）とする。以下、ＡＴＡＰＩインタフェースを例にして説明する。
【００７８】
メモリモジュール３０１はコマンド・パケットを構成する各ワード（１６ビット）の上位８ビットを格納するメモリモジュールである。尚、それに加えて、データ伝送フェーズにおける伝送データの上位８ビットも格納するような構成にしてもよい。また、メモリモジュール３０２はコマンド・パケットを構成する各ワード（１６ビット）の下位８ビットを格納するメモリモジュールである。尚、これも同様に伝送データも格納するような構成にしてもよい。変換回路１０２１は、各メモリモジュール３０１、３０２に与えるメモリ制御信号である信号Ｓ３０１と信号Ｓ３０２とを生成する。
【００７９】
次に、変換回路１０２１の構成の一例について図７を参照しながら説明する。図７において、１０２１１は変換回路（Ｆ）、２０２１２は変換回路（Ｇ）、１０２１３はデータ信号をＮクロック（ＮはＮ≧１の整数）遅延させるデータ信号Ｎクロック遅延回路（遅延手段）、Ｓ３００４はメモリ制御信号、Ｓ３１０１はライトイネーブル信号、Ｓ３１０２はメモリ書き込みアドレス信号、Ｓ３１０３はメモリ読み出しアドレス信号、Ｓ３０１は変換Ｆ後メモリ制御信号、Ｓ３０１Ａは変換Ｆ後ライトイネーブル信号、Ｓ３０１Ｂは変換Ｆ後メモリ書き込みアドレス信号、Ｓ３０１Ｃは変換Ｆ後メモリ読み出しアドレス信号、Ｓ３０２は変換Ｇ後メモリ制御信号、Ｓ３０２ＡはＮクロック遅延ライトイネーブル信号、Ｓ３０２Ｂは変換Ｇ後メモリ書き込みアドレス信号、Ｓ３０２Ｃは変換Ｇ後メモリ読み出しアドレス信号、Ｓ３０３はＮクロック遅延前メモリ書き込みデータ信号、Ｓ３０４はＮクロック遅延後メモリ書き込みデータ信号である。変換回路（Ｆ）１０２１１は、実施形態３で説明した変換回路１０２に相当し、回路的にも同一のものが使用可能である。図８に変換回路１０２１１の構成の一例を示す（図４の変換回路１０２と同一の構成）。図８において、１０２１１は変換回路（Ｆ）、１０２１１１と１０２１１２は変換回路（Ｆ）に備える第１の変換回路（Ｆａ）及び第２の変換回路（Ｆｂ）、Ｓ３１０１はライトイネーブル信号、Ｓ３１０２はメモリ書き込みアドレス信号、Ｓ３１０３はメモリ読み出しアドレス信号、Ｓ３００４はメモリ制御信号、Ｓ３０１は変換Ｆ後メモリ制御信号、Ｓ３０１Ａは変換Ｆ後ライトイネーブル信号、Ｓ３０１Ｂは変換Ｆ後メモリ書き込みアドレス信号、Ｓ３０１Ｃは変換Ｆ後メモリ読み出しアドレス信号である。
【００８０】
また、１０２１２に示した変換回路（Ｇ）は、変換回路１０２１１の変換表を別の変換表に変更した変換回路である。図９に変換回路１０２１２の構成の一例を示す。図９において、１０２１２は変換回路（Ｇ）、１０２１２１と１０２１２２は変換Ｇの変換回路、１０２１２３はライトイネーブル信号Ｎクロック遅延回路、Ｓ３１０１はライトイネーブル信号、Ｓ３１０２はメモリ書き込みアドレス信号、Ｓ３１０３はメモリ読み出しアドレス信号、Ｓ３００４はメモリ制御信号、Ｓ３０２は変換Ｇ後メモリ制御信号、Ｓ３０２ＡはＮクロック遅延ライトイネーブル信号、Ｓ３０２Ｂは変換Ｇ後メモリ書き込みアドレス信号、Ｓ３０２Ｃは変換Ｇ後メモリ読み出しアドレス信号である。変換回路１０２１２中の変換回路１０２１２１、１０２１２２は、何れも図１０に示した変換Ｇ（０）の変換表２００２に従って信号値の変換を行う。変換表２００２に関しても、変換Ｆ（０）の変換表２００１と同様に、実施形態３で示した（条件式２）と同様の条件を満足する。つまり、以下の（条件式３）を満たすということである。条件を満足していることの確認方法の説明は、実施形態３で説明した変換Ｆと同様のため省略するが、図１１の符号２０１４〜２０１６に変換Ｇ（０）の変換先ビットの置換バリエーションを記載している。図１１において、２０１４は変換Ｇ（０）における変換元０〜７に対応する変換先リスト、２０１５は変換Ｇ（１）における変換元０〜７に対応する変換先リスト、２０１６は変換Ｇ（２）における変換元０〜７に対応する変換先リストである。
（条件式３）
０≦ｉ＜Ｌ、０≦ｊ＜Ｋを満たす任意の整数の組｛ｉ，ｊ｝において、
Ｇ（ｉ）［ｊ＋１］≠Ｇ（ｉ）［ｊ］＋１
と
Ｇ（ｉ）［ｊ＋１］≠Ｇ（ｉ）［ｊ］−１
を満たすこと。
【００８１】
ところで、変換表２００１に示される変換Ｆ（０）と変換表２００２に示される変換Ｇ（０）の関係について説明すると、どちらも、「変換元のアドレスが隣接している２つの変換元アドレスを変換した場合、変換先のアドレスは隣接しない」という条件に留まらず、変換Ｆ（０）と変換Ｇ（０）とは更に望ましい条件を有するように設計することも可能である。
【００８２】
本実施形態においては、そのようなより一層望ましい設計に基づいて変換Ｆと変換Ｇとを定めた。具体的には、以下の（条件式４）を満たすようにしている。尚、本実施形態で説明する具体的な変換については、実施形態３で説明したと同様に、Ｋ＝８、Ｌ＝１２０としている。
（条件式４）
０≦ｈ＜Ｌ、０≦ｉ＜Ｌ、０≦ｊ＜Ｋを満たす任意の整数の組｛ｈ，ｉ，ｊ｝において、
Ｆ（ｈ）［ｊ］≠Ｇ（ｉ）［ｊ］
を満たすこと。
【００８３】
（条件式４）の意味は次の通りである。ＡＴＡＰＩなど１ワード当り１６ビットのデータの上位８ビット分のデータを変換Ｆでアドレス変換し、下位８ビット分のデータを変換Ｇでアドレス変換して別々のメモリモジュールに格納する場合に、最初のＫ＝８ワード分のデータについて言えば、変換Ｆと変換Ｇによる変換後のアドレス値における各ビットがアドレス（バス）信号の各ビット線のどれに割当てられるかに関わらず、変換Ｆと変換Ｇによる変換後のアドレス値が同一になることはないということである。つまり、ＡＴＡＰＩの場合、ＡＴＡＰＩコマンド・パケットを構成する６ワード又は８ワード分のデータについては、変換Ｆと変換Ｇによる変換後のアドレス値が同一であると見なされるリスクは全く無く、従って、下位８ビットと上位８ビットが関連付けられて連続しているといった解析のヒントを与えるような事態は、発生し得ない効果がある。
【００８４】
前記変換Ｆと変換Ｇとが（条件式４）を満足していることは、図１２に示した表によって容易に確認できる。図１２は、５ビットで表せる数値について、各ビットを任意に入れ替えた時に得られる値を、数値におけるビット“１”の数に応じてまとめた表を示した図である。図１１の変換先リスト２０１１（変換Ｆ（０））と変換先リスト２０１４（変換Ｇ（０））に着目すると、３行目に相当する変換元「０」に対する変換先（１０進数表記）は各々「９」と「１５」であり、（５ビットの）２進数で示した場合のビット“１”の数は各々「２」と「４」である。（１０進数の「９」は２進数の“０１００１”なのでビット“１”は２個存在する。一方、１０進数の「１５」は２進数の“０１１１１”なのでビット“１”は４個存在するという意味である。）同様に４行目に相当する変換元「１」に対する変換先についても、２進数で示した場合のビット“１”の数は各々「０」と「１」で異なる。同様に、５行目〜１０行目に相当する変換元「２」〜変換元「７」に対する変換先についても、２進数で示した場合のビット“１”の数は各々異なる。図１２に示した通り、ビット“１”の数が同じ数値は複数存在することもあるため、その数値をビット置換した場合には、図１２中の同一行（「：」の右側）に示された数値の何れかに見えることになる。しかし、ビット“１”の数が異なる数値同士の場合には、どのようにビット置換したとしても同じ数値に見えることはあり得ない。従って、図１１の変換先リスト２０１１（変換Ｆ（０））と変換先リスト２０１４（変換Ｇ（０））とによれば、変換元「０」〜変換元「７」までに対する変換先に同一数のビット“１”を含む数値（アドレス値）を有していないので、変換Ｆと変換Ｇに対して如何なるビット置換を独立に適用したとしても、変換Ｆと変換Ｇとの両変換先が共に同一数値（アドレス値）になることはないと言える。
【００８５】
次に、図１３及び図１４を用いて、変換Ｆ（０）と変換Ｇ（０）による非シーケンシャル化のさらなる効果について簡単に説明する。図１３は本発明の実施形態４によるインタフェース回路でのメモリへの書き込み動作の一例を示す図である。図１３において、３０１と３０２はメモリモジュール、１０２１は変換回路、１０２１３はデータ信号Ｎクロック遅延回路、１０３１はインタフェース処理回路、２２０１は最初の受信データ、２２０２は２番目の受信データ、２２０３は３番目の受信データ、２２０４は４番目の受信データである。図１３に示したように、受信データは２２０１〜２２０４まで順次入ってくる。これから具体的に説明するＡＴＡＰＩコマンド・パケットの場合には、受信データ２２０１〜２２０４は１ワード１６ビットのデータである。図示したように、受信データ２２０１の下位バイトを「Ａ」、上位バイトを「Ｂ」と表現する。同様に、受信データ２２０２については、下位バイトを「Ｃ」、上位バイトを「Ｄ」と表現する。以下、同様に図示した通りである。これらのデータはＡＴＡＰＩのコマンド情報としては「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」…のバイトオーダ（バイト毎の並び）で解釈される（ＡＴＡＰＩでは、この後、更に２ワード分か４ワード分のデータ受信が続くが、以下のデータも最初の４ワード分のデータと同様に処理されるので省略する）。これらのＡＴＡＰＩコマンド・パケット受信においては、受信データ２２０１の上位バイト「Ｂ」が先ずメモリモジュール３０１に格納される。その後、Ｎクロック（ＮはＮ≧１の整数）遅延して、受信データ２２０１の下位バイト「Ａ」がメモリモジュール３０２に格納される。続けて、受信データ２２０２の上位バイト「Ｄ」がメモリモジュール３０１に格納された後、Ｎクロック遅延して、受信データ２２０２の下位バイト「Ｃ」がメモリモジュール３０２に格納される。以後、同様に上位バイト側が先に上位バイトを保存するメモリモジュール３０１に格納され、Ｎクロック遅延して下位バイト側が下位バイトを保存するメモリモジュール３０２に格納される。このようにして、ＡＴＡＰＩコマンド・パケットのメモリモジュールへの格納順番は、「Ｂ」→「Ａ」→「Ｄ」→「Ｃ」→「Ｆ」→「Ｅ」…のようになる。
【００８６】
次に、この動作例における各メモリモジュール３０１、３０２の格納アドレスについて、図１４を用いて説明する。図１４において、３０１と３０２はメモリモジュール、Ｓ３０１Ｂは変換Ｆ後メモリ書き込みアドレス信号、Ｓ３０２Ｂは変換Ｇ後メモリ書き込みアドレス信号、Ｓ３００２はメモリ書き込みデータ信号、Ｓ３０４はＮクロック遅延後メモリ書き込みデータ信号である。図８、図９、図１０を用いて説明したように変換Ｆ（０）と変換Ｇ（０）を定めたので、受信データ２２０１の変換元アドレス「０」に対応する変換先アドレスは、「９」と「１５」である。従って、受信データ２２０１の上位下位の各バイトについての書き込み動作は、メモリモジュール３０１のアドレス「９」に対して受信データ２２０１の上位バイトデータ「Ｂ」を書き込む動作と、メモリモジュール３０２のアドレス「１５」に対して受信データ２２０１の下位バイトデータ「Ａ」を書き込む動作とに分かれて行われる。書き込み順序は前述したように「Ｂ」の方が先、「Ａ」の書き込みは「Ｂ」の書き込みのＮクロック後になる。以下、同様にして、図１４に示したように、ＡＴＡＰＩコマンド・パケットを構成する各ワードの上位バイトと下位バイトが各々別のメモリモジュールの別のアドレスに異なる時間に（Ｎクロック遅延回路１０２１で遅延されるＮクロック分の時間差で）書き込まれる。信号Ｓ３０１Ｂ及び信号Ｓ３０２Ｂの各信号線に対応するビット位置をどのように入れ替えて解釈しても、同一ワードに属する上位及び下位の各バイトのデータは別のメモリモジュールの別アドレスに格納される。このようにすることにより、インタフェース回路中の情報格納部位を外部からプローブされたとしても、情報解析の糸口を極力与えないため、安全性を高めたコマンド通信が可能になる。
【００８７】
尚、本実施形態４では、メモリモジュールについて、上位バイトと下位バイトの各々を格納するために、２つに分けた構成で説明したが、２つに分ける構成に限定されるものではない。３つ以上に分割しても、これまでの説明と同様に安全性を高めたインタフェース回路が実現可能であり、かつ２つにメモリモジュールを分割した場合と同様又はそれ以上の効果を奏することは言うまでもない。
以上、発明の実施形態１〜４で行った説明においては、具体的なホストインタフェースについて説明するときは特にＡＴＡＰＩを例にして説明したが、本発明は何もＡＴＡＰＩに限ることはなく、ＳＣＳＩやその他のいかなるホストインタフェースであっても同様に有効に機能することは言うまでもない。
【００８８】
また、発明の実施形態１〜４で説明した情報処理装置がどのような分野に適用できるかについて言及しておくと、具体的には、少なくとも光ディスク装置や磁気テープ装置又はメモリカード装置のような情報再生装置や情報記録再生装置に適用できる。これらはＡＴＡＰＩインタフェースやＳＣＳＩインタフェースなどのディジタル・インタフェースを利用する代表的な応用分野の一つである。
【産業上の利用可能性】
【００８９】
以上説明したように、本発明にかかるインタフェース回路、情報処理装置及び情報処理システムは、秘匿すべき情報が存在するようなディジタル機器間の通信用途に広く有用である。また、特にＤＶＤ等の光ディスクを始めとする情報再生装置や情報記録再生装置等におけるインタフェース用途への応用が期待できる。
【図面の簡単な説明】
【００９０】
【図１】本発明の実施形態１による情報処理装置及び情報処理システムの一例を示すブロック図である。
【図２】本発明の実施形態２による情報処理装置及び情報処理システムの一例を示すブロック図である。
【図３】本発明の実施形態２による情報処理装置及び情報処理システムの他の一例を示すブロック図である。
【図４】本発明の実施形態３によるインタフェース回路中の変換回路の一例を示すブロック図である。
【図５】本発明の実施形態３によるインタフェース回路でのメモリへの書き込み動作の一例を示す図である。
【図６】本発明の実施形態４によるインタフェース回路のブロック図である。
【図７】本発明の実施形態４によるインタフェース回路中の変換回路の一例を示すブロック図である。
【図８】本発明の実施形態４によるインタフェース回路中の変換回路における変換回路Ｆ部の構成の一例を示すブロック図である。
【図９】本発明の実施形態４によるインタフェース回路中の変換回路における変換回路Ｇ部の構成の一例を示すブロック図である。
【図１０】本発明の実施形態４によるインタフェース回路中の変換回路における変換Ｆと変換Ｇの各変換表の一例を示した図である。
【図１１】本発明の実施形態４によるインタフェース回路中の変換回路における変換Ｆと変換Ｇの各変換表について、表中のビット割当てを入れ替えた場合、変換表の最初の８要素がどのように変化するかを各３例だけ示した図である。
【図１２】５ビットで表せる数値について、各ビットを任意に入れ替えた時に得られる値を、数値におけるビット“１”の数に応じてまとめた表を示した図である。
【図１３】本発明の実施形態４によるインタフェース回路でのメモリへの書き込み動作の一例を示す図である。
【図１４】本発明の実施形態４によるインタフェース回路でのメモリへの書き込み動作時における、書き込み状態の一例を示す図である。
【図１５】従来の情報処理装置及び情報処理システムの一例を示すブロック図である。
【図１６】インタフェース回路におけるメモリの一例を示すブロック図である。
【図１７】従来のインタフェース回路でのメモリへの書き込み動作の一例を示す図である。
【図１８】ホストコンピュータに２台の情報処理装置が接続される場合に、一方の情報処理装置がベンダ・ユニーク・コマンドを持つ場合の全体構成図である。
【符号の説明】
【００９１】
１０１                    コマンド情報も対象に含められる
デスクランブル回路（デスクランブル手段）
１０２、１０２１             変換回路（変換手段）
１０３、１０３１             インタフェース処理回路
１０４                    コマンド情報も対象に含められる
スクランブル回路（スクランブル手段）
３０１、３０２              メモリモジュール（副記憶手段）
１０２１１               変換回路（Ｆ）
１０２１２               変換回路（Ｇ）
１０２１３               データ信号Ｎクロック遅延回路（遅延手段）
１０２１１１、１０２２      変換Ｆの第１の変換回路
１０２１１２、１０２３      変換Ｆの第２の変換回路
１０２１２１             変換Ｇの第１の変換回路
１０２１２２             変換Ｇの第２の変換回路
１０２１２３             ライトイネーブル信号Ｎクロック遅延回路
２００１                変換Ｆ（０）の変換表
２００２                変換Ｇ（０）の変換表
２０１１                変換Ｆ（０）における変換元０〜７に対応する
変換先リスト
２０１２                変換Ｆ（１）における変換元０〜７に対応する
変換先リスト
２０１３                変換Ｆ（２）における変換元０〜７に対応する
変換先リスト
２０１４                変換Ｇ（０）における変換元０〜７に対応する
変換先リスト
２０１５                変換Ｇ（１）における変換元０〜７に対応する
変換先リスト
２０１６                変換Ｇ（２）における変換元０〜７に対応する
変換先リスト
２２０１、３２０１         最初の受信データ
２２０２、３２０２         ２番目の受信データ
２２０３、３２０３         ３番目の受信データ
２２０４、３２０４         ４番目の受信データ
３００１                ホストコンピュータ（第２の情報処理装置）
３００２                情報処理装置
３００３                情報処理全体回路
３００４                メモリモジュール（記憶手段）
３００５                情報処理回路
３１０２                デコーダ回路
３１０３                アクセス単位データ記憶セル群
３１０４                セレクタ回路
Ｓ１００                デスクランブル回路制御信号
Ｓ１０１、Ｓ３０１         変換Ｆ後メモリ制御信号
Ｓ１０１Ａ、Ｓ３０１Ａ      変換Ｆ後ライトイネーブル信号
Ｓ１０１Ｂ、Ｓ３０１Ｂ      変換Ｆ後メモリ書き込みアドレス信号
Ｓ１０１Ｃ、Ｓ３０１Ｃ      変換Ｆ後メモリ読み出しアドレス信号
Ｓ３０２                変換Ｇ後メモリ制御信号
Ｓ３０２Ａ               Ｎクロック遅延ライトイネーブル信号
Ｓ３０２Ｂ               変換Ｇ後メモリ書き込みアドレス信号
Ｓ３０２Ｃ               変換Ｇ後メモリ読み出しアドレス信号
Ｓ３０３                 Ｎクロック遅延前メモリ書き込みデータ信号
Ｓ３０４                 Ｎクロック遅延後メモリ書き込みデータ信号
Ｓ３０５、Ｓ３０６          メモリ読み出しデータ信号
Ｓ３０００                インタフェース信号
Ｓ３００１                インタフェース内部信号
Ｓ３００２                メモリ書き込みデータ信号
Ｓ３００３                メモリ読み出しデータ信号
Ｓ３００４                メモリ制御信号
Ｓ３１０１                ライトイネーブル信号
Ｓ３１０２                メモリ書き込みアドレス信号
Ｓ３１０３                メモリ読み出しアドレス信号
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2007102323.tif 000021
【図２】
2007102323.tif 000022
【図３】
2007102323.tif 000023
【図４】
2007102323.tif 000024
【図５】
2007102323.tif 000025
【図６】
2007102323.tif 000026
【図７】
2007102323.tif 000027
【図８】
2007102323.tif 000028
【図９】
2007102323.tif 000029
【図１０】
2007102323.tif 000030
【図１１】
2007102323.tif 000031
【図１２】
2007102323.tif 000032
【図１３】
2007102323.tif 000033
【図１４】
2007102323.tif 000034
【図１５】
2007102323.tif 000035
【図１６】
2007102323.tif 000036
【図１７】
2007102323.tif 000037
【図１８】
2007102323.tif 000038
【国際調査報告】
2007102323.tif 000039
2007102323.tif 000040
2007102323.tif 000041
2007102323.tif 000042