JP2013514573A - データを格納するための方法及び装置 - Google Patents

データを格納するための方法及び装置 Download PDF

Info

Publication number
JP2013514573A
JP2013514573A JP2012543806A JP2012543806A JP2013514573A JP 2013514573 A JP2013514573 A JP 2013514573A JP 2012543806 A JP2012543806 A JP 2012543806A JP 2012543806 A JP2012543806 A JP 2012543806A JP 2013514573 A JP2013514573 A JP 2013514573A
Authority
JP
Japan
Prior art keywords
data
data content
count value
stored
rewritable 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.)
Granted
Application number
JP2012543806A
Other languages
English (en)
Other versions
JP5705235B2 (ja
Inventor
エルベ シベルト,
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.)
STMicroelectronics Grand Ouest SAS
Original Assignee
ST Ericsson France SAS
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 ST Ericsson France SAS filed Critical ST Ericsson France SAS
Publication of JP2013514573A publication Critical patent/JP2013514573A/ja
Application granted granted Critical
Publication of JP5705235B2 publication Critical patent/JP5705235B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Abstract

データコンテンツを格納するための方法及び電子デバイスであって、再書き込み可能なメモリデバイスにおいてデータコンテンツの少なくとも一部を格納するステップと、一時プログラマブルメモリに前記データコンテンツの状態に関連するnビットカウント値であって、対応するデータコンテンツとともにセキュアメモリデバイスに書き込まれる前記nビットカウント値を格納するステップと、を含み、前記nビットカウント値は前記再書き込み可能なメモリデバイスにおいてデータコンテンツの各変更に対して、インクリメントされ、前記一時プログラマブルメモリに格納される。一時プログラマブルメモリのビット数は、格納されるデータコンテンツの可能性のある変更の数に対応してもよい。

Description

本発明は、一般的には、データを格納する方法及び装置に関するものである。特に排他的ではないが、本発明は、データコンテンツを格納する一時プログラマブルメモリ及び再書き込み可能なメモリを用いて、機密事項のデータを格納する方法に関するものである。
機密事項のデータのセキュアな格納(ストレージ)における一般的な要件は、一度は書き込むことが保証されたメモリフィールドであって、一度メモリフィールドに書き込まれると変更することができないメモリフィールドを有するメモリを提供することである。
セキュアデータの格納のいくつかの形式は、秘匿性及び整合性を提供する固有のキーを用いた暗号化のメカニズムに基づくものである。しかしながら、そのような格納では、セキュアメモリの前回のコンテンツと、格納されるデータコンテンツとを置き換えることが可能である。例えば、当該データの日付Tで推定される状態がセキュアストレージに格納され、日付T’に当該データが変更されると、セキュアストレージのデータと、日付Tでのセキュアストレージのデータのコピーとを置き換えることによって前のデータ状態に戻すことが可能である。ソフトウェアの最近のバージョンにアップデートするソフトウェアの場合の例では、ロールバックとして望まない処理が頻繁に参照される、ソフトウェアのより古いバージョンによって置き換えられてもよい。
一時プログラマブル(OTP)メモリは、整合性及び秘匿性の少なくとも一方が保護されるべき機密データを格納するためによく用いられる。OTPメモリは、各ビットの設定がヒューズ又はアンチヒューズによってロックされうるデジタルメモリの形式である。当該メモリは、ヒューズの場合には接続を開放し、或いは、アンチヒューズの場合には接続を閉じる不可逆処理によって製造された後に一度プログラムされうる。多くのOTPメモリに埋め込まれたいくつかの処理(ベースバンド、アプリケーションプロセッサ)は、各チップでユニークな少なくとも1つの秘密鍵を含む。当該キーは、その後、データをプラットフォームにバインドする製造によって頻繁に必要とされるセキュアストレージ機能を提供するために使用されうる。
しかしながら、OTPメモリは非常にコストが高い。特に、少なくとも128ビットを含む複数のキー及び複数のハッシュの格納の場合において、データの格納に関連するコストは非常に高いものである。
さらに、OTPをプログラムする際によく発生する問題は、プログラムング手続き中に電力損失が発生する場合である。電力が回復した後にOTPメモリを再読み込みする場合には、メモリの書き込み中に起こった電力損失のため、エラーが示されるであろう。しかしながら、指示されたエラーが電力の損失に関連するのか、或いは、OTPメモリに書き込むことを許可されなかったなどの他の要因に関連するのかが明瞭ではない。
本願発明は、上述の問題に鑑みて成されたものである。
即ち、本発明の第1の形態は、データコンテンツを格納する方法を提供し、当該方法は、再書き込み可能なメモリデバイスにおいてデータコンテンツの少なくとも一部を格納するステップと、一時プログラマブルメモリに前記データコンテンツの状態に関連するnビットカウント値であって、対応するデータコンテンツとともにセキュアメモリデバイスに書き込まれる前記nビットカウント値を格納するステップと、を含み、前記nビットカウント値は前記再書き込み可能なメモリデバイスにおいてデータコンテンツの各変更に対して、インクリメントされ、前記一時プログラマブルメモリに格納される。一時プログラマブルメモリのビット数は、格納されるデータコンテンツの可能性のある変更の数に対応してもよい。
本発明の第2の形態は、電子デバイスを提供し、電子デバイスは、データコンテンツの少なくとも一部と、該データコンテンツに関連するnビットカウント値とを格納する再書き込み可能なメモリ部と、前記データコンテンツの状態に関連するnビットカウント値を格納する一時プログラマブルメモリと、前記再書き込み可能なメモリ部を操作するプロセッサとを備え、前記一時プログラマブルメモリは、前記再書き込み可能なメモリ部における前記データコンテンツの変更ごとに前記nビットカウント値をインクリメントするように操作可能であることを特徴とする。一時プログラマブルメモリのビット数は、格納されるデータコンテンツの可能性のある変更の数に対応してもよい。
本発明の実施形態において、
・前記再書き込み可能なメモリデバイスに格納された前記データコンテンツは、nデータフィールドから成り、前記データフィールドが変更されるたびに、前記一時プログラマブルメモリに格納されたnビットカウント値のビットが0から1に設定される。
・前記データコンテンツは、前記再書き込み可能なメモリデバイスに対して固有の暗号化キーを用いて該再書き込み可能なメモリデバイスに格納され、前記暗号化キーは、前記一時プログラマブルメモリのデータフィールドに格納される。
・前記一時プログラマブルメモリに格納される前記カウント値は、前記データコンテンツが前記再書き込み可能なメモリデバイスに書き込まれる前に、前記データコンテンツに連結される。
・前記データコンテンツの各データフィールドが対応するロックビットフィールドを有し、前記ロックビットフィールドは、対応する前記データフィールドが、該データフィールドが一度変更されるともう変更することができないことを示すように設定され、前記データコンテンツが変更される書き込み操作中に、前記ロックビットフィールドは、前記データが前記データフィールドに書き込まれることが可能かどうかを判定するようにチェックされる。
・前記再書き込み可能なメモリデバイスの前記データコンテンツを変更する書き込み操作中に、該書き込み操作が許可されているか否かを判定するために、各データビットが前記古いデータコンテンツにおいて1に設定され、前記新たなデータコンテンツにおいて1に設定されるかを検証するようにチェックされる。
・前記再書き込み可能なメモリデバイスに格納されたデータ読み取る読み取り操作中に、前記一時プログラマブルメモリに格納された前記カウント値は、前記再書き込み可能なメモリデバイスから読み取られた前記カウント値が前記一時プログラマブルメモリに格納された前記カウント値よりも大きいかどうかを判定するために、前記再書き込み能なメモリデバイスから読み取られた前記データコンテンツに関連する前記カウント値と比較される。
・前記データコンテンツは、前記再書き込み可能なメモリデバイスのメイン位置と、前記再書き込み可能なメモリデバイスのバックアップ位置に格納されてもよく、それにより、前記バックアップ位置に格納された前記データコンテンツは、エラーの場合に前記メイン位置へコピーされてもよい。
本発明に係る少なくとも一部は、コンピュータに実装されてもよく、プログラマブル装置に実装されてもよい。それらは、また、ハードウェアのみ、ソフトウェアのみ、又は、それらの組み合わせとして実装されてもよい。
本発明がソフトウェアで実装されうるため、本発明は、適切な記憶媒体でプログラマブル装置に提供するコンピュータで読取可能なコードとして具現化されうる。有形の記憶媒体は、フロッピディスク(登録商標)、CD−ROM、ハードディスクドライブ、磁気テープデバイス、又は固体記憶装置などの記憶媒体を含んでもよい。一時的な記憶媒体は、電気信号、電子信号、光信号、音響信号、磁性信号、又は、電磁鍼法、例えば、マイクロウェーブ若しくはRF信号などを含んでもよい。
以下の図面を参照して、本発明の実施形態の一例について説明する。
読み取り手続きのデータフローを示す本発明の第1の実施形態に係る電子デバイスにおけるメモリ装置の概略図を示す。 書込手続きのデータフローを示す本発明の第2の実施形態に係る電子デバイスにおけるメモリ装置の概略図を示す。 本発明の第1の実施形態に係る初期化手続きのステップを示すフローチャートである。 本発明の第1の実施形態に係る読込手続きのステップを示すフローチャートである。 本発明の第1の実施形態に係る書込手続きのステップを示すフローチャートである。 本発明の実施形態に係る書込手続きの一部を示すブロック図である。
以下では、図1を参照して、本発明に係るメモリ構成1の第1の実施形態について説明する。無線通信デバイスなどの電子デバイスは、一時プログラマブル(OTP)メモリ10と、フラッシュEPROMメモリなどの再書き込み可能な不揮発性メモリデバイス20とのハードウェアを備える。再書き込み可能なメモリ20は、CPUとオペレーティングシステム30と通信を行うチップセットファームウェア25を用いて制御される。攻撃に対して安全に格納されるべきデータコンテンツCは、nデータフィールドから構成される。OTPメモリ10はnビットを格納し、nビットの1つを0から1へ設定することによってインクリメントされうるカウンタOTPCとして動作する。本実施形態において、OTPメモリ10によって格納されうるビットnの数は、発生しうるデータコンテンツの変更の最大数に対応する。さらに、本実施形態において、データコンテンツの変更の最大数は、時刻でフィールドが書き込まれるため、データコンテンツのフィールド数nに対応する。書き込み可能なメモリデバイス20は、データコンテンツCがOTPメモリよりもむしろ再書き込み可能な不揮発性メモリ20に格納されることを可能とするデータコンテンツのnフィールドを格納するためのセキュアストレージとして実装される。本発明のいくつかの実施形態において、データのデータフィールドの一部が再書き込み可能なメモリデバイスに格納されてもよく、一方で残ったデータフィールドがOTPタイプのメモリに格納されてもよい。
本実施形態において、OTPCのビット数がデータコンテンツのデータフィールドの数に対応する一方で、本発明の代替の実施形態においてOTPCにおけるビット数”n”とフィールド数とは等しい必要はない。いくつかの実施形態において、再書き込み可能なメモリは、ビットが0に戻される可能性のあるデータフィールドを含んでもよく、例えば、OTPCサイズがデータフィールドの数よりも大きくなるような、更新されうるバイナリ形式の数値をデータフィールドに書き込む。一方で、ここでは、OTPCにおけるビット数がデータフィールドの数よりも少ない場合において、同時に更新されるべきと推定される再書き込み可能なメモリのいくつかのデータフィールドに対してデータコンテンツの定義が含まれてもよい。
データは、チップセットに固有の暗号化キーを用いることによって、当該データの秘匿性及び整合性の両方を保護し、安全にデータを格納し、取り出すために、セキュアストレージ操作を用いて再書き込み可能なメモリ20へ格納され、当該メモリ20から取り出されてもよい。本発明のいくつかの実施形態において、暗号化キーは、OTPメモリ10のOTPフィールドに格納されてもよく、或いは、メモリ装置に関連する他のOTPメモリに格納されてもよい。暗号化/復号化機能は、メモリデバイス20でデータコンテンツを格納するために使用されてもよい。例えば、暗号化/復号化機能は、メモリデバイス20にデータを読み書きするために使用されうるデバイスに埋め込まれた128ビットキーでの暗号ブロック連鎖モードでアドヴァンスド暗号化基準FIPS 197によって実装されてもよい。暗号化/復号化機能は、書込操作中にそれを書き込むために、或いは、読み取り操作中にそれを検証するためにデータコンテンツの痕跡を計算する整合性保護機能と組み合わされてもよい。この整合性保護機能は、パブリックな署名、メッセージ認証コード(MAC)などであってもよい。そのような機能によって暗号化され、整合性が保護されるデータコンテンツは、OTPメモリのカウント値rと同様にデータコンテンツ自身を含む。
カウント値r、1に設定されるOTPCのビット数に対応する、OTPメモリカウンタ(OTPC)10の状態は、再書き込み可能なメモリ20にデータコンテンツCに関連付けられる。これは、データコンテンツを再書き込み可能なメモリ20へ書き込む前に、OTPメモリ10のカウント値をデータコンテンツCに連結することによって達成されうる。
以下では、図2A乃至図2Cを参照して、メモリ装置の動作について説明する。図2AのステップS11において、OTPメモリ10に格納される値rを時刻t=0で0に設定することによって、初期化処理が実行される。時刻t=0でのデータコンテンツCはOTP(0)として定義され、ステップS13においてセキュアストレージ手続きを用いてメモリ20へ書き込まれる。時刻0で再書き込み可能なメモリデバイス20にセーブされた値HOTP(0)は、その後、HOTP(0)=SecWrite(0...0||OTP(0))となる。ここで、0...0は、OTPC10において1に設定されるビットの数がであるバイナリ値、即ち、時刻t=0で0として読まれる固定長フィールドである。||は連結を示す。
時刻t(t>0)で読み取るために、メモリ20に格納されたデータコンテンツの読み取り手続きが図2Bに示される。
・ステップS21において、OTPメモリ10のOTPC値r(ビットの数値を1に設定)を読み出す。
・ステップS22において、再書き込み可能なメモリデバイス20の時刻tでデータコンテンツCを読み出すためにSecRead(HOTP(t))を計算する。
・ステップS23において、r’>rをチェックする、例えば、r’=r+1、r’=r+2など。r’=rであれば、再書き込み可能なメモリデバイス20のデータコンテンツCが変更されていない、r’=r+1であれば、データコンテンツCは変更されている。r’=r+2であれば、2つのデータフィールドが一度更新されている。それ以外の場合、メモリデバイス20に格納されているデータが、再生攻撃によって破損しており、デバイスの操作がブロックされるべきである。データCが取り出されるOTP(t)=C。
・ステップS24において、r’>rであれば、r’−rビットを1に設定することによってOTPCを更新する。これは、データコンテンツCが変更されているが、OTPカウンタメモリ10が新たな値r’でまだ更新されていない場合の可能性がある。
時刻tで書き込むために、t>0、データC’をメモリデバイス20へ、以下のように、図2Cに示す書き込み手続きが実行される。
・ステップS31において、図2Bを用いて上述したように、読み取り操作を実行することによって、メモリデバイス20に格納された現行データCOTP(t)=Cを取り出す。
・ステップS32において、メモリデバイス20に格納されるべきデータの新たな値C’がメモリ20から取り出したデータCに従うかどうか、即ち、前のデータCにおける各ビット1が新たなデータCにおいても1となるかをチェックする。そうでなければ、データビットの状態を0から1へ変更することのみが書き込み手続きにおいて許可されるため当該操作を取りやめる。
・ステップS33において、コマンドHOTP(t+1)=SecWrite(r+||C’)によって、新たなデータC’に連結された新たなカウントr+1を書き込むことにより、メモリに格納されたCをデータC’に更新する。
・ステップS34において、ビットr+1を1に設定することによって、OTPメモリ10OTPCに格納されたカウントを更新する。
OTPメモリ10に格納されたカウントrの更新は、新たなデータC’が外部メモリデバイス20に正しく格納された後に実行される。
外部破損の場合、書き込み手続き中の電力損失の例において、書き込み可能なメモリデバイス20にデータコンテンツがまだ更新されてなければ、書き込み操作が新たなデータC’をメモリデバイス20へ書き込むように再始動されうる。この場合、新たなデータC’を書き込む前に、再書き込み可能なメモリデバイス20のデータコンテンツ古いデータCに変換されることができる。再書き込み可能なメモリデバイス20のデータコンテンツが新たなデータC’で更新されたものの、OTPメモリカウンタ10OTPCのカウントrが電力損失前に更新されていなければ、その後、OTPC10のカウントrが、rをr’=r+1に設定することによって次の読み取りフェーズ中に更新されるであろう。これは、エラー訂正機能を提供することを可能にする。
メモリデバイス20への各書き込み操作によれば、再書き込み可能なメモリデバイス20においてデータビットの数が変更されることに関わらず、OTPメモリカウンタOTPC10のnビットのうちの1ビットが正確に設定される。リアルハードウェアOTPにおいて、各データフィールドは、最大で1回変更されることを意味する。外部の再書き込み可能なメモリデバイス20において各フィールドが最大で1回変更されることを保証するために、本発明のいくつかの実施形態によれば、「ロックビットフィールド」が、全てのデータフィールドに追加されうる。このブロックビットは、その後、フィールドが既に書き込まれたことを示すメモリデバイス20の対応するデータフィールドが書き込み操作によって変更される際に、1に設定される。これは、まだ書き込まれていないデータフィールドに対して唯一許可されるデータフィールドの変更を可能とする。ハードウェア一時プログラマブルメモリにおいて、かなり頻繁に、フィールド(複数のフィールドのセット)は、当該フィールド(当該複数のフィールドのセット)が変更可能であるかどうかを示す「ロックビット」と呼ばれるツインフィールドを有する。追加のロックフィールド高機能化に伴い、既存のオリジナルHW OTP ロックフィールドは、その後、無視されるか、又は、追加のロックフィールドへマッピングされる。
図3を参照すると、書き込み操作は、ロックフィールドのステータス(状態)を再設定するデータをアンロックする試みがあるかどうかを判定するために、ロックフィールドのローカルステータスをチェックするステップを含むことができる。これは、書き込まれるべき新たなデータフィールドHOTP_newのロックフィールドlock’に格納されるように、データフィールドHOTP_oldのロックフィールドのビット間での論理AND操作を含む。代替的に、データHOTP_oldは、ロックされたデータフィールドのHTOP_oldが変更されていないことを保証するようにチェックされる。HTOP_oldにおいて1に設定される複数のビットは、HOTP_oldにおいて1に設定されるビットがHOTP_newにおいても1に設定されることを保証する論理AND操作によってHOTP_newのビットがチェックされる。新たなデータコンテンツHOTP_newがHOTP_resultとして古いデータコンテンツHOTP_oldに置き換えられる。カウンタOTPCは、他のビットを1に設定するようにインクリメントされる。
OTPCの全てのビットが1に設定されれば、これは、再書き込み可能なメモリ20のnフィールドのそれぞれが一度更新されたことを示す。再書き込み可能なメモリ20のさらなるデータの更新は実行されない。
本発明の実施形態は、ソフトウェアによって管理され、HW OTPとして同様のセキュリティプロパティ(秘匿性、整合性、アンチリプレイでの変更)を有する、外部ストレージ(例えば、フラッシュメモリ)のHW OTPメモリに格納されるであろうデータの少なくとも一部を格納することによって減少する機密データを格納するのに必要なOTPのサイズを可能にする。必要とされるOTPのサイズは、OTPの各ビットが潜在的な更新に対応する、実行されそうな更新の数に依存する。
図1Aは、本発明の第1の実施形態に係る読み取り手続きにおけるメモリ構成の要素間でのデータフローを示す。1)において、オペレーティングシステムは、OTPからデータフィールドナンバーNを読み取るためにコマンドを送信する。2)において、カウンタ値rがOTPCから読み取られる。3)において、データHOTPが、フラッシュメモリ20から読み出される。4)において、データコンテンツが復号化され、その整合性がCPUによって検証される。5)において、データコンテンツの整合性がOKであれば、データHOTPに関連するカウンタ値r’が読み出され、復号化されたデータコンテンツHOTPからN番目のデータフィールドが読み出される。r’>rと判定されると、ステップ6)において、r’がOTPC10に書き込まれる。それ以外の場合は、5)において、エラーがあれば、バックアップHOTPデータがフラッシュメモリ20に書き込まれ、フラッシュメモリ20の読み取り手続きであるステップ3)が実行される。
図1Bは、本発明の代替の実施形態にかかる書き込み手続きにおける、メモリ構成の要素間でのデータフローを示す。本実施形態において、プロセッサ25は、CPUと、内蔵SWを備える。他の要素は、第1の実施形態と同様である。1)において、オペレーティングシステムは、OTPからのデータフィールドナンバーNを書き込むコマンドを発行する。2)において、カウンタ値rがOTPCから読み出される。3)において、データHOTPがフラッシュメモリ20から読み出される。4)において、データHOTPが復号化され、その整合性が検証される。5)において、データコンテンツの整合性がOKであれば、データHOTPに関連するカウンタ値r’が読み出され、復号化されたデータHOTPからデータコンテンツCが読み出される。5)においてそれ以外の場合、エラーがあれば、バックアップHOTPデータがフラッシュメモリ20に書き込まれ、フラッシュメモリ20の読み取り手続きが実行される。r’<rと判定されると、ステップ6)においてエラーがオペレーティングシステムに戻される。さもなければ、r’>rと判定されると、r’がステップ7)においてOTPC10に書き込まれる。ステップ8において、データの当該ビットが1からおに設定されていないか、又は、データフィールドがロックされていないかをチェックすることによって、N番目のデータフィールドの更新が可能であるかどうかが検証される。ステップ9)において、検証が有効なものであれば、更新されるデータコンテンツC’が計算される。ステップ10)において、更新されるデータコンテンツC’がカウント値r’+1にバインドされる。暗号化される更新HOTP’が算出され、整合性を保護した値が計算される。ステップ11)において、HOTP’は、バックアップ位置に書き込まれ、ステップ12)において、HOTP’がフラッシュメモリ20のバックアップ位置に書き込まれ、エラーの場合にはメイン位置に書き込まれてもよい。
本発明の複数の実施形態は、データビットが設定されるがアンセットされないようにし、これにより、ハードウェアOTPの同等の機能を提供する、セキュリティ保護されたメモリへのアクセスを提供する。
本発明の実施形態に係る方法は、整合性と秘匿性を保護した機密データの格納に関するアプリケーションである。例えば、本発明の実施形態は、モバイルプラットフォームセットトップボックス、及び車載デバイスなどの電子デバイスにおいてロールバックを防止することにおいて、無線を介して更新可能なソフトウェア若しくはファームウェア、オンライン又はそれ以外のストレージで適用されてもよく。本発明の他の実施形態は、セキュアデバイスで、機密個人データ、商業データ、セキュリティデータなどの格納に適用されてもよい。
特定の実施形態を参照して本発明について説明したが、本発明は、これら特定の実施形態に限定されず、様々な変形が本発明の範囲内で可能であることを当業者は理解するであろう。
例えば、上述した例においてデータコンテンツの全ては再書き込み可能なメモリに格納される一方で、他の実施形態において、データコンテンツの一部が再書き込み可能なメモリに格納され、データコンテンツの一部がOTPメモリ部に格納されてもよいことが理解されるであろう。
様々な修正及び変形が、上述した図示した実施形態を参照して、当業者に提案されるであろう。これらは、上述の例を用いて与えられ、添付の特許請求の範囲によってのみ決定される本発明の範囲を限定する意図はない。特に、異なる実施形態からの種々の特徴は、適切に交換されうる。
特許請求の範囲において、用語「備える」は、他の要素、又はステップを排除せず、冠詞”a”及び”an”は、複数を排除することはない。種々の特徴が相互に異なる従属請求項に記載されたという単なる事実は、それらの特徴の組み合わせが有利に使用することができないということを示してはいない。特許請求項内の任意の参照符号は、本発明の範囲を限定するものとして解釈されるべきではない。

Claims (15)

  1. データコンテンツを格納する方法であって、
    再書き込み可能なメモリデバイスにおいてデータコンテンツの少なくとも一部を格納するステップと、
    前記データコンテンツの状態に関連するnビットカウント値であって、対応するデータコンテンツとともにセキュアメモリデバイスに書き込まれる前記nビットカウント値を一時プログラマブルメモリに格納するステップと、を含み、
    前記nビットカウント値は、前記再書き込み可能なメモリデバイスにおいてデータコンテンツの各変更に対して、インクリメントされ、前記一時プログラマブルメモリに格納されることを特徴とする方法。
  2. 前記再書き込み可能なメモリデバイスに格納された前記データコンテンツは、nデータフィールドから成り、
    前記データフィールドが変更されるたびに、前記一時プログラマブルメモリに格納されたnビットカウント値のビットが0から1に設定されることを特徴とする請求項1に記載の方法。
  3. 前記データコンテンツは、前記再書き込み可能なメモリデバイスに対して固有の暗号化キーを用いて該再書き込み可能なメモリデバイスに格納され、
    前記暗号化キーは、前記一時プログラマブルメモリのデータフィールドに格納されることを特徴とする請求項1又は2に記載の方法。
  4. 前記一時プログラマブルメモリに格納される前記カウント値は、前記データコンテンツが前記再書き込み可能なメモリデバイスに書き込まれる前に、前記データコンテンツに連結されることを特徴とする請求項1乃至3の何れか1項に記載の方法。
  5. 前記データコンテンツの各データフィールドが対応するロックビットフィールドを有し、
    前記ロックビットフィールドは、対応する前記データフィールドが、該データフィールドが一度変更されるともう変更することができないことを示すように設定され、
    前記データコンテンツが変更される書き込み操作中に、前記ロックビットフィールドは、前記データが前記データフィールドに書き込まれることが可能かどうかを判定するようにチェックされることを特徴とする請求項1乃至4の何れか1項に記載の方法。
  6. 前記再書き込み可能なメモリデバイスの前記データコンテンツを変更する書き込み操作中に、該書き込み操作が許可されているか否かを判定するために、各データビットが前記古いデータコンテンツにおいて1に設定され、前記新たなデータコンテンツにおいて1に設定されるかを検証するようにチェックされることを特徴とする請求項1乃至5の何れか1項に記載の方法。
  7. 前記再書き込み可能なメモリデバイスに格納されたデータ読み取る読み取り操作中に、前記一時プログラマブルメモリに格納された前記カウント値は、前記再書き込み可能なメモリデバイスから読み取られた前記カウント値が前記一時プログラマブルメモリに格納された前記カウント値よりも大きいかどうかを判定するために、前記再書き込み能なメモリデバイスから読み取られた前記データコンテンツに関連する前記カウント値と比較されることを特徴とする請求項1乃至6の何れか1項に記載の方法。
  8. 電子デバイスであって、
    データコンテンツの少なくとも一部と、該データコンテンツに関連するnビットカウント値とを格納する再書き込み可能なメモリ部と、
    前記データコンテンツの状態に関連するnビットカウント値を格納する一時プログラマブルメモリと、
    前記再書き込み可能なメモリ部を操作するプロセッサと
    を備え、
    前記一時プログラマブルメモリは、前記再書き込み可能なメモリ部における前記データコンテンツの変更ごとに前記nビットカウント値をインクリメントするように操作可能であることを特徴とする電子デバイス。
  9. 前記再書き込み可能なメモリ部に格納された前記データコンテンツは、nデータフィールドから成り、
    前記データフィールドが変更されるたびに、前記一時プログラマブルメモリに格納されたnビットカウント値のビットが0から1に設定されることを特徴とする請求項8に記載の電子デバイス。
  10. 前記プロセッサは、
    前記再書き込み可能なメモリ部の前記データコンテンツを、前記再書き込み可能なメモリ部に対して固有の暗号化キーを用いて格納するように操作可能であり、
    前記暗号化キーは、前記一時プログラマブルメモリのデータフィールドに格納されることを特徴とする請求項8又は9に記載の電子デバイス。
  11. 前記プロセッサは、
    前記一時プログラマブルメモリに格納される前記カウント値を、前記データコンテンツが前記再書き込み可能なメモリ部に書き込まれる前に、前記データコンテンツに連結させるように操作可能であることを特徴とする請求項8乃至10の何れか1項に記載の電子デバイス。
  12. 前記データコンテンツの各データフィールドが対応するロックビットフィールドを有し、
    前記ロックビットフィールドは、対応する前記データフィールドが、該データフィールドが一度変更されるともう変更することができないことを示すように設定され、
    前記プロセッサは、
    前記データコンテンツが変更される書き込み操作中に、前記ロックビットフィールドを、前記データが前記データフィールドに書き込まれることが可能かどうかを判定するようにチェックすることを特徴とする請求項8乃至11の何れか1項に記載の電子デバイス。
  13. 前記プロセッサは、
    前記再書き込み可能なメモリ部の前記データコンテンツを変更する書き込み操作中に、該書き込み操作が許可されているか否かを判定するために、各データビットが前記古いデータコンテンツにおいて1に設定され、前記新たなデータコンテンツにおいて1に設定されるかを検証するチェックを行うように操作可能であることを特徴とする請求項8乃至12の何れか1項に記載の電子デバイス。
  14. 前記プロセッサは、
    前記再書き込み可能なメモリ部に格納されたデータ読み取る読み取り操作中に、前記一時プログラマブルメモリに格納された前記カウント値を、前記再書き込み能なメモリ部から読み取られた前記カウント値が前記一時プログラマブルメモリに格納された前記カウント値よりも大きいかどうかを判定するために、前記再書き込み可能なメモリ部から読み取られた前記データコンテンツに関連する前記カウント値と比較するように操作可能であることを特徴とする請求項8乃至13の何れか1項に記載の電子デバイス。
  15. データ処理デバイスで読み取り可能な記憶媒体であって、該データ処理デバイスにロードされると該データ処理デバイスを、請求項1乃至7の何れか1項に記載の方法の各ステップを実行するように動作させるコンピュータプログラムを記憶した記憶媒体。
JP2012543806A 2009-12-18 2010-12-17 データを格納するための方法及び装置 Expired - Fee Related JP5705235B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP09306277.6A EP2343662B1 (en) 2009-12-18 2009-12-18 Method of and apparatus for storing data
EP09306277.6 2009-12-18
PCT/EP2010/070165 WO2011073435A1 (en) 2009-12-18 2010-12-17 Method of and apparatus for storing data

Publications (2)

Publication Number Publication Date
JP2013514573A true JP2013514573A (ja) 2013-04-25
JP5705235B2 JP5705235B2 (ja) 2015-04-22

Family

ID=42174117

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012543806A Expired - Fee Related JP5705235B2 (ja) 2009-12-18 2010-12-17 データを格納するための方法及び装置

Country Status (4)

Country Link
US (1) US9158936B2 (ja)
EP (1) EP2343662B1 (ja)
JP (1) JP5705235B2 (ja)
WO (1) WO2011073435A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7391682B2 (ja) 2019-01-31 2023-12-05 ザ・ボーイング・カンパニー 改ざん防止カウンタ

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2499985A (en) 2012-02-29 2013-09-11 Nds Ltd Current state of OTP memory used with new received information to define new OTP state for computation of new digital signature in preventing playback attacks
FR2991796A1 (fr) * 2012-06-12 2013-12-13 Inside Secure Procede de sauvegarde de donnees, a l'exterieur d'un microcircuit securise
US9768957B2 (en) * 2014-04-23 2017-09-19 Cryptography Research, Inc. Generation and management of multiple base keys based on a device generated key
US9621549B2 (en) * 2014-07-25 2017-04-11 Qualcomm Incorporated Integrated circuit for determining whether data stored in external nonvolative memory is valid
US10042780B2 (en) * 2014-11-07 2018-08-07 Synopsys, Inc. Integrity protection for data storage
CN107111730B (zh) * 2014-11-07 2021-01-08 新思公司 用于数据存储的完整性保护
US10594491B2 (en) * 2015-12-24 2020-03-17 Intel Corporation Cryptographic system memory management
EP3594840A1 (en) 2018-07-12 2020-01-15 Gemalto Sa A method and an apparatus for determining a digital print representative of a state of an external non-volatile memory
US20220229910A1 (en) * 2021-01-19 2022-07-21 Vitesco Technologies GmbH Automobile method for securing a motor vehicle computer

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03214498A (ja) * 1990-01-19 1991-09-19 Toshiba Corp 半導体メモリシステム
JPH05189987A (ja) * 1991-08-02 1993-07-30 Motorola Inc データ処理システムにおける漸進的にプログラム可能な不揮発性メモリおよびその漸進的なプログラム方法
EP1640844A1 (en) * 2004-09-27 2006-03-29 STMicroelectronics Limited Secure OTP using external memory
JP2008117385A (ja) * 2006-11-07 2008-05-22 Samsung Electronics Co Ltd 保安データを管理する装置およびその方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7325121B2 (en) * 2003-09-12 2008-01-29 Broadcom Corporation System and method of utilizing off-chip memory
US7142452B1 (en) * 2004-06-07 2006-11-28 Virage Logic Corporation Method and system for securing data in a multi-time programmable non-volatile memory device
US8375189B2 (en) * 2005-12-30 2013-02-12 Intel Corporation Configuring levels of program/erase protection in flash devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03214498A (ja) * 1990-01-19 1991-09-19 Toshiba Corp 半導体メモリシステム
JPH05189987A (ja) * 1991-08-02 1993-07-30 Motorola Inc データ処理システムにおける漸進的にプログラム可能な不揮発性メモリおよびその漸進的なプログラム方法
EP1640844A1 (en) * 2004-09-27 2006-03-29 STMicroelectronics Limited Secure OTP using external memory
JP2008117385A (ja) * 2006-11-07 2008-05-22 Samsung Electronics Co Ltd 保安データを管理する装置およびその方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7391682B2 (ja) 2019-01-31 2023-12-05 ザ・ボーイング・カンパニー 改ざん防止カウンタ

Also Published As

Publication number Publication date
EP2343662B1 (en) 2014-09-10
US20120317344A1 (en) 2012-12-13
JP5705235B2 (ja) 2015-04-22
US9158936B2 (en) 2015-10-13
WO2011073435A1 (en) 2011-06-23
EP2343662A1 (en) 2011-07-13

Similar Documents

Publication Publication Date Title
JP5705235B2 (ja) データを格納するための方法及び装置
EP2294529B1 (en) Electronic device and method of software or firmware updating of an electronic device
TWI407745B (zh) 安全與重播受保護之記憶儲存
JP6189569B1 (ja) 外部不揮発性メモリに記憶されたデータが有効かどうかを判定するための集積回路
JP5749257B2 (ja) データ検証方法
KR100746012B1 (ko) 코드 이미지를 안전하게 갱신하고 부팅하는 방법 및 장치
US20080148001A1 (en) Virtual Secure On-Chip One Time Programming
US9830479B2 (en) Key storage and revocation in a secure memory system
US20150242336A1 (en) Storing Data in a Memory of an Electronic Device
CN109445705B (zh) 固件认证方法及固态硬盘
KR20080041420A (ko) 보안 데이터를 관리하는 장치 및 그 방법
JP5076110B2 (ja) データを保証するためのシステム及び方法
JP6518798B2 (ja) 安全な集積回路状態を管理する装置およびその方法
US11270003B2 (en) Semiconductor device including secure patchable ROM and patch method thereof
EP3460705B1 (en) Distributed deployment of unique firmware
US11429722B2 (en) Data protection in a pre-operation system environment based on an embedded key of an embedded controller
US20240031143A1 (en) Apparatuses and methods for verification of updated data-set
KR20160103652A (ko) 펌웨어 워터마킹 방법 및 이에 의한 펌웨어, 펌웨어 워터마킹을 실시하는 장치
CA3172266A1 (en) Method for securely processing digital information in a secure element
JP2021015543A (ja) 電子情報記憶媒体、カウンタ更新方法及びカウンタ更新プログラム
JP2009080515A (ja) セキュアなロードシーケンスを提供する方法および装置
CN115935444A (zh) 安全固件上传

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141017

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150114

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150224

R150 Certificate of patent or registration of utility model

Ref document number: 5705235

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees