JP2005332221A - 記憶装置 - Google Patents

記憶装置 Download PDF

Info

Publication number
JP2005332221A
JP2005332221A JP2004150235A JP2004150235A JP2005332221A JP 2005332221 A JP2005332221 A JP 2005332221A JP 2004150235 A JP2004150235 A JP 2004150235A JP 2004150235 A JP2004150235 A JP 2004150235A JP 2005332221 A JP2005332221 A JP 2005332221A
Authority
JP
Japan
Prior art keywords
program
data processor
encrypted
jump table
volatile memory
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
JP2004150235A
Other languages
English (en)
Other versions
JP2005332221A5 (ja
Inventor
Satoshi Yoshida
悟史 吉田
Kunihiro Katayama
国弘 片山
Shinsuke Asari
信介 浅利
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology 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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2004150235A priority Critical patent/JP2005332221A/ja
Priority to TW094113465A priority patent/TW200608283A/zh
Priority to US11/128,289 priority patent/US20050259465A1/en
Priority to CNB2005100727962A priority patent/CN100428187C/zh
Publication of JP2005332221A publication Critical patent/JP2005332221A/ja
Publication of JP2005332221A5 publication Critical patent/JP2005332221A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices

Abstract


【課題】 コントローラの動作プログラムの一部を不揮発性メモリ上の修正済みプログラムに置き換え可能にする技術において、不揮発性メモリ及びコントローラ内の記憶情報に対する改ざんや漏洩を防止する。
【解決手段】 パワーオンリセットに際して暗号化された代替プログラム(SMDLk)があればこれを不揮発性メモリ(4)から揮発性メモリ(12)に転送し、その代替プログラムを復号するのは実際に代替プログラムを実行するときとする。リセット処理から抜けてデータプロセッサ(10)によるデータ処理が可能にされるまでに長い待ち時間を要しない。一旦復号された代替プログラムは再利用可能に揮発性メモリに保持するから実行する度に復号を行なことを要しない。代替プログラムは暗号化されているので不揮発性メモリをコントローラ(3)から物理的に分離して代替プログラムが不正にダンプされてもデータの解析は困難とされる。
【選択図】 図1

Description

本発明は、コントローラと不揮発性メモリを有する記憶装置においてコントローラの動作プログラムの一部を不揮発性メモリ上の修正済みプログラムと置き換える技術、例えばメモリカードに適用して有効な技術に関する。
メモリカードコントローラとフラッシュメモリとを有するメモリカードにおいてそのメモリカードコントローラ内のROMのプログラムを容易に修正する方法として特許文献1に記載の方法がある。これは、フラッシュメモリに修正プログラムを置き、パワーオンでその修正プログラムをメモリカードコントローラ内のRAMに転送し、ROM上の修正対象になったプログラムに代えてRAM上の修正プログラムを実行可能にする。
また、フラッシュメモリに格納された記憶情報の改ざんや漏洩を防止するには、そのような情報を暗号化してフラッシュメモリに記憶する技術が有る。特許文献2には、フラッシュメモリに格納され、格納用暗号処理部で暗号化した個人情報管理用アプリケーション(高いセキュリティーを必要とする。)を格納鍵で復号して読み出せるようにしたフラッシュメモリーカードについて記載があり、記憶データが不正にダンプされてもそのままではデータを解析することを困難にするものである。特許文献3にはICカードチップに実行させる為のアプリケーションプログラム(銀行取り引き、クレジット決済)の一部をフラッシュメモリチップ内のコマンド処理モジュールに暗号化して格納するメモリカードについて記載が有る。特許文献4には秘匿性の高い小容量データ(重要個人情報)をパンタレジスタントモジュール(表面保護膜を剥離した場合に下の配線相等も破壊されて回路の分解調査を不可能とするデバイス構造)の不揮発性メモリへ、秘匿性の低いデータ(CPUが実行するアプリケーション)はそのままフラッシュメモリへ記録するようにした技術が示される。
特開平11−265283号公報 特開2003−256282号公報 特開2003−91704号公報 特開2002−229861号公報(対応米国特許出願10/062451)
本発明者は、メモリカードコントローラとフラッシュメモリを有するメモリカードにおいてメモリカードコントローラの動作プログラムの一部をフラッシュメモリ上の修正済みプログラムに置き換える可能にする技術において、フラッシュメモリ上の修正済みプログラムはもとより、メモリカードコントローラ内のプログラムやデータに対しても改ざんや漏洩を防止することについて検討した。メモリカードコントローラのオンチップマスクROMに比べてフラッシュメモリは直接そのアクセス端子がチップに露出するから、メモリカードが分解されたとき、前者に比べて後者の方がその記憶情報に対する改ざんや漏洩を受け易い。このとき、上記特許文献2乃至4に記載されるように秘匿性の高いデータやプログラムは暗号化してフラッシュメモリに格納するのがよい。しかしながら、それだけでは、メモリカードのROM内のプログラムに対して自由に修正を行うことができない。そのため、文献1に記載されるようにROM内の全てのプログラムに対してジャンプテーブルを持つ必要があるが、この場合にはフラッシュメモリに格納されているジャンプテーブルに対する不正な改ざんや解析によってメモリカードコントローラのオンチップマスクROM上のプログラム等に対する改ざんや漏洩の虞のあることが明らかにされた。例えば、ジャンプテーブルを改ざんしてメモリカードコントローラに不正なプログラムを実行させることによってメモリカードコントローラ内の秘匿性の高いデータを外部から参照可能にする等の不正アクセスが行なわれる虞がある。また、パワーオンリセット時にフラッシュメモリコントローラからメモリカードコントローラのRAMに転送された暗号化状態のプログラムは実行前に復号されなければならないが、RAMへの転送と併せて復号も行なうと、プログラム容量が大きい場合にはリセット処理時間が長くなり過ぎてしまう。
本発明の目的は、コントローラの動作プログラムの一部を不揮発性メモリ上の修正済みプログラムに置き換え可能にする技術において、不揮発性メモリ上の修正済みプログラムはもとより、コントローラ内のプログラムやデータに対しても改ざんや漏洩の防止に資することができる記憶装置を提供することにある。
本発明の別の目的は、コントローラの動作プログラムの一部を不揮発性メモリ上の修正済みプログラムに置き換え可能にする技術におい、修正済みプログラムの容量が大きい場合にも置き換えの為の処理によってリセット処理後の動作開始の遅れが大きくならないようにすることにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
〔1〕記憶装置はデータ処理を行うコントローラ(3)と、前記コントローラの制御を受けて書き換え可能に情報を記憶する第1の不揮発性メモリ(4)とを有する。前記コントローラは、データプロセッサ(10)と、データプロセッサによってアクセスされる書き換え不可能な第2の不揮発性メモリ(11)と、データプロセッサによってアクセスされる書き換え可能な揮発性メモリ(12)とを有する。前記第2の不揮発性メモリは前記データプロセッサの処理プログラム(PGM)を保有し、前記第1の不揮発性メモリは前記処理プログラムの一部を代替する暗号化された代替プログラム(SMDLk)の格納領域(20)を有する。前記データプロセッサは、パワーオンリセットに際して前記暗号化された代替プログラムがあればこれを前記揮発性メモリに転送し、転送後前記暗号化された代替プログラムを実行するとき当該代替プログラムを復号し、復号した代替プログラムをそれ以降再利用可能に前記揮発性メモリに格納する。
上記によれば、パワーオンリセットに際して前記暗号化された代替プログラムがあればこれを前記揮発性メモリに転送するが、その代替プログラムを復号するのは実際に代替プログラムを実行するときである。従って、リセット処理から抜けてデータプロセッサによるデータ処理が可能にされるまでに長い時間待つことを要しない。一旦復号された代替プログラムは再利用可能に揮発性メモリに保持されるから代替プログラムを実行する度に毎回その復号を行なう煩わしさはない。尚、代替プログラムは暗号化されているので第1の不揮発性メモリをコントローラから物理的にもしくは電気的に分離して代替プログラムを不正にダンプしてもそのままではデータを解析することは困難とされている。
前記代替プログラムを復号するタイミングは、揮発性メモリに転送された前記代替プログラムを初めて実行するときであるのが望ましい。一度も実行されずに動作電源が遮断される場合もあるからである。また、高速の処理速度を要求されるプログラムを代替する場合には予めパワーオンリセット中に復号しておくように、パワーオンリセットの処理を変更することも可能である。
ジャンプテーブルを利用して前記処理プログラムを実行するプログラムの実行形態に着目する。例えば、前記第2の不揮発性メモリは前記処理プログラムを実行するとき使用される第1のジャンプテーブル(TBL)を有し、前記第1の不揮発性メモリは前記代替プログラムにより一部が代替された処理プログラムを実行するとき使用される第2のジャンプテーブル(STBL)の格納領域(21)を有し、前記格納領域は暗号化された第2のジャンプテーブルの格納に利用される。前記データプロセッサは、パワーオンリセット解除後に暗号化された代替プログラムを前記揮発性メモリに転送するとき、第2のジャンプテーブルを復号し、復号した第2のジャンプテーブルをそれ以降前記第1のジャンプテーブルの代わりに利用可能に前記揮発性メモリに格納する。これによれば、代替プログラムにより修正された処理プログラムの実行に使用される第2のジャンプテーブルは暗号化されて第1の不揮発性メモリに格納されているから、第1の不揮発性メモリをメモリカードコントローラから物理的にもしくは電気的に分離してジャンプテーブルを不正にダンプできても、その内容を解析したり不正目的のために改ざんすることは困難とされる。仮にジャンプテーブルを改ざんしてコントローラに不正なプログラムを実行させることができれば、コントローラ内の秘匿性の高いデータを外部から参照可能にする等の不正アクセスが行なわれる虞がある。
本発明の具体的な形態として、前記第2の不揮発性メモリは、夫々暗号化された前記代替プログラム及び第2のジャンプテーブルを前記第1の不揮発性メモリに書き込む書き込み制御プログラム(MDL(PM・ER))を保有する。記憶装置が適用システムに搭載された状態でもプログラムやジャンプテーブルを容易に更新することが可能になる。
本発明の具体的な形態として、復号処理プログラムは、復号演算モジュール(ハードウェア)を使用して復号する。なお、復号処理プログラムが処理全てを行っても良い。
本発明の具体的な形態では、前記ジャンプテーブルを書き換えて前記復号処理プログラムの起動と代替プログラムの起動を切り換え制御する。すなわち、前記第2ジャンプテーブルは、前記処理プログラムの中で参照される第1テーブル領域(31)と、前記復号処理プログラムの中で参照される第2テーブル領域(32)とを有し、前記第1テーブル領域内で前記代替プログラムの配置アドレス情報を参照するのに割当てられる第1参照領域(33)には前復号処理プログラムの配置アドレス情報が記憶され、前記第2テーブル領域内で前記第1参照領域に対応する第2参照領域(34)には前記第1参照領域に割当てられる前記代替プログラムの配置アドレス情報が記憶される。前記データプロセッサは、前記第1参照領域が保有するアドレス情報を参照してそのアドレスに配置された前記復号処理プログラムを実行することにより、対応する第2参照領域のアドレス情報のアドレスから代替プログラムを取得し、取得した代替プログラムを復号すると共に、当該第1参照領域が保有するアドレス情報を対応する第2領域が保有するアドレス情報に変更する。これにより、代替プログラムを最初の実行タイミングで復号でき、それ以降復号された代替プログラムを直接実行可能になる。
前記データプロセッサは例えば前記第2の不揮発性メモリ及び揮発性メモリをアドレス信号によりランダムアクセス可能であり、前記第1の不揮発性メモリを論理セクタ単位でファイルアクセス可能である。前記コントローラは所定のメモリカード規格に準拠するホストインタフェースを有する。
〔2〕暗号化されたジャンプテーブルの復号に着目すると、記憶装置はデータ処理を行うコントローラと、前記コントローラの制御を受けて書き換え可能に情報を記憶する第1の不揮発性メモリとを有し、前記コントローラは、データプロセッサと、データプロセッサによってアクセスされる書き換え不可能な第2の不揮発性メモリと、データプロセッサによってアクセスされる書き換え可能な揮発性メモリとを有し、前記第2の不揮発性メモリは前記データプロセッサの処理プログラムと前記処理プログラムを実行するとき使用される第1のジャンプテーブルとを保有する。前記第1の不揮発性メモリは前記処理プログラムの一部を代替する暗号化された代替プログラムの格納領域及び前記代替プログラムを実行するとき使用される第2のジャンプテーブルの格納領域を有する。前記格納領域は暗号化された第2のジャンプテーブルの格納に利用される。前記データプロセッサは、パワーオンリセットに際して前記暗号化された代替プログラムがあればこれを前記揮発性メモリに転送すると共に、第2のジャンプテーブルを復号し、復号した第2のジャンプテーブルをそれ以降前記第1のジャンプテーブルの代わりに利用可能に前記揮発性メモリに格納する。
代替プログラムは暗号化されているので第1の不揮発性メモリをコントローラから物理的にもしくは電気的に分離して代替プログラムを不正にダンプしてもそのままではデータを解析することは困難とされる。更に、代替プログラムにより修正された処理プログラムの実行に使用される第2のジャンプテーブルは暗号化されて第1の不揮発性メモリに格納されているから、第1の不揮発性メモリをコントローラから物理的にもしくは電気的に分離してジャンプテーブルを不正にダンプできても、その内容を解析したり不正目的のために改ざんすることは困難とされる。よって、ジャンプテーブルを改ざんしてコントローラに不正なプログラムを実行することは困難になり、コントローラ内の秘匿性の高いデータを外部から参照可能にする等の不正アクセスが行なわれる虞を未然に防止することができる。
前記データプロセッサは、前記揮発性メモリに転送された前記暗号化されている代替プログラムを実行するとき当該代替プログラムを復号し、復号した代替プログラムをそれ以降再利用可能に前記揮発性メモリに格納してよい。パワーオンリセット処理から抜けてデータプロセッサによるデータ処理が可能にされるまでに長い時間待つことを要しない。一旦復号された代替プログラムは再利用可能に揮発性メモリに保持されるから代替プログラムを実行する度に毎回その復号を行なう煩わしさはない。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、コントローラの動作プログラムの一部を不揮発性メモリ上の修正済みプログラムに置き換え可能にする技術において、不揮発性メモリ上の修正済みプログラムはもとより、コントローラ内のプログラムやデータに対しても改ざんや漏洩の防止に資することができる。
コントローラの動作プログラムの一部を不揮発性メモリ上の修正済みプログラムに置き換え可能にする技術におい、修正済みプログラムの容量が大きい場合にも置き換えの為の処理によってリセット処理後の動作開始の遅れが大きくならないようにすることができる。
図1には本発明の一例に係るメモリカードが示される。メモリカード(MCRD)1はカード基板に、データ処理を行うコントローラとしてのメモリカードコントローラ(MCNT)3と前記メモリカードコントローラ3の制御を受けて書き換え可能に情報を記憶する第1の不揮発性メモリとしてのフラッシュメモリ(FLASH)4とを有する。フラッシュメモリ4は1個又は複数個のフラッシュメモリチップによって構成される。メモリカードコントローラ3は例えばシングルチップで構成される。前記メモリカードコントローラ3は、例えばデータプロセッサ(MPU)10、データプロセッサ10によってアクセスされる書き換え不可能な第2の不揮発性メモリとしてのマスクROM(MskROM)11、データプロセッサ10によってアクセスされる書き換え可能な揮発性メモリとしてのRAM(ランダムアクセスメモリ)12、インタフェース回路(HMIF)13及びデータバッファ(DBUF)14を有する。
前記インタフェース回路13はホスト機器(HOST)15及び前記フラッシュメモリ4とインタフェースされる。メモリカードコントローラ3とホスト機器15とのインタフェース形態はメモリカード1のカード仕様によって決まり、そのカード仕様に準拠したメモリカードコマンドに応答する処理を行う。例えば、マルチメディアカード(MultiMediaCard)の仕様に準拠する。MultiMediaCardは、InfineonTechnologiesAGの登録商標である。フラッシュメモリ4とのインタフェース形態はファイルアクセス形態とされる。すなわち、メモリカードコントローラ3がフラッシュメモリ4をファイルストレージとしてアクセス制御する。前記メモリカードコントローラ3は、ホスト機器15から与えられるアクセスコマンドでアクセス対象論理アドレス(論理セクタアドレス)が指定されると、それに対応する物理アドレスを生成し、フラッシュメモリ4の仕様にしたがったメモリアクセスコマンドをフラッシュメモリ4に発行して、フラッシュメモリ4をアクセス制御する。
前記マスクROM11は前記データプロセッサ10の処理プログラムPGM及び前記処理プログラムPGMを実行するときに使用する第1のジャンプテーブル(初期ジャンプテーブル)TBL等を有する。データプロセッサ10はその処理プログラムPGMを実行することによって前記ホストインタフェース動作及フラッシュメモリインタフェース動作などを制御する。処理プログラムPGMは、例えば機能単位にモジュール化されたプログラムモジュールMDLi(i=1〜n)の集合として構成され、リセット解除の直後に所定のプログラムモジュールMDL1が実行開始され、プログラムモジュールMDLi内で他のプログラムモジュールMDLxにジャンプしながら処理を継続するようになっている。ジャンプ元プログラムモジュールにはジャンプテーブルの参照に用いるテーブルアドレスが記述され、そのテーブルアドレスで参照される領域にはジャンプ先プログラムモジュールの先頭アドレス情報が保持されている。データプロセッサ10はジャンプ命令をデコードすると、その命令のアドレスフィールドに記述されているテーブルアドレスのジャンプテーブル領域からアドレス情報を取得し、そのアドレス情報が示すアドレスにプログラムの実行アドレスを切り換える。これによって、そのプログラムアドレスで指定される別のプログラムモジュールに実行アドレスが遷移される。
メモリカードコントローラ3は前記処理プログラムPGMの部分的な修正に対応するためにFOF(ファーム・オン・フラッシュ)機能を有する。このFOF機能について説明する。
フラッシュメモリ4は前記処理プログラムの一部を代替する暗号化された代替プログラムとしての修正プログラムモジュールSMDLk(k=1〜nの任意の数)の格納領域20と、前記修正プログラムモジュールSMDLkにより一部が代替された処理プログラムを実行するとき使用される暗号化された第2のジャンプテーブル(修正ジャンプテーブル)STBLの格納領域21と、前記領域20,21に修正モジュールSMDLk及び修正ジャンプテーブルSTBLが格納されたか否かを示すためのフラグ情報FLGの格納領域22を有する。
図2には前記領域20,21に修正プログラムモジュールSMDLk及び修正ジャンプテーブルSTBLが格納されていないときの処理プログラムの実行態様が例示される。パワーオンリセットに際して、動作電源電圧とクロック発振周波数が安定した後、データプロセッサ10は、先ず前記領域22のフラグ情報FLGを参照し、前記領域20,21に修正プログラムモジュールSMDLk及び修正ジャンプテーブルSTBLが格納されていないときは、ROM11上の初期ジャンプテーブルTBLをRAM12の所定記憶領域に転送する(TRS)。その後の処理プログラムの実行では例えばプログラムモジュールMDL1から他のプログラムモジュールMDLiへジャンプするには、RAM12上の初期ジャンプテーブルTBLを参照して当該他のプログラムモジュールMDLiのプログラムアドレスを取得して、命令実行順序を変更する(BRC)。
図3にはホスト機器15からメモリカード1へのデータ書き込み態様が例示される。ホスト機器15からメモリカード1に安全にデータを転送するために転送データは暗号化される。セキュアモジュールとしての修正プログラムモジュールSMDLk及び修正ジャンプテーブルSTBLは製造者鍵で暗号化され且つメモリカード1の公開鍵で暗号化された状態でホスト機器15から転送されてくる。その他の非セキュアモジュールとしてのデータなどはメモリカード1の公開鍵で暗号化された状態でホスト機器15から転送されてくる。ホスト機器15から転送されたデータは一時的にデータバッファ14に蓄積され、その後データプロセッサ10がメモリカード1の秘密鍵でそれらを復号することにより、製造者鍵で暗号化されているセキュアモジュールと平文の非セキュアモジュールを取り出すことができる。セキュアモジュールとしての修正プログラムモジュールSMDLkに及び修正ジャンプテーブルSTBLは暗号化された状態でフラッシュメモリ4に保存される。これにより、フラッシュメモリ4をメモリカード1から分離してその記憶情報が不正にダンプされることがあっても、その内容は容易に解析され難い。特に、修正ジャンプテーブルSTBLも暗号化されているので、修正ジャンプテーブルSTBLの内容を解析してこれを不正目的のために改ざんすることも困難であり、修正ジャンプテーブルSTBLを改ざんしてデータプロセッサ10に不正なプログラムを実行させることが抑制でき、修正ジャンプテーブルSTBLの改ざんによってメモリカードコントローラ3内に保持されている秘匿性の高いデータやプログラムが外部から参照可能にされる等の不正アクセスが行なわれる虞も未然に防止することが可能である。尚、修正プログラムモジュールSMDLkに及び修正ジャンプテーブルSTBLをフラッシュメモリ4に書き込み制御するプログラムMDK(PM・ER)は例えば一つのプログラムモジュールMDLmとして処理プログラムPGMに含まれている。
図4には前記領域20,21に修正プログラムモジュールSMDLk及び修正ジャンプテーブルSTBLが格納されているときのパワーオンリセット時における動作態様が例示される。パワーオンリセットに際して、動作電源電圧とクロック発振周波数が安定した後、データプロセッサ10は、先ず前記領域22のフラグ情報FLGを参照し、前記領域20,21に修正プログラムモジュールSMDLk及び修正ジャンプテーブルSTBLが格納されているときは、フラッシュメモリ4上の修正ジャンプテーブルSTBL及び修正プログラムモジュールSMDLkをRAM12の所定記憶領域に転送する。このとき、データプロセッサ10は修正ジャンプテーブルSTBLに対しては復号し、修正プログラムモジュールSMDLkに対しては暗号状態のまま、RAM12への転送を行う。暗号化された修正プログラムモジュールに対して一度に全て復号するとその処理時間が長くなるので、パワーオンリセット時の処理時間が大幅に増えないように考慮されている。
図5には図4の処理後における修正プログラムモジュールの実行動作形態が例示される。RAM12に転送された修正プログラムモジュールSMDLkはデータプロセッサ10が最初に実行する時に復号する。復号された修正プログラムモジュールSMDLkはそれ以降再利用可能にRAM12に保持される。RAMに転送された修正プログラムモジュールSMDLkを復号するのは実際にその修正プログラムモジュールを実行するときである。従って、リセット処理から抜けてデータプロセッサ10によるデータ処理が可能にされるまでに長い時間待つことを要しない。一旦復号された修正プログラムモジュールは再利用可能にフラッシュメモリ4に保持されるから修正プログラムモジュールSMDLkを実行する度に毎回その復号を行なう煩わしさはない。
前記修正プログラムモジュールSMDLk及び修正ジャンプテーブルSTBLに対する復号処理はデータプロセッサ10が復号処理プログラムMDL(DEC)を実行することによって行われる。前記復号処理プログラムMDL(DEC)は、例えば一つのプログラムモジュールMDLhとして処理プログラムPGMに含まれている。
図6には暗号化されている修正プログラムモジュールを初めての実行する時に復号しそれ以降再利用可能にRAMに保持させる処理手順が例示される。ここでは、前記修正ジャンプテーブルSTBLを書き換えて前記復号処理プログラムの起動と修正プログラムモジュールの起動を切り換え制御する。すなわち、前記修正ジャンプテーブルSTBLは、前記処理プログラムの中で参照される第1テーブル領域31と、前記復号処理プログラムMDL(DEC)の中で参照される第2テーブル領域32とを有する。第1テーブル領域31にはプログラムモジュールMDL0〜MDLnの順番にそのプログラムモジュールの配置アドレス情報(プログラムモジュールの先頭アドレス)を保持するための領域が割り当てられている。MDLi_SADRはプログラムモジュールMDLiの先頭アドレスを意味する。特にパワーオン時に復号されてRAM14に転送された状態では、前記第1テーブル領域31内において前記修正プログラムモジュールの配置アドレス情報を参照するのに割当てられる第1参照領域33には復号処理プログラムMDL(DEC)の配置アドレス情報としてその先頭アドレスMDL(DEC)_SADRが保持されている。前記第2テーブル領域32内には前記第1参照領域33に対応する第2参照領域34を有し、第2参照領域34には対応する前記第1参照領域33に割当てられる前記修正プログラムモジュールの配置アドレス情報としてその先頭アドレスが記憶される。具体的には、図6の修正プログラムモジュール復号前の修正ジャンプテーブルSTBLにおいて、修正箇所1、修正箇所mに対応される第1参照領域33には復号処理プログラムMDL(DEC)の先頭アドレスMDL(DEC)_SADRが保持されている。このとき、修正箇所1の第1参照領域33に対応される第2参照領域34には修正プログラムモジュールSMDL3の先頭アドレスSMDL3_SADRが保持されている。修正箇所mの第1参照領域33に対応される第2参照領域34には修正プログラムモジュールSMDLkの先頭アドレスSMDLk_SADRが保持されている。特に図示はしないが、第1参照領域33はそれが修正プログラムモジュールの先頭アドレスの格納に割り当てられるときテーブルの先頭から何番目の修正プログラムモジュールであるかを示す識別コードを付随する。この識別コードは復号処理モジュールMDL(DEC)で認識される。
前記データプロセッサ10は、前記第1テーブル領域31が保有するアドレス情報を参照しながらプログラム処理を進めていくとき、そのアドレス情報で示されるアドレスに復号処理プログラムが配置されていると、復号処理プログラムはそのとき参照された第1参照領域33が保有するアドレス情報に付随する識別コードを用いて第2テーブル領域32の対応する第2参照領域34が保有する修正プログラムモジュールの配置アドレスを取得する。例えばデータプロセッサ10が現在実行中のプログラムモジュール中におけるプログラムジャンプの命令によるジャンプ先の指示が修正ジャンプテーブルSTBLの修正箇所1のアドレスで与えられるとき、データプロセッサ10はそこから復号処理プログラムモジュールの先頭アドレスMDL(DEC)_SADRを取得して復号処理プログラムモジュールの実行に遷移する。このときデータプロセッサ10は直前のジャンプ命令で参照した第1参照領域33が保有するアドレス情報に付随する識別コードを読み込む。図6の例では第1番目になっている。データプロセッサ10はその識別コードに基づいて、第2テーブル領域32の第1番目に対応する第2参照領域34が保有する修正プログラムモジュールの配置アドレスSMDL3_SADRを取得する。データプロセッサ10はそのアドレスSMDL3_SADRで指定される暗号化状態の修正プログラムモジュールを復号する。復号した修正プログラムモジュールは、同じアドレスSMDL3_SADRで指定される領域に上書きされる。その後、今回の復号処理プログラムモジュールの参照に用いた第1参照領域33の配置アドレス情報MDL(DEC)_SADRを対応する第2参照領域34の配置アドレス情報SMDL3_SADRに書き換える。この書き換えが完了されたときの修正ジャンプテーブルSTBLの状態は図6における修正プログラムモジュール復号後の状態として図示される。第1参照領域33の書き換え完了後、データプロセッサ10の処理は復号処理モジュールへのジャンプ前に戻って修正箇所1で指定された修正プログラムモジュールの先頭アドレスSMDL3_SADRに遷移される。上記復号処理は修正プログラムモジュール毎にそれが最初に実行されるときだけ行われる。これにより、暗号化された修正プログラムモジュールを最初の実行タイミングで復号でき、それ以降復号された修正プログラムモジュールを直接実行可能になる。
図7には前記領域20,21に修正プログラムモジュールSMDLk及び修正ジャンプテーブルSTBLが格納されているときの処理プログラムの実行態様が例示される。パワーオンリセットに際して、動作電源電圧とクロック発振周波数が安定した後、データプロセッサ10は、前記領域22のフラグ情報FLGを参照し、前記領域20,21に修正プログラムモジュールSMDLk及び修正ジャンプテーブルSTBLが格納されているときは、フラッシュメモリ4上の修正ジャンプテーブルSTBL及び修正プログラムモジュールSMDLkがRAM12の所定記憶領域に転送され、前述の如く復号される。その後の処理プログラムの実行で例えばプログラムモジュールMDL1が修正ジャンプテーブルSTBLを参照したとき、ジャンプ先がRAM12上のアドレスであれば、そのアドレスで指定されるRAM12上の修正プログラム、例えば修正プログラムモジュールSMDLkが実行される。
図8には前記パワーオンリセット時の動作手順がフローチャートで示される。電源投入(S1)によって初期化処理(リセット処理)が開始される(S2)。これによってデータプロセッサが命令実行可能にされると、先ず、ジャンプテーブルTBLがRAM12に転送される(S3)。そして、フラッシュメモリ4に修正ファームウェアが存在するか判別される(S4)。修正ファームウェアとは修正ジャンプテーブルSTBL及び修正プログラムモジュールSMDLkである。その判定は前記フラグFLGを用いて行えばよい。修正ファームウェアが存在しているときは修正ジャンプテーブルSTBL及び修正プログラムモジュールSMDLkをRAM12に読み込む(S5)。読み込んだ修正ジャンプテーブルSTBL及び修正プログラムモジュールSMDLkに対してデータ検証を行う(S6)。例えば、CRC(Cyclic Redundancy Check)コードやハッシュ値の計算などにより改ざんされていないかの検証を行う。検証後、暗号化されている修正ジャンプテーブルSTBLを復号する(S7)。復号後又は修正ファームウェアがないときは次の処理に移る。特に図示はしないが、データ検証の結果、改ざんされている虞があるときはカード使用禁止などのエラー処理を行えばよい。
図9にはハッシュ値が付加された修正ジャンプテーブル及び修正プログラムモジュールを示す。暗号化された状態におけるハッシュ値を付加しておけばよい。ハッシュ値を取得したときの関数を用いて当該データのハッシュ値を演算し、取得されたハッシュ値と、データに付随されたハッシュ値とを比較し、相違していればデータが改ざんを受けた虞があるということになる。
図10には修正プログラムモジュールを用いたデータ処理手順が例示される。別のプログラムモジュールにジャンプするとき、修正ジャンプテーブルを参照し(S11)、ジャンプ先アドレスを取得し(S12)、そのジャンプ先アドレスのプログラムが復号処理プログラムモジュールMDL(DEC)であれば、前述の如く領域34から復号対象とされる修正プログラムモジュールSMDLkの配置アドレスを取得し(S13)、そこから取得した修正プログラムモジュールSMDLkを復号して、復号前の修正プログラムモジュールを復号後の修正プログラムモジュールに置き換える(S14)。その後、修正ジャンプテーブルに格納された当該復号処理プログラムモジュールの配置アドレスMDL(DEC)_SADRを修正プログラムモジュールの配置アドレスSMDLk_SADRに変更して(S15)、当該修正プログラムモジュールSMDLkを実行する(S16)。S12においてそのジャンプ先アドレスのプログラムが修正プログラムモジュールSMDLkであれば、そのまま当該修正プログラムモジュールSMDLkを実行すればよい(S16)。
図11には修正プログラムモジュールを用いたデータ処理手順の別のが例示される。ここでは、修正ジャンプテーブルにおいてジャンプ先アドレスを指定する領域には復号の未完及び完了の何れにおいてもジャンプ先アドレスが指定されている。ジャンプ先アドレスで指定される修正プログラムモジュールに対する復号の有無は復号判別テーブルが保有する情報に基づいて判別する。復号判別テーブルは修正プログラムモジュールの配置アドレス情報に対応して復号の有無を示す情報を保有する。
別のプログラムモジュールにジャンプするとき、修正ジャンプテーブルを参照し(S21)、ジャンプ先アドレスを取得し(S22)、そのジャンプ先アドレスのプログラムが復号済か否かを前記復号判別テーブルを用いて判定する(S23)。これにより、ジャンプ先の修正プログラムモジュールが復号済でなければ、暗号化されている修正プログラムモジュールSMDLkをRAM12から読み込み(S24)、これを復号して、復号前の修正プログラムモジュールを復号後の修正プログラムモジュールに置き換え(S25)、置き換えた修正プログラムモジュールに関する復号判別テーブルの対応フラグを復号済に変更し(S26)、置き換えた修正プログラムモジュールSMDLkを実行する(S27)。ジャンプ先の修正プログラムモジュールSMDLkが復号済の場合には復号処理をスキップして、当該修正プログラムモジュールSMDLkを実行すればよい(S27)。
以上説明したメモリカードによれば以下の作用効果を得ることができる。
修正プログラムモジュールSMDLkは暗号化されているので、フラッシュメモリ4をメモリカードコントローラ3から物理的にもしくは電気的に分離して修正プログラムモジュールSMDLkを不正にダンプしてもそのままではデータを解析することは困難とされている。
パワーオンリセットに際して前記暗号化された修正プログラムモジュールSMDLkがあればこれをフラッシュメモリ4からRAM12に転送するが、その修正プログラムモジュールSMDLkを復号するのは実際に修正プログラムモジュールSMDLkを実行するときである。従って、リセット処理から抜けてデータプロセッサ10によるデータ処理が可能にされるまでに長い時間待つことを要しない。一旦復号された修正プログラムモジュールSMDLkは再利用可能にRAM12に保持されるから修正プログラムモジュールSMDLkを実行する度に毎回その復号を行なう煩わしさはない。
前記修正プログラムモジュールSMDLkを復号するタイミングは、RAM12に転送された前記修正プログラムモジュールSMDLkを初めて実行するときとされる。一度も実行されずに動作電源が遮断される場合に無駄な復号処理を行なわずに済む。
修正プログラムモジュールSMDLkにより修正された処理プログラムPGMの実行に使用される修正ジャンプテーブルSTBLは暗号化されてフラッシュメモリ4に格納されているから、フラッシュメモリ4をメモリカードコントローラ3から物理的にもしくは電気的に分離して修正ジャンプテーブルSTBLKを不正にダンプできても、その内容を解析したり不正目的のために改ざんすることは困難とされる。仮に修正ジャンプテーブルSTBLを改ざんしてメモリカードコントローラ3に不正なプログラムを実行させることができれば、メモリカードコントローラ3内の秘匿性の高いデータを外部から参照可能にする等の不正アクセスが行なわれる虞があるからである。
データプロセッサ10は、前記第1参照領域33が保有するアドレス情報を参照してそのアドレスに配置された前記復号処理プログラムMDL(DEC)を実行することにより、対応する第2参照領域34のアドレス情報のアドレスから修正プログラムモジュールSMDLkを取得し、取得した修正プログラムモジュールSMDLkを復号すると共に、当該第1参照領域33が保有するアドレス情報を対応する第2領域34が保有するアドレス情報に変更する。これにより、修正プログラムモジュールSMDLkを最初の実行タイミングで復号でき、それ以降復号された修正プログラムモジュールSMDLkを直接実行可能になる。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、RAM上おける復号された修正プログラムモジュールは暗号化された修正プログラムモジュールと同じアドレス範囲に格納することに限定されない。相互に異なるアドレス配置を与えてもよい。
また第1領域に対応する第2領域のアドレスマッピングは修正ジャンプテーブル上において何番目の修正プログラムモジュールであるかというオフセットによって決定する方法に限定されない。
第1の不揮発性メモリはフラッシュメモリに限定されない。EEPROMなどその他の記憶形式を有するものであってもよい。
メモリカードインタフェースはMMCに限定されない。その他のメモリカード仕様に準拠してもよい。
修正ジャンプテーブルの復号処理モジュールと修正プログラムモジュールの復号処理モジュールは完全に相違してもよいし、復号アルゴリズムの手順制御部分を共通化した一部共通の個別プログラムモジュールであってもよい。
本発明の一例に係るメモリカードを示すブロック図である。 フラッシュメモリの所定領域に修正プログラムモジュールSMDLk及び修正ジャンプテーブルSTBLが格納されていないときの処理プログラムの実行態様を例示する説明図である。 ホスト機器からメモリカードへのデータ書き込み態様を例示する説明図である。 フラッシュメモリの所定領域に修正プログラムモジュールSMDLk及び修正ジャンプテーブルSTBLが格納されているときのパワーオンリセット時における動作態様を例示する説明図である。 図4の処理後における修正プログラムモジュールの実行動作形態を例示する説明図である。 暗号化されている修正プログラムモジュールを初めての実行する時に復号しそれ以降再利用可能にRAMに保持させる処理手順を例示する説明図である。 フラッシュメモリの所定領域に修正プログラムモジュールSMDLk及び修正ジャンプテーブルSTBLが格納されているときの処理プログラムの実行態様を例示する説明図である。 パワーオンリセット時の動作手順を示すフローチャートである。 ハッシュ値が付加された修正ジャンプテーブル及び修正プログラムモジュールを示す説明図である。 修正プログラムモジュールを用いたデータ処理手順を例示するフローチャートである。 修正プログラムモジュールを用いたデータ処理手順の別の例を示すフローチャートである。
符号の説明
1 メモリカード
3 メモリカードコントローラ
4 フラッシュメモリ
10 MPU
11 マスクROM
12 RAM
13 インタフェース回路
14 データバッファ
20 修正プログラムモジュールの格納領域
21 修正ジャンプテーブルの格納領域
22 フラグ情報の格納領域
PGM 処理プログラム
TBL 初期ジャンプテーブル
MDLi 初期プログラムモジュール
STBL 修正ジャンプテーブル
SMDLk 修正プログラムモジュール
MDL(DEC) 復号処理プログラム
MDL(PG・ER) 書き込み制御プログラム
31 第1テーブル領域
32 第2テーブル領域
33 第1参照領域
34 第2参照領域
MDL(DEC)_SADR 復号処理プログラムの先頭アドレス
SMDLk_SADR 修正プログラムモジュールの先頭アドレス

Claims (10)

  1. データ処理を行うコントローラと、前記コントローラの制御を受けて書き換え可能に情報を記憶する第1の不揮発性メモリとを有し、
    前記コントローラは、データプロセッサと、データプロセッサによってアクセスされる書き換え不可能な第2の不揮発性メモリと、データプロセッサによってアクセスされる書き換え可能な揮発性メモリとを有し、
    前記第2の不揮発性メモリは前記データプロセッサの処理プログラムを保有し、
    第1の不揮発性メモリは前記処理プログラムの一部を代替する暗号化された代替プログラムの格納領域を有し、
    前記データプロセッサは、パワーオンリセットに際して前記暗号化された代替プログラムがあればこれを前記揮発性メモリに転送し、転送後前記暗号化された代替プログラムを実行するとき当該代替プログラムを復号し、復号した代替プログラムをそれ以降再利用可能に前記揮発性メモリに格納する記憶装置。
  2. 前記代替プログラムを復号するタイミングは、揮発性メモリに転送された前記代替プログラムを初めて実行するときである請求項1記載の記憶装置。
  3. 前記第2の不揮発性メモリは前記処理プログラムを実行するとき使用される第1のジャンプテーブルを有し、前記第1の不揮発性メモリは前記代替プログラムにより一部が代替された処理プログラムを実行するとき使用される第2のジャンプテーブルの格納領域を有し、前記格納領域は暗号化された第2のジャンプテーブルの格納に利用され、
    前記データプロセッサは、パワーオンリセット解除後に暗号化された代替プログラムを前記揮発性メモリに転送するとき、第2のジャンプテーブルを復号し、復号した第2のジャンプテーブルをそれ以降前記第1のジャンプテーブルの代わりに利用可能に前記揮発性メモリに格納する、請求項1記載の記憶装置。
  4. 前記第2の不揮発性メモリは、夫々暗号化された前記代替プログラム及び第2のジャンプテーブルを前記第1の不揮発性メモリに書き込む書き込み制御プログラムを保有する請求項3記載の記憶装置。
  5. 前記第2の不揮発性メモリは、暗号化された前記代替プログラム及び暗号化された第2のジャンプテーブルを復号するための復号処理プログラムを有する請求項3記載の記憶装置。
  6. 前記第2ジャンプテーブルは、前記処理プログラムの中で参照される第1テーブル領域と、前記復号処理プログラムの中で参照される第2テーブル領域とを有し、
    前記第1テーブル領域内で前記代替プログラムの配置アドレス情報を参照するのに割当てられる第1参照領域には前復号処理プログラムの配置アドレス情報が記憶され、前記第2テーブル領域内で前記第1参照領域に対応する第2参照領域には前記第1参照領域に割当てられる前記代替プログラムの配置アドレス情報が記憶され、
    前記データプロセッサは、前記第1参照領域が保有するアドレス情報を参照してそのアドレスに配置された前記復号処理プログラムを実行することにより、対応する第2参照領域のアドレス情報のアドレスから代替プログラムを取得し、取得した代替プログラムを復号すると共に、当該第1参照領域が保有するアドレス情報を対応する第2領域が保有するアドレス情報に変更する請求項5記載の記憶装置。
  7. 前記データプロセッサは前記第2の不揮発性メモリ及び揮発性メモリをアドレス信号によりランダムアクセス可能であり、前記第1の不揮発性メモリを論理セクタ単位でファイルアクセス可能である、請求項6記載の記憶装置。
  8. 前記コントローラは所定のメモリカード規格に準拠するホストインタフェースを有する請求項7記載の記憶装置。
  9. データ処理を行うコントローラと、前記コントローラの制御を受けて書き換え可能に情報を記憶する第1の不揮発性メモリとを有し、
    前記コントローラは、データプロセッサと、データプロセッサによってアクセスされる書き換え不可能な第2の不揮発性メモリと、データプロセッサによってアクセスされる書き換え可能な揮発性メモリとを有し、
    前記第2の不揮発性メモリは前記データプロセッサの処理プログラムと前記処理プログラムを実行するとき使用される第1のジャンプテーブルとを保有し、
    第1の不揮発性メモリは前記処理プログラムの一部を代替する暗号化された代替プログラムの格納領域及び前記代替プログラムを実行するとき使用される第2のジャンプテーブルの格納領域を有し、前記格納領域は暗号化された第2のジャンプテーブルの格納に利用され、
    前記データプロセッサは、パワーオンリセットに際して前記暗号化された代替プログラムがあればこれを前記揮発性メモリに転送すると共に、第2のジャンプテーブルを復号し、復号した第2のジャンプテーブルをそれ以降前記第1のジャンプテーブルの代わりに利用可能に前記揮発性メモリに格納する記憶装置。
  10. 前記データプロセッサは、前記揮発性メモリに転送された前記暗号化されている代替プログラムを実行するとき当該代替プログラムを復号し、復号した代替プログラムをそれ以降再利用可能に前記揮発性メモリに格納する請求項9記載の記憶装置。
JP2004150235A 2004-05-20 2004-05-20 記憶装置 Pending JP2005332221A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004150235A JP2005332221A (ja) 2004-05-20 2004-05-20 記憶装置
TW094113465A TW200608283A (en) 2004-05-20 2005-04-27 Nonvolatile memory apparatus
US11/128,289 US20050259465A1 (en) 2004-05-20 2005-05-13 Nonvolatile memory apparatus
CNB2005100727962A CN100428187C (zh) 2004-05-20 2005-05-20 非易失性存储器设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004150235A JP2005332221A (ja) 2004-05-20 2004-05-20 記憶装置

Publications (2)

Publication Number Publication Date
JP2005332221A true JP2005332221A (ja) 2005-12-02
JP2005332221A5 JP2005332221A5 (ja) 2007-07-05

Family

ID=35374973

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004150235A Pending JP2005332221A (ja) 2004-05-20 2004-05-20 記憶装置

Country Status (4)

Country Link
US (1) US20050259465A1 (ja)
JP (1) JP2005332221A (ja)
CN (1) CN100428187C (ja)
TW (1) TW200608283A (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4794269B2 (ja) * 2004-11-08 2011-10-19 パナソニック株式会社 セキュアデバイスおよび中継端末
EP1906412A1 (en) * 2006-09-29 2008-04-02 Koninklijke Philips Electronics N.V. A secure non-volatile memory device and a method of protecting data therein
JP4976991B2 (ja) * 2007-11-22 2012-07-18 株式会社東芝 情報処理装置、プログラム検証方法及びプログラム
US20090199014A1 (en) * 2008-02-04 2009-08-06 Honeywell International Inc. System and method for securing and executing a flash routine
US20090327750A1 (en) * 2008-06-29 2009-12-31 Tse-Hong Wu Security system for code dump protection and method thereof
JP2010211516A (ja) * 2009-03-10 2010-09-24 Toshiba Corp 携帯可能電子装置および携帯可能電子装置におけるアクセス制御方法
TWI489718B (zh) * 2009-10-14 2015-06-21 Inventec Appliances Corp 儲存裝置及其運作方法
TWI514551B (zh) * 2013-05-15 2015-12-21 Toshiba Kk Nonvolatile memory device
JP2015036965A (ja) * 2013-08-16 2015-02-23 富士通株式会社 メモリ制御装置、メモリ制御装置の制御方法及び情報処理装置
JP6270377B2 (ja) * 2013-08-27 2018-01-31 キヤノン株式会社 画像形成装置
US10419401B2 (en) * 2016-01-08 2019-09-17 Capital One Services, Llc Methods and systems for securing data in the public cloud
US10095432B2 (en) 2016-09-27 2018-10-09 Intel Corporation Power management and monitoring for storage devices
US9727267B1 (en) * 2016-09-27 2017-08-08 Intel Corporation Power management and monitoring for storage devices

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09190353A (ja) * 1996-01-10 1997-07-22 Sony Corp 通信端末のソフトウェア更新システム
WO1998024021A1 (fr) * 1996-11-29 1998-06-04 Hitachi, Ltd. Systeme de commande de micro-ordinateur
JPH11265283A (ja) * 1998-03-18 1999-09-28 Hitachi Ltd 記憶装置におけるファームウェアの修正方法及び記憶装置
JP2001175466A (ja) * 1999-12-21 2001-06-29 Fuji Xerox Co Ltd 実行プログラムの生成方法及び実行プログラム生成装置、実行プログラムの実行方法、並びに、コンピュータ可読プログラム記憶媒体
JP2003091704A (ja) * 2001-07-09 2003-03-28 Hitachi Ltd 不揮発性メモリを備えた記憶装置及びその記憶装置が着脱自在な情報処理装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675645A (en) * 1995-04-18 1997-10-07 Ricoh Company, Ltd. Method and apparatus for securing executable programs against copying
FR2764716B1 (fr) * 1997-06-13 2001-08-17 Bull Cp8 Procede de modification de sequences de code et dispositif associe
JP2002229861A (ja) * 2001-02-07 2002-08-16 Hitachi Ltd 著作権保護機能つき記録装置
JP4288893B2 (ja) * 2001-09-26 2009-07-01 ソニー株式会社 情報処理装置、プログラムロード方法、記録媒体、プログラム更新方法及び回路素子
JP2003256282A (ja) * 2002-02-28 2003-09-10 Matsushita Electric Ind Co Ltd メモリカード
US6715085B2 (en) * 2002-04-18 2004-03-30 International Business Machines Corporation Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
JP3881942B2 (ja) * 2002-09-04 2007-02-14 松下電器産業株式会社 暗号化部を有する半導体装置
JP4058322B2 (ja) * 2002-10-07 2008-03-05 株式会社ルネサステクノロジ メモリカード
JP4349788B2 (ja) * 2002-10-31 2009-10-21 パナソニック株式会社 半導体集積回路装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09190353A (ja) * 1996-01-10 1997-07-22 Sony Corp 通信端末のソフトウェア更新システム
WO1998024021A1 (fr) * 1996-11-29 1998-06-04 Hitachi, Ltd. Systeme de commande de micro-ordinateur
JPH11265283A (ja) * 1998-03-18 1999-09-28 Hitachi Ltd 記憶装置におけるファームウェアの修正方法及び記憶装置
JP2001175466A (ja) * 1999-12-21 2001-06-29 Fuji Xerox Co Ltd 実行プログラムの生成方法及び実行プログラム生成装置、実行プログラムの実行方法、並びに、コンピュータ可読プログラム記憶媒体
JP2003091704A (ja) * 2001-07-09 2003-03-28 Hitachi Ltd 不揮発性メモリを備えた記憶装置及びその記憶装置が着脱自在な情報処理装置

Also Published As

Publication number Publication date
TW200608283A (en) 2006-03-01
CN100428187C (zh) 2008-10-22
CN1707446A (zh) 2005-12-14
US20050259465A1 (en) 2005-11-24

Similar Documents

Publication Publication Date Title
US20050259465A1 (en) Nonvolatile memory apparatus
US11562075B2 (en) Secure booting method, apparatus, device for embedded program, and storage medium
US8438377B2 (en) Information processing apparatus, method and computer-readable storage medium that encrypts and decrypts data using a value calculated from operating-state data
JP5260081B2 (ja) 情報処理装置及びその制御方法
EP1422591B1 (en) Program update method and server
US8909900B2 (en) Storage device and method for updating data in a partition of the storage device
US11829479B2 (en) Firmware security verification method and device
US20030014653A1 (en) Memory device with data security in a processor
US20100058073A1 (en) Storage system, controller, and data protection method thereof
JP2006164273A (ja) 保安ブート装置及び方法
JP2010510574A (ja) セキュアデバイス・システムにおけるフラッシュメモリ・ブロックの保護と方法
TW200832427A (en) Virtual secure on-chip one time programming
KR101254136B1 (ko) 스트림 내 데이터 암호화/복호화 및 오류 정정 기능을 가진 메모리 시스템
US11455115B2 (en) Storage device
EP2028579B1 (en) Information processing apparatus and method for installing an encrypted program in a key implemented system
JP6636028B2 (ja) セキュア素子
JP2016146618A (ja) 情報処理装置
CN111931190B (zh) 一种基于xip处理器系统的启动方法
JP2005292959A (ja) 不揮発性メモリモジュール及び不揮発性メモリシステム
CN112131537B (zh) 一种对zynq芯片程序镜像文件的加解密的方法
JP2000250817A (ja) 記憶システム、記憶装置及び記憶データ保護方法
JP2006053916A (ja) 外部メモリに貯蔵されたデータの変更の有無をチェックする装置及び方法
JP2021190081A (ja) 機密データを保護することが可能な電子機器
JP2006350596A (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
JP4580030B2 (ja) セキュアデバイス

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070517

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100324

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100713