(57)【要約】【課題】  セキュリティが強化されたデータ転送システムを提供する。【解決手段】  第１プログラムに従って演算処理可能な第１データ処理部（１０１）と、第２プログラムに従って演算処理可能な第２データ処理部（１０５）と、上記第１データ処理部によってアクセス可能な第１メモリ（１０４）と、上記第２データ処理部によってアクセス可能な第２メモリ（１０６）と、上記第１メモリから上記第２データ処理部へのＤＭＡ転送を可能とするＤＭＡコントローラ（３０１）とを設ける。そして、上記第１メモリには、上記第１プログラムが上記第１データ処理部で実行可能な状態で格納されるとともに、上記第２プログラムが暗号化された状態で格納される。上記ＤＭＡ転送によって上記第２メモリにおける上記第２プログラムの書き換えが可能とされる。上記第１メモリ内の上記第２プログラムが暗号化されることで、セキュリティの強化が図られる。【選択図】        図１
2007065963.tif 000002
【特許請求の範囲】
【請求項１】
第１プログラムに従って演算処理可能な第１データ処理部と、
上記第１プログラムとは異なる第２プログラムに従って演算処理可能な第２データ処理部と、
上記第１データ処理部によってアクセス可能な第１メモリと、
上記第２データ処理部によってアクセス可能な第２メモリと、
上記第１メモリから上記第２データ処理部へのＤＭＡ転送を可能とするＤＭＡコントローラと、を含み、
上記第１メモリには、上記第１プログラムが上記第１データ処理部で実行可能な状態で格納されるとともに、上記第２プログラムを暗号化したデータが格納されるデータ転送システム。
【請求項２】
上記ＤＭＡコントローラは、暗号化された上記第２プログラムを復号化する機能を有し、上記ＤＭＡ転送によって上記第２メモリにおける上記第２プログラムの書き換えが可能とされていることを特徴とする請求項１記載のデータ転送システム。
【請求項３】
上記ＤＭＡコントローラは、転送元アドレスを格納可能な第１レジスタと、
転送先アドレスを格納可能な第２レジスタと、
上記第１レジスタに格納された転送元アドレスで特定される領域に存在するデータの暗号化処理又は復号化処理を可能とする暗号処理回路と、を含み、上記暗号処理回路で復号化された上記第２プログラムを、上記第２レジスタに格納された転送先アドレスで特定される領域に上記ＤＭＡ転送する請求項１記載のデータ転送システム。
【請求項４】
上記第１データ処理部と、上記第１メモリと、上記ＤＭＡコントローラとの間のデータ転送を可能とする第１バスと、
上記ＤＭＡコントローラと上記第２データ処理回路との間のデータ転送を可能とする第２バスと、を含み、上記暗号処理回路で復号化された上記第２プログラムは、上記第２バスを介して上記第２データ処理回路に上記ＤＭＡ転送される請求項３記載のデータ転送システム。
【請求項５】
入力されたメディア信号を符号化可能なメディア信号符号化装置を含み、上記ＤＭＡコントローラは、上記メディア信号符号化装置で符号化されたメディア信号を上記暗号処理回路で暗号化してから上記第１メモリへＤＭＡ転送する請求項４記載のデータ転送システム。
【請求項６】
符号化されたメディア信号を復号化可能なメディア信号復号化装置を含み、上記ＤＭＡコントローラは、上記第１メモリ内の暗号化されたメディア信号を復号化してから上記メディア信号復号化装置にＤＭＡ転送する請求項４記載のデータ転送システム。
【請求項７】
上記第１データ処理部と、上記第２データ処理部と、上記第１メモリと、上記第２メモリと、上記ＤＭＡコントローラとが一つの半導体基板上に形成されている請求項１記載のデータ転送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送技術に関し、例えばＤＭＡ（ダイレクト・メモリ・アクセス）転送を可能とするデータ処理装置に適用して有効な技術に関する。
【背景技術】
【０００２】
ＤＭＡコントローラは、ＣＰＵ（中央処理装置）がプログラムの制御に基づいて転送するよりも高速にデータ転送を実現することから、頻繁にデータ転送を行うシステムで利用されることが多い。転送モードの異なるＤＭＡ転送をＣＰＵの介在なしに自動的に行えるようにしてシステム動作の高速化を図った技術（例えば特許文献１参照）が知られている。
【０００３】
また、マルチメディア信号についての符号変換・暗号化等の処理技術（例えば特許文献２参照）が知られている。
【０００４】
【特許文献１】特開平７−２１１１８号公報
【特許文献２】特開２０００−２８６８９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
マルチメディア信号を取り扱うシステムにおいて、ディジタル・シグナル・プロセッサ（ＤＳＰ）が内蔵される場合がある。このＤＳＰのプログラムメモリやデータメモリの容量には制約があり、できるだけ小規模にすることが望ましい。そのため、プログラムを例にとると、プログラムメモリに格納しきれないプログラムを安価で集積度を高くできるメインメモリに予め格納しておき、プログラムメモリの内容の書き換えを繰り返してＤＳＰを動作させるのが普通である。このメインメモリはシステムのメインＣＰＵも接続可能に構成されているものである。このような構成において悪意のある人間がメインＣＰＵを制御してメインメモリに格納されているＤＳＰのプログラムを読み出して解読する虞れのあることが本発明者によって明らかになった。
【０００６】
本発明の目的は、セキュリティが強化されたデータ転送システムを提供することにある。
【０００７】
また、本発明の別の目的は、セキュリティが強化され、しかも必要最小限の回路規模で効率よくデータ転送を行うことができるデータ転送システムを提供することにある。
【０００８】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１０】
すなわち、第１プログラムに従って演算処理可能な第１データ処理部と、上記第１プログラムとは異なる第２プログラムに従って演算処理可能な第２データ処理部と、上記第１データ処理部によってアクセス可能な第１メモリと、上記第２データ処理部によってアクセス可能な第２メモリと、上記第１メモリから上記第２データ処理部へのＤＭＡ転送を可能とするＤＭＡコントローラとを設ける。そして、上記第１メモリには、上記第１プログラムが上記第１データ処理部で実行可能な状態で格納されるとともに、上記第２プログラムが暗号化された状態で格納される。
【００１１】
上記の手段によれば、上記第１メモリには、上記第１プログラムが上記第１データ処理部で実行可能な状態で格納されるとともに、上記第２プログラムが暗号化された状態で格納されるため、第１データ処理部から上記第２プログラムをモニタすることはできない。このことが、上記第２プログラムのセキュリティ強化を達成する。
【００１２】
このとき、上記ＤＭＡコントローラに、暗号化された上記第２プログラムを復号化する機能を内蔵することができる。この場合、転送元領域に暗号化されたデータが格納され、転送先に平文データを送信する場合、上記第２プログラムを復号化する機能を内蔵するＤＭＡコントローラを用いれば、使用するＤＭＡチャネルは１チャネルで済み、転送に生じるレイテンシを最小限に抑えることができる。例えばＤＭＡチャネルを２チャネル用いた場合と比べると、その量はおよそ半分になる。平文データを暗号化し、転送先に送信する場合でも同様であり、データスループットは２倍に向上する。
【００１３】
上記ＤＭＡコントローラは、転送元アドレスを格納可能な第１レジスタと、転送先アドレスを格納可能な第２レジスタと、上記第１レジスタに格納された転送元アドレスで特定される領域に存在するデータの暗号化処理又は復号化処理を可能とする暗号処理回路と、を含み、上記暗号処理回路で復号化された上記第２プログラムを、上記第２レジスタに格納された転送先アドレスで特定される領域にＤＭＡ転送するように構成することができる。
【００１４】
上記第１データ処理部と、上記第１メモリと、上記ＤＭＡコントローラとの間のデータ転送を可能とする第１バスと、上記ＤＭＡコントローラと上記第２データ処理回路との間のデータ転送を可能とする第２バスと、を含み、上記暗号処理回路で復号化された上記第２プログラムが、上記第２バスを介して上記第２データ処理回路にＤＭＡ転送されるように構成する。このような構成にすることにより第１データ処理部が第２バスに接続することが不可能であるため、復号化された第２プログラムを読み出すことが不可能となり、システムのセキュリティを向上されることができる。
【００１５】
入力されたメディア信号を符号化可能なメディア信号符号化装置を含み、上記ＤＭＡコントローラは、上記メディア信号符号化装置で符号化されたメディア信号を上記暗号処理回路で暗号化してから上記第１メモリへＤＭＡ転送するように構成することができる。
【００１６】
また、符号化されたメディア信号を復号化可能なメディア信号復号化装置を含み、上記ＤＭＡコントローラは、上記第１メモリ内の暗号化されたメディア信号を復号化してから上記メディア信号復号化装置にＤＭＡ転送するように構成することができる。
【発明の効果】
【００１７】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００１８】
すなわち、セキュリティが強化されたデータ転送システムを提供することができる。
【発明を実施するための最良の形態】
【００１９】
＜実施の形態１＞
図２及び図３には、本発明にかかるデータ転送システムが適用されたデータ処理装置が示される。
【００２０】
図２に示されるデータ処理装置は、システム全体をプログラムに基づいて制御するＣＰＵ１０１と、データ転送を担うＤＭＡコントローラ１０２と、暗号化あるいは復号化を行う暗号処理回路１０３と、メインメモリ１０４が設けられる。また、プログラムに基づいて信号処理を行うＤＳＰ（ディジタル・シグナル・プロセッサ）１０５と、ＤＳＰ１０５がフェッチして信号処理を行うためのプログラムを格納するプログラムメモリ１０６と、ＤＳＰ１０５が信号処理を行う際、一時的にデータを格納するデータメモリ１０７と、所定の信号処理を行う周辺回路１０８と、バス１０９が設けられる。ＤＭＡコントローラ１０２、暗号処理回路１０３、メインメモリ１０４、ＤＳＰ１０５、周辺回路１０８は、バス１０９によって、相互にデータのやり取りが可能となるように結合される。
【００２１】
バス１０９はデータバス、アドレスバスを含む。ＤＳＰ１０５のプログラムメモリ１０６やデータメモリ１０７の容量には制約があり、できるだけ小規模にすることが望ましい。そのため、プログラムを例にとると、プログラムメモリ１０６に格納しきれないプログラムを安価で集積度を高くできるメインメモリ１０４に予め格納しておき、プログラムメモリ１０６の内容の書き換えを繰り返してＤＳＰ１０５を動作させるのが普通である。本発明の特徴点としては、メインメモリ１０４にはＤＳＰ１０５が必要とするプログラムの大部分を格納するため、セキュリティの観点からデータの暗号化を行っていることである。
【００２２】
ＣＰＵ１０１あるいはＤＳＰ１０５は、バス１０９を通じてＤＭＡコントローラ１０２を動作させるためのＤＭＡパラメータを設定する。ＤＭＡパラメータとは、起動するＤＭＡチャネルの転送元アドレスや転送先アドレス、転送回数等のＤＭＡ転送に必要な初期設定値である。ここでは、ＤＭＡチャネル０およびＤＭＡチャネル１について設定すると仮定する。ＤＭＡコントローラ１０２は、ＤＭＡチャネル０を起動し、メインメモリ１０４に格納されたデータをバス１０９を経由して受信する。該データはＤＳＰ１０５のプログラムデータが暗号化されたものであり、これを復号するため、暗号処理回路１０３に送信する。
【００２３】
暗号処理回路１０３は該プログラムデータが暗号化されたものを復号化し、内部に保持する。ＤＭＡコントローラ１０２は、ＤＭＡチャネル１も起動し、ＤＭＡチャネル０の転送に支障がないよう、暗号処理回路１０３にアクセスし、該プログラムデータを受信する。該データはＤＳＰ１０５が特別の処理なしにフェッチ、デコードできる平文であり、ＤＳＰ１０５を経由してプログラムメモリ１０６に送信される。ＤＳＰ１０５は、プログラムメモリ１０６に格納されたプログラムに基づいて信号処理を行う。
【００２４】
上述のようにＤＭＡチャネルを複数用いる方法の他に、１チャネルのみ使用する方法もある。この場合、前述のＤＭＡチャネル１が行っていたＤＭＡ転送を、ＤＭＡチャネル０の転送が完全に終了してから実施することで実現される。ＤＭＡコントローラ１０２は、ＤＭＡチャネル０を起動し、メインメモリ１０４に格納されたデータをバス１０９を経由して受信する。該データはＤＳＰ１０５のプログラムデータが暗号化されたものであり、これを復号するため、暗号処理回路１０３に送信する。暗号処理回路１０３は該プログラムデータが暗号化されたものを復号化し、内部に保持する。この処理を所定の回数行い、暗号処理回路１０３のバッファに平文のプログラムが随時蓄えられていく。尚、平文のプログラムを自動的にメインメモリ１０４等に書き込んでゆくように構成してもよい。所定の回数の処理が終了し、ＤＭＡチャネル０の転送が終了したら、改めてＤＭＡチャネル０に必要な値を設定し、暗号処理回路１０３のバッファに蓄えられた平文のプログラムをＤＭＡコントローラ１０２に転送し、ＤＳＰ１０５に転送する。このような処理を所定の回数行うことで実現できる。平文のプログラムがメインメモリ１０４等に蓄えられるような構成の時にはメインメモリ１０４からＤＭＡコントローラ１０２に転送し、ＤＳＰ１０５に転送するよう動作する。
【００２５】
図３には、図２におけるＤＭＡコントローラ１０２の詳細な構成が示される。
【００２６】
バス１０９は、アドレス信号の転送を可能とするアドレスバス２０９と、データの転送を可能とするデータバス２１０とを含む。ＤＭＡコントローラ１０２は、ＤＭＡチャネル毎の転送元アドレスを格納するソースアドレスレジスタ２０１と、ＤＭＡチャネル毎の転送先アドレスを格納するデスティネーションアドレスレジスタ２０２と、ソースアドレスレジスタ２０１およびデスティネーションアドレスレジスタ２０２を制御するアドレス制御回路２０４と、ＤＭＡチャネル毎の転送回数を格納する転送計数レジスタ２０３と、転送計数レジスタ２０３を制御する転送回数制御回路２０５と、転送元メモリ２１１から読み出したデータを一時的に格納するデータラッチ回路２０６と、ＤＭＡ転送に関する複数の情報を格納するＤＭＡ情報レジスタ２０８と、ＤＭＡ情報レジスタ２０８に格納されたＤＭＡ情報に基づいてＤＭＡ転送を制御するＤＭＡ情報制御回路２０７とで構成される。ＤＭＡ情報制御回路２０７は、例えば起動するＤＭＡチャネルを制御する。以下、ＤＭＡチャネル０が起動して、転送元メモリ２１１のデータを転送先メモリ２１２に転送する場合について説明する。尚、特に制限されないが、転送元メモリ２１１は上記メインメモリ１０４に相当し、転送先メモリ２１２は上記暗号処理回路１０３に内蔵されたメモリとされる。
【００２７】
ＤＭＡ情報レジスタ２０８のＤＭＡ情報に基づいてＤＭＡ情報制御回路２０７によりＤＭＡチャネル０が起動されると、アドレス制御回路２０４はソースアドレスレジスタ２０１からＤＭＡチャネル０の転送元アドレス（ＳＡＲ０）を選択し、アドレスバス２０９に出力する。転送元メモリ２１１は該アドレスに格納されたデータをデータバス２１０に出力する。該データはデータラッチ回路２０６に一旦格納される。アドレス制御回路２０４はデスティネーションアドレスレジスタ２０２からＤＭＡチャネル０の転送先アドレス（ＤＡＲ０）を選択した後アドレスバス２０９に出力し、同時にデータラッチ回路２０６は一旦格納したデータをデータバス２１０に出力する。転送先メモリ２１２には該アドレスで特定される領域に該データが格納される。この一連の動作を通じ、転送回数制御回路２０５は転送計数レジスタ２０３に格納されたＤＭＡチャネル０の転送回数（ＴＣＲ０）を１減算して、更新する。同様に、アドレス制御回路２０４はＳＡＲ０およびＤＡＲ０を所定の方法に基づいて更新する。ＤＭＡコントローラ１０２は、上述のような動作を繰り返し、ＴＣＲ０が０になるまでＤＭＡ転送を行う。転送元や転送先等を含め、ＤＭＡチャネル０のＤＭＡ情報と異なる転送を実現するには、通常他のＤＭＡチャネルを用いるか、ＴＣＲ０が０になってから別の転送を指示し、改めてＤＭＡチャネル０を起動する必要がある。
【００２８】
ＴＣＲ０が１減算されるような一回のＤＭＡ転送に生じるレイテンシは、少なくともＤＭＡコントローラ１０２が転送元メモリ２１１にアクセスしてからデータを受信するまでの時間と、該データをラッチし転送先メモリ２１２のアドレスおよびデータを各々アドレスバスおよびデータバスへ出力するのに要する時間との和になる。
【００２９】
このように、ＤＳＰ１０５用のプログラムを暗号化してメインメモリ１０４に格納することにより、セキュリティの強化を図ることができる。
【００３０】
＜実施の形態２＞
図１には、本発明にかかるデータ転送システムが適用されたデータ処理装置の他の構成例が示される。
【００３１】
図２のようなシステムでは、限られたＤＭＡチャネルリソースの内２チャネルを使用する必要があるため、その起動プログラムは複雑になり、転送に生じるレイテンシが大きくなる。また、ＤＭＡチャネルを１チャネルのみにした場合でも、復号化を行うためのデータ転送と復号化を終えた後の平文の転送に、２回ＤＭＡコントローラを起動する必要があるため、その起動プログラムは複雑になり、転送に生じるレイテンシが大きくなる。このことは、ＤＳＰのプログラム入れ替えに代表されるように、繰り返しＤＭＡ転送を行う場合や、復号化されたデータの転送先となるメモリあるいは周辺回路が複数ある場合に、より顕著になる。又、暗号処理回路で復号した平文を所望の転送先に送信する際、平文が主要なバスを経由し、メモリに残る可能性があるため、ＣＰＵ１０１により平文を読み取られることがある。本実施例はそのような発明者が新たに見出した問題を解決するためのものである。
【００３２】
この装置は、暗号機能内蔵ＤＭＡコントローラ３０１、ＣＰＵ１０１、メインメモリ１０４、ＤＳＰ１０５、ＤＳＰ１０５のプログラムメモリ１０６、ＤＳＰ１０５のデータメモリ１０７、周辺回路１０８を含み、公知の半導体集積回路製造技術により、単結晶シリコン基板などの一つの半導体基板に形成される。上記暗号機能内蔵ＤＭＡコントローラ３０１、ＣＰＵ１０１、メインメモリ１０４、ＤＳＰ１０５、周辺回路１０８は、バス１０９によって互いにデータのやり取りが可能となるように結合されている。バス１０９はデータバス、アドレスバスを含む。ここで、上記ＣＰＵ１０１が本発明における第１データ処理部の一例とされ、上記ＤＳＰ１０５が本発明における第２データ処理部の一例とされる。また、上記メインメモリ１０４が本発明における第１メモリに対応し、上記プログラムメモリ１０６が本発明における第２メモリに対応する。
【００３３】
ＣＰＵ１０１は、所定のプログラムに基づいて暗号機能内蔵ＤＭＡコントローラ３０１を起動するためのパラメータ設定を指示したり、システム全体を制御する。プログラムメモリ１０６は、ＤＳＰ１０５が信号処理を実行するためのプログラムを格納するためのメモリであり、データメモリ１０７は、ＤＳＰ１０５がプログラムに基づいて処理したデータを一時的に保持するためのメモリである。メインメモリ１０４は、ＤＳＰ１０５が信号処理を実行するための大容量のプログラムを格納したり、周辺回路１０８が必要とするデータを格納する。本例では、メインメモリ１０４に格納されたプログラムは、暗号処理回路１０３で復号できる暗号化方式で暗号化されており、プログラムメモリ１０６が格納できるプログラム容量以上のプログラムを格納しているものとする。
【００３４】
以下、メインメモリ１０４に格納され、暗号化されたＤＳＰ１０５のプログラムを復号し、プログラムメモリ１０６に転送する動作について説明し、同様の動作を繰り返すことによってプログラムメモリ１０６の記憶内容を入れ替える動作について説明する。
【００３５】
ＣＰＵ１０１あるいはＤＳＰ１０５は、バス１０９を通じて暗号機能内蔵ＤＭＡコントローラ３０１を動作させるためのＤＭＡパラメータを設定する。ＤＭＡパラメータとは、ＳＡＲ２０１、ＤＡＲ２０２、ＴＣＲ２０３、ＤＭＡ情報レジスタ２０８等のＤＭＡ転送のための初期設定値である。暗号機能内蔵ＤＭＡコントローラ３０１が起動すると、この暗号機能内蔵ＤＭＡコントローラ３０１は、バス１０９を経由してメインメモリ１０４にアクセスし、バス１０９を経由して暗号化されたＤＳＰ１０５のプログラムデータを受信する。該受信データは、後述するような暗号機能内蔵ＤＭＡコントローラ内部の暗号処理回路１０３に入力され、所定のアルゴリズムで復号された後、内部に保持される。後述するような暗号機能内蔵ＤＭＡコントローラ内部のＤＭＡ情報制御回路２０７の指示により、暗号処理回路１０３の内部に保持されたデータが出力され、ＤＳＰ１０５を経由してプログラムメモリ１０６に格納される。ＤＳＰ１０５は、プログラムメモリ１０６に格納された平文のプログラムデータをフェッチし、プログラムに基づいて所定の信号処理を行う。ＤＳＰ１０５は所定の信号処理を行った後、暗号機能内蔵ＤＭＡコントローラを起動するためのＤＭＡ転送パラメータを設定し、ＤＭＡを起動する。尚、ＣＰＵ１０１によってＤＭＡ転送パラメータを設定するようにしても良い。暗号機能内蔵ＤＭＡコントローラ３０１が起動されると、上述のような過程を経てプログラムメモリの内容が更新され、更新されたプログラムに基づいてＤＳＰ１０５が信号処理を再開する。以上の動作を繰り返すことにより、ＤＳＰ１０５はプログラムメモリ１０６が小規模でも所定の信号処理を実施することができる。
【００３６】
図４には、上記暗号機能内蔵ＤＭＡコントローラ３０１の構成例が示される。
【００３７】
図４に示される暗号機能内蔵ＤＭＡコントローラ３０１が図３に示されるＤＭＡコントローラ１０２と大きく相違するのは、データラッチ回路２０６に代えて暗号処理回路１０３を有する点である。この暗号処理回路１０３は、データの暗号化処理機能、及び暗号化されたデータの復号化処理機能を有する。バス１０９は、アドレスバス２０９とデータバス２１０とを含む。アドレスバス２０９は、アドレス制御回路２０４に結合され、データバス２１０は、暗号処理回路１０３に結合される。
【００３８】
転送元メモリ２１１には暗号化されたデータが格納され、暗号機能内蔵ＤＭＡコントローラ３０１内部で復号化し、転送先メモリ２１２に平文データを転送する場合について説明する。尚、特に制限されないが、図４における転送元メモリ２１１は上記メインメモリ１０４に相当し、転送先メモリ２１２は上記ＤＳＰ１０５もしくはその周辺に配置されたメモリとされる。
【００３９】
図３に示されるＤＭＡコントローラ１０２と同様に、ＤＭＡ情報レジスタ２０８のＤＭＡ情報に基づいてＤＭＡ情報制御回路２０７により例えばＤＭＡチャネル０が起動されると、アドレス制御回路２０４はソースアドレスレジスタ２０１からＤＭＡチャネル０の転送元アドレス（ＳＡＲ０）を選択し、アドレスバス２０９に出力する。転送元メモリ２１１は該アドレスに格納されたデータをデータバス２１０に出力する。該データは暗号処理回路１０３に受信される。暗号処理回路１０３は、例えばＤＥＳ暗号等の所定のアルゴリズムに基づいて受信データを復号し、平文データを内部に保持する。アドレス制御回路２０４はデスティネーションアドレスレジスタ２０２からＤＭＡチャネル０の転送先アドレス（ＤＡＲ０）を選択した後アドレスバス２０９に出力し、同時に暗号処理回路１０３は保持した平文データをデータバス２１０に出力する。転送先メモリ２１２には該アドレスで特定される領域に平文データが格納される。この一連の動作を通じ、転送回数制御回路２０５は転送計数レジスタ２０３に格納されたＤＭＡチャネル０の転送回数（ＴＣＲ０）を１減算して、更新する。同様に、アドレス制御回路２０４はＳＡＲ０およびＤＡＲ０を所定の方法に基づいて更新する。暗号機能内蔵ＤＭＡコントローラ３０１は、上述のような動作を繰り返し、ＴＣＲ０が０になるまでＤＭＡ転送を行う。
【００４０】
このように転送元に暗号化されたデータが格納され、転送先に平文データを送信する場合において、暗号機能内蔵ＤＭＡコントローラ３０１を用いれば、使用するＤＭＡチャネルは１チャネルで済む。従って、転送に生じるレイテンシは最小限に抑えられ、ＤＭＡチャネルを２チャネル用いる場合と比べると、その量はおよそ半分になる。また、図２に示される構成とは異なり、復号化した平文データを外部からの読み出しが容易な外部メモリ等に一時的に保持する必要がないため、セキュリティ強化につながる。
【００４１】
上記の例によれば、以下の作用効果を得ることができる。
【００４２】
（１）転送元領域に暗号化されたデータが格納され、転送先に平文データを送信する場合、暗号機能内蔵ＤＭＡコントローラ３０１を用いれば使用するＤＭＡチャネルは１チャネルで済むことから、転送に生じるレイテンシは最小限に抑えられ、ＤＭＡチャネルを２チャネル用いた場合と比べると、その量はおよそ半分になる。平文データを暗号化し、転送先に送信する場合でも同様であり、データスループットは２倍に向上する。
【００４３】
（２）復号化した平文データを外部からの読み出しが容易な外部メモリ等に一時的に保持する必要がないため、セキュリティ強化につながる。
【００４４】
（３）メモリや周辺回路が複数存在し、各々の転送データに暗号処理が要求されるシステムでも、暗号処理回路は本発明の暗号機能内蔵ＤＭＡコントローラにのみ内蔵すればよく、必要最小限の回路規模で効率のよいデータ転送を実現できる。
【００４５】
（４）図示されないメモリや周辺回路が複数存在し、各々の転送データに暗号処理が要求された場合でも、暗号処理回路は暗号機能内蔵ＤＭＡコントローラ３０１にのみ内蔵すればよく、必要最小限の回路規模で効率のよいデータ転送を実現できる。
＜実施の形態３＞
図５には、本発明にかかるデータ転送システムが適用されたデータ処理装置の別の構成例が示される。
【００４６】
図５に示されるデータ転送システムが、図１に示されるのと大きく相違するのは、周辺回路１０８に代えて、映像、画像、オーディオ、あるいは音声等のメディア信号を符号化するためのメディア信号符号化装置５０１が設けられている点である。
【００４７】
一般的に、メディア信号の符号化システムには、割込み処理回路や、バス制御回路、外部インタフェース等の回路を必要とするが、本例では説明の便宜上、それらを省略している。また、本例では、オーディオ信号を例にとって、メディア信号符号化装置５０１はオーディオＰＣＭ（Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）データを入力とし、ＡＡＣ（Ａｄｖａｎｃｅｄ  Ａｕｄｉｏ  Ｃｏｄｉｎｇ）やＭＰ３（ＭＰＥＧ１  Ａｕｄｉｏ  Ｌａｙｅｒ３）等で符号化したメディア信号（オーディオストリームという）を出力する。
【００４８】
以下、メディア信号符号化装置５０１で生成されたオーディオストリームを暗号化し、それをメインメモリ１０４に格納するまでの動作を説明する。オーディオストリームは、メディア信号符号化装置５０１内の図示されない内部メモリに格納されているものとする。
【００４９】
ＣＰＵ１０１の指示で暗号機能内蔵ＤＭＡコントローラ３０１が起動すると、暗号機能内蔵ＤＭＡコントローラ３０１は、メディア信号符号化装置５０１にアクセスし、オーディオストリームを受信する。続いて暗号機能内蔵ＤＭＡコントローラ３０１の内部でオーディオストリームを暗号化し、内部で保持する。最後に、暗号機能内蔵ＤＭＡコントローラ３０１は暗号化されたオーディオストリームを出力し、メインメモリ１０４に格納する。このように、転送元のデータを暗号化して転送先に送信する場合も、本例のようなシステム構成にすればデータ転送にかかるレイテンシは最小限で済み、最小限の回路規模で、しかも安全で効率の良いＤＭＡ転送を実現することができる。
＜実施の形態３＞
図６には、本発明にかかるデータ転送システムが適用されたデータ処理装置の別の構成例が示される。
【００５０】
図６に示されるデータ転送システムが、図１に示されるのと大きく相違するのは、周辺回路１０８に代えて、映像、画像、オーディオ、あるいは音声等のメディア信号が符号化されたストリームを復号化して出力するメディア信号復号化装置６０１が設けられている点である。
【００５１】
一般的に、メディア信号のストリームを復号する復号化システムには割込み処理回路やバス制御回路、外部インタフェース等の回路を必要とするが、本例では説明の便宜上、それについての説明を省略する。また、本例では、オーディオ信号を例にとって、メディア信号復号化装置６０１はオーディオストリームを入力とし、復号化してＰＣＭデータを出力するものとする。
【００５２】
以下、メインメモリ１０４に格納され、暗号化されたオーディオストリームを復号化し、メディア信号復号化装置６０１にオーディオストリームを送信するまでの動作を説明する。
【００５３】
ＣＰＵ１０１の指示で暗号機能内蔵ＤＭＡコントローラ３０１が起動すると、暗号機能内蔵ＤＭＡコントローラ３０１は、メインメモリ１０４にアクセスし、暗号化されたオーディオストリームを受信する。続いて暗号機能内蔵ＤＭＡコントローラ３０１の内部で該オーディオストリームを暗号について復号化し、内部で保持する。最後に、暗号機能内蔵ＤＭＡコントローラ３０１は該オーディオストリームを出力し、メディア信号復号化装置６０１に送信する。このように、暗号化された転送元のデータを復号化して転送先に送信する場合、本例のようなシステム構成にすればデータ転送にかかるレイテンシは最小限で済み、最小限の回路規模で、しかも安全で効率が良いＤＭＡ転送を実現することができる。
＜実施の形態４＞
図７には、本発明にかかるデータ転送システムが適用されたデータ処理装置の別の構成例が示される。
【００５４】
図１に示された構成においては、復号した平文を所望の転送先に送信する際、平文がＣＰＵ１０１が接続可能なバスを経由して転送されるため、平文がバスに乗るためにＣＰＵ１０１により平文を読み取られることがあることを発明者が新たに見出した。本実施例はそのような発明者が新たに見出した問題を解決するためのものである。
【００５５】
図７に示されるデータ転送システムは、第１ＣＰＵ１、メインメモリ２、ＡＴＡインタフェース（Ｉ／Ｆ）３、暗号機能内蔵ＤＭＡコントローラ６、レジスタ１０、周辺回路１１，１２、プログラムメモリ１４、データメモリ１５、及び第２ＣＰＵ１９を含み、公知の半導体集積回路製造技術により単結晶シリコン基板などの一つの半導体基板に形成される。更にハードディスク（ＨＤＤ）４を含む。上記暗号機能内蔵ＤＭＡコントローラ６は、ＤＭＡ制御部７と、暗号処理回路８とを含み、基本的には、図４に示される暗号化機能内蔵ＤＭＡコントローラ３０１と同一構成とされる。すなわち、図７における暗号処理回路８は、図４における暗号処理回路１０３に対応し、図７におけるＤＭＡ制御部７は、図４に示される暗号化機能内蔵ＤＭＡコントローラ３０１における暗号処理回路１０３以外の全てのブロックに対応する。上記第１ＣＰＵ１、メインメモリ２、ＡＴＡインタフェース３、暗号機能内蔵ＤＭＡコントローラ６、周辺回路１１，１２は、バス５によって、互いにデータのやり取りが可能に構成される。暗号機能内蔵ＤＭＡコントローラ６とレジスタ１０とはＤＭＡパラメータ制御信号線９によって結合される。暗号機能内蔵ＤＭＡコントローラ６と周辺回路１１，１２は、ＤＭＡバス１３によって結合される。第２ＣＰＵ１９は、第２ＣＰＵバス１６を介して暗号機能内蔵ＤＭＡコントローラ６に結合され、第２ＣＰＵバス１７を介してレジスタ１０に結合され、第２ＣＰＵバス１８を介して周辺回路１１，１２に結合される。ここで、上記第１ＣＰＵ１が本発明における第１データ処理部の一例とされ、上記第２ＣＰＵ１９が本発明における第２データ処理部の一例とされる。
【００５６】
図８にはＣＰＵ２用プログラムの入れ替えフローチャートが示され、図９にはオーディオストリームを暗号化したデータの復号化フローチャートが示され、図１０にはオーディオストリームの暗号化フローチャートが示される。
【００５７】
第２ＣＰＵ用プログラムの入れ替えについて、図８のフローチャートに基づいて説明する。
【００５８】
第２ＣＰＵ１９は、バス１７を介してレジスタ１０にＤＭＡ制御部７の制御パラメータを設定する（ステップ８０１）。具体的には、ＳＡＲ０に転送元アドレスが設定され、ＤＡＲ０に転送先アドレスが設定され、ＴＣＲ０に転送回数が設定される（図４参照）。ステップ８０２でＤＭＡ転送終了条件が成立していない場合、ＤＭＡ制御部７は第１ＣＰＵバス５を介してメインメモリ２に格納されている暗号化されたデータを読み出す（ステップ８０３）。暗号化されたデータとは、第２ＣＰＵ１９が動作するためのプログラムを予め暗号化したデータである。次に、暗号化されたデータをＤＭＡ制御部７の内部にラッチする（ステップ８０４）。続いて、暗号処理回路８は暗号化されたデータを復号する（ステップ８０５）。続いて、ＤＭＡ制御部７は第２ＣＰＵバス１６を介して第２ＣＰＵ１９に復号した平文を送信する（ステップ８０６）。ここで、第２ＣＰＵバス１６は暗号機能内蔵ＤＭＡコントローラ６とＣＰＵ２を接続する外部から読み出し不可能なバスである。これらの動作により、平文はプログラムメモリ１４に格納される（ステップ８０７）。そして所定の方法でＤＭＡ制御部７の制御パラメータＳＡＲ０、ＤＡＲ０、ＴＣＲ０を更新する（ステップ８０８）。これら一連のステップを経て、再度ステップ８０２で再度ＤＭＡ転送終了条件が成立しているか否かを判定し、成立時はＤＭＡ転送を終了する。成立しない場合は再びステップ８０３から同様に動作を繰り返し、平文をプログラムメモリ１４に格納する。
【００５９】
以上の動作により、メインメモリ２に予め格納した暗号化されたデータを復号し、第２ＣＰＵ１９が実行可能なプログラムに変換して安全にプログラムメモリ１４に転送することができる。また、ＤＭＡチャネルを１チャネルのみを用いてＤＭＡ転送時に暗号化して転送することにより、目的の転送にかかるレイテンシを最小限に抑えることができる。
【００６０】
次に、周辺回路１１をオーディオデコーダとし、オーディオストリームを暗号化したデータの復号化動作について、図９の復号化フローチャートに基づいて説明する。
【００６１】
オーディオストリームを暗号化したデータは、予めハードディスク４に格納されているものとする。ステップ９０１で、第１ＣＰＵ１は第１ＣＰＵバス５を介してレジスタ１０にＤＭＡ制御部７の制御パラメータを設定する。具体的にはＳＡＲ０に転送元アドレスが設定され、ＤＡＲ０に転送先アドレスが設定され、ＴＣＲ０に転送回数が設定される。
【００６２】
次に、ＤＭＡ転送終了条件が成立しているか否かを判定し（ステップ９０２）、成立していない場合、ステップ９０３でＤＭＡ制御部７はＡＴＡインタフェース３および第１ＣＰＵバス５を介してハードディスク４に格納されている暗号化されたデータを読み出す。続いて、暗号化されたデータをＤＭＡ制御部７内部にラッチする（ステップ９０４）。そして、暗号処理回路８は暗号化されたデータを復号化する（ステップ９０５）。続いて、ＤＭＡ制御部７はＤＭＡバス１３を介して周辺回路１１（オーディオデコーダ）に復号した平文（オーディオストリーム）を送信する（ステップ９０６）。ここで、ＤＭＡバス１３は暗号機能内蔵ＤＭＡコントローラ６と周辺回路１１および周辺回路１２を接続する第１ＣＰＵ１、第２ＣＰＵ１９及び外部から読み出し不可能なバスである。これらの動作により、オーディオストリームはオーディオデコーダで所定の方式によりデコードされる（ステップ９０７）。そして所定の方法でＤＭＡ制御部７の制御パラメータＳＡＲ０、ＤＡＲ０、ＴＣＲ０を更新する（ステップ９０８）。これら一連のステップを経て、再度ステップ９０２で再度ＤＭＡ転送終了条件が成立しているか否かを判定し、成立時はＤＭＡ転送を終了する。成立しない場合は再びステップ９０３から同様に動作を繰り返す。
【００６３】
以上の動作により、ハードディスク４に予め格納したオーディオストリームを暗号化したデータを復号し、オーディオデコーダがデコードできるオーディオストリームに変換することにより第１ＣＰＵ１等から読み出されることが無く、安全にオーディオデコーダに転送することができる。また、ＤＭＡチャネルを１チャネルのみを用いてＤＭＡ転送時に復号化して転送することにより、目的の転送にかかるレイテンシを最小限に抑えることができる。
【００６４】
次に、周辺回路１２をオーディオエンコーダとし、このオーディオエンコーダが生成したオーディオストリームを暗号化してハードディスク４に格納する動作について、図１０のフローチャートに基づいて説明する。尚、オーディオストリームは、予め周辺回路１２で生成されているものとする。
【００６５】
ステップ１００１で、第１ＣＰＵ１は第１ＣＰＵバス５を介してレジスタ１０にＤＭＡ制御部７の制御パラメータ（ＳＡＲ０に転送元アドレス、ＤＡＲ０に転送先アドレス、ＴＣＲ０に転送回数）を設定する。次に、ＤＭＡ転送終了条件が成立しているか否かを判定し（ステップ１００２）、成立していない場合、ステップ１００３でＤＭＡ制御部７はＤＭＡバス１３を介して周辺回路１２に格納されているオーディオストリーム（平文）を読み出す。ＤＭＡバス１３は第１ＣＰＵ１、第２ＣＰＵ１９及び外部から読み出し不可能なバスである。続いて、オーディオストリームをＤＭＡ制御部７の内部にラッチする（ステップ１００４）。続いて、暗号処理回路８はオーディオストリームを暗号化する（ステップ１００５）。次に、ＤＭＡ制御部７は第１ＣＰＵバス５およびＡＴＡインタフェース３を介してハードディスク４に暗号化したデータを送信する（ステップ１００６）。これらの動作を経て、オーディオストリームを暗号化したデータをハードディスク４に格納する（ステップ１００７）。そして所定の方法でＤＭＡ制御部７の制御パラメータＳＡＲ０、ＤＡＲ０、ＴＣＲ０を更新する（ステップ１００８）。これら一連のステップを経て、再度ステップ１００２で再度ＤＭＡ転送終了条件が成立しているか否かを判定し、成立時はＤＭＡ転送を終了する。成立しない場合は再びステップ１００３から同様に動作を繰り返し、オーディオストリームを暗号化したデータをハードディスク４に送信する。
【００６６】
以上の動作により、周辺回路１２で予めエンコードされて生成されたオーディオストリームを暗号化し、安全にハードディスク４に転送することができる。また、ＤＭＡチャネルを１チャネルのみを用いてＤＭＡ転送時に暗号化して転送することにより、目的の転送にかかるレイテンシを最小限に抑えることができる。
【００６７】
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００６８】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるデータ処理装置に適用した場合について説明したが、本発明はそれに限定されるものではなく、データ転送システムに広く適用することができる。
【００６９】
本発明は、少なくともデータ転送を行うことを条件に適用することができる。
【図面の簡単な説明】
【００７０】
【図１】本発明に係るデータ転送システムが適用されたデータ処理装置の構成例ブロック図である。
【図２】本発明に係るデータ転送システムが適用されたデータ処理装置の別の構成例ブロック図である。
【図３】図２における主要部の構成例ブロック図である。
【図４】図１における主要部の構成例ブロック図である。
【図５】上記データ処理装置の別の構成例ブロック図である。
【図６】上記データ処理装置の別の構成例ブロック図である。
【図７】上記データ処理装置の別の構成例ブロック図である。
【図８】図７に示されるデータ処理装置における主要動作のフローチャートである。
【図９】図７に示されるデータ処理装置における主要動作のフローチャートである。
【図１０】図７に示されるデータ処理装置における主要動作のフローチャートである。
【符号の説明】
【００７１】
１  第１ＣＰＵ
３  ＡＴＡインタフェース
４  ハードディスク（ＨＤＤ）
５  第１ＣＰＵバス
６  暗号機能内蔵ＤＭＡコントローラ
７  ＤＭＡ制御部
８  暗号処理回路
９  ＤＭＡパラメータ制御信号線
１１  周辺回路
１２  周辺回路
１３  ＤＭＡバス
１４  プログラムメモリ
１５  データメモリ
１６，１７，１８  第２ＣＰＵバス
１９  第２ＣＰＵ
１０３  暗号処理回路
２０１  ソースアドレスレジスタ
２０２  デスティネーションアドレスレジスタ
２０３  転送計数レジスタ
２０４  アドレス制御回路
２０５  転送回数制御回路
２０６  データラッチ回路
２０７  ＤＭＡ情報制御回路
２０８  ＤＭＡ情報レジスタ
２０９  アドレスバス
２１０  データバス
２１１  転送元メモリ
２１２  転送先メモリ
３０１  暗号機能内蔵ＤＭＡコントローラ
５０１  オーディオエンコーダ
６０１  オーディオデコーダ
【図１】
2007065963.tif 000003
【図２】
2007065963.tif 000004
【図３】
2007065963.tif 000005
【図４】
2007065963.tif 000006
【図５】
2007065963.tif 000007
【図６】
2007065963.tif 000008
【図７】
2007065963.tif 000009
【図８】
2007065963.tif 000010
【図９】
2007065963.tif 000011
【図１０】
2007065963.tif 000012