(57)【要約】【課題】セキュアな領域へのデータの書き込み／読み込みを効率的に行うことができるメモリデバイスを提供する。【解決手段】電子機器２０に固定的に、または着脱可能に接続されるメモリデバイス３０に、記録媒体３３のメモリ領域の内、電子機器から直接アクセスすることができない第１のメモリ領域３４を管理するセキュア制御部３２と、この記録媒体３３を対象とするデータの書き込みまたは読み込みのバースト処理を管理するデバイス制御部３１とを設け、セキュア制御部３２とデバイス制御部３１とが協働して、第１のメモリ領域３４を対象とするデータの書き込みまたは読み込みのバースト処理を行うように構成している。書き込み・読み込みデータのデータ量が多い場合でも、バースト処理により、短時間で書き込み・読み込み処理を終えることができる。【選択図】      図１
2004295353.tif 000002
【特許請求の範囲】
【請求項１】
電子機器に固定的に、または着脱可能に接続されるメモリデバイスであって、
記録媒体のメモリ領域の内、電子機器から直接アクセスすることができない第１のメモリ領域を管理するセキュア制御部と、前記記録媒体を対象とするデータの書き込みまたは読み込みのバースト処理を管理するデバイス制御部とを備え、前記セキュア制御部と前記デバイス制御部とが協働して、前記第１のメモリ領域を対象とするデータの書き込みまたは読み込みのバースト処理を行うことを特徴とするメモリデバイス。
【請求項２】
前記デバイス制御部は、電気機器から送られた書き込み用のデータを、前記記録媒体の前記第１のメモリ領域以外の領域に書き込み、前記セキュア制御部は、前記デバイス制御部により書き込まれた前記データを前記第１のメモリ領域に書き込むことを特徴とする請求項１に記載のメモリデバイス。
【請求項３】
前記セキュア制御部は、前記第１のメモリ領域のアクセス制限を一時的に解除し、前記デバイス制御部は、電気機器から送られた書き込み用のデータを、アクセス制限が解除された前記第１のメモリ領域に書き込むことを特徴とする請求項１に記載のメモリデバイス。
【請求項４】
前記セキュア制御部は、前記第１のメモリ領域に含まれる一部の領域に対するアクセス制限を解除することを特徴とする請求項３に記載のメモリデバイス。
【請求項５】
前記セキュア制御部は、前記電気機器とセッション鍵を交換し、前記デバイス制御部が書き込んだ前記データを前記セッション鍵で復号化し、暗号鍵で暗号化することを特徴とする請求項２から請求項４のいずれかに記載のメモリデバイス。
【請求項６】
前記セキュア制御部は、前記電気機器とセッション鍵を交換し、前記デバイス制御部は、前記セキュア制御部から前記セッション鍵と暗号鍵とを取得して、前記電気機器から送られた書き込み用のデータを前記セッション鍵で復号化し、前記暗号鍵で暗号化して前記第１のメモリ領域に書き込むことを特徴とする請求項３に記載のメモリデバイス。
【請求項７】
前記セキュア制御部は、前記電気機器とセッション鍵を交換し、前記デバイス制御部は、前記セキュア制御部から前記セッション鍵と暗号鍵と前記第１のメモリ領域のアクセス権限とを取得して、前記電気機器から送られた書き込み用のデータを前記セッション鍵で復号化し、前記暗号鍵で暗号化して前記第１のメモリ領域に書き込むことを特徴とする請求項１に記載のメモリデバイス。
【請求項８】
前記セキュア制御部は、前記第１のメモリ領域のアクセス制限を一時的に解除し、前記デバイス制御部は、アクセス制限が解除された前記第１のメモリ領域に格納されているデータを読み込んで電気機器に送ることを特徴とする請求項１に記載のメモリデバイス。
【請求項９】
前記セキュア制御部は、前記電気機器とセッション鍵を交換し、アクセス制限を解除した前記第１のメモリ領域に格納されている読み出し用のデータを復号化した後、前記セッション鍵で暗号化し、前記デバイス制御部は、前記第１のメモリ領域から前記セッション鍵で暗号化されたデータを読み込んで電気機器に送ることを特徴とする請求項８に記載のメモリデバイス。
【請求項１０】
前記セキュア制御部は、前記第１のメモリ領域に格納された読み出し用のデータを、前記記録媒体の前記第１のメモリ領域以外の領域にコピーし、前記デバイス制御部は、コピーされた前記データを読み込んで電気機器に送ることを特徴とする請求項１に記載のメモリデバイス。
【請求項１１】
前記セキュア制御部は、前記電気機器とセッション鍵を交換し、前記デバイス制御部は、前記セキュア制御部から前記セッション鍵と復号鍵と前記第１のメモリ領域のアクセス権限とを取得して、前記第１のメモリ領域から読み込んだデータを前記復号鍵で復号化し、前記セッション鍵で暗号化して前記電気機器に送ることを特徴とする請求項１に記載のメモリデバイス。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体メモリカードなどのメモリデバイスに関し、特に、秘匿性を備えた領域へのデータの書き込みや読み込みの迅速化を図るものである。
【０００２】
【従来の技術】
近年、電子商取引などへの利用が拡大しているＩＣカードは、ＣＰＵを搭載し、単純なメモリカードと違ってインテリジェントな処理を行うことができる。また、ＩＣカードは、耐タンパー性のモジュール（ｔａｍｐｅｒ  ｒｅｓｉｓｔａｎｔ  ｍｏｄｕｌｅ：ＴＲＭ）内にメモリ領域を有しており、そのため、データを強固に秘匿することができ、複製や偽造に対して固い耐性を備えている。ただ、ＩＣカードのメモリ容量は、数十キロバイト程度であり、データ蓄積を目的とするメモリカード程には、多くのデータを格納することはできない。
【０００３】
ＩＣカードで行われる処理は、端末アプリケーション（以下、アプリケーションを「アプリ」と略称する）がＩＣカードに搭載されたカードアプリを起動することにより開始され、端末アプリがコマンドを送信し、これに対してカードアプリがレスポンスを返す通信をしながら処理が進められる。国際標準のＩＳＯ／ＩＥＣ７８１６には、このコマンドとレスポンスとのやり取りに関する国際規格が決められており、コマンドはＡＰＤＵ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）と呼ばれる形式を取ることが規定されている（下記非特許文献１参照）。
【０００４】
【非特許文献１】
「Ｉｎｔｅｒｆａｃｅ  ２００３年３月号」ＣＱ出版社、４９〜５０頁
【０００５】
【発明が解決しようとする課題】
個人情報の流出などの記事が新聞紙上でしばしば報じられる昨今、電子情報のセキュリティの確保は、情報化社会での重要な課題の一つとなっている。安全な保存を必要とする電子情報は、プライバシー保護が必要な、例えばアドレス帳情報、通帳情報、個人写真などの個人情報から、著作権保護が必要な音楽や小説等のコンテンツに至るまで、その対象範囲は拡大し、そのデータ量が増大化して来ている。
【０００６】
出願人は、先に、ＩＣカードのインテリジェント性とメモリカード並のメモリ容量とを備えたメモリカードを開発した（特願２００３−０４２２８８号など）。このカードは、端末からのアクセスが可能な通常領域と、端末から直接アクセスすることができないセキュア領域とを有する非耐タンパー性の第１のメモリと、端末から直接アクセスすることができない耐タンパー性の第２のメモリとを具備し、第１のメモリのセキュア領域には、第２のメモリへのアクセスを管理するセキュア制御部を介してのみアクセスできるように構成されている。
このセキュア領域は、メモリ領域の構成が非耐タンパー性であっても、大容量を有する秘匿性領域として利用することができ、従来のＩＣカードのメモリ容量よりも遥かに大きな数十ＭＢのデータでも取り扱うことができる。
【０００７】
しかし、大容量データをセキュア領域に書き込んだり、セキュア領域から読み込んだりする場合に、ＩＳＯ／ＩＥＣ７８１６で規定されたＡＰＤＵに従うと、端末からカードに一度に受け渡せるデータ量は、規格上、多くても６４ＫＢ程度（多くのＩＣカードでは２５６バイト程度）に制限されるため、数十ＭＢのデータ量を書き込むときには、数百〜数千回に分割して取り扱わなければならず、そのため、書き込み終了までに数十分〜数時間が掛かると言う問題点がある。
【０００８】
本発明は、こうした課題を解決するものであり、セキュアな領域へのデータの書き込み／読み込みを効率的に行うことができるメモリデバイスを提供することを目的としている。
【０００９】
【課題を解決するための手段】
そこで、本発明では、電子機器に固定的に、または着脱可能に接続されるメモリデバイスに、記録媒体のメモリ領域の内、電子機器から直接アクセスすることができない第１のメモリ領域を管理するセキュア制御部と、この記録媒体を対象とするデータの書き込みまたは読み込みのバースト処理を管理するデバイス制御部とを設け、セキュア制御部とデバイス制御部とが協働して、第１のメモリ領域を対象とするデータの書き込みまたは読み込みのバースト処理を行うように構成している。
そのため、書き込み・読み込みデータのデータ量が多い場合でも、バースト処理により、短時間で書き込み・読み込み処理を終えることができる。
【００１０】
【発明の実施の形態】
本発明の実施形態では、二種類のメモリデバイスに対する書き込み／読み込み処理について説明する。まず、各メモリデバイスの構成について説明する。
第１のメモリデバイス（以下、「セキュアメモリカード」と言う）は、図１４に示すように、内部不揮発性メモリ３２４とセキュア制御部３２１とを含む耐タンパー性モジュール（ＴＲＭ）３２と、予め区画された非認証領域３５とセキュア領域３４とを含む大容量不揮発性メモリ３３と、端末装置２０と通信して端末装置のメモリ領域へのアクセスを制御するメモリカードコントローラ（デバイス制御部）３１とを備えている。但し、本発明では、内部不揮発性メモリ３２４の存在は必須ではない。
【００１１】
セキュア制御部３２１は、ＣＰＵやＲＯＭ、ＲＡＭ、暗号エンジンから成る内部ＣＰＵ３２３と、ＩＣカード機能を実行するカードアプリのソフトウエア３２２とを備えており、セキュア制御部３２１は、内部不揮発性メモリ３２４及びセキュア領域３４に対してアクセスすることができる。
メモリカードコントローラ３１は、通信相手の端末装置２０が非認証領域３５へのアクセスを要求しているときには、無条件でそのアクセスを認め、また、端末装置の要求が、内部不揮発性メモリ３２４またはセキュア領域３４に関するときは、その要求をセキュア制御部３２１に伝える。
【００１２】
ＴＲＭ３２の内部不揮発性メモリ３２４は、例えば、１６バイト単位で消去・書き込みができるＥＥＰＲＯＭから成り、また、大容量不揮発性メモリ３３は、５１２バイト等のブロック単位での消去と１バイト単位での書き込みとが可能なフラッシュメモリから成る。
セキュア領域３４と内部不揮発性メモリ３２４との違いは、内部不揮発性メモリ３２４がＴＲＭ３２に設けられているのに対し、セキュア領域３４が、耐タンパー性を持たない大容量不揮発性メモリ３３に設けられている点である。そのため、セキュア領域３４は、内部不揮発性メモリ３２４に比べて大きい蓄積容量を持つことができるが、その反面、セキュリティレベルは、ＴＲＭ３２に設けられた内部不揮発性メモリ３２４よりも低い。３つの領域のセキュリティレベルは、非認証領域３５が最も低く、セキュア領域３４、内部不揮発性メモリ３２４の順に高くなっている。
【００１３】
メモリカードコントローラ３１は、端末２０から受信したコマンドを解釈し、そのコマンドが非認証領域３５へのアクセスを要求するものであるか、ＩＣカード機能による処理を要求するものであるかを判断し、非認証領域３５へのアクセスを要求しているときは無条件でアクセス要求を認め、また、ＩＣカード機能による処理を要求しているときは、セキュア制御部３２１にコマンドを転送する。
セキュア制御部３２１上で動作するＩＣカード機能３２２は、メモリカードコントローラ３１から送信されたコマンドを解釈し、その処理要求が、内部不揮発性メモリ３２４へのデータ書き込み／読み出しを要求するものであるか、セキュア領域３４へのデータ書き込み／読み出しを要求するものであるか、認証を要求するものであるか、その他の処理を要求するものであるかを判断する。
【００１４】
そして、コマンドが、認証を要求しているときは、認証処理を行う。また、コマンドが、内部不揮発性メモリ３２４へのデータの書き込み／読み出しを要求しているときは、端末２０の認証処理が済んでいるか否かを確認し、認証処理が済んでおり、且つ、内部不揮発性メモリ３２４が要求を満たす状態にあるときは、その要求を認め、書き込むデータを暗号鍵で暗号化して、内部不揮発性メモリ３２４に書き込む。また、読み出すときは、内部不揮発性メモリ３２４からデータを読み出し、復号鍵で復号化した後、メモリカードコントローラ３１を介して端末装置２０に転送する。
【００１５】
コマンドが、セキュア領域３４を指定してデータの書き込み／読み出しを要求しているとき、あるいは、いずれかの秘匿性領域への書き込み／読み出しを要求し、セキュア制御部３２１の選択でセキュア領域３４への書き込み／読み出しが行われるときの処理については、後述する。
【００１６】
図１５は、セキュアメモリカード３０の構成と機能とを模式的に示している。ここでは、ＩＣカード機能が、セキュア制御部３２１を含む耐タンパー性モジュール（ＴＲＭ）３２によって行われるものとして表わしている。ＴＲＭ３２は、端末２０からＡＰＤＵに従うコマンドを受けて処理を進める。また、ＴＲＭ３２は、セキュア領域３４へのアクセスが可能であり、セキュア領域３４に書き込むデータは暗号鍵で暗号化し、また、セキュア領域３４から読み出したデータは復号鍵で復号化する。
【００１７】
メモリカードコントローラ３１は、端末２０の端末アプリ１０が非認証領域３５にアクセスすることをフリーに認める。そのため、端末アプリ１０は、非認証領域３５へのデータの書き込み／読み込みを随時行うことができる。しかし、端末アプリ１０は、セキュア領域３４にアクセスすることはできない。
【００１８】
図１６は、第２のメモリデバイス５０（以下、「拡張セキュアメモリカード」と言う）の構成と機能とを模式的に示している。セキュアメモリカード３０では、大容量不揮発性メモリ３３内にセキュア領域３４が予め区画されているが、この拡張セキュアメモリカード５０では、ＴＲＭ５２が、必要時に、通常領域５３の中にセキュア領域５４を設定する。このセキュア領域５４に書き込まれるデータは、ＴＲＭ５２で暗号化され、セキュア領域３４から読み出したデータはＴＲＭ５２で復号化される。また、セキュアメモリカード３０と同様、セキュア領域５４への端末アプリ１０のアクセスは制限される。
その他の構成は、セキュアメモリカード３０と変わりがない。
【００１９】
端末装置から、このセキュアメモリカード３０や拡張セキュアメモリカード５０のセキュア領域３４、５４にデータを書き込んだり、読み込んだりする場合に、ＩＣカードのＡＰＤＵに従ってその処理を行うと、データ量が多いときに、データを幾つにも分割して取り扱わなければならず、コマンドの往復回数に応じてオーバーヘッド（目的とする仕事に直接使われていない時間）が増大する。本発明では、セキュア領域３４、５４へのデータの書き込み／読み込みに、メモリカードで行われているバースト転送を利用してオーバーヘッドを削減し、処理の効率化を図る。
【００２０】
（第１の実施形態）
本発明の第１の実施形態では、セキュアメモリカードのセキュア領域にデータを書き込む場合の処理について説明する。
図１は、この場合の処理手順を示している。端末アプリ１０は、データをバースト転送して、セキュアメモリカード３０の非認証領域３５にデータ３５１を書き込む（▲１▼）。次いで、端末アプリ１０とＴＲＭ３２とは、ＡＰＤＵのＩＣコマンド／レスポンスによる通信で、相互認証を行い、さらに、対象データを指定するため、端末アプリ１０がデータ３５１の非認証領域３５の格納位置及びデータサイズ（あるいはファイル名）をＴＲＭ３２に伝え、ＴＲＭ３２が、このデータを格納するセキュア領域３４の格納位置及びデータサイズ（あるいはファイル名）を端末アプリ１０に伝える（▲２▼）。
【００２１】
端末２０のデータ書き込み処理は以上で終了し、以後は、セキュアメモリカード３０の内部処理となる。
ＴＲＭ３２は、端末アプリ１０から伝えられた非認証領域３５の対象データの格納位置からデータ３５１を読み込み（▲３▼）、暗号化してセキュア領域３４にデータ３４１を書き込む（▲４▼）。
【００２２】
このように、端末２０とＴＲＭ３２との間では、常に、ＡＰＤＵのＩＣコマンド／レスポンスによる通信が行われるが、端末２０が実際にデータを書き込む際は、バースト転送が可能なメモリカード系のコマンドで処理が進められる。この点は以下の各実施形態においても変わりがない。
そのため、端末２０は、このセキュアメモリカード３０に対して迅速にデータを書き込むことができる。
【００２３】
（第２の実施形態）
本発明の第２の実施形態では、拡張セキュアメモリカードのセキュア領域にデータを書き込む場合の処理について説明する。
図２は、この場合の処理手順を示している。端末アプリ１０と拡張セキュアメモリカード５０のＴＲＭ５２とは、ＡＰＤＵのＩＣコマンド／レスポンスによる通信で、相互認証を行い、さらに、対象データを指定するため、端末アプリ１０が書き込もうとするデータのファイル名やデータサイズをＴＲＭ５２に伝え、ＴＲＭ５２が、このデータを書き込むセキュア領域５４の通常領域５３内の位置を端末アプリ１０に伝える（▲１▼）。ＴＲＭ５２は、端末アプリ１０に伝えた通常領域５３内の位置にセキュア領域５４を設定して、そのアクセス制限を解除し（▲２▼）、端末アプリ１０は、アクセス制限が解除されたセキュア領域５４にデータを書き込む（▲３▼）。
【００２４】
端末２０のデータ書き込み処理は以上で終了し、以後は、拡張セキュアメモリカード５０の内部処理となる。
ＴＲＭ５２は、セキュア領域５４のアクセス制限を設定するとともに、そこに書き込まれたデータを暗号化する（▲４▼）。
このように、この拡張セキュアメモリカード５０に対して、端末２０は、迅速にデータを書き込むことができる。
【００２５】
（第３の実施形態）
本発明の第３の実施形態では、セキュアメモリカードに書き込むデータのセキュリティを強化する処理について説明する。
図３は、この場合の処理手順を示している。端末アプリ１０とセキュアメモリカード３０のＴＲＭ３２とは、相互認証を行い、さらに、この通信でのみ使用するセッション鍵を交換する（▲１▼）。
【００２６】
セッション鍵の交換方式としては、例えば、ＤＨ（Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ）法が良く知られている。この鍵交換方式では、端末アプリ１０とＴＲＭ３２との間でセッション鍵Ｋを交換しようとする場合、まず、端末アプリ１０とＴＲＭ３２とが、共有する例えば当日の月（ｐ）、日（Ｚ）の情報を用いて、このｐとＺとから、ｅ＝Ｚｍｏｄｐの計算式でｅを算出する。次いで、端末アプリ１０は、乱数ａを生成・保持し、ｍ＝ｅ＾ａの計算式でｍを生成して、このｍをＴＲＭ３２に送信する。一方、ＴＲＭ３２は、乱数ｂを生成・保持し、ｎ＝ｅ＾ｂの計算式でｎを生成し、このｎを端末アプリ１０に送信する。
ｎを受信した端末アプリ１０は、Ｋ＝ｎ＾ａ＝ｅ＾ａｂによりセッション鍵Ｋを生成し、また、ｍを受信したＴＲＭ３２は、Ｋ＝ｍ＾ｂ＝ｅ＾ａｂにより、端末アプリ１０と同じセッション鍵Ｋを生成する。
【００２７】
鍵交換を行った端末アプリ１０は、書き込むデータをセッション鍵で暗号化する（▲２▼）。
端末アプリ１０は、暗号化したデータをセキュアメモリカード３０の非認証領域３５にデータ３５１として書き込む（▲３▼）。次いで、端末アプリ１０は、対象データを指定するため、データ３５１の非認証領域３５の格納位置及びデータサイズ（あるいはファイル名）をＴＲＭ３２に伝え、ＴＲＭ３２が、このデータを格納するセキュア領域３４の格納位置及びデータサイズ（あるいはファイル名）を端末アプリ１０に伝える（▲４▼）。
【００２８】
端末２０のデータ書き込み処理は以上で終了し、以後は、セキュアメモリカード３０の内部処理となる。
ＴＲＭ３２は、端末アプリ１０から伝えられた非認証領域３５の対象データの格納位置からデータ３５１を読み込み（▲５▼）、暗号化されているデータをセッション鍵で復号化し（▲６▼）、復号化したデータをＴＲＭ３２の暗号鍵で暗号化してセキュア領域３４にデータ３４１として書き込む（▲７▼）。
このように、セキュアメモリカード３０に書き込むデータをセッション鍵で暗号化することにより、非認証領域３５に書き込んだデータが不正に読み出されても、情報の内容を秘匿することができる。
【００２９】
（第４の実施形態）
本発明の第４の実施形態では、拡張セキュアメモリカードに書き込むデータを暗号化してセキュリティを強化する処理について説明する。
図４は、この場合の処理手順を示している。端末アプリ１０と拡張セキュアメモリカード５０のＴＲＭ５２とは、相互認証を行い、さらに、セッション鍵を交換する（▲１▼）。
鍵交換を行った端末アプリ１０は、書き込むデータをセッション鍵で暗号化する（▲２▼）。
【００３０】
端末アプリ１０は、対象データを指定するため、暗号化したデータのファイル名やデータサイズをＴＲＭ５２に伝え、ＴＲＭ５２は、このデータを書き込むセキュア領域５４の通常領域５３内の位置を端末アプリ１０に伝える（▲３▼）。ＴＲＭ５２は、端末アプリ１０に伝えた位置にセキュア領域５４を設定して、そのアクセス制限を解除し（▲４▼）、端末アプリ１０は、アクセス制限が解除されたセキュア領域５４に暗号化したデータを書き込む（▲５▼）。
【００３１】
端末２０のデータ書き込み処理は以上で終了し、以後は、拡張セキュアメモリカード５０の内部処理となる。
ＴＲＭ５２は、セキュア領域５４のアクセス制限を設定するとともに、そこに書き込まれたデータをセッション鍵で復号化した後、ＴＲＭ５２の暗号鍵で暗号化する暗号変換を行う（▲６▼）。
このように、拡張セキュアメモリカード５０に書き込むデータをセッション鍵で暗号化することにより、アクセス制限が解除されたセキュア領域に書き込んだデータが不正に読み出されても、情報の内容を秘匿することができる。
【００３２】
（第５の実施形態）
本発明の第５の実施形態では、セキュアメモリカードのセキュア領域の一部領域に対するアクセス制限を開放し、そこにデータを書き込む処理について説明する。
図５は、この場合の処理手順を示している。端末アプリ１０とセキュアメモリカード３０のＴＲＭ３２とは、相互認証を行い、セッション鍵を交換する（▲１▼）。
鍵交換を行った端末アプリ１０は、書き込むデータをセッション鍵で暗号化する（▲２▼）。次いで、端末アプリ１０は、ＴＲＭ３２に暗号化したデータのデータサイズを示してセキュア領域３４のアクセス制限の開放を要求し、ＴＲＭ３２は、アクセス制限を開放するセキュア領域３４の一部領域の位置を伝える（▲３▼）。
ＴＲＭ３２は、このセキュア領域３４の一部領域におけるアクセス制限を開放する（▲４▼）。端末アプリ１０は、アクセス制限が開放されたセキュア領域に、暗号化したデータを書き込む（▲５▼）。書き込みが終了すると、端末アプリ１０は、ＴＲＭ３２に対して、そのセキュア領域３４を再びアクセス制限するように要求する（閉塞要求）（▲６▼）。
【００３３】
端末２０のデータ書き込み処理は以上で終了し、以後は、セキュアメモリカード３０の内部処理となる。
ＴＲＭ３２は、閉塞要求を受けたセキュア領域３４の一部領域を再びアクセス制限し（▲７▼）、その領域に書き込まれたデータをセッション鍵で復号化した後、ＴＲＭ３２の暗号鍵で暗号化する（暗号変換）（▲８▼）。
【００３４】
このように、セキュアメモリカード３０のセキュア領域３４の一部に対するアクセス制限を開放し、そこにデータを書き込むことにより、セキュアメモリカード３０内でのデータの移動が不要になる。そのため、この移動中の事故が回避され安全性が向上する。また、データを移動する場合は、移動元のメモリ領域と移動先のメモリ領域とを使用するため、データ量の２倍のメモリ容量を確保しなければならないが、データを移動しない場合は、データ量のメモリ容量を確保すれば足りる。従って、このセキュアメモリカード３０では、大容量不揮発性メモリ３３のメモリ容量を効率的に利用することができる。
【００３５】
（第６の実施形態）
本発明の第６の実施形態では、拡張セキュアメモリカードに既に設定されているセキュア領域の一部のアクセス制限を開放し、そこにデータを書き込む処理について説明する。
図６は、この場合の処理手順を示している。拡張セキュアメモリカード５０の通常領域５３には、既に、保護データが書き込まれたセキュア領域５４が存在している。
【００３６】
端末アプリ１０と拡張セキュアメモリカード５０のＴＲＭ５２とは、相互認証を行い、セッション鍵を交換する（▲１▼）。鍵交換を行った端末アプリ１０は、書き込むデータをセッション鍵で暗号化する（▲２▼）。次いで、端末アプリ１０は、ＴＲＭ５２に暗号化したデータのデータサイズを示してセキュア領域のアクセス制限の開放を要求し、ＴＲＭ５２は、アクセス制限を開放するセキュア領域５４の一部領域の位置を伝える（▲３▼）。
【００３７】
ＴＲＭ５２は、セキュア領域５４の一部領域に対するアクセス権限を開放する（▲４▼）。端末アプリ１０は、アクセス制限が開放されたセキュア領域に、暗号化したデータを書き込む（▲５▼）。書き込みが終了すると、端末アプリ１０は、ＴＲＭ５２に対して、そのセキュア領域の閉塞を要求する（閉塞要求）（▲６▼）。
端末２０のデータ書き込み処理は以上で終了し、以後は、拡張セキュアメモリカード５０の内部処理となる。
【００３８】
ＴＲＭ５２は、閉塞要求を受けたセキュア領域５４の一部領域を再びアクセス制限し（▲７▼）、その領域に書き込まれたデータの暗号変換を行う（▲８▼）。
このように、拡張セキュアメモリカード５０では、保護データの中の一部領域に対するアクセス権限を開放し、そこにデータを書き込むことも可能である。
【００３９】
（第７の実施形態）
本発明の第７の実施形態では、ＩＣ機能を実現するセキュア制御部と、メモリカードコントローラの機能を実現するメモリカード制御部とを耐タンパー性の１チップに形成したセキュアメモリカードについて説明する。
このセキュアメモリカードでは、図８に示すように、ＩＣカード機能を実行するカードアプリのソフトウエア３２２と、ＣＰＵやＲＯＭ、ＲＡＭ、暗号エンジンから成る内部ＣＰＵ３２３とを備えるセキュア制御部３２１が、メモリカードコントローラの機能を実行するカードアプリのソフトウエア３１１と同一のＴＲＭチップ３２０上に実装されている。このＩＣカード機能のソフトウエア３２２は、メモリカード制御機能のソフトウエア３１１との間で、内部通信によって、セクション鍵や、セキュア領域３４に格納するデータの暗号化・復号化に用いる鍵（ＴＲＭ固有鍵）を受け渡すことができる。
【００４０】
図７は、このセキュアメモリカード３０が、第５の実施形態（図５）と同様に、セキュア領域３４の一部領域のアクセス制限を開放し、そこにデータを書き込む場合の処理手順を示している。
端末アプリ１０とセキュア制御部３２１とは、相互認証を行い、セッション鍵を交換する（▲１▼）。
【００４１】
鍵交換を行った端末アプリ１０は、書き込むデータをセッション鍵で暗号化する（▲２▼）。次いで、端末アプリ１０は、セキュア制御部３２１に暗号化したデータのデータサイズを示してセキュア領域３４のアクセス制限の開放を要求し、セキュア制御部３２１は、アクセス制限を開放するセキュア領域３４の一部領域の位置を伝える（▲３▼）。
【００４２】
セキュア制御部３２１は、このセキュア領域３４の一部領域におけるアクセス制限を開放し（▲４▼）、メモリカード制御部３１１にセッション鍵とＴＲＭ固有鍵とを渡す（▲５▼）。端末アプリ１０は、アクセス制限が開放されたセキュア領域を指定して、メモリカード制御部３１１に、暗号化したデータの書き込みを要求する（▲６▼）。メモリカード制御部３１１は、このデータをセッション鍵で復号化し、ＴＲＭ固有鍵で暗号化して（▲７▼）、アクセス制限が開放されたセキュア領域３４の一部領域に書き込む（▲８▼）。端末アプリ１０は、セキュア制御部３２１に対して、アクセス制限を開放したセキュア領域３４の閉塞を要求し（▲９▼）、セキュア制御部３２１は、閉塞要求を受けたセキュア領域３４の一部領域に対して再びアクセス制限を行う（１０）。
【００４３】
このように、このセキュアメモリカード３０では、メモリカード制御部３１１が、端末アプリ１０から送られて来るデータを、暗号変換しながら、セキュア領域３４に書き込んでいるため、第５の実施形態のように、データを一旦セキュア領域３４に書き込み、それを読み出して暗号変換を行い、暗号変換後のデータを再度セキュア領域３４に書き込む場合に比して、トータルの処理時間を大幅に短縮することができる。
【００４４】
（第８の実施形態）
本発明の第８の実施形態では、ＩＣ機能を実現するセキュア制御部と、メモリカードコントローラの機能を実現するメモリカード制御部とを耐タンパー性の１チップに形成した拡張セキュアメモリカードの動作について説明する。耐タンパー性チップ内の構成は図８と同様である。
【００４５】
図９は、第４の実施形態（図４）と同様に、拡張セキュアメモリカード５０のセキュア領域５４にデータを書き込む場合の処理手順を示している。
端末アプリ１０とセキュア制御部３２１とは、相互認証を行い、セッション鍵を交換する（▲１▼）。鍵交換を行った端末アプリ１０は、書き込むデータをセッション鍵で暗号化する（▲２▼）。
端末アプリ１０は、対象データを指定するため、暗号化したデータのファイル名やデータサイズをセキュア制御部３２１に伝え、セキュア制御部３２１は、このデータを書き込むセキュア領域５４の通常領域５３内の位置を端末アプリ１０に伝える（▲３▼）。
【００４６】
セキュア制御部３２１は、端末アプリ１０に伝えた位置にセキュア領域５４を設定し、そのセキュア領域５４へのアクセス権限、セッション鍵及びＴＲＭ固有鍵を内部通信でメモリカード制御部３１１に与える（▲４▼）。端末アプリ１０は、セキュア制御部３２１から伝えられたセキュア領域を指定して、メモリカード制御部３１１に、暗号化したデータの書き込みを要求する（▲５▼）。メモリカード制御部３１１は、端末アプリ１０から受信したデータを暗号変換しながら（▲６▼）、セキュア領域５４に書き込む（▲７▼）。
【００４７】
また、図１０は、第６の実施形態（図６）と同様に、拡張セキュアメモリカード５０に既に設定されているセキュア領域５４の一部のアクセス制限を開放し、そこにデータを書き込む場合の処理手順を示している。
端末アプリ１０とセキュア制御部３２１とは、相互認証を行い、セッション鍵を交換する（▲１▼）。鍵交換を行った端末アプリ１０は、書き込むデータをセッション鍵で暗号化する（▲２▼）。次いで、端末アプリ１０は、セキュア制御部３２１に暗号化したデータのデータサイズを示してセキュア領域のアクセス制限の開放を要求し、セキュア制御部３２１は、アクセス制限を開放するセキュア領域５４の一部領域の位置を伝える（▲３▼）。
【００４８】
セキュア制御部３２１は、このセキュア領域５４の一部のアクセス制限を開放し（▲４▼）、メモリカード制御部３１１にセッション鍵とＴＲＭ固有鍵とを渡す（▲５▼）。端末アプリ１０は、アクセス制限が開放されたセキュア領域を指定して、メモリカード制御部３１１に、暗号化したデータの書き込みを要求する（▲６▼）。メモリカード制御部３１１は、端末アプリ１０から受信したデータを暗号変換しながら（▲７▼）、指定されたセキュア領域５４の一部領域に書き込む（▲８▼）。端末アプリ１０は、セキュア制御部３２１に対して、アクセス制限を開放したセキュア領域５４の閉塞を要求し（▲９▼）、セキュア制御部３２１は、閉塞要求を受けたセキュア領域３４の一部領域に対して再びアクセス制限を行う（１０）。
【００４９】
このように、この拡張セキュアメモリカード５０では、メモリカード制御部３１１が、端末アプリ１０から送られて来るデータを、暗号変換しながら、セキュア領域３４に書き込んでいるため、第４の実施形態や第６の実施形態による処理に比べて、トータルの処理時間を大幅に短縮することができる。
【００５０】
（第９の実施形態）
本発明の第９の実施形態では、メモリデバイスからデータを読み込むときの処理について説明する。
データの読み込み時には、基本的に次のような処理が行われる。
端末アプリは、読み込み対象のデータを指定する。セキュア制御部は、セキュア領域に格納されている、指定されたデータを復号化し、そのデータが格納されたセキュア領域のアクセス制限を一時的に解除する。端末アプリは、アクセス制限が解除されたセキュア領域にアクセスして、読み込み対象のデータをバースト的に読み出す。
【００５１】
また、読み込みデータのセキュリティを高めるためにセッション鍵で暗号化する場合は、端末アプリとセキュア制御部との間で事前に鍵交換が行われ、また、ＴＲＭ鍵で復号化したデータをセッション鍵で暗号化する暗号変換が行われ、さらに、端末アプリによりセッション鍵での復号化が行われる。
【００５２】
図１１は、拡張セキュアメモリカード５０からデータを読み込むときの処理手順を示している。
端末アプリ１０とＴＲＭ５２とは、相互認証を行い、セッション鍵を交換する（▲１▼）。端末アプリ１０は、ＴＲＭ５４に読み込み対象データのファイル名を指定する（▲２▼）。ＴＲＭ５２は、該当するデータをＴＲＭ鍵で復号化し、セッション鍵で暗号化する暗号変換と、当該データが格納されたセキュア領域５４のアクセス制限の解除とを行う（▲３▼）。端末アプリ１０は、アクセス制限が解除されたセキュア領域５４からデータを読み込み（▲４▼）、セッション鍵でデータを復号化する（▲５▼）。データの読み込みが完了した端末アプリ１０は、ＴＲＭ５２に対して読み込み完了を伝え（▲６▼）、ＴＲＭ５２は、セキュア領域５４のアクセス制限を復旧し、セキュア領域５４に格納されているデータをセッション鍵で復号化した後、ＴＲＭ鍵で暗号化する。
【００５３】
こうした処理により、拡張セキュアメモリカード５０からデータをバースト的に読み込むことができる。セキュアメモリカード３０からデータを読み込むときも同様である。
【００５４】
（第１０の実施形態）
データを読み込む場合は、セキュア領域５４に格納されたデータを暗号変換しているときに、電源断やリセットが発生すると、対象データが消失する危険性がある。データをセッション鍵で暗号化している途中や、セッション鍵で暗号化したデータの読み込み途中、あるいは、ＴＲＭ鍵で再暗号化している途中に、電源断などによる機能停止が発生すると、ＴＲＭ鍵で暗号化された元のデータが保存されていないと、データは失われる。
【００５５】
本発明の第１０の実施形態では、データ消失を防止する読み込み処理について説明する。
図１２は、拡張セキュアメモリカード５０からデータを読み込むときの処理手順を示している。
【００５６】
端末アプリ１０とＴＲＭ５２とは、相互認証を行い、セッション鍵を交換する（▲１▼）。端末アプリ１０は、ＴＲＭ５４に対して読み込み対象データのファイル名を指定する（▲２▼）。ＴＲＭ５２は、対象データをセキュア領域５４から読み込んでＴＲＭ鍵で復号化し、セッション鍵で暗号化して、データ５４１として通常領域５３に複製する（▲３▼）。ＴＲＭ５２は、通常領域上のデータ５４１の格納位置を端末アプリ１０に通知する（▲４▼）。端末アプリ１０は、通常領域５３のデータ５４１にアクセスして、これを読み込んだ後（▲５▼）、通常領域５３のデータ５４１を削除する（▲６▼）。端末アプリ１０は、読み込んだデータをセッション鍵で復号化する（▲７▼）。
【００５７】
このように、この拡張セキュアメモリカード５０は、対象データの複製を作成して、その複製が読み込まれるため、読み込み処理の過程で複製データが失われても、元の対象データが存在するので、全く問題ない。
【００５８】
（第１１の実施形態）
本発明の第１１の実施形態では、データ消失の危険を伴わずに、迅速にデータを読み込むことができる拡張セキュアメモリカードについて説明する。
この拡張セキュアメモリカードでは、図１３に示すように、ＩＣ機能を実現するセキュア制御部３２１と、メモリカードコントローラの機能を実現するメモリカード制御部３１１とが耐タンパー性の１チップ３２０に形成されている。
【００５９】
端末アプリ１０とセキュア制御部３２１とは、相互認証を行い、セッション鍵を交換する（▲１▼）。端末アプリ１０は、セキュア制御部３２１に対して読み込み対象データのファイル名を指定する（▲２▼）。
セキュア制御部３２１は、読み込み対象データが格納されたセキュア領域５４へのアクセス権限と、セッション鍵と、ＴＲＭ固有鍵とを内部通信でメモリカード制御部３１１に与える（▲３▼）。メモリカード制御部３１１は、そのセキュア領域５４にアクセスして対象データを読み込み（▲４▼）、ＴＲＭ固有鍵で復号化してセッション鍵で暗号化する暗号変換を行い（▲５▼）、暗号変換した対象データを順次、端末アプリ１０に送る（▲６▼）。端末アプリ１０は、この対象データをセッション鍵で復号化する（▲７▼）。
【００６０】
このように、この拡張セキュアメモリカード５０では、メモリカード制御部３１１のストリーム処理により、複製を作らずに、暗号変換した読み込みデータを端末アプリ１０に送ることができる。そのため処理時間が大幅に短縮される。また、メモリカード制御部３１１の処理過程で電源断やリセットが発生しても、セキュア領域５４に格納された対象データには影響が及ばないため、データ消失の危険性は無い。
【００６１】
なお、データの読み込み処理については、拡張セキュアメモリカードを例に説明したが、セキュアメモリカードに対しても、同様の処理が可能である。
【００６２】
【発明の効果】
以上の説明から明らかなように、本発明のメモリデバイスは、セキュアな領域へのデータの書き込み／読み込みを効率的に行うことができ、大容量のデータであっても、短時間での書き込み／読み込み処理が可能である。
【図面の簡単な説明】
【図１】本発明の第１の実施形態におけるセキュアメモリカードの書き込み手順を示す図
【図２】本発明の第２の実施形態における拡張セキュアメモリカードの書き込み手順を示す図
【図３】本発明の第３の実施形態におけるセキュアメモリカードの書き込み手順を示す図
【図４】本発明の第４の実施形態における拡張セキュアメモリカードの書き込み手順を示す図
【図５】本発明の第５の実施形態におけるセキュアメモリカードの書き込み手順を示す図
【図６】本発明の第６の実施形態における拡張セキュアメモリカードの書き込み手順を示す図
【図７】本発明の第７の実施形態におけるセキュアメモリカードの書き込み手順を示す図
【図８】本発明の第７の実施形態におけるセキュアメモリカードの耐タンパー性チップの構成を示す図
【図９】本発明の第８の実施形態における拡張セキュアメモリカードの書き込み手順を示す図
【図１０】本発明の第８の実施形態における拡張セキュアメモリカードの他の書き込み手順を示す図
【図１１】本発明の第９の実施形態における拡張セキュアメモリカードの読み込み手順を示す図
【図１２】本発明の第１０の実施形態における拡張セキュアメモリカードの読み込み手順を示す図
【図１３】本発明の第１１の実施形態における拡張セキュアメモリカードの読み込み手順を示す図
【図１４】セキュアメモリカードの構成を示すブロック図
【図１５】セキュアメモリカードの構成と機能とを模式的に示す図
【図１６】拡張セキュアメモリカードの構成と機能とを模式的に示す図
【符号の説明】
１０  端末アプリ
２０  端末装置
３０  セキュアメモリカード
３１  メモリカードコントローラ
３２  ＴＲＭ
３３  大容量不揮発性メモリ
３４  セキュア領域
３５  非認証領域
５０  拡張セキュアメモリカード
５１  メモリカードコントローラ
５２  ＴＲＭ
５３  通常領域
５４  セキュア領域
３２０  耐タンパー性チップ
３２１  セキュア制御部
３２２  ＩＣカード機能ソフトウエア
３２３  内部ＣＰＵ
３２４  内部不揮発性メモリ
３４１  データ
３５１  データ
【図１】
2004295353.tif 000003
【図２】
2004295353.tif 000004
【図３】
2004295353.tif 000005
【図４】
2004295353.tif 000006
【図５】
2004295353.tif 000007
【図６】
2004295353.tif 000008
【図７】
2004295353.tif 000009
【図８】
2004295353.tif 000010
【図９】
2004295353.tif 000011
【図１０】
2004295353.tif 000012
【図１１】
2004295353.tif 000013
【図１２】
2004295353.tif 000014
【図１３】
2004295353.tif 000015
【図１４】
2004295353.tif 000016
【図１５】
2004295353.tif 000017
【図１６】
2004295353.tif 000018