(57)【要約】【課題】データをメディア・カードから不安全なＰＣＩバスを介して安全に読み取るための方法を提供する。【解決手段】フラッシュ・メディア・コアの機能を分離して、解読機能２３０はＰＣＩバス・インターフェース２０２の周辺側のハードウエア内に入れ、フラッシュ・メディア・カード２４８のためのコマンド発生機能はＣＰＵ２０１内で実行する。ＰＣＩバス・インターフェース２０２を通って流れる全ての情報は、メディア・カード暗号化機能またはＤＥＳなどの第2の暗号化機能で暗号化されるので、許可されていない人がコマンド構造またはメディア・カード２４８上に暗号化済みのデータにアクセスすることが防がれる。【選択図】図２
2004199689.tif 000002
【特許請求の範囲】
【請求項１】
メディア・カード上に第１の暗号化機能を用いて記憶されたデータを読み取るための読取り回路であって、
周辺装置とバスで通信するＣＰＵを有するコンピュータと、
前記メディア・カード上に前記第１の暗号化機能を用いて記憶されたデータを解読するために、前記バスと前記メディア・カードとに結合する第１の解読回路と、
前記バスで送られたデータを第２の暗号化機能を用いて暗号化しまたコマンドを解読するために、前記バスと前記メディア・カードとに結合する第２の暗号化／解読回路と、
前記ＣＰＵに命じてコマンドを生成し、前記コマンドを暗号化し、また前記第２の暗号化機能を用いて暗号化されたデータを解読するための、前記コンピュータ内に記憶されるドライバと、
を備える読取り回路。
【請求項２】
データとコマンドとを周辺バスで安全に送る方法であって、
第１の暗号化機能を用いて暗号化されてメディア・カード上に記憶されたデータをその暗号化された状態で周辺バスによりＣＰＵに送り、
暗号化済みのデータをその暗号化された状態で前記バスによりメディア・コア回路に送り返し、前記メディア・コア回路は前記暗号化済みのデータを解読して解読済みのデータを生成し、
前記解読済みのデータを第２の暗号化機能を用いて再暗号化して、再暗号化済みのデータを生成し、
前記再暗号化済みのデータを前記バスで前記ＣＰＵに送る、
ことを含む、安全に送る方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は不安全なコンピュータ・バスを介したメディア・カードの読取りに関するもので、より特定すると、不安全なＰＣＩバスを介してフラッシュ・メディア・カードからデータを読み取る安全な方法に関するものである。
【背景技術】
【０００２】
フラッシュ・メディア・カードは交換する情報を記憶する一般的な方法になりつつあり、メモリのメガビット当たりのカードの価格が低下するに従ってこの傾向は高まるであろう。したがって、コンパクト・ディスク（ＣＤ）やＤＶＤを用いる代わりにこのメディアを用いてオーディオやビデオの記録などのデータを配布することは経済的に可能である。メディア・カード上に記憶されるデータは、許可なしに情報にアクセスすることを防ぐために、暗号化機能を用いて暗号化される。
【０００３】
図１は、フラッシュ・メディア・カードを備える、一般に１００で示す従来技術の読取り装置のブロック図を示す。フラッシュ・メディア・カード１２２はメモリ（図１のカード１２２上にボックスで示す）内に、その中の情報を解読するのに用いられるキー１２４を記憶する。カード１２２はフラッシュ・メディア・インターフェース１２０に差し込まれる。インターフェース１２０は機械的な接続に用いられるだけでなく、必要なデータ信号をフラッシュ・メディア・カードに送り、また必要なデータ信号をフラッシュ・メディア・カードから受ける。フラッシュ・メディア・インターフェース１２０はバス１１８でフラッシュ・メディア・コア１１０と通信する。フラッシュ・メディア・コア１１０内にはキー１１６が記憶され、キー１１６はフラッシュ・メディア・コア１１０の部分１１４として図示されている解読プログラムと共に用いられる。キー１１６と解読プログラム１１４とは、フラッシュ・メディア・カード上に記憶されている情報を解読するのに用いられる。フラッシュ・メディア・コア１１０は、例えば解読されてユーザ装置に送られるデータを提供するようにフラッシュ・メディア・カードに命じるコマンドを生成する部分１１２も含む。当業者が理解するように、フラッシュ・メディア・コア１１０を２つの部分１１２と１１４とに分けたのは単に２つの機能を示すために過ぎない。一般に、この２つの機能に必要な回路はチップの別々の部分の上にあるのではなく、その中に分散されていて、それぞれはチップの物理的な大きさの半分も占めない。フラッシュ・メディア・コア１１０は、バス１０８でＵＳＢインターフェース１０６と通信する。インターフェース１０６はホスト・コンピュータ１０２とＵＳＢバス１０４で通信するのに必要なインターフェース機能を提供する。
【０００４】
動作を説明すると、ホスト・コンピュータ１０２はＵＳＢバス１０４を通したコマンドにより、データをメディア・カード１２２からＵＳＢインターフェース１０６に送るように要求する。インターフェース１０６はこの要求をバス１０８でフラッシュ・メディア・コア１１０の部分１１２に送り、コア１１０はこのコマンドをフラッシュ・メディア・カードに送る。コマンドはバス１１８でフラッシュ・メディア・インターフェース１２０に送られ、インターフェース１２０はこのコマンドをフラッシュ・メディア・カード１２２に与える。次にフラッシュ・メディア・カードは暗号化済みのデータを、フラッシュ・メディア・インターフェース１２０を介して、フラッシュ・メディア・コアの解読を行う部分１１４に与える。この動作を行う前に、フラッシュ・メディア・コア１１０の部分１１４はフラッシュ・メディア・カードと認証およびキー交換のアルゴリズムを行って、自分がメディア・カードの暗号化済みのデータの正しい受信者であることを明らかにし、安全なセッションを確立しておく。かかる暗号化方式は一般にフラッシュ・メディア・カードのメーカの専有であって、フラッシュ・メディア・カードにより配布される暗号化済みのデータを保護する。フラッシュ・メディア・カードから暗号化済みのデータを受けると、フラッシュ・メディア・コア１１０の部分１１４内の回路はデータを解読して、バス１０８でＵＳＢインターフェース１０６に送る。ＵＳＢインターフェース１０６はデータをＵＳＢバス１０４でホスト・コンピュータ１０２に送り、ホスト・コンピュータ１０２はデータを処理し、またはデータをオーディオおよび／またはメディア・カードに送ってオーディオおよび／またはビデオ表示を生成する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
フラッシュ・メディア・カード１２２の読取り装置のこの実施の形態には２つの問題がある。第１は、フラッシュ・メディア・コア・チップ１１０はその中に解読機能１１４と制御機能１１２とが必要なので非常に大きくなりまたコストが高いことである。したがって、フラッシュ・メディア・コアの制御機能をホスト・コンピュータに移してそのメモリおよびＣＰＵを用いることにより、余分な回路を必要とせずにこれらの機能の一部を実行することが望ましい。
従来技術の読取り装置の第２の問題は、フラッシュ・メディア・コア１１０で解読された後は、データはバス１０８でまたはより簡単にＵＳＢバスで、許可なしに利用できることである。したがって、データへの許可なしのアクセスを防ぐことが望ましい。
【課題を解決するための手段】
【０００６】
本発明の一般的な目的は、制御機能をホスト・コンピュータで行うようにしたメディア・カード読取り装置を提供することである。本発明の第２の一般的な目的は、解読済みの情報への許可なしのアクセスを防ぐメディア・カード読取り装置を提供することである。
【０００７】
かかる目的と特徴は、本発明の１つの形態に係る、メディア・カード上に第１の暗号化機能を用いて記憶されたデータを読み取るための読取り回路により達成される。コンピュータは周辺装置とバスで通信するＣＰＵを有する。第１の解読回路は、メディア・カード上に第１の暗号化機能を用いて記憶されたデータを解読するために、バスとメディア・カードとに結合する。第２の暗号化／解読回路は、バスで送られたデータを第２の暗号化機能を用いて暗号化しまたコマンドを解読するために、バスとメディア・カードとに結合する。コンピュータ内に記憶されたドライバはＣＰＵに命じてコマンドを生成し、コマンドを暗号化し、第２の暗号化機能を用いて暗号化されたデータを解読する。
【０００８】
本発明の別の形態は、メディア・カード上に第１の暗号化機能を用いて暗号化されたデータを読み取り、またデータをＰＣＩバスで送信するための読取り回路を含む。安全な送信経路は、バスに結合して第２の暗号化機能を用いる第２の暗号化／解読回路と、バスで周辺装置と通信するコンピュータのＣＰＵのドライバとを含み、ドライバはバスで送信するために第２の暗号化機能を用いてコマンドを暗号化し、またバスから受けた、第２の暗号化機能を用いて暗号化されたデータを解読する。
【０００９】
本発明の別の形態は、データとコマンドとを周辺バスで安全に送信する方法を含む。第１の暗号化機能を用いて暗号化されてメディア・カード上に記憶されたデータは、その暗号化された状態で周辺バスによりＣＰＵに送られる。暗号化済みのデータは暗号化された状態でバスによりメディア・コア回路に送り返され、メディア・コア回路は暗号化済みのデータを解読して解読済みのデータを生成する。解読済みのデータは第２の暗号化機能を用いて再暗号化されて、再暗号化済みのデータを生成する。再暗号化済みのデータはバスでＣＰＵに送られる。
【００１０】
本発明の更に別の形態は、メディア・カード上に第１の暗号化機能を用いて記憶されたデータを読み取る方法を含む。周辺装置と通信するために、第２の暗号化機能を用いて暗号化済みのコマンドはメディア・カードにコンピュータ・バスで送られる。暗号化済みのコマンドは解読されて解読済みのコマンドを生成する。解読済みのコマンドはメディア・カードに送られる。メディア・カード上に記憶されたデータはその暗号化された状態でバスにより送られる。
【実施例】
【００１１】
図２は、一般に２００で示す本発明に係るフラッシュ・メディア・カード読取り装置を示す。周知のように、フラッシュ・メディア読取り装置カードをコンピュータのＰＣＩバスに挿入することにより、一般に回路２００をパーソナル・コンピュータに組み込んでよい。フラッシュ・メディア・カード２４８はこのカードに差し込んでよい。コンピュータ・システムはＣＰＵ２０１を含み、ＣＰＵ２０１はバス２０５でサウンドまたはビデオ・カード２０７に結合し、また両方向バス２０３でＰＣＩバス・インターフェース２０２に結合する。図のこの部分は簡単化されていて、かかるコンピュータ・システムで一般に用いられる「北ブリッジ」および「南ブリッジ」インターフェースは簡単のために示していないが、当業者に周知である。ＣＰＵ２０１内で本発明を実現するための、コンピュータ・システムの一層詳細な構造を含むより完全な回路図は、同日出願でここに援用する、同時継続出願（Ｔ３５２５３）に示されている。
【００１２】
ＰＣＩバス・インターフェース２０２は両方向バス２０４でキー生成および認証回路２１２に結合する。ＰＣＩバス・インターフェース２０２は両方向バス２０８でＤＥＳ暗号化／解読モジュール２１６に、また両方向バス２１０でページＦＩＦＯ回路２１８に結合する。キー生成および認証回路２１２はＤＥＳ暗号化／解読モジュール２１６に両方向バス２１４で接続する。ＤＥＳ暗号化／解読モジュール２１６とＥＥＰＲＯＭ制御レジスタ２２６との間は両方向バス２２０で結合し、制御レジスタ２２６は両方向バス２３８でＥＥＰＲＯＭインターフェース２４０に結合する。ＥＥＰＲＯＭインターフェース２４０は両方向バス２５２でＥＥＰＲＯＭ２５４に結合する。ＥＥＰＲＯＭ２５４は図に２５６と２５８で示す２つのキーをその中に記憶する。キー２５６はＤＥＳ暗号化／解読に用いられる。キー２５８は、フラッシュ・メディア・カード２４８上の暗号化済みのデータをフラッシュ・メディア・コアが解読するのに用いられる。理解すべきであるが、ＤＥＳ暗号化機能の中にはキーを必要としないものがあり、その場合はキー２５６を省いてよい。また、フラッシュ・メディア・カード上のデータの暗号化はキーを必要としないことがあり、その場合はキー２５８を省いてよい。キー２５６はキー生成および認証回路２１２内に記憶してもよいし、キー２５８はフラッシュ・メディア・コア２３０内に記憶してもよいが、その場合はキーを変更するのが難しくなる。
【００１３】
フラッシュ・メディア・コア２３０はＤＥＳ暗号化／解読モジュール２１６に両方向バス２２２で結合し、またＥＥＰＲＯＭ制御レジスタ２２６に両方向バス２２８で結合する。または、フラッシュ・メディア・コア２３０は両方向バス２０６でＰＣＩバス・インターフェース２０２に直接結合してもよい。フラッシュ・メディア・レジスタ２３２はＤＥＳ暗号化／解読モジュール２１６に両方向バス２２４で、またフラッシュ・メディア制御論理２４２に両方向バス２３４で結合する。フラッシュ・メディア制御論理２４２はページＦＩＦＯ回路２１８に両方向バス２３６で、またフラッシュ・メディア・インターフェース２４６に両方向バス２４４で結合する。フラッシュ・メディア・カード２４８は図に２５０で示すキーをその中に記憶し、フラッシュ・メディア・インターフェース２４６に差し込まれる。
【００１４】
暗号化済みのデータがＰＣＩバス・インターフェース２０２からフラッシュ・メディア・コア２３０に流れる第２の経路は両方向バス２０６を含み、図２ではこれを点線で示してオプションであることを示す。フラッシュ・メディア・カード２４８からのデータはすでに暗号化されていることから考えて、ＣＰＵ２０１はＤＥＳ暗号化機能を用いてこれを暗号化せずに、フラッシュ・メディア・カード２４８から受けたデータを、ＤＥＳ暗号化／解読モジュール２１６をバイパスしてフラッシュ・メディア・コアに送ることができる。
【００１５】
回路２００の動作を説明すると、ＣＰＵ２０１はフラッシュ・メディア・カード２４８を動作させるコマンドを生成する。かかるコマンドは、同時継続出願（Ｔ３５２５３）に示されているようなドライバを用いて、コンピュータのメモリまたはハード・ドライブ（図示しない）内に記憶されているコンピュータ・プログラムにより生成する。コマンドは、このシステム用に選択されたＤＥＳ暗号化機能を用いて予め暗号化されている。当業者に周知のように、暗号化された出力のためのデータ暗号化標準（ＤＥＳ）を満たす暗号化機能は多数ある。どの暗号化機能を選ぶかは、必要な時間と提供される機密保護との間のトレードオフとして設計者が決める。
【００１６】
暗号化済みのコマンドはバス２０３でＰＣＩバス・インターフェース２０２に送られ、次にＰＣＩバスを介してバス２０８に送られ、更にバス２０８に結合するＤＥＳ暗号化／解読モジュール２１６に送られる。ＤＥＳ暗号化／解読モジュール２１６は、選択された暗号化機能と調和する解読機能を用いてコマンドを解読する。解読済みのコマンドはバス２２４でフラッシュ・メディア・レジスタ２３２に送られる。レジスタ２３２は、フラッシュ・メディア制御論理の挙動を設定し、トランザクションを開始し、制御論理とインターフェースの状態を示すのに用いられる。レジスタの出力の信号がバス２３４でフラッシュ・メディア制御論理回路２４２に送られると、制御論理回路２４２は必要な制御機能を生成して望ましいコマンドを実行する。これらの信号はアナログ入力／出力バッファを含むフラッシュ・メディア・インターフェース２４６にバス２４４で送られ、インターフェース内のフラッシュ・メディア・カード・コネクタ（図示しない）を介してフラッシュ・メディア・カード２４８に送られる。
【００１７】
フラッシュ・メディア・カード２４８上に記憶されたデータを検索する前にフラッシュ・メディア・カード２４８とフラッシュ・メディア・コア２３０とは認証およびキー交換の手続きを行い、各デバイスが他方を認証すると共に、フラッシュ・メディア・カード２４８上に記憶された情報を解読するのに用いられるキーを生成しなければならない。暗号化と、解読と、認証と、フラッシュ・メディア・カード２４８とフラッシュ・メディア・コア２３０との間のキー交換のプロセスはフラッシュ・メディア・カードのメーカに専有であって、カード上に記憶された情報の機密の漏洩を防ぐために秘密にされる。
【００１８】
フラッシュ・メディア・カード２４８からフラッシュ・メディア・コア２３０に送られる暗号化済みのデータはフラッシュ・メディア・インターフェース２４６を通り、バス２４４でフラッシュ・メディア制御論理２４２に送られ、更にバス２３６でページＦＩＦＯモジュール２１８に出力される。データがフラッシュ・メディア・カード２４８の出力で暗号化されているので更に暗号化せずにＰＣＩバスで送ってよい場合は、モジュール２１８はこれをバス２１０でＰＣＩバス・インターフェース２０２に送り、更にバス２０３でＣＰＵ２０１に送る。ＣＰＵ２０１はデータを受け、これをバス２０３を介して２つの可能な経路の１つで送り返す。第１の経路では、ＤＥＳ暗号化を用いてデータを暗号化し、バス２０３からＰＣＩバス・インターフェース２０２に送り、更にバス２０８でＤＥＳ暗号化／解読モジュール２１６に送る。モジュール２１６はＤＥＳ暗号化を取り除いてデータを解読する。これはフラッシュ・メディア暗号化に影響を与えない。データはまだフラッシュ・メディア暗号化で暗号化されていて、バス２２２でフラッシュ・メディア・コア２３０に送られる。
【００１９】
フラッシュ・メディア・コアが必要とする、ＥＥＰＲＯＭ２５４内に記憶されているキー２５８はバス２５２でＥＥＰＲＯＭインターフェース２４０に送られ、ＥＥＰＲＯＭインターフェース２４０から両方向バス２３８でＥＥＰＲＯＭ制御レジスタ２２６に、更に両方向バス２２８でフラッシュ・メディア・コア２３０に送られる。フラッシュ・メディア・コア２３０はキー２５８を用いて、フラッシュ・メディア・カード２４８と認証およびキー交換のプロトコルを行ってセッション・キーを生成し、これにより両者は相互にメッセージを交換することができる。
【００２０】
フラッシュ・メディア・コア２３０がフラッシュ・メディア・カード２４８のための戻りコマンドを生成すると、コマンドはバス２２２，２０８，２０３を用いる第１の経路を介して、また暗号化／解読モジュール２１６とＰＣＩバス・インターフェース２０２とを介して、ＣＰＵ２０１に送り返される。ＣＰＵはＰＣＩバス・インターフェース２０２とバス２０３とを介してこのコマンドをＤＥＳ暗号化／解読モジュール２１６に送り返し、モジュール２１６はコマンドを解読する。解読済みのコマンドはバス２２４でフラッシュ・メディア・レジスタ２３２に送られる。レジスタ２３２の出力はバス２３４でフラッシュ・メディア制御論理回路２４２に、更にバス２４４でフラッシュ・メディア・インターフェース２４６に、そしてフラッシュ・メディア・カード２４８に送られる。フラッシュ・メディア・カード２４８とフラッシュ・メディア・コア２３０とは、認証およびキー交換プロトコルが完了するまでこれらのコマンドを交換する。これによりセッション・キーが得られ、両者は協同して作業することができる。
【００２１】
ＤＥＳ暗号化／解読モジュール２１６を用いる前に、ＣＰＵ２０１とＤＥＳ暗号化／解読モジュール２１６とは同様にして認証およびキー交換のルーチンを行う必要がある。認証およびキー交換はモジュール２１２で行い、ＥＥＰＲＯＭ２５４内に記憶されているキー２５６を用いてもよいし、キーを使用しないアルゴリズムを用いてもよい。これについては、図３に関連して詳細に説明する。
【００２２】
ＣＰＵ２０１がフラッシュ・メディア・カード２４８にデータを要求したい場合は、上に述べたようにしてコマンドをフラッシュ・メディア・カード２４８に送る。フラッシュ・メディア・カード２４８は暗号化済みのデータをフラッシュ・メディア・インターフェース２４６に、そしてバス２４４でフラッシュ・メディア制御論理２４２に、更にバス２３６でページＦＩＦＯ回路２１８に送る。ページＦＩＦＯ回路２１８の出力は、バス２１０、ＰＣＩバス・インターフェース２０２、バス２０３を介してＣＰＵ２０１に送られる。フラッシュ・メディア・カード暗号化機能で暗号化されたデータは更にＤＥＳ暗号化機能で暗号化してよく、この場合はバス２０３、２０８、２２２、ＰＣＩバス・インターフェース２０２、ＤＥＳ暗号化／解読モジュール２１６を含む経路を用いてフラッシュ・メディア・コア２３０に送られる。しかしデータはすでに暗号化されているので第２の暗号化は用いなくてもよい。この場合は、データはバス２０３，２０６，ＰＣＩバス・インターフェース２０２を含むオプションの経路でフラッシュ・メディア・コア２３０に送られる。
【００２３】
フラッシュ・メディア・コア２３０はフラッシュ・メディア解読アルゴリズムを含み、内容が利用できるようにデータを解読する。データはもう全く暗号化されていないので、バス２２２でＤＥＳ暗号化／解読モジュール２１６に送られ、ＤＥＳ暗号化機能を用いて再暗号化され、ＰＣＩバス・インターフェース２０２とバス２０３とを経てＣＰＵ２０１に送られる。フラッシュ・メディア暗号化ではなくＤＥＳ暗号化機能により暗号化された信号からデータを生成するため、ＣＰＵ２０１はデータを解読してＤＥＳ暗号化を取り除き、全く暗号化されていないデータを得る。全く暗号化されていないデータはバス２０５でサウンドおよび／またはビデオ・カード２０７などの利用手段に送り、カード上に記憶されたオーディオ作品のサウンド出力またはカード上に記憶された視聴覚作品のサウンドおよびビデオ出力を与える。
【００２４】
注意すべきであるが、ＰＣＩバスを介してコマンドまたはデータを移動するときは必ず１つまたは２つの暗号化機能により暗号化する。これにより、許可されていない人がＰＣＩバス上の活動を監視して、フラッシュ・メディア・カードを動作させるのに用いられるコマンドを取得してカード上の保護をバイパスしたり、カードの暗号化されていない出力を取得して認証なしに内容を用いたりする問題を防ぐことができる。
【００２５】
認証およびキー生成の手続きについて、図３を参照して以下に説明する。上に述べたように、この要求を満たすために利用できる手続きは多数ある。以下に説明する手続きは単なる一例であって、ここに示すアルゴリズム以外の多くの他の種類の認証およびキー交換のプロトコルを用いることができる。図３において、認証およびキー交換の流れ図を一般に３００で示す。キー生成および認証回路２１２はステップ３０４でダイＩＤを生成する。これはチップ２１２上にまたはＥＥＰＲＯＭ２５４内に記憶された識別番号でよい。最初だけ、この情報はハッシュ関数３０８に送られる。ハッシュ関数３０８はドライバ３０２の一部であり、その一部はＣＰＵ２０１内に常駐する。またハッシュ関数３０８は、コンピュータ・システム（図示しない）内に記憶された秘密定数すなわちキー３０６と、回路２１２内の乱数発生器３１０が生成する乱数とを受ける。ハッシュ関数３０８はこれらの３つの数を用いて出力を生成して比較段３１６に送る。
【００２６】
比較段３１６はハッシュ関数３１４からも出力を受けて、ハッシュ関数３０８の出力と比較する。ハッシュ関数３１４は３０４からのダイＩＤと、乱数発生器３１０が生成した乱数と、秘密定数３１２（ＥＥＰＲＯＭ２５４内に記憶された、２５６で示されたキー）とを受ける。ハッシュ関数３０８と３１４との結果が等しい場合は、比較段３１６の出力は３１８で認証が有効であることを示す。ここで回路２１２は、ドライバ機能３０２が通信のための有効なドライバ機能であると認証されたことを知る。
【００２７】
また、ドライバ３０２内にあるハッシュ関数３２４は、ドライバ内の乱数発生器３２２の出力と、ダイＩＤ３０４と、秘密定数すなわちキー３０６とを受ける。ハッシュ関数３２４の出力とハッシュ関数３２０の出力とを比較段３２６で比較する。ハッシュ関数３２０はダイＩＤと、秘密定数３１２と、乱数発生器３２２が生成した乱数とを受ける。比較段３２６での比較の結果、ハッシュ関数３２４と３２０とが等しいことを示した場合は、３２８で回路２１２の認証が有効であることが分かる。ドライバとキー生成および認証機能２１２とが互いを認証したので、このセッション中に用いるキーを送ることができる。上に述べたように、このキーはＤＥＳ暗号化／解読に用いられる。
【００２８】
記憶するために、データをＣＰＵからフラッシュ・メディア・カードに送ることができる。暗号化されていないデータはＣＰＵ内で暗号化され、バス２０３、ＰＣＩバス・インターフェース２０２、バス２０８を介してＤＥＳ暗号化／解読回路２１６に送られる。回路２１６でＤＥＳ暗号化が取り除かれ、暗号化されていないデータはバス２２２でフラッシュ・メディア・コア２３０に送られる。フラッシュ・メディア・コア２３０はフラッシュ・メディア暗号化機能を用いてデータを暗号化し、暗号化済みのデータを、経路２０６，２０２，２０３または２２２，２１６，２０８，２０２，２０３を介してＣＰＵ２０１に送る。次に暗号化済みのデータは、記憶するために、経路２０３，２０２，２１０，２１８，２３６，２４２，２４４，２４６を介してフラッシュ・メディア・カード２４８に送られる。
【００２９】
本発明について好ましい実施の形態を参照して特に示して説明したが、当業者が理解するように、クレームに規定されている本発明の精神と範囲から逸れることなく、種々の変更と修正を本発明に行うことができる。例えば、ここの例ではＤＥＳ暗号化／解読を選んだが、他の既知の暗号化／解読技術を本発明に用いることができる。また、図ではキー生成および認証回路２１２はキー２５６を用いるが、キーを用いない認証プロセスも既知である。
（関連出願の相互参照）
この出願は、同日米国出願で同一人に譲渡された同時に継続する出願（ＴＩ文書番号Ｔ３５２５３）、「安全なドライバ(Secure Driver)」に関係するものであり、この言及により本願に取り込まれる。
【００３０】
以上の説明に関して更に以下の項を開示する。
（１）  メディア・カード上に第１の暗号化機能を用いて記憶されたデータを読み取るための読取り回路であって、
周辺装置とバスで通信するＣＰＵを有するコンピュータと、
前記メディア・カード上に前記第１の暗号化機能を用いて記憶されたデータを解読するために、前記バスと前記メディア・カードとに結合する第１の解読回路と、
前記バスで送られたデータを第２の暗号化機能を用いて暗号化しまたコマンドを解読するために、前記バスと前記メディア・カードとに結合する第２の暗号化／解読回路と、
前記ＣＰＵに命じてコマンドを生成し、前記コマンドを暗号化し、また前記第２の暗号化機能を用いて暗号化されたデータを解読するための、前記コンピュータ内に記憶されるドライバと、
を備える読取り回路。
【００３１】
（２）  前記第１の解読回路は前記第２の暗号化／解読回路を介して前記バスに結合する、第１項記載の読取り回路。
（３）  前記第１の解読回路は、前記第１の暗号化機能を用いて暗号化された前記メディア・カードから前記ＣＰＵを介してデータを受ける、第１項記載の読取り回路。
（４）  前記解読回路は前記第２の暗号化／解読回路を介して前記バスに結合する第３項記載の読取り回路。
【００３２】
（５）  前記バスはＰＣＩバスである、第１項記載の読取り回路。
（６）  前記バスはＰＣＩバスである、第２項記載の読取り回路。
（７）  前記バスはＰＣＩバスである、第４項記載の読取り回路。
（８）  前記第２の暗号化機能はＤＥＳである、第１項記載の読取り回路。
【００３３】
（９）  前記メディア・カードと前記ＰＣＩバスとの間に結合された制御およびインターフェース回路を更に備える、第１項記載の読取り回路。
（１０）  前記第２の暗号化／解読回路はキー生成および認証回路を含む、第１項記載の読取り回路。
（１１）  前記第１の解読回路は、前記第１の暗号化機能を用いて前記ＣＰＵからのデータを暗号化して前記メディア・カード上に記録するための第１の暗号化回路を含む、第１項記載の読取り回路。
（１２）  前記メディア・カードはフラッシュ・メディア・カードである、第１項記載の読取り回路。
【００３４】
（１３）  メディア・カード上に第１の暗号化機能を用いて暗号化されたデータを読み取り、また前記データをＰＣＩバスで送信するための読取り回路において、安全な送信経路は、
前記ＰＣＩバスに結合し、第２の暗号化機能を用いる第２の暗号化／解読回路と、
前記ＰＣＩバスで周辺装置と通信するコンピュータのＣＰＵのドライバであって、前記ＰＣＩバスで送信するために前記第２の暗号化機能を用いてコマンドを暗号化し、また前記ＰＣＩバスから受けた、前記第２の暗号化機能を用いて暗号化されたデータを解読するドライバと、
を含む安全な送信経路。
【００３５】
（１４）  メディア・カードに結合し、前記カード上に第１の暗号化機能を用いて記憶されたデータを前記ＰＣＩバスで暗号化済みのデータとして送信するためのインターフェース回路を更に含む、第１３項記載の安全な送信経路。
（１５）  前記第２の暗号化機能を用いて暗号化された前記ドライバからのコマンドは、
前記第２の暗号化／解読回路内で解読され、前記第１の暗号化機能を用いて暗号化されたデータをＰＣＩバスで送るよう前記メディア・カードに命じる、第１３項記載の安全な送信経路。
（１６）  前記第２の暗号化／解読回路に結合するメディア・コア回路を更に含み、前記メディア・コア回路は前記第１の暗号化機能を用いて暗号化された、前記ＰＣＩバスから受けたデータを解読して解読済みのデータを生成し、前記第２の暗号化／解読回路は、前記ＰＣＩバスで安全に送信するために、解読済みのデータを前記第２の暗号化機能を用いて暗号化する、第１３項記載の安全な送信経路。
【００３６】
（１７）  データとコマンドとを周辺バスで安全に送る方法であって、
第１の暗号化機能を用いて暗号化されてメディア・カード上に記憶されたデータをその暗号化された状態で周辺バスによりＣＰＵに送り、
暗号化済みのデータをその暗号化された状態で前記バスによりメディア・コア回路に送り返し、前記メディア・コア回路は前記暗号化済みのデータを解読して解読済みのデータを生成し、
前記解読済みのデータを第２の暗号化機能を用いて再暗号化して、再暗号化済みのデータを生成し、
前記再暗号化済みのデータを前記バスで前記ＣＰＵに送る、
ことを含む、安全に送る方法。
【００３７】
（１８）  前記再暗号化済みのデータを前記ＣＰＵ内で解読して、２度解読済みのデータを生成し、
前記２度解読済みのデータを利用回路に送る、
ことを更に含む、第１４項記載の安全に送る方法。
（１９）  メディア・カード上に第１の暗号化機能を用いて記憶されたデータを読み取る方法であって、
周辺装置と通信するために、第２の暗号化機能を用いて暗号化済みのコマンドを前記メディア・カードにコンピュータ・バスで送り、
前記暗号化済みのコマンドを解読して解読済みのコマンドを生成し、
前記解読済みのコマンドを前記メディア・カードに送り、
前記メディア・カード上に記憶されたデータをその暗号化された状態で前記バスを介して送る、
ことを含む、データを読み取る方法。
【００３８】
（２０）  メディア・カード・コアの機能はＰＣＩバスの周辺側のハードウエア内のメディア暗号化／解読機能内に分離される。メディア・カードのためのコマンド発生機能はＣＰＵ内に分離され、実行される。ＰＣＩバスを通って流れる全ての情報は、メディア・カード暗号化機能またはＤＥＳなどの第２の暗号化機能で暗号化されるので、許可されていない人がコマンド構造またはメディア・カード上に暗号化済みのデータにアクセスすることが防がれる。
【図面の簡単な説明】
【００３９】
【図１】従来技術のメディア・カード読取り装置のブロック図を示す。
【図２】本発明に係るメディア・カード読取り装置のブロック図を示す。
【図３】本発明で用いられる認証およびキー交換のアルゴリズムの流れ図を示す。
【符号の説明】
【００４０】
２０１  ＣＰＵ
２０２  ＰＣＩバス・インターフェース
２１６  ＤＥＳ暗号化／解読回路
２３０  フラッシュ・メディア・コア
２４８  フラッシュ・メディア・カード
【図１】
2004199689.tif 000003
【図２】
2004199689.tif 000004
【図３】
2004199689.tif 000005