JP5089593B2 - メモリカードコントローラファームウェアのハードウェアドライバ完全性チェック - Google Patents
メモリカードコントローラファームウェアのハードウェアドライバ完全性チェック Download PDFInfo
- Publication number
- JP5089593B2 JP5089593B2 JP2008531324A JP2008531324A JP5089593B2 JP 5089593 B2 JP5089593 B2 JP 5089593B2 JP 2008531324 A JP2008531324 A JP 2008531324A JP 2008531324 A JP2008531324 A JP 2008531324A JP 5089593 B2 JP5089593 B2 JP 5089593B2
- Authority
- JP
- Japan
- Prior art keywords
- integrity
- memory
- data
- flash memory
- memory card
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本発明の様々な態様が実施されるようなメモリシステム例を、図1Aのブロック図に示す。図1Aに示すように、メモリシステム10は、中央処理装置(CPU)または「コントローラ」12と、バッファ管理ユニット(BMU)14と、ホストインターフェイスモジュール(HIM)16と、フラッシュインターフェイスモジュール(FIM)18と、フラッシュメモリ20と、周辺アクセスモジュール22とを含む。メモリシステム10は、ホストインターフェイスバス26およびポート26aとを通じてホスト装置24と通信する。フラッシュメモリ20は、NAND形であってもよく、ホスト装置24に対してデータ記憶を提供する。CPU12のためのソフトウェアコードも、フラッシュメモリ20に記憶されてもよい。FIM18は、フラッシュインターフェイスバス28を通じて、および、場合によってはフラッシュメモリ20が着脱可能な要素であるときには図に示さないポートとを通じて、フラッシュメモリ20に接続する。HIM16は、デジタルカメラ、パーソナルコンピュータ、個人用携帯情報端末(PDA)、MP−3プレーヤ、携帯電話、または他のデジタル装置のようなホストシステムに対する接続に適している。周辺アクセスモジュール22は、CPU12と通信するために、FIM、HIM、およびBMUなどの適切なコンローラモジュールを選択する。一実施形態において、点線のボックス内のシステム10のすべての要素が、メモリカードなどの単一のユニット、好ましくはカード内に密封されていてもよい。
図2は、システム10を実行するファームウェア200を含むフラッシュメモリのメモリ空間の図である。システムファームウェア200は、フラッシュメモリ20内に常駐して変更不可能なのが好ましいブートローダ(BLR)部200aと、フラッシュメモリ20内に常駐して必要に応じて変更可能なシステムファームウェア200bとを備える。ある実施形態において、直接またはシャドウイングされたコピーから実行される場合にBLR部200aをポイントする追加のファームウェアがROM13内にあってもよい。システムファームウェア200のサイズは、実行元であるRAMモジュールよりも大きいので、システムファームウェアは、オーバーレイと称されるより小さい部分に分割される。好ましい実施形態におけるBLRの完全性ベリファイは、固有のその場の(on the fly)計算を使用し、当該計算において、期待値がデータ自身に記憶され、コピーがフラッシュメモリ20以外のメモリ内のレジスタに一時的に記憶される。しかし、ある実施形態において、BLRの完全性をベリファイするために使用される手法は、システムファームウェア200bの完全性をベリファイするためにも使用可能である。前述したように、任意のハッシュ値およびハッシュ手法を使用可能であるが、MACまたはSHA−1の値が現時点においては好ましく、簡素化のために、好ましい一実施形態において、一方または他方の使用について説明する。通常、SHA−1のダイジェストをMAC値の代わりに使用してもよく、その逆であってもよい。MAC値を使用する利点として、MAC値が、ハードウェアと、MACを作成したハードウェアのキーとに関連していることが挙げられる。SHA−1値は、単にデータ自体に基づいて所定のデータセットのために作成可能だが、MAC値は、キーなしでは再作成することは不可能であり、したがって、より強固なセキュリティを提供する。特定的には、MAC値を作成するには、暗号化エンジン40の不揮発性メモリに記憶されたキー99を使用しなければならないが、MAC値を再作成するには、他のプロセッサを使用することができない。例えば、ハッカーは、ファームウェアおよび関連するMAC値を複製するために、システム外部から他のプロセッサを使用することはできない。
MAC[0...(i)]=MAC[MAC[0...(i−1)],
block(i)]
Claims (8)
- メモリカードであって、
フラッシュメモリセルと、
暗号化ハードウェアと、
ランダムアクセスメモリと、
フラッシュメモリセルへのデータの書き込みおよびそこからのデータの読み出しを制御するフラッシュメモリセル内に記憶されたシステムファームウェアと、
実行されたときにシステムファームウェアをランダムアクセスメモリにロードするフラッシュメモリセル内に記憶されたブートローダと、を備え、
ブートローダの完全性は、ブートローダがランダムアクセスメモリへアップロードされるに従って、前記暗号化ハードウェアによって計算された暗号化値でベリファイされ、
ブートローダの完全性がベリファイされた場合には、ブートローダを実行するメモリカードにおいて、
前記メモリカードは、中央処理装置(CPU)を備え、前記メモリカードが所有し前記中央処理装置(CPU)が実行可能な命令により、前記中央処理装置(CPU)が、前記ブートローダの完全性がベリファイされたことを示すフラグを最初のブート処理の最後にチェックすることを特徴とするメモリカード。 - 請求項1記載のメモリカードにおいて、
ブートローダの完全性は、ブートローダがランダムアクセスメモリへアップロードされるに従って計算されたハッシュ値でベリファイされるメモリカード。 - 請求項1記載のメモリカードにおいて、
ブートローダの完全性をベリファイすることは、ブートローダについてのMAC値を使用することを含むメモリカード。 - 請求項1記載のメモリカードにおいて、
ブートローダの完全性チェックを管理するファームウェア完全性回路を備えるメモリカード。 - 請求項1記載のメモリカードにおいて、
ブートローダの完全性をベリファイすることは、ブートローダについてのSHA−1値を使用することを含むメモリカード。 - 請求項1記載のメモリカードにおいて、
システムファームウェアの完全性は、システムファームウェアがランダムアクセスメモリへアップロードされるに従って、前記暗号化ハードウェアによって計算された暗号化値でベリファイされるメモリカード。 - 携帯可能なフラッシュメモリ記憶装置であって、
フラッシュメモリと、
ユーザファイル、システムファームウェア、およびブートローダを備える、前記フラッシュメモリ内に常駐するデータであって、データの一部分は、暗号化されたフォーマットで記憶されてもよい、データと、
フラッシュメモリへ向かう途中のデータを暗号化することと、フラッシュメモリからのデータを復号化することとを含むデータ操作を行う暗号エンジンと、を備え、
暗号エンジンのデータ操作は、ブートローダの完全性をベリファイする役割も果たし、 ブートローダの完全性がベリファイされた場合には、ブートローダを実行し、
システムファームウェアがフラッシュメモリへのデータの書き込みおよびそこからのデータの読み出しを制御する携帯可能なフラッシュメモリ記憶装置において、
前記フラッシュメモリ記憶装置は、中央処理装置(CPU)を備え、前記フラッシュメモリ記憶装置が所有し前記中央処理装置(CPU)が実行可能な命令により、前記中央処理装置(CPU)が、前記ブートローダの完全性がベリファイされたことを示すフラグを最初のブート処理の最後にチェックすることを特徴とする携帯可能なフラッシュメモリ記憶装置。 - メモリカードであって、
フラッシュメモリを備える大容量記憶媒体と、
ランダムアクセスメモリと、
読み出し専用メモリと、
フラッシュメモリへのデータの書き込みおよびそこからのデータの読み出しを制御するフラッシュメモリ内に記憶されたシステムファームウェアと、
実行されたときにシステムファームウェアをランダムアクセスメモリにロードするフラッシュメモリ内に記憶されたブートローダと、
読み出し専用メモリ内に常駐するコードと、
ブートローダの完全性をベリファイするために使用される暗号エンジンと、を備え、
システムファームウェアがフラッシュメモリへのデータの書き込みおよびそこからのデータの読み出しを制御し、
読み出し専用メモリおよび読み出し専用メモリ内に常駐するコードを、ブートローダの完全性をベリファイするためには使用しないが、ブートローダの完全性がベリファイされたことを示すフラグを最初のブート処理の最後にチェックするために使用するメモリカードにおいて、
前記メモリカードは、中央処理装置(CPU)を備え、前記メモリカードが所有し前記中央処理装置(CPU)が実行可能な命令により、前記中央処理装置(CPU)が、前記ブートローダの完全性がベリファイされたことを示すフラグを最初のブート処理の最後にチェックすることを特徴とするメモリカード。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US71734705P | 2005-09-14 | 2005-09-14 | |
US60/717,347 | 2005-09-14 | ||
US11/284,623 US7536540B2 (en) | 2005-09-14 | 2005-11-21 | Method of hardware driver integrity check of memory card controller firmware |
US11/285,600 | 2005-11-21 | ||
US11/285,600 US8966284B2 (en) | 2005-09-14 | 2005-11-21 | Hardware driver integrity check of memory card controller firmware |
US11/284,623 | 2005-11-21 | ||
PCT/US2006/035840 WO2007033322A2 (en) | 2005-09-14 | 2006-09-13 | Hardware driver integrity check of memory card controller firmware |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011137416A Division JP5411896B2 (ja) | 2005-09-14 | 2011-06-21 | メモリカードコントローラファームウェアのハードウェアドライバ完全性チェック |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009508272A JP2009508272A (ja) | 2009-02-26 |
JP5089593B2 true JP5089593B2 (ja) | 2012-12-05 |
Family
ID=37597492
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008531324A Expired - Fee Related JP5089593B2 (ja) | 2005-09-14 | 2006-09-13 | メモリカードコントローラファームウェアのハードウェアドライバ完全性チェック |
JP2011137416A Expired - Fee Related JP5411896B2 (ja) | 2005-09-14 | 2011-06-21 | メモリカードコントローラファームウェアのハードウェアドライバ完全性チェック |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011137416A Expired - Fee Related JP5411896B2 (ja) | 2005-09-14 | 2011-06-21 | メモリカードコントローラファームウェアのハードウェアドライバ完全性チェック |
Country Status (5)
Country | Link |
---|---|
EP (2) | EP2320345A3 (ja) |
JP (2) | JP5089593B2 (ja) |
KR (1) | KR100973733B1 (ja) |
CN (1) | CN102142070B (ja) |
WO (1) | WO2007033322A2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7743409B2 (en) | 2005-07-08 | 2010-06-22 | Sandisk Corporation | Methods used in a mass storage device with automated credentials loading |
JP2014191372A (ja) * | 2013-03-26 | 2014-10-06 | Mega Chips Corp | 不揮発性記憶システム、不揮発性記憶装置、メモリコントローラ、および、プログラム |
CN107111730B (zh) * | 2014-11-07 | 2021-01-08 | 新思公司 | 用于数据存储的完整性保护 |
CN104809398A (zh) * | 2015-04-21 | 2015-07-29 | 深圳怡化电脑股份有限公司 | 密码键盘引导程序固件防篡改方法及装置 |
KR101795457B1 (ko) * | 2016-09-27 | 2017-11-10 | 시큐리티플랫폼 주식회사 | 보안 기능이 강화된 디바이스의 초기화 방법 및 디바이스의 펌웨어 업데이트 방법 |
KR101887974B1 (ko) | 2016-12-01 | 2018-08-13 | 현대오트론 주식회사 | 엔진제어기의 안전부팅을 위한 시스템 및 방법 |
KR102089435B1 (ko) * | 2018-04-11 | 2020-03-16 | 고려대학교 세종산학협력단 | 안전한 usb 장치를 보장하는 부트 방법 |
KR102545102B1 (ko) * | 2018-05-15 | 2023-06-19 | 현대자동차주식회사 | 차량용 제어기 및 그 업데이트 방법 |
KR102286794B1 (ko) * | 2018-08-16 | 2021-08-06 | 경희대학교 산학협력단 | 통합 보안 SoC를 이용한 IoT 디바이스의 안전한 부트 방법 |
JP6808793B1 (ja) * | 2019-09-20 | 2021-01-06 | レノボ・シンガポール・プライベート・リミテッド | 情報処理装置 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH039427A (ja) * | 1989-06-07 | 1991-01-17 | Koufu Nippon Denki Kk | マイクロプログラム制御装置 |
US5327305A (en) | 1992-08-14 | 1994-07-05 | Conner Peripherals, Inc. | Tape format detection system |
US6708274B2 (en) * | 1998-04-30 | 2004-03-16 | Intel Corporation | Cryptographically protected paging subsystem |
US6735696B1 (en) * | 1998-08-14 | 2004-05-11 | Intel Corporation | Digital content protection using a secure booting method and apparatus |
JP3219064B2 (ja) * | 1998-12-28 | 2001-10-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | デジタルデータ認証システム |
US6988250B1 (en) * | 1999-02-15 | 2006-01-17 | Hewlett-Packard Development Company, L.P. | Trusted computing platform using a trusted device assembly |
AUPQ321699A0 (en) * | 1999-09-30 | 1999-10-28 | Aristocrat Leisure Industries Pty Ltd | Gaming security system |
US20030041242A1 (en) * | 2001-05-11 | 2003-02-27 | Sarver Patel | Message authentication system and method |
US6907522B2 (en) * | 2002-06-07 | 2005-06-14 | Microsoft Corporation | Use of hashing in a secure boot loader |
US20040025027A1 (en) * | 2002-07-30 | 2004-02-05 | Eric Balard | Secure protection method for access to protected resources in a processor |
US7082525B2 (en) * | 2002-10-02 | 2006-07-25 | Sandisk Corporation | Booting from non-linear memory |
US7246266B2 (en) * | 2002-11-21 | 2007-07-17 | Chris Sneed | Method and apparatus for firmware restoration in modems |
JP4467246B2 (ja) * | 2003-03-13 | 2010-05-26 | パナソニック株式会社 | メモリカード |
US8041957B2 (en) * | 2003-04-08 | 2011-10-18 | Qualcomm Incorporated | Associating software with hardware using cryptography |
US7491122B2 (en) * | 2003-07-09 | 2009-02-17 | Wms Gaming Inc. | Gaming machine having targeted run-time software authentication |
US7594135B2 (en) * | 2003-12-31 | 2009-09-22 | Sandisk Corporation | Flash memory system startup operation |
US20050190393A1 (en) * | 2004-02-27 | 2005-09-01 | Agilent Technologies, Inc. | Programmable controller system and method for supporting various operational modes in peripheral devices |
-
2006
- 2006-09-13 CN CN2011100593111A patent/CN102142070B/zh not_active Expired - Fee Related
- 2006-09-13 EP EP11001172A patent/EP2320345A3/en not_active Withdrawn
- 2006-09-13 WO PCT/US2006/035840 patent/WO2007033322A2/en active Application Filing
- 2006-09-13 KR KR1020087006251A patent/KR100973733B1/ko not_active IP Right Cessation
- 2006-09-13 EP EP06814655A patent/EP1934880A2/en not_active Withdrawn
- 2006-09-13 JP JP2008531324A patent/JP5089593B2/ja not_active Expired - Fee Related
-
2011
- 2011-06-21 JP JP2011137416A patent/JP5411896B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1934880A2 (en) | 2008-06-25 |
WO2007033322A2 (en) | 2007-03-22 |
KR20080045708A (ko) | 2008-05-23 |
JP2009508272A (ja) | 2009-02-26 |
EP2320345A2 (en) | 2011-05-11 |
JP5411896B2 (ja) | 2014-02-12 |
KR100973733B1 (ko) | 2010-08-04 |
WO2007033322A3 (en) | 2007-05-10 |
EP2320345A3 (en) | 2011-08-10 |
CN102142070A (zh) | 2011-08-03 |
CN102142070B (zh) | 2013-11-06 |
JP2011210278A (ja) | 2011-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7536540B2 (en) | Method of hardware driver integrity check of memory card controller firmware | |
JP5411896B2 (ja) | メモリカードコントローラファームウェアのハードウェアドライバ完全性チェック | |
CN107667499B (zh) | 带密钥散列消息认证码处理器、方法、系统和指令 | |
JP5285075B2 (ja) | セキュア・カーネル設計による安全基準の差別化 | |
KR100792287B1 (ko) | 자체 생성한 암호화키를 이용한 보안방법 및 이를 적용한보안장치 | |
CN112699383B (zh) | 数据密码设备、存储器系统及其操作方法 | |
JP5736994B2 (ja) | 情報処理装置、正当性検証方法、及びプログラム | |
TW201145069A (en) | Providing integrity verification and attestation in a hidden execution environment | |
US20170060775A1 (en) | Methods and architecture for encrypting and decrypting data | |
TWI760752B (zh) | 應用加速驗證映像檔方法的系統 | |
JP2007310688A (ja) | マイクロコンピュータおよびそのソフトウェア改竄防止方法 | |
KR101954439B1 (ko) | 이중보안기능을 가지는 SoC 및 SoC의 이중보안방법 | |
KR101988404B1 (ko) | 이중보안기능을 가지는 SoC 및 SoC의 이중보안방법 | |
CN114694737A (zh) | 具有差错纠正能力的低开销存储器完好性 | |
US8407479B2 (en) | Data authentication and tamper detection | |
US11829231B2 (en) | Methods and systems for generating core dump in a user equipment | |
US9213864B2 (en) | Data processing apparatus and validity verification method | |
TW202326482A (zh) | 在一開蓋竄改事件中使一安全啟動失敗的電腦系統 | |
JP2009080515A (ja) | セキュアなロードシーケンスを提供する方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110125 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110412 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110419 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110523 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110530 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110621 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110712 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111114 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111114 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20111206 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20111228 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20120615 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120726 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120807 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120911 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150921 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5089593 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |