JP2003030613A - 記憶装置及び記憶装置を備えたデータ処理装置 - Google Patents

記憶装置及び記憶装置を備えたデータ処理装置

Info

Publication number
JP2003030613A
JP2003030613A JP2001213036A JP2001213036A JP2003030613A JP 2003030613 A JP2003030613 A JP 2003030613A JP 2001213036 A JP2001213036 A JP 2001213036A JP 2001213036 A JP2001213036 A JP 2001213036A JP 2003030613 A JP2003030613 A JP 2003030613A
Authority
JP
Japan
Prior art keywords
card
terminal
chip
mmc
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001213036A
Other languages
English (en)
Inventor
Motoyasu Tsunoda
元泰 角田
Eiga Mizushima
永雅 水島
Kunihiro Katayama
国弘 片山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2001213036A priority Critical patent/JP2003030613A/ja
Publication of JP2003030613A publication Critical patent/JP2003030613A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)
  • Read Only Memory (AREA)

Abstract

(57)【要約】 【課題】本発明は、カード型記憶装置の使い勝手を向上
することを目的とする。 【解決手段】本発明は、カード型記憶装置3610にお
いて、複数のコントローラチップ(3620、363
0)を備え、各々のチップに対応したインターフェース
モードをサポートし、モードの切り替え及び判別をモー
ド選択信号3680によって行う手段とを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、セキュリティ機能
を有する記憶装置、その記憶装置が挿入可能なホスト機
器、及びその記憶装置が挿入されたホスト機器に係り、
特に、フラッシュメモリチップ及びコントローラを有す
るメモリカード、そのメモリカードが挿入可能な装置、
並びにそのメモリカードが挿入された端末装置に関す
る。
【0002】
【従来の技術】ICカードは、プラスチックカード基板
中にIC(集積回路)チップを埋め込んだものであり、
その表面にICチップの外部端子を持つ。ICチップの
外部端子には電源端子、クロック端子、データ入出力端
子などがある。ICチップは、接続装置が外部端子から
電源や駆動クロックを直接供給することによって動作す
る。ICカードは、外部端子を通して端末機などの接続
装置との間で電気信号を送受信することにより、接続装
置と情報交換をおこなう。情報交換の結果として、IC
カードは計算結果や記憶情報の送出、記憶情報の変更を
おこなう。ICカードは、これらの動作仕様に基づい
て、機密データ保護や個人認証などのセキュリティ処理
を実行する機能を持つことができる。ICカードは、ク
レジット決済やバンキングなど機密情報のセキュリティ
が必要とされるシステムにおいて、個人識別のためのユ
ーザデバイスとして利用されている。
【0003】
【発明が解決しようとする課題】セキュリティシステム
において利用されるICカードは、秘密情報を用いて演
算を行う際に、その秘密情報あるいはその秘密情報を推
定できるような情報をICカードの外部にもらさないよ
うに設計される必要がある。すなわち、耐タンパ性を持
つことが必要とされる。このようなICカードの外部に
もらしてはならない秘密情報を解析する攻撃方法として
は、タイミング解析、電力差分解析、故障利用解析など
が知られている。
【0004】タイミング解析は、暗号処理時間が秘密情
報の内容に依存して異なる場合、その時間差を統計的に
解析して秘密情報を推定する攻撃法である。暗号アルゴ
リズムを実装する際、処理時間の短縮やプログラムサイ
ズの縮小を目的として、秘密情報の内容に依存して不要
処理をスキップしたり分岐処理を行ったりするような最
適化を適用することがある。このような最適化を適用す
ると、暗号処理時間が秘密情報の内容に依存して異な
る。そのため処理時間を見ることで秘密情報の内容を推
定できる可能性がある。
【0005】電力差分解析は、暗号処理の実行中にIC
カードの電源端子から供給される電力を測定し、そこか
ら消費電力の差分を解析することにより秘密情報を推定
する攻撃法である。
【0006】故障利用解析は、ICカードの計算誤りを
利用した攻撃法である。ICカードに一過性の故障ある
いは他の機能に影響を与えない範囲の限定的な障害を与
え、ICカードに攻撃者の望む異常な処理を行わせる。
ICカードに高電圧を加えたり、瞬間的にクロック周波
数や駆動電圧を変動させることにより故意にエラーを発
生させた場合、その結果得られる誤った計算結果と正し
い計算結果から秘密情報が得られる可能性がある。
【0007】ICカードは、実用上、これらの攻撃法に
対する対策手段を持たなければならない。
【0008】本発明の目的は、セキュリティを向上した
記憶装置を提供することである。
【0009】また、ICカードはクレジットカードサイ
ズの形状のものが主流であるが、小型の携帯端末で用い
る場合は大きく使い勝手が悪い。本発明の他の目的は、
ICカードの使い勝手を向上した記憶装置を提供するこ
とにある。
【0010】
【課題を解決するための手段】上記課題を解決するた
め、本発明は、データを記憶するための記憶装置におい
て、ホストと通信するための外部端子と、少なくとも2
系統のホストインタフェースを制御する手段と、インタ
フェースを選択する手段と、該選択結果に基づき、選択
されたインタフェースを該外部端子に接続する手段とを
備える。
【0011】上記、少なくとも2系統のホストインタフ
ェースは、ホストインタフェースを制御する少なくとも
2系統のコントローラチップにより制御され、該選択さ
れたホストインタフェースを制御するコントローラチッ
プの外部入出力信号と該外部端子を接続する手段とを備
える。
【0012】又は、本発明は、ICカードに記憶された
データを用いて処理するデータ処理装置において、IC
カードを制御する手段と、該記憶装置を挿入するための
ソケットと、該ソケットと該制御手段との中間に配置さ
れ、インターフェースモードを検出する手段と、該検出
結果がICカードモードの場合において該ソケットと該
制御手段の信号線を接続する手段とを備える。
【0013】上記、該ソケットは、該記憶装置が挿入さ
れたことを検出する第1のスイッチと、第1のスイッチ
によって反応する第2のスイッチを具備し、第2のスイ
ッチによって該記憶装置におけるインターフェースモー
ドのサポート状態を検出する手段と、該検出結果に基づ
き、ICカードモードを判定する手段とを備える。
【0014】また、該記憶装置は、該第2のスイッチに
よって反応し、インターフェースモードを選択する第3
のスイッチを有し、該第3のスイッチの状態によりイン
タフェースを選択し、選択されたインタフェースを該外
部端子に接続する手段とを備える。
【0015】又は、本発明は、データを記憶するための
カード型記憶装置において、カード同一辺上の両端に誤
挿入防止のための第1の切り込みと第2の切り込みを具
備し、該第1の切り込みによって第1のインタフェース
を一義的に決定するための手段と、該第2の切り込みに
よって第2のインタフェースを一義的に決定するための
手段とを備える。また、該カード型記憶装置に記憶され
たデータを用いて処理するデータ処理装置において、第
4のスイッチを具備し、該記憶装置を挿入した場合にお
いて、該第4のスイッチにより、第1のインタフェース
または第2のインタフェースを選択する手段と、該選択
されたインタフェースに基づきデータを処理する手段と
を備える。
【0016】
【発明の実施の形態】図22は、本発明を適用したMu
ltiMediaCard(MultiMediaCa
rdはInfineonTechnologiesAG
の登録商標である。以下、「MMC」と略記する。)の
内部構成を簡単に表した図である。MMC110は、M
ultiMediaCard仕様に準拠するのが好まし
い。MMC110は、外部に接続したホスト機器220
がMultiMediaCard仕様に準拠したメモリ
カードコマンドを発行することによって、機密データ保
護や個人認証などに必要な暗号演算をおこなうセキュリ
ティ処理機能を持つ。ホスト機器220は、例えば、携
帯電話、携帯情報端末(PDA)、パーソナルコンピュ
ータ、音楽再生(及び録音)装置、カメラ、ビデオカメ
ラ、自動預金預払器、街角端末、決済端末等が該当す
る。
【0017】MMC110は、MMC外部端子140、
コントローラチップ120、フラッシュメモリチップ1
30、ICカードチップ150を持つ。フラッシュメモ
リチップ130は、不揮発性の半導体メモリを記憶媒体
とするメモリチップであり、フラッシュメモリコマンド
によりデータの読み書きができる。MMC外部端子14
0は7つの端子から構成され、外部のホスト機器220
と情報交換するために、電源供給端子、クロック入力端
子、コマンド入出力端子、データ入出力端子、グランド
端子を含む。コントローラチップ120は、MMC11
0内部の他の構成要素(MMC外部端子140、フラッ
シュメモリチップ130、ICカードチップ150)と
接続されており、これらを制御するマイコンチップであ
る。ICカードチップ150は、ICカードのプラスチ
ック基板中に埋め込むためのマイコンチップであり、そ
の外部端子、電気信号プロトコル、コマンドはISO/
IEC7816規格に準拠している。ICカードチップ
150の外部端子には、電源供給端子、クロック入力端
子、リセット入力端子、I/O入出力端子、グランド端
子がある。コントローラチップ120は、ICカードチ
ップ150の外部端子からICカードチップ150にI
Cカードコマンドを発行することによって、外部のホス
ト機器220から要求されたセキュリティ処理に必要な
演算をおこなう。
【0018】図26は、本発明のICカードチップの内
部構成を示す図である。ICカードチップ150は、演
算処理を行うためのCPU(マイコン)158と、デー
タ(プログラムを含む。)を記憶するためのROM(Re
ad Only Memory)159とRAM(Random Access Memo
ry)160とEEPROM(Electrically ErasablePro
grammable ROM)162と、暗号/復号に間する処理
を行うための暗号コプロセッサ163と、外部とデータ
を送受信するためのシリアルインターフェース161と
を備え、それらは、バス164によって接続される。そ
して、その暗号コプロセッサ163によって、ホスト機
器220からのコマンドに応じて、ICカードチップ1
50自らが、セキュリティ処理を実行することが可能で
ある。尚、暗号コプロセッサ163(ハードウェア)の
替わりに、プログラム(ソフトウェア)に従ってCPU
158がセキュリティ処理を実行してもよい。
【0019】一方、フラッシュメモリチップ130は、
記憶素子を備えるが、マイコンは存在しない。セキュリ
ティ処理は、例えば、ICカードチップ150内の記憶
領域にデータが書き込まれるとき、又は、ICカードチ
ップ150内の記憶領域からデータが読み出されるとき
に実行される。ICカードチップ150のEEPROM
の記憶容量は、フラッシュメモリチップ130の記憶容
量より小さい。但し、ICカードチップ150のEEP
ROMの記憶容量は、フラッシュメモリチップ130の
記憶容量と同じでもよいし、大きくてもよい。
【0020】ICカードチップ150には、セキュリテ
ィ評価基準の国際標準であるISO/IEC15408
の評価・認証機関によって認証済みである製品を利用す
る。一般に、セキュリティ処理をおこなう機能を持つI
Cカードを実際の電子決済サービスなどで利用する場
合、そのICカードはISO/IEC15408の評価
・認証機関による評価と認定を受ける必要がある。MM
Cにセキュリティ処理をおこなう機能を追加することに
よってMMC110を実現し、それを実際の電子決済サ
ービスなどで利用する場合、MMC110も同様にIS
O/IEC15408の評価・認証機関による評価と認
定を受ける必要がある。本発明によれば、MMC110
は、評価・認証機関によって認証済みのICカードチッ
プ150を内蔵し、そのICカードチップ150を利用
してセキュリティ処理をおこなう構造を持つことによ
り、セキュリティ処理機能を得る。したがって、MMC
110はISO/IEC15408に基づくセキュリテ
ィ評価基準を容易に満足することができ、MMCにセキ
ュリティ処理機能を追加するための開発期間を短縮する
ことができる。
【0021】MMC110は、MultiMediaC
ard仕様に準拠した外部インタフェースを持つのが好
ましい。MMC110は、一種類の外部インタフェース
を通じて、標準メモリカードコマンド(フラッシュメモ
リチップ130へアクセスするためのコマンド)に加え
て、セキュリティ処理を実行するコマンドを受け付ける
必要がある。コントローラチップ120は、MMC11
0が受信したコマンドが標準メモリカードコマンドであ
るか、セキュリティ処理を実行するコマンドであるかに
よって、アクセスすべきチップを選択し、コマンド処理
を分配する機能を持つ。本発明によれば、標準メモリカ
ードコマンドを受信したならば、フラッシュメモリチッ
プ130を選択し、これにフラッシュメモリコマンドを
発行してホストデータを読み書きできる。また、セキュ
リティ処理を実行するコマンドを受信したならば、IC
カードチップ150を選択し、これにICカードコマン
ドを発行してセキュリティ処理を実行することができ
る。
【0022】ICカードチップ150の外部端子は、グ
ランド端子を除いて、電源供給端子、クロック入力端
子、リセット入力端子、I/O入出力端子がコントロー
ラチップ120に接続されている。
【0023】コントローラチップ120は、電源供給端
子、クロック入力端子を通して、ICカードチップ15
0への電源供給、クロック供給を制御する。本発明によ
れば、ホスト機器220からセキュリティ処理を要求さ
れないときには、ICカードチップ150への電源供給
やクロック供給を停止させることができ、MMC110
の電力消費を削減することができる。電源供給されてい
ないICカードチップ150を、ICカードコマンドを
受信できる状態にするには、まず、ICカードチップ1
50に電源供給を開始し、リセット処理を施すことが必
要である。コントローラチップ120は、MMC110
がホスト機器220からセキュリティ処理を実行するコ
マンドを受信したのを契機に、電源供給端子を通してI
Cカードチップ150への電源供給を開始する機能を持
つ。また、コントローラチップ120は、MMC110
がホスト機器220からセキュリティ処理を実行するコ
マンドを受信したのを契機に、リセット入力端子を通し
てICカードチップ150のリセット処理をおこなう機
能を持つ。本発明によれば、コントローラチップ120
は、セキュリティ処理を実行するコマンドを受信するま
でICカードチップ150への電源供給を停止させてお
くことができる。したがって、MMC110の電力消費
を削減することができる。
【0024】コントローラチップ120は、ICカード
チップ150のクロック入力端子を通してICカードチ
ップ150に供給するクロック信号をMMC110内部
で発生し、その周波数、供給開始タイミング、供給停止
タイミングを制御する機能を持つ。本発明によれば、M
MC外部端子140のクロック入力端子のクロック信号
と無関係にすることができるため、ホスト機器220に
よるタイミング解析、電力差分解析、故障利用解析と呼
ばれる攻撃法に対してセキュリティが向上する。
【0025】図21は、フラッシュメモリチップ130
の詳細な内部構成を表した図である。フラッシュメモリ
チップ130は、ホストデータ領域2115と管理領域
2110とを含む。ホストデータ領域2115は、セク
タ単位に論理アドレスがマッピングされている領域であ
り、ホスト機器220が論理アドレスを指定してデータ
を読み書きできる領域である。ホストデータ領域211
5は、ユーザファイル領域2130とセキュリティ処理
アプリケーション領域2120とを含む。ユーザファイ
ル領域2130は、ユーザが自由にファイルデータを読
み書きできる領域である。セキュリティ処理アプリケー
ション領域2120は、ホスト機器220がセキュリテ
ィ処理アプリケーションに必要なデータを格納する領域
であり、ユーザが不正にアクセスしないように、ホスト
機器220のセキュリティ処理アプリケーションが論理
的にユーザアクセス制限をかける。ここに格納するデー
タとしては、ホスト機器220のアプリケーションプロ
グラム、そのアプリケーション専用のデータ、セキュリ
ティ処理に使用される証明書など(例えば、電子決済ア
プリケーションプログラム、電子決済ログ情報、電子決
済サービス証明書など)が可能である。本発明によれ
ば、MMC110が、ホスト機器220がセキュリティ
処理をおこなう上で使用するデータをホスト機器220
の代わりに格納するため、ホスト機器220にとって利
便性が向上する。
【0026】一方、管理領域2110は、コントローラ
チップ120がICカードチップ150を管理するため
の情報を格納する領域である。管理領域2110は、I
Cカード制御パラメータ領域2111、ICカード環境
設定情報領域2112、CLK2設定情報領域211
3、セキュリティ処理バッファ領域2114、セキュリ
ティ処理ステータス領域2116とを含む。2111〜
2116の領域の詳細な使用法については後述する。
【0027】コントローラチップ120は、フラッシュ
メモリチップ130の管理領域2110のセキュリティ
処理バッファ領域2114を、ICカードチップ150
でセキュリティ処理を実行する際のメインメモリまたは
バッファメモリとして利用する。ホスト機器220がセ
キュリティ処理を実行するコマンドによりMMC110
にアクセスした際に、MMC110がホスト機器220
からICカードチップ150に一度に送信できないほど
の大きなサイズのセキュリティ関連データを受信したな
らば、コントローラチップ120はフラッシュメモリチ
ップ130へのアクセスを選択し、そのデータを十分な
容量を持つセキュリティ処理バッファ領域2114に一
時的に格納する。ICカードチップ150に一度に送信
できないほどのサイズは、ICカードコマンドの許容デ
ータサイズ(例えば、255バイト又は256バイト)
を超えるサイズである。そして、コントローラチップ1
20はそれをICカードチップ150に送信できるサイ
ズのデータに分割し、分割データをフラッシュメモリチ
ップ130から読み出し、段階的にICカードチップ1
50に送信する。つまり、分割されたデータの読み出
し、書き込みを繰り返す。本発明によれば、ホスト機器
220にとって、大きなサイズのセキュリティ関連デー
タを扱うことができるので、セキュリティ処理の利便性
が向上する。
【0028】セキュリティ処理バッファ領域2114を
含む管理領域2110は、ホスト機器220が不正にア
クセスしてセキュリティ処理を解析することができない
ように、コントローラチップ120により物理的にホス
トアクセス制限がかけられている。つまり、管理領域2
110はホスト機器220が直接データを読み書きでき
ない。本発明によれば、ホスト機器220がセキュリテ
ィ処理バッファ領域2114の内容を自由に読み出した
り改ざんすることができないため、セキュリティ処理の
信頼性や安全性が向上する。
【0029】図23は、MMC110を利用したセキュ
リティ処理の一例として、コンテンツ配信のセキュリテ
ィ処理を表したものである。コンテンツプロバイダ23
10は、MMC110を所有するユーザにコンテンツ2
314を販売する業者である。ホスト機器220は、こ
の例では、コンテンツプロバイダ2310とネットワー
クなどを介して接続することができる端末機である。ユ
ーザはMMC110をホスト機器220に接続してコン
テンツ2314を購入する。以下、その手順を説明す
る。
【0030】まず、ホスト機器220はMMC110
に、フラッシュメモリチップ130に格納されたユーザ
証明書2321を読み出すコマンドを発行する。MMC
110のコントローラチップ120は、フラッシュメモ
リチップ130のセキュリティ処理アプリケーション領
域2120に格納されたユーザ証明書2321を読み出
し、それをホスト機器220に送信する。そして、ホス
ト機器220はそれをコンテンツプロバイダ2310に
送信する。コンテンツプロバイダ2310はユーザ証明
書2321につけられたデジタル署名を検証する(23
11)。検証が成功したならば、乱数発生器によりセッ
ション鍵を生成し(2312)、それをユーザ証明書2
321から抽出したユーザ公開鍵によって暗号化する
(2313)。さらに、コンテンツ2314をそのセッ
ション鍵によって暗号化する(2315)。
【0031】コンテンツプロバイダ2310はステップ
2313の結果をホスト機器220に送信する。ホスト
機器220は、ステップ2313の結果をユーザ秘密鍵
2322によって復号するセキュリティ処理を要求する
コマンドを、MMC110に発行する。コントローラチ
ップ120は、ステップ2313の結果をユーザ秘密鍵
2322によって復号するICカードコマンドを、IC
カードチップ150に発行する。ICカードチップ15
0は、ユーザ秘密鍵2322によってステップ2313
の結果を復号して、セッション鍵を取得する(232
3)。ホスト機器220は、この復号処理が成功したか
を示す情報を出力させるコマンドをMMC110に発行
する。コントローラチップ120は、ICカードチップ
150の出力する復号結果(復号処理が成功したかを示
すICカードレスポンス)をもとにしてホスト機器22
0の求める情報を構築する。そして、MMC110はそ
の情報をホスト機器220に送信する。
【0032】次に、コンテンツプロバイダ2310は、
ステップ2315の結果を、ホスト機器220に送信す
る。ホスト機器220は、ステップ2313の結果をセ
ッション鍵(ステップ2323によって取得した鍵)に
よって復号するセキュリティ処理を要求するコマンド
を、MMC110に発行する。コントローラチップ12
0は、ステップ2315の結果をセッション鍵によって
復号するICカードコマンドを、ICカードチップ15
0に発行する。ICカードチップ150は、セッション
鍵によってステップ2315の結果を復号して、コンテ
ンツ2314を復元する(2324)。コントローラチ
ップ120は、このコンテンツ2314をICカードチ
ップ150から受信し、フラッシュメモリチップ130
に書きこむ。ホスト機器220は、この復号処理が成功
したかを示す情報を出力させるコマンドをMMC110
に発行する。コントローラチップ120は、ICカード
チップ150の出力する復号結果(復号処理が成功した
かを示すICカードレスポンス)をもとにしてホスト機
器220の求める情報を構築する。そして、MMC11
0はその情報をホスト機器220に送信する。ホスト機
器220が、コンテンツを無事に受信したことをコンテ
ンツプロバイダ2310に伝えると、コンテンツプロバ
イダ2310はユーザ証明書に記載されたユーザにコン
テンツ料金を課金する。
【0033】ユーザは、ホスト機器220でMMC11
0内のフラッシュメモリチップ130に格納されたコン
テンツ2314を読み出して利用することができる。ま
た、フラッシュメモリチップ130の記憶媒体に大容量
のフラッシュメモリを使用すれば、多くのコンテンツを
購入できる。本発明によれば、コンテンツ配信における
セキュリティ処理とコンテンツ蓄積の両方をMMC11
0によって容易に実現できる。コンテンツ料金の決済
を、ICカードチップ150を利用して行ってもよい。
【0034】図24と図25は、それぞれ、本発明をS
Dカード(幅24ミリメートル、長さ32ミリメート
ル、厚さ2。1ミリメートルで、9つの外部端子をも
ち、フラッシュメモリを搭載した小型メモリカードであ
る。)とメモリースティック(メモリースティックはソ
ニー株式会社の登録商標である。)に適用したときの簡
単な内部構成図を表したものである。本発明を適用した
SDカード2410は、SDカードコントローラチップ
2420、フラッシュメモリチップ2430、SDカー
ド外部端子2440、ICカードチップ150とを含
む。本発明を適用したメモリースティック2510は、
メモリースティックコントローラチップ2520、フラ
ッシュメモリチップ2530、メモリースティック外部
端子2540、ICカードチップ150とを含む。フラ
ッシュメモリチップ2430と2530は、不揮発性の
半導体メモリを記憶媒体とするメモリチップであり、フ
ラッシュメモリコマンドによりデータの読み書きができ
る。SDカードコントローラチップ2420とメモリー
スティックコントローラチップ2520はそれぞれSD
カードとメモリースティック内の他の構成要素を制御す
るマイコンチップである。
【0035】SDカード外部端子2440は9つの端子
からなり、それらの位置は、端からData2端子24
41、Data3端子2442、Com端子2443、
Vss端子2444、Vdd端子2445、Clock
端子2446、Vss端子2447、Data0端子2
448、Data1端子2449の順で並んでいる。V
dd端子2445は電源供給端子、Vss端子2444
と2447はグランド端子、Data0端子2448と
Data1端子2449とData2端子2441とD
ata3端子2442はデータ入出力端子、Com端子
2443はコマンド入出力端子、Clock端子244
6はクロック入力端子である。SDカード2410は、
外部に接続するSDカードホスト機器2460とのイン
タフェース仕様にMMC110と違いがあるものの、M
MC外部端子140と非常に類似した外部端子を持ち、
MMC110と同様に外部からコマンドを発行すること
により動作する特徴を持つため、本発明を適用すること
ができる。
【0036】一方、メモリースティック外部端子254
0は10個の端子からなり、それらの位置は、端からG
nd端子2541、BS端子2542、Vcc端子25
43、予約端子Rsvを1つ飛ばしてDIO端子254
4、INS端子2545、予約端子Rsvを1つ飛ばし
てSCK端子2546、Vcc端子2547、Gnd端
子2548の順で並んでいる。Vcc端子2543と2
547は電源供給端子、Gnd端子2541と2548
はグランド端子、DIO端子2544はコマンドおよび
データ入出力端子、SCK端子2546はクロック入力
端子である。メモリースティック2510は、外部に接
続するメモリースティックホスト機器2560とのイン
タフェース仕様にMMC110と違いがあるものの、M
MC110と同様に外部からコマンドを発行することに
より動作する特徴を持つため、本発明を適用することが
できる。
【0037】図1は、本発明を適用したMMCの詳細な
内部構成図を表したものである。また、図2は、図1の
MMC110と接続したホスト機器220の構成とその
接続状態を表したものである。ホスト機器220は、V
CC1電源221、CLK1発振器222、ホストイン
タフェース223を持つ。
【0038】MMC110は、外部のホスト機器220
と情報交換するためのMMC外部端子140を持つ。M
MC外部端子140は、CS端子141、CMD端子1
42、GND1端子143および146、VCC1端子
144、CLK1端子145、DAT端子147の7つ
の端子とを含む。MultiMediaCard仕様
は、MMCの動作モードとしてMMCモードとSPIモ
ードという2種類を規定しており、動作モードによって
MMC外部端子140の使用法は異なる。本実施例では
MMCモードでの動作の場合について詳細に説明する。
【0039】VCC1端子144は、VCC1電源22
1と接続されており、ホスト機器220がMMC110
に電力を供給するための電源端子である。GND1端子
143および146は、VCC1電源221と接続され
ており、MMC110の電気的なグランド端子である。
GND1端子143とGND1端子146は、MMC1
10内部で電気的に短絡されている。CS端子141
は、ホストインタフェース223に接続されており、S
PIモードの動作において使用される入力端子である。
ホスト機器220が、MMC110にSPIモードでア
クセスするときには、CS端子141にLレベルを入力
する。MMCモードの動作では、CS端子141を使用
する必要はない。CMD端子142は、ホストインタフ
ェース223に接続されており、ホスト機器220が、
メモリカードインタフェース仕様に準拠したメモリカー
ドコマンドをMMC110に送信したり、同仕様に準拠
したメモリカードレスポンスをMMC110から受信す
るために使用する入出力端子である。
【0040】DAT端子147は、ホストインタフェー
ス223に接続されており、ホスト機器220が、メモ
リカードインタフェース仕様に準拠した形式の入力デー
タをMMC110に送信したり、同仕様に準拠した形式
の出力データをMMC110から受信するために使用す
る入出力端子である。CLK1端子145は、CLK1
発振器222に接続されており、CLK1発振器222
が生成するクロック信号が入力される端子である。ホス
ト機器220が、CMD端子142を通してメモリカー
ドコマンド、メモリカードレスポンスを送受信したり、
DAT端子147を通してホストデータを送受信すると
きに、CLK1端子145にクロック信号が入力され
る。ホストインタフェース223には、CLK1発振器
222からクロック信号が供給されており、メモリカー
ドコマンド、メモリカードレスポンス、ホストデータ
は、CLK1発振器222が生成するクロック信号にビ
ット単位で同期して、ホスト機器220とMMC110
との間を転送される。
【0041】MMC110は、コントローラチップ12
0を持つ。コントローラチップ120は、CPU12
1、フラッシュメモリI/F制御回路122、MMCI
/F制御回路123、CLK0発振器124、VCC2
生成器125、VCC2制御回路126、CLK2制御
回路127、ICカードI/F制御回路128とを含
む。これらの構成要素121〜128は、ホスト機器2
20からVCC1端子144やGND1端子143、1
46を通して供給された電力により動作する。MMCI
/F制御回路123は、CS端子141、CMD端子1
42、CLK1端子145、DAT端子147と接続さ
れており、MMC110がそれらの端子を通してホスト
機器220と情報交換するためのインタフェースを制御
する論理回路である。CPU121は、MMCI/F制
御回路123と接続されており、MMCI/F制御回路
123を制御する。
【0042】MMCI/F制御回路123がCMD端子
142を通してホスト機器220からメモリカードコマ
ンドを受信すると、MMCI/F制御回路123はその
コマンドの受信が成功したかどうかの結果をホスト機器
220に伝えるためCMD端子142を通してホスト機
器220にレスポンスを送信する。CPU121は、受
信したメモリカードコマンドを解釈し、コマンド内容に
応じた処理を実行する。また、そのコマンド内容に応じ
てホスト機器220とDAT端子147を通してデータ
の送受信をおこなう必要がある場合、CPU121は、
MMCI/F制御回路123へのデータの送出、MMC
I/F制御回路123からのデータの取得をおこなう。
さらに、CPU121は、MMCI/F制御回路123
とホスト機器220との間のデータ転送手続きも制御す
る。例えば、ホスト機器220から受信したデータの処
理中に、ホスト機器220がMMC110への電源供給
を停止することがないように、CPU121はDAT端
子147にLレベルを出力させ、MMC110がビジー
状態であることをホスト機器220に伝える。CLK0
発振器124は、CPU121と接続され、CPU12
1を動作させる駆動クロックを供給する。
【0043】MMC110は、フラッシュメモリチップ
130を持つ。フラッシュメモリチップ130は、不揮
発性の半導体メモリを記憶媒体とするメモリチップであ
る。フラッシュメモリチップ130は、ホスト機器22
0からVCC1端子144やGND1端子143、14
6を通して供給された電力により動作する。フラッシュ
メモリチップ130は、外部からのフラッシュメモリコ
マンドに従って、入力されたデータを不揮発性の半導体
メモリに格納するライト機能、また同メモリに格納され
たデータを外部に出力するリード機能を持つ。フラッシ
ュメモリI/F制御回路122は、フラッシュメモリチ
ップ130にフラッシュメモリコマンドを発行したり、
そのコマンドで入出力するデータを転送するための論理
回路である。CPU121は、フラッシュメモリI/F
制御回路122を制御し、フラッシュメモリチップ13
0にデータのライト機能やリード機能を実行させる。ホ
スト機器220から受信したデータをフラッシュメモリ
チップ130にライトしたり、フラッシュメモリチップ
130に格納されたデータをホスト機器220に送信す
る必要があるとき、CPU121は、フラッシュメモリ
I/F制御回路122とMMCI/F制御回路123の
間のデータ転送を制御する。
【0044】MMC110は、ICカードチップ150
を持つ。ICカードチップ150は、ICカードの基板
中に埋め込むことを目的として設計されたICチップで
あり、ICカードの外部端子規格に準拠した8つの外部
端子を持つ。このうち6つの端子は、ICカードの外部
端子規格により使用法が割り付けられており、残りの2
つは将来のための予備端子である。その6つの端子は、
VCC2端子151、RST端子152、CLK2端子
153、GND2端子155、VPP端子156、I/
O端子157である。
【0045】ICカードチップ150のグランド端子
は、MMC外部端子140のGRN1(グランド端子)
146に接続される。ICカードチップ150のVCC
2端子(電源入力端子)151は、コントローラチップ
120のVCC2制御回路126に接続される。ICカ
ードチップ150のRST端子(リセット入力端子)1
52とI/O端子(データ入出力端子)157は、コン
トローラチップ120のICカードI/F制御回路12
8に接続される。ICカードチップ150のCLK2端
子(クロック入力端子)153は、コントローラチップ
120のCLK2制御回路127に接続される。
【0046】フラッシュメモリチップ130のVCC端
子(電源入力端子)は、MMC外部端子140のVCC
1144に接続される。フラッシュメモリチップ130
のVSS端子(グランド端子)は、MMC外部端子14
0のGRD1146に接続される。フラッシュメモリチ
ップ130のI/O端子(データ入出力端子)とレディ
/ビジー端子とチップイネーブル端子とアウトプットイ
ネーブル端子とライトイネーブル端子とクロック端子と
リセット端子とは、コントローラチップ120のフラッ
シュメモリIF制御回路122に接続される。
【0047】VCC2端子151は、ICカードチップ
150に電力を供給するための電源端子である。VCC
2制御回路126は、MOS−FET素子を用いたスイ
ッチ回路によりVCC2端子151への電力の供給開始
と供給停止を制御する回路である。VCC2生成器12
5はVCC2端子151に供給する電圧を発生し、それ
をVCC2制御回路126に供給する。ICカードの電
気信号規格はICカードの動作クラスとしてクラスAと
クラスBを規定している。VCC2端子151に供給す
る標準電圧は、クラスAでは5V、クラスBでは3Vで
ある。本発明はICカードチップ150の動作クラスに
よらず適用できるが、本実施例ではICカードチップ1
50がクラスBで動作する場合について詳細に説明す
る。VPP端子156は、ICカードチップ150がク
ラスAで動作する時に、内部の不揮発性メモリにデータ
を書き込んだり消去したりするために使用される可変電
圧を供給する端子であり、クラスBで動作する時には使
用しない。GND2端子155は、ICカードチップ1
50の電気的なグランド端子であり、GND1端子14
3、146と短絡されている。VCC2制御回路126
はCPU121と接続され、CPU121はVCC2端
子151への電力供給の開始と停止を制御することがで
きる。ICカードチップ150を使用しないときは、C
PU121はVCC2端子151への電力供給を停止す
ることができる。MMC110は、ICカードチップ1
50への電力供給を停止することにより、それが消費す
る電力を節約することができる。ただし、電力供給を停
止すると、ICカードチップ150の内部状態は、IC
カードチップ150内部の不揮発性メモリに記憶された
データを除いて維持されない。
【0048】CLK2端子153は、ICカードチップ
150にクロック信号を入力する端子である。CLK2
制御回路127は、CLK2端子153にクロックを供
給する回路である。CLK2制御回路127は、CLK
0発振器124から供給されたクロック信号をもとにし
てCLK2端子153に供給するクロック信号を生成す
る。CLK2制御回路127はCPU121と接続され
ており、CLK2端子153へのクロックの供給開始と
供給停止をCPU121から制御することができる。I
Cカードチップ150は、自身内部に駆動クロック発振
器をもたない。そのため、CLK2端子153から駆動
クロックを供給することによって動作する。CLK2制
御回路127が、CLK2端子153へのクロック供給
を停止すると、ICカードチップ150の動作は停止す
るため、ICカードチップ150の消費電力を低下させ
ることができる。この時、VCC2端子151への電力
供給が保たれていれば、ICカードチップ150の内部
状態は維持される。ここで、CLK2端子153に供給
するクロック信号の周波数をF2、CLK0発振器12
4から供給されたクロック信号の周波数をF0、PとQ
を正の整数とすると、CLK2制御回路127は、F2
=(P/Q)*F0の関係になるようなクロック信号を
作成して、これをCLK2端子153に供給する。Pと
Qの値はCPU121により設定できるようになってい
る。Pを大きく設定してF2を大きくすると、ICカー
ドチップ150の内部処理をより高速に駆動できる。Q
を大きく設定してF2を小さくすると、ICカードチッ
プ150の内部処理はより低速に駆動され、ICカード
チップ150の消費電力を低下させることができる。I
Cカードチップ150の駆動クロック周波数は、ICカ
ードチップ150が正しく動作できるような許容周波数
範囲内に設定される必要がある。そのため、CLK2制
御回路127は、F2の値がその許容周波数範囲を外れ
るようなPとQの値を設定させない特徴を持つ。
【0049】I/O端子157は、ICカードチップ1
50にICカードコマンドを入力したり、ICカードチ
ップ150がICカードレスポンスを出力するときに使
用する入出力端子である。ICカードI/F制御回路1
28は、I/O端子157と接続されており、I/O端
子157を通してICカードコマンドの信号送信やIC
カードレスポンスの信号受信をおこなう回路である。I
CカードI/F制御回路128はCPU121に接続さ
れており、CPU121は、ICカードI/F制御回路
128によるICカードコマンドやICカードレスポン
スの送受信の手続きを制御したり、送信すべきICカー
ドコマンドデータをICカードI/F制御回路128に
設定したり、受信したICカードレスポンスをICカー
ドI/F制御回路128から取得する。ICカードI/
F制御回路128にはCLK2制御回路127からクロ
ックが供給されており、ICカードコマンドやICカー
ドレスポンスは、CLK2端子153に供給するクロッ
ク信号にビット単位で同期して、I/O端子157を通
して送受信される。また、RST端子152は、ICカ
ードチップ150をリセットするときにリセット信号を
入力する端子である。ICカードI/F制御回路128
は、RST端子152と接続されており、CPU121
の指示によりICカードチップ150にリセット信号を
送ることができる。
【0050】ICカードチップ150は、ICカードの
電気信号規格やコマンド規格に基づいて情報交換をおこ
なう。ICカードチップ150へのアクセスパターンは
4種類であり、図3〜図6を用いて各パターンを説明す
る。図3は、CPU121の指示によりICカードチッ
プ150が非活性状態(電源が遮断されている状態)か
ら起動して内部状態を初期化するプロセス(以下、コー
ルドリセットと呼ぶ)において、ICカードチップ15
0の外部端子の信号波形をシンプルに表したものであ
る。図4は、CPU121の指示によりICカードチッ
プ150が活性状態(電源が供給されている状態)で内
部状態を初期化するプロセス(以下、ウォームリセット
と呼ぶ)において、ICカードチップ150の外部端子
の信号波形をシンプルに表したものである。図5は、C
PU121の指示によりICカードチップ150にIC
カードコマンドを送信しICカードチップ150からI
Cカードレスポンスを受信するプロセスにおいて、IC
カードチップ150の外部端子の信号波形をシンプルに
表したものである。図6は、CPU121の指示により
ICカードチップ150を非活性状態にするプロセスに
おいて、ICカードチップ150の外部端子の信号波形
をシンプルに表したものである。図3〜図6において、
時間の方向は左から右にとっており、上の行から下の行
に向かってVCC2端子151、RST端子152、C
LK2端子153、I/O端子157で観測される信号
を表す。また、破線はそれぞれの信号の基準(Lレベ
ル)を表す。
【0051】図3を参照して、ICカードチップ150
のコールドリセット操作を説明する。まず、ICカード
I/F制御回路128はRST端子152をLレベルに
する(301)。次に、VCC2制御回路126はVC
C2端子への電源供給を開始する(302)。次に、C
LK2制御回路127はCLK2端子153へのクロッ
ク信号の供給を開始する(303)。次に、ICカード
I/F制御回路128はI/O端子157を状態Z(プ
ルアップされた状態)にする(304)。次に、ICカ
ードI/F制御回路128はRST端子152をHレベ
ルにする(305)。次に、ICカードI/F制御回路
128はI/O端子157から出力されるリセット応答
の受信を開始する(306)。リセット応答の受信が終
了したら、CLK2制御回路127はCLK2端子15
3へのクロック信号の供給を停止する(307)。これ
で、コールドリセットの操作が完了する。なお、ステッ
プ307は消費電力を低下させるための工夫であり、省
略してもよい。
【0052】図4を参照して、ICカードチップ150
のウォームリセット操作を説明する。まず、CLK2制
御回路127はCLK2端子153へのクロック信号の
供給を開始する(401)。次に、ICカードI/F制
御回路128はRST端子152をLレベルにする(4
02)。次に、ICカードI/F制御回路128はI/
O端子157を状態Zにする(403)。次に、ICカ
ードI/F制御回路128はRST端子152をHレベ
ルにする(404)。次に、ICカードI/F制御回路
128はI/O端子157から出力されるリセット応答
の受信を開始する(405)。リセット応答の受信が終
了したら、CLK2制御回路127はCLK2端子15
3へのクロック信号の供給を停止する(406)。これ
で、ウォームリセットの操作が完了する。なお、ステッ
プ406は消費電力を低下させるための工夫であり、省
略してもよい。
【0053】図5を参照して、ICカードチップ150
にICカードコマンドを送信しICカードチップ150
からICカードレスポンスを受信する操作を説明する。
まず、CLK2制御回路127はCLK2端子153へ
のクロック信号の供給を開始する(501)。なお、ク
ロックがすでに供給されている場合、ステップ501は
不要である。次に、ICカードI/F制御回路128は
I/O端子157にコマンドデータの送信を開始する
(502)。コマンドデータの送信が終了したら、IC
カードI/F制御回路128はI/O端子157を状態
Zにする(503)。次に、ICカードI/F制御回路
128はI/O端子157から出力されるレスポンスデ
ータの受信を開始する(504)。レスポンスデータの
受信が終了したら、CLK2制御回路127はCLK2
端子153へのクロック信号の供給を停止する(50
5)。これで、ICカードコマンド送信とICカードレ
スポンス受信の操作が完了する。なお、ステップ505
は、消費電力を低下させるための工夫であり、省略して
もよい。
【0054】図6を参照して、ICカードチップ150
を非活性化する操作を説明する。まず、CLK2制御回
路127はCLK2端子153をLレベルにする(60
1)。次に、ICカードI/F制御回路128はRST
端子152をLレベルにする(602)。次に、ICカ
ードI/F制御回路128はI/O端子157をLレベ
ルにする(603)。最後に、VCC2制御回路126
はVCC2端子への電源供給を停止する(604)。こ
れで、非活性化の操作が完了する。
【0055】ICカードチップ150は、機密データ保
護や個人認証などに必要な暗号演算をおこなうセキュリ
ティ処理機能を持つ。ICカードチップ150は、CP
U121との間でICカードコマンドやICカードレス
ポンスの送受信することにより情報交換をおこない、そ
の結果として、計算の結果や記憶されている情報の送
出、記憶されている情報の変更などをおこなう。CPU
121は、ICカードチップ150を利用してセキュリ
ティ処理を実行することができる。MMC110がホス
ト機器220から特定のメモリカードコマンドを受信す
ると、CPU121はそれを契機として、VCC2制御
回路126を通してICカードチップ150への電源供
給を制御したり、またはCLK2制御回路127を通し
てICカードチップ150へのクロック供給を制御した
り、またはICカードI/F制御回路128を通してI
Cカードチップ150にICカードコマンドを送信す
る。これにより、CPU121は、ICカードチップ1
50を利用して、ホスト機器220が要求するセキュリ
ティ処理を実行する。CPU121は、特定のメモリカ
ードコマンドの受信を契機に、ICカードチップ150
に対する電源供給制御、クロック供給制御、ICカード
コマンド送信、ICカードレスポンス受信を複数組み合
わせて操作することによって、セキュリティ処理を実行
してもよい。また、CPU121は、ホスト機器220
がMMC110へ電源供給を開始したのを契機として、
セキュリティ処理を実行してもよい。セキュリティ処理
の結果は、ICカードチップ150が出力するICカー
ドレスポンスをベースにして構成され、MMC110内
に保持される。MMC110がホスト機器220から特
定のメモリカードコマンドを受信すると、CPU121
はそれを契機として、セキュリティ処理の結果をホスト
機器220に送信する。
【0056】図7は、ホスト機器220がMMC110
にアクセスするときのフローチャートを表したものであ
る。まず、ホスト機器220はMMC110を活性化す
るためにVCC1端子144に電源供給を開始する(7
01)。これを契機として、MMC110は、第1次I
Cカード初期化処理を実行する(702)。第1次IC
カード初期化処理の詳細は後述する。次に、ホスト機器
220はMMC110を初期化するためにCMD端子1
42を通してMMC110の初期化コマンドを送信する
(703)。この初期化コマンドはMultiMedi
aCard仕様に準拠したものであり、複数種類ある。
ホスト機器220は、MMC110を初期化するため
に、複数の初期化コマンドを送信する場合がある。MM
C110が初期化コマンドを受信すると、MMC110
はそれを処理する(704)。これを契機として、MM
C110は、第2次ICカード初期化処理を実行する
(705)。第2次ICカード初期化処理の詳細は後述
する。ホスト機器220は、MMC110の初期化コマ
ンドに対するメモリカードレスポンスを、CMD端子1
42を通して受信し、そのメモリカードレスポンスの内
容からMMC110の初期化が完了したかを判定する。
未完了ならば、再び初期化コマンドの送信をおこなう
(703)。MMC110の初期化が完了したならば、
ホスト機器220は、MultiMediaCard仕
様に準拠した標準メモリカードコマンド(フラッシュメ
モリチップ130へアクセスするためのコマンド)や、
上に述べたセキュリティ処理に関連した特定のメモリカ
ードコマンド(ICカードチップ150へアクセスする
ためのコマンド)の送信を待機する状態に移る(70
7)。この待機状態では、ホスト機器220は標準メモ
リカードコマンドを送信することができる(708)。
MMC110が標準メモリカードコマンドを受信した
ら、MMC110はそれを処理する(709)。処理が
完了したら、ホスト機器220は、再び待機状態にもど
る(707)。
【0057】この待機状態では、ホスト機器220はセ
キュリティ処理要求ライトコマンドを送信することもで
きる(710)。セキュリティ処理要求ライトコマンド
とは、上に述べたセキュリティ処理に関連した特定のメ
モリカードコマンドの1種であり、MMC110にセキ
ュリティ処理を実行させるために処理要求を送信するメ
モリカードコマンドである。MMC110がセキュリテ
ィ処理要求ライトコマンドを受信したら、CPU121
は、要求されたセキュリティ処理の内容を解釈し、セキ
ュリティ処理をICカードコマンドの形式で記述する
(711)。即ち、CPU121は、予め定められたル
ールに従って、ホスト機器230からの標準メモリカー
ドコマンドを、ICカードチップ150が解釈可能な特
定のメモリカードコマンドへ変換する。そして、その結
果として得られたICカードコマンドをICカードチッ
プ150に発行するなどして、要求されたセキュリティ
処理を実行する(712)。処理が完了したら、ホスト
機器220は、再び待機状態にもどる(707)。この
待機状態では、ホスト機器220はセキュリティ処理結
果リードコマンドを送信することもできる(713)。
セキュリティ処理結果リードコマンドとは、上に述べた
セキュリティ処理に関連した特定のメモリカードコマン
ドの1種であり、MMC110によるセキュリティ処理
の実行結果を知るために処理結果を受信するメモリカー
ドコマンドである。MMC110がセキュリティ処理結
果リードコマンドを受信したら、CPU121は、IC
カードチップ150から受信したICカードレスポンス
をベースに、ホスト機器220に送信すべきセキュリテ
ィ処理結果を構築する(714)。そして、ホスト機器
220は、MMC110からセキュリティ処理結果を受
信する。受信が完了したら、ホスト機器220は、再び
待機状態にもどる(707)。なお、ステップ714
は、ステップ712の中でおこなってもよい。
【0058】図7において、ステップ702およびステ
ップ705で実行する第1次ICカード初期化処理およ
び第2次ICカード初期化処理は、MMC110内でセ
キュリティ処理を実行するのに備えて、CPU121が
ICカードチップ150に対してアクセスする処理であ
る。具体的には、ICカードチップ150の活性化や非
活性化、ICカードチップ150のリセット、ICカー
ドチップ150の環境設定を行う。環境設定とは、セキ
ュリティ処理を実行するために必要な情報(例えば、使
用可能な暗号アルゴリズムの情報、暗号計算に使用する
秘密鍵や公開鍵に関する情報、個人認証に使用する認証
データに関する情報など)をICカードチップ150か
ら読み出したり、あるいはICカードチップ150に書
き込んだりすることを意味する。ICカードチップ15
0の環境設定は、ICカードチップ150にICカード
コマンドをN個(Nは正の整数)発行することによって
おこなう。例えば、セッション鍵が3個必要ならば、I
Cカードコマンドを3回発行し、セッション鍵が2個必
要ならば、ICカードコマンドを2回発行する。N個の
ICカードコマンドは、互いに相違するものであっても
よいし、同一のものであってもよい。Nの値は固定され
たものではなく、状況によってさまざまな値となる。以
下、環境設定で発行するICカードコマンドを、設定コ
マンドと呼ぶ。また、この環境設定に基づいてセキュリ
ティ処理を実行するICカードコマンドを、以下、セキ
ュリティコマンドと呼ぶ。セキュリティコマンドの例と
しては、デジタル署名の計算、デジタル署名の検証、メ
ッセージの暗号化、暗号化メッセージの復号、パスワー
ドによる認証などをおこなうコマンドがある。
【0059】CPU121は、ICカードチップ150
の環境設定の内容を自由に変更することができる。CP
U121は、セキュリティ処理の内容や結果に応じてこ
れを変更してもよいし、ホスト機器からのメモリカード
コマンドの受信を契機としてこれを変更してもよい。ま
た、CPU121は、環境設定の内容を示した情報をフ
ラッシュメモリチップ130にライトし、必要なときに
フラッシュメモリチップ130からその情報をリードし
て使用することもできる。この情報は、図21において
ICカード環境設定情報2112として示されている。
これにより、MMC110が非活性化されてもその情報
を保持することができ、MMC110が活性化されるた
びにあらためて設定する手間を省くことができる。
【0060】第1次ICカード初期化処理および第2次
ICカード初期化処理は、ICカード制御パラメータ
A、B、Cに設定された値に基づいておこなわれる。ま
た、CPU121は、ステップ712で実行するセキュ
リティ処理において、ICカード制御パラメータDに設
定された値に基づいてICカードチップ150の活性化
や非活性化を制御する。
【0061】図8は、ICカード制御パラメータの種類
と設定値、それに対応した処理の内容を表している。ま
ず、パラメータAは、MMC110に電源が供給された
ときに実行される第1次ICカード初期化処理に関する
パラメータである。A=0のときは、CPU121はI
Cカードチップ150にアクセスしない。A=1のとき
は、CPU121はICカードチップ150をコールド
リセットする。A=2のときは、CPU121はICカ
ードチップ150をコールドリセットした後でICカー
ドチップ150の環境設定をおこなう。A=3のとき
は、CPU121はICカードチップ150をコールド
リセットした後でICカードチップ150の環境設定を
おこない、最後にICカードチップ150を非活性化す
る。A=0またはA=3のときは、第1次ICカード初
期化処理のあとICカードチップ150が非活性状態と
なる。A=1またはA=2のときは、第1次ICカード
初期化処理のあとICカードチップ150は活性状態と
なる。
【0062】次に、パラメータBとCは、MMC110
がMMC初期化コマンドを処理したときに実行される第
2次ICカード初期化処理に関するパラメータである。
B=0のときは、CPU121はICカードチップ15
0にアクセスしない。B=1かつC=1のときは、CP
U121はICカードチップ150をリセット(コール
ドリセットまたはウォームリセット)する。B=1かつ
C=2のときは、CPU121はICカードチップ15
0をリセットした後でICカードチップ150の環境設
定をおこなう。B=1かつC=3のときは、CPU12
1はICカードチップ150をリセットした後でICカ
ードチップ150の環境設定をおこない、最後にICカ
ードチップ150を非活性化する。B=2かつC=2の
ときは、CPU121はICカードチップ150の環境
設定をおこなう。B=2かつC=3のときは、CPU1
21はICカードチップ150の環境設定をおこなった
後にICカードチップ150を非活性化する。B=3の
ときは、ICカードチップ150が活性状態ならば、C
PU121はICカードチップ150を非活性化する。
最後に、パラメータDは、ホスト機器220から要求さ
れたセキュリティ処理を実行したあとに、ICカードチ
ップ150を非活性化するか否かを示すパラメータであ
る。D=0のときは、セキュリティ処理の実行後に、C
PU121はICカードチップ150を非活性化せず、
活性状態に保つ。D=1のときは、セキュリティ処理の
実行後に、CPU121はICカードチップ150を非
活性化する。
【0063】CPU121は、ICカード制御パラメー
タA、B、C、Dの設定値を変更することができる。C
PU121は、セキュリティ処理の内容や結果に応じて
これらの設定値を変更してもよいし、ホスト機器からの
メモリカードコマンドの受信を契機としてこれらの設定
値を変更してもよい。また、CPU121は、これらの
設定値をフラッシュメモリチップ130にライトし、必
要なときにフラッシュメモリチップ130からこれらの
設定値をリードして使用することもできる。これらの設
定値は、図21においてICカード制御パラメータ21
11として示されている。これにより、MMC110が
非活性化されてもこれらの設定値を保持することがで
き、MMC110が活性化されるたびにあらためて設定
する手間を省くことができる。
【0064】図9は、第1次ICカード初期化処理のフ
ローチャートを表している。初期化処理を開始する(9
01)と、まず、ICカード制御パラメータAが0かチ
ェックする(902)。A=0ならばそのまま初期化処
理は終了する(908)。A=0でないならばICカー
ドチップ150をコールドリセットする(903)。次
に、ICカード制御パラメータAが1かチェックする
(904)。A=1ならば初期化処理は終了する(90
8)。A=1でないならばICカードチップ150の環
境設定をおこなう(905)。次に、ICカード制御パ
ラメータAが2かチェックする(906)。A=2なら
ば初期化処理は終了する(908)。A=2でないなら
ばICカードチップ150を非活性化する(907)。
そして、初期化処理は終了する(908)。
【0065】図10は、第2次ICカード初期化処理の
フローチャートを表している。初期化処理を開始する
(1001)と、まず、ICカード制御パラメータBが
0かチェックする(1002)。B=0ならばそのまま
初期化処理は終了する(1013)。B=0でないなら
ばB=1かチェックする(1003)。B=1ならばI
Cカード制御パラメータAが0または3かチェックする
(1004)。Aが0または3ならば、ICカードチッ
プ150をコールドリセットし(1005)、ステップ
1007に移る。Aが1または2ならば、ICカードチ
ップ150をウォームリセットし(1006)、ステッ
プ1007に移る。ステップ1007では、ICカード
制御パラメータCが1かチェックする。C=1ならば初
期化処理は終了する(1013)。C=1でないならば
ステップ1009に移る。ステップ1003においてB
=1でないならば、Bが2かチェックする(100
8)。B=2ならばステップ1009に移る。B=2で
ないならば、ICカード制御パラメータAが0または3
かチェックする(1011)。Aが0または3ならば初
期化処理を終了する(1013)。Aが1または2なら
ば、ステップ1012に移る。ステップ1009ではI
Cカードチップ150の環境設定をおこなう。そして、
ICカード制御パラメータCが2かチェックする(10
10)。C=2ならば初期化処理を終了する(101
3)。C=2でないならばステップ1012に移る。ス
テップ1012ではICカードチップ150を非活性化
する。そして、初期化処理を終了する(1013)。
【0066】図11は、ICカードチップ150が非活
性状態であるときに第1次ICカード初期化処理あるい
は第2次ICカード初期化処理を実行した場合におい
て、ICカードチップ150の外部端子の信号波形をシ
ンプルに表したものである。図12は、ICカードチッ
プ150が活性状態であるときに第2次ICカード初期
化処理を実行した場合において、ICカードチップ15
0の外部端子の信号波形をシンプルに表したものであ
る。図11と図12において、時間の方向は左から右に
とっており、上の行から下の行に向かってVCC2端子
151、RST端子152、CLK2端子153、I/
O端子157で観測される信号を表す。また、横方向の
破線はそれぞれの信号の基準(Lレベル)を表す。図1
1において1102は図3に示したコールドリセットの
信号波形を表す。図12において1202は図4に示し
たウォームリセットの信号波形を表す。図11と図12
において、第1設定コマンド処理1104aと1204
a、第2設定コマンド処理1104bと1204b、第
N設定コマンド処理1104cと1204cは、それぞ
れ図5に示したICカードコマンド処理の信号波形を表
す。ICカードチップ150の環境設定の信号波形11
04と1204は、N個の設定コマンド処理の信号波形
が連なって構成される。図11と図12において、11
06と1206は、それぞれ図6に示した非活性化の信
号波形を表す。図11と図12において、縦方向の破線
1101、1103、1105、1107、1201、
1203、1205、1207はそれぞれ特定の時刻を
表す。1101はコールドリセット前の時刻、1201
はウォームリセット前の時刻、1103はコールドリセ
ット後から環境設定前の間にある時刻、1203はウォ
ームリセット後から環境設定前の間にある時刻、110
5と1205は環境設定後から非活性化前の間にある時
刻、1107と1207は非活性化後の時刻である。
【0067】図11を参照して、第1次ICカード初期
化処理実行時の信号波形を示す。ICカード制御パラメ
ータAが0のときは、信号波形に変化はない。A=1の
ときは、時刻1101から時刻1103までの範囲の信
号波形となる。A=2のときは、時刻1101から時刻
1105までの範囲の信号波形となる。A=3のとき
は、時刻1101から時刻1107までの範囲の信号波
形となる。
【0068】図11を参照して、ICカード制御パラメ
ータAが0または3のときの、第2次ICカード初期化
処理実行時の信号波形を示す。ICカード制御パラメー
タBが0のときは、信号波形に変化はない。B=1かつ
ICカード制御パラメータC=1のときは、時刻110
1から時刻1103までの範囲の信号波形となる。B=
1かつC=2のときは、時刻1101から時刻1105
までの範囲の信号波形となる。B=1かつC=3のとき
は、時刻1101から時刻1107までの範囲の信号波
形となる。
【0069】図12を参照して、ICカード制御パラメ
ータAが1または2のときの、第2次ICカード初期化
処理実行時の信号波形を示す。ICカード制御パラメー
タBが0のときは、信号波形に変化はない。B=1かつ
ICカード制御パラメータC=1のときは、時刻120
1から時刻1203までの範囲の信号波形となる。B=
1かつC=2のときは、時刻1201から時刻1205
までの範囲の信号波形となる。B=1かつC=3のとき
は、時刻1201から時刻1207までの範囲の信号波
形となる。B=2かつC=2のときは、時刻1203か
ら時刻1205までの範囲の信号波形となる。B=2か
つC=3のときは、時刻1203から時刻1207まで
の範囲の信号波形となる。B=3のときは、時刻120
5から時刻1207までの範囲の信号波形となる。
【0070】図13は、図7のステップ712におい
て、CPU121が、ホスト機器220が要求したセキ
ュリティ処理をICカードチップ150によって実行す
るときのフローチャートを表している。セキュリティ処
理を開始する(1301)と、まずICカードチップ1
50が非活性状態かをチェックする(1302)。非活
性状態ならば、ICカードチップ150をコールドリセ
ットし(1303)、ステップ1306に移る。活性状
態ならば、ステップ1304に移る。ステップ1304
では、ICカードチップ150にICカードコマンドを
発行する前にICカードチップ150を再リセットする
必要があるかをチェックする。必要があるならば、IC
カードチップ150をウォームリセットし(130
5)、ステップ1306に移る。必要がないならば、ス
テップ1306に移る。ステップ1306では、ICカ
ードチップ150の環境設定をおこなう必要があるかを
チェックする。必要があるならば、ICカードチップ1
50の環境設定をおこない(1307)、ステップ13
08に移る。必要がないならば、ステップ1308に移
る。ステップ1308では、ICカードチップ150の
CLK2端子に供給するクロック信号の周波数F2を設
定する。そして、CPU121はICカードチップ15
0にセキュリティコマンドを発行し、ICカードチップ
150はそれを処理する(1309)。セキュリティコ
マンドの処理時間は、クロック周波数F2に依存する。
【0071】次に、ICカードチップ150が出力する
ICカードレスポンスにより、その処理が成功したかど
うかを判定する(1310)。成功ならば、ステップ1
311に移る。失敗ならば、ステップ1312に移る。
ステップ1311では、ICカードチップ150に発行
すべきセキュリティコマンドが全て完了したかをチェッ
クする。発行すべきセキュリティコマンドがまだあるな
らば、ステップ1304に移る。発行すべきセキュリテ
ィコマンドが全て完了したならば、ステップ1314に
移る。ステップ1312では、失敗したセキュリティコ
マンドをリトライすることが可能かを判定する。リトラ
イできるなら、リトライ設定をおこない(1313)、
ステップ1304に移る。リトライ設定とは、リトライ
すべきセキュリティコマンドやその関連データをCPU
121が再度準備することである。リトライできないな
らステップ1314に移る。これは、ホスト機器220
が要求したセキュリティ処理が失敗したことを意味す
る。ステップ1314では、ICカード制御パラメータ
Dをチェックする。D=1ならば、ICカードチップ1
50を非活性化して(1315)、セキュリティ処理を
終了する(1316)。D=1でないならば、ICカー
ドチップ150を活性状態に保ったままセキュリティ処
理を終了する(1316)。図13のフローチャートに
おいては、クロック周波数F2を、ステップ1309で
発行するセキュリティコマンドの種類によって変えるこ
とができるように、ステップ1308をステップ130
9の直前に位置させたが、ステップ1308はそれ以外
の位置にあってもよい。
【0072】従来のICカードへの攻撃法を有効にして
いる要因のひとつとして、ICカードの駆動クロックが
外部の接続装置から直接供給されることがあげられる。
駆動クロックが接続装置の制御下にあるため、タイミン
グ解析や電力差分解析においては、電気信号の測定にお
いてICカード内部処理のタイミングの獲得が容易にな
る。一方、故障利用解析においては、異常な駆動クロッ
クの供給による演算エラーの発生が容易になる。これに
対し、本発明によれば、MMC110内部でICカード
チップ150によりセキュリティ処理を実行するとき、
ホスト機器220はICカードチップ150の駆動クロ
ックを直接供給できない。CPU121は、ICカード
チップ150へ供給するクロックの周波数F2を自由に
設定することができる。これにより、ホスト機器220
の要求する処理性能に柔軟に対応したセキュリティ処理
が実現できる。ホスト機器220が高速なセキュリティ
処理を要求するならば周波数F2を高く設定し、低い消
費電力を要求するならば周波数F2を低く設定したり、
クロックを適度に停止させればよい。
【0073】また、CPU121は、周波数F2だけで
なくクロックの供給開始タイミング、供給停止タイミン
グを自由に設定できる。これらをランダムに変化させる
ことにより、ICカードチップ150に対するタイミン
グ解析、電力差分解析、故障利用解析と呼ばれる攻撃法
を困難にすることができる。タイミング解析は、攻撃者
が暗号処理1回の処理時間を正確に計測可能であること
を仮定しているため、その対策としては、攻撃者が処理
時間計測を正確に行えないようにすることが有効であ
る。本発明によりタイミング解析が困難になる理由は、
ICカードチップ150がICカードコマンドを処理し
ている時間の長さをホスト機器220が正確に計測でき
ないためである。電力差分解析の対策としては、処理の
実行タイミングや順序に関する情報を外部から検出不可
能にすることが有効である。本発明により電力差分解析
が困難になる理由は、ICカードコマンドが発行された
時刻、発行されたICカードコマンドの内容、発行され
たICカードコマンドの順序(ICカードコマンドを複
数組み合わせてセキュリティ処理を実行する場合)の検
出がホスト機器220にとって困難になるためである。
【0074】故障利用解析の対策としては、ICカード
にクロックや電圧や温度等の動作環境検知回路を搭載
し、異常を検出したならば処理を停止あるいは使用不能
にするという方法が有効である。本発明により故障利用
解析が困難になる理由は、CLK2制御回路127がI
Cカードチップ150に異常な駆動クロックを供給しな
いことが、ホスト機器220がICカードチップ150
に演算エラーを発生させるのを防止するからである。
【0075】CPU121は、ICカードチップ150
に供給するクロックの周波数F2、供給開始タイミン
グ、供給停止タイミングの設定値を、セキュリティ処理
の内容や結果に応じて変更してもよいし、ホスト機器か
らのメモリカードコマンドの受信を契機として変更して
もよい。また、CPU121は、これらの設定値をフラ
ッシュメモリチップ130にライトし、必要なときにフ
ラッシュメモリチップ130からこれらの設定値をリー
ドして使用することもできる。これらの設定値は、図2
1においてCLK2設定情報2113として示されてい
る。これにより、MMC110が非活性化されてもこれ
らの設定値を保持することができ、MMC110が活性
化されるたびにあらためて設定する手間を省くことがで
きる。
【0076】図14は、ホスト機器220がセキュリテ
ィ処理要求ライトコマンドをMMC110に発行してか
ら、ICカードチップ150でセキュリティ処理が実行
されるまでの過程(図7のステップ710〜712)に
おいて、MMC110およびICカードチップ150の
外部端子の信号波形、CPU121によるフラッシュメ
モリチップ130へのアクセスをシンプルに表したもの
である。図14において、時間の方向は左から右にと
る。
【0077】一番上の行はフラッシュメモリチップ13
0へのアクセス内容である。上から二行目の行から下の
行に向かって、VCC1端子144、CMD端子14
2、CLK1端子145、DAT端子147、VCC2
端子151、RST端子152、CLK2端子153、
I/O端子157で観測される信号を表す。また、横方
向の破線はそれぞれの信号の基準(Lレベル)を表す。
図14を参照して、ホスト機器220がセキュリティ処
理要求ライトコマンドをMMC110に発行してから、
ICカードチップ150でセキュリティ処理が実行され
るまでの過程を説明する。
【0078】まず、ホスト機器220はCMD端子14
2にセキュリティ処理要求ライトコマンドを送信する
(1401)。次に、ホスト機器220はCMD端子1
42からセキュリティ処理要求ライトコマンドのレスポ
ンスを受信する(1402)。このレスポンスは、MM
C110がコマンドを受信したことをホスト機器220
に伝えるものであり、セキュリティ処理の実行結果では
ない。次に、ホスト機器220はDAT端子147にセ
キュリティ処理要求を送信する(1403)。セキュリ
ティ処理要求とは、セキュリティ処理の内容や処理すべ
きデータを含むホストデータである。次に、MMC11
0はDAT端子147をLレベルにセットする(140
4)。MMC110は、これによりビジー状態であるこ
とをホスト機器220に示す。次に、CPU121は、
ホスト機器220から受信したセキュリティ処理要求を
フラッシュメモリチップ130にライトするコマンドを
発行する(1405)。セキュリティ処理要求をフラッ
シュメモリチップ130にライトすることにより、CP
U121がセキュリティ処理要求をICカードコマンド
形式で記述する処理(図7のステップ711)におい
て、CPU121内部のワークメモリの消費量を節約で
きる。これは、セキュリティ処理要求のデータサイズが
大きいときに有効である。
【0079】なお、フラッシュメモリチップ130にラ
イトされたセキュリティ処理要求は、図21においてセ
キュリティ処理バッファ領域2114に格納される。ま
た、ライトコマンド発行1405は必須な操作ではな
い。ライト処理期間1406は、フラッシュメモリチッ
プ130がセキュリティ処理要求のライト処理を実行し
ている期間を表す。セキュリティ処理1407はICカ
ードチップ150によるセキュリティ処理の信号波形を
表す。この信号波形は図13のフローチャートの遷移過
程に依存する。セキュリティ処理1407は、ライト処
理期間1406とオーバラップさせることができる。一
般にフラッシュメモリチップ130のライト処理期間1
406はミリ秒のオーダーであるため、セキュリティ処
理1407とオーバラップさせることは、セキュリティ
処理の全体的な処理時間の短縮にとって有効である。
【0080】リード/ライト1408は、セキュリティ
処理1407の実行中に、フラッシュメモリチップ13
0からセキュリティ処理要求をリードしたり、ICカー
ドチップ150が出力した計算結果をフラッシュメモリ
チップ130にライトするアクセスを示している。この
アクセスにより、CPU121内部のワークメモリの消
費量を節約できる。これは、セキュリティ処理要求やセ
キュリティ処理結果のデータサイズが大きいときに有効
である。リード/ライト1408は必須ではない。セキ
ュリティ処理1407が完了したら、MMC110はD
AT端子147をHレベルにセットする(1409)。
MMC110は、これによりセキュリティ処理が完了し
たことをホスト機器220に示す。
【0081】図15は、図14におけるセキュリティ処
理1407の信号波形の一例を表したものである。図1
5において、時間の方向は左から右にとる。一番上の行
はフラッシュメモリチップ130へのアクセス内容であ
る。上から二行目の行から下の行に向かって、VCC2
端子151、RST端子152、CLK2端子153、
I/O端子157で観測される信号を表す。また、横方
向の破線はそれぞれの信号の基準(Lレベル)を表す。
1501は図3に示したコールドリセットの信号波形を
表し、1504は図4に示したウォームリセットの信号
波形を表し、1502および1505は図11(あるい
は図12)に示した環境設定の信号波形を表し、150
3および1506および1507は図5に示したICカ
ードコマンド処理の信号波形を表し、1508は図6に
示した非活性化の信号波形を表す。ICカードチップ1
50の外部端子において図15に示した信号波形が観測
されるのは、図13のフローチャートが1301、13
02、1303、1306、1307、1308、13
09、1310、1311、1304、1305、13
06、1307、1308、1309、1310、13
11、1304、1306、1308、1309、13
10、1311、1314、1315、1316の順で
遷移するときである。
【0082】図15を参照して、図14のセキュリティ
処理1407の実行中におけるCPU121によるフラ
ッシュメモリチップ130へのアクセス(リード/ライ
ト1408)を説明する。このアクセスには、図21に
おけるセキュリティ処理バッファ領域2114を使用す
る。リード1509、1511、1512は、それぞ
れ、セキュリティコマンド処理1503、1506、1
507においてICカードチップ150に送信するIC
カードコマンドを構築するために必要なデータを、フラ
ッシュメモリチップ130からリードするアクセスであ
る。ライト1510は、セキュリティコマンド処理15
03においてICカードチップ150が出力した計算結
果を、フラッシュメモリチップ130にライトするアク
セスである。ライト1513は、セキュリティコマンド
処理1506および1507においてICカードチップ
150が出力した計算結果を、フラッシュメモリチップ
130にまとめてライトするアクセスである。リード1
509、1511、1512は、それぞれ、セキュリテ
ィコマンド処理1503、1506、1507以前のI
Cカードチップ150へのアクセスとオーバラップさせ
ることができる。ライト1510、1513は、それぞ
れ、セキュリティコマンド処理1503、1507以後
のICカードチップ150へのアクセスとオーバラップ
させることができる。これらのオーバラップは、セキュ
リティ処理の全体的な処理時間の短縮にとって有効であ
る。
【0083】さらに、フラッシュメモリチップ130の
ライト単位が大きい場合は、ライト1513のように複
数の計算結果をまとめてライトすることができる。これ
は、フラッシュメモリチップ130へのライト回数を削
減し、フラッシュメモリチップ130の劣化を遅らせる
効果がある。なお、ライト1510、1513でフラッ
シュメモリチップ130にライトする内容は、ICカー
ドチップ150が出力した計算結果そのものに限定され
ず、図7のステップ715でホスト機器220に返すセ
キュリティ処理結果またはその一部であってもよい。こ
の場合、図7のステップ714またはその一部は、ステ
ップ712の中で実行されることになる。
【0084】図16は、ホスト機器220がセキュリテ
ィ処理結果リードコマンドをMMC110に発行してか
ら、MMC110がセキュリティ処理結果を出力するま
での過程(図7のステップ713〜715)において、
MMC110の外部端子の信号波形、CPU121によ
るフラッシュメモリチップ130へのアクセスをシンプ
ルに表したものである。図16において、時間の方向は
左から右にとる。一番上の行はフラッシュメモリチップ
130へのアクセス内容である。上から二行目の行から
下の行に向かって、VCC1端子144、CMD端子1
42、CLK1端子145、DAT端子147で観測さ
れる信号を表す。また、横方向の破線はそれぞれの信号
の基準(Lレベル)を表す。
【0085】図16を参照して、ホスト機器220がセ
キュリティ処理結果リードコマンドをMMC110に発
行してから、MMC110がセキュリティ処理結果を出
力するまでの過程を説明する。まず、ホスト機器220
はCMD端子142にセキュリティ処理結果リードコマ
ンドを送信する(1601)。次に、ホスト機器220
はCMD端子142からセキュリティ処理結果リードコ
マンドのレスポンスを受信する(1602)。このレス
ポンスは、MMC110がコマンドを受信したことをホ
スト機器220に伝えるものであり、セキュリティ処理
結果ではない。次に、MMC110はDAT端子147
をLレベルにセットする(1603)。MMC110
は、これによりビジー状態であることをホスト機器22
0に示す。次に、CPU121は、フラッシュメモリチ
ップ130のセキュリティ処理バッファ領域(図21の
2114)から、ICカードチップ150が出力した計
算結果をリードする(1604)。CPU121は、こ
れをもとにセキュリティ処理結果を構築し、MMC11
0がDAT端子147にセキュリティ処理結果を出力す
る(1605)。
【0086】なお、図7のステップ714またはその一
部が、ステップ712の中で実行されている場合、ステ
ップ1604ではフラッシュメモリチップ130のセキ
ュリティ処理バッファ領域(図21の2114)からセ
キュリティ処理結果またはその一部をリードする。な
お、フラッシュメモリチップ130のセキュリティ処理
バッファ領域(図21の2114)を利用しないでセキ
ュリティ処理結果を構築する場合、ステップ1604は
必要ない。
【0087】MMC110の製造者や管理者は、セキュ
リティシステムのユーザにMMC110を提供する前や
そのユーザが所有するMMC110に問題が発生した時
に、MMC110に内蔵されたICカードチップ150
に様々な初期データを書きこんだり、ICカードチップ
150のテストをおこなったりする必要がある。MMC
110の製造者や管理者によるこれらの操作の利便性を
高めるために、MMC110は、ICカードチップ15
0の外部端子をMMC外部端子140に割りつけるイン
タフェース機能を持つ。これにより、図3〜図6で示し
たようなICカードチップ150へのアクセス信号を、
MMC外部端子140から直接送受信できる。このよう
なMMC110の動作モードを、MultiMedia
Card仕様に準拠した動作モードと区別して、以下、
インタフェース直通モードと呼ぶ。
【0088】インタフェース直通モードについて詳細に
説明する。図17は、ICカードチップ150の外部端
子をMMC外部端子140に割りつけるときの対応関係
の一例を表している。この例では、RST端子152を
CS端子141に割り付け、GND2端子155をGN
D1端子143、146に割り付け、VCC2端子15
1をVCC1端子144に割り付け、CLK2端子15
3をCLK1端子145に割り付け、I/O端子157
をDAT端子147に割り付ける。このとき、CS端子
141とCLK1端子145は入力端子、DAT端子1
47は入出力端子として機能する。
【0089】MMC110は、特定のメモリカードコマ
ンドを受信すると、動作モードをインタフェース直通モ
ードへ移したり、インタフェース直通モードからMul
tiMediaCard仕様に準拠した動作モードに戻
すことができる。以下、動作モードをインタフェース直
通モードへ移すメモリカードコマンドを直通化コマン
ド、動作モードをインタフェース直通モードから通常の
状態に戻すメモリカードコマンドを復帰コマンドと呼
ぶ。図1を参照して、MMCI/F制御回路123は、
VCC2制御回路126、CLK2制御回路127、I
CカードI/F制御回路128と接続されており、MM
C110がホスト機器220から直通化コマンドを受信
すると、CPU121の指示により図17で示した端子
割り付けをおこなう。MMC110がホスト機器220
から復帰コマンドを受信すると、CPU121の指示に
より図17で示した端子割り付けを解除し、MMC11
0はMultiMediaCard仕様に準拠した動作
モードに戻る。
【0090】インタフェース直通モードでは、ホスト機
器220がICカードチップ150に直接アクセスでき
るため、セキュリティの観点からインタフェース直通モ
ードを利用できるのは限られた者だけにする必要があ
る。そこで、直通化コマンドの発行には、一般のユーザ
に知られないパスワードの送信を必要とする。正しいパ
スワードが入力されないとインタフェース直通モードは
利用できない。
【0091】図18は、ホスト機器220が、MMC1
10の動作モードをMultiMediaCard仕様
に準拠した動作モードからインタフェース直通モードに
移し、ICカードチップ150に直接アクセスし、その
後、MMC110の動作モードを再びMultiMed
iaCard仕様に準拠した動作モードに戻すまでの処
理のフローチャートを表している。ホスト機器220は
処理を開始し(1801)、まずMMC110に直通化
コマンドを発行する(1802)。MMC110は、直
通化コマンドで送信されたパスワードが正しいかチェッ
クする(1803)。正しければステップ1804に移
り、間違っていれば処理は終了する(1810)。ステ
ップ1804では、CPU121は、ICカードチップ
150をコールドリセットする。そして、図17で示し
た端子割り付けをおこないインタフェースを直通化する
(1805)。この時点から、ホスト機器220はIC
カードチップ150に直接アクセスする(1806)。
ホスト機器220がICカードチップ150への直接ア
クセスを終了し、MMC110の動作モードを再びMu
ltiMediaCard仕様に準拠した動作モードに
戻すときは、MMC110に復帰コマンドを発行する
(1807)。すると、CPU121は図17で示した
端子割り付けを解除し、MMC110はMultiMe
diaCard仕様に準拠した動作モードに戻る(18
08)。そして、CPU121は、ICカードチップ1
50を非活性化する(1809)。以上で、処理は終了
する(1810)。
【0092】図19は、図18のステップ1801〜1
806の過程において、MMC110およびICカード
チップ150の外部端子の信号波形をシンプルに表した
ものである。図19において、時間の方向は左から右に
とる。上の行から下の行に向かって、VCC1端子14
4、CMD端子142、CLK1端子145、DAT端
子147、VCC2端子151、RST端子152、C
LK2端子153、I/O端子157で観測される信号
を表す。また、横方向の破線はそれぞれの信号の基準
(Lレベル)を表す。1905は、図3のコールドリセ
ットの信号波形を示す。モード移行時刻1906は、動
作モードがインタフェース直通モードに移る時刻を表
す。
【0093】図19を参照して、ホスト機器220がM
MC110の動作モードをMultiMediaCar
d仕様に準拠した動作モードからインタフェース直通モ
ードに移しICカードチップ150に直接アクセスする
過程を説明する。なお、MMC110のVCC1端子1
44には3V(VCC2端子151の標準電圧)が供給
されている。ホスト機器220がCMD端子142に直
通化コマンドを入力すると(1901)、CMD端子1
42から直通化コマンドのレスポンスが出力される(1
902)。このレスポンスは、MMC110がコマンド
を受信したことをホスト機器220に伝えるものであ
る。次に、ホスト機器220はDAT端子147にパス
ワードを入力する(1903)。パスワード入力後、M
MC110はDAT端子147にLレベルを出力し(1
904)、ビジー状態であることをホスト機器220に
示す。ビジー状態の間に、CPU121は、ICカード
チップ150をコールドリセットする(1905)。そ
して、モード移行時刻1906において、動作モードを
インタフェース直通モードに移す。このときに、DAT
端子147はLレベルからハイインピーダンス状態にな
る。これにより、ホスト機器220はビジー状態の解除
を知ることができる。この時点から、ホスト機器220
はICカードチップ150に直接アクセスする。例え
ば、CLK1端子145にクロックを供給すると(19
07)、CLK2端子153にそのクロックが供給され
る(1908)。また、DAT端子147にICカード
コマンドを送信すると(1909)、I/O端子157
にそのICカードコマンドが送信される(1910)。
【0094】図20は、図18のステップ1807〜1
810の過程において、MMC110およびICカード
チップ150の外部端子の信号波形をシンプルに表した
ものである。図20において、時間の方向は左から右に
とる。上の行から下の行に向かって、VCC1端子14
4、CMD端子142、CLK1端子145、DAT端
子147、VCC2端子151、RST端子152、C
LK2端子153、I/O端子157で観測される信号
を表す。また、横方向の破線はそれぞれの信号の基準
(Lレベル)を表す。モード復帰時刻2003は、動作
モードがインタフェース直通モードからMultiMe
diaCard仕様に準拠した動作モードに戻る時刻を
表す。2004は、図6の非活性化の信号波形を示す。
【0095】図20を参照して、ホスト機器220がM
MC110の動作モードをインタフェース直通モードか
らMultiMediaCard仕様に準拠した動作モ
ードに戻す過程を説明する。なお、MMC110のVC
C1端子144には3V(VCC2端子151の標準電
圧)が供給されている。ホスト機器220がCMD端子
142に復帰コマンドを入力すると(2001)、CM
D端子142から復帰コマンドのレスポンスが出力され
る(2002)。このレスポンスは、MMC110がコ
マンドを受信したことをホスト機器220に伝えるもの
である。そして、モード復帰時刻2003において、M
MC110はDAT端子147にLレベルを出力してビ
ジー状態であることをホスト機器220に示し、それと
同時に動作モードをMultiMediaCard仕様
に準拠した動作モードに戻す。ビジー状態の間に、CP
U121は、ICカードチップ150を非活性化する
(2004)。そして、MMC110は、DAT端子1
47をハイインピーダンス状態にし(2005)、復帰
コマンドの処理が完了したことをホスト機器220に示
す。これ以後、ホスト機器220はICカードチップ1
50に直接アクセスできない。ホスト機器220が、C
LK1端子145にクロックを供給しながらCMD端子
142に何らかのメモリカードコマンドを送信した場
合、ICカードチップ150にそのクロック信号(20
06)は伝わらない。2001や2002においてホス
ト機器220がCLK1端子145に供給するクロック
信号は、ICカードチップ150のCLK2端子153
にも伝わるが、DAT端子147がハイインピーダンス
状態であるため、ICカードチップ150がICカード
コマンドを誤って認識することはない。
【0096】図21において、セキュリティ処理ステー
タス領域2116には、ICカードチップ150による
セキュリティ処理の進捗状況を示す情報を格納する。C
PU121は、この情報をセキュリティ処理の実行中に
更新することができる。例えば、セキュリティ処理の途
中でMMC110への電源供給が停止した場合、電源供
給再開時にCPU121がこの情報をリードして参照す
れば、セキュリティ処理を中断した段階から再開するこ
とができる。
【0097】次に、本発明の他の実施形態について説明
する。
【0098】図27は、本発明を適用したカード型記憶
装置2701の構成を示した図である。記憶装置270
1は、フラッシュメモリチップ130、コントローラチ
ップ120、ICカードチップ150、モード選択回路
2710、及びMMC外部端子140を有する。モード
選択回路2710は、モード選択信号2720に基づい
て、モード選択回路2710に接続された入出力バス2
730及び入出力バス2740のうちいずれか一つを選
択し、MMC外部端子140とコントローラチップ12
0、又はMMC外部端子140とICカードチップ15
0とを論理的に接続する機能を持っている。フラッシュ
メモリチップ130、コントローラチップ120、IC
カードチップ150、及びMMC外部端子140の各々
のモジュールは、図22で示したMMC110の各々の
モジュールと同等の機能を有する。
【0099】カード型記憶装置2701は、モード選択
信号2720の状態に応じて、MMC又はICカードと
して動作する。図28は、モード選択回路2710、入
出力バス2730、入出力バス2740、及びMMC外
部端子140の接続状態を示した図である。モード選択
回路2710は、MMC外部端子140の各々の信号線
(141、142、143、144、145、146、
147)に対応したスイッチ(2711、2712、2
713、2714、2715、2716、2717)を
持っている。各スイッチは、モード選択信号2720の
状態によりコントローラチップ120の入出力バス27
30、又は、ICカードチップ150の入出力バス27
40のどちらかとMMC外部端子140を接続する。例
えば、CS141端子は、コントローラチップ120の
入出力バス2730のCS2731か、ICカードチッ
プ150の入出力バス2740のRST152のどちら
かに接続される。
【0100】ホスト機器2702は、例えばICカード
に対応した端末(携帯電話、携帯情報端末(PDA)、
パーソナルコンピュータ、音楽再生(及び録音)装置、
カメラ、ビデオカメラ、自動預金預払器(ATM)、セ
ットトップボックス(STB)、街角端末、決済端末
等)において、既存のシステムを有効に活用しながらカ
ード型記憶装置2701をサポートすることができる。
【0101】図29は、ICカード及びカード型記憶装
置2701に対応したホスト機器2901が有するIC
カード制御に関連するモジュールの構成を示す図であ
る。ホスト機器2901は、MMCソケット2910、
モード検出回路2930、ICカード制御回路295
0、VCC2電源2960、CLK2発信器2970、
及びICカードスロット2980を有する。尚、ICカ
ードスロット2980は装備していなくても構わない。
MMCソケット2910はMMCソケット端子2920
を有しており、図28で示したMMC外部端子140と
接続される。MMCソケット2910は、モード検出回
路2930に対してモード検出信号2940を出力す
る。モード検出回路2930は、モード検出信号294
0の状態により、MMCソケット2910に挿入される
記憶装置2701が、ICカードとして動作するかどう
か判定する。ICカードとして動作する場合、モード検
出回路2930は、ICカード制御回路2950、VC
C2電源2960、CLK2発信器2970の各信号線
と、MMCソケット端子2920の信号線を適切に接続
する。ICカードとして動作しない場合、MMCソケッ
ト端子2920の信号線は接続されず、ホスト機器29
01は記憶装置2701を認識しないか、又は非対応の
記憶装置2701が挿入された旨をユーザに通知する等
の処理が行われる。
【0102】図30は、記憶装置2701がMMCソケ
ット2910に挿入された場合の一例を示す図である。
MMCソケット2910は、スイッチ3010及びスイ
ッチ3020を備えており、モードの検出を行う。記憶
装置2701がMMCソケット2910に挿入される
と、スイッチ3010によりその旨が検出され、スイッ
チ3020に伝播される。スイッチ3020は、例えば
突起型の形状をしており、スイッチ3010から伝播さ
れた信号に応じて、記憶装置2701の側面に押し込ま
れる。一方、記憶装置2701は、側面に凹みがあり、
凹みの位置にスイッチ3020が挿入される。記憶装置
2701が有するスイッチ3030は、スイッチ302
0の挿入の状態を検出し、モード選択信号2720を生
成し、モード選択回路2710に出力する。これは例え
ば、モード選択信号2720をVCCと接続し論理値1
の状態にすること等で実現できる。
【0103】即ち、記憶装置2701がICカードモー
ド対応のホスト機器2901に挿入された場合はICカ
ードモードが選択され、そうでない場合はMMCモード
が選択される。ホスト機器2901は、モード判定をス
イッチ3020で行い、ホスト機器2901にICカー
ドインタフェイスに対応した記憶装置2701が挿入さ
れたことを示すモード検出信号2940を出力する。こ
れは、例えばモード検出信号2940をVCCと接続し
論理値1の状態にすること等で実現できる。
【0104】ここで、側面に凹みの無い記憶装置270
1をホスト機器2901に挿入すると、スイッチ302
0は挿入されない。つまり、側面に凹みの無い記憶装置
2701をICカードモードに対応していない記憶装置
2701とすれば、スイッチ3010がオンの状態でか
つスイッチ3020の状態と対応するモード検出信号2
940が出力されない場合は、ICカードモードに対応
していない記憶装置2701がホスト機器2901に挿
入されていると判断される。したがって、ホスト機器2
901は、スイッチ3010の状態と合わせてICカー
ドモード非対応の記憶装置2701が挿入されたと判定
する。なお、スイッチ3010並びにスイッチ3020
はバネ等を利用した機械的なスイッチでも良いし、電気
的なスイッチでも良い。
【0105】図31は、記憶装置2701における処理
手順を示したフローチャートである。記憶装置2701
がホスト機器2901に挿入されると(S3101)、
記憶装置2701が有するスイッチ3030の状態が決
まり(S3102)、モード選択信号2720が確定す
る(S3103)。その後、電源端子VCC1(14
4)並びにグランド端子GND1(143、146)が
接続され(S3104)、記憶装置2701は、モード
選択回路2710を起動してモード判定を行う(S31
05)。ICカードモードである場合(S3106)、
モード選択回路2710は、MMC外部端子140とI
Cチップ信号線(2740)を接続する(S310
8)。MMCモードである場合(S3107)、モード
選択回路2710は、MMC外部端子140とコントロ
ーラチップ信号線2730を接続する。
【0106】上述の実施形態では、一つの記憶装置27
01で、ICカードモードとMMCモードを使い分ける
一例を示した。次に、他の実施形態について述べる。
【0107】図32は、上述のICカードモード及びM
MCモードをサポートしたカード型記憶装置3210の
概観を示す図である。ここでは便宜上、端子が装着され
ている面をB面3220、その反対面をA面3210と
する。通常、ユーザがA面3210とB面3220を間
違えて挿入できないように、MMCには、逆挿し防止の
機能を有する、挿入方向の片端に斜めの切れ込みが入っ
ている。
【0108】カード型記憶装置3210は、MMCと同
様の切れ込み並びにMMC外部端子3230に加え、そ
の反対側(図では右側)にも同様の切れ込み及びICカ
ード端子3240が装備されている。カード型記憶装置
3210は、MMCとして使用される場合はMMCの矢
印の示す方向(左側)に、ICカードとして使用される
場合はICカードの矢印の示す方向(右側)に、各々挿
入されることにより両モードに対応することができる。
なお、内部回路の構成については図27において、コン
トローラチップ120の入出力バス2730とMMC外
部端子3230を、またICチップの入出力バス274
0とICカード端子3240を各々接続すればよい。こ
の場合、モード選択回路2710は無くてもよい。
【0109】図33は、カード型記憶装置3310にお
いて、ICカードモードとMMCモードをサポートす
る、図32とは異なる構成を示した図である。カード型
記憶装置3310の形状はMMCと変わらず、挿入方向
の片端に斜めの切れ込みが入っている。本図の構成にお
いては、MMC外部端子3230及びICカード端子3
240は、各々B面3320、A面3310のカード挿
入方向(図中の右側)に配置されている。即ち、MMC
として使用する場合は、通常のMMCと同様の向きに挿
入し、ICカードとして使用する場合は、MMCとは逆
の向きに挿入する。
【0110】図34は、ホスト機器が有するカード型記
憶装置3210及び3310に対応するMMCソケット
2910の一例を示す図である。(a)タイプ3410
は、MMCモードのみサポートしているホスト機器27
02に使用する。この場合、図32及び図33で示した
カード型記憶装置3210及び3310をICカードと
して挿入しようとしても、ソケット側の斜めの切れ込み
により、逆挿し防止の機能が働いてカード型記憶装置3
210及び3310を挿入することはできない。(b)
タイプ3420は、ICカードモードのみサポートして
いるホスト機器2702に使用する。この場合、(a)
タイプ3410とは逆に、MMCとして挿入しようとし
ても、切れ込みにより逆挿し防止の機能が働いてカード
型記憶装置3210及び3310を挿入することはでき
ない。(c)タイプ3430は、ICカードモード及び
MMCモードの両方をサポートするホスト機器2901
に装着する。両モードの判別は、例えば、スイッチ34
31を用いて行う。(c)タイプ3430のソケットに
カード型記憶装置3210及び3310がMMCとして
挿入された場合、カード型記憶装置3210及び331
0が有する斜めの切れ込み部分とスイッチ3431の位
置が対応し、スイッチ3431は作動しない。一方、カ
ード型記憶装置3210及び3310がICカードとし
て挿入された場合、カード型記憶装置3210及び33
10の斜めの切れ込み部分がスイッチ3431の位置と
対応しないため、カード型記憶装置3210及び331
0の角部分がスイッチ3431をカード型記憶装置32
10及び33310の挿入方向に押し付ける。これによ
り、スイッチ3431がONとなる。スイッチ3431
がONになった場合、MMCソケット2901の(c)
タイプ3430は、挿入されたカード型記憶装置321
0及び3310がICカードとして動作することを判別
し、ホスト機器2702にその旨を伝える。
【0111】上述した実施形態では、カード型記憶装置
3210及び3310の挿入によってICカードモード
とMMCモードを判別する例を示したが、モードの判別
方法は上述の実施形態だけに限らない。
【0112】図35は、カード型記憶装置3501が手
動で動作するスイッチ3510を有する例を示して図で
ある。ユーザは、自分の使用目的に応じてスイッチ35
10を切り替えることによりICカードモードとMMC
モードを使い分ける。なお、図35では、スイッチ35
10はカード型記憶装置3501の側面に配置されてい
るが、いずれの面、例えば、正面又は裏面に配置しても
よい。
【0113】以上述べたように、本実施形態では、カー
ド型記憶装置においてICカードモードとMMCモード
をサポートし、その判別を適切に行うことにより各々の
モードの処理を実行することが可能である。更に本発明
は、ICカードモードとMMCモードに限らず、様々な
動作モードにおいて適用することができる。
【0114】図36は、2系統のモードをサポートする
カード型記憶装置3610の内部構成を示した図であ
る。カード型記憶装置3610は、フラッシュメモリチ
ップ130、コントローラチップA3620、コントロ
ーラチップB3630、モード選択回路3640、及び
外部端子3670を有する。カード型記憶装置3601
の基本要素は、図27に示した内部構成とほぼ変わらな
い。コントローラチップA3620及びB3630は、
様々なインタフェース制御に適用することができる。例
えば、コントローラチップA3620及びB3630
は、前述のMMCコントローラチップ120(図2
2)、SDカードコントローラチップ2420(図2
4)、メモリースティックコントローラチップ2520
(図25)に適用することでき、一つのカード型記憶装
置で上記複数のメモリカードに対応することが可能とな
る。
【0115】また、カード型記憶装置3610は、2系
統のモードだけでなく、3系統以上のモードにも容易に
拡張できることができる。その場合、外部端子3670
は、カード型記憶装置3610がサポートするインタフ
ェースのうち、そのインタフェースが使用する端子数が
最大のもの、又はそれ以上の端子数を有するように構成
する。例えば、MMCとSDカードをサポートする場合
は9本、MMCとメモリースティックをサポートする場
合は10本の端子を備える。
【0116】モードの切り替え及びモードの判別方法に
は、前述のようにモード選択信号2720を用いる。勿
論、前述のインタフェース直通モードの説明(図17、
図18、図19、図20)で述べたように、インターフ
ェースモードをメモリカードのコマンドで切り替える方
法も適用できる。前述の例で言えば、インタフェース直
通モードへ移すメモリカードコマンド(直通化コマン
ド)が発行されると、コントローラチップB3630で
制御されるインターフェースモードに移行し、インタフ
ェース直通モードから通常の状態に戻すメモリカードコ
マンド(復帰コマンド)が発行されると、コントローラ
チップA3620で制御されるインターフェースモード
に移行するようにする。なお、図36においては、フラ
ッシュメモリチップ130がコントローラA3620と
接続されているが、メモリチップ130が必要のないイ
ンタフェースがコントローラA3620で制御される場
合、メモリチップ130はコントローラA3620と接
続されなくてもよい。また、図36において、メモリチ
ップ130はコントローラB3630と接続されていな
いが、コントローラA3620を経由して、或いは直接
接続されていてもよい。更に、図36では、コントロー
ラA3620並びにコントローラB3630が物理的に
存在する場合について記載しているが、一つのコントロ
ーラで多種類のインタフェース制御を行い(エミュレー
ション)、上述のモードの切り替えによってインターフ
ェースモードを切り替えることも可能である。また、異
なるインタフェースを切り替えるだけでなく、同一のイ
ンタフェースにおいてバージョンごとにインタフェース
を切り替えることも可能である。
【0117】本発明の実施形態によれば、メモリカード
外部からICチップの駆動クロックを直接供給しないた
め、ICチップの処理時間を正確に計測できず、また、
処理の実行タイミングや順序の検出が困難になる。さら
に、異常な駆動クロックを供給することができず、演算
エラーを発生させるのが困難になる。したがって、タイ
ミング解析、電力差分解析、故障利用解析攻撃法に対す
るセキュリティが向上する。
【0118】本発明の実施形態によれば、メモリカード
外部からICチップの制御方式を自由に設定できる。例
えば、高速処理が要求されるならば、ICチップの駆動
クロックの周波数を高くした制御方式を設定し、低消費
電力が要求されるならば、ICチップの駆動クロックの
周波数を低くしたり、ICチップの駆動クロックを適度
に停止させる制御方式を設定することができる。したが
って、セキュリティシステムの要求する処理性能に柔軟
に対応したセキュリティ処理が実現できる。
【0119】本発明によれば、ICチップによるセキュ
リティ処理に必要なデータや、ICチップを管理するた
めの情報を、フラッシュメモリに保持することができ
る。したがって、セキュリティ処理の利便性を向上させ
ることができる。
【0120】本発明の実施形態によれば、MMCの製造
者や管理者が、MMC内部のICチップに直接アクセス
することができる。したがって、MMC内部のICチッ
プの初期化やメンテナンスを、従来のICカードと同様
な方法で実現できる。
【0121】本発明の実施形態によれば、フラッシュメ
モリチップを備えたMMCに、セキュリティ機能を追加
する場合、セキュリティ評価機関の認証を予め受けたI
Cカードチップ追加搭載することによって、セキュリテ
ィ評価機関によるMMCの認証が不要となるため、MM
Cの開発期間又は製造期間が短縮する。
【0122】本発明の実施形態によれば、1つのカード
型記憶装置において、多種類のインタフェースをサポー
トし、その判別を適切に行うことにより、場合に応じて
各々のインタフェースを使い分けることができ、利便性
を向上することができる。
【0123】
【発明の効果】本発明によれば、記憶装置のセキュリテ
ィを向上するという効果を奏する。
【0124】更に、本発明によれば、記憶装置の使い勝
手を向上するという効果を奏する。
【図面の簡単な説明】
【図1】本発明を適用したMMCの内部構成を示す図で
ある。
【図2】本発明を適用したMMCのホスト機器の内部構
成、およびホスト機器とMMCとの接続状態を示す図で
ある。
【図3】ICカードチップのコールドリセット時の信号
波形を示す図である。
【図4】ICカードチップのウォームリセット時の信号
波形を示す図である。
【図5】ICカードチップのICカードコマンド処理時
の信号波形を示す図である。
【図6】ICカードチップの非活性化時の信号波形を示
す図である。
【図7】ホスト機器によるMMCへのアクセスを示した
フローチャートである。
【図8】ICカード制御パラメータとそれに対応するI
Cカードへの処理内容を示す表である。
【図9】ICカードチップに対する第1次ICカード初
期化の詳細なフローチャートである。
【図10】ICカードチップに対する第2次ICカード
初期化の詳細なフローチャートである。
【図11】非活性状態のICカードチップに対するIC
カード初期化時の信号波形を示す図である。
【図12】活性状態のICカードチップに対するICカ
ード初期化時の信号波形を示す図である。
【図13】ICカードチップによるセキュリティ処理の
詳細なフローチャートである。
【図14】セキュリティ処理要求ライトコマンドを処理
するときの信号波形とフラッシュメモリチップアクセス
を示す図である。
【図15】ICカードチップによるセキュリティ処理実
行時の信号波形とフラッシュメモリチップアクセスの一
例を示す図である。
【図16】セキュリティ処理結果リードコマンドを処理
するときの信号波形とフラッシュメモリチップアクセス
を示す図である。
【図17】インタフェース直通モードにおけるMMC外
部端子とICカードチップ外部端子の対応関係を示す図
である。
【図18】インタフェース直通モードへ移行する処理と
インタフェース直通モードから復帰する処理のフローチ
ャートである。
【図19】インタフェース直通モードへ移行する処理時
の信号波形を示す図である。
【図20】インタフェース直通モードから復帰する処理
時の信号波形を示す図である。
【図21】フラッシュメモリチップの内部構成を示す図
である。
【図22】本発明を適用したMMCの内部構成を簡単に
示す図である。
【図23】本発明を適用したMMCをコンテンツ配信に
応用した例を示す図である。
【図24】本発明を適用したSDカードの内部構成を簡
単に示す図である。
【図25】本発明を適用したメモリースティックの内部
構成を簡単に示す図である。
【図26】本発明のICカードチップの内部構成を示す
図である。
【図27】本発明を適用したカード型記憶装置の内部構
成を示す図である。
【図28】モード選択回路2710を中心とした入出力
バスの接続状態を示す図である。
【図29】本発明を適用したホスト機器におけるICカ
ード制御に関連するモジュール構成を示す図である。
【図30】本発明を適用したカード型記憶装置及びMM
Cソケットの一構成例を示す図である。
【図31】記憶装置挿入時の手順を示すフローチャート
である。
【図32】本発明を適用したカード型記憶装置の概観を
示す図である。
【図33】本発明を適用した他のカード型記憶装置の概
観を示す図である。
【図34】本発明を適用したMMCソケットの一例を示
す図である。
【図35】本発明を適用したスイッチの装備例を示す図
である。
【図36】本発明を適用した他のカード型記憶装置の内
部構成を示す図である。
【符号の説明】
110…MMC、120…コントローラチップ、140
…MMC外部端子、150…ICカードチップ、151
…VCC2端子、152…RST端子、153…CLK
2端子、155…GND2端子、156…VPP端子、
157…I/O端子、220…ホスト機器、1405…
ライトコマンド発行、1906…モード移行時刻、20
03…モード復帰時刻、2701…カード型記憶装置、
2710…モード選択回路、2720…モード選択信
号、2910…MMCソケット、2930…モード検出
回路、2940…モード検出信号、3010…スイッ
チ、3620…コントローラチップA、3630…コン
トローラチップB。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 片山 国弘 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所半導体グループ内 Fターム(参考) 5B025 AE00 AE10 5B035 AA11 AA13 BB09 CA07 CA11 CA22 5B058 CA13 CA23 CA26 CA27 KA02 KA04 KA21 KA31 YA20

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】ホスト機器と接続される外部端子と、少な
    くとも2つのインターフェースモードを制御する制御手
    段と、前記少なくとも2つのインターフェースモードか
    ら1つのインターフェースモードを選択する選択手段
    と、前記選択手段による選択結果に基づき、選択された
    前記インターフェースモードで前記外部端子を制御する
    外部端子制御手段とを有することを特徴とする記憶装
    置。
  2. 【請求項2】前記制御手段は、前記少なくとも2つのイ
    ンターフェースモードのうち、第1のインターフェース
    モードを制御するコントローラチップと、第2のインタ
    ーフェースモードを制御するコントローラチップとを有
    し、前記外部端子制御手段は、前記選択されたインター
    フェースモードを制御するコントローラチップの外部入
    出力信号と前記外部端子とを接続する手段とを備えるこ
    とを特徴とする請求項1記載の記憶装置。
  3. 【請求項3】記憶装置に記憶されたデータを用いてデー
    タの処理を行うデータ処理装置において、前記記憶装置
    を制御する制御手段と、前記記憶装置が挿入されるソケ
    ットと、前記ソケット及び前記制御手段と接続される、
    インターフェースモードを検出する検出手段と、前記検
    出手段による検出結果がICカードモードの場合に、前
    記ソケットと前記制御手段の信号線とを接続する手段と
    を有することを特徴とするデータ処理装置。
  4. 【請求項4】前記ソケットは、前記記憶装置が挿入され
    たことを検出する第1のスイッチと、前記第1のスイッ
    チによって反応する第2のスイッチを有し、前記第2の
    スイッチによって前記記憶装置におけるインターフェー
    スモードのサポート状態を検出するサポート検出手段
    と、前記サポート検出手段の検出結果に基づき、前記記
    憶装置のインターフェースモードを判定する手段とを有
    することを特徴とする請求項3記載のデータ処理装置。
  5. 【請求項5】ホスト機器が有するスイッチに応答する第
    3のスイッチを有し、前記第3のスイッチの状態により
    インターフェースモードを選択する選択手段と、前記選
    択手段によって選択されたインターフェースモードで前
    記外部端子を制御する手段とを有することを特徴とする
    請求項1記載の記憶装置。
  6. 【請求項6】該記憶装置は、カード型記憶装置であっ
    て、カード同一辺上の両端に誤挿入防止のための第1の
    切り込み及び第2の切り込みを有し、前記第1の切り込
    みによって第1のインターフェースモードを一義的に決
    定するための手段と、前記第2の切り込みによって第2
    のインターフェースモードを一義的に決定するための手
    段とを有することを特徴とする請求項1記載の記憶装
    置。
  7. 【請求項7】カード型記憶装置に記憶されたデータを用
    いてデータの処理を行うデータ処理装置において、第4
    のスイッチと、前記第4のスイッチの状態に応じて、第
    1のインターフェースモードまたは第2のインターフェ
    ースモードを選択する選択手段と、前記選択手段によっ
    て選択されたインターフェースモードに基づきデータを
    処理する手段とを有することを特徴とするデータ処理装
    置。
JP2001213036A 2001-07-13 2001-07-13 記憶装置及び記憶装置を備えたデータ処理装置 Pending JP2003030613A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001213036A JP2003030613A (ja) 2001-07-13 2001-07-13 記憶装置及び記憶装置を備えたデータ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001213036A JP2003030613A (ja) 2001-07-13 2001-07-13 記憶装置及び記憶装置を備えたデータ処理装置

Publications (1)

Publication Number Publication Date
JP2003030613A true JP2003030613A (ja) 2003-01-31

Family

ID=19048088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001213036A Pending JP2003030613A (ja) 2001-07-13 2001-07-13 記憶装置及び記憶装置を備えたデータ処理装置

Country Status (1)

Country Link
JP (1) JP2003030613A (ja)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004084127A1 (ja) * 2003-03-20 2004-09-30 Renesas Technology Corp. メモリカードおよびその初期化設定方法
JPWO2004075063A1 (ja) * 2003-02-20 2006-06-01 松下電器産業株式会社 情報記録媒体及びその領域管理方法
JP2006518897A (ja) * 2003-02-25 2006-08-17 インフィニオン・テクノロジーズ・フラッシュ・リミテッド マルチプロトコルメモリカード
WO2006101057A1 (en) * 2005-03-24 2006-09-28 Ricoh Company, Ltd. Nonvolatile memory card adaptable to plural specifications
JP2007018194A (ja) * 2005-07-06 2007-01-25 Matsushita Electric Ind Co Ltd 情報記録メディアの制御方法、情報処理装置及び情報記録メディア
JP2007109050A (ja) * 2005-10-14 2007-04-26 Keii Kagi Kofun Yugenkoshi ディジタル保存装置
JP2007122241A (ja) * 2005-10-26 2007-05-17 Renesas Technology Corp メモリカードコントローラ及びメモリカード
JP2007533036A (ja) * 2004-04-16 2007-11-15 サンディスク コーポレイション 2つの規格の接点セットを有するメモリカード
JP2007534034A (ja) * 2003-08-20 2007-11-22 イメイション・コーポレイション 複数のコネクタ標準と互換性を有するメモリカード
JP2009518740A (ja) * 2005-12-08 2009-05-07 ホー・チュン−シン スマートカード
JP2009522685A (ja) * 2006-01-06 2009-06-11 ホー・チュン−シン デュアルuiccに基づいて付加サービスを提供する方法
US7702921B2 (en) 2003-03-10 2010-04-20 Giesecke & Devrient Gmbh Loading media data into a portable data carrier
US7971791B2 (en) 2003-07-03 2011-07-05 Renesas Electronics Corporation Multi-function card device
JP2014509001A (ja) * 2011-02-02 2014-04-10 ティー―データ・システムズ(エス)ピーティーイー・リミテッド デジタルスイッチ回路を有するワイヤレス機能を備えたポータブルデータ記憶装置とその中にデータを記憶するための方法
US9619156B2 (en) 2014-07-31 2017-04-11 Samsung Electronics Co., Ltd. Storage device, memory card, and communicating method of storage device
JP2017097659A (ja) * 2015-11-25 2017-06-01 凸版印刷株式会社 Icカード、データ保護方法、セキュリティ関連プログラム、及び通信システム

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2004075063A1 (ja) * 2003-02-20 2006-06-01 松下電器産業株式会社 情報記録媒体及びその領域管理方法
JP4559359B2 (ja) * 2003-02-20 2010-10-06 パナソニック株式会社 情報記録媒体及びその領域管理方法
JP2006518897A (ja) * 2003-02-25 2006-08-17 インフィニオン・テクノロジーズ・フラッシュ・リミテッド マルチプロトコルメモリカード
US7702921B2 (en) 2003-03-10 2010-04-20 Giesecke & Devrient Gmbh Loading media data into a portable data carrier
US7296097B2 (en) 2003-03-20 2007-11-13 Renesas Technology Corp. Memory card and initialization setting method thereof to avoid initializing operation failure in a memory card
WO2004084127A1 (ja) * 2003-03-20 2004-09-30 Renesas Technology Corp. メモリカードおよびその初期化設定方法
US7971791B2 (en) 2003-07-03 2011-07-05 Renesas Electronics Corporation Multi-function card device
JP2007534034A (ja) * 2003-08-20 2007-11-22 イメイション・コーポレイション 複数のコネクタ標準と互換性を有するメモリカード
JP4913726B2 (ja) * 2004-04-16 2012-04-11 サンディスク コーポレイション 2つの規格の接点セットを有するメモリカード
JP2007533036A (ja) * 2004-04-16 2007-11-15 サンディスク コーポレイション 2つの規格の接点セットを有するメモリカード
US8544752B2 (en) 2005-03-24 2013-10-01 Ricoh Company, Ltd. Nonvolatile memory card adaptable to plural specifications
JP2006268459A (ja) * 2005-03-24 2006-10-05 Ricoh Co Ltd 不揮発性メモリーカード及び形状変換アダプタ
WO2006101057A1 (en) * 2005-03-24 2006-09-28 Ricoh Company, Ltd. Nonvolatile memory card adaptable to plural specifications
JP2007018194A (ja) * 2005-07-06 2007-01-25 Matsushita Electric Ind Co Ltd 情報記録メディアの制御方法、情報処理装置及び情報記録メディア
JP2007109050A (ja) * 2005-10-14 2007-04-26 Keii Kagi Kofun Yugenkoshi ディジタル保存装置
JP2007122241A (ja) * 2005-10-26 2007-05-17 Renesas Technology Corp メモリカードコントローラ及びメモリカード
JP2009518740A (ja) * 2005-12-08 2009-05-07 ホー・チュン−シン スマートカード
JP2009522685A (ja) * 2006-01-06 2009-06-11 ホー・チュン−シン デュアルuiccに基づいて付加サービスを提供する方法
JP2014509001A (ja) * 2011-02-02 2014-04-10 ティー―データ・システムズ(エス)ピーティーイー・リミテッド デジタルスイッチ回路を有するワイヤレス機能を備えたポータブルデータ記憶装置とその中にデータを記憶するための方法
US9619156B2 (en) 2014-07-31 2017-04-11 Samsung Electronics Co., Ltd. Storage device, memory card, and communicating method of storage device
JP2017097659A (ja) * 2015-11-25 2017-06-01 凸版印刷株式会社 Icカード、データ保護方法、セキュリティ関連プログラム、及び通信システム

Similar Documents

Publication Publication Date Title
KR100555003B1 (ko) 기억 장치
JP3865629B2 (ja) 記憶装置
US9979540B2 (en) System and method for updating read-only memory in smart card memory modules
US7900830B2 (en) System and method for sensing biometric and non-biometric smart card devices
US7469837B2 (en) Storage device
JP2003030613A (ja) 記憶装置及び記憶装置を備えたデータ処理装置
JP2006139556A (ja) メモリカード及びそのカードコントローラ
EP2220563A2 (en) Intelligent controller system and method for smart card memory modules
JP4185680B2 (ja) 記憶装置
EP2378456A2 (en) Information processing device, information processing method, and program
CN112905495A (zh) 存储装置及其操作方法、非易失性存储器系统
US20030149877A1 (en) Smart card with keypro function
KR20150074820A (ko) 금융 마이크로 sd 카드를 구비한 보안 결제 장치 및 이의 실행 방법
JP2005346378A (ja) セキュアデバイス
JP2004102885A (ja) 非接触icカードリーダ装置
KR20150074819A (ko) 금융 마이크로 sd 카드를 구비한 결제 단말 장치 및 이의 실행 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060112

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080520

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081202

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090331