JP2005202753A - 半導体集積回路 - Google Patents

半導体集積回路 Download PDF

Info

Publication number
JP2005202753A
JP2005202753A JP2004009169A JP2004009169A JP2005202753A JP 2005202753 A JP2005202753 A JP 2005202753A JP 2004009169 A JP2004009169 A JP 2004009169A JP 2004009169 A JP2004009169 A JP 2004009169A JP 2005202753 A JP2005202753 A JP 2005202753A
Authority
JP
Japan
Prior art keywords
program
electronic device
host device
recorded
application program
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.)
Withdrawn
Application number
JP2004009169A
Other languages
English (en)
Inventor
Takao 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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2004009169A priority Critical patent/JP2005202753A/ja
Publication of JP2005202753A publication Critical patent/JP2005202753A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】 複雑なプロトコルを必要とすることなくプログラムの書き換えを行うことができる電子機器を提供する。
【解決手段】 このカード型電子機器1は、マスクROMコア2と、書き換え可能なフラッシュメモリコア3と、システム部4と、パワーオン検出部5とを具備する。マスクROMコア2は、ホスト機器から送信されるアプリケーションプログラムをフラッシュメモリコア3に書き込むためのアプリケーションプログラム書換プログラムを記録している。システム部4は、ホスト機器から供給される動作モード信号がハイレベルとなった場合に、アプリケーションプログラム書換プログラムを実行することにより、ホスト機器から送信される新たなアプリケーションプログラムを受信してフラッシュメモリコア3に書き込み、そうでない場合に、フラッシュメモリコア3に記録されているアプリケーションプログラムを実行する。
【選択図】 図1

Description

本発明は、ホスト機器に接続されて使用される電子機器に関し、特に、内部に記録されているプログラムを実行することにより所定の機能を実現するための電子機器に関する。
現在、PCカード(PCMCIA(Personal Computer Memory Card International Association)及び社団法人 電子情報技術産業協会(JEITA(Japan Electronics and Informaion Technology Industries Association)))の仕様)、SDメモリカード(松下電器産業株式会社、米国SanDisk社、株式会社東芝、又は、SDカードアソシエーションの商標)、スマートメディア(株式会社東芝の商標)等のカード型の形状を有する電子機器が用いられている。これらの電子機器は、ホスト機器(例えば、パーソナルコンピュータ、PDA(Personal Digital Assistants)、携帯電話装置等)に接続され、動画像データ、静止画像データ、音声データ等の格納に使用されている。
近年、これらの電子機器に、アプリケーションプログラム(ファームウェア)を格納し、動画像データ、静止画像データ、又は、音声データの圧縮伸長機能、通信機能等を搭載することも提案されている。さらに、これらの機能の利便性を高めるため、アプリケーションプログラム(ファームウェア)を書き換えることも提案されている(例えば、特許文献1参照)。
特許文献1に掲載されているマイクロパーソナルデジタルアシスタントにおいては、ホスト汎用コンピュータがマイクロパーソナルデジタルアシスタントの挿入を識別した後、ホスト汎用コンピュータのバスをマイクロパーソナルデジタルアシスタントのバスと接続し、ホスト汎用コンピュータのCPUがマイクロパーソナルデジタルアシスタントへの新たなプログラムのダウンロードを主導する。
特許文献1においては、プログラムをアップデートするために必要なマイクロパーソナルデジタルアシスタント内のプログラムを格納するためのメモリ情報(プログラムの先頭アドレス等)の通知等には触れていない。実際には、このメモリ情報を通知するためのプロトコルドライバを、マイクロパーソナルデジタルアシスタント及びホスト汎用コンピュータの双方において用意する必要がある。例えば、マイクロパーソナルデジタルアシスタント内のプログラムを格納するメモリの所定のアドレスから連続する領域にプログラムを書き込む(アップデート)する場合には、それほど複雑なプロトコルは不要である。しかし、マイクロパーソナルデジタルアシスタント内のプログラムを格納するメモリの分散した領域にプログラムを書き込む(アップデート)する場合、又は、現存するプログラムの一部のみを書き換える場合には、メモリ情報を通知するために複雑なプロトコルが必要となる。
特表平10−506208号公報(図7)
そこで、上記の点に鑑み、本発明は、ホスト機器が複雑なプロトコルを有することなく、プログラムの書き換えを行うことができる電子機器を提供することを目的とする。
以上の課題を解決するため、本発明に係る電子機器は、ホスト機器に接続され、所定の機能を実現するための電子機器であって、書き換え可能な第1の記録部と、ホスト機器から送信される第1のプログラムを第1の記録部に書き込むための第2のプログラムを記録する第2の記録部と、ホスト機器から供給される制御信号が活性化された場合に、第2のプログラムを実行することにより、ホスト機器から送信される第1のプログラムを受信して第1の記録部に書き込み、制御信号が活性化されていない場合に、第1の記録部に記録されている第1のプログラムを実行することにより、所定の機能を実現するシステム部とを具備する。
この電子機器において、システム部が、ホスト機器が無手順で送信する第1のプログラムを受信して第1の記録部に書き込むこととしても良い。
また、システム部が、第1のプログラムを第1の記録部内の複数の領域に書き込むこととしても良い。この場合、第2の記録部に記録されている第2のプログラムが、第1のプログラムを書き込むための複数の領域を特定するコードを含んでいても良い。さらに、第2の記録部に記録されている第2のプログラムが、第1のプログラムを書き込むための複数の領域のそれぞれの先頭アドレス及びサイズを特定するコードを含んでいても良い。
また、システム部が、プログラムの一部としてのコードを受信し、コードを第1の記録部の所定の領域に書き込むことにより、第1の記録部に記録されている第1のプログラムの一部を更新することとしても良い。この場合、第2の記録部に記録されている第2のプログラムが、プログラムの一部としてのコードを書き込むための所定の領域を特定するコードを含んでいても良い。
また、第1の記録部が、第1のプログラムを第1の記録部に書き込むための認証に用いる第1の認証データと、第1のプログラムを実行するための認証に用いる第2の認証データとを更に記録しており、システム部が、制御信号が活性化された場合に、ホスト機器から送信される認証データ及び第1の認証データに基づいて、第1のプログラムを第1の記録部に書き込むための第1の認証処理を行い、制御信号が活性化されていない場合に、ホスト機器から送信される認証データ及び第2の認証データに基づいて、第1のプログラムを実行するための第2の認証処理を行うセキュリティ処理回路を含むこととしても良い。
また、第1の記録部が、第1のプログラムを第1の記録部に書き込むための認証に用いる第1の認証データと、第1のプログラムを実行するための認証に用いる第2の認証データとを更に記録しており、第2の記録部が、ホスト機器から送信される認証データ及び第1の認証データに基づいて第1のプログラムを第1の記録部に書き込むための第1の認証処理を行うための第3のプログラムと、ホスト機器から送信される認証データ及び第2の認証データに基づいて第1のプログラムを実行するための第2の認証処理を行うための第4のプログラムとを更に記録しており、システム部が、制御信号が活性化された場合に、第3のプログラムを実行し、認証が得られたときに、第2のプログラムを実行することにより、ホスト機器から送信される第1のプログラムを受信して第1の記録部に書き込み、制御信号が活性化されていない場合に、第4のプログラムを実行し、認証が得られたときに、第1のプログラムを実行することにより、所定の機能を実現することとしても良い。
また、この電子機器は、カードの形状を有していても良い。
本発明によれば、ホスト機器が複雑なプロトコルを有することなく、プログラムの書き換えを行うことができる。
以下、図面を参照しながら、本発明の実施の形態について説明する。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
図1は、本発明の第1の実施形態としてのカード型電子機器を示す図である。本実施形態は、本発明をカード型電子機器に適用したものである。図1に示すように、このカード型電子機器1は、マスクROMコア2(本発明の第2の記録部に相当)と、フラッシュメモリコア3(本発明の第1の記録部に相当)と、システム部4と、パワーオン検出部5と、端子7、8、11〜1nとを具備する。カード型電子機器1は、端子7、8、11〜1nを介して、ホスト機器(例えば、パーソナルコンピュータ、PDA(Personal Digital Assistants)、携帯電話装置等)に接続される。
フラッシュメモリコア3は、所定の機能(例えば、動画像データ、静止画像データ、又は、音声データの圧縮又は伸長機能等)を実現するためのアプリケーションプログラム(本発明の第1のプログラムに相当)を記録している。本実施形態においては、アプリケーションプログラムは、フラッシュメモリコア3内の3つの領域21〜23に分割して記録されているものとする。
マスクROMコア2は、フラッシュメモリコア3に記録されているアプリケーションプログラムの書き換えを行うためのアプリケーションプログラム書換プログラム(本発明の第2のプログラムに相当)を記録している。
マスクROMコア2及びフラッシュメモリコア3は、バス6を介してシステム部4に接続されている。
パワーオン検出部5は、ホスト機器から端子8を介してパワーオン信号を受信し、システム部4を起動させる。
システム部4は、パワーオン検出部5によって起動されると、ホスト機器から端子7を介して供給される動作モード信号のレベルをチェックし、動作モード信号がハイレベルの場合には、マスクROMコア2に記録されているアプリケーションプログラム書換プログラムを実行し、動作モード信号がローレベルの場合には、フラッシュメモリコア3に記録されているアプリケーションプログラムを実行する。
図2は、システム部4の内部構成を示す図である。図2に示すように、システム部4は、端子11〜1n(図1参照)を介してホスト機器とデータ信号又はアドレス信号の送受信を行うためのホストインタフェース回路31と、SRAM32と、DMAC(Direct Memory Access Controller)33と、バス6を介してマスクROMコア2及びフラッシュメモリコア3とプログラム又はデータの送受信を行うためのメモリインタフェース回路34と、ブリッジ回路35と、PLL(Phase Locked Loop)回路36と、LCD(Liquid Crystal Display)コントローラ37と、タイマ回路38と、音声信号処理回路39と、割込みコントローラ40と、CPU41〜4nとを具備する。
ホストインタフェース回路31、SRAM32、DMAC33、メモリインタフェース回路34、ブリッジ回路35、及び、CPU41〜4nは、バス30を介して相互に接続されている。また、ブリッジ回路35、PLL回路36、LCDコントローラ37、タイマ回路38、音声信号処理回路39、及び、割込みコントローラ40は、バス50を介して相互に接続されている。PLL回路36、LCDコントローラ37、タイマ回路38、音声信号処理回路39、及び、割込みコントローラ40は、ブリッジ回路35を介して、バス30に接続可能である。
図3は、カード型電子機器1の動作の概要を示すフローチャートである。以下、図3を参照しながら、カード型電子機器1の動作について説明する。
カード型電子機器1がホスト機器に接続され、電源が投入されると、ホスト機器は、端子8を介してパワーオン信号をカード型電子機器1に供給する。カード型電子機器1内のパワーオン検出部5は、パワーオン信号を受信すると、システム部4を起動する。
次に、ホスト機器は、フラッシュメモリコア3内に現在記録されているアプリケーションプログラムをカード型電子機器1に実行させるか、又はフラッシュメモリコア3内に現在記録されているアプリケーションプログラムをカード型電子機器1に書き換えさせるかを決定する(ステップS101)。
そして、ホスト機器は、フラッシュメモリコア3内に現在記録されているアプリケーションプログラムを実行させる場合には処理をステップS103に移し、フラッシュメモリコア3内に現在記録されているアプリケーションプログラムを書き換えさせる場合には処理をステップS104に移す(ステップS102)。
ホスト機器は、フラッシュメモリコア3内に現在記録されているアプリケーションプログラムをカード型電子機器1に実行させる場合、ローレベルの動作モード信号(本発明の制御信号に相当)を端子7を介してカード型電子機器1に供給し(ステップS103)、処理を終了する。
また、ホスト機器は、フラッシュメモリコア3内に現在記録されているアプリケーションプログラムをカード型電子機器1に書き換えさせる場合、ハイレベルの動作モード信号を端子7を介してカード型電子機器1に供給する(ステップS104)。
一方、カード型電子機器1内のシステム部4は、動作モード信号がローレベルであるか又はハイレベルであるかをチェックし、動作モード信号がローレベルである場合には、処理をステップS202に移し、動作モード信号がハイレベルである場合には、処理をステップS203に移す(ステップS201)。
動作モード信号がローレベルである場合、システム部4は、フラッシュメモリコア3内の領域21〜23に記録されているアプリケーションプログラムを実行する(ステップS202)。これにより、カード型電子機器1は、所定の機能を実現する。
動作モード信号がハイレベルである場合、システム部4は、マスクROMコア2内に記録されているアプリケーションプログラム書換プログラムの実行を開始する(ステップS203)。
次に、システム部4は、マスクROMコア2内に記録されているアプリケーションプログラム書換プログラムを実行することにより、フラッシュメモリコア3に記録されているアプリケーションプログラムの全部又は一部を消去する(ステップS203)。なお、フラッシュメモリコア3に記録されているアプリケーションプログラムの全部を消去するか、又は一部を消去するかは、マスクROMコア2に記録されているアプリケーションプログラム書換プログラムのコードに記述されている。
他方、ホスト機器は、新たなアプリケーションプログラム(本発明の第1のプログラムに相当)を、端子11〜1nを介して、カード型電子機器1に無手順で送信する(垂れ流す)(ステップS105)。
一方、カード型電子機器1内のシステム部4は、マスクROMコア2内に記録されているアプリケーションプログラム書換プログラムを実行することにより、ホスト機器が無手順で送信する(垂れ流す)新たなアプリケーションプログラムを受信して、フラッシュメモリコア3に書き込む(ステップS205)。なお、ホスト機器が無手順で送信する(垂れ流す)新たなアプリケーションプログラムを書き込むべき領域21〜23の先頭アドレス及びサイズは、マスクROMコア2に記録されているアプリケーションプログラム書換プログラムのコード内に記述されている。
このように、カード型電子機器1によれば、アプリケーションプログラムを書き込むためのフラッシュメモリコア3内の領域21〜23の先頭アドレス及びサイズは、マスクROMコア2に記録されているアプリケーションプログラム書換プログラムのコード内に記述されている。
そのため、ホスト機器は、新たなアプリケーションプログラムを書き込むためのフラッシュメモリコア3内の領域21〜23の先頭アドレス及びサイズを知る必要がない。従って、ホスト機器は、複雑なプロトコルを必要とすることなく、新たなアプリケーションプログラムを無手順でカード型電子機器1に送信すれば良い(垂れ流せば良い)。
なお、ホスト機器が、アプリケーションプログラムの新たな部分(一部)のみをカード型電子機器1に送信する(垂れ流す)こととしても良い。この場合、アプリケーションプログラムの新たな部分(一部)を領域21〜23のいずれの領域に記録するかは、マスクROMコア2に記録されているアプリケーションプログラム書換プログラムのコード内に記述すれば良い。
次に、本発明の第2の実施形態について説明する。図4は、本発明の第2の実施形態としてのカード型電子機器を示す図である。本実施形態は、本発明をカード型電子機器に適用したものである。図4に示すように、このカード型電子機器51は、パワーオン検出部5と、端子7、8、11〜1nと、マスクROMコア52と、フラッシュメモリコア53と、システム部54とを具備する。カード型電子機器51は、端子7、8、11〜1nを介して、ホスト機器に接続される。
フラッシュメモリコア53は、所定の機能を実現するためのアプリケーションプログラムを記録しているとともに、このアプリケーションプログラムを実行するための認証に使用する認証データ(本発明の第2の認証データに相当する。以下、「実行用認証データ」という。)及びこのアプリケーションプログラムを書き換えるための認証に使用する認証データ(本発明の第1の認証データに相当する。以下、「書換用認証データ」という。)を記録している。本実施形態においては、アプリケーションプログラムは、フラッシュメモリコア53内の2つの領域71、72に分割して記録されているものとし、実行用認証データ及び書換用認証データは、フラッシュメモリコア53内の領域73に記録されているものとする。実行用認証データ及び書換用認証データとしては、パスワード、指紋の画像データ又は特徴を抽出したデータ、眼(例えば、虹彩、網膜等)の画像データ又は特徴を抽出したデータ等を用いることができる。
マスクROMコア52は、フラッシュメモリコア53に記録されているアプリケーションプログラムの書き換えを行うためのアプリケーションプログラム書換プログラムを記録している。
マスクROMコア52及びフラッシュメモリコア53は、バス56を介してシステム部54に接続されている。
システム部54は、パワーオン検出部5によって起動されると、ホスト機器から端子7を介して供給される動作モード信号のレベルをチェックし、動作モード信号がハイレベルの場合には、マスクROMコア52に記録されているアプリケーションプログラム書換プログラムを実行し、動作モード信号がローレベルの場合には、フラッシュメモリコア53に記録されているアプリケーションプログラムを実行する。
図5は、システム部54の内部構成を示す図である。図5に示すように、システム部54は、端子11〜1n(図4参照)を介してホスト機器とデータ信号又はアドレス信号の送受信を行うためのホストインタフェース回路31と、SRAM32と、DMAC33と、バス56を介してマスクROMコア52及びフラッシュメモリコア53とプログラム又はデータの送受信を行うためのメモリインタフェース回路34と、ブリッジ回路35と、PLL回路36と、LCDコントローラ37と、タイマ回路38と、音声信号処理回路39と、割込みコントローラ40と、CPU41〜4nと、セキュリティ処理回路59とを具備する。
セキュリティ処理回路59は、ハードワイヤードのロジック回路であり、ホスト機器から送信される認証データとフラッシュメモリコア53内の領域73に記録されている実行用認証データ又は書換用認証データとが一致するか否かをチェックするための回路である。
セキュリティ処理回路59は、バス50を介して、ブリッジ回路35、PLL回路36、LCDコントローラ37、タイマ回路38、音声信号処理回路39、及び、割込みコントローラ40に接続されており、ブリッジ回路35を介して、バス30に接続可能である。
図6は、カード型電子機器51の動作の概要を示すフローチャートである。以下、図6を参照しながら、カード型電子機器51の動作について説明する。
ここでは、最初に、フラッシュメモリコア53内の領域71、72に記録されているアプリケーションプログラムを実行する場合について説明し、その後に、フラッシュメモリコア53内の領域71、72に記録されているアプリケーションプログラムを書き換える場合について説明する。
まず、フラッシュメモリコア53内の領域71、72に記録されているアプリケーションプログラムを実行する場合について説明する。
カード型電子機器51がホスト機器に接続され、電源が投入されると、ホスト機器は、端子8を介してパワーオン信号をカード型電子機器51に供給する。カード型電子機器51内のパワーオン検出部5は、パワーオン信号を受信すると、システム部54を起動する。
ホスト機器は、フラッシュメモリコア53内に現在記録されているアプリケーションプログラムをカード型電子機器51に実行させるか、又はフラッシュメモリコア53内に現在記録されているアプリケーションプログラムをカード型電子機器51に書き換えさせるかを決定する(ステップS301)。ここでは、フラッシュメモリコア53内に現在記録されているアプリケーションプログラムをカード型電子機器51に実行させる。
ホスト機器は、フラッシュメモリコア53内に現在記録されているアプリケーションプログラムを実行させる場合には処理をステップS303に移し、フラッシュメモリコア53内に現在記録されているアプリケーションプログラムを書き換えさせる場合には処理をステップS305に移す(ステップS302)。ここでは、フラッシュメモリコア53内に現在記録されているアプリケーションプログラムをカード型電子機器51に実行させる。
ホスト機器は、フラッシュメモリコア53内に現在記録されているアプリケーションプログラムをカード型電子機器51に実行させるため、ローレベルの動作モード信号を端子7を介してカード型電子機器51に供給する(ステップS303)。そして、ホスト機器は、フラッシュメモリコア53内に現在記録されているアプリケーションプログラムをカード型電子機器51に実行させようとしている者の認証データをカード型電子機器51に送信し(ステップS304)、処理を終了する。
一方、カード型電子機器51内のシステム部54は、動作モード信号がローレベルであるか又はハイレベルであるかをチェックし、動作モード信号がローレベルである場合には、処理をステップS402に移し、動作モード信号がハイレベルである場合には、処理をステップS405に移す(ステップS401)。ここでは、カード型電子機器51内のシステム部54は、処理をステップS402に移す。
動作モード信号がローレベルであるため、システム部54は、フラッシュメモリコア53内の領域71、72に記録されているアプリケーションプログラムの実行を開始する(ステップS402)。
フラッシュメモリコア53内の領域71、72に記録されているアプリケーションプログラムの先頭には、システム部54内のセキュリティ処理回路59に認証処理を開始させるためのコードが含まれており、システム部54内のセキュリティ処理回路59は、ホスト機器によって送信された認証データとフラッシュメモリコア53内の領域73に記録されている実行用認証データとが一致するか否かをチェックする(ステップS403)。そして、システム部54は、ホスト機器によって送信された認証データとフラッシュメモリコア53内の領域73に記録されている実行用認証データとが一致する場合には、アプリケーションプログラムの実行を続行し(ステップS404)、ホスト機器によって送信された認証データとフラッシュメモリコア53内の領域73に記録されている実行用認証データとが一致しない場合には、処理を終了する。
次に、フラッシュメモリコア53内の領域71、72に記録されているアプリケーションプログラムを書き換える場合について説明する。
カード型電子機器51がホスト機器に接続され、電源が投入されると、ホスト機器は、端子8を介してパワーオン信号を供給する。カード型電子機器51内のパワーオン検出部5は、パワーオン信号を受信すると、システム部54を起動する。
ホスト機器は、フラッシュメモリコア53内に現在記録されているアプリケーションプログラムをカード型電子機器51に実行させるか、又はフラッシュメモリコア53内に現在記録されているアプリケーションプログラムをカード型電子機器51に書き換えさせるかを決定する(ステップS301)。ここでは、フラッシュメモリコア53内に現在記録されているアプリケーションプログラムをカード型電子機器51に書き換えさせる。
ホスト機器は、フラッシュメモリコア53内に現在記録されているアプリケーションプログラムを実行させる場合には処理をステップS303に移し、フラッシュメモリコア53内に現在記録されているアプリケーションプログラムを書き換えさせる場合には処理をステップS305に移す(ステップS302)。ここでは、フラッシュメモリコア53内に現在記録されているアプリケーションプログラムをカード型電子機器51に書き換えさせる。
ホスト機器は、フラッシュメモリコア53内に現在記録されているアプリケーションプログラムをカード型電子機器51に書き換えさせるため、ハイレベルの動作モード信号を端子7を介してカード型電子機器51に供給する(ステップS305)。そして、ホスト機器は、フラッシュメモリコア53内に現在記録されているアプリケーションプログラムをカード型電子機器51に書き換えさせようとしている者の認証データをカード型電子機器51に送信し(ステップS306)、新たなアプリケーションプログラムをカード型電子機器51に無手順で送信する(垂れ流す)(ステップS307)。
一方、カード型電子機器51内のシステム部54は、動作モード信号がローレベルであるか又はハイレベルであるかをチェックし、動作モード信号がローレベルである場合には、処理をステップS402に移し、動作モード信号がハイレベルである場合には、処理をステップS405に移す(ステップS401)。ここでは、動作モード信号がハイレベルであるため、カード型電子機器51内のシステム部54は、処理をステップS405に移す。
システム部54は、マスクROMコア52に記録されているアプリケーションプログラム書換プログラムの実行を開始する(ステップS405)。
マスクROMコア52内に記録されているアプリケーションプログラム書換プログラムの先頭には、システム部54内のセキュリティ処理回路59に認証処理を開始させるためのコードが含まれており、システム部54内のセキュリティ処理回路59は、ホスト機器によって送信された認証データとフラッシュメモリコア53内の領域73に記録されている書換用認証データとが一致するか否かをチェックする(ステップS406)。そして、システム部54は、ホスト機器によって送信された認証データとフラッシュメモリコア53内の領域73に記録されている書換用認証データとが一致しない場合には、アプリケーションプログラム書換プログラムの実行を終了し、一致する場合には、フラッシュメモリコア53内の領域71、72に記録されているアプリケーションプログラムを消去し(ステップS407)、ホスト機器によって無手順で送信された(垂れ流された)新たなアプリケーションプログラムを領域71、72に書き込む(ステップS408)。
このように、カード型電子機器51によれば、フラッシュメモリコア53内の領域73に実行用認証データ及び書換用認証データが記録されており、フラッシュメモリコア53内の領域71、72に記録されているアプリケーションプログラムを実行するための認証、及びフラッシュメモリコア53内の領域71、72に記録されているアプリケーションプログラムを書き換えるための認証を分けて行うことができる。これにより、セキュリティを向上させることができる。
一般に、アプリケーションプログラムの書き換えには、アプリケーションプログラムの実行より大きな権限が必要とされるため、アプリケーションプログラム実行用の認証とアプリケーションプログラム書換用の認証とを分けて行うことは、非常に有用である。
なお、ホスト機器が、アプリケーションプログラムの新たな部分(一部)のみをカード型電子機器51に送信する(垂れ流す)こととしても良い。この場合、アプリケーションプログラムの新たな部分(一部)を領域71、72のいずれの領域に記録するかは、マスクROMコア52に記録されているアプリケーションプログラム書換プログラムのコード内に記述すれば良い。
次に、本発明の第3の実施形態について説明する。図7は、本発明の第3の実施形態としてのカード型電子機器を示す図である。本実施形態は、本発明をカード型電子機器に適用したものである。図7に示すように、このカード型電子機器81は、システム部4と、パワーオン検出部5と、端子7、8、11〜1nと、マスクROMコア82と、フラッシュメモリコア83とを具備する。カード型電子機器81は、端子7、8、11〜1nを介して、ホスト機器に接続される。
フラッシュメモリコア83は、所定の機能を実現するためのアプリケーションプログラムを記録しているとともに、このアプリケーションプログラムを実行するための認証に使用する認証データ(以下、「実行用認証データ」という)及びこのアプリケーションプログラムを書き換えるための認証に使用する認証データ(以下、「書換用認証データ」という)を記録している。本実施形態においては、アプリケーションプログラムは、フラッシュメモリコア83内の2つの領域91、92に分割して記録されているものとし、実行用認証データ及び書換用認証データは、フラッシュメモリコア83内の領域93に記録されているものとする。
マスクROMコア82は、ホスト機器から送信される認証データとフラッシュメモリコア53内の領域93に記録されている実行用認証データとが一致するか否かをチェックするための実行用認証プログラム(本発明の第4のプログラムに相当する)、ホスト機器から送信される認証データとフラッシュメモリコア53内の領域93に記録されている書換用認証データとが一致するか否かをチェックするための書換用認証プログラム(本発明の第3のプログラムに相当する)、及び、フラッシュメモリコア83に記録されているアプリケーションプログラムの書き換えを行うためのアプリケーションプログラム書換プログラムを記録している。
マスクROMコア82及びフラッシュメモリコア83は、バス86を介してシステム部4に接続されている。
図8は、カード型電子機器81の動作の概要を示すフローチャートである。以下、図8を参照しながら、カード型電子機器81の動作について説明する。
ここでは、最初に、フラッシュメモリコア83内の領域91、92に記録されているアプリケーションプログラムを実行する場合について説明し、その後に、フラッシュメモリコア83内の領域91、92に記録されているアプリケーションプログラムを書き換える場合について説明する。
まず、フラッシュメモリコア83内の領域91、92に記録されているアプリケーションプログラムを実行する場合について説明する。
カード型電子機器81がホスト機器に接続され、電源が投入されると、ホスト機器は、端子8を介してパワーオン信号をカード型電子機器81に供給する。カード型電子機器81内のパワーオン検出部5は、パワーオン信号を受信すると、システム部4を起動する。
ホスト機器は、フラッシュメモリコア83内に現在記録されているアプリケーションプログラムをカード型電子機器81に実行させるか、又はフラッシュメモリコア83内に現在記録されているアプリケーションプログラムをカード型電子機器81に書き換えさせるかを決定する(ステップS501)。ここでは、フラッシュメモリコア83内に現在記録されているアプリケーションプログラムをカード型電子機器81に実行させる。
ホスト機器は、フラッシュメモリコア83内に現在記録されているアプリケーションプログラムを実行させる場合には処理をステップS503に移し、フラッシュメモリコア83内に現在記録されているアプリケーションプログラムを書き換えさせる場合には処理をステップS505に移す(ステップS502)。ここでは、フラッシュメモリコア83内に現在記録されているアプリケーションプログラムをカード型電子機器81に実行させる。
ホスト機器は、フラッシュメモリコア83内に現在記録されているアプリケーションプログラムをカード型電子機器81に実行させるため、ローレベルの動作モード信号を端子7を介してカード型電子機器81に供給する(ステップS503)。そして、ホスト機器は、フラッシュメモリコア83内に現在記録されているアプリケーションプログラムをカード型電子機器81に実行させようとしている者の認証データ(例えば、パスワード、指紋の画像データ又は特徴を抽出したデータ、眼(例えば、虹彩、網膜等)の画像データ又は特徴を抽出したデータ等)をカード型電子機器81に送信し(ステップS504)、処理を終了する。
一方、カード型電子機器81内のシステム部4は、動作モード信号がローレベルであるか又はハイレベルであるかをチェックし、動作モード信号がローレベルである場合には、処理をステップS602に移し、動作モード信号がハイレベルである場合には、処理をステップS605に移す(ステップS601)。ここでは、カード型電子機器81内のシステム部4は、処理をステップS602に移す。
動作モード信号がローレベルであるため、システム部4は、マスクROMコア82に記録されている実行用認証プログラムの実行を開始する(ステップS602)。
システム部4は、ホスト機器から送信された認証データとフラッシュメモリコア83内の領域93に記録されている実行用認証データとが一致するか否かをチェックする(ステップS603)。そして、システム部4は、ホスト機器によって送信された認証データとフラッシュメモリコア83内の領域93に記録されている実行用認証データとが一致する場合には、フラッシュメモリコア83内の領域91、92に記録されているアプリケーションプログラムの実行を開始し(ステップS604)、ホスト機器によって送信された認証データとフラッシュメモリコア83内の領域93に記録されている実行用認証データとが一致しない場合には、処理を終了する。
次に、フラッシュメモリコア83内の領域91、92に記録されているアプリケーションプログラムを書き換える場合について説明する。
カード型電子機器81がホスト機器に接続され、電源が投入されると、ホスト機器は、端子8を介してパワーオン信号をカード型電子機器81に供給する。カード型電子機器81内のパワーオン検出部5は、パワーオン信号を受信すると、システム部4を起動する。
ホスト機器は、フラッシュメモリコア83内に現在記録されているアプリケーションプログラムをカード型電子機器81に実行させるか、又はフラッシュメモリコア83内に現在記録されているアプリケーションプログラムをカード型電子機器81に書き換えさせるかを決定する(ステップS501)。ここでは、フラッシュメモリコア83内に現在記録されているアプリケーションプログラムをカード型電子機器81に書き換えさせる。
ホスト機器は、フラッシュメモリコア83内に現在記録されているアプリケーションプログラムを実行させる場合には処理をステップS503に移し、フラッシュメモリコア83内に現在記録されているアプリケーションプログラムを書き換えさせる場合には処理をステップS505に移す(ステップS502)。ここでは、フラッシュメモリコア83内に現在記録されているアプリケーションプログラムをカード型電子機器81に書き換えさせる。
ホスト機器は、フラッシュメモリコア83内に現在記録されているアプリケーションプログラムをカード型電子機器81に書き換えさせるため、ハイレベルの動作モード信号を端子7を介してカード型電子機器81に供給する(ステップS505)。そして、ホスト機器は、フラッシュメモリコア83内に現在記録されているアプリケーションプログラムをカード型電子機器81に書き換えさせようとしている者の認証データ(例えば、パスワード、指紋の画像データ又は特徴を抽出したデータ、眼(例えば、虹彩、網膜等)の画像データ又は特徴を抽出したデータ等)をカード型電子機器81に送信し(ステップS506)、新たなアプリケーションプログラム(コード)をカード型電子機器81に無手順で送信する(垂れ流す)(ステップS507)。
一方、カード型電子機器81内のシステム部4は、動作モード信号がローレベルであるか又はハイレベルであるかをチェックし、動作モード信号がローレベルである場合には、処理をステップS602に移し、動作モード信号がハイレベルである場合には、処理をステップS605に移す(ステップS601)。ここでは、動作モード信号がハイレベルであるため、カード型電子機器81内のシステム部4は、処理をステップS605に移す。
システム部4は、マスクROMコア82に記録されている書換用認証プログラムの実行を開始する(ステップS605)。
システム部4は、ホスト機器によって送信された認証データとフラッシュメモリコア83内の領域93に記録されている書換用認証データとが一致するか否かをチェックする(ステップS606)。そして、システム部4は、ホスト機器によって送信された認証データとフラッシュメモリコア83内の領域93に記録されている書換用認証データとが一致しない場合には、処理を終了し、一致する場合には、マスクROMコア82に記録されているアプリケーションプログラム書換プログラムを実行することにより、フラッシュメモリコア83内の領域91、92に記録されているアプリケーションプログラムを消去し(ステップS607)、ホスト機器によって無手順で送信された(垂れ流された)新たなアプリケーションプログラムを領域91、92に書き込む(ステップS608)。
このように、カード型電子機器81によれば、フラッシュメモリコア53内の領域73に実行用認証データ及び書換用認証データが記録されているとともに、マスクROMコア82に実行用認証プログラム及び書換用認証プログラムが記録されており、フラッシュメモリコア83内の領域91、92に記録されているアプリケーションプログラムを実行するための認証、及びフラッシュメモリコア83内の領域91、92に記録されているアプリケーションプログラムを書き換えるための認証を分けて行うことができる。これにより、セキュリティを向上させることができる。
なお、ホスト機器が、アプリケーションプログラムの新たな部分(一部)のみをカード型電子機器81に送信する(垂れ流す)こととしても良い。この場合、アプリケーションプログラムの新たな部分(一部)を領域91、92のいずれの領域に記録するかは、マスクROMコア82に記録されているアプリケーションプログラム書換プログラムのコード内に記述すれば良い。
本発明は、ホスト機器に接続されて使用される電子機器において利用可能である。特に、内部に記録されているプログラムを実行することにより所定の機能を実現するための電子機器において利用可能である。
本発明の第1の実施形態としてのカード型電子機器を示す図。 図1のシステム部4の内部構成を示す図。 図1のカード型電子機器の動作の概要を示すフローチャート。 本発明の第2の実施形態としてのカード型電子機器を示す図。 図4のシステム部54の内部構成を示す図。 図4のカード型電子機器の動作の概要を示すフローチャート。 本発明の第3の実施形態としてのカード型電子機器を示す図。 図7のカード型電子機器の動作の概要を示すフローチャート。
符号の説明
1、51、81 カード型電子機器、2、52、82 マスクROMコア、3、53、83 フラッシュメモリコア、4、54、84 システム部、5 パワーオン検出部、7、8、11〜1n 端子、59 セキュリティ処理回路、

Claims (10)

  1. ホスト機器に接続され、所定の機能を実現するための電子機器であって、
    書き換え可能な第1の記録部と、
    前記ホスト機器から送信される第1のプログラムを前記第1の記録部に書き込むための第2のプログラムを記録する第2の記録部と、
    前記ホスト機器から供給される制御信号が活性化された場合に、前記第2のプログラムを実行することにより、前記ホスト機器から送信される前記第1のプログラムを受信して前記第1の記録部に書き込み、前記制御信号が活性化されていない場合に、前記第1の記録部に記録されている前記第1のプログラムを実行することにより、前記所定の機能を実現するシステム部と、
    を具備する電子機器。
  2. 前記システム部が、前記ホスト機器が無手順で送信する前記第1のプログラムを受信して前記第1の記録部に書き込む、請求項1記載の電子機器。
  3. 前記システム部が、前記第1のプログラムを前記第1の記録部内の複数の領域に書き込む、請求項1又は2記載の電子機器。
  4. 前記第2の記録部に記録されている前記第2のプログラムが、前記第1のプログラムを書き込むための前記複数の領域を特定するコードを含む、請求項3記載の電子機器。
  5. 前記第2の記録部に記録されている前記第2のプログラムが、前記第1のプログラムを書き込むための前記複数の領域のそれぞれの先頭アドレス及びサイズを特定するコードを含む、請求項4記載の電子機器。
  6. 前記システム部が、プログラムの一部としてのコードを受信し、前記コードを前記第1の記録部の所定の領域に書き込むことにより、前記第1の記録部に記録されている前記第1のプログラムの一部を更新する、請求項1〜5のいずれか1項に記載の電子機器。
  7. 前記第2の記録部に記録されている前記第2のプログラムが、前記プログラムの一部としてのコードを書き込むための前記所定の領域を特定するコードを含む、請求項6記載の電子機器。
  8. 前記第1の記録部が、前記第1のプログラムを前記第1の記録部に書き込むための認証に用いる第1の認証データと、前記第1のプログラムを実行するための認証に用いる第2の認証データとを更に記録しており、
    前記システム部が、前記制御信号が活性化された場合に、前記ホスト機器から送信される認証データ及び前記第1の認証データに基づいて、前記第1のプログラムを前記第1の記録部に書き込むための第1の認証処理を行い、前記制御信号が活性化されていない場合に、前記ホスト機器から送信される認証データ及び前記第2の認証データに基づいて、前記第1のプログラムを実行するための第2の認証処理を行うセキュリティ処理回路を含む、請求項1〜7のいずれか1項に記載の電子機器。
  9. 前記第1の記録部が、前記第1のプログラムを前記第1の記録部に書き込むための認証に用いる第1の認証データと、前記第1のプログラムを実行するための認証に用いる第2の認証データとを更に記録しており、
    前記第2の記録部が、前記ホスト機器から送信される認証データ及び前記第1の認証データに基づいて前記第1のプログラムを前記第1の記録部に書き込むための第1の認証処理を行うための第3のプログラムと、前記ホスト機器から送信される認証データ及び前記第2の認証データに基づいて前記第1のプログラムを実行するための第2の認証処理を行うための第4のプログラムとを更に記録しており、
    前記システム部が、前記制御信号が活性化された場合に、前記第3のプログラムを実行し、認証が得られたときに、前記第2のプログラムを実行することにより、前記ホスト機器から送信される前記第1のプログラムを受信して前記第1の記録部に書き込み、前記制御信号が活性化されていない場合に、前記第4のプログラムを実行し、認証が得られたときに、前記第1のプログラムを実行することにより、前記所定の機能を実現する、請求項1〜7のいずれか1項に記載の電子機器。
  10. カードの形状を有する、請求項1〜9のいずれか1項に記載の電子機器。
JP2004009169A 2004-01-16 2004-01-16 半導体集積回路 Withdrawn JP2005202753A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004009169A JP2005202753A (ja) 2004-01-16 2004-01-16 半導体集積回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004009169A JP2005202753A (ja) 2004-01-16 2004-01-16 半導体集積回路

Publications (1)

Publication Number Publication Date
JP2005202753A true JP2005202753A (ja) 2005-07-28

Family

ID=34822286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004009169A Withdrawn JP2005202753A (ja) 2004-01-16 2004-01-16 半導体集積回路

Country Status (1)

Country Link
JP (1) JP2005202753A (ja)

Similar Documents

Publication Publication Date Title
JP4817836B2 (ja) カードおよびホスト機器
US7676640B2 (en) Flash memory controller controlling various flash memory cells
US7454568B2 (en) Memory card authentication system, capacity switching-type memory card host device, capacity switching-type memory card, storage capacity setting method, and storage capacity setting program
JP2011519451A (ja) 周辺装置ロッキングメカニズム
US20060047938A1 (en) Method and apparatus to initialize CPU
KR101555210B1 (ko) 휴대용 단말기에서 내장 대용량 메모리를 이용한 컨텐츠 다운로드 방법 및 장치
JP6070360B2 (ja) 情報処理装置およびその処理方法
KR100625811B1 (ko) 코드 데이터 에러 정정 방법 및 장치
US20120151126A1 (en) Flash drive with multiple connectors
JP4482044B2 (ja) 情報処理装置およびデバイスコントローラの駆動制御方法
US8341334B2 (en) Flash memory apparatus and method for operating the same and data storage system
US20050223144A1 (en) Information terminal and data transfer method for information terminal
JP2005202753A (ja) 半導体集積回路
JP2009176147A (ja) 電子機器および電子機器のメモリアクセス許可判別方法
JP2004220575A (ja) カード型メモリのインターフェース回路、その回路を搭載したasic、及びそのasicを搭載した画像形成装置
JP2845839B2 (ja) 無線選択呼出受信機
KR100743253B1 (ko) 코드 데이터 에러 정정 방법 및 장치
JP2012194675A (ja) 情報機器及び情報機器への非常アクセス方法
CN115292231B (zh) 设备端口切换方法和装置
KR100743252B1 (ko) 코드 데이터 에러 정정 방법 및 장치
JP2002229621A (ja) ハードウェア管理装置
US20090240933A1 (en) Computer system architecture and operating method for the operating system thereof
JP2005136906A (ja) 記憶装置および該記憶装置が取り付けられる電子機器
KR100743258B1 (ko) 코드 데이터 에러 정정 방법 및 장치
KR20060067014A (ko) 메모리 카드를 이용한 롬 이미지 업그레이드 방법

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070403