CN103109280A - 用于验证非易失存储器的存储块的方法 - Google Patents

用于验证非易失存储器的存储块的方法 Download PDF

Info

Publication number
CN103109280A
CN103109280A CN2011800117946A CN201180011794A CN103109280A CN 103109280 A CN103109280 A CN 103109280A CN 2011800117946 A CN2011800117946 A CN 2011800117946A CN 201180011794 A CN201180011794 A CN 201180011794A CN 103109280 A CN103109280 A CN 103109280A
Authority
CN
China
Prior art keywords
authentication codes
storage
memory
block
storage block
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
CN2011800117946A
Other languages
English (en)
Inventor
M.伊勒
O.布贝克
J.哈耶克
J.索克罗拉希
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN103109280A publication Critical patent/CN103109280A/zh
Pending legal-status Critical Current

Links

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/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种用于验证非易失存储器的存储块的方法,其中在使用秘密的密钥字的情况下在第一时刻确定(209)存储块(131,132,133)的第一认证代码并且存储(211)在认证代码存储表(120)中,在使用秘密的密钥字的情况下在用于验证的第二时刻确定(307)存储块(131,132,133)的第二认证代码并且与第一认证代码相比较(307),以及当第一认证代码和第二认证代码一致时,所述存储块(131,132,133)得到验证(309)。

Description

用于验证非易失存储器的存储块的方法
技术领域
本发明涉及一种用于验证非易失存储器的存储块的方法。
背景技术
本发明可以用于识别对特定的存储块、尤其是非易失存储器(NVM,non volatile memory)的存储块的未经授权的操纵。本发明尤其适合于验证用于安全应用的计算单元(例如内嵌式系统)、控制设备等等的存储块。这种存储块例如包含用于实施与安全有关的或安全关键的功能的程序代码或者包含在非对称密码方法中使用的公共密钥,从而必须确保在存储块被分析或使用之前对这些存储块进行认证。
已知使用哈希函数来验证这种存储块。在此,刚开始为每个待验证的存储块计算一个哈希值并且将该哈希值存储在专用的存储区中,该专用的存储区是防操纵的。在稍后的验证中,该存储块的哈希值被重新确定并且与所存储的值相比较。如果这两个值一致,则可以确定该存储块没有差错。这种技术例如在TPM(Trusted Platform Module,受信平台模块)中采用。
该已知方法的缺点在于,对于待验证的存储块的每个哈希值都必须提供防操纵的存储区。因此必须提供相对大的安全存储区,这是比较昂贵的。“安全存储区”应当被理解为不能被第三方写入的存储区。
因此说明一种用于验证非易失存储器的存储块的节省资源的方法是值得期望的。
发明内容
根据本发明,提出一种具有权利要求1的特征的方法。有利的设计是从属权利要求以及以下描述的主题。
本发明采用以下措施,即为待验证的存储块确定认证代码,尤其是MAC(Message Authentication Code,消息认证代码)。本发明在此使用秘密的密钥字或秘密的密钥,从而待提供的安全存储区的大小基本上限于可以容纳所述秘密的密钥字。秘密的密钥字被存储在安全存储区中,使得从外部不能接近该秘密的密钥字并且尤其是不能读取该秘密的密钥字。所述验证完全地和自动地在计算单元内进行。在现有技术中采用已知的哈希函数,从而原则上任何人都可以确定存储块的哈希值。因此哈希值必须被安全地存储,使得操纵被排除。但是在本发明中使用秘密的密钥字,从而与哈希值相当的所计算的认证代码恰好不能被任何人确定。因此特定的认证代码可以被存储在任何位置,尤其是还可以存储在不安全的存储区中。只是要将所使用的密钥字存储在安全存储区中。因此,显著减少了对安全存储空间的需求,这导致计算单元的简化以及成本节省。
合适的是,在认证代码存储表中附加地存储待验证的存储块的存储地址和存储长度。由此可以容易地检查所存储的认证代码属于哪一个存储块。
优选的,认证代码存储表的存储地址和存储长度被存储在地址存储块中,从而认证代码存储表总是与瞬时的情况匹配并且不存在灵活性限制,例如通过存储长度和固定预先给定的存储地址。因此认证代码存储表尤其是还可以设置在非易失存储器中。
在优选的设计中,在使用秘密的密钥字的情况下也确定认证代码存储表的认证代码并且存储在地址存储块中。由此在最大的防操纵性的情况下实现上述灵活性,因为总是可以检查实际上是否使用了正确的认证代码存储表。
为了进一步提高安全性,合适的是将地址存储块设置在安全存储区中。“安全存储区”在此应当理解为第三方无法写入的存储区。
在设计中,使用电子安全构件,其具有安全存储区并且被设置为确定认证代码。从而也可以通过简单的方式对已存在的系统进行加装。
本发明的计算单元,例如汽车的控制设备尤其是可用程序技术设置为执行本发明的方法。该计算单元尤其是具有上述电子安全构件。
以软件的形式来实施该方法也是有利的,因为这产生特别小的成本,尤其是当实施的控制设备还用于其它任务并且因此无论如何都存在时。用于提供计算机程序的合适的数据载体尤其是光盘、硬盘、闪存、EEPROM、CD-ROM、DVD等。通过计算机网络(互联网,内部网,等)下载程序也是可行的。
本发明的其它优点和设计由说明书和附图得到。
应当理解,上述和下面还要阐述的特征不仅能以分别说明的组合,而且还能以其它组合或单独地使用,而不会脱离本发明的范围。
附图说明
本发明借助附图中的实施例示意性示出并且将在下面参照附图详细描述。
图1示出本发明计算单元的一种实施方式的框图。
图2示出本发明方法的一种实施方式的在第一时刻进行的部分的流程图。
图3示出本发明方法的一种实施方式的在第二时刻进行的部分的流程图。
具体实施方式
在图1中以框图示意性示出本发明计算单元的优选实施方式,并且总体上用100表示。计算单元100除其它未示出的部件如CPU、RAM等之外包括三个部件110,150和160,它们有贡献于在所示出的优选实施方式中实现本发明并在下面按顺序解释。
计算单元100具有非易失存储器(NVM)110,其中存储待验证的存储块131,132等。在此例如可以涉及固件的组成部分,涉及密钥等等,从而应当保证存储块得到认证。在非易失存储器110中,存放具有各个表区域121,122等的认证代码存储表120。
计算单元100还包括写入模块150,该写入模块能够对非易失存储器110进行写入。写入模块150可以是CPU的一部分或外部部分。此外,计算单元100包括负责执行加密操作并且提供安全存储区的电子安全构件160。安全构件160包括安全的、第三方无法读取的存储区161,在该存储区161中存储用于产生认证代码的秘密的密钥字。此外,安全构件160包括用于容纳地址存储块的安全存储区162,在该地址存储块中存放认证代码存储表120的认证代码、存储地址和存储长度。安全构件160还包括处理模块163以及可选地包括用于加速对称加密的协处理器164。
图2中描述了本发明方法的一种实施方式的在第一时刻执行的部分,该部分用于产生认证代码。
首先写入模块150在步骤201中在使用任意认证方法的情况下向安全构件160确认,使得写入模块150被授权对非易失存储器110进行写入。
在步骤202中,安全构件160检查认证是否成功。如果认证不成功,则安全构件160在步骤203中将相应的通知发送给写入模块150并且在步骤204中中断该方法。
相反如果认证成功,则安全构件160在步骤205中将相应的成功通知发送给写入模块150。
接着写入模块150在步骤206中以待保护的第一块,即根据图1的131开始,并且在步骤207中检查是否已经达到要保护的最后一块。如果不是,则写入模块150将所涉及块的存储地址和存储长度在步骤208中传送给安全构件160。
在步骤209中,安全构件160从非易失存储器110中读取所涉及的存储块并且借助存储在安全存储区161中的密钥字计算出所属的认证代码。该认证代码在步骤210中被传输给写入模块150,该写入模块150在步骤211中将所述认证代码与块131的存储地址和存储长度一起写入到认证代码存储表120中,在此写入到表区域121中。
在接下来的方法步骤212中,选择下一个块并且返回到步骤207。如果在步骤207中相应频繁地执行了该方法之后确定最后一个块n已被处理,则在步骤213中将认证代码存储表120的存储地址和存储长度传送给安全构件160,该安全构件160接着在步骤214中计算认证代码存储表120的认证代码并且将该认证代码与存储地址和存储长度一起存储在安全存储区162中。
在运行期间执行的对存储块131等的验证在下面借助图3阐述。
在步骤301中,写入模块150请求安全构件160验证认证代码存储表120。
接着安全构件160在步骤302中计算认证代码存储表120的认证代码,安全构件160可以从存储区162中读取该认证代码的位置和长度,并且将所计算的值与同样存储在存储区162中的值进行比较。安全构件160将该比较结果在方法步骤303中提供给写入模块150,该写入模块150在步骤304中对结果进行分析。如果认证代码不一致,则将该结果传送给实例309,该实例309基于该比较结果作出决定。
但是如果认证代码一致,则写入模块150在步骤305中从认证代码存储表120读取待验证存储块的存储地址、存储长度和认证代码。例如,写入模块150在块132要被验证时读取表区域122。
在步骤306中,写入模块150将该数据传送给安全构件160,该安全构件160在步骤307中借助所述数据读取在非易失存储器110中所涉及的存储块,例如132,并且计算该存储块的认证代码。接着,安全构件160将新计算的认证代码与由写入模块150传送的认证代码进行比较,并且将比较结果在步骤308中传送给写入模块150。
写入模块15然后在步骤309中基于该比较结果产生相应的决定。
利用本发明可以验证存储块并且将为此所需的对安全存储器的需要保持得小。

Claims (9)

1.用于验证非易失存储器的存储块的方法,其中在使用秘密的密钥字的情况下在第一时刻确定(209)存储块(131,132,133)的第一认证代码并且存储(211)在认证代码存储表(120)中,在使用秘密的密钥字的情况下在用于验证的第二时刻确定(307)存储块(131,132,133)的第二认证代码并且与第一认证代码相比较(307),以及当第一认证代码和第二认证代码一致时,所述存储块(131,132,133)得到验证(309)。
2.根据权利要求1所述的方法,其中将存储块(131,132,133)的存储地址和存储长度附加地存储(211)在认证代码存储表(120)中。
3.根据权利要求1或2所述的方法,其中认证代码存储表(120)的存储地址和存储长度被存储(214)在地址存储块(162)中。
4.根据权利要求3所述的方法,其中在使用秘密的密钥字的情况下确定认证代码存储表(120)的第三认证代码并且存储(214)在地址存储块(162)中。
5.根据权利要求3或4所述的方法,其中将地址存储块设置在安全存储区(162)中。
6.根据上述权利要求之一所述的方法,其中秘密的密钥字存储在安全的以及第三方无法读取的存储区(161)中。
7.根据上述权利要求之一所述的方法,其中认证代码存储表(120)设置在非易失存储器(110)中。
8.根据上述权利要求之一所述的方法,其中使用电子安全构件(160),该电子安全构件具有安全存储区(161,162)并且被设置为确定认证代码(121,122,123)。
9.计算单元,其被设置为执行根据上述权利要求之一的方法。
CN2011800117946A 2010-03-01 2011-02-07 用于验证非易失存储器的存储块的方法 Pending CN103109280A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102010002472.4 2010-03-01
DE102010002472A DE102010002472A1 (de) 2010-03-01 2010-03-01 Verfahren zum Verifizieren eines Speicherblocks eines nicht-flüchtigen Speichers
PCT/EP2011/051714 WO2011107319A2 (de) 2010-03-01 2011-02-07 Verfahren zum verifizieren eines speicherblocks eines nicht-flüchtigen speichers

Publications (1)

Publication Number Publication Date
CN103109280A true CN103109280A (zh) 2013-05-15

Family

ID=44009846

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011800117946A Pending CN103109280A (zh) 2010-03-01 2011-02-07 用于验证非易失存储器的存储块的方法

Country Status (7)

Country Link
US (1) US20130117578A1 (zh)
EP (1) EP2542995A2 (zh)
JP (1) JP5718373B2 (zh)
KR (1) KR20130015007A (zh)
CN (1) CN103109280A (zh)
DE (1) DE102010002472A1 (zh)
WO (1) WO2011107319A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108039190A (zh) * 2017-12-15 2018-05-15 北京京存技术有限公司 一种测试方法及装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130336475A1 (en) * 2012-06-14 2013-12-19 Kabushiki Kaisha Toshiba Device
US8949621B2 (en) * 2012-06-14 2015-02-03 Kabushiki Kaisha Toshiba Memory device authentication
DE102014208855A1 (de) * 2014-05-12 2015-11-12 Robert Bosch Gmbh Verfahren zum Durchführen einer Kommunikation zwischen Steuergeräten
US9830603B2 (en) * 2015-03-20 2017-11-28 Microsoft Technology Licensing, Llc Digital identity and authorization for machines with replaceable parts
FR3044786B1 (fr) * 2015-12-07 2018-07-13 Ingenico Group Procede de chargement d'une ressource informatique au sein d'un dispositif electronique, module electronique et programme d'ordinateur correspondant
DE102018213615A1 (de) * 2018-06-20 2019-12-24 Robert Bosch Gmbh Kryptografiemodul und Betriebsverfahren hierfür
JP2022095257A (ja) * 2020-12-16 2022-06-28 キオクシア株式会社 メモリシステム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0281225A2 (en) * 1987-03-03 1988-09-07 Hewlett-Packard Company Secure information storage
US20030195033A1 (en) * 2002-04-10 2003-10-16 Gazdic Daniel J. Gaming software authentication
CN1581110A (zh) * 2003-08-13 2005-02-16 国际商业机器公司 安全存储应用
US20060015748A1 (en) * 2004-06-30 2006-01-19 Fujitsu Limited Secure processor and a program for a secure processor
US20070143623A1 (en) * 2000-02-15 2007-06-21 Silverbrook Research Pty Ltd Method of validating consumable authentication chip
US20080155271A1 (en) * 2006-12-21 2008-06-26 Spansion Llc Solid-state memory-based generation and handling of security authentication tokens
WO2008098817A1 (de) * 2007-02-16 2008-08-21 Continental Automotive Gmbh Verfahren und vorrichtung zum gesicherten speichern und zum gesicherten lesen von nutzdaten

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026293A (en) * 1996-09-05 2000-02-15 Ericsson Inc. System for preventing electronic memory tampering
DE10131575A1 (de) * 2001-07-02 2003-01-16 Bosch Gmbh Robert Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung des Mikrorechner-Systems gespeicherten Daten
JP2003242030A (ja) * 2001-12-14 2003-08-29 Matsushita Electric Ind Co Ltd メモリ管理装置及びメモリ管理方法
WO2007064359A1 (en) * 2005-11-29 2007-06-07 Thomson Licensing Method and apparatus for securing digital content
JP5002205B2 (ja) * 2006-07-10 2012-08-15 任天堂株式会社 データ認証方法およびデータ認証システム
US7519830B2 (en) * 2006-08-03 2009-04-14 Motorola, Inc. Secure storage of data
US8356178B2 (en) * 2006-11-13 2013-01-15 Seagate Technology Llc Method and apparatus for authenticated data storage

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0281225A2 (en) * 1987-03-03 1988-09-07 Hewlett-Packard Company Secure information storage
US20070143623A1 (en) * 2000-02-15 2007-06-21 Silverbrook Research Pty Ltd Method of validating consumable authentication chip
US20030195033A1 (en) * 2002-04-10 2003-10-16 Gazdic Daniel J. Gaming software authentication
CN1581110A (zh) * 2003-08-13 2005-02-16 国际商业机器公司 安全存储应用
US20060015748A1 (en) * 2004-06-30 2006-01-19 Fujitsu Limited Secure processor and a program for a secure processor
US20080155271A1 (en) * 2006-12-21 2008-06-26 Spansion Llc Solid-state memory-based generation and handling of security authentication tokens
WO2008098817A1 (de) * 2007-02-16 2008-08-21 Continental Automotive Gmbh Verfahren und vorrichtung zum gesicherten speichern und zum gesicherten lesen von nutzdaten

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108039190A (zh) * 2017-12-15 2018-05-15 北京京存技术有限公司 一种测试方法及装置

Also Published As

Publication number Publication date
JP5718373B2 (ja) 2015-05-13
KR20130015007A (ko) 2013-02-12
DE102010002472A1 (de) 2011-09-01
WO2011107319A2 (de) 2011-09-09
JP2013533521A (ja) 2013-08-22
US20130117578A1 (en) 2013-05-09
WO2011107319A3 (de) 2015-07-09
EP2542995A2 (de) 2013-01-09

Similar Documents

Publication Publication Date Title
CN103109280A (zh) 用于验证非易失存储器的存储块的方法
JP5703391B2 (ja) 耐タンパー性ブート処理のためのシステム及び方法
EP3284000B1 (en) Secure software authentication and verification
US8856538B2 (en) Secured flash programming of secondary processor
CN111723383B (zh) 数据存储、验证方法及装置
CN111034120B (zh) 基于身份信息的加密密钥管理
US10984107B2 (en) Secure boot
EP3316160A1 (en) Authentication method and apparatus for reinforced software
CN111651748B (zh) 一种车内ecu的安全访问处理系统及其方法
EP2885737B1 (en) Storing and accessing data
CN110555309A (zh) 启动方法、装置、终端以及计算机可读存储介质
CN103269271A (zh) 一种备份电子签名令牌中私钥的方法和系统
CN109445705B (zh) 固件认证方法及固态硬盘
CN103248491A (zh) 一种电子签名令牌私钥的备份方法和系统
EP2503482A1 (en) Electronic device with flash memory component
CN107273150B (zh) 预加载固件下载写入方法及装置
US8909929B2 (en) Stored public key validity registers for cryptographic devices and systems
US9590810B2 (en) Device security
CN103297816A (zh) 一种安全下载方法及数字电视接收终端
CN110610079A (zh) 安全启动方法、装置及系统
EP2965295B1 (en) Localized pin management with reader verification and no disclosure
KR100734600B1 (ko) 변조방지 하드웨어에 기반한 자가 무결성 검증 기법을이용한 시스템 인증 및 보안성 강화 방법
CN103248490A (zh) 一种备份电子签名令牌中信息的方法和系统
CN101441696B (zh) 一种提高工具栏按钮描述文件安全性的方法和装置
CN105701412A (zh) 外部认证密钥验证方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130515