CN108885668B - 用于用户数据的完整性检查的方法、处理器和设备 - Google Patents

用于用户数据的完整性检查的方法、处理器和设备 Download PDF

Info

Publication number
CN108885668B
CN108885668B CN201780020422.7A CN201780020422A CN108885668B CN 108885668 B CN108885668 B CN 108885668B CN 201780020422 A CN201780020422 A CN 201780020422A CN 108885668 B CN108885668 B CN 108885668B
Authority
CN
China
Prior art keywords
processor
check value
mode
security
during
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.)
Active
Application number
CN201780020422.7A
Other languages
English (en)
Other versions
CN108885668A (zh
Inventor
D.默利
D.施奈德
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Publication of CN108885668A publication Critical patent/CN108885668A/zh
Application granted granted Critical
Publication of CN108885668B publication Critical patent/CN108885668B/zh
Active 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/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
    • 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/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种用于借助于处理器对用户数据进行完整性检查的方法,该方法包括如下方法步骤:在安全性受保护的运行模式期间计算关于用户数据的第一校验值。该方法包括另一方法步骤:在安全性受保护的运行模式期间,将第一校验值存储在处理器的安全性受保护的存储模块中。该方法包括另一方法步骤:在运行时间模式期间计算关于用户数据的第二校验值。该方法包括另一方法步骤:在运行时间模式期间通过处理器将第一校验值与第二校验值进行比较。该方法包括另一方法步骤:在运行时间模式期间通过处理器来提供控制信息,其中该控制信息包括比较的结果。

Description

用于用户数据的完整性检查的方法、处理器和设备
技术领域
本发明涉及一种用于用户数据的完整性检查的方法和处理器。
背景技术
嵌入式***包括纳入于技术上下文中的硬件和软件组件的组合。所述嵌入式***的任务尤其是对***进行控制、调节或监控。这些嵌入式***使微处理器、FPGA、RAM存储器、闪速存储器以及各种各样的***设备集于一个平台内。对这些设备的保护越来越重要,以便可以确保正常的运行。
对此的最重要的要求之一是完整性,也就是说防止对设备的未经授权的操纵。例如,必须有关完整性对公钥进行检查,以便保证这些公钥可证实未被改变。完整性保护被分成两个方面:
1) 对非易失性存储的数据的完整性保护,所述非易失性存储的数据包含对设备的启动(Booten)和设备的基本功能。在关断状态下,这些数据也可能***纵。保护措施是安全启动(Secure Boot)和类似机制。
2) 对运行时间数据的完整性保护,所述运行时间数据在设备的运行期间被计算并且为了进一步的计算而需要所述运行时间数据。这些数据可能被攻击者操纵,该攻击者在运行时间获得对设备的访问。
从现有技术公知文献US 8531247 B2、文献US 8892616 B2、文献US 8300811 B2、文献US 9147088 B2、文献EP 2605445 B1、文献EP 2870565 A1、文献EP 2891102 A1和文献US 8843761 B2。
发明内容
本发明的任务是提供一种方法和一种处理器,该方法和该处理器允许安全性高地执行对用户数据的完整性检查。
该任务通过在独立权利要求中说明的特征来解决。在从属权利要求中示出了本发明的有利的扩展方案。
按照第一方面,本发明涉及一种用于借助于处理器对用户数据进行完整性检查的方法,该方法包括如下方法步骤:在安全性受保护的运行模式期间计算关于用户数据的第一校验值。该方法包括另一方法步骤:在安全性受保护的运行模式期间,将第一校验值存储在处理器的安全性受保护的存储模块中。该方法包括另一方法步骤:在运行时间模式期间计算关于用户数据的第二校验值。该方法包括另一方法步骤:在运行时间模式期间通过处理器将第一校验值与第二校验值进行比较。该方法包括另一方法步骤:在运行时间模式期间通过处理器来提供控制信息,其中该控制信息包括比较的结果。
结合本专利申请,“处理器”例如可以被理解为机器或电子电路。处理器尤其可以是FPGA(英文Field Programmable Gate Array(现场可编程门阵列))、集成电路(英文Integrated Circuit,IC)、中央处理器(英文Central Processing Unit,CPU)、微处理器或微控制器。处理器也可以被理解为虚拟化处理器,该虚拟化处理器也被称作软CPU(Soft-CPU)。例如,也可涉及可编程处理器,该可编程处理器配备有用于实施所提到的按照本发明的方法的配置步骤,或者该可编程处理器利用配置步骤被配置成使得该可编程处理器具有设备、***或***的部分的按照本发明的特征。
结合本专利申请,“安全性受保护的存储模块”例如可以被理解为如下存储模块,尤其是处理器可以以读取的方式访问该存储模块。尤其是,阻止对安全性受保护的存储模块的处理器外部的直接访问。优选地,尤其可以在安全性受保护的运行模式、例如处理器的安全性受保护的运行模式期间通过处理器以写的方式访问该存储模块。如果数据、例如校验值应该被存储在安全性受保护的存储模块中,那么这些数据被转交给处理器的接口或传输模块。例如,处理器的可构造为控制模块的控制电路接着优选地依据运行模式、例如安全性受保护的运行模式或运行时间模式来决定是将数据存储到安全性受保护的存储模块中还是可以读取安全性受保护的存储模块的数据。
结合本专利申请,“传输模块”例如可以被理解为接口或总线,其尤其适合于传输和/或接收数据。传输模块例如可以在处理器内部传输和/或接收数据。替代地,传输模块可以是以下接口或总线,借助于该接口或该总线来将数据传输给处理器和/或从该处理器接收数据。
结合本专利申请,“校验值”例如可被理解为哈希值、数字签名和/或校验和,所述校验和例如是借助于关于用户数据的函数、例如校验值函数来计算的。在此,检验值函数可以是单向函数、尤其是加密哈希函数、例如实现密钥散列消息认证码算法(Keyed-HashMessage Authentication Code Algorithmus,HMAC)的函数。
结合本专利申请,“安全性受保护的运行模式”例如可以被理解为如下运行模式,在该运行模式期间,优选地只实施值得信任的功能、例如操作***的功能。“安全性受保护的运行模式”例如可以是设备的启动阶段,该设备尤其是在启动过程结束之后例如通过中断或机器指令来结束安全性受保护的运行模式。但是,安全性受保护的运行模式也可以是如下运行模式,该运行模式例如可以在制造设备以及用按照本发明的处理器对设备进行测试期间被接通。例如,在安全性受保护的运行模式期间,只能实施值得信任的程序代码,该程序代码例如是由设备制造商进行数字签名过的。在安全性受保护的运行模式期间,尤其只处理设备内部的数据,并且尤其阻止与其它设备或网络的通信。在安全性受保护的运行模式期间,例如出发点可以是:程序代码或用户数据没有被未获授权者操纵或者不能被未获授权者操纵。
例如,借助于安全机制、例如机械开关、尤其是以跳线(Jumper)形式的机械开关、加密函数、尤其是以数字签名、数字证书或密码形式的加密函数,可以保护对安全性受保护的运行模式的接通。
结合本专利申请,“运行时间模式”例如可以被理解为如下运行模式,在该运行模式的情况下,操作***、尤其是应用代码例如实施设备制造商陌生来源的软件组件。在运行时间模式期间,例如出发点可以是:程序代码或用户数据被未获授权者操纵。运行时间模式和安全性受保护的运行模式优选地相互排斥。这尤其意味着:在安全性受保护的运行模式期间不能接通运行时间模式,而在运行模式期间不能接通安全性受保护的运行模式。
结合本专利申请,“运行时间”例如可以被理解为设备的从接通该设备直至关断该设备的运行时间。在此,运行时间例如包括:值得信任的时间段,在该值得信任的时间段期间尤其接通安全性受保护的运行模式;和可能不值得信任的时间段,在该可能不值得信任的时间段期间尤其是关断安全性受保护的运行模式并且在该可能不值得信任的时间段期间尤其是接通运行时间模式。
结合本专利申请,“在处理器外部”例如可以被理解为:例如组件和/或功能不是该处理器的完整组成部分。这些组件和/或功能例如可以通过操作***的软件组件来实现并且尤其可以访问该处理器及其接口。优选地,可以只通过其接口来访问该处理器。
结合本专利申请,“在处理器内部”例如可以被理解为:例如组件和/或功能是该处理器的完整组成部分。这些组件和/或功能例如可以通过该处理器上的电路、尤其是逻辑电路来实现。尤其不能直接访问在处理器内部的组件和/或功能。优选地,通过所限定的接口来进行访问。
结合本专利申请,“用户数据”例如可以被理解为程序组件、配置信息、测量数据和/或控制数据,所述程序组件、配置信息、测量数据和/或控制数据尤其也可以被加密。
该方法是尤其有利的,因为第一校验值,或者也称作原始校验值,可以直接被存储在处理器、尤其是FPGA中,例如可以被存储在FPGA的存储块(所谓的Block RAM(块RAM))中或被存储在触发器(Flip-Flop)中。借此,尤其不需要在完整性检查时将第一校验值传输给操作***。
由此,例如可以实现:避免了在处理器上实现校验值函数、例如加密函数、尤其是以单向函数形式的加密函数来计算校验值、即第一校验值和/或第二校验值。换言之,由此尤其实现:通过处理器可以检查用户数据的完整性,而不在处理器上管理和/或存储针对用来计算校验值的校验值函数的资源或者不在处理器上管理和/或存储机密密钥。因此,借此尤其可能的是,在处理器之外、即在处理器外部计算第一校验和和/或第二校验和。
但是也可能的是,例如在处理器上实现校验值函数,用来计算校验值、即第一校验值和/或第二校验值。借此,例如可能的是,第一校验值和/或第二校验值由处理器自己、即在处理器内部计算。
尤其是,在计算第一校验值之后,第一校验值如上面提及的那样在一个方法步骤中被存储在安全性受保护的存储模块中。这尤其是与第一校验值是在处理器内部被计算还是在处理器外部被计算无关地实现。
相应的情况尤其适用于第二校验值,因为该第二校验值也可以在存储器内部或在存储器外部计算。如果需要,第二校验值可以被传输给处理器用来进行比较。
在该方法的第一实施方式中,安全性受保护的存储模块在处理器的运行时间期间可写一次或者安全性受保护的存储模块可写一次。
通过安全性受保护的存储模块可写一次的方式,例如在安全性受保护的运行模式期间,尤其可以使第一校验值优选地以不能改变的方式存储在安全性受保护的存储模块中。这例如可以在处理器或使用该处理器的设备的运行时间实现一次,替代地,安全性受保护的存储模块例如可以在其整个使用寿命期间只被写一次。在这种情况下,当安全性受保护的运行模式接通时,例如尤其是可以在安全性受保护的存储模块上一次性存储第一校验值,其中安全性受保护的运行模式优选地只在制造处理器或制造使用该处理器的设备期间被接通。
在该方法的另一实施方式中,在安全性受保护的运行模式期间,附加地将机密存储在安全性受保护的存储模块中。
该方法尤其是有利的,以便例如使用附加的加密函数和/或具有机密的安全机制,例如非对称加密方法的加密公钥和/或加密私钥,和/或对称方法的对称加密密钥。借此,例如可以对用户数据进行加密或解密。
在该方法的另一实施方式中,如果在将第一校验值和第二校验值进行比较时确定一致性足够,那么在进行提供时附加地提供机密。
该方法尤其是有利的,以便例如提供加密密钥来对用户数据进行解密。由此,例如可以针对用户数据实现尽可能高的加密保护(或者也包括安全性)。
在该方法的另一实施方式中,如果在将第一校验值和第二校验值进行比较时确定一致性足够,那么将该机密用作加密函数的输入参数。
该方法尤其是有利的,以便例如提供加密密钥来对用户数据进行解密。由此,例如可以针对用户数据实现尽可能高的加密保护(或者也包括安全性)。
在该方法的另一实施方式中,在预先给定的时间段之内,等待第二校验值来进行比较,其中该预先给定的时间段尤其是借助于看门狗来计算,其中在超过该预先给定的时间段时提供控制信息。
该方法尤其是有利的,以便例如通过在预先给定的时间段之内的完整性检查强迫对用户数据的高度加密保护。
在该方法的另一实施方式中,处理器借助于在处理器内部实现的校验值函数来计算第一校验值和/或第二校验值。
该方法尤其是有利的,以便例如实现用户数据的完整性检查的尽可能高的安全性。
在该方法的另一实施方式中,利用软件组件,借助于在处理器外部实现的校验值函数来计算第一校验值和/或第二校验值。
该方法尤其是有利的,以便例如实现用户数据的完整性检查的尽可能高的安全性和灵活的实现方案。尤其是,在实现该处理器时,可以省去校验值函数的在处理器内部的实现。经此可以实现:例如可以使用极不同的校验值函数或不同的加密函数。
按照另一方面,本发明涉及一种用于对用户数据进行完整性检查的处理器。该处理器包括安全性受保护的存储模块,用于在安全性受保护的运行模式期间存储第一校验值。附加地,该处理器包括比较模块,用于在运行时间模式期间将第一校验值与第二校验值进行比较。附加地,该处理器包括提供模块,用于在运行时间模式期间提供控制信息,其中该控制信息包括比较的结果。
在该处理器的第一实施方式中,该处理器包括:第一传输模块,用于在安全性受保护的运行模式期间传输第一校验值;和/或用于在运行时间模式期间传输第二校验值。
在该处理器的另一实施方式中,安全性受保护的运行模式和/或运行时间模式都是该处理器和/或具有该处理器的设备的运行模式。
按照另一方面,本发明涉及一种用于对用户数据进行完整性检查的设备。该设备包括处理器、尤其是按照本发明的处理器,就像上文所描述的处理器。该处理器包括安全性受保护的存储模块,用于在安全性受保护的运行模式期间存储第一校验值。附加地,该处理器包括比较模块,用于在运行时间模式期间将第一校验值与第二校验值进行比较。附加地,该处理器包括提供模块,用于在运行时间模式期间提供控制信息,其中该控制信息包括比较的结果。附加地,该设备包括第一计算模块,用于在安全性受保护的运行模式期间计算关于用户数据的第一校验值。附加地,该设备包括第二计算模块,用于在运行时间模式期间计算关于用户数据的第二校验值。
在该设备的第一实施方式中,安全性受保护的运行模式和/或运行时间模式都是该处理器和/或该设备的运行模式。
在该设备的另一实施方式中,该设备包括:第二传输模块,用于在安全性受保护的运行模式期间将第一校验值传输给处理器;和/或第三传输模块,用于在运行时间模式期间将第二校验值传输给处理器。
在该设备的另一实施方式中,该设备包括处理模块,用于处理该处理器的控制信息。
此外,还要求保护一种具有用于执行所提到的按照本发明的方法的程序指令的计算机程序产品。
附加地,要求保护该计算机程序产品的变型方案,该变型方案具有程序指令,用于配置建造设备、例如3D打印机或者适合于建造处理器/设备的设备,其中该建造设备利用程序指令来配置成使得建造所提到的按照本发明的处理器或按照本发明的设备。
此外,还要求保护一种用于存储和/或提供计算机程序产品的提供装置。提供装置例如是数据载体,所述数据载体存储和/或提供计算机程序产品。替代地和/或附加地,提供装置例如是网络服务、计算机***、服务器***、尤其是分布式计算机***、基于云的计算机***和/或虚拟计算机***,其优选地以数据流的形式存储和/或提供计算机程序产品。
例如作为以程序数据块和/或指令数据块的形式的下载、优选地作为文件、尤其是作为下载文件,或者作为完整的计算机程序产品的数据流、尤其是作为下载数据流来实现所述提供。但是,所述提供例如也可以作为部分下载来实现,所述部分下载由多个部分组成并且尤其是通过对等网络来下载或者作为数据流来提供。这种计算机程序产品例如在使用以数据载体的形式的提供装置的情况下被读入到***中并且实施程序指令,使得按照本发明的方法在计算机上实施,或者建造设备被配置成使得该建造设备建造按照本发明的处理器或按照本发明的设备。
附图说明
本发明的上面描述的特性、特征和优点以及它们如何实现的方式和方法结合实施例的下面的描述更清楚并且更明显地被理解,所述实施例结合附图进一步予以阐述。在此以示意图:
图1示出了所公开的方法的第一实施例的流程图;
图2示出了第二实施例的实现所公开的方法的处理器;
图3示出了第三实施例的实现所公开的方法的处理器;
图4示出了第四实施例的实现所公开的方法的处理器;
图5示出了具有实现所公开的方法的处理器的第五实施例的设备。
在所述附图中,只要不另作说明,功能相同的元素就配备有相同的附图标记。
具体实施方式
图1示出了所公开的方法的第一实施例的流程图。
该方法能够借助于设备的处理器来执行对用户数据的完整性检查。换言之,该方法可以借助于校验值函数、例如哈希函数来检查数据或用户数据的完整性。校验值函数尤其根据具有任意长度的用户数据、例如消息来计算具有预先确定的固定长度的校验值。
为此,在第一方法步骤110中,在安全性受保护的运行模式期间计算关于用户数据的第一校验值。换言之,在也可被称作安全性受保护的运行模式的第一时间点,计算关于用户数据、例如消息的校验值、例如哈希值。第一校验值也可以被称作原始值或参考值。
在第二方法步骤120中,在安全性受保护的运行模式期间将第一校验值存储在处理器的安全性受保护的存储模块中。
安全性受保护的运行模式或者在存储第一校验值之后直接结束,或者如果需要,在结束安全性受保护的运行模式之前,首先还实施其它功能。
在结束安全性受保护的运行模式之后,接通运行时间模式。为了在运行时间模式期间检查用户数据的完整性,在第三方法步骤中,在运行时间模式期间计算关于用户数据的第二校验值。
将第二校验值传送给处理器,使得处理器可以在第四方法步骤中将第一校验值与第二校验值进行比较。替代地,可以将所需的信息、例如用户数据或用户数据的存储地址传送给处理器,使得处理器自己可以计算第二校验值并且紧接着执行第一校验值与第二校验值的比较。
换言之,在运行时间模式期间在处理器内部检查用户数据的完整性。
在已经执行第一校验值与第二校验值的比较之后,处理器在第五方法步骤150中在运行时间模式期间提供控制信息,其中该控制信息包括比较的结果。
优选地,第一校验和与第二校验和应该是相同的,使得处理器可以确认用户数据的完整性。然而,如果确定第一校验和与第二校验和的一致性不足,那么处理器例如可以利用控制信息来关断处理器或设备的功能。
换言之,在稍后的时间点、也称作运行时间模式,计算关于在该时间点当前的用户数据的第二校验值。将所确定的第二校验值与之前确定的校验值进行比较。在一致性足够的情况下,用户数据不曾被改变并且保证了用户数据的完整性。因此,通过使用校验值函数、例如哈希函数,不必比较和存储任意长的用户数据,而是只须比较和存储较短的校验值、尤其是第一校验值。在此,起决定性作用的是第一校验值在处理器中的安全存储。
通过例如该方法的借助于嵌入式***中的FPGA的实现方案,可以避免通过在处理器外部的组件、例如软件组件访问安全相关的数据、例如第一校验值。
利用该方法可能的是,以防操纵的方式将第一校验和直接存储在处理器上。这优选地可以对于处理器的每个安全性受保护的存储模块在每次运行时间都发生一次。在进行完整性检查时,将当前的校验值、例如第二校验值转交给处理器并且将其与所存储的第一校验值进行比较。在值一致时,保证了完整性。
如果校验值不一致,那么数据已被改变了。处理器例如将该结果通知给设备的***软件,该***软件接着例如可以停止实施程序代码。
例如,可以将SHA256方法或SHA3方法用作校验值函数。
在一个变型方案中,在处理器上实现用于多个第一校验值的安全性受保护的存储模块,例如基于块RAM或触发器来实现用于多个第一校验值的安全性受保护的存储模块。
在另一变型方案中,借助于比较模块、例如比较器来实现比较,以便将第一校验值和第二校验值进行比较。
在另一变型方案中,控制模块决定是应该存储校验值还是应该将校验值进行比较。控制模块例如也可以接通和/或关断安全性受保护的运行模式或者运行时间模式。
如果第一校验值已在安全性受保护的存储模块中被存储一次,那么该第一校验值优选地直至设备关断都不能被覆写,而是还只能被用于比较。
在另一变型方案中,除了第一校验值之外,还将机密存储在安全性受保护的存储模块中。这例如可以被实现为通过在处理器外部的软件组件将参数转交给处理器,在转交给处理器之后,所述在处理器外部的软件组件将该机密丢弃。如果稍后通过处理器确定第二校验值与第一校验值一致,那么处理器交还之前存储的机密。
替代地,在第二校验值正确的情况下,将该机密用于加密函数、例如数字签名或加密函数。
在另一变型方案中,在处理器中附加地实现看门狗、即如下功能,该功能针对每个所存储的第一校验值最晚在预先限定数目个时间单位之后等待提供正确的第二校验值。
如果情况不是如此,则控制信息可能会停用处理器或设备的其它模块或者功能、例如经由以太网网络和/或接口和/或加密函数和/或中央处理器的网络通信。
在另一变型方案中,处理器实现校验值函数,用于计算第一校验值和/或第二校验值。校验值函数可以主动地从工作存储器加载用户数据并且计算关于这些用户数据的第一校验值和/或第二校验值。为此,例如在安全性受保护的运行模式期间将存储地址和所要检查的字节的数目转交给处理器。接着,该处理器可以优选地在安全性受保护的运行模式期间自己计算第一校验值并且将该第一校验值存储在安全性受保护的存储模块中。
如果应该计算第二校验值,那么例如将处理器应该独立地计算第二校验值的命令传送给该处理器。处理器在运行时间模式期间借助存储地址和字节的数目来计算第二校验值并且将第一校验值与第二校验值进行比较。
替代地,处理器可以独立地定期地尤其在预先限定的或能预先限定的时间段之内在运行时间模式下关于用户数据来计算第二校验和并且紧接着将其与第一校验值进行比较。
图2示出了第二实施例的实现所公开的方法的处理器200。
处理器200包括:第一接口211,用于输入;第二接口212,用于命令输入;第三接口213,用于提供控制信息、尤其是具有比较的结果的控制信息;可选的第四接口214,用于提供控制信息、尤其是用来接通以及用来关断处理器或其中构造有处理器的设备的功能的信息;控制模块20;安全性受保护的存储模块240;以及比较模块250。控制模块230、安全性受保护的存储模块240和比较模块250都通过第一处理器内部总线彼此间通信连接。
第一接口211、第二接口212、第三接口213和第四接口214也可以构造为集成接口或者构造为两个或三个接口,视功能上的要求而定。
安全性受保护的存储模块240在安全性受保护的运行模式期间存储第一校验值。
比较模块250在运行时间模式期间将第一校验值与第二校验值进行比较。
在运行时间模式期间,通过提供模块来提供控制信息,其中控制信息包括比较的结果。
提供模块例如可以是控制模块230,或者由控制模块230和第三接口213和/或第四接口214形成。
第一接口211例如用于输入关于用户数据的用户数据信息。用户数据信息例如可以包括用户数据本身和/或存放用户数据的存储地址和/或用户数据的字节的数目(即大小声明),以便可以读取该存储地址的用户数据。
第二接口212例如用于命令输入。命令输入例如可包括:用于将校验值、例如第一校验值存储在安全性受保护的存储模块中的命令。命令输入也可以是:用于计算第一校验值和/或第二校验值的命令和/或用于执行第一校验值与第二校验值的比较的命令。
第三接口213和可选的第四接口214用于提供控制信息。视实现方案而定,可以通过第三接口213来提供第一校验值与第二校验值比较的结果。通过可选的第四接口214,例如可以借助于控制信息来关断处理器和/或包括该处理器的设备的功能。为此,控制信息例如可以包括禁止或开启相对应的功能的信息。
换言之,图2示出了在图1中描述的方法的以处理器、例如FPGA的形式的实现方案。首先,根据任意的数据或用户数据,在值得信任的时间点、这里称为安全性受保护的运行模式计算第一校验值并且将其寄送给处理器。
通过将加载命令发送到第二接口,将第一校验值存放在安全性受保护的存储模块(例如块RAM)中。这允许对存储模块上的每个存储空间优选地在处理器或设备的运行时间期间只可能进行唯一的一次。在稍后的时间点,第二校验和可以随时重新被计算并且其完整性可以通过处理器来检查。在此,当前的校验值、也称作第二校验值被寄送给处理器并且将用于使第一校验和与第二校验和进行比较的命令优选地通过第二接口传送给处理器。处理器加载相对应的第一校验值并且借助于比较器将该第一校验值与第二校验值进行比较。在一致性足够的情况下,确保了完整性并且提供控制信息,该控制信息确认第二校验和的正确性。
在校验值的一致性不足时,数据或用户数据以及相对应地其校验值已经发生变化。可选地,可以将比较的结果用于激活或停用功能、其它处理器、包括该处理器的设备的模块或者它们的组合。
图3示出了第二实施例的实现所公开的方法的处理器300。
处理器300是在图2中示出的处理器的一个变型方案。相应地,关于特征、其工作原理和技术效果的描述类似地适用于图3。
除了已知的来自图2的特征之外,处理器300还包括第五接口314、看门狗360和在处理器内部的计算模块370,所述在处理器内部的计算模块可以被构造为第一计算模块和/或第二计算模块的集成计算模块。计算模块370例如可以是控制模块230的完整组成部分。
首先,通过第一接口211将存储器中的地址和字节的数目转交给处理器,它们说明了用户数据以及用户数据的大小。紧接着,借助于计算模块370针对用户数据来计算第一校验值并且将其存放在安全性受保护的存储模块240中。从该时间点开始,看门狗360定期地利用对第二校验值的计算和第一校验值与第二校验值的比较来开始对用户数据的检查。
在校验值的一致性不足时,数据或用户数据以及相对应地其校验值已经发生变化。可选地,可以将比较的结果用于激活或停用功能、其它处理器、包括该处理器的设备的模块或者它们的组合。
图4示出了第二实施例的实现所公开的方法的处理器400。
处理器400是在图2和/或图3中示出的处理器的一个变型方案。相应地,关于特征、其工作原理和技术效果的描述类似地适用于图4。
处理器400包括第六接口410,该第六接口410形成第一接口和/或第二接口和/或第三接口和/或第四接口和/或第五接口的集成接口。
第六接口410是控制模块230的一部分或者通过第二内部总线与控制模块230连接。
控制模块230、比较模块250和安全性受保护的存储模块240借助于第一处理器内部总线来通信连接。
如已经在上文的实施例中阐述的那样,提供装置由控制模块230和/或第六接口410形成。
图5示出了如下实施例的设备500,该实施例包括之前描述的处理器之一、即实现按照本发明的方法的处理器。设备500例如可以是现场设备或测量设备。
设备500包括处理器400和计算模块520,该计算模块520尤其是形成由第一计算模块521和第二计算模块522构成的集成计算模块。计算模块520通过第三总线503与处理器400的第六接口410通信连接。
在该实施例中,关于用户数据的第一校验值由该设备在启动阶段期间借助于计算模块520、尤其是第一计算模块521来计算,并且利用相对应的命令来传送给处理器,以便将该第一校验值存放在安全性受保护的存储模块240中。
如果该设备已经结束启动阶段并且处在运行时间模式下,那么可以借助于处理器400来检查用户数据的完整性。为此,计算模块520、尤其是第二计算模块522形成第二校验值并且利用相对应的命令将该第二校验值传送给处理器400,使得该处理器400执行第二校验和与第一校验和的比较并且通过第六接口410将具有比较的结果的控制信息提供给该设备。
该设备还可以包括第七接口510,利用该第七接口510,该设备例如通过网络540、例如以太网来与工作站530连接。该工作站可包括:显示设备532、例如监视器;和输入设备、例如键盘或计算机鼠标533。
如果例如通过处理器400确定第二校验值与第一校验值的一致性不足,那么处理器可以将消息寄送给该工作站并且优选地使该设备停用。
尽管本发明已经详细地通过实施例进一步图解说明和描述,但是本发明并不限于所公开的例子,而且其它变型方案可以由本领域技术人员从中推导出来,而不脱离本发明的保护范围。

Claims (21)

1.用于借助于处理器对用户数据进行完整性检查的方法,所述方法包括如下方法步骤:
- 在安全性受保护的运行模式期间计算关于所述用户数据的第一校验值;
- 在所述安全性受保护的运行模式期间将所述第一校验值存储在所述处理器的安全性受保护的存储模块中;
- 在运行时间模式期间计算关于所述用户数据的第二校验值;
- 在所述运行时间模式期间通过所述处理器将所述第一校验值与所述第二校验值进行比较;
- 在所述运行时间模式期间通过所述处理器来提供控制信息,其中所述控制信息包括比较的结果,
其中所述安全性受保护的运行模式和所述运行时间模式是处理器(200、300、400)和/或具有所述处理器(200、300、400)的设备(500)的运行模式;
其中所述运行时间模式和所述安全性受保护的运行模式相互排斥。
2.根据权利要求1所述的方法,其中借助于FPGA对用户数据进行完整性检查。
3.根据权利要求1所述的方法,其中所述安全性受保护的存储模块在所述处理器的运行时间期间可写一次或者所述安全性受保护的存储模块可写一次。
4.根据权利要求1至3之一所述的方法,其中在所述安全性受保护的运行模式期间附加地将机密存储在所述安全性受保护的存储模块中。
5.根据权利要求4所述的方法,其中如果在将所述第一校验值和所述第二校验值进行比较时确定一致性足够,那么在进行提供时附加地提供所述机密。
6.根据权利要求4所述的方法,其中如果在将所述第一校验值和所述第二校验值进行比较时确定一致性足够,那么将所述机密用作加密函数的输入参数。
7.根据权利要求1至3之一所述的方法,其中在预先给定的时间段之内,等待所述第二校验值来进行比较,其中所述预先给定的时间段被计算,其中在超过所述预先给定的时间段时提供所述控制信息。
8.根据权利要求7所述的方法,其中所述预先给定的时间段借助于看门狗被计算。
9.根据权利要求1至3之一所述的方法,其中所述处理器借助于在处理器内部实现的校验值函数来计算所述第一校验值和/或所述第二校验值。
10.根据权利要求1至3之一所述的方法,其中利用软件组件,借助于在处理器外部实现的校验值函数来计算所述第一校验值和/或所述第二校验值。
11.用于对用户数据进行完整性检查的处理器,所述处理器具有:
- 安全性受保护的存储模块,用于在安全性受保护的运行模式期间存储第一校验值;
- 比较模块,用于在运行时间模式期间将所述第一校验值与第二校验值进行比较,其中所述第二校验值在所述运行时间模式期间被计算;
- 提供模块,用于在所述运行时间模式期间提供控制信息,其中所述控制信息包括比较的结果,
其中所述安全性受保护的运行模式和所述运行时间模式是处理器(200、300、400)和/或具有所述处理器(200、300、400)的设备(500)的运行模式;
其中所述运行时间模式和所述安全性受保护的运行模式相互排斥。
12.根据权利要求11所述的处理器,其中所述处理器包括:第一传输模块,用于在所述安全性受保护的运行模式期间传输所述第一校验值,和/或用于在所述运行时间模式期间传输所述第二校验值。
13.根据权利要求11或12所述的处理器,其中所述安全性受保护的运行模式和/或所述运行时间模式是所述处理器和/或具有所述处理器的设备的运行模式。
14.用于对用户数据进行完整性检查的设备,所述设备具有:
- 处理器,所述处理器包括
-- 安全性受保护的存储模块,用于在安全性受保护的运行模式期间存储第一校验值;
-- 比较模块,用于在运行时间模式期间将所述第一校验值与第二校验值进行比较;
-- 提供模块,用于在所述运行时间模式期间提供控制信息,其中所述控制信息包括比较的结果;
- 第一计算模块,用于在所述安全性受保护的运行模式期间计算关于所述用户数据的第一校验值;
- 第二计算模块,用于在所述运行时间模式期间计算关于所述用户数据的第二校验值。
15.根据权利要求14所述的设备,其中所述处理器是根据权利要求11-13之一所述的处理器。
16.根据权利要求14所述的设备,其中所述安全性受保护的运行模式和/或所述运行时间模式是所述处理器和/或所述设备的运行模式。
17.根据权利要求14至16之一所述的设备,其中所述设备包括:第二传输模块,用于在所述安全性受保护的运行模式期间将所述第一校验值传输给所述处理器;和/或第三传输模块,用于在所述运行时间模式期间将所述第二校验值传输给所述处理器。
18.根据权利要求14-16之一所述的设备,其中所述设备包括处理模块,用于处理所述处理器的控制信息。
19.计算机程序产品,其具有程序指令,用于执行根据权利要求1-10之一所述的方法。
20.计算机程序产品,其具有用于建造设备的程序指令,所述建造设备借助于所述程序指令来配置成使得建造根据权利要求11-13之一所述的处理器。
21.用于根据权利要求19或20所述的计算机程序产品的提供装置,其中所述提供装置存储和/或提供所述计算机程序产品。
CN201780020422.7A 2016-03-31 2017-03-17 用于用户数据的完整性检查的方法、处理器和设备 Active CN108885668B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102016205289.6 2016-03-31
DE102016205289.6A DE102016205289A1 (de) 2016-03-31 2016-03-31 Verfahren, Prozessor und Gerät zur Integritätsprüfung von Nutzerdaten
PCT/EP2017/056403 WO2017167589A1 (de) 2016-03-31 2017-03-17 Verfahren, prozessor und gerät zur integritätsprüfung von nutzerdaten

Publications (2)

Publication Number Publication Date
CN108885668A CN108885668A (zh) 2018-11-23
CN108885668B true CN108885668B (zh) 2022-11-29

Family

ID=58398158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780020422.7A Active CN108885668B (zh) 2016-03-31 2017-03-17 用于用户数据的完整性检查的方法、处理器和设备

Country Status (5)

Country Link
US (1) US11568088B2 (zh)
EP (1) EP3437012B1 (zh)
CN (1) CN108885668B (zh)
DE (1) DE102016205289A1 (zh)
WO (1) WO2017167589A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10740186B2 (en) * 2017-05-15 2020-08-11 The Boeing Company High data integrity processing system
EP3726438A1 (de) 2017-10-23 2020-10-21 Siemens Aktiengesellschaft Verfahren und steuersystem zum steuern und/oder überwachen von geräten
WO2019081434A1 (de) * 2017-10-23 2019-05-02 Siemens Aktiengesellschaft Verfahren und steuersystem zum steuern und/oder überwachen von geräten
EP3669498B1 (de) 2017-10-23 2021-04-07 Siemens Aktiengesellschaft Verfahren und steuersystem zum steuern und/oder überwachen von geräten
CN111602372B (zh) 2018-01-22 2022-12-09 西门子股份公司 用于控制和/或监控设备的方法和控制***
US11231958B2 (en) 2018-01-22 2022-01-25 Siemens Aktiengesellschaft Method and control system for controlling and/or monitoring devices
EP3763089B1 (de) 2018-04-18 2022-06-01 Siemens Aktiengesellschaft Verfahren und steuersystem zum steuern und/oder überwachen von geräten
EP3591559A1 (de) * 2018-07-03 2020-01-08 Siemens Aktiengesellschaft Steuereinheit und betriebsverfahren für eine integritätsselbstüberwachung geeignet für ein insbesondere in einer automatisierungsumgebung verwendbares gerät
DE102018215011A1 (de) 2018-09-04 2020-03-05 Audi Ag Verfahren zum Installieren eines Programmcodepakets in ein Gerät sowie Gerät und Kraftfahrzeug
CN110784323A (zh) * 2019-10-08 2020-02-11 西安极光航空航天科技有限公司 一种基于md5算法的fpga加密方法及装置
US11620184B2 (en) 2021-08-16 2023-04-04 Nxp B.V. Runtime integrity checking for a memory system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102214277A (zh) * 2010-04-01 2011-10-12 中国科学院计算技术研究所 创建多核处理器虚拟机***可信环境的方法及装置
CN103093150A (zh) * 2013-02-18 2013-05-08 中国科学院软件研究所 一种基于可信芯片的动态完整性保护方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272631B1 (en) * 1997-06-30 2001-08-07 Microsoft Corporation Protected storage of core data secrets
GB2412763A (en) * 2004-04-02 2005-10-05 Michael Joseph Murphy Score based prediction system for betting on sporting events
US7822993B2 (en) * 2004-08-27 2010-10-26 Microsoft Corporation System and method for using address bits to affect encryption
DE102005025325B4 (de) * 2005-05-31 2007-06-28 Siemens Ag Verfahren zur Übertragung und zur Überprüfung von Synchronisierungs-Nachrichten
US7681050B2 (en) * 2005-12-01 2010-03-16 Telefonaktiebolaget L M Ericsson (Publ) Secure and replay protected memory storage
DE102007038763A1 (de) 2007-08-16 2009-02-19 Siemens Ag Verfahren und Vorrichtung zur Sicherung eines Programms gegen eine Kontrollflussmanipulation und gegen einen fehlerhaften Programmablauf
DE102007040343B4 (de) 2007-08-27 2010-12-30 Siemens Ag Vorrichtung und Verfahren zum Erzeugen einer Zufallsbitfolge
US8775824B2 (en) * 2008-01-02 2014-07-08 Arm Limited Protecting the security of secure data sent from a central processor for processing by a further processing device
DE102008018678B4 (de) 2008-04-14 2011-02-03 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Erzeugen einer Zufallsbitfolge
US8464011B2 (en) * 2008-10-27 2013-06-11 Advanced Micro Devices, Inc. Method and apparatus for providing secure register access
DE102008061483A1 (de) 2008-12-10 2010-06-24 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Verarbeiten von Daten
US8555089B2 (en) * 2009-01-08 2013-10-08 Panasonic Corporation Program execution apparatus, control method, control program, and integrated circuit
CN101996445B (zh) * 2009-08-28 2015-05-13 中兴通讯股份有限公司 智能卡远程控制的方法和***
DE102010017935A1 (de) * 2010-04-22 2011-10-27 Siemens Aktiengesellschaft Vorrichtung und Verfahren zur Stabilisierung eines Strombezuges
DE102011007572A1 (de) 2011-04-18 2012-10-18 Siemens Aktiengesellschaft Verfahren zur Überwachung eines Tamperschutzes sowie Überwachungssystem für ein Feldgerät mit Tamperschutz
US8838982B2 (en) * 2011-09-21 2014-09-16 Visa International Service Association Systems and methods to secure user identification
DE102011088502B3 (de) 2011-12-14 2013-05-08 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Absicherung von Blockchiffren gegen Template-Attacken
JP5980050B2 (ja) 2012-08-29 2016-08-31 キヤノン株式会社 情報処理装置
DE102012217743B4 (de) 2012-09-28 2018-10-31 Siemens Ag Überprüfung einer Integrität von Eigenschaftsdaten eines Gerätes durch ein Prüfgerät
DE102013200017A1 (de) 2013-01-02 2014-07-03 Siemens Aktiengesellschaft RFID-Tag und Verfahren zum Betreiben eines RFID-Tags
EP2965254B1 (en) * 2013-03-08 2020-05-13 Robert Bosch GmbH Systems and methods for maintaining integrity and secrecy in untrusted computing platforms

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102214277A (zh) * 2010-04-01 2011-10-12 中国科学院计算技术研究所 创建多核处理器虚拟机***可信环境的方法及装置
CN103093150A (zh) * 2013-02-18 2013-05-08 中国科学院软件研究所 一种基于可信芯片的动态完整性保护方法

Also Published As

Publication number Publication date
WO2017167589A1 (de) 2017-10-05
US11568088B2 (en) 2023-01-31
EP3437012B1 (de) 2022-08-24
EP3437012A1 (de) 2019-02-06
DE102016205289A1 (de) 2017-10-05
US20190095647A1 (en) 2019-03-28
CN108885668A (zh) 2018-11-23

Similar Documents

Publication Publication Date Title
CN108885668B (zh) 用于用户数据的完整性检查的方法、处理器和设备
US11720503B2 (en) Technologies for secure authentication and programming of accelerator devices
US12001826B2 (en) Device firmware update techniques
CN107667347B (zh) 用于虚拟化访问由融合式可管理性和安全引擎提供的安全服务的技术
Zhao et al. Providing root of trust for ARM TrustZone using on-chip SRAM
US9191202B2 (en) Information processing device and computer program product
Eguro et al. FPGAs for trusted cloud computing
US9830456B2 (en) Trust transference from a trusted processor to an untrusted processor
US10652732B2 (en) Provisioning authentication keys in computer processor
CN107368744B (zh) 用于更新固件组件的方法以及测量和控制技术的设备
US20210224061A1 (en) Firmware update technologies
US11693969B2 (en) System and method for providing security protection for FPGA based solid state drives
US20180365411A1 (en) Method and security module for providing a security function for a device
CN113614723A (zh) 更新信号
EP3511858A1 (en) Update of mac security settings in autonomous industrial control devices
Brown Over-the-Air (OTA) Updates in Embedded Microcontroller Applications: Design Trade-Offs and Lessons Learned
CN116208353A (zh) 一种校验固件的方法、装置、网卡、芯片***及服务器
CN114637996A (zh) 用于以确保安全的方式启动计算单元的方法
CN113132330B (zh) 可信状态证明的方法、设备,证明服务器和可读存储介质
CN112424777B (zh) 工业个人计算机装置及其操作方法
Kornaros et al. Securing Dynamic Firmware Updates of Mixed-Critical Applications
US20230315913A1 (en) Multi-chip secure and programmable systems and methods
Quaresma TrustZone based Attestation in Secure Runtime Verification for Embedded Systems
CN115361132A (zh) 密钥生成方法、装置、片上***、设备及存储介质
CN114077738A (zh) 快速外设组件互联设备启动方法、装置以及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20190214

Address after: Munich, Germany

Applicant after: Siemens Mobile LLC

Address before: Munich, Germany

Applicant before: Siemens AG

CB02 Change of applicant information
CB02 Change of applicant information

Address after: Munich, Germany

Applicant after: Siemens Transportation Co.,Ltd.

Address before: Munich, Germany

Applicant before: Siemens Mobile LLC

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220215

Address after: Munich, Germany

Applicant after: SIEMENS AG

Address before: Munich, Germany

Applicant before: Siemens Transportation Co.,Ltd.

GR01 Patent grant
GR01 Patent grant