(57)【要約】  【課題】  複雑なプロトコルを必要とすることなくプログラムの書き換えを行うことができる電子機器を提供する。  【解決手段】  このカード型電子機器１は、マスクＲＯＭコア２と、書き換え可能なフラッシュメモリコア３と、システム部４と、パワーオン検出部５とを具備する。マスクＲＯＭコア２は、ホスト機器から送信されるアプリケーションプログラムをフラッシュメモリコア３に書き込むためのアプリケーションプログラム書換プログラムを記録している。システム部４は、ホスト機器から供給される動作モード信号がハイレベルとなった場合に、アプリケーションプログラム書換プログラムを実行することにより、ホスト機器から送信される新たなアプリケーションプログラムを受信してフラッシュメモリコア３に書き込み、そうでない場合に、フラッシュメモリコア３に記録されているアプリケーションプログラムを実行する。【選択図】  図１
2005202753.tif 000002
【特許請求の範囲】
【請求項１】
ホスト機器に接続され、所定の機能を実現するための電子機器であって、
書き換え可能な第１の記録部と、
前記ホスト機器から送信される第１のプログラムを前記第１の記録部に書き込むための第２のプログラムを記録する第２の記録部と、
前記ホスト機器から供給される制御信号が活性化された場合に、前記第２のプログラムを実行することにより、前記ホスト機器から送信される前記第１のプログラムを受信して前記第１の記録部に書き込み、前記制御信号が活性化されていない場合に、前記第１の記録部に記録されている前記第１のプログラムを実行することにより、前記所定の機能を実現するシステム部と、
を具備する電子機器。
【請求項２】
前記システム部が、前記ホスト機器が無手順で送信する前記第１のプログラムを受信して前記第１の記録部に書き込む、請求項１記載の電子機器。
【請求項３】
前記システム部が、前記第１のプログラムを前記第１の記録部内の複数の領域に書き込む、請求項１又は２記載の電子機器。
【請求項４】
前記第２の記録部に記録されている前記第２のプログラムが、前記第１のプログラムを書き込むための前記複数の領域を特定するコードを含む、請求項３記載の電子機器。
【請求項５】
前記第２の記録部に記録されている前記第２のプログラムが、前記第１のプログラムを書き込むための前記複数の領域のそれぞれの先頭アドレス及びサイズを特定するコードを含む、請求項４記載の電子機器。
【請求項６】
前記システム部が、プログラムの一部としてのコードを受信し、前記コードを前記第１の記録部の所定の領域に書き込むことにより、前記第１の記録部に記録されている前記第１のプログラムの一部を更新する、請求項１〜５のいずれか１項に記載の電子機器。
【請求項７】
前記第２の記録部に記録されている前記第２のプログラムが、前記プログラムの一部としてのコードを書き込むための前記所定の領域を特定するコードを含む、請求項６記載の電子機器。
【請求項８】
前記第１の記録部が、前記第１のプログラムを前記第１の記録部に書き込むための認証に用いる第１の認証データと、前記第１のプログラムを実行するための認証に用いる第２の認証データとを更に記録しており、
前記システム部が、前記制御信号が活性化された場合に、前記ホスト機器から送信される認証データ及び前記第１の認証データに基づいて、前記第１のプログラムを前記第１の記録部に書き込むための第１の認証処理を行い、前記制御信号が活性化されていない場合に、前記ホスト機器から送信される認証データ及び前記第２の認証データに基づいて、前記第１のプログラムを実行するための第２の認証処理を行うセキュリティ処理回路を含む、請求項１〜７のいずれか１項に記載の電子機器。
【請求項９】
前記第１の記録部が、前記第１のプログラムを前記第１の記録部に書き込むための認証に用いる第１の認証データと、前記第１のプログラムを実行するための認証に用いる第２の認証データとを更に記録しており、
前記第２の記録部が、前記ホスト機器から送信される認証データ及び前記第１の認証データに基づいて前記第１のプログラムを前記第１の記録部に書き込むための第１の認証処理を行うための第３のプログラムと、前記ホスト機器から送信される認証データ及び前記第２の認証データに基づいて前記第１のプログラムを実行するための第２の認証処理を行うための第４のプログラムとを更に記録しており、
前記システム部が、前記制御信号が活性化された場合に、前記第３のプログラムを実行し、認証が得られたときに、前記第２のプログラムを実行することにより、前記ホスト機器から送信される前記第１のプログラムを受信して前記第１の記録部に書き込み、前記制御信号が活性化されていない場合に、前記第４のプログラムを実行し、認証が得られたときに、前記第１のプログラムを実行することにより、前記所定の機能を実現する、請求項１〜７のいずれか１項に記載の電子機器。
【請求項１０】
カードの形状を有する、請求項１〜９のいずれか１項に記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト機器に接続されて使用される電子機器に関し、特に、内部に記録されているプログラムを実行することにより所定の機能を実現するための電子機器に関する。
【背景技術】
【０００２】
現在、ＰＣカード（ＰＣＭＣＩＡ（Personal Computer Memory Card International Association）及び社団法人  電子情報技術産業協会（JEITA（Japan Electronics and Informaion Technology Industries Association）））の仕様）、ＳＤメモリカード（松下電器産業株式会社、米国ＳａｎＤｉｓｋ社、株式会社東芝、又は、ＳＤカードアソシエーションの商標）、スマートメディア（株式会社東芝の商標）等のカード型の形状を有する電子機器が用いられている。これらの電子機器は、ホスト機器（例えば、パーソナルコンピュータ、ＰＤＡ（Personal Digital Assistants）、携帯電話装置等）に接続され、動画像データ、静止画像データ、音声データ等の格納に使用されている。
【０００３】
近年、これらの電子機器に、アプリケーションプログラム（ファームウェア）を格納し、動画像データ、静止画像データ、又は、音声データの圧縮伸長機能、通信機能等を搭載することも提案されている。さらに、これらの機能の利便性を高めるため、アプリケーションプログラム（ファームウェア）を書き換えることも提案されている（例えば、特許文献１参照）。
特許文献１に掲載されているマイクロパーソナルデジタルアシスタントにおいては、ホスト汎用コンピュータがマイクロパーソナルデジタルアシスタントの挿入を識別した後、ホスト汎用コンピュータのバスをマイクロパーソナルデジタルアシスタントのバスと接続し、ホスト汎用コンピュータのＣＰＵがマイクロパーソナルデジタルアシスタントへの新たなプログラムのダウンロードを主導する。
【０００４】
特許文献１においては、プログラムをアップデートするために必要なマイクロパーソナルデジタルアシスタント内のプログラムを格納するためのメモリ情報（プログラムの先頭アドレス等）の通知等には触れていない。実際には、このメモリ情報を通知するためのプロトコルドライバを、マイクロパーソナルデジタルアシスタント及びホスト汎用コンピュータの双方において用意する必要がある。例えば、マイクロパーソナルデジタルアシスタント内のプログラムを格納するメモリの所定のアドレスから連続する領域にプログラムを書き込む（アップデート）する場合には、それほど複雑なプロトコルは不要である。しかし、マイクロパーソナルデジタルアシスタント内のプログラムを格納するメモリの分散した領域にプログラムを書き込む（アップデート）する場合、又は、現存するプログラムの一部のみを書き換える場合には、メモリ情報を通知するために複雑なプロトコルが必要となる。
【０００５】
【特許文献１】特表平１０−５０６２０８号公報（図７）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
そこで、上記の点に鑑み、本発明は、ホスト機器が複雑なプロトコルを有することなく、プログラムの書き換えを行うことができる電子機器を提供することを目的とする。
【課題を解決するための手段】
【０００７】
以上の課題を解決するため、本発明に係る電子機器は、ホスト機器に接続され、所定の機能を実現するための電子機器であって、書き換え可能な第１の記録部と、ホスト機器から送信される第１のプログラムを第１の記録部に書き込むための第２のプログラムを記録する第２の記録部と、ホスト機器から供給される制御信号が活性化された場合に、第２のプログラムを実行することにより、ホスト機器から送信される第１のプログラムを受信して第１の記録部に書き込み、制御信号が活性化されていない場合に、第１の記録部に記録されている第１のプログラムを実行することにより、所定の機能を実現するシステム部とを具備する。
【０００８】
この電子機器において、システム部が、ホスト機器が無手順で送信する第１のプログラムを受信して第１の記録部に書き込むこととしても良い。
また、システム部が、第１のプログラムを第１の記録部内の複数の領域に書き込むこととしても良い。この場合、第２の記録部に記録されている第２のプログラムが、第１のプログラムを書き込むための複数の領域を特定するコードを含んでいても良い。さらに、第２の記録部に記録されている第２のプログラムが、第１のプログラムを書き込むための複数の領域のそれぞれの先頭アドレス及びサイズを特定するコードを含んでいても良い。
【０００９】
また、システム部が、プログラムの一部としてのコードを受信し、コードを第１の記録部の所定の領域に書き込むことにより、第１の記録部に記録されている第１のプログラムの一部を更新することとしても良い。この場合、第２の記録部に記録されている第２のプログラムが、プログラムの一部としてのコードを書き込むための所定の領域を特定するコードを含んでいても良い。
【００１０】
また、第１の記録部が、第１のプログラムを第１の記録部に書き込むための認証に用いる第１の認証データと、第１のプログラムを実行するための認証に用いる第２の認証データとを更に記録しており、システム部が、制御信号が活性化された場合に、ホスト機器から送信される認証データ及び第１の認証データに基づいて、第１のプログラムを第１の記録部に書き込むための第１の認証処理を行い、制御信号が活性化されていない場合に、ホスト機器から送信される認証データ及び第２の認証データに基づいて、第１のプログラムを実行するための第２の認証処理を行うセキュリティ処理回路を含むこととしても良い。
【００１１】
また、第１の記録部が、第１のプログラムを第１の記録部に書き込むための認証に用いる第１の認証データと、第１のプログラムを実行するための認証に用いる第２の認証データとを更に記録しており、第２の記録部が、ホスト機器から送信される認証データ及び第１の認証データに基づいて第１のプログラムを第１の記録部に書き込むための第１の認証処理を行うための第３のプログラムと、ホスト機器から送信される認証データ及び第２の認証データに基づいて第１のプログラムを実行するための第２の認証処理を行うための第４のプログラムとを更に記録しており、システム部が、制御信号が活性化された場合に、第３のプログラムを実行し、認証が得られたときに、第２のプログラムを実行することにより、ホスト機器から送信される第１のプログラムを受信して第１の記録部に書き込み、制御信号が活性化されていない場合に、第４のプログラムを実行し、認証が得られたときに、第１のプログラムを実行することにより、所定の機能を実現することとしても良い。
【００１２】
また、この電子機器は、カードの形状を有していても良い。
【発明の効果】
【００１３】
本発明によれば、ホスト機器が複雑なプロトコルを有することなく、プログラムの書き換えを行うことができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照しながら、本発明の実施の形態について説明する。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
図１は、本発明の第１の実施形態としてのカード型電子機器を示す図である。本実施形態は、本発明をカード型電子機器に適用したものである。図１に示すように、このカード型電子機器１は、マスクＲＯＭコア２（本発明の第２の記録部に相当）と、フラッシュメモリコア３（本発明の第１の記録部に相当）と、システム部４と、パワーオン検出部５と、端子７、８、１１〜１ｎとを具備する。カード型電子機器１は、端子７、８、１１〜１ｎを介して、ホスト機器（例えば、パーソナルコンピュータ、ＰＤＡ（Personal Digital Assistants）、携帯電話装置等）に接続される。
【００１５】
フラッシュメモリコア３は、所定の機能（例えば、動画像データ、静止画像データ、又は、音声データの圧縮又は伸長機能等）を実現するためのアプリケーションプログラム（本発明の第１のプログラムに相当）を記録している。本実施形態においては、アプリケーションプログラムは、フラッシュメモリコア３内の３つの領域２１〜２３に分割して記録されているものとする。
マスクＲＯＭコア２は、フラッシュメモリコア３に記録されているアプリケーションプログラムの書き換えを行うためのアプリケーションプログラム書換プログラム（本発明の第２のプログラムに相当）を記録している。
マスクＲＯＭコア２及びフラッシュメモリコア３は、バス６を介してシステム部４に接続されている。
【００１６】
パワーオン検出部５は、ホスト機器から端子８を介してパワーオン信号を受信し、システム部４を起動させる。
システム部４は、パワーオン検出部５によって起動されると、ホスト機器から端子７を介して供給される動作モード信号のレベルをチェックし、動作モード信号がハイレベルの場合には、マスクＲＯＭコア２に記録されているアプリケーションプログラム書換プログラムを実行し、動作モード信号がローレベルの場合には、フラッシュメモリコア３に記録されているアプリケーションプログラムを実行する。
【００１７】
図２は、システム部４の内部構成を示す図である。図２に示すように、システム部４は、端子１１〜１ｎ（図１参照）を介してホスト機器とデータ信号又はアドレス信号の送受信を行うためのホストインタフェース回路３１と、ＳＲＡＭ３２と、ＤＭＡＣ（Direct Memory Access Controller）３３と、バス６を介してマスクＲＯＭコア２及びフラッシュメモリコア３とプログラム又はデータの送受信を行うためのメモリインタフェース回路３４と、ブリッジ回路３５と、ＰＬＬ（Phase Locked Loop）回路３６と、ＬＣＤ（Liquid Crystal Display）コントローラ３７と、タイマ回路３８と、音声信号処理回路３９と、割込みコントローラ４０と、ＣＰＵ４１〜４ｎとを具備する。
ホストインタフェース回路３１、ＳＲＡＭ３２、ＤＭＡＣ３３、メモリインタフェース回路３４、ブリッジ回路３５、及び、ＣＰＵ４１〜４ｎは、バス３０を介して相互に接続されている。また、ブリッジ回路３５、ＰＬＬ回路３６、ＬＣＤコントローラ３７、タイマ回路３８、音声信号処理回路３９、及び、割込みコントローラ４０は、バス５０を介して相互に接続されている。ＰＬＬ回路３６、ＬＣＤコントローラ３７、タイマ回路３８、音声信号処理回路３９、及び、割込みコントローラ４０は、ブリッジ回路３５を介して、バス３０に接続可能である。
【００１８】
図３は、カード型電子機器１の動作の概要を示すフローチャートである。以下、図３を参照しながら、カード型電子機器１の動作について説明する。
カード型電子機器１がホスト機器に接続され、電源が投入されると、ホスト機器は、端子８を介してパワーオン信号をカード型電子機器１に供給する。カード型電子機器１内のパワーオン検出部５は、パワーオン信号を受信すると、システム部４を起動する。
【００１９】
次に、ホスト機器は、フラッシュメモリコア３内に現在記録されているアプリケーションプログラムをカード型電子機器１に実行させるか、又はフラッシュメモリコア３内に現在記録されているアプリケーションプログラムをカード型電子機器１に書き換えさせるかを決定する（ステップＳ１０１）。
そして、ホスト機器は、フラッシュメモリコア３内に現在記録されているアプリケーションプログラムを実行させる場合には処理をステップＳ１０３に移し、フラッシュメモリコア３内に現在記録されているアプリケーションプログラムを書き換えさせる場合には処理をステップＳ１０４に移す（ステップＳ１０２）。
【００２０】
ホスト機器は、フラッシュメモリコア３内に現在記録されているアプリケーションプログラムをカード型電子機器１に実行させる場合、ローレベルの動作モード信号（本発明の制御信号に相当）を端子７を介してカード型電子機器１に供給し（ステップＳ１０３）、処理を終了する。
また、ホスト機器は、フラッシュメモリコア３内に現在記録されているアプリケーションプログラムをカード型電子機器１に書き換えさせる場合、ハイレベルの動作モード信号を端子７を介してカード型電子機器１に供給する（ステップＳ１０４）。
【００２１】
一方、カード型電子機器１内のシステム部４は、動作モード信号がローレベルであるか又はハイレベルであるかをチェックし、動作モード信号がローレベルである場合には、処理をステップＳ２０２に移し、動作モード信号がハイレベルである場合には、処理をステップＳ２０３に移す（ステップＳ２０１）。
動作モード信号がローレベルである場合、システム部４は、フラッシュメモリコア３内の領域２１〜２３に記録されているアプリケーションプログラムを実行する（ステップＳ２０２）。これにより、カード型電子機器１は、所定の機能を実現する。
【００２２】
動作モード信号がハイレベルである場合、システム部４は、マスクＲＯＭコア２内に記録されているアプリケーションプログラム書換プログラムの実行を開始する（ステップＳ２０３）。
次に、システム部４は、マスクＲＯＭコア２内に記録されているアプリケーションプログラム書換プログラムを実行することにより、フラッシュメモリコア３に記録されているアプリケーションプログラムの全部又は一部を消去する（ステップＳ２０３）。なお、フラッシュメモリコア３に記録されているアプリケーションプログラムの全部を消去するか、又は一部を消去するかは、マスクＲＯＭコア２に記録されているアプリケーションプログラム書換プログラムのコードに記述されている。
【００２３】
他方、ホスト機器は、新たなアプリケーションプログラム（本発明の第１のプログラムに相当）を、端子１１〜１ｎを介して、カード型電子機器１に無手順で送信する（垂れ流す）（ステップＳ１０５）。
【００２４】
一方、カード型電子機器１内のシステム部４は、マスクＲＯＭコア２内に記録されているアプリケーションプログラム書換プログラムを実行することにより、ホスト機器が無手順で送信する（垂れ流す）新たなアプリケーションプログラムを受信して、フラッシュメモリコア３に書き込む（ステップＳ２０５）。なお、ホスト機器が無手順で送信する（垂れ流す）新たなアプリケーションプログラムを書き込むべき領域２１〜２３の先頭アドレス及びサイズは、マスクＲＯＭコア２に記録されているアプリケーションプログラム書換プログラムのコード内に記述されている。
【００２５】
このように、カード型電子機器１によれば、アプリケーションプログラムを書き込むためのフラッシュメモリコア３内の領域２１〜２３の先頭アドレス及びサイズは、マスクＲＯＭコア２に記録されているアプリケーションプログラム書換プログラムのコード内に記述されている。
そのため、ホスト機器は、新たなアプリケーションプログラムを書き込むためのフラッシュメモリコア３内の領域２１〜２３の先頭アドレス及びサイズを知る必要がない。従って、ホスト機器は、複雑なプロトコルを必要とすることなく、新たなアプリケーションプログラムを無手順でカード型電子機器１に送信すれば良い（垂れ流せば良い）。
【００２６】
なお、ホスト機器が、アプリケーションプログラムの新たな部分（一部）のみをカード型電子機器１に送信する（垂れ流す）こととしても良い。この場合、アプリケーションプログラムの新たな部分（一部）を領域２１〜２３のいずれの領域に記録するかは、マスクＲＯＭコア２に記録されているアプリケーションプログラム書換プログラムのコード内に記述すれば良い。
【００２７】
次に、本発明の第２の実施形態について説明する。図４は、本発明の第２の実施形態としてのカード型電子機器を示す図である。本実施形態は、本発明をカード型電子機器に適用したものである。図４に示すように、このカード型電子機器５１は、パワーオン検出部５と、端子７、８、１１〜１ｎと、マスクＲＯＭコア５２と、フラッシュメモリコア５３と、システム部５４とを具備する。カード型電子機器５１は、端子７、８、１１〜１ｎを介して、ホスト機器に接続される。
【００２８】
フラッシュメモリコア５３は、所定の機能を実現するためのアプリケーションプログラムを記録しているとともに、このアプリケーションプログラムを実行するための認証に使用する認証データ（本発明の第２の認証データに相当する。以下、「実行用認証データ」という。）及びこのアプリケーションプログラムを書き換えるための認証に使用する認証データ（本発明の第１の認証データに相当する。以下、「書換用認証データ」という。）を記録している。本実施形態においては、アプリケーションプログラムは、フラッシュメモリコア５３内の２つの領域７１、７２に分割して記録されているものとし、実行用認証データ及び書換用認証データは、フラッシュメモリコア５３内の領域７３に記録されているものとする。実行用認証データ及び書換用認証データとしては、パスワード、指紋の画像データ又は特徴を抽出したデータ、眼（例えば、虹彩、網膜等）の画像データ又は特徴を抽出したデータ等を用いることができる。
マスクＲＯＭコア５２は、フラッシュメモリコア５３に記録されているアプリケーションプログラムの書き換えを行うためのアプリケーションプログラム書換プログラムを記録している。
【００２９】
マスクＲＯＭコア５２及びフラッシュメモリコア５３は、バス５６を介してシステム部５４に接続されている。
システム部５４は、パワーオン検出部５によって起動されると、ホスト機器から端子７を介して供給される動作モード信号のレベルをチェックし、動作モード信号がハイレベルの場合には、マスクＲＯＭコア５２に記録されているアプリケーションプログラム書換プログラムを実行し、動作モード信号がローレベルの場合には、フラッシュメモリコア５３に記録されているアプリケーションプログラムを実行する。
【００３０】
図５は、システム部５４の内部構成を示す図である。図５に示すように、システム部５４は、端子１１〜１ｎ（図４参照）を介してホスト機器とデータ信号又はアドレス信号の送受信を行うためのホストインタフェース回路３１と、ＳＲＡＭ３２と、ＤＭＡＣ３３と、バス５６を介してマスクＲＯＭコア５２及びフラッシュメモリコア５３とプログラム又はデータの送受信を行うためのメモリインタフェース回路３４と、ブリッジ回路３５と、ＰＬＬ回路３６と、ＬＣＤコントローラ３７と、タイマ回路３８と、音声信号処理回路３９と、割込みコントローラ４０と、ＣＰＵ４１〜４ｎと、セキュリティ処理回路５９とを具備する。
【００３１】
セキュリティ処理回路５９は、ハードワイヤードのロジック回路であり、ホスト機器から送信される認証データとフラッシュメモリコア５３内の領域７３に記録されている実行用認証データ又は書換用認証データとが一致するか否かをチェックするための回路である。
セキュリティ処理回路５９は、バス５０を介して、ブリッジ回路３５、ＰＬＬ回路３６、ＬＣＤコントローラ３７、タイマ回路３８、音声信号処理回路３９、及び、割込みコントローラ４０に接続されており、ブリッジ回路３５を介して、バス３０に接続可能である。
【００３２】
図６は、カード型電子機器５１の動作の概要を示すフローチャートである。以下、図６を参照しながら、カード型電子機器５１の動作について説明する。
ここでは、最初に、フラッシュメモリコア５３内の領域７１、７２に記録されているアプリケーションプログラムを実行する場合について説明し、その後に、フラッシュメモリコア５３内の領域７１、７２に記録されているアプリケーションプログラムを書き換える場合について説明する。
【００３３】
まず、フラッシュメモリコア５３内の領域７１、７２に記録されているアプリケーションプログラムを実行する場合について説明する。
カード型電子機器５１がホスト機器に接続され、電源が投入されると、ホスト機器は、端子８を介してパワーオン信号をカード型電子機器５１に供給する。カード型電子機器５１内のパワーオン検出部５は、パワーオン信号を受信すると、システム部５４を起動する。
【００３４】
ホスト機器は、フラッシュメモリコア５３内に現在記録されているアプリケーションプログラムをカード型電子機器５１に実行させるか、又はフラッシュメモリコア５３内に現在記録されているアプリケーションプログラムをカード型電子機器５１に書き換えさせるかを決定する（ステップＳ３０１）。ここでは、フラッシュメモリコア５３内に現在記録されているアプリケーションプログラムをカード型電子機器５１に実行させる。
ホスト機器は、フラッシュメモリコア５３内に現在記録されているアプリケーションプログラムを実行させる場合には処理をステップＳ３０３に移し、フラッシュメモリコア５３内に現在記録されているアプリケーションプログラムを書き換えさせる場合には処理をステップＳ３０５に移す（ステップＳ３０２）。ここでは、フラッシュメモリコア５３内に現在記録されているアプリケーションプログラムをカード型電子機器５１に実行させる。
【００３５】
ホスト機器は、フラッシュメモリコア５３内に現在記録されているアプリケーションプログラムをカード型電子機器５１に実行させるため、ローレベルの動作モード信号を端子７を介してカード型電子機器５１に供給する（ステップＳ３０３）。そして、ホスト機器は、フラッシュメモリコア５３内に現在記録されているアプリケーションプログラムをカード型電子機器５１に実行させようとしている者の認証データをカード型電子機器５１に送信し（ステップＳ３０４）、処理を終了する。
【００３６】
一方、カード型電子機器５１内のシステム部５４は、動作モード信号がローレベルであるか又はハイレベルであるかをチェックし、動作モード信号がローレベルである場合には、処理をステップＳ４０２に移し、動作モード信号がハイレベルである場合には、処理をステップＳ４０５に移す（ステップＳ４０１）。ここでは、カード型電子機器５１内のシステム部５４は、処理をステップＳ４０２に移す。
動作モード信号がローレベルであるため、システム部５４は、フラッシュメモリコア５３内の領域７１、７２に記録されているアプリケーションプログラムの実行を開始する（ステップＳ４０２）。
【００３７】
フラッシュメモリコア５３内の領域７１、７２に記録されているアプリケーションプログラムの先頭には、システム部５４内のセキュリティ処理回路５９に認証処理を開始させるためのコードが含まれており、システム部５４内のセキュリティ処理回路５９は、ホスト機器によって送信された認証データとフラッシュメモリコア５３内の領域７３に記録されている実行用認証データとが一致するか否かをチェックする（ステップＳ４０３）。そして、システム部５４は、ホスト機器によって送信された認証データとフラッシュメモリコア５３内の領域７３に記録されている実行用認証データとが一致する場合には、アプリケーションプログラムの実行を続行し（ステップＳ４０４）、ホスト機器によって送信された認証データとフラッシュメモリコア５３内の領域７３に記録されている実行用認証データとが一致しない場合には、処理を終了する。
【００３８】
次に、フラッシュメモリコア５３内の領域７１、７２に記録されているアプリケーションプログラムを書き換える場合について説明する。
カード型電子機器５１がホスト機器に接続され、電源が投入されると、ホスト機器は、端子８を介してパワーオン信号を供給する。カード型電子機器５１内のパワーオン検出部５は、パワーオン信号を受信すると、システム部５４を起動する。
【００３９】
ホスト機器は、フラッシュメモリコア５３内に現在記録されているアプリケーションプログラムをカード型電子機器５１に実行させるか、又はフラッシュメモリコア５３内に現在記録されているアプリケーションプログラムをカード型電子機器５１に書き換えさせるかを決定する（ステップＳ３０１）。ここでは、フラッシュメモリコア５３内に現在記録されているアプリケーションプログラムをカード型電子機器５１に書き換えさせる。
ホスト機器は、フラッシュメモリコア５３内に現在記録されているアプリケーションプログラムを実行させる場合には処理をステップＳ３０３に移し、フラッシュメモリコア５３内に現在記録されているアプリケーションプログラムを書き換えさせる場合には処理をステップＳ３０５に移す（ステップＳ３０２）。ここでは、フラッシュメモリコア５３内に現在記録されているアプリケーションプログラムをカード型電子機器５１に書き換えさせる。
【００４０】
ホスト機器は、フラッシュメモリコア５３内に現在記録されているアプリケーションプログラムをカード型電子機器５１に書き換えさせるため、ハイレベルの動作モード信号を端子７を介してカード型電子機器５１に供給する（ステップＳ３０５）。そして、ホスト機器は、フラッシュメモリコア５３内に現在記録されているアプリケーションプログラムをカード型電子機器５１に書き換えさせようとしている者の認証データをカード型電子機器５１に送信し（ステップＳ３０６）、新たなアプリケーションプログラムをカード型電子機器５１に無手順で送信する（垂れ流す）（ステップＳ３０７）。
【００４１】
一方、カード型電子機器５１内のシステム部５４は、動作モード信号がローレベルであるか又はハイレベルであるかをチェックし、動作モード信号がローレベルである場合には、処理をステップＳ４０２に移し、動作モード信号がハイレベルである場合には、処理をステップＳ４０５に移す（ステップＳ４０１）。ここでは、動作モード信号がハイレベルであるため、カード型電子機器５１内のシステム部５４は、処理をステップＳ４０５に移す。
システム部５４は、マスクＲＯＭコア５２に記録されているアプリケーションプログラム書換プログラムの実行を開始する（ステップＳ４０５）。
【００４２】
マスクＲＯＭコア５２内に記録されているアプリケーションプログラム書換プログラムの先頭には、システム部５４内のセキュリティ処理回路５９に認証処理を開始させるためのコードが含まれており、システム部５４内のセキュリティ処理回路５９は、ホスト機器によって送信された認証データとフラッシュメモリコア５３内の領域７３に記録されている書換用認証データとが一致するか否かをチェックする（ステップＳ４０６）。そして、システム部５４は、ホスト機器によって送信された認証データとフラッシュメモリコア５３内の領域７３に記録されている書換用認証データとが一致しない場合には、アプリケーションプログラム書換プログラムの実行を終了し、一致する場合には、フラッシュメモリコア５３内の領域７１、７２に記録されているアプリケーションプログラムを消去し（ステップＳ４０７）、ホスト機器によって無手順で送信された（垂れ流された）新たなアプリケーションプログラムを領域７１、７２に書き込む（ステップＳ４０８）。
【００４３】
このように、カード型電子機器５１によれば、フラッシュメモリコア５３内の領域７３に実行用認証データ及び書換用認証データが記録されており、フラッシュメモリコア５３内の領域７１、７２に記録されているアプリケーションプログラムを実行するための認証、及びフラッシュメモリコア５３内の領域７１、７２に記録されているアプリケーションプログラムを書き換えるための認証を分けて行うことができる。これにより、セキュリティを向上させることができる。
一般に、アプリケーションプログラムの書き換えには、アプリケーションプログラムの実行より大きな権限が必要とされるため、アプリケーションプログラム実行用の認証とアプリケーションプログラム書換用の認証とを分けて行うことは、非常に有用である。
【００４４】
なお、ホスト機器が、アプリケーションプログラムの新たな部分（一部）のみをカード型電子機器５１に送信する（垂れ流す）こととしても良い。この場合、アプリケーションプログラムの新たな部分（一部）を領域７１、７２のいずれの領域に記録するかは、マスクＲＯＭコア５２に記録されているアプリケーションプログラム書換プログラムのコード内に記述すれば良い。
【００４５】
次に、本発明の第３の実施形態について説明する。図７は、本発明の第３の実施形態としてのカード型電子機器を示す図である。本実施形態は、本発明をカード型電子機器に適用したものである。図７に示すように、このカード型電子機器８１は、システム部４と、パワーオン検出部５と、端子７、８、１１〜１ｎと、マスクＲＯＭコア８２と、フラッシュメモリコア８３とを具備する。カード型電子機器８１は、端子７、８、１１〜１ｎを介して、ホスト機器に接続される。
【００４６】
フラッシュメモリコア８３は、所定の機能を実現するためのアプリケーションプログラムを記録しているとともに、このアプリケーションプログラムを実行するための認証に使用する認証データ（以下、「実行用認証データ」という）及びこのアプリケーションプログラムを書き換えるための認証に使用する認証データ（以下、「書換用認証データ」という）を記録している。本実施形態においては、アプリケーションプログラムは、フラッシュメモリコア８３内の２つの領域９１、９２に分割して記録されているものとし、実行用認証データ及び書換用認証データは、フラッシュメモリコア８３内の領域９３に記録されているものとする。
【００４７】
マスクＲＯＭコア８２は、ホスト機器から送信される認証データとフラッシュメモリコア５３内の領域９３に記録されている実行用認証データとが一致するか否かをチェックするための実行用認証プログラム（本発明の第４のプログラムに相当する）、ホスト機器から送信される認証データとフラッシュメモリコア５３内の領域９３に記録されている書換用認証データとが一致するか否かをチェックするための書換用認証プログラム（本発明の第３のプログラムに相当する）、及び、フラッシュメモリコア８３に記録されているアプリケーションプログラムの書き換えを行うためのアプリケーションプログラム書換プログラムを記録している。
マスクＲＯＭコア８２及びフラッシュメモリコア８３は、バス８６を介してシステム部４に接続されている。
【００４８】
図８は、カード型電子機器８１の動作の概要を示すフローチャートである。以下、図８を参照しながら、カード型電子機器８１の動作について説明する。
ここでは、最初に、フラッシュメモリコア８３内の領域９１、９２に記録されているアプリケーションプログラムを実行する場合について説明し、その後に、フラッシュメモリコア８３内の領域９１、９２に記録されているアプリケーションプログラムを書き換える場合について説明する。
【００４９】
まず、フラッシュメモリコア８３内の領域９１、９２に記録されているアプリケーションプログラムを実行する場合について説明する。
カード型電子機器８１がホスト機器に接続され、電源が投入されると、ホスト機器は、端子８を介してパワーオン信号をカード型電子機器８１に供給する。カード型電子機器８１内のパワーオン検出部５は、パワーオン信号を受信すると、システム部４を起動する。
【００５０】
ホスト機器は、フラッシュメモリコア８３内に現在記録されているアプリケーションプログラムをカード型電子機器８１に実行させるか、又はフラッシュメモリコア８３内に現在記録されているアプリケーションプログラムをカード型電子機器８１に書き換えさせるかを決定する（ステップＳ５０１）。ここでは、フラッシュメモリコア８３内に現在記録されているアプリケーションプログラムをカード型電子機器８１に実行させる。
ホスト機器は、フラッシュメモリコア８３内に現在記録されているアプリケーションプログラムを実行させる場合には処理をステップＳ５０３に移し、フラッシュメモリコア８３内に現在記録されているアプリケーションプログラムを書き換えさせる場合には処理をステップＳ５０５に移す（ステップＳ５０２）。ここでは、フラッシュメモリコア８３内に現在記録されているアプリケーションプログラムをカード型電子機器８１に実行させる。
【００５１】
ホスト機器は、フラッシュメモリコア８３内に現在記録されているアプリケーションプログラムをカード型電子機器８１に実行させるため、ローレベルの動作モード信号を端子７を介してカード型電子機器８１に供給する（ステップＳ５０３）。そして、ホスト機器は、フラッシュメモリコア８３内に現在記録されているアプリケーションプログラムをカード型電子機器８１に実行させようとしている者の認証データ（例えば、パスワード、指紋の画像データ又は特徴を抽出したデータ、眼（例えば、虹彩、網膜等）の画像データ又は特徴を抽出したデータ等）をカード型電子機器８１に送信し（ステップＳ５０４）、処理を終了する。
【００５２】
一方、カード型電子機器８１内のシステム部４は、動作モード信号がローレベルであるか又はハイレベルであるかをチェックし、動作モード信号がローレベルである場合には、処理をステップＳ６０２に移し、動作モード信号がハイレベルである場合には、処理をステップＳ６０５に移す（ステップＳ６０１）。ここでは、カード型電子機器８１内のシステム部４は、処理をステップＳ６０２に移す。
【００５３】
動作モード信号がローレベルであるため、システム部４は、マスクＲＯＭコア８２に記録されている実行用認証プログラムの実行を開始する（ステップＳ６０２）。
システム部４は、ホスト機器から送信された認証データとフラッシュメモリコア８３内の領域９３に記録されている実行用認証データとが一致するか否かをチェックする（ステップＳ６０３）。そして、システム部４は、ホスト機器によって送信された認証データとフラッシュメモリコア８３内の領域９３に記録されている実行用認証データとが一致する場合には、フラッシュメモリコア８３内の領域９１、９２に記録されているアプリケーションプログラムの実行を開始し（ステップＳ６０４）、ホスト機器によって送信された認証データとフラッシュメモリコア８３内の領域９３に記録されている実行用認証データとが一致しない場合には、処理を終了する。
【００５４】
次に、フラッシュメモリコア８３内の領域９１、９２に記録されているアプリケーションプログラムを書き換える場合について説明する。
カード型電子機器８１がホスト機器に接続され、電源が投入されると、ホスト機器は、端子８を介してパワーオン信号をカード型電子機器８１に供給する。カード型電子機器８１内のパワーオン検出部５は、パワーオン信号を受信すると、システム部４を起動する。
【００５５】
ホスト機器は、フラッシュメモリコア８３内に現在記録されているアプリケーションプログラムをカード型電子機器８１に実行させるか、又はフラッシュメモリコア８３内に現在記録されているアプリケーションプログラムをカード型電子機器８１に書き換えさせるかを決定する（ステップＳ５０１）。ここでは、フラッシュメモリコア８３内に現在記録されているアプリケーションプログラムをカード型電子機器８１に書き換えさせる。
ホスト機器は、フラッシュメモリコア８３内に現在記録されているアプリケーションプログラムを実行させる場合には処理をステップＳ５０３に移し、フラッシュメモリコア８３内に現在記録されているアプリケーションプログラムを書き換えさせる場合には処理をステップＳ５０５に移す（ステップＳ５０２）。ここでは、フラッシュメモリコア８３内に現在記録されているアプリケーションプログラムをカード型電子機器８１に書き換えさせる。
【００５６】
ホスト機器は、フラッシュメモリコア８３内に現在記録されているアプリケーションプログラムをカード型電子機器８１に書き換えさせるため、ハイレベルの動作モード信号を端子７を介してカード型電子機器８１に供給する（ステップＳ５０５）。そして、ホスト機器は、フラッシュメモリコア８３内に現在記録されているアプリケーションプログラムをカード型電子機器８１に書き換えさせようとしている者の認証データ（例えば、パスワード、指紋の画像データ又は特徴を抽出したデータ、眼（例えば、虹彩、網膜等）の画像データ又は特徴を抽出したデータ等）をカード型電子機器８１に送信し（ステップＳ５０６）、新たなアプリケーションプログラム（コード）をカード型電子機器８１に無手順で送信する（垂れ流す）（ステップＳ５０７）。
【００５７】
一方、カード型電子機器８１内のシステム部４は、動作モード信号がローレベルであるか又はハイレベルであるかをチェックし、動作モード信号がローレベルである場合には、処理をステップＳ６０２に移し、動作モード信号がハイレベルである場合には、処理をステップＳ６０５に移す（ステップＳ６０１）。ここでは、動作モード信号がハイレベルであるため、カード型電子機器８１内のシステム部４は、処理をステップＳ６０５に移す。
システム部４は、マスクＲＯＭコア８２に記録されている書換用認証プログラムの実行を開始する（ステップＳ６０５）。
【００５８】
システム部４は、ホスト機器によって送信された認証データとフラッシュメモリコア８３内の領域９３に記録されている書換用認証データとが一致するか否かをチェックする（ステップＳ６０６）。そして、システム部４は、ホスト機器によって送信された認証データとフラッシュメモリコア８３内の領域９３に記録されている書換用認証データとが一致しない場合には、処理を終了し、一致する場合には、マスクＲＯＭコア８２に記録されているアプリケーションプログラム書換プログラムを実行することにより、フラッシュメモリコア８３内の領域９１、９２に記録されているアプリケーションプログラムを消去し（ステップＳ６０７）、ホスト機器によって無手順で送信された（垂れ流された）新たなアプリケーションプログラムを領域９１、９２に書き込む（ステップＳ６０８）。
【００５９】
このように、カード型電子機器８１によれば、フラッシュメモリコア５３内の領域７３に実行用認証データ及び書換用認証データが記録されているとともに、マスクＲＯＭコア８２に実行用認証プログラム及び書換用認証プログラムが記録されており、フラッシュメモリコア８３内の領域９１、９２に記録されているアプリケーションプログラムを実行するための認証、及びフラッシュメモリコア８３内の領域９１、９２に記録されているアプリケーションプログラムを書き換えるための認証を分けて行うことができる。これにより、セキュリティを向上させることができる。
【００６０】
なお、ホスト機器が、アプリケーションプログラムの新たな部分（一部）のみをカード型電子機器８１に送信する（垂れ流す）こととしても良い。この場合、アプリケーションプログラムの新たな部分（一部）を領域９１、９２のいずれの領域に記録するかは、マスクＲＯＭコア８２に記録されているアプリケーションプログラム書換プログラムのコード内に記述すれば良い。
【産業上の利用可能性】
【００６１】
本発明は、ホスト機器に接続されて使用される電子機器において利用可能である。特に、内部に記録されているプログラムを実行することにより所定の機能を実現するための電子機器において利用可能である。
【図面の簡単な説明】
【００６２】
【図１】本発明の第１の実施形態としてのカード型電子機器を示す図。
【図２】図１のシステム部４の内部構成を示す図。
【図３】図１のカード型電子機器の動作の概要を示すフローチャート。
【図４】本発明の第２の実施形態としてのカード型電子機器を示す図。
【図５】図４のシステム部５４の内部構成を示す図。
【図６】図４のカード型電子機器の動作の概要を示すフローチャート。
【図７】本発明の第３の実施形態としてのカード型電子機器を示す図。
【図８】図７のカード型電子機器の動作の概要を示すフローチャート。
【符号の説明】
【００６３】
１、５１、８１  カード型電子機器、２、５２、８２  マスクＲＯＭコア、３、５３、８３  フラッシュメモリコア、４、５４、８４  システム部、５  パワーオン検出部、７、８、１１〜１ｎ  端子、５９  セキュリティ処理回路、
【図１】
2005202753.tif 000003
【図２】
2005202753.tif 000004
【図３】
2005202753.tif 000005
【図４】
2005202753.tif 000006
【図５】
2005202753.tif 000007
【図６】
2005202753.tif 000008
【図７】
2005202753.tif 000009
【図８】
2005202753.tif 000010