(57)【特許請求の範囲】
【請求項１】
暗号化回路を有するセキュリティ対応のデータ処理装置に対して着脱自在のメモリ装置において、
上記セキュリティ対応のデータ処理装置から送信されるデータを記録するための不揮発性メモリと、
暗号化回路を有するセキュリティブロックと、
上記セキュリティ対応のデータ処理装置から送信されるコマンドが上記不揮発性メモリ用のメモリ制御コマンドか、上記セキュリティブロックのために定義されたセキュリティ用のコマンドかを判別し、セキュリティ用のコマンドと判別されたコマンドを上記セキュリティブロックに供給するコマンド判別分離ブロックとを備え、
上記メモリ制御コマンドは、上記セキュリティ対応のデータ処理装置、および暗号化回路を有さないセキュリティ非対応のデータ処理装置に対して共通に定義され、上記メモリ制御コマンドとして使用されないコードが上記セキュリティ用のコマンドに対して割り当てられ、セキュリティ対応のデータ処理装置のみならず、上記セキュリティ非対応のデータ処理装置に対しても装着して使用可能であることを特徴とするメモリ装置。
【請求項２】
上記セキュリティブロックは、データ処理装置から受け取ったセキュリティ用のコマンドをセットする第１のコマンドレジスタと、セキュリティブロック内部で生成したセキュリティ用のコマンドをセットする第２のコマンドレジスタと、上記第１のコマンドレジスタの値と上記第２のコマンドレジスタの値とを比較する比較回路とを有することを特徴とする請求項１記載のメモリ装置。
【請求項３】
上記セキュリティブロックは、コマンドコードをインクリメントさせるインクリメントブロックを有し、該インクリメントブロックによって、上記第２のコマンドレジスタにセットされるセキュリティ用のコマンドを内部生成することを特徴とする請求項２記載のメモリ装置。
【請求項４】
上記セキュリティブロックは、暗号化途中の演算結果がセットされるリードレジスタと、上記セキュリティ用のコマンドの内容によって上記リードレジスタへのアクセスを不可とするスイッチ回路を有することを特徴とする請求項１記載のメモリ装置。
【請求項５】
着脱自在で、不揮発性メモリと暗号化回路を有するセキュリティブロックとを含むセキュリティ対応のメモリ装置を記録媒体として使用するデータ処理装置において、
暗号化回路を有するセキュリティブロックと
上記メモリ装置のセキュリティブロックに供給される暗号化処理に関係するセキュリティ用のコマンドと、
上記メモリ装置の不揮発性メモリを制御するためのメモリ制御コマンドを上記メモリ装置に伝送するインタフェース手段とを備え、
上記メモリ制御コマンドは、上記セキュリティ対応のメモリ装置、および暗号化回路を有さないセキュリティ非対応のメモリ装置に対して共通に定義され、上記メモリ制御コマンドとして使用されないコードが上記セキュリティ用のコマンドに対して割り当てられ、セキュリティ対応のメモリ装置のみならず、セキュリティ非対応のメモリ装置に対してもメモリ制御が可能であることを特徴とするセキュリティ対応のデータ処理装置。
【請求項６】
データ処理装置と、データ処理装置に対して着脱自在のメモリ装置とで構成されたデータ処理システムにおいて、
上記データ処理装置は、メモリ装置の認証を行うと共に、コンテンツデータの暗号化および復号化を行うセキュリティブロックを備えるセキュリティ対応のデータ処理装置であり、
上記メモリ装置は、
不揮発性メモリと、
上記セキュリティ対応のデータ処理装置のセキュリティブロックと連携して相互に認証を行うセキュリティブロックと、
上記セキュリティ対応のデータ処理装置と上記メモリ装置の間におけるデータ通信用のインタフェース手段と、
上記セキュリティ対応のデータ処理装置から送信されるコマンドが上記不揮発性メモリ用のメモリ制御コマンドか、上記セキュリティブロックのために定義されたセキュリティ用のコマンドかを判別し、セキュリティ用のコマンドと判別されたコマンドを上記セキュリティブロックに供給するコマンド判別分離ブロックとを備え、
上記メモリ制御コマンドは、上記セキュリティ対応のデータ処理装置、および暗号化回路を有さないセキュリティ非対応のデータ処理装置に対して共通に定義され、上記メモリ制御コマンドとして使用されないコードが上記セキュリティ用のコマンドに対して割り当てられ、セキュリティ対応のデータ処理装置のみならず、上記セキュリティ非対応のデータ処理装置に対しても装着して使用可能である
ことを特徴とするデータ処理システム。
【請求項７】
データ処理装置に対して着脱自在で、不揮発性メモリと暗号化回路を有するセキュリティブロックとを含むセキュリティ対応のメモリ装置に対して情報の書き込みまたは読み出しを行うデータ処理方法において、
暗号化されたコンテンツデータと、上記メモリ装置が備える不揮発性メモリに対する読み出し／書き込み用のメモリ制御コマンドと、上記メモリ装置が備えるセキュリティブロックのために定義された暗号化処理に関係するセキュリティ用のコマンドとを、上記データ処理装置から上記メモリ装置へ送信するステップと、
上記送信されたコマンドが上記不揮発性メモリ用のメモリ制御コマンドか、上記セキュリティブロックのために定義されたセキュリティ用のコマンドかを判別し、セキュリティ用のコマンドと判別されたコマンドを上記セキュリティブロックに供給するステップとからなり、
上記メモリ制御コマンドは、上記セキュリティ対応のメモリ装置、および暗号化回路を有さないセキュリティ非対応のメモリ装置に対して共通に定義され、上記メモリ制御コマンドとして使用されないコードが上記セキュリティ用のコマンドに対して割り当てられ、セキュリティ対応のメモリ装置のみならず、セキュリティ非対応のメモリ装置に対してもメモリ制御が可能であることを特徴とするデータ処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、例えばオーディオデータを記録する媒体として、機器に着脱自在のメモリカードを使用するようにしたメモリ装置、データ処理装置、データ処理システムおよびデータ処理方法に関する。
【０００２】
【従来の技術】
ＥＥＰＲＯＭ(Electrically Erasable Programmable ROM)と呼ばれる電気的に書き換え可能な不揮発性メモリは、１ビットを２個のトランジスタで構成するために、１ビット当たりの占有面積が大きく、集積度を高くするのに限界があった。この問題を解決するために、全ビット一括消去方式により１ビットを１トランジスタで実現することが可能なフラッシュメモリが開発された。フラッシュメモリは、磁気ディスク、光ディスク等の記録媒体に代わりうるものとして期待されている。
【０００３】
フラッシュメモリを機器に対して着脱自在に構成したメモリカードも知られている。このメモリカードを使用すれば、従来のＣＤ（コンパクトディスク）、ＭＤ（ミニディスク）等のディスク状媒体に代えてメモリカードを使用するディジタルオーディオ記録／再生装置を実現することができる。
【０００４】
メモリカードを記録媒体とするオーディオレコーダでは、ディジタル記録／再生を行うので、比較的高品質のデータを復元できる圧縮方式を使用している場合には、記録／再生される曲等の著作権を保護する必要がある。その方法の一つとして、暗号化技術によって、真正なメモリカード以外のメモリカードを使用不可能とする方法がある。すなわち、真正なレコーダと真正なメモリカードの組み合わせによって、暗号化を復号化することを可能とするものである。また、著作権保護に限らず、メモリカードに格納された情報の機密性が必要なために暗号化技術を採用する場合もある。
【０００５】
従来のメモリカードは、それ自体に暗号化の機能を持っていなかった。従って、機密性の必要なデータをメモリカードに記録しようとする場合、セット側においてデータを暗号化し、暗号化されたデータをメモリカードに記録することが必要とされる。しかしながら、復号化のキーをメモリカード上に格納する場合には、機密性が保たれない。一方、復号化のキーをセット内にとどめた場合には、暗号化されたデータをそのセット以外に復号化することができず、メモリカードの互換性を保てない問題がある。例えば自分のセットで記録したメモリカードを他人のセットでは、復号できない。この問題を解決するために、セットおよびメモリカードの両者が暗号化の機能を持ち、相互認証を行うことによって、機密性とカードの互換性を確保することが提案されている。
【０００６】
実際には、著作権保護が不要なデータをメモリカードに記録／再生することがある。例えば会話を記録するような場合には、オーディオ圧縮方式としては、復元される音声の品質が比較的悪くても、圧縮率が高いものが使用される。この場合には、著作権保護は、不要である。また、電子スチルカメラ、ビデオカメラ等で撮影した画像を記録する媒体としてメモリカードを使用する場合も、著作権保護が不要である。一般的に暗号化の機能を持つ、セキュリティ対応のメモリカードは、それを持たないメモリカード、すなわち、従来型のメモリカードに比してコストが高く、高価なものとなる。従って、著作権保護、機密性の保持の必要性に応じて、セキュリティ対応のメモリカードと、非対応のメモリカードを利用することが予想される。
【０００７】
【発明が解決しようとする課題】
セットおよびメモリカードがそれぞれセキュリティ対応と、非対応の２種類存在する場合、セキュリティ対応のセットは、セキュリティ対応のメモリカードのみを使用でき、また、セキュリティ非対応のセットが非対応のメモリカードのみを使用できるのが普通である。しかしながら、互換性の点からセキュリティ対応のメモリカードを非対応のセットで使用できることが望まれる。さらに、かかる互換性を実現する時に、セキュリティ非対応のセットが既に存在している場合には、既存のセットによって使用できることが望まれる。例えば、セキュリティ非対応のハンディームービー（カメラ一体型の記録再生機）が撮影した画像をセキュリティ対応のメモリカードに記録し、メモリカードから再生できることが望まれる。この場合には、暗号化の機能が使用されない。
【０００８】
従って、この発明の目的は、セキュリティ対応のメモリカードを既存のセキュリティ非対応のセットで使用することを可能とするメモリ装置、データ処理装置およびデータ処理システムを提供することにある。
【０００９】
【課題を解決するための手段】
上述した課題を解決するために、この発明は、暗号化回路を有するセキュリティ対応のデータ処理装置に対して着脱自在のメモリ装置において、
セキュリティ対応のデータ処理装置から送信されるデータを記録するための不揮発性メモリと、
暗号化回路を有するセキュリティブロックと、
セキュリティ対応のデータ処理装置から送信されるコマンドが不揮発性メモリ用のメモリ制御コマンドか、セキュリティブロックのために定義されたセキュリティ用のコマンドかを判別し、セキュリティ用のコマンドと判別されたコマンドをセキュリティブロックに供給するコマンド判別分離ブロックとを備え、
メモリ制御コマンドは、セキュリティ対応のデータ処理装置、および暗号化回路を有さないセキュリティ非対応のデータ処理装置に対して共通に定義され、メモリ制御コマンドとして使用されないコードがセキュリティ用のコマンドに対して割り当てられ、セキュリティ対応のデータ処理装置のみならず、セキュリティ非対応のデータ処理装置に対しても装着して使用可能であることを特徴とするメモリ装置である。
【００１０】
この発明は、着脱自在で、不揮発性メモリと暗号化回路を有するセキュリティブロックとを含むセキュリティ対応のメモリ装置を記録媒体として使用するデータ処理装置において、
暗号化回路を有するセキュリティブロックと
メモリ装置のセキュリティブロックに供給される暗号化処理に関係するセキュリティ用のコマンドと、
メモリ装置の不揮発性メモリを制御するためのメモリ制御コマンドをメモリ装置に伝送するインタフェース手段とを備え、
メモリ制御コマンドは、セキュリティ対応のメモリ装置、および暗号化回路を有さないセキュリティ非対応のメモリ装置に対して共通に定義され、メモリ制御コマンドとして使用されないコードがセキュリティ用のコマンドに対して割り当てられ、セキュリティ対応のメモリ装置のみならず、セキュリティ非対応のメモリ装置に対してもメモリ制御が可能であることを特徴とするセキュリティ対応のデータ処理装置である。
【００１１】
この発明は、データ処理装置と、データ処理装置に対して着脱自在のメモリ装置とで構成されたデータ処理システムにおいて、
データ処理装置は、メモリ装置の認証を行うと共に、コンテンツデータの暗号化および復号化を行うセキュリティブロックを備えるセキュリティ対応のデータ処理装置であり、
メモリ装置は、
不揮発性メモリと、
セキュリティ対応のデータ処理装置のセキュリティブロックと連携して相互に認証を行うセキュリティブロックと、
セキュリティ対応のデータ処理装置とメモリ装置の間におけるデータ通信用のインタフェース手段と、
セキュリティ対応のデータ処理装置から送信されるコマンドが不揮発性メモリ用のメモリ制御コマンドか、セキュリティブロックのために定義されたセキュリティ用のコマンドかを判別し、セキュリティ用のコマンドと判別されたコマンドをセキュリティブロックに供給するコマンド判別分離ブロックとを備え、
メモリ制御コマンドは、セキュリティ対応のデータ処理装置、および暗号化回路を有さないセキュリティ非対応のデータ処理装置に対して共通に定義され、メモリ制御コマンドとして使用されないコードがセキュリティ用のコマンドに対して割り当てられ、セキュリティ対応のデータ処理装置のみならず、セキュリティ非対応のデータ処理装置に対しても装着して使用可能である
ことを特徴とするデータ処理システムである。
【００１２】
この発明では、不揮発性メモリに対する書き込み／読み出しのための第１の制御データとして使用されないコードによって、セキュリティ用の第２の制御データが構成される。従って、セキュリティ対応のデータ処理装置は、第１およびデータ２の制御データをメモリ装置に対して伝送することにより、コンテンツのセキュリティを保護できる。また、セキュリティ非対応のデータ処理装置は、第１の制御データのみをセキュリティ対応のメモリ装置に対して伝送することによって、セキュリティ非対応のメモリ装置と同様に、このメモリ装置を使用することができる。それによって、セキュリティ対応のメモリ装置の互換性を高めることができる。
【００１３】
【発明の実施の形態】
以下、この発明の一実施形態について説明する。図１は、この発明の一実施形態の全体の構成を示す。この一実施形態は、記録媒体として、着脱自在のメモリカードを使用するディジタルオーディオ信号のレコーダ（記録および再生機）である。図１において、破線が囲んで示す１がセットとしてのレコーダを示し、４０がレコーダに着脱自在のメモリカードを示す。なお、この発明は、ディジタルオーディオ信号以外に動画データ、静止画データ等の記録／再生に対しても適用できる。
【００１４】
レコーダ１は、ＣＰＵ２と、ＣＰＵ２とバスで接続されたセキュリティブロックと、操作ボタン４と、表示デバイス５とを有している。セキュリティブロック３は、ＤＥＳ(Data Encryption Standard)の暗号化回路を含む。操作ボタン４からのユーザの操作に応じて発生した録音指令、再生指令等のデータがバスを介してＣＰＵ２に与えられる。種々の情報、レコーダ１の動作状態等が表示デバイス５によって表示される。さらに、６は、外部入出力と内部のオーディオエンコーダ／デコーダ７との間に設けられたオーディオインターフェースである。
【００１５】
後述するように、メモリカード４０は、フラッシュメモリ（不揮発性メモリ）４２、ＤＥＳの暗号化回路を含むセキュリティブロック５２、通信用インターフェース、レジスタ等が１チップ上にＩＣ化されたものである。メモリカード４０は、レコーダ１に対して着脱自在とされている。なお、この一実施形態では、暗号化機能を有しないメモリカード、すなわち、セキュリティブロックを有しないメモリカードをレコーダ１が使用することが可能とされている。
【００１６】
オーディオエンコーダ／デコーダ７は、ディジタルオーディオ信号を高能率符号化し、また、高能率符号化データを復号する。高能率符号化方法としては、ミニディスクで採用されているＡＴＲＡＣ(Adaptive Transform Acoustic Coding)を改良したもの（ＡＴＲＡＣ３と表記する）が使用できる。ＡＴＲＡＣ３では、４４．１ｋHzでサンプリングした１サンプル１６ビットのオーディオデータを処理する。ＡＴＲＡＣ３でオーディオデータを処理する時の最小のデータ単位がサウンドユニットＳＵである。１ＳＵは、１０２４サンプル分（１０２４×１６ビット×２チャンネル）を数百バイトに圧縮したものであり、時間にして約２．３ｍ秒である。ＡＴＲＡＣ３により約１／１０にオーディオデータが圧縮される。ミニディスクにおいてそうであるように、ＡＴＲＡＣ３の工夫された信号処理によって、圧縮／伸長処理による音質の劣化は少ない。
【００１７】
ＭＤ（ミニディスク）の再生出力、チューナの出力、テープ再生出力等のアナログオーディオ信号８がＡ／Ｄ変換器９によりディジタルオーディオ信号へ変換され、ディジタルオーディオ信号がオーディオインターフェース６に供給される。ディジタル入力１０は、ＭＤまたはＣＤ（コンパクトディスク）の再生出力、ディジタル放送、ネットワークで配信されたオーディオデータ等である。ディジタル入力１０がオーディオインターフェース６に供給される。ディジタル入力１０は、例えば光ケーブルを介して伝送される。オーディオインターフェース６では、入力選択の処理がされ、選択された入力ディジタルオーディオ信号がオーディオエンコーダ／デコーダ７に供給される。
【００１８】
オーディオエンコーダ／デコーダ７からの符号化データがセキュリティブロック３において暗号化される。セキュリティブロック３は、コンテンツ（ここでは、ディジタルオーディオ信号）の著作権を保護するための備えられている。レコーダ１のセキュリティブロック３は、複数のマスターキーと機器毎にユニークなストレージキーを持つ。さらに、乱数発生回路を持ち、セキュリティブロック５２を内蔵するメモリカード４０が装着された時に、装着されたものが真正なものであるかを確認する認証を行い、正しく認証できれば、セッションキーを共有することができる。
【００１９】
セキュリティブロック３からの暗号化されたオーディオデータがＣＰＵ２に供給される。ＣＰＵ２は、着脱機構（図示しない）に装着されたメモリカード４０とメモリインタフェース１１を介しての通信を行い、暗号化されたデータをメモリカード４０のフラッシュメモリ４２に書き込む。メモリインタフェース１１によって、ＣＰＵ２とメモリカード４０との間では、シリアル通信がなされる。
【００２０】
ＣＰＵ２およびメモリインタフェース１１によってメモリカード４０から読み出した暗号化されたオーディオデータは、セキュリティブロック３によって復号化され、オーディオエンコーダ／デコーダ７によって復号化処理を受ける。オーディオエンコーダ／デコーダ７の出力がオーディオインターフェース６を介してＤ／Ａ変換器１２に供給され、アナログオーディオ出力１３へ変換される。また、オーディオエンコーダ／デコーダ７からのオーディオデータ、並びにセキュリティブロック３からの復号化データがインターフェース６を介してディジタル出力１４および１５として出力される。
【００２１】
図２は、メモリカード４０の構成を示す。メモリカード４０は、コントロールブロック４１とフラッシュメモリ４２が１チップＩＣとして構成されたものである。レコーダ１のＣＰＵ２とメモリカード４０との間の双方向シリアルインタフェース（メモリインタフェース１１）は、１０本の線からなる。主要な４本の線は、データ伝送時にクロックを伝送するためのクロック線ＳＣＫと、ステータスを伝送するためのステータス線ＳＢＳと、データを伝送するデータ線ＤＩＯ、インターラプト線ＩＮＴとである。その他に電源供給用線として、２本のＧＮＤ線および２本のＶＣＣ線が設けられる。２本の線Ｒｅｓｅｒｖは、未定義の線である。
【００２２】
クロック線ＳＣＫは、データに同期したクロックを伝送するための線である。ステータス線ＳＢＳは、メモリカード４０のステータスを表す信号を伝送するための線である。データ線ＤＩＯは、コマンドおよび暗号化されたオーディオデータを入出力するための線である。インターラプト線ＩＮＴは、メモリカード４０からレコーダ１のＣＰＵ２に対しての割り込みを要求するインターラプト信号を伝送する線である。メモリカード４０を装着した時にインターラプト信号が発生する。但し、この一実施形態では、かかるインターラプト信号をデータ線ＤＩＯを介して伝送するようにしているので、インターラプト線ＩＮＴを接地し、使用していない。
【００２３】
コントロールブロック４１のシリアル／パラレル変換・パラレル／シリアル変換・インタフェースブロック（Ｓ／Ｐ，Ｐ／Ｓ，ＩＦブロックと略す）４３は、上述した複数の線を介して接続されたレコーダ１のメモリインタフェース１１とコントロールブロック４１とのインタフェースである。Ｓ／Ｐ，Ｐ／Ｓ，ＩＦブロック４３は、レコーダ１から受け取ったシリアルデータをパラレルデータに変換し、コントロールブロック４１に取り込み、コントロールブロック４１からのパラレルデータをシリアルデータに変換してレコーダ１に送る。また、Ｓ／Ｐ，Ｐ／Ｓ，ＩＦブロック４３は、データ線ＤＩＯを介して伝送されるコマンドおよびデータを受け取った時に、フラッシュメモリ４２に対する通常のアクセスのためのコマンドおよびデータと、暗号化に必要なコマンドおよびデータとを分離する。
【００２４】
つまり、データ線ＤＩＯを介して伝送されるフォーマットでは、最初にコマンドが伝送され、その後にデータが伝送される。Ｓ／Ｐ，Ｐ／Ｓ，ＩＦブロック４３は、コマンドのコードを見て、通常のアクセスに必要なコマンドおよびデータか、暗号化に必要なコマンドおよびデータかを判別する。この判別結果に従って、通常のアクセスに必要なコマンドをコマンドレジスタ４４に格納し、データをページバッファ４５およびライトレジスタ４６に格納する。ライトレジスタ４６と関連してエラー訂正符号化回路４７が設けられている。ページバッファ４５に一時的に蓄えられたデータに対して、エラー訂正符号化回路４７がエラー訂正符号の冗長コードを生成する。
【００２５】
コマンドレジスタ４４、ページバッファ４５、ライトレジスタ４６およびエラー訂正符号化回路４７の出力データがフラッシュメモリインタフェースおよびシーケンサ（メモリＩ／Ｆ，シーケンサと略す）５１に供給される。メモリＩＦ，シーケンサ５１は、コントロールブロック４１とフラッシュメモリ４２とのインタフェースであり、両者の間のデータのやり取りを制御する。メモリＩＦ，シーケンサ５１を介してデータがフラッシュメモリ４２に書き込まれる。
【００２６】
フラッシュメモリ４２から読み出されたデータがメモリＩＦ，シーケンサ５１を介してページバッファ４５、リードレジスタ４８、エラー訂正回路４９に供給される。ページバッファ４５に記憶されたデータがエラー訂正回路４９によってエラー訂正がなされる。エラー訂正がされたページバッファ４５の出力およびリードレジスタ４８の出力がＳ／Ｐ，Ｐ／Ｓ，ＩＦブロック４３に供給され、上述したシリアルインタフェースを介してレコーダ１のＣＰＵ２に供給される。
【００２７】
著作権保護のために、レコーダ１のセキュリティＩＣ４０とメモリカード４０のセキュリティブロック５２とによって、フラッシュメモリ４２に書き込まれるコンテンツ（ＡＴＲＡＣ３により圧縮されたオーディオデータ、以下ＡＴＲＡＣ３データと表記する）は、暗号化される。セキュリティブロック５２は、バッファメモリ５３、ＤＥＳの暗号化回路５４、不揮発性メモリ５５等を有する。
【００２８】
なお、５０は、メモリカード４０のバージョン情報、各種の属性情報等が格納されているコンフィグレーションＲＯＭである。また、メモリカード４０には、ユーザが必要に応じて操作可能な誤消去防止用のスイッチ６０が備えられている。このスイッチ６０が消去禁止の接続状態にある場合には、フラッシュメモリ４２を消去することを指示するコマンドがレコーダ１側から送られてきても、フラッシュメモリ４２の消去が禁止される。さらに、６１は、メモリカード４０の処理のタイミング基準となるクロックを発生する発振器である。
【００２９】
メモリカード４０のセキュリティブロック５２は、複数の認証キーとメモリカード毎にユニークなストレージキーを持つ。不揮発性メモリ５５は、暗号化に必要なキーを格納するもので、外部からは見えない。例えばストレージキーが不揮発性メモリ５５に格納される。さらに、乱数発生回路を持ち、専用（ある決められたデータフォーマット等の使用が同じシステム内の意味）レコーダ１と正しく認証ができ、セッションキーを共有できる。ＡＴＲＡＣ３データを暗号化するためのコンテンツキーは、セッションキーで暗号化されてレコーダ１とメモリカード４０との間で伝送される。メモリカード４０のセキュリティブロック５２と同様に、レコーダ１のセキュリティブロック３もセット固有のストレージキーを有する。暗号化されたコンテンツを移動する時に、ストレージキーを使用してコンテンツキーが掛け直される。
【００３０】
図３は、暗号化機能を有しない（すなわち、セキュリティ非対応）メモリカード４０’を示す。図２に示し、上述したメモリカード４０と比較すると、Ｓ／Ｐ，Ｐ／Ｓ，ＩＦブロック４３に対して、セキュリティブロック５２が接続されていない。その他の構成に関して、メモリカード４０と４０’とは同一である。また、形状、サイズもメモリカード４０と４０’とが同一とされている。図１に示すレコーダ１は、セキュリティ対応のものであるので、メモリカードとの相互認証、キーの通信等を行う。若し、セキュリティに対応していない図３に示すメモリカード４０’を装着すると、レコーダ１は、メモリカード４０’がセキュリティ非対応のもので、メモリカード４０’を使用できないものと決定する。
【００３１】
レコーダ１がメモリカードの種類を決定する方法としては、幾つかのものを利用できる。一つの方法では、メモリカードを装着した時に、認証を行うために、キーを伝送する時に、メモリカード４０’からは、正規の応答を受信できず、レコーダ１においてタイムアウトの決定がされ、その結果、メモリカードがセキュリティ非対応のものと決定できる。他の方法では、メモリカードを装着した時に、最初にレコーダ１に読み込まれるメモリカードの領域（ブート領域）中に、セキュリティ対応／非対応の識別情報を記録しておき、この識別情報に基づいてレコーダ１がメモリカードの種類を決定することができる。
【００３２】
また、図１に示すレコーダ１に限らず、セキュリティ非対応のメモリカード４０’を使用するようにした機器も存在する。例えばＣＣＤカメラで撮影した画像をメモリカードに記録し、メモリカードから撮影画像を再生する機能を有する、ディジタルハンディムービーは、メモリカード４０’を使用できる。かかるディジタルハンディムービーは、セキュリティ対応のメモリカード４０を使用できないのが普通である。後述するように、この発明の一実施形態では、メモリカード４０の互換性を高めるために、セキュリティ非対応のディジタルハンディムービーのようなセットがメモリカード４０を使用した記録および再生ができるように、メモリカード４０が構成されている。すなわち、上述したように、Ｓ／Ｐ，Ｐ／Ｓ，ＩＦブロック４３は、フラッシュメモリ４２に対して書き込み／読み出し用のコマンドおよびデータと、セキュリティブロックに必要なコマンドおよびデータとを分離する機能を有している。
【００３３】
上述したこの発明の一実施形態についてさらに詳細に説明する。図４は、メモリカードを記憶媒体とするコンピュータシステムのファイルシステム処理階層を示す。ファイルシステム処理階層としては、アプリケーション処理層が最上位であり、その下に、ファイル管理処理層、論理アドレス管理層、物理アドレス管理層、フラッシュメモリアクセスが順次おかれる。この階層構造において、ファイル管理処理層がＦＡＴファイルシステムである。物理アドレスは、フラッシュメモリの各ブロックに対して付されたもので、ブロックと物理アドレスの対応関係は、不変である。論理アドレスは、ファイル管理処理層が論理的に扱うアドレスである。
【００３４】
図５は、メモリカード４０におけるフラッシュメモリ４２のデータの物理的構成の一例を示す。フラッシュメモリ４２は、セグメントと称されるデータ単位が所定数のブロック（固定長）へ分割され、１ブロックが所定数のページ（固定長）へ分割される。フラッシュメモリ４２では、ブロック単位で消去が一括して行われ、書き込みと読み出しは、ページ単位で一括して行われる。各ブロックおよび各ページは、それぞれ同一のサイズとされ、１ブロックがページ０からページｍで構成される。１ブロックは、例えば８ＫＢ（Ｋバイト）バイトまたは１６ＫＢの容量とされ、１ページが５１２Ｂの容量とされる。フラッシュメモリ４２全体では、１ブロック＝８ＫＢの場合で、４ＭＢ（５１２ブロック）、８ＭＢ（１０２４ブロック）とされ、１ブロック＝１６ＫＢの場合で、１６ＭＢ（１０２４ブロック）、３２ＭＢ（２０４８ブロック）、６４ＭＢ（４０９６ブロック）の容量とされる。
【００３５】
１ページは、５１２バイトのデータ部と１６バイトの冗長部とからなる。冗長部の先頭の３バイトは、データの更新に応じて書き換えられるオーバーライト部分とされる。３バイトの各バイトに、先頭から順にブロックステータス、ページステータス、更新ステータスが記録される。冗長部の残りの１３バイトの内容は、原則的にデータ部の内容に応じて固定とされる。１３バイトは、管理フラグ（１バイト）、論理アドレス（２バイト）、フォーマットリザーブの領域（５バイト）、分散情報ＥＣＣ（２バイト）およびデータＥＣＣ（３バイト）からなる。分散情報ＥＣＣは、管理フラグ、論理アドレス、フォーマットリザーブに対する誤り訂正用の冗長データであり、データＥＣＣは、５１２バイトのデータに対する誤り訂正用の冗長データである。
【００３６】
管理フラグとして、システムフラグ（その値が１：ユーザブロック、０：ブートブロック）、変換テーブルフラグ（１：無効、０：テーブルブロック）、コピー禁止指定（１：ＯＫ、０：ＮＧ）、アクセス許可（１：ｆｒｅｅ、０：リードプロテクト）の各フラグが記録される。
【００３７】
先頭の二つのブロック０およびブロック１がブートブロックである。ブロック１は、ブロック０と同一のデータが書かれるバックアップ用である。ブートブロックは、カード内の有効なブロックの先頭ブロックであり、メモリカードを機器に装填した時に最初にアクセスされるブロックである。残りのブロックがユーザブロックである。ブートブロックの先頭のページ０にヘッダ、システムエントリ、ブート＆アトリビュート情報が格納される。ページ１に使用禁止ブロックデータが格納される。ページ２にＣＩＳ(Card Information Structure)／ＩＤＩ(Identify Drive Information)が格納される。
【００３８】
図６は、ブートブロックのフォーマットを示す。ブートブロックのヘッダ（３６８バイト）には、ブートブロックＩＤ、フォーマットバージョン、ブートブロック内の有効なエントリ数が記録される。システムエントリ（４８バイト）には、使用禁止ブロックデータの開始位置、そのデータサイズ、データ種別、ＣＩＳ／ＩＤＩのデータ開始位置、そのデータサイズ、データ種別が記録される。
【００３９】
図７は、ブート＆アトリビュート情報（９６８バイト）を詳細に示す。ブート＆アトリビュート情報には、メモリカードのクラス、タイプ（読み出し専用、リードおよびライト可能、両タイプのハイブリッド等）、ブロックサイズ、ブロック数、総ブロック数、セキュリティ対応か否か、カードの製造に関連したデータ（製造年月日等）等が記録される。セットは、このセキュリティ対応か否かの識別情報（１バイト）によって、装着されたメモリカードがセキュリティ対応か否かを決定できる。図７において、（＊１）が付された情報は、セット側が読み出して装着時に確認する項目であり、（＊２）が付された情報は、製造および品質管理上の情報を設定する項目である。
【００４０】
フラッシュメモリは、データの書き換えを行うことにより絶縁膜の劣化を生じ、書き換え回数が制限される。従って、ある同一の記憶領域（ブロック）に対して繰り返し集中的にアクセスがなされることを防止する必要がある。従って、ある物理アドレスに格納されているある論理アドレスのデータを書き換える場合、フラッシュメモリのファイルシステムでは、同一のブロックに対して更新したデータを再度書き込むことはせずに、未使用のブロックに対して更新したデータを書き込むようになされる。その結果、データ更新前における論理アドレスと物理アドレスの対応関係が更新後では、変化する。このような処理（スワップ処理と称する）を行うことで、同一のブロックに対して繰り返して集中的にアクセスがされることが防止され、フラッシュメモリの寿命を延ばすことが可能となる。
【００４１】
論理アドレスは、一旦ブロックに対して書き込まれたデータに付随するので、更新前のデータと更新後のデータの書き込まれるブロックが移動しても、ＦＡＴからは、同一のアドレスが見えることになり、以降のアクセスを適正に行うことができる。スワップ処理により論理アドレスと物理アドレスとの対応関係が変化するので、両者の対応を示す論理−物理アドレス変換テーブルが必要となる。このテーブルを参照することによって、ＦＡＴが指定した論理アドレスに対応する物理アドレスが特定され、特定された物理アドレスが示すブロックに対するアクセスが可能となる。
【００４２】
論理−物理アドレス変換テーブルは、ＣＰＵ２によってメモリ上に格納される。若し、ＲＡＭ容量が少ない時は、フラッシュメモリ中に格納することができる。このテーブルは、概略的には、昇順に並べた論理アドレス（２バイト）に物理アドレス（２バイト）をそれぞれ対応させたテーブルである。フラッシュメモリの最大容量を１２８ＭＢ（８１９２ブロック）としているので、２バイトによって８１９２のアドレスを表すことができる。また、論理−物理アドレス変換テーブルは、セグメント毎に管理され、そのサイズは、フラッシュメモリの容量に応じて大きくなる。例えばフラッシュメモリの容量が８ＭＢ（２セグメント）の場合では、２個のセグメントのそれぞれに対して２ページが論理−物理アドレス変換テーブル用に使用される。論理−物理アドレス変換テーブルを、フラッシュメモリ中に格納する時には、上述した各ページの冗長部における管理フラグの所定の１ビットによって、当該ブロックが論理−物理アドレス変換テーブルが格納されているブロックか否かが指示される。
【００４３】
上述したメモリカードは、ディスク状記録媒体と同様にパーソナルコンピュータのＦＡＴファイルシステムによって使用可能なものである。図５には示されてないが、フラッシュメモリ上にＩＰＬ領域、ＦＡＴ領域およびルート・ディレクトリ領域が設けられる。ＩＰＬ領域には、最初にレコーダのメモリにロードすべきプログラムが書かれているアドレス、並びにメモリの各種情報が書かれている。ＦＡＴ領域には、ブロック（クラスタ）の関連事項が書かれている。ＦＡＴには、未使用のブロック、次のブロック番号、不良ブロック、最後のブロックをそれぞれ示す値が規定される。さらに、ルートディレクトリ領域には、ディレクトリエントリ（ファイル属性、更新年月日、開始クラスタ、ファイルサイズ等）が書かれている。
【００４４】
さらに、この一実施形態では、上述したメモリカード４０のフォーマットで規定されるファイル管理システムとは別個に、音楽用ファイルに対して、ファイル管理情報（トラック情報管理ファイル）を規定している。トラック情報管理ファイルは、メモリカード４０のユーザブロックを利用してフラッシュメモリ４２上に記録される。それによって、メモリカード４０上のＦＡＴが壊れても、ファイルの修復を可能とできる。
【００４５】
トラック情報管理ファイルは、ＣＰＵ２により作成される。例えば最初に電源をオンした時に、メモリカード４０が装着されているか否かが判定され、メモリカードが装着されている時には、フラッシュメモリ４２のブートブロックがＣＰＵ２に読み込まれる。ブートブロック中の識別情報によって、装着したメモリカードがセキュリティ対応か、非対応かが決定される。セキュリティ対応であると決定されると、認証動作がなされる。その他のメモリカード４０から読み込まれたデータは、ＣＰＵ２が管理するメモリ（図示せず）に格納される。ユーザが購入して初めて使用するメモリカードでも、出荷時にフラッシュメモリ４２には、ＦＡＴや、ルートディレクトリの書き込みがなされている。トラック情報管理ファイルは、録音がなされると、作成される。認証が成立すると、レコーダ１によって、暗号化されたＡＴＲＡＣ３データファイルが記録／再生される。
【００４６】
記録時には、操作ボタン４で録音ボタンを押すことによって発生した録音指令がＣＰＵ２に与えられる。そして、入力したオーディオデータがエンコーダ／デコーダ７によって圧縮され、エンコーダ／デコーダ７からのＡＴＲＡＣ３データがセキュリティブロック３により暗号化される。ＣＰＵ２が暗号化されたＡＴＲＡＣ３データをメモリカード４０のフラッシュメモリ４２に記録する。この記録後にＦＡＴおよびトラック情報管理ファイルが更新される。ファイルの更新の度、具体的には、オーディオデータの記録を開始し、記録を終了する度に、ＣＰＵ２が制御するメモリ（図示せず）上でＦＡＴおよびトラック情報管理ファイルが書き換えられる。そして、メモリカード４０を外す時に、またはパワーをオフする時に、メモリからメモリカード４０のフラッシュメモリ４２上に最終的なＦＡＴおよびトラック情報管理ファイルが格納される。この場合、オーディオデータの記録を開始し、記録を終了する度に、フラッシュメモリ４２上のＦＡＴおよびトラック情報管理ファイルを書き換えても良い。編集を行った場合も、トラック情報管理ファイルの内容が更新される。
【００４７】
上述したこの発明の一実施形態におけるセキュリティ保護機能についてさらに説明する。最初に図８を参照してコンテンツにおけるキーの関係について説明する。メモリカード４０のフラッシュメモリ４２上では、図８Ａに示すように、キーエリア１０１が設けられ、キーエリア１０１にコンテンツ（暗号化されたオーディオデータのトラック（曲））毎に作成されるコンテンツキーＣＫがメモリカードに固有のストレージキーＫｓｔｍで暗号化されて格納されている。暗号化は、ＤＥＳと表記され、コンテンツキーＣＫをストレージキーＫｓｔｍで暗号化した場合には、ＤＥＳ（Ｋｓｔｍ，ＣＫ）と表記される。この一実施形態では、暗号化した値は、５６ビットにエラー検出用のＣＲＣ（８ビット）を加えた６４ビット長でもって扱われる。
【００４８】
コンテンツのトラック内にパーツデータエリア１０２が規定され、パーツキーＰＫがパーツ毎に記録される。パーツは、１６Ｋバイトのブロック１０３の集合であり、各ブロックには、ブロックシードＢＫ ＳＥＥＤ、イニシャルベクターＩＮＶが記録されている。パーツキーＰＫは、コンテンツを暗号化するブロックキーＢＫを作成するために、コンテンツキーＣＫとペアで使用されるものである。すなわち、ＢＫ＝ＤＥＳ（ＣＫ（＋）ＰＫ，ＢＫ ＳＥＥＤ）（５６ビット＋８ビット）である。（＋）は、排他的論理和を表す。イニシャルベクターＩＮＶは、ブロックの暗号化、復号化の初期値である。
【００４９】
図８Ｂは、レコーダ１内におけるコンテンツを示す。キーエリア１１１にコンテンツ毎のコンテンツキーＣＫが復号化され、レコーダ１に固有のストレージキーＫｓｔｄで再暗号化されて保持される。すなわち、復号化は、ＩＤＥＳ（Ｋｓｔｍ，ＣＫ）（５６ビット＋８ビット）と表記され、再暗号化は、ＤＥＳ（Ｋｓｔｄ，ＣＫ）（５６ビット＋８ビット）表記される。コンテンツを構成するパーツデータエリア１１２毎にブロックキーＢＫを作成するためのパーツキーＰＫが記録される。パーツを構成するブロック１１３のそれぞれには、ブロックシードＢＫ ＳＥＥＤ、イニシャルベクターＩＮＶが記録されている。メモリカード上と同様に、ブロックキーＢＫは、ＢＫ＝ＤＥＳ（ＣＫ（＋）ＰＫ，ＢＫ ＳＥＥＤ）（５６ビット＋８ビット）である。
【００５０】
図９は、録音時の暗号化の処理の流れを説明するために、簡略化したブロック図であり、図１と対応する部分には、同一符号を付して示し、暗号化の説明に特に不要な構成は、省略されている。Ｓｅｋは、認証成立時にレコーダ１とメモリカード４０との間で共有されるセッションキーである。また、ディジタルオーディオ入力１０のソースとしてＣＤ１０’が示されている。
【００５１】
メモリカード４０がレコーダ１に装着されると、装着したメモリカードがセキュリティ対応のものかどうかがブート領域中の識別情報によって決定される。セキュリティ対応のものと決定されると、レコーダ１とメモリカード４０との間で、相互に正規のものであるかを認証する。
【００５２】
図１０は、認証時のセット（レコーダ１）およびメモリカード４０間の暗号化の処理を示すものである。最初のステップＳ１において、メモリカード４０のセキュリティブロック５２内の乱数発生器によって乱数Ｒｍを発生し、メモリカード４０のシリアル番号ＩＤと共に送信する。
【００５３】
レコーダ１では、ステップＳ２の処理を行う。すなわち、ＲｍとＩＤとを受け取り、ＩＫｊ＝ＭＡＣ（ＭＫｊ，ＩＤ）の関係にしたがって、認証キーＩＫｊを生成する。ＭＫｊは、レコーダ１のセキュリティブロック３に記憶されている複数のマスターキーＭＫ0 〜ＭＫ31の内で選択された一つのマスターキーである。レコーダ１は、乱数Ｒｄを発生し、認証キーでメッセージ認証子ＭＡＣA (Message Authentication Code) 、すなわち、ＭＡＣ（ＩＫｊ，ＩＤ//Ｒｍ//Ｒｄ）を作成する。ここで、Ａ//Ｂは、ＡとＢの連結（ｎビットのＡの後ろにｍビットのＢを結合して（ｎ＋ｍ）ビットとしたもの）を示す。そして、レコーダ１が乱数Ｓｄを発生し、Ｒｄ//Ｓｄ//ＭＡＣA //ｊをメモリカード４０へ送信する。
【００５４】
メモリカード４０は、ステップＳ３において、このデータＲｄ//Ｓｄ//ＭＡＣA //ｊを受け取り、ｊからセキュリティブロック５２内の認証キーＩＫｊを見つけ、認証キーＩＫｊおよびＲｄ、Ｒｍ、ＩＤを用いてＭＡＣB を計算する。計算したＭＡＣB が受け取ったＭＡＣA と同一であれば、メモリカード４０は、正しいとしてセット（レコーダ）を認める。そして、ステップＳ４において、メモリカード４０は、ＭＡＣC ＝ＭＡＣ（ＩＫｊ，Ｒｍ//Ｒｄ）を作成し、乱数Ｓｍを発生する。その後、メモリカード４０は、Ｓｍ//ＭＡＣC をレコーダ１に送信する。
【００５５】
ステップＳ５において、レコーダ１は、Ｓｍ//ＭＡＣC を受け取る。レコーダ１は、ＩＫｊ，Ｒｍ，Ｒｄを用いてＭＡＣD を計算する。計算したＭＡＣD が受け取ったＭＡＣC と同一であれば、レコーダ１は、正しいとしてメモリカード４０を認める（すなわち、認証する）。この段階では、レコーダ１およびメモリカード４０の両者が選択した認証キーＩＫｊおよび乱数Ｓｄ、Ｓｍを有している。そして、レコーダ１は、ステップＳ６において、ＭＡＣ（ＩＫｊ，Ｒｍ//Ｒｄ）をセッションキーＳｅｋと指定する。メモリカード４０側でも、ＭＡＣ（ＩＫｊ，Ｒｍ//Ｒｄ）をセッションキーＳｅｋと指定する。このように、正しく相互認証がなされると、セッションキーＳｅｋをレコーダ１とメモリカード４０とが共有する。セッションキーは、認証が成立する度に生成される。
【００５６】
図１１は、レコーダ１によりオーディオファイルをメモリカード４０のフラッシュメモリ４２に記録する時のキーの書き込み処理を示す。なお、書き込み処理を開始するときには、セッションキーＳｅｋの生成処理が終了しており、セッションキーＳｅｋをレコーダ１とメモリカード４０とが共有している。ステップＳ１１において、レコーダ１は、コンテンツのトラックデータ毎に乱数を発生し、乱数に応じてたコンテンツキーＣＫを作成する。次に、ステップＳ１２において、レコーダ１は、コンテンツキーＣＫをセッションキーＳｅｋで暗号化し、暗号化したＤＥＳ（Ｓｅｋ，ＣＫ）をメモリカード４０に送信する。
【００５７】
メモリカード４０は、ステップＳ１３において、このデータを受け取り、セッションキーでコンテンツキーＣＫを復号する。すなわち、ＩＤＥＳ（Ｓｅｋ，ＤＥＳ（Ｓｅｋ，ＣＫ））と復号処理が表記される。次のステップＳ１４において、メモリカード４０は、復号したコンテンツキーＣＫをメモリカード４０のストレージキーＫｓｔｍで再度、暗号化し、再暗号化したコンテンツキーＤＥＳ（Ｋｓｔｍ，ＣＫ）がレコーダ１に送信される。
【００５８】
レコーダ１は、ステップＳ１５において、再暗号化したコンテンツキーを、パーツデータエリア１１２を管理するキーエリア１１１に配置させ、再暗号化されたコンテンツキーＣＫおよびコンテンツがメモリカード４０のフラッシュメモリに記録されるようにフォーマット化の処理を行う。コンテンツの暗号化のために、図９に示されるように、コンテンツキーＣＫとパーツキーＰＫとの排他的論理和または論理積がとられる。その結果、テンポラリーキーＴＭＫが得られる。テンポラリーキーＴＭＫは、セキュリティブロック３内にのみ存在し、外部からはアクセス可能ではない。各ブロック１１３の先頭で乱数を発生し、これをブロックシードＢＫ ＳＥＥＤとし、各パーツデータエリア１１２内に格納される。レコーダ１は、テンポラリーキーＴＭＫでブロックシードＢＫ ＳＥＥＤを暗号化し、ブロックキーＢＫが得られる。すなわち、ＢＫ＝（ＣＫ（＋）ＰＫ，ＢＫ ＳＥＥＤ）の関係が得られる。ブロックキーＢＫもセキュリティブロック３内にのみ存在し、セキュリティブロック３の外部からはアクセス可能ではない。
【００５９】
ステップＳ１６において、レコーダ１は、ブロックキーＢＫによってパーツデータエリア１１２内のデータをブロック毎に暗号化し、暗号化されたデータと、キーエリア１１１内のデータをメモリカード４０に送信する。メモリカード４０は、レコーダ１から受け取った暗号化されたデータおよびキーエリア１１１内のデータ（ヘッダデータ）をフラッシュメモリ４２に記録する（ステップＳ１７）。
【００６０】
図１２は、レコーダ１がメモリカード４０のフラッシュメモリ４２に蓄えられているオーディオトラックを再生する時の処理の流れを説明するために、簡略化したブロック図であり、図１と対応する部分には、同一符号を付して示し、暗号化および復号化の説明に特に不要な構成は、省略されている。図１３は、図１２と同様に、レコーダ１によりオーディオトラックをメモリカード４０のフラッシュメモリ４２から再生する時の復号化処理を示す。再生時でも、相互認証が成立することによって、レコーダ１とメモリカード４０との間でセッションキーＳｅｋが共有される。
【００６１】
ステップＳ２１において、レコーダ１は、メモリカード４０からデータ読み出すことによって、ストレージキーＫｓｔｍで暗号化されたコンテンツキーＣＫすなわち、（ＤＥＳ（Ｋｓｔｍ，ＣＫ））と、暗号化されたコンテンツ（所望のトラックのパーツデータエリア１０２）を得る。そして、レコーダ１は、ストレージキーＫｓｔｍで暗号化されたコンテンツキーＣＫをメモリカード４０に渡す。
【００６２】
ステップＳ２２において、メモリカード４０は、ストレージキーＫｓｔｍでコンテンツキーＣＫを復号する（ＩＤＥＳ（Ｋｓｔｍ，ＤＥＳ（Ｋｓｔｍ，ＣＫ））。ステップＳ２３において、メモリカード４０は、復号したコンテンツキーをセッションキーＳｅｋで暗号化し、ＤＥＳ（Ｓｅｋ，ＣＫ）をレコーダ１に送る。
【００６３】
レコーダ１は、ステップＳ２４において、セッションキーＳｅｋでコンテンツキーを復号する。次のステップＳ２５において、レコーダ１は、復号したコンテンツキーＣＫと、パーツキーＰＫと、ブロックシードＢＫ ＳＥＥＤを使用してブロックキーＢＫを作成する。ステップＳ２６では、レコーダ１は、ブロック毎にブロックキーＢＫによって暗号化されたパーツデータエリア１０２をそれぞれ復号化する。復号化されたオーディオデータがオーディオエンコーダ／デコーダ７によって復号化される。
【００６４】
この発明の一実施形態におけるレコーダ１とメモリカード４０との間のシリアンインタフェースについてより詳細に説明する。図２に示されるように、レコーダ１とメモリカード４０との間を結合する１０本の線の内で、信号の送受信にとって主要なものは、クロック線ＳＣＫ、ステータス線ＳＢＳおよびデータ線ＤＩＯである。
【００６５】
図１４は、メモリカード４０からデータを読み出す時のタイミングを示す。状態０（初期状態）以外の状態において、クロック線ＳＣＫを介して伝送されるデータと同期したクロックが伝送される。レコーダ１とメモリカード４０との間で、何等データの送受信がされていない状態では、ステータス線ＳＢＳがローレベルとなっている。これが状態０（初期状態）である。そして、タイミングｔ31において、レコーダ１がステータス線ＳＢＳをハイレベルとし、状態１となる。
【００６６】
メモリカード４０（Ｓ／Ｐ，Ｐ／Ｓ，ＩＦブロック４３）は、ステータス線ＳＢＳがハイレベルに切り替わったことによって、状態０から状態１へ変化したことを検出する。状態１では、データ線ＤＩＯを介してレコーダ１からメモリカード４０に対して読み出しコマンドが送信され、メモリカード４０が読み出しコマンドを受信する。この読み出しコマンドは、シリアルインタフェース用のＴＰＣ(Serial Protocol Command) と称されるプロトコルコマンドである。後述するように、プロトコルコマンドによって、通信の内容と後続するデータのデータ長が特定される。
【００６７】
コマンドの送信が完了したタイミングｔ32において、ステータス線ＳＢＳがハイレベルからローレベルに切り替えられる。それによって、状態１から状態２へ遷移する。状態２では、メモリカード４０が受信したコマンドで指示される処理、具体的には、読み出しコマンドで指定されたアドレスのデータをフラッシュメモリ４２から読み出す処理を行う。この処理がなされている間、データ線ＤＩＯを介してビジー信号（ハイレベル）がレコーダ１に送信される。
【００６８】
そして、フラッシュメモリ４２からデータの読み出しが完了したタイミングｔ33において、ビジー信号の出力が停止され、レコーダ１に対してメモリカード４０からデータを送出する準備ができたことを示すレディー信号（ローレベル）の出力が開始される。
【００６９】
レコーダ１は、メモリカード４０からレディー信号を受信することによって、読み出しコマンドに対応する処理が準備できたことを知り、タイミングｔ34において、ステータス線ＳＢＳをハイレベルに切り替える。すなわち、状態２から状態３へ遷移する。
【００７０】
状態３になると、メモリカード４０は、状態２においてページバッファ４５に読み出したデータをデータ線ＤＩＯを介してレコーダ１に対して出力する。読み出しデータの転送が完了したタイミングｔ35において、レコーダ１は、クロック線ＳＣＫを介して伝送されていたクロックの供給を停止すると共に、ステータス線をハイレベルからローレベルへ切り替える。それによって、状態３から初期状態（状態０）に遷移する。
【００７１】
なお、メモリカード４０の内部状態に変化が生じて何らかの割り込み処理を行う必要が発生すると、メモリカード４０は、タイミングｔ36で示すように、状態０において、割り込みを示すインターラプト信号をデータ線ＤＩＯを介してレコーダ１に供給する。レコーダ１は、状態０でメモリカード４０からデータ線ＤＩＯを介して信号が供給された場合、その信号がインターラプト信号であることを認識できるように設定されている。レコーダ１がインターラプト信号を受け取ると、そのインターラプト信号に基づいて必要な処理を行う。
【００７２】
図１５は、メモリカード４０のフラッシュメモリ４２に対してデータを書き込む時のタイミングチャートである。初期状態（状態０）では、クロックＳＣＫの伝送がされない。タイミングｔ41において、レコーダ１がステータス線ＳＢＳをローレベルからハイレベルに切り替える。それによって、データ線ＤＩＯを介して書き込みコマンドが伝送される状態１に遷移する。メモリカード４０は、状態１において、コマンドを取得するように準備する。タイミングｔ41からコマンドがデータ線ＤＩＯを介してメモリカード４０に伝送され、メモリカード４０がこの書き込みコマンドを取得する。
【００７３】
書き込みコマンドの送信が完了したタイミングｔ42において、レコーダ１がステータス線ＳＢＳをハイレベルからローレベルに切り替える。それによって、状態１から状態２へ遷移する。状態２では、レコーダ１が書き込みデータをデータ線ＤＩＯを介してメモリカード４０に伝送する。メモリカード４０では、受け取った書き込みデータがページバッファ４５に蓄えられる。
【００７４】
書き込みデータの伝送が終了するタイミングｔ43において、ステータス線ＳＢＳがローレベルからハイレベルへ切り替えられ、状態２から状態３へ遷移する。状態３において、メモリカード４０は、書き込みデータをフラッシュメモリ４２へ書き込む処理を行う。状態３において、メモリカード４０は、データ線ＳＢＳを介してビジー信号（ハイレベル）をレコーダ１に対して送信する。レコーダ１は、書き込みコマンドを送信し、且つ現在の状態が状態３であることから、メモリカード４０から送信される信号がステータス信号であると判断する。
【００７５】
メモリカード４０において、書き込みデータの書き込み処理が終了すると、終了したタイミングｔ44において、ビジー信号の出力を停止し、レディー信号（ローレベル）をレコーダ１に対して送信する。レコーダ１は、レディー信号を受信すると、書き込みコマンドに対応する書き込み処理が完了したものと判断し、クロック信号の送信を止めると共に、タイミングｔ45においてステータス線ＳＢＳをハイレベルからローレベルへ切り替える。それによって、状態３から状態０（初期状態）に戻る。
【００７６】
さらに、状態０において、メモリカード４０からデータ線ＤＩＯを介してハイレベルの信号をレコーダ１が受け取った場合には、レコーダ１がこの信号をインターラプト信号と認識する。そして、レコーダ１は、受信したインターラプト信号に基づいて必要な処理を行う。例えばメモリカード４０をレコーダ１から取り外した時に、メモリカード４０がインターラプト信号を発生する。
【００７７】
上述した読み出し動作、書き込み動作以外においても、状態１において、コマンドが伝送され、その後の状態２において、コマンドに対応するデータが伝送される。レコーダ１とメモリカード４０間のシリアルインタフェースは、上述したものに限定されず、種々のものを使用できる。
【００７８】
図１６は、シリアルインタフェースでデータ線ＤＩＯを介して伝送されるプロトコルコマンド（ＴＰＣコード）の一例である。プロトコルコマンドは、１バイト長であり、その値の１６進表記（ｈを付加して示す）と、０および１の表記が示されている。また、各コマンドの意味（定義）については、セキュリティ非対応のメモリカード４０’（図３参照）に関するものと、セキュリティ対応のメモリカード４０（図２参照）に関するものとが示されている。また、コマンドが読み出しに関連するものか、書き込みに関連するものかを区別するために、Ｒ／Ｗが示されている。さらに、上述したように、コマンドの伝送が状態１でなされ、その後の状態２でデータの伝送がなされるので、コマンドに対応するデータ長（バイト数）も示されている。プロトコルコマンドＴＰＣのそれぞれについて以下に説明する。
【００７９】
ＴＰＣ＝２Ｄｈ：メモリカード４０および４０’に対して共通のコマンド、すなわち、通常のフラッシュメモリに対するアクセス用のコマンド（以下、単にメモリ制御コマンドと称する）であって、ページデータの読み出しのコマンドであり、このコマンドの後に続くデータ長は、１ページ分のデータ長（５１２バイト＋２バイト（ＣＲＣ））である。ページデータは、ページバッファ４５から読み出される。
【００８０】
ＴＰＣ＝Ｄ２ｈは、メモリ制御コマンドであって、ページデータの書き込みのコマンドであり、このコマンドの後に続くデータ長は、１ページ分のデータ長（５１２バイト＋２バイト（ＣＲＣ））である。ページデータは、ページバッファ４５に書き込まれる。
【００８１】
ＴＰＣ＝４Ｂｈは、メモリ制御コマンドであって、リードレジスタ４８の読み出しコマンドであり、このコマンドの後に続くデータ長は、（３１バイト＋２バイト（ＣＲＣ））である。
【００８２】
ＴＰＣ＝Ｂ４ｈは、メモリ制御コマンドであって、ライトレジスタ４６の書き込みコマンドであり、このコマンドの後に続くデータ長は、（３１バイト＋２バイト（ＣＲＣ））である。
【００８３】
ＴＰＣ＝７８ｈは、メモリ制御コマンドであって、リードレジスタ４８中の１バイトを読み出すためのコマンドであり、このコマンドの後に続くデータ長は、（１バイト＋２バイト（ＣＲＣ））である。
【００８４】
ＴＰＣ＝８７ｈは、メモリ制御コマンドであって、コマンドレジスタ４４のアクセス範囲を変えるためのコマンドであり、このコマンドの後に続くデータ長は、（４バイト＋２バイト（ＣＲＣ））である。
【００８５】
ＴＰＣ＝１Ｅｈは、メモリカード４０’において未定義のコードであるのに対して、メモリカード４０においては、メモリカード４０のセキュリティブロック５２内のステータスレジスタのデータの読み出しの命令として規定されているコマンドである。このコマンドの後に続くデータ長は、２バイト＋２バイト（ＣＲＣ）である。このように、セキュリティブロック５２にのみ関係するコマンドをセキュリティ用コマンドと称する。
【００８６】
ＴＰＣ＝Ｅ１ｈは、メモリ制御コマンドであって、コマンドレジスタ４４にコマンドをセットする命令である。このコマンドの後に続くデータは、やはりコマンド（ＴＰＣより下位階層のコマンド）であるので、データ長が１バイトにＣＲＣの２バイトを加えた３バイトである。
【００８７】
ＴＰＣ＝３Ｃｈは、メモリカード４０’において未定義のコードであるのに対して、メモリカード４０においては、メモリカード４０のセキュリティブロック５２からセキュリティ関係のデータの読み出しの命令として規定されている、セキュリティ用コマンドである。このコマンドの後に続くデータ長は、２４バイト＋２バイト（ＣＲＣ）である。
【００８８】
ＴＰＣ＝Ｃ３ｈは、メモリカード４０’において未定義のコードであるのに対して、メモリカード４０においては、メモリカード４０のセキュリティブロック５２に対してセキュリティ関係のデータを書き込む命令として規定されている、セキュリティ用コマンドである。このコマンドの後に続くデータ長は、２６バイト＋２バイト（ＣＲＣ）である。
【００８９】
ＴＰＣ＝Ｅ１ｈの後に伝送されるコマンド（１バイト）についてより具体的に図１７および図１８を参照して説明する。図１７は、セキュリティ非対応のメモリカード４０’に対して下記のように定義されているコマンドを示す。
【００９０】
Ｅ１ｈ＝ＡＡｈ：ブロック読み出し命令
Ｅ１ｈ＝５５ｈ：ブロック書き込み命令
Ｅ１ｈ＝３３ｈ：ブロック読み出しまたは書き込みを途中で停止する命令
Ｅ１ｈ＝９９ｈ：ブロックの消去命令
Ｅ１ｈ＝ＣＣｈ：メモリの動作停止命令
Ｅ１ｈ＝５Ａｈ：省電力モードの命令
Ｅ１ｈ＝Ｃ３ｈ：ページバッファのクリア命令
Ｅ１ｈ＝３Ｃｈ：メモリコントローラに対するリセット命令である。
【００９１】
図１８は、セキュリティ対応のメモリカード４０に対して定義されているコマンドである。図１８の上段に示す（ＡＡｈ〜３Ｃｈ）のコマンドの定義は、図１７に示されるものと同一であるので、図示が省略されている。すなわち、これらのコマンドは、メモリカード４０および４０’に対して共通に定義されているメモリ制御用のものである。また、図１８において、６０ｈより下側に示すコマンド（６０ｈ〜８３ｈ）は、暗号化（復号化、認証も含む）にのみ必要とされるコマンドであり、メモリカード４０専用のセキュリティ用コマンドである。
【００９２】
このように、メモリカード４０および４０’間で、共通のメモリ制御コマンドＴＰＣと、メモリカード４０に専用のセキュリティ用コマンドＴＰＣとが規定され、また、下位階層のコマンドに関しても同様に、共通のメモリ制御コマンドとセキュリティ用コマンドとが規定されている。セキュリティ用コマンドは、メモリカード４０’に関しては、未定義（未使用）のコマンドである。この一実施形態では、メモリカード４０のＳ／Ｐ，Ｐ／Ｓ，ＩＦブロック４３がレコーダ１からシリアルインタフェースを介してコマンドを受け取った時に、受け取ったコマンドＴＰＣが共通のメモリ制御コマンドか、セキュリティ用コマンドかを判別し、その判別結果に応じて、後に続くデータの供給先を切り替える。また、ＴＰＣ＝Ｅ１ｈのように、後に続くデータがコマンドの場合には、図１８に示すコマンドの規定に従ってコマンドの供給先を切り替える。
【００９３】
図１９は、このようなコマンドに応答して、データの送り先を切り替える構成を概略的に示す。データ線ＤＩＯを介してレコーダ１から送信され、メモリカード４０で受信されたデータが遅延回路１５０を介してスイッチ回路１５２の端子ａに供給される。また、受信データが検出回路１５１の入力端子に供給される。検出回路１５１は、データ線ＤＩＯ上のプロトコルコマンド（ＴＰＣ）がメモリ制御コマンドか、セキュリティ用コマンドかをコマンドのコード値から検出する。この検出結果によってスイッチ回路１５２が制御される。遅延回路１５０は、検出回路１５１の検出に要する時間を補償するために設けられている。これらの構成要素は、Ｓ／Ｐ，Ｐ／Ｓ，ＩＦブロック４３内にハードウエアおよび／またはソフトウェアにより実現される。一実施形態では、セキュリティ用コマンドに対して、メモリ制御コマンドとしては使用されないコードを割り当てているので、検出回路１５１は、簡単に２種類のコマンドを識別することができる。
【００９４】
検出回路１５１がプロトコルコマンドがメモリ制御コマンドであることを検出すると、スイッチ回路１５２の端子ａが端子ｂと接続される。そして、スイッチ回路１５２の端子ａ、端子ｂを介してメモリ制御コマンドがフラッシュメモリ４２の制御のために、ページバッファ、レジスタ等に供給される。また、メモリ制御コマンドに続くデータがページバッファ、レジスタ等に供給され、またはページバッファ、レジスタ等からのデータがスイッチ回路１５２の端子ｂ、端子ａを介してレコーダ１に対して伝送される。
【００９５】
検出回路１５１がプロトコルコマンドがセキュリティ用コマンドであることを検出すると、スイッチ回路１５２の端子ａが端子ｃと接続される。そして、スイッチ回路１５２の端子ａ、端子ｃを介してセキュリティ用コマンドがセキュリティブロック５２に供給される。また、セキュリティ用コマンドに続くデータがセキュリティブロック５２へ供給され、またはセキュリティブロック５２からのデータがスイッチ回路１５２の端子ａ、端子ｃを介してレコーダ１に対して伝送される。
【００９６】
さらに、プロトコルコマンド（ＴＰＣ＝Ｅ１ｈ）の場合では、後に続くデータもコマンドであり、且つ通常のメモリ制御用のコマンドとセキュリティ用コマンドとの両方がありうる。検出回路１５１は、ＴＰＣ＝Ｅ１ｈのプロトコルコマンドを受信した場合には、その後のデータ（コマンド）がメモリ制御用コマンドか、セキュリティ用コマンドかを検出し、検出した結果に基づいてスイッチ回路１５２を制御する。Ｅ１ｈ以外のプロトコルコマンドであって、その後のデータ（コマンド）がメモリ制御用コマンドとセキュリティ用コマンドとの２種類存在する場合も同様に、データの切り替えが可能である。
【００９７】
上述したメモリカード４０は、メモリカード自身にメモリ制御用コマンドとセキュリティ用コマンドとを識別する機能を有しているので、セキュリティに対応していない機器に装着して使用することができる。すなわち、セキュリティに対応していない機器は、セキュリティに関連した通信を行わず、メモリカード４０に対して書き込み／読み出しのためのメモリ制御コマンドと、メモリ制御コマンドに関係するデータのみを送信する。メモリカード４０は、上述したように、機器から受け取ったコマンドがメモリ制御コマンドであることを識別し、フラッシュメモリ４２の書き込み／読み出しのために使用する。それによって、メモリカード４０に対してデータを書き込んだり、メモリカード４０からデータを読み出すことができる。
【００９８】
この発明の一実施形態についてさらに説明する。図２０は、メモリカード４０に内蔵されているセキュリティブロック５２の構成をより詳細に示す。このセキュリティブロック５２は、不揮発性メモリ４２、Ｓ／Ｐ，Ｐ／Ｓ，Ｉ／Ｆブロック４３、ページバッファ４５等と共に、１チップ上に集積回路化されている。そして、上述したように、Ｓ／Ｐ，Ｐ／Ｓ，Ｉ／Ｆブロック４３とセキュリティブロック５２とが結合される。なお、レコーダ１のセキュリティブロック３も、図２０に示すセキュリティブロック５２と同様に構成されている。
【００９９】
図２０において、１１０がキー保管用メモリ（不揮発性メモリ）を有するＤＥＳの暗号化回路である。暗号化回路１１０と関連して、レジスタ群１１１および記憶ユニット１１３が設けられる。暗号化回路１１０は、レジスタ群１１１との間でデータの授受が可能とされている。記憶ユニット１１３には、メモリカード４０の固有の識別データＩＤ、キーデータ、乱数の発生の元になるデータＳＥＥＤが記憶されている。暗号化回路１１０は、例えばＣＢＣモードで暗号化を行う。また、スイッチ回路１１２を通じて、ライトレジスタ１１４の内容がレジスタ群１１１へ供給され、また、レジスタ群１１１の内容がリードレジスタ１１５に格納される。
【０１００】
さらに、リードレジスタ１１５と暗号化回路１１０で使用されるレジスタ群１１１とが接続され、暗号化の途中の演算結果がリードレジスタ１１５にセット可能とされている。ライトレジスタ１１４へ書かれるデータは、Ｓ／Ｐ（シリアルからパラレル），Ｐ／Ｓ（パラレルからシリアル）ブロック１１６から供給される。リードレジスタ１１５から読み出されたデータがＳ／Ｐ，Ｐ／Ｓブロック１１６を介してＩ／Ｆブロック４３へ供給される。書き込みデータは、上述したシリアルインタフェースを介してレコーダ１から供給され、また、読み出しデータがシリアルインタフェースを介してレコーダ１へ供給される。
【０１０１】
さらに、１１７がコマンドレジスタ、１１８がステータスレジスタである。コマンドレジスタ１１７には、レコーダ１から送信され、メモリカード４０が受信したセキュリティ用コマンド（図１８中の６０ｈ〜８３ｈ）がＩ／Ｆブロック４３およびＳ／Ｐ，Ｐ／Ｓブロック１１６を介してセットされる。コマンドレジスタ１１７から次に実行するコマンドが発生する。コマンドレジスタ１１７にセットされるコマンドとして、リードレジスタ１１５の内容を外部へ読み出しても支障がないコマンドがある。例えば図１８中のコマンドコード（６３ｈ、６７ｈ、６Ｄｈ）がその種のコマンドである。すなわち、このコマンドによって、暗号化回路１１０によって作られた暗号文をレジスタ群１１１からリードレジスタ１１５にセットされる。このようにその内容が読まれても良いデータをセットするコマンドの場合のみ、リードレジスタ１１５がリードイネーブルとされる。図２０では、スイッチ回路１２２のオン／オフによって、リードイネーブル／ディセーブルが表されている。
【０１０２】
また、ステータスレジスタ１１８からのステータスがＳ／Ｐ，Ｐ／Ｓブロック１１６およびＩ／Ｆブロック４３を介してレコーダ１へ送信される。さらに、内部発生したコマンドを保持するコマンドレジスタ１１９が設けられる。例えばコマンドコードをインクリメントさせるインクリメントブロック１２０が設けられ、それによってコマンドコードが順に生成される。内部発生されるコマンドは、電源オン等の初期化時に、６０ｈの値とされる。そして、一つのコマンドが実行される度に、コマンドコードの値が＋１され、（６１ｈ、６２ｈ，６３ｈ，・・・・７１ｈ）とインクリメントされる。メモリカード４０を装着した時になされる認証のために必要とされるコマンドのコードの値は、６０ｈから開始して７１ｈまでインクリメントする。７２ｈ〜８３ｈのコマンドコードは、認証が成立してから後に使用されるコマンドであって、認証時のコマンドと異なり、所定の順序で発生する必要がなく、任意に繰り返し使用できる。
【０１０３】
二つのコマンドレジスタ１１７および１１９の値が比較回路１２１において比較され、比較回路１２１の比較結果がステータスレジスタ１１８にセットされる。実際にレコーダ１から受け取ったコマンド（コマンドレジスタ１１７の内容）と、内部発生したコマンド（コマンドレジスタ１１９の内容）との一致を比較回路１２１が検出すると、ステータスレジスタ１１８にセットされるステータスは、エラー無しとされる。このステータスがレコーダ１側へ伝えられ、動作が続行される。若し、比較回路１２１の比較結果が不一致を示すものであると、ステータスレジスタ１１８にセットされるステータスは、エラー有りとされる。このステータスがレコーダ１側に伝えられ、動作が停止される。また、その旨のメッセージが表示される。この場合では、リセットによって初期化される。
【０１０４】
さらに、レジスタ群１１１からのデータとライトレジスタ１１４からのデータとの一致を検出する比較回路１２３が設けられている。比較回路１２３の比較結果がステータスレジスタ１１８にセットされる。上述したのと同様に、データ同士の一致を比較回路１２３が検出すると、ステータスがエラー無しとされ、データ同士の不一致を比較回路１２３が検出すると、ステータスがエラー有りとされる。このステータスがレコーダ１側に伝えられる。
【０１０５】
図１８に示すセキュリティ用コマンドの中で、認証処理に使用されるコマンド（６０ｈ〜７１ｈ）を図２０と関連して以下により詳細に説明する。
【０１０６】
６０ｈ（ＬＯＡＤ ＩＤ ＣＭＤ）：メモリカードのＩＤをリードレジスタ１１５にロードする
６１ｈ（ＳＥＴ Ｒｍｓ ＣＭＤ）：乱数１の発生準備（適当なキーを使用し、乱数のもとのＳＥＥＤをスイッチ回路１１２を介してレジスタ群１１１にセットする
６２ｈ（ＭＫ Ｒｍｓ ＣＭＤ）：乱数１を暗号化回路１１０で発生し、発生した乱数１をレジスタ群１１１にセットする
６３ｈ（ＬＯＡＤ Ｒｍｓ ＣＭＤ）：発生した乱数１をリードレジスタ１１５にロードする。
【０１０７】
上述した６０ｈ〜６３ｈの処理の間では、リードレジスタ１１５の内容が見られても問題がない。次のコマンド（６４ｈ）の処理が開始されるまでに、ライトレジスタ１１４に認証コードが書き込まれている。
【０１０８】
６４ｈ（ＬＯＡＤ ＡＵＣ１Ｄ ＣＭＤ）：ライトレジスタ１１４のデータを比較回路１２３で比較される一方のデータとしてロードする
６５ｈ（ＳＥＴ ＡＵＣ１Ｍ ＣＭＤ）：認証コード１の生成準備（リードレジスタ１１５からスイッチ回路１１２を介して乱数１をレジスタ群１１１にロードする。認証用キーを暗号化回路１１０に入れる
６６ｈ（ＭＫ ＡＵＣ１Ｍ ＣＭＤ）：認証コード１の生成（暗号化回路１１０が認証コード１を生成する。生成された認証コード１がレジスタ群１１１に入れられる）
６７ｈ（ＬＯＡＤ ＡＵＣ１Ｍ ＣＭＤ）：生成された認証コード１をレジスタ群１１１から比較回路１２３で比較される他方のデータとしてロードする
６８ｈ（ＣＭＰ ＣＭＤ）：比較回路１２３で一方および他方のデータを比較する。
【０１０９】
コマンド６５ｈおよびコマンド６６ｈでリードレジスタ１１５に対するアクセスを許すと、コマンド６８ｈの比較処理において、比較結果が一致するような値を外部から入れられる可能性があるので、６５ｈおよび６６ｈのコマンドによる処理がなされる時には、リードレジスタ１１５が必ずアクセス不可（スイッチ回路１２２がオフ）とされる。
【０１１０】
６９ｈ（ＭＫ ＡＵＣ２Ｍ ＣＭＤ）：認証コード２の生成
６Ａｈ（ＬＯＡＤ ＡＵＣ２Ｍ ＣＭＤ）：生成された認証コード２をリードレジスタ１１５にロードする
６Ｂｈ（ＳＥＴ Ｓｍｓ ＣＭＤ）：乱数２の発生準備
６Ｃｈ（ＭＫ Ｓｍｓ ＣＭＤ）：乱数２の発生
６Ｄｈ（ＬＯＡＤ Ｓｍｓ ＣＭＤ）：発生した乱数２をリードレジスタ１１５にロードする。この場合では、リードレジスタ１１５が必ずアクセス可能（スイッチ回路１２２がオン）とされる必要がある。
６Ｅｈ（ＳＥＴ Ｓｅｋ ＣＭＤ）：セッションキーの発生準備
６Ｆｈ（ＭＫ Ｓｅｋ ＣＭＤ）：セッションキーの発生
７０ｈ（ＬＯＡＤ Ｓｅｋ ＣＭＤ）：セッションキーを内部に保存
７１ｈ（ＣＬＲ ＡＵＣ ＣＭＤ）：認証回路のクリア。
【０１１１】
この一実施形態では、認証用のコマンドは、所定の順序でのみ実行可能とされている。従って、若し、演算結果の途中結果を不正に見ることを意図して、リードレジスタ１１５をイネーブルとするコマンドとして、レジスタ１１５の内容を読み出し可能なコマンド６３ｈ，６７ｈ，６Ｄｈ等を与えたとしても、比較回路１２１の比較結果が不一致を示すものとなり、動作が停止される。それによって、途中の演算結果を不正に読み取られることを防止することができる。
【０１１２】
図１８に示すセキュリティ用コマンドの中で、キー変換、改ざんチェックに使用されるコマンド（７２ｈ〜７Ｆｈ）について以下により詳細に説明する。なお、（８０ｈ〜８３ｈ）のセキュリティ用コマンドは、キーを知っている人がセキュリティブロック５２内の不揮発性記憶ユニットに対してキーを書き込むためのコマンドであって、一般ユーザには、それらの意味が公開されていないものであり、本明細書でもそれらについての説明を省略する。
【０１１３】
７２ｈ（ＳＥＴ ＫＲＥＣ ＣＭＤ）：記録時のキー変換準備
７３ｈ（ＭＫ ＫＲＥＣ ＣＭＤ）：記録時のキー変換
７４ｈ（ＬＯＡＤ ＫＲＥＣ ＣＭＤ）：変換後のキーをリードレジスタにロードする
７５ｈ（ＳＥＴ ＫＰＢ ＣＭＤ）：再生時のキー変換準備
７６ｈ（ＭＫ ＫＰＢ ＣＭＤ）：再生時のキー変換
７７ｈ（ＬＯＡＤ ＫＰＢ ＣＭＤ）：変換後のキーをリードレジスタにロードする
７８ｈ（ＣＬＲ ＩＣＶ ＣＭＤ）：改ざんチェックコード生成回路をクリアする
７９ｈ（ＳＥＴ ＩＣＶ ＣＭＤ）：改ざんチェックコードの生成の準備
７Ａｈ（ＭＫ ＩＣＶ ＣＭＤ）：改ざんチェックコードの生成
７Ｂｈ（ＬＯＡＤ ＩＣＶ１ ＣＭＤ）：内部保存しているＩＣＶ０とＩＣＶ１を比較回路にロードする
７Ｃｈ（ＬＯＡＤ ＩＣＶ２ ＣＭＤ）：内部保存しているＩＣＶ１と計算値を比較回路にロードする
７Ｄｈ（ＬＯＡＤ ＩＣＶ３ ＣＭＤ）：計算値をＩＣＶ０に書き込む
７Ｅｈ（ＬＯＡＤ ＩＣＶ４ ＣＭＤ）：計算値をＩＣＶ１に書き込む
７Ｆｈ（ＣＭＰ ＩＣＶ ＣＭＤ）：比較回路の実行。
【０１１４】
なお、上述した説明では、メモリカード４０内のセキュリティブロック５２について説明したが、この発明は、レコーダ１内のセキュリティブロック３に対しても同様に適用できる。また、ＤＥＳを使用した場合を説明したが、セキュリティのための方式としては、ＤＥＳに限らず、種々の暗号化技術を採用することが可能である。
【０１１５】
【発明の効果】
この発明に依れば、不揮発性メモリとセキュリティブロックとを備えたメモリカードをセキュリティ対応の電子機器のみならず、セキュリティに対応していない電子機器によって使用することが可能となる。従って、セキュリティ機能を有するメモリカードの互換性を向上することができる。
【０１１６】
また、この発明では、電子機器とメモリカードとの通信において、使用されていなかったコードをセキュリティ用の制御データに対して割り当てることによって、既存のセキュリティ機能を有しないメモリカードに対して、影響を何等与えることなく、上位互換性を持つことができる。言い換えると、既にセキュリティ機能を有しない電子機器が存在している場合に、この電子機器がこの発明が適用されたセキュリティ機能を有するメモリカードを使用することができる。若し、この発明と異なり、電子機器とメモリカードとの間で通信されるデータに対して、新たな識別子を付加してデータの種類を区別する方法では、識別子を必要とするのみならず、従来の電子機器が対応することができない。この発明は、かかる問題を生じることなく、互換性を確保することができる。
【図面の簡単な説明】
【図１】この発明の一実施形態の全体的構成を示すブロック図である。
【図２】この発明の一実施形態におけるセキュリティ対応のメモリカードの構成を示すブロック図である。
【図３】この発明の一実施形態におけるセキュリティ非対応のメモリカードの構成を示すブロック図である。
【図４】この発明の一実施形態におけるフラッシュメモリのファイルシステム処理階層の構成を示す略線図である。
【図５】この発明の一実施形態におけるフラッシュメモリのデータの物理的構成のフォーマットを示す略線図である。
【図６】フラッシュメモリのブートブロックの構成を示す略線図である。
【図７】フラッシュメモリのブートブロックのブートおよびアトリビュート情報の構成を示す略線図である。
【図８】この発明の一実施形態におけるコンテンツにおけるキーの関係を示す略線図である。
【図９】この発明の一実施形態における録音時の暗号化処理を説明するためのブロック図である。
【図１０】この発明の一実施形態における認証処理を説明するための略線図である。
【図１１】この発明の一実施形態における録音時の暗号化処理を説明するための略線図である。
【図１２】この発明の一実施形態における再生時の暗号化処理を説明するためのブロック図である。
【図１３】この発明の一実施形態における再生時の暗号化処理を説明するための略線図である。
【図１４】この発明の一実施形態におけるレコーダとメモリカード間のインタフェースを説明するためのタイミングチャートである。
【図１５】この発明の一実施形態におけるレコーダとメモリカード間のインタフェースを説明するためのタイミングチャートである。
【図１６】この発明の一実施形態におけるプロトコルコマンドの一例を示す略線図である。
【図１７】この発明の一実施形態におけるコマンドの一例を示す略線図である。
【図１８】この発明の一実施形態におけるコマンドの一例を示す略線図である。
【図１９】この発明の一実施形態の概略的ブロック図である。
【図２０】この発明の一実施形態におけるセキュリティブロックのブロック図である。
【符号の説明】
１・・・レコーダ、２・・・ＣＰＵ、３・・・セキュリティブロック、７・・・オーディオエンコーダ／デコーダ、１１・・・メモリインタフェース、４０・・・セキュリティ対応のメモリカード、４０’・・・セキュリティ非対応のメモリカード、４３・・・Ｓ／Ｐ，Ｐ／Ｓ，ＩＦブロック、４２・・・フラッシュメモリ、５２・・・セキュリティブロック
【図１】
0003882459.tif 000002
【図２】
0003882459.tif 000003
【図３】
0003882459.tif 000004
【図４】
0003882459.tif 000005
【図５】
0003882459.tif 000006
【図６】
0003882459.tif 000007
【図７】
0003882459.tif 000008
【図８】
0003882459.tif 000009
【図９】
0003882459.tif 000010
【図１０】
0003882459.tif 000011
【図１１】
0003882459.tif 000012
【図１２】
0003882459.tif 000013
【図１３】
0003882459.tif 000014
【図１４】
0003882459.tif 000015
【図１５】
0003882459.tif 000016
【図１６】
0003882459.tif 000017
【図１７】
0003882459.tif 000018
【図１８】
0003882459.tif 000019
【図１９】
0003882459.tif 000020
【図２０】
0003882459.tif 000021