(57)【特許請求の範囲】
【請求項１】
データを記憶する記憶装置であって、
外部機器と接続される外部端子と、
不揮発性の記憶媒体で構成され、前記外部機器が該記憶装置を使用する際に用いるソフトウエアが格納されたフラッシュメモリと、
該記憶装置の動作を制御するコントローラチップとを有し、
前記コントローラチップは、
前記外部端子の制御を行う外部端子制御回路と、
前記ソフトウエアを前記外部機器に送信するアップロードモジュールと、
前記コントローラチップ内の各回路を制御するコントローラモジュールとを有し、
前記アップロードモジュールは、
前記外部端子制御回路と前記コントローラモジュールとに接続され、
前記外部機器と通信を行い、前記外部機器に対して前記ソフトウエアを送信するために１または複数のモジュールを呼び出して処理を行うモジュール制御装置と、
前記フラッシュメモリから読み出した前記ソフトウエアの一部もしくは全部を格納するＲＡＭと、
前記アップロードモジュールの初期化を行う初期化モジュールと、
前記外部機器からの前記ソフトウエアの読み出し要求に対して、前記ソフトウエアが格納されている前記フラッシュメモリの領域へのアドレスの補完を行うアドレス変換モジュールと、
前記アップロードモジュールの終了処理を行う終了モジュールとを有して、
該記憶装置が前記外部機器から電源を供給された際に、前記外部機器の指示に応じて、前記フラッシュメモリに格納されている前記ソフトウエアを読み出し、前記外部端子を介して前記外部機器に送信し、
該記憶装置は、
前記アップロードモジュールによる前記ソフトウエアの送信終了後、前記アップロードモジュールと前記外部端子制御回路との接続を論理的に解除し、前記外部端子制御回路と前記コントローラモジュールとを論理的に接続することを特徴とする記憶装置。
【請求項２】
データを記憶する記憶装置であって、
外部機器と接続される外部端子と、
不揮発性の記憶媒体で構成され、前記外部機器が該記憶装置を使用する際に用いるソフトウエアが格納されたフラッシュメモリと、
該記憶装置の動作を制御するコントローラチップと、
前記ソフトウエアを前記外部機器に送信するアップロードモジュールチップとを有し、
前記アップロードモジュールチップは、
前記コントローラチップに接続され、
前記外部端子の制御を行う外部端子制御回路と、
前記外部機器と通信を行い、前記外部機器に対して前記ソフトウエアを送信するために１または複数のモジュールを呼び出して処理を行うモジュール制御装置と、
前記フラッシュメモリから読み出した前記ソフトウエアの一部もしくは全部を格納するＲＡＭと、
前記アップロードモジュールチップの初期化を行う初期化モジュールと、
前記外部機器からの前記ソフトウエアの読み出し要求に対して、前記ソフトウエアが格納されている前記フラッシュメモリの領域へのアドレスの補完を行うアドレス変換モジュールと、
前記アップロードモジュールチップの終了処理を行う終了モジュールとを有して、
該記憶装置が前記外部機器から電源を供給された際に、前記外部機器の指示に応じて、前記フラッシュメモリに格納されている前記ソフトウエアを読み出し、前記外部端子を介して前記外部機器に送信し、送信終了後は前記外部端子制御回路として動作することを特徴とする記憶装置。
【請求項３】
データを記憶する記憶装置であって、
外部機器と接続される外部端子と、
不揮発性の記憶媒体で構成され、前記外部機器が該記憶装置を使用する際に用いるソフトウエアが格納されたフラッシュメモリと、
該記憶装置の動作を制御するコントローラチップとを有し、
前記フラッシュメモリには、前記ソフトウエアに関する情報および前記ソフトウエアが前記フラッシュメモリに格納されている領域を示す情報からなるソフトウエア情報が格納され、
前記コントローラチップは、
前記外部端子の制御を行う外部端子制御回路と、
前記ソフトウエアを前記外部機器に送信するアップロードモジュールと、
前記コントローラチップ内の各回路を制御するコントローラモジュールとを有し、
前記アップロードモジュールは、
前記外部端子制御回路と前記コントローラモジュールとに接続され、
前記外部機器と通信を行い、前記外部機器に対して前記ソフトウエア情報および前記ソフトウエアを送信するために１または複数のモジュールを呼び出して処理を行うモジュール制御装置と、
前記フラッシュメモリから読み出した前記ソフトウエア情報および前記ソフトウエアの一部もしくは全部を格納するＲＡＭと、
前記アップロードモジュールの初期化を行う初期化モジュールと、
前記外部機器からの前記ソフトウエア情報の読み出し要求に対して、前記ソフトウエア情報が格納されている前記フラッシュメモリの領域へのアドレスの補完を行うアドレス変換モジュールと、
前記アップロードモジュールの終了処理を行う終了モジュールとを有して、
該記憶装置が前記外部機器から電源を供給された際に、前記ソフトウエア情報を前記外部端子を介して前記外部機器に送信し、前記外部機器の指示に応じて、前記フラッシュメモリの領域に格納されている前記ソフトウエアを前記ソフトウエア情報を用いて読み出し、前記外部端子を介して前記外部機器に送信し、
該記憶装置は、
前記アップロードモジュールによる前記ソフトウエアの送信終了後、前記アップロードモジュールと前記外部端子制御回路との接続を論理的に解除し、前記外部端子制御回路と前記コントローラモジュールとを論理的に接続することを特徴とする記憶装置。
【請求項４】
データを記憶する記憶装置であって、
外部機器と接続される外部端子と、
不揮発性の記憶媒体で構成され、前記外部機器が該記憶装置を使用する際に用いるソフトウエアが格納されたフラッシュメモリと、
該記憶装置の動作を制御するコントローラチップと、
前記ソフトウエアを前記外部機器に送信するアップロードモジュールチップとを有し、
前記フラッシュメモリには、前記ソフトウエアに関する情報および前記ソフトウエアが前記フラッシュメモリに格納されている領域を示す情報からなるソフトウエア情報が格納され、
前記アップロードモジュールチップは、
前記コントローラチップに接続され、
前記外部端子の制御を行う外部端子制御回路と、
前記外部機器と通信を行い、前記外部機器に対して前記ソフトウエアを送信するために１または複数のモジュールを呼び出して処理を行うモジュール制御装置と、
前記フラッシュメモリから読み出した前記ソフトウエア情報および前記ソフトウエアの一部もしくは全部を格納するＲＡＭと、
前記アップロードモジュールチップの初期化を行う初期化モジュールと、
前記外部機器からの前記ソフトウエアの読み出し要求に対して、前記ソフトウエアが格納されている前記フラッシュメモリの領域へのアドレスの補完を行うアドレス変換モジュールと、
前記アップロードモジュールチップの終了処理を行う終了モジュールとを有して、
該記憶装置が前記外部機器から電源を供給された際に、前記ソフトウエア情報を前記外部端子を介して前記外部機器に送信し、前記外部機器の指示に応じて、前記フラッシュメモリの領域に格納されている前記ソフトウエアを前記ソフトウエア情報を用いて読み出し、前記外部端子を介して前記外部機器に送信し、送信終了後は前記外部端子制御回路として動作することを特徴とする記憶装置。
【請求項５】
前記コントローラチップは、
データの暗号化及び復号化を行う暗号処理部を有することを特徴とする請求項１〜４のいずれか１項に記載の記憶装置。
【請求項６】
前記暗号処理部は、ＩＣカードチップであることを特徴とする請求項５記載の記憶装置。
【請求項７】
請求項１〜６のいずれか１項に記載の記憶装置と接続される機器であって、
前記記憶装置を使用するためのソフトウエアを格納する記憶領域と、
前記記憶装置と接続される接続部と、
前記記憶装置に格納された前記ソフトウエアを読み出し、前記記憶領域に格納する手段とを有することを特徴とする機器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はセキュリティ機能を搭載した記憶装置及びその記憶装置が挿入可能なホスト機器及びその記憶装置が挿入されたホスト機器に係り、フラッシュメモリチップ及びコントローラを有するメモリカード及びメモリカードが挿入可能な装置及びメモリカードが挿入された端末装置に関する。
【０００２】
【従来の技術】
ＭｕｌｔｉＭｅｄｉａＣａｒｄ（「ＭｕｌｔｉＭｅｄｉａＣａｒｄ」はＩｎｆｉｎｅｏｎＴｅｃｈｎｏｌｏｇｉｅｓＡＧの登録商標である。以下「ＭＭＣ」と称する）は、外部端子に電源供給端子、クロック入力端子、コマンド入出力端子、データ入出力端子、グランド端子、CS端子を含み、記憶素子からなるフラッシュメモリとこれを制御するマイコンチップを有する。ＭＭＣは外部端子から電源が供給されることで動作し、外部端子を通じて、外部端子と接続される外部機器（以下、「ホスト機器」と称する）、例えば携帯電話などとの間で電気信号を送受信することにより、フラッシュメモリのデータの読み書き及び転送モード、データの転送単位の変換等をおこなう。現在、ＭＭＣは、音楽データや画像データ等の保存及び読み出しをおこなうための小型ストレージとして利用されている。
【０００３】
【発明が解決しようとする課題】
ＭＭＣにモジュールもしくはチップを追加することで新たな機能を持たせることができる。従来、ＭＭＣに追加された新たな機能をホスト機器が利用する際は、ホスト機器は、ＭＭＣの新しい機能に対応するソフトウエア（ドライバ）を別の装置等からダウンロードする必要があった。また、ホスト機器は、ホスト機器に接続されるＭＭＣごとにＭＭＣに対応するドライバを格納・設定する必要があり、ホストにおいて多くのメモリ容量を消費するという問題があった。さらに、ホスト機器を有するユーザがＭＭＣを利用する際に特別な操作が必要なため利便性は低いという問題があった。また、ＭＭＣに新たに追加された機能が、機能として同一であっても、ＭＭＣへの実装の仕方の違いにより、またＭＭＣの仕様のバージョンの違いにより、ホスト機器が異なるドライバを要する必要があるという問題があった。
【０００４】
本発明の目的は、新たな機能を有するＭＭＣを動作させるモジュールを提供することである。
【０００５】
【課題を解決するための手段】
上記の目的を達成するために、本発明では、データを記憶する記憶装置であって、外部機器と接続される外部端子と、外部機器が記憶装置を使用する際に用いるドライバが格納されたフラッシュメモリと、記憶装置の動作を制御する制御部とを有し、制御部は、外部機器の指示に応じて、フラッシュメモリに格納されているドライバを読み出し、外部端子を介して外部機器に送信する構成とする。
【０００６】
又、本発明の別の実施態様として、データを記憶する記憶装置であって、外部機器と接続される外部端子と、不揮発性の記憶媒体で構成されたフラッシュメモリと、記憶装置の動作を制御する制御部とを有し、制御部は、外部機器が記憶装置を使用する際に用いるソフトウエアが格納されているフラッシュメモリの領域を示す情報を有し、外部機器の指示に応じて、フラッシュメモリの領域に格納されているソフトウエアを情報を用いて読み出し、外部端子を介して外部機器に送信する構成としても良い。
【０００７】
さらに、制御部は、データの暗号化及び復号化を行う暗号処理部を有する構成とすることができる。
【０００８】
また、暗号処理部は、ＩＣカードチップであってもよい。
【０００９】
さらに、本発明においては、ソフトウエアが暗号化されており、制御部は、外部機器の指示に応じて前記ソフトウエアを読み出すときに、暗号処理部を用いてソフトウエアを復号化して外部機器に送信する構成とすることができる。
【００１０】
また、本発明の別の実施態様として、データを記憶する記憶装置であって、外部機器と接続される外部端子と、不揮発性の記憶媒体で構成されたフラッシュメモリと、記憶装置の動作を制御する制御部と、データの暗号化及び復号化を行う暗号処理部とを有し、制御部は、外部機器が記憶装置を使用する際に用いるソフトウエアが格納されている前記フラッシュメモリの領域を示す情報を有し、外部機器の指示に応じて、フラッシュメモリの領域に格納されているソフトウエアを情報を用いて読み出し、暗号処理部を用いて復号し、外部端子を介して外部機器に送信するという構成としてもよい。
【００１１】
【発明の実施の形態】
図1は、本発明を適用したＭＭＣの内部構成を示す図である。ＭＭＣ１２０は、ＭＭＣ仕様に準拠するのが好ましい。ＭＭＣ１２０は、ＭＭＣ１２０と接続されたホスト機器１００が発行するＭＭＣ仕様に準拠したメモリカードコマンドにしたがって、機密データ保護や個人認証などに必要な暗号演算をおこなうセキュリティ処理機能を有する。ホスト機器１００は、例えば、携帯電話、携帯情報端末（ＰＤＡ）、パーソナルコンピュータ、音楽再生（及び録音）装置、カメラ、ビデオカメラ、自動預金預払器、街角端末、決済端末等が該当する。
【００１２】
ＭＭＣ１２０は、ＭＭＣ外部端子１３０、コントローラチップ１５０、及びフラッシュメモリチップ１６０を有する。ＭＭＣ外部端子１３０は、ホスト機器１００と接続される電源供給端子、クロック入力端子、コマンド入出力端子、データ入出力端子、グランド端子等を有する。フラッシュメモリチップ１６０は、不揮発性の半導体メモリを記憶媒体とするメモリチップであり、フラッシュメモリコマンドによりデータの読み書きがなされる。フラッシュメモリチップ１６０へのデータアクセスについてセキュリティ処理が伴う場合、そのセキュリティ処理は暗号処理機能付きメモリ装置１７０を介して行われる。
【００１３】
コントローラチップ１５０は、アップロードモジュール１４０及び暗号処理機能付きメモリ装置１７０を有する。
【００１４】
図１２は、コントローラチップ１５０の構成を示す図である。ＭＭＣインターフェイス制御回路１２１０は、ＭＭＣ外部端子１３０、アップロードモジュール１４０、及びコントローラモジュール１２２０と接続されており、ＭＭＣ外部端子１３０の制御を行う。アップロードモジュール１４０は、ＭＭＣ インターフェイス制御回路１２１０及びコントローラモジュール１５０と接続されている。アップロードモジュール１４０は、ホスト機器１００とＭＭＣ１２０とが接続され、ＭＭＣ１２０がホスト機器１００から電源を供給される時に、ホスト機器１００にプログラムをアップロードする機能を有する。アップロードされるプログラムは、インターフェイスドライバ、コマンド変換モジュール、及び並列化高速処理用ドライバ等が該当する。これらのプログラムは、ＭＭＣ仕様と互換性のある外部端子を有し、かつＭＭＣ標準の仕様に基づくコマンド解釈機能又はフラッシュメモリアクセス機能又はモード変換機能等を有するホスト機器に対して、ＭＭＣ内部に追加された機能の利用及びＭＭＣの仕様変更等に適応するのに用いられる。
【００１５】
アップロード作業を開始するアップロードモジュール１４０は、ＭＭＣ インターフェイス制御回路１２１０と論理的に接続される。アップロードの作業終了後は、アップロードモジュール１４０とＭＭＣ インターフェイス制御回路１２１０との論理的接続は解除され、ＭＭＣ インターフェイス 制御回路１２１０は、コントローラモジュール１２２０と論理的に接続される。この状態は、再び電源が入れられるまで有効である。コントローラモジュール１２２０は、アップロードモジュール１４０、ＭＭＣ インターフェイス 制御回路１２１０、フラッシュメモリ制御回路１２３０、及び暗号処理機能付きメモリ装置インターフェイス制御回路１２４０と接続されており、これらを制御するモジュールである。暗号処理機能付きメモリ装置１７０は、暗号処理機能付きメモリ装置インターフェイス制御回路１２４０と接続されており、セキュリティ処理機能を備えたメモリ装置である。
【００１６】
コントローラモジュール１２２０は、暗号処理機能付きメモリ装置インターフェイス制御回路１２４０に暗号処理用コマンドを発行することによって、ホスト機器１００から要求されたセキュリティ処理に必要な演算の実行を暗号処理機能付きメモリ装置１７０に指示する。暗号処理機能付きメモリ装置１７０のインターフェイスの仕様がＭＭＣの標準の仕様と異なる場合、ホスト機器１００から送られてきたデータは、コントローラモジュール１２２０又は暗号処理機能付きメモリ装置インターフェイス制御回路１２４０が有する命令変換装置で変換されて暗号処理機能付きメモリ装置１７０へ送られる。
【００１７】
図１３は、暗号処理演算機能付きメモリ装置１７０の構成を示す図である。暗号処理演算機能付きメモリ装置１７０は、ＣＰＵ１３２０、ＲＡＭ１３５０、アプリケーション及びデータを格納するＲＯＭ１３３０、及びＥＥＰＲＯＭ１４４０を有する。暗号演算の処理をおこなうためのコプロセッサ１３６０を有してもよい。これらの装置は内部バス１３８０で接続され、外部接続インターフェイス制御回路１３７０、及び外部接続インターフェイス１３１０を介して外部の機器と接続される。このような機能を有する暗号演算機能付きメモリ装置１７０としては、例えばＩＣカードチップが該当する。ＩＣカードチップは、外部機器を接続するためのシリアルインターフェイスを有する。シリアルインターフェースの電気的及び論理的仕様は、ＩＳＯ７８１６において定められた仕様に準拠している。このようなホスト機器１００より送られるＭＭＣの標準命令と異なる命令を処理するモジュールは、演算機能付きメモリ装置１２４０に限らない。このような機器として、具体的には、暗号処理装置及びBluetooth端末モジュール等が該当する。暗号処理装置は暗号処理機能付きメモリ装置１７０からＣＰＵを除き、複数の暗号処理命令を実行するための専用プロセッサを付加したものである。Bluetooth端末モジュールはBluetooth SIG(Special Interest Group)により標準化がなされている仕様に従ったモジュールである。
【００１８】
ＭＭＣ１２０は、ＭＭＣ仕様に準拠した外部インターフェイスを有するのが好ましい。ＭＭＣ１２０は、一種類の外部インターフェイスを通じて、標準メモリカードコマンド（フラッシュメモリチップ１６０へアクセスするためのコマンド）に加え、セキュリティ処理を実行するコマンドを受け付けることができる。コントローラチップ１５０は、ＭＭＣ１２０の受信したコマンドが標準メモリカードコマンドであるか、セキュリティ処理を実行するコマンドであるかによって、アクセスすべきチップもしくはモジュールを選択し、コマンド処理を分配する機能を有する。標準メモリカードコマンドを受信したコントローラチップ１５０は、フラッシュメモリチップ１６０を選択し、これにフラッシュメモリコマンドを発行してホスト機器１００とデータの読み書きをおこなう。また、セキュリティ処理を実行するコマンドを受信したコントローラチップ１５０は、暗号処理機能付きメモリ装置１７０を選択し、セキュリティ処理の実行を指示する。この時、受信したコマンドがＩＣカードチップ１７０に適したフォーマットでない場合には、フォーマットの変換をおこなう。
【００１９】
図２及び図３は、ホスト機器１００へＭＭＣ１２０を挿入する際に行われる処理の流れを示すフローチャートである。
【００２０】
まず、ホスト機器１００は、ＭＭＣ１２０を活性化するために電源供給を開始する（２０１）。電源供給が開始されたＭＭＣ１２０は、アップロードモジュール１４０を起動する(２５１)。起動されたアップロードモジュール１４０は、暗号処理機能付きメモリ装置１７０の初期化処理をおこない、ホスト機器１００からＣＭＤ０が発行されるのを待つ（２５３）。ＣＭＤ０はＭＭＣ標準メモリカードのコマンドの一つで、ＭＭＣをソフトウエアリセットするのに用い、ＭＭＣを初期化する際に発行されるコマンドである。
【００２１】
ホスト機器１００は、ＭＭＣ１２０への電源供給開始後、ＭＭＣ１２０に対してＣＭＤ０を発行する。このときホスト機器１００は、ＭＭＣ外部端子１３０のＣＳピンへ供給する信号をＬＯＷにするかＨＩＧＨにするかによって、ＭＭＣ１２０のモードを切り替える。ＣＳピンがＬＯＷの状態でＣＭＤ０が発行された場合、ＭＭＣ１２０は、ＳＰＩモードとして初期化処理をおこなう（２０２）。ＭＭＣ１２０は、ＣＭＤ０を受け取るとＣＳピンの状態に基づいて、ＭＭＣ１２０自身のモードを切り替える（２５２）。ＣＳピンがＬＯＷならば、ＳＰＩモードとして動作する（２５４）。ＣＳピンがＨＩＧＨの場合、ホスト機器１００は、ＭＭＣ１２０の初期化を指示する（２０３）。ここでSPIはSerial Peripheral Interfaceの略である。ＭＭＣは通常、相対アドレスによりカードの選択をおこない、コマンド入出力端子でホスト機器からのコマンドの受信とレスポンスの送信を、データ入出力端子でデータの入出力をおこなう。これに対しＳＰＩモードではＣＳ端子をＬＯＷにアサートすることでカードの選択を行い、ＭＭＣのコマンド入出力端子と同じ端子を用いるデータ入力端子でレスポンスとデータの送信を、ＭＭＣのデータ入出力端子と同じ端子を用いるデータ出力端子でコマンドとデータの受信をおこなう。またＭＭＣとＳＰＩモードはレスポンスのフォーマットや利用できるコマンドにおいても違いを持つ。ホスト機器１００の指示を受けたアップロードモジュール１４０は、ＭＭＣ１２０の初期化をおこなう。初期化処理が終了しなかった場合は初期化処理を繰り返し実行する（２５７）。初期化が成功した場合、アップロードモジュール１４０は、ホスト機器１００からのコマンド受け待ち状態に入る（２５９）。
【００２２】
ホスト機器１００がアップロードモジュール１４０に対応していない場合（２０４）、ホスト機器１００はＭＭＣ１２０の初期化を指示するコマンド、すなわちＣＭＤ０を発行する（２０５）。アップロードモジュール１４０は、ＣＭＤ０を受け取ると（２５９）、アップロードモジュール１４０自身の動作を停止させ、ＭＭＣ１２０は標準メモリカードコマンドに従いＭＭＣ１２０の動作を開始する（２６１）。この場合、ホスト機器１００は、標準に搭載されたドライバを用いて動作する（２０７）。この初期化の手順は、ホスト機器１００がアップロードモジュール１４０に対応していない場合に、ＭＭＣ１２０を通常の標準コマンドフォーマットに従うＭＭＣとして動作させたい場合に用いられる。
【００２３】
ホスト機器１００がアップロードモジュールに対応する端末なら（２０３）、ホスト機器１００は初期化アプリケーションを起動する（２０９）。初期化アプリケーションは、ＭＭＣ１２０に搭載されたドライバをダウンロード、もしくはホスト機器１００内のライブラリに登録されたドライバを呼び出すため等の初期設定をおこなう。初期設定終了後、ホスト機器１００は、ＭＭＣ１２０に対しドライバ情報送信要求をおこなう（２１１）。ＭＭＣ１２０は、コマンド受け待ち時にドライバ情報の要求を受け取ると（２６３）、フラッシュメモリ１６０よりドライバ情報を読み出し、ホスト機器１００に送信する（３５１）。ホスト機器１００は、ＭＭＣ１２０から受け取ったドライバ情報の内容をホスト機器１００に格納されたドライバ情報と照合し（３０１）、ドライバのダウンロードが必要かどうかを判断する（３０３）。この時、ホスト機器１００は、ホスト機器１００を使用するユーザにドライバのダウンロードをおこなうかどうかを確認してもよい。
【００２４】
ドライバ情報には、ドライバ情報のサイズ、ドライバの種別、製造者名、登録日時、バージョンNo.、容量、プログラムの種類、対応端末、暗号化されている場合の鍵情報および対応するアプリケーション情報、ドライバデータのハッシュ値、シーケンスコマンドファイルのパス、及び格納場所へのパス等の情報が含まれている。ドライバ情報のサイズは、固定ビット長によって表されるドライバ情報のサイズである。ドライバの種別は、そのドライバが何のために用いられるかを示す。製造者名は、製造元の登録番号もしくは登録者を特定可能な文字列である。登録日時は、ドライバがカードに登録された日時を示す。バージョンNo.は、ドライバの改定番号を示す。容量は、ホストに要求されるドライバプログラムの容量を示す、プログラムの種類は、プログラムが配布される時の形式（バイナリコード、Javaアプレット、DLL、ソースプログラム等）を示す。対応端末は、対応するホスト機器のベンダー名（例えばNTT ５０３i シリーズ等）を示す。暗号化された場合の鍵情報及びアプリケーション情報は、ドライバが共通鍵もしくは秘密鍵等で暗号化されている場合に復号をおこなう暗号処理機能付きメモリ装置１７０に設定する鍵情報等が含まれたDF（Dedicated File）へのパス及び設定情報を指す。ドライバデータのハッシュ値は、ドライバのデータのハッシュを取った値である。ハッシュ値を計算するために用いるアルゴリズムとしては、SHA-1、MD5等が考えられる。シーケンスコマンドファイルのパスは、ドライバ読み出し手続きを記述したファイルで、オプショナルシーケンス等において図２及び図３とは異なるシーケンス処理を要求する場合にあらかじめ読み込んでおく。格納場所へのパスはURL（Uniform Resource Locator）でもよい。URLの場合、ホスト機器１００は、インターネットを介してドライバのダウンロードをおこなう。
【００２５】
ドライバ情報は、暗号処理機能付きメモリ装置１７０に格納されてもよい。この場合、アップロードモジュール１４０は、保存場所、及びファイルを開くためのPIN情報等を指定して、暗号処理機能付きメモリ装置１７０からドライバ情報の読み出しをおこなう。また、ドライバ情報に含まれるドライバの種類の数は複数個でも良く、含まれるデータは上記の種別に限られない。
【００２６】
ＭＭＣ１２０がドライバ情報を送った後、初期化アプリケーションはオプショナルシーケンスを実行しても良い（３８０）。オプショナルシーケンスは、ドライバ情報に含まれる暗号化された場合の鍵情報及びアプリケーション情報に基づき、暗号処理機能付きメモリ装置１７０を用いてフラッシュメモリチップ１６０に格納された暗号化されたドライバを認証及び復号し、ホスト機器１００へ送信する場合に使用される。オプショナルシーケンスの開始と終了は、ホスト機器１００がＭＭＣ１２０にＲＥＡＤ命令を送る際に、ドライバを指示するアドレスを送付するかどうかで決定される。ホスト機器１００は、この段階でＭＭＣ１２０のセキュリティ機能を直接呼び出せない。この場合、ホスト機器１００は、あるシーケンスな処理に基づいたＷＲＩＴＥ命令とＲＥＡＤ命令をセキュリティ命令の代用として発行する。アップロードモジュール１４０は、ホスト機器１００から発行されたＷＲＩＴＥ命令及びＲＥＡＤ命令を処理手順に従って処理することで、セキュリティ命令と解釈して実行する。
【００２７】
図１４は、ドライバが暗号化されている場合のドライバ読み込み処理のフローチャートである。アップロードモジュール１４０は、フラッシュメモリチップ１６０よりドライバ情報を読み込み（１４５１）、ホスト機器１００に送信する（１４０１）。ホスト機器１００は、送信されたドライバ情報を元にドライバの保存場所のパスと復号のための鍵が保存されたファイルを認証するためのＰＩＮをＷＲＩＴＥ命令で指定する（１４０３）。アップロードモジュール１４０は、ホスト機器１００より送られてきた命令がＷＲＩＴＥ命令であるか（１４５３）、パス及びＰＩＮ情報が正しいかどうかを判別し（１４５５）、正しいならばフラッシュメモリチップ１６０より暗号化されたドライバを読み出して復号を行う（１４５７）。パス及びＰＩＮ情報が正しくない場合、アップロードモジュール１４０は、エラー処理を実行してエラーをホスト機器１００に通知する（１４６１）。エラー処理は、ＰＩＮの認証失敗によるアクセス制限やＷＲＩＴＥ−ＲＥＡＤシーケンスのリセット等が該当する。ホスト機器１００は、ドライバが判読可能で正しいかどうかを判別し(１４０５)、正しい場合はドライバの登録ステップ３０９に移行する。正しくない場合、ホスト機器１００は、再びドライバを指定しなおす。正しくない場合とは、ドライバが何らかの理由により書き変わっている場合、指定された鍵が正しくない場合、及びドライバが暗号化されていない場合等が該当する。これらの処理は、アップロードモジュール１４０の実装の仕方によって様々な手順が考えられるが、ＷＲＩＴＥ命令−ＲＥＡＤ命令の順で処理を行うことが望ましい。
【００２８】
図３に戻って説明を続ける。
【００２９】
ホスト機器１００からドライバ送信要求が出されると（３０５）、アップロードモジュール１４０は、フラッシュメモリチップ１６０からドライバを読み出し（３５３）、ホスト機器１００に送信する（３５５）。この時、ドライバは認証を通じてダウンロードされても良い。又、ドライバは種別、サイズ、ハッシュ値の情報を含んでも良い。次にホスト機器１００は、ドライバの登録を行う（３０９）。その後、ホスト機器１００は、ドライバのフォーマットに従った処理を開始する（３１３）。ＭＭＣ１２０は、アップロードモジュール１４０の処理を終了する（３５７）。もし、ホスト機器１００がドライバの登録に関して制限を設けているならば、ホスト機器１００は、内部でその処理に適合した処理をおこなう。具体的には、ホスト機器１００のサービスを提供するベンダーが認証したIDを有するアプリケーション(ドライバ)しかホスト機器１００内で実行できない場合等が該当する。この場合、ホスト機器１００は、ドライバの有する認証情報とホスト機器１００内部又はインターネット上のサーバー等外部にある認証情報を用いて、このアプリケーション(ドライバ)が登録可能か判断をおこなう。
【００３０】
図４は、ホスト機器１００としてJava搭載の携帯端末を想定し、WAP(Wireless Application Protocol)のサービスをおこなう例を示した図である。
【００３１】
ホスト機器１００は、ホスト機器外部端子４１０ を介してＭＭＣ インターフェイスドライバ４２０を用いてＭＭＣ１２０と通信をおこなう。ここでＭＭＣ１２０はセキュリティ処理をおこなうWIM（WAP Identity Module）として動作する。WIMとは、ワイヤレス通信ネットワーク上でサービスをおこなうアプリケーションのために、WAP forumにおいて定められた仕様である。
【００３２】
ホスト機器外部端子４１０は、ＭＭＣ外部端子１３０と互換性のあるインターフェイスを有する。初期化アプリケーション４３０は、ＭＭＣ インターフェイスドライバ４２０を介しＭＭＣ１２０とデータの送受信をおこなう機能を有する。初期化アプリケーション４３０は、アップロードモジュール１４０をサポートしていないＭＭＣ１２０と互換性を保ち、汎用のアップロードモジュールの処理手順で可能な範囲で、この初期化アプリケーション４３０とＭＭＣ インターフェイスドライバ４２０もしくはホスト外部端子４１０の間に初期設定ドライバを含んでもよい。初期設定ドライバには、コマンド変換ドライバ、インターフェイス変換ドライバ等が該当する。ホスト機器１００がＭＭＣ１２０と互換性のないインターフェイス制御回路で動作している場合や、外部端子変換コネクターを用いて動作をおこなう場合等に上記機能を使用する。初期化アプリケーション４３０は単独で動作してもよく、他のアプリケーションの中に含まれてもよい。この場合、初期化アプリケーションはJava上で動作するアプレットであることが望ましい。初期化アプリケーション４３０は、ＷＴＬＳ４７０もしくはＷＡＰアプリケーション４６０からWIM命令の送信もしくはＷＩＭ命令の応答を受信するためのドライバをＭＭＣ１２０から読み込む。この手順は前記の図２及び図３に述べたとおりである。
【００３３】
アップロード作業終了後、ホスト機器１００に含まれるアプリケーションは、ダウンロードされたドライバを用いてＭＭＣ１２０のセキュリティ処理を利用することが可能になる。この時ドライバがインターフェイスドライバを含むものであるなら、外部端子変換コネクターを利用することで任意の仕様の外部端子に対してこの仕組みを利用することができる。
【００３４】
ＭＭＣ１２０以外の外部端子の使用としては、SDメモリカード、及びメモリスティック（メモリスティックは、（株）ソニーの登録商標である）等が考えられる。SDメモリカードは、幅２４ミリメートル、長さ３２ミリメートル、厚さ２.１ミリメートルであり、９つの外部端子をもち、フラッシュメモリを搭載した小型メモリカードである。
【００３５】
任意の仕様の外部端子を使用する場合、ホスト機器１００は、初期化時にカードから送られてきたドライバ情報に基づき、自らの外部端子インターフェイスとカード側のインターフェイスの規格ならびに利用したいサービス、その他の情報に合致したドライバを選択し、選択したドライバの送信をカードに要求する。外部端子の形状、端子数、電圧、機能、及び位置等に相違がある場合は、変換アダプターを介して接続をおこなう。カードから受信したドライバは、ホスト機器１００において、ドライバのプログラムの実行形式に応じて実行される。例えば、送信されたドライバがJavaアプレットの形式であるなら、JavaVM上でドライバを動作させる。送信されたドライバが、Cのソースコードであるなら、端末の仕様に基づいてソースコードをコンパイルして利用する。
【００３６】
この機構により、ＭＭＣ１２０がどのような仕様に従いWIM primitiveを解釈してセキュリティ処理を実行するかに関わらず、ホスト機器１００はＭＭＣ１２０のセキュリティ機能と標準メモリカードコマンドを利用することができる。ＭＭＣ１２０が複数の仕様を有する要因としては、WAP-WIMの仕様の変更、暗号処理機能付きメモリ装置１７０の仕様の変更、コントローラチップ１５０と通信する仕様の変更、及びＭＭＣ１２０と外部端子において互換性を有するメモリカードを利用する際に伴う各種変更等が該当する。
【００３７】
図８は、アップロードモジュール１４０の内部構成を示した図である。アップロードモジュール１４０は、ＭＭＣ インターフェイス制御回路１２１０及びコントローラモジュール１２２０と接続されている。モジュール制御装置８２０は、ホスト機器１００と通信をおこない、ドライバのアップデートのためにシーケンスな処理を行う回路である。モジュール制御装置８２０は、処理ごとに一つ、もしくは複数のモジュールを呼び出して処理をおこなう。アップロードモジュール１４０は、ドライバ情報をホスト機器１００に送る際に、ドライバ情報の一部、もしくは全部を格納するＲＡＭ８５０を有してもよい。ＲＡＭ８５０に格納されたドライバ情報は、後の処理のために利用される。ＲＡＭ８５０には、シーケンシャルファイルの一部を格納しても良い。ドライバ情報がＲＡＭ８５０内に収まらない場合、格納されないドライバ情報は、ドライバ情報を利用する際にフラッシュメモリチップ１６０を参照する。
【００３８】
アップロードモジュール１４０は、電源投入時にアップロードモジュール初期化モジュール８３０を呼び出し（ステップ２５１に相当する）、以後、図２及び図３のフローチャートに従って、暗号処理機能付きメモリ装置初期化モジュール８７０（ステップ２５３に相当する）を実行する。アップロードモジュール初期化モジュール８３０は、アップロードモジュール１４０の初期化をおこなう。具体的には、アップロードモジュール１４０に格納されたシーケンス処理を行うためのプログラムの呼び出しや、初期値の設定などが該当する。
【００３９】
暗号処理機能付きメモリ装置初期化モジュール８７０は、暗号処理機能付きメモリ装置１７０の環境設定等をおこなう。ドライバ情報又はドライバの送受信は、ＲＥＡＤ又はＷＲＩＴＥ命令によって実行される（ステップ２６３、３５１、３５３、３５５等。ただし、ＭＭＣの初期化ステップ２５７より後のステップでは、初期化アプリケーション４３０又はシーケンシャルファイルの指示に従い、任意に利用される）。ここで、ＲＥＡＤ命令はＭＭＣ ＣＭＤ１７に、ＷＲＩＴＥ命令はＭＭＣ ＣＭＤ２４に対応するが、ホスト機器１１０及びＭＭＣ１２０が認める他の命令を用いても良い。この場合、１回の読み出し又は書き込みにおけるデータの長さ（ブロック長）は、初期化アプリケーション４３０によって指定される。また、読み出しデータ又は書き込みデータの総量がブロック長よりも長い場合、読み出し又は書き込みの処理は複数回実行される。
【００４０】
ホスト機器１００が、ドライバ情報が格納されているフラッシュメモリ１６０内の領域及びデータの総量がわからない場合、ホスト機器１００は、ドライバ情報を要求するＲＥＡＤ命令を発行する際に、アドレス変換モジュール８４０によって、フラッシュメモリチップ１６０内のドライバ情報が保存されている領域へのアドレスの補完をおこなう。ドライバ情報は先頭６４ビットにドライバ情報の格納領域へのアドレス及びサイズが記述され、ホスト機器１００は、この情報に基づきドライバ情報の読み出しをおこなう。ただし、アドレス変換モジュール８４０に渡されるアドレスは、FFFFFFFFHのような特定の値を用いるか、最初に指定されたものか、指定された回数内に発行されたＲＥＡＤ命令を用いる等の適当な手段で実行される。後者の場合、リードブロックサイズは６４ビット以上か、指定された回数内に６４ビットのデータを読みこめるサイズを指定しなければならない。ドライバ情報及びドライバが格納された領域はカードによって不用意に書き込みができないようにプロテクトされていることが望ましい。
【００４１】
一連の作業が終了するかＭＭＣ１２０が初期化された後にホスト機器１００よりＣＭＤ０が発行された場合、アップロードモジュール１４０はアップロードモジュール終了モジュール８８０を実行する。アップロードモジュール終了モジュール８８０は、アップロードモジュール１４０の終了処理をおこなう。具体的には、暗号処理機能付きメモリ装置１７０の論理チャネルの解放、及びその他データ領域の解放等が該当する。
【００４２】
図９は、ホスト機器１００が有するフラッシュ領域９００内の構成を示した図である。
【００４３】
ホスト機器１００にダウンロードされたドライバのうち、一部分は使用後も破棄されずに、ホスト機器１００内のフラッシュ領域９００にドライバ情報とともに格納される。ホスト機器１００は、図２のステップ３０３において、ＭＭＣ１２０から送信されたドライバ情報のうち、ホスト機器１００の構成、及び利用するアプリケーションの種別に合致する一つ、もしくは複数のドライバ情報と、ドライバライブラリ９１０に格納されたドライバ情報９１２とを照合する。同一のドライバがフラッシュ領域９００に存在する場合、ホスト機器１００は、ドライバライブラリ９１０内のドライバ領域９１４から該当するドライバを読み出して使用することが出来る。適当なドライバが見つからない場合、ホスト機器１００は、ＭＭＣ１２０を通常の仕様の下で利用する。尚、ドライバが暗号化されている場合は、ドライバの復号処理をおこなう。ドライバを利用する際はハッシュ値の計算をおこない、ドライバ情報が含むドライバのハッシュ値と一致しているかの確認をおこなうのが望ましい。ドライバ情報ファイルはカード内のドライバ情報ファイルに準ずる仕様を有する。
【００４４】
ＭＭＣ１２０においては、アップロードモジュール１４０及び暗号処理機能付きメモリ装置１７０は、コントローラチップ１５０の外に配置してもよく、フラッシュメモリ１６０は、コントローラチップ１５０の中に配置してもよい。またフラッシュメモリ１６０内にコントローラチップ１５０を配置してもよい。
【００４５】
図５は、アップロードモジュール１４０を用いない場合で、かつ暗号処理機能付きメモリ装置１７０をＩＣカードチップ５２０とし、コントローラチップ５１０の外部に配置した場合のＭＭＣ１２０の構成を示す図である。
【００４６】
このような場合においてドライバアップデート機能を実行しようとすると、フラッシュメモリチップ１６０においてドライバ情報が格納されている場所をホスト機器１００が保持するか、ＭＭＣ１２０内のレジスタにドライバ情報を保持する等、ホスト機器１００及びＭＭＣ１２０との間で、ドライバ情報の場所を特定する取り決めがなされている必要がある。この時、ホスト機器１００は、ＭＭＣ１２０からドライバ情報を読み出し、その中の情報に含まれるパスから目的のドライバを読み出す。
【００４７】
図６は、図５に示すＭＭＣ１２０において、ホスト機器１００がＭＭＣ１２０からドライバ情報を読み出す処理を示したフローチャートである。
【００４８】
ホスト機器１００は、ＭＭＣ１２０を活性化するために電源供給をおこなう（６０１）。電源の供給が開始されたＭＭＣ１２０は、ICカードチップ５２０の起動をおこなう(６５１)。次にホスト機器１００は、ＭＭＣ１２０の初期化を指示する（６０３）。ＭＭＣ１２０は、この命令に応じ自身の初期化を行う（６５５）。ＭＭＣ１２０の初期化が成功しなかった場合（６０４）、ホスト機器１００はＭＭＣ１２０の初期化を再試行する。
【００４９】
ＭＭＣ１２０の初期化が成功したら、ホスト機器１００は、定められたアドレスからドライバ情報の読み出しをおこなう（６０５）。ＭＭＣ１２０内のコントローラチップ５１０は、ホスト機器１００の要求に従いフラッシュメモリチップ１６０からドライバ情報を読み出し、ホスト機器１００に送信する（６５９）。ホスト機器１００は、受信したドライバ情報をもとにドライバの選択をおこなう。この時、必要ならばシーケンスコマンドファイルを読みだし、ＭＭＣ１２０とホスト機器１００の間で定まった手順を要する処理をおこなっても良い。これは図３のオプショナルシーケンス３８０に相当するものである（６０７）。
【００５０】
次いでホスト機器１００は、ＭＭＣ１２０に対しドライバの送信を要求する（６０９）。ＭＭＣ１２０は、ホスト機器１００が指定したアドレス及び容量に従ってフラッシュメモリチップ１６０からドライバの読み出しを行い、ホスト機器１００に送信する（６６１）。尚、ホスト機器１００が有するドライバライブラリ９１０にホスト機器１００が使用するドライバが格納されているならば、ホスト機器１００は、それを読み出して利用する（６１１）。ホスト機器１００内のドライバライブラリ９１０もしくはＭＭＣ１２０から読み出されたドライバは、ホスト機器１００に登録され（６１３）、以後このドライバの機能を用いるアプリケーションによって利用される（６１７）。
【００５１】
本実施形態によれば、上述の構成を有することで、アップロードモジュール１４０を有する場合よりも低コストで、かつチップ面積を抑えてＭＭＣ１２０を作成することができる。
【００５２】
また、ある特定の期間、特定の指示の下で特定の命令が発行された場合だけ、ドライバ情報を読み出す命令を発行するようなモジュールをＭＭＣ１２０に追加すれば、ホスト機器１００から要求されるドライバ情報の位置に関する情報及び取り決めに対し、カード内のフラッシュメモリチップ１６０内のドライバ情報を配置する際の自由度が増す。具体的には、ＭＭＣ１２０が転送モードに入って最初に発行されたＲＥＡＤ命令に応答して無条件でアドレスの変換をおこない特定の番地からドライバ情報を読み出す場合等が該当する。
【００５３】
ドライバは、暗号化あるいは圧縮化されていたり、ID・ハッシュ値などの情報を含んでいても良い。ＭＭＣ１２０が暗号処理機能付きメモリ装置１７０を含んでいない場合、認証等の作業はホスト機器１００がおこなわなければならない。また、ＭＭＣ１２０が暗号処理機能付きメモリ装置１７０を含んでいる場合でも、ホスト機器１００が認証等の作業をやってもよい。
【００５４】
図７は、アップロードモジュール１４０を有しないＭＭＣ１２０としてJava搭載の携帯端末を想定し、WAP(Wireless Application Protocol)のサービスを実現する構成を示した図である。ただし、本図の場合、図４で示した初期化アプリケーション４３０は、WAPアプリケーション７６０に含まれている。WAPアプリケーション７６０は、ＭＭＣ１２０上のＷＩＭの機能を利用するために、ＩＣカードチップ５２０にアクセスするためのドライバをＭＭＣ１２０より読み出し利用する。
【００５５】
ＭＭＣ１２０に含まれるドライバ情報及びドライバは、ＭＭＣ１２０の発行時に登録された後、ユーザによってその内容が変更されないほうが好ましい。ただし、新しいホスト機器に対応するため、又はドライバ情報の修正のためにドライバ情報及びドライバの内容を変更する必要がある。
【００５６】
図１０は、ドライバ情報及びドライバの内容を変更する処理を示したフローチャートである。はじめにホスト機器１００は、ＭＭＣ１２０からドライバを読み込み、ＭＭＣ１２０のセキュリティ処理を利用可能な状態にする。ホスト機器１００は、ＭＭＣ１２０の暗号処理機能付きメモリ装置１７０に登録されたドライバ情報更新アプリケーションの起動をＭＭＣ１２０に指示する（１００１）。暗号処理機能付きメモリ装置１７０は、ドライバ情報更新アプリケーションを起動し、ホスト機器１００に応答を返す（１０５１）。
【００５７】
応答を受けたホスト機器１００は、暗号化された電子署名、ドライバ情報、及びドライバをＭＭＣ１２０に送信する（１００３）。電子署名等の暗号化は、共通鍵又は公開鍵（秘密鍵）を用いておこなわれる。暗号処理機能付きメモリ装置１７０は、共通鍵又は秘密鍵(公開鍵)を用いて暗号化された電子署名等を復号する（１０５３）。ここで使用される暗号鍵の鍵情報は、いずれも発行者によって秘密に管理されていることが望ましい。暗号化されたドライバはネットワーク、ＣＤ−ＲＯＭなどを通じて配布される。また、配布されるドライバ等は、暗号化によりユーザが容易に改竄できないようにされている。
【００５８】
ドライバ更新アプリケーションは、アプリケーション自身が有する平文の電子署名と復号化された電子署名と比較して、このドライバが正しい発行者によって提供された、又は正しい発行者によって認可を受けた製造者により提供されたものかどうかの確認をおこなう（１０５５）。電子署名が一致しない場合、ドライバ更新アプリケーションは、その旨をホスト機器１００に伝え処理を終了する。電子署名が一致した場合、ドライバ更新アプリケーションは、復号化されたドライバをフラッシュメモリチップ１６０のドライバが格納されている領域に追加して登録・更新を行う。又復号化されたドライバ情報をフラッシュメモリチップ１６０のドライバ情報が格納されている領域に追加して登録・更新を行う。
【００５９】
ドライバの登録は、同じドライバ情報をもつ（製造者、対応機種等）ドライバＭＭＣ１２０内に存在しない場合におこなわれ、ドライバの変更は同じドライバ情報をもつファイルが存在し、バージョンが古いものがある場合に適用される。登録・変更が終了するとＭＭＣ１２０はその旨をホスト機器１００に送信する。
【００６０】
図１１は、アップロードモジュールチップ１１４０をコントローラチップ１１１０の外部に配置したＭＭＣ１２０の構成を示す図である。この場合も同様にアップロード機能を実現することが出来る。ただし、アップロードモジュール１１４０は、ＭＭＣインターフェイス制御回路１２１０を持ち、このＭＭＣインターフェイス制御回路１２１０を介してホスト機器１００と通信を行う。アップロード処理終了後、コントローラチップ１１１０は、アップロードモジュール１１４０を単にＭＭＣインターフェイス 制御回路１２１０として用いてもよい。
【００６１】
【発明の効果】
本発明によれば、ホスト機器は、必要なときに必要なドライバをＭＭＣ又はネットワーク等からダウンロードするだけでよく、ホスト機器の記憶領域を圧迫することなく、ホスト機器とＭＭＣ等の記憶装置の入出力の互換性を高めるという効果を奏することが出来る。
【図面の簡単な説明】
【図１】ＭＭＣ１２０の内部構成を示す図である。
【図２】アップロード処理の手順を示すフローチャートである。
【図３】アップロード処理の手順を示すフローチャートである。
【図４】ＭＭＣ１２０の具体的な使用例を表す図である。
【図５】暗号処理機能付きメモリ装置としてICカードを用い、アップロードモジュール１４０を用いないＭＭＣ１２０を示す図である。
【図６】図５に示すＭＭＣ１２０のアップロード処理の手順を示すフローチャートである。
【図７】ＭＭＣが１２０の具体的な使用例を示す図である。
【図８】アップロードモジュール１４０内部のモジュール構成を示した図である。
【図９】ホスト機器１００内のフラッシュメモリ領域９００の構成を表した図である。
【図１０】ホスト機器１００がＭＭＣ１２０にドライバ及びドライバ情報の登録、更新をおこなう手順を示したフローチャートである。
【図１１】アップロードモジュールをコントローラチップの外部に配置したＭＭＣ１２０を示す図である。
【図１２】ＭＭＣ１２０の内部構成を示す図である。
【図１３】暗号処理機能付きメモリ装置１７０の構成を示した図である。
【図１４】標準メモリカードコマンドで復号処理をおこなう際の手順を示したフローチャートである。
【符号の説明】
１００…ホスト機器、１２０…ＭＭＣ、１４０…アップロードモジュール、１５０…コントローラチップ、１６０…フラッシュメモリチップ、１７０…暗号処理機能付きメモリ装置、４１０…ホスト端末外部端子、４３０…初期化アプリケーション、５２０…ＩＣカードチップ。
【図１】
0004236830.tif 000002
【図２】
0004236830.tif 000003
【図３】
0004236830.tif 000004
【図４】
0004236830.tif 000005
【図５】
0004236830.tif 000006
【図６】
0004236830.tif 000007
【図７】
0004236830.tif 000008
【図８】
0004236830.tif 000009
【図９】
0004236830.tif 000010
【図１０】
0004236830.tif 000011
【図１１】
0004236830.tif 000012
【図１２】
0004236830.tif 000013
【図１３】
0004236830.tif 000014
【図１４】
0004236830.tif 000015