CN105095766B - 用于处理控制设备中的软件功能的方法 - Google Patents
用于处理控制设备中的软件功能的方法 Download PDFInfo
- Publication number
- CN105095766B CN105095766B CN201510243429.8A CN201510243429A CN105095766B CN 105095766 B CN105095766 B CN 105095766B CN 201510243429 A CN201510243429 A CN 201510243429A CN 105095766 B CN105095766 B CN 105095766B
- Authority
- CN
- China
- Prior art keywords
- function
- software
- manipulation
- functions
- control device
- 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
Links
- 230000006870 function Effects 0.000 title claims abstract description 65
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000015654 memory Effects 0.000 claims description 9
- 230000003213 activating effect Effects 0.000 claims description 2
- 230000009849 deactivation Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- 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
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- 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/60—Protecting data
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及用于处理控制设备(200)中的软件功能的方法和电子硬件安全模块(204)。硬件安全模块(204)检测安全功能(222)的结果并且根据结果作用于软件功能(206,208)。
Description
技术领域
本发明涉及用于处理控制设备中的软件功能的方法和用于执行该方法的电子硬件安全模块。在此,软件功能的处理尤其是理解为所述软件功能的激活和去激活。
背景技术
控制设备是电子模块,其例如被用在机动车中以便控制和调节流程。为此,将控制设备分配给机动车的组件,所述组件的运行利用所分配的控制设备监督(kontrollieren)。为此,控制设备读入由传感器检测的数据并且通过操控执行器来作用于所述运行。
所描述的方法结合电子安全模块来应用,该电子安全模块在安全性相关的领域中被使用在控制设备中、尤其是在汽车领域中。在安全性相关的领域中的大多数应用情况下,不可操纵或者不可查阅的数据存储是基本要求。在此情况下,使用密码密钥,所述密码密钥应用在对称或非对称的加密方法中。
所使用的密钥和加密方法是机密,其必须对攻击者保持是秘密的。在安全性相关的领域中的其他应用例如涉及防止未经允许的改变、例如存储改变的序列号或者公里读数、禁止未授权的调整措施(Tuningmaßnahmen)等等。
因此需要在控制设备中提供安全的环境,在所述安全的环境中可以实施必须查阅和/或改变所述机密的功能。这些环境经常具有安全的计算单元或CPU(其也可以称为安全CPU(secure CPU))以及存储模块。这样的环境这里也被称为硬件安全模块(HSM:硬件安全模块(Hardware Security Module))。该模块是具有硬件和软件组件的有效率的模块,该有效率的模块改善嵌入式系统的可信度和保护。尤其是,HSM在此支持保护安全性关键的应用和数据。利用HSM同样可以降低安全成本,而同时可以提供防攻击者的有效保护。关于HSM的基本构造参考图3。
发明内容
以此为背景,介绍根据权利要求1的方法以及具有权利要求9的特征的装置。该方法和装置的扩展方案从从属权利要求和说明书中得知。
按照所介绍的方法可能的是,HSM可以一次地或在持续运行中根据另外的安全功能的结果、例如调整识别(Tuning-Erkennung)、运行时间超过等等来激活和去激活软件任务、时间片和备用功能。
要注意的是,HSM例如在紧急运行(Notlauf)中可以通过相应的安全性准则来去激活软件功能或者软件部分用以维持剩余的功能性。必要时,还可以代替被去激活的功能而使用备用功能。这例如通过在具有关于所涉及的软件的任务信息的系统控制中的切换来实现。
通过切换,又利用标准值或默认值或者利用来自功能激活阶段的学习值(Anlern-Werten)闭合开放的接口、即被去激活的功能的输出参量。此外存在如下可能性:在备用值适配器中维持用于在稍后时刻可加载的软件、例如应用软件功能或应用程序(App)的接口。HSM在该情况下会在对应用程序成功地进行了可信度测试和认证之后去激活备用适配器或然后激活应用程序并且在任何时候都能够必要时又切换到在运行中的初始功能性。
通过使用该功能性,可以提高安全性并且能够爱惜运行时间资源。借助选择性地激活或去激活代码部分或整个时间片,可以实施确定的、例如为生产所必要的代码部分。例如可以利用作为安全锚的HSM仅仅通过测试器授权来“暂时地”激活汽车防盗锁(Wegfahrsperre)的学习(Anlernen)并且又利用下一指令“Kl15-aus(关)”将其去激活。
本发明的另外的优点和扩展方案从说明书和附图中得到。
可以理解:前面所述的以及后面还要阐述的特征不仅可以以分别所说明的组合、而且可以以其他组合或者单独地被使用,而不离开本发明的范畴。
附图说明
图1示出信任金字塔。
图2以示意图示出HSM的功能。
图3以示意图示出HSM的实施的构造。
图4示出控制设备的实施。
具体实施方式
本发明借助实施方式在附图中被示意性示出并且下面参照附图被详细描述。
然而为了信任IT系统:它总是如所预期的那样行动,需要相继地信任所有层,这些层被相互连接,以便产生可信任的IT系统。
图1示出用于典型的IT系统的信任金字塔,其被称为Trust Pyramid(信任金字塔)。该信任金字塔总体上用参考数字10表示并且包括用于组织安全性的层12、用于系统安全性的层14、用于硬件安全性的层16、用于软件安全性的层18和用于信任或Trust(信任)的最上层20。
为了能够信任整个IT系统,需要每个层能够信任处于其下的层的有效的安全性,而不能直接对此进行验证。这例如意味着:完美的软件和硬件安全性解决方案可能由于处于其下的弱的安全系统设计而证实为是无用的。此外,可能存在:可能的弱点在系统设计(Systemgestaltung)中不被检测或者通过上面的硬件和软件层被防止。
与典型的背式系统(Back-Systemen)和IT系统相比,嵌入式系统的硬件层经常遭受物理攻击,这些物理攻击通过物理装置影响硬件或软件功能,例如操纵闪速存储器或者去激活报警功能。使这样的物理攻击变得困难的方案在于:尤其是使用防操纵的硬件安全模块(HSM),如其例如在图2中所示。这样的HSM例如通过强物理屏蔽保护重要的信息、例如个人识别码(PIN)、安全密钥和关键操作、例如PIN验证、数据加密。
在下面描述可以如何构造HSM以及对于功能可以由该HSM执行什么来改善嵌入式系统的安全性。
图2示出典型的硬件安全模块的核心功能。该图示示出软件层30和硬件层32,其被保护免遭未经许可的访问。
软件层30包括一系列应用程序34,这里示出其中三个。此外,设置运行系统36。硬件层32包括嵌入式标准硬件38和硬件安全模块(HSM)40。在该HSM 40中,设置用于接口和控制的第一块42、用于安全加密功能的第二块44、用于安全功能的第三块46和安全存储器48。
安全存储器48是在防操纵的HSM 40内的小的、非易失性数据存储器,例如具有几千字节的容量,以便防止未被授权地读出、操纵或删除关键信息、诸如密码密钥、密码证书或鉴权数据、例如PIN或口令。HSM 40的安全存储器48此外包含所有HSM配置信息、例如关于HSM 40的所有者或对受保护的内部单元的访问授权的信息。
在用于安全加密功能的第二块44中包含密码算法,所述密码算法用于数据加密和数据解密(例如AES或3DES)、数据完整性增强(诸如MAC或HMAC)或者例如通过使用数字签名算法的数据起源验证(诸如RSA或ECC)以及所有所属的密码活动、诸如密钥产生、密钥验证。
在第三块46中的安全功能包括所有受保护的功能,所述功能不直接被分配给密码方法,其中HSM 40用作物理上受保护的“信任锚(Trust Anchor)”。这例如可以是物理上受保护的时钟信号、内部随机数发生器、载入程序保护机制或任何例如用于实现安全软件狗(Dongle)的关键的(kritisch)应用功能。
用于接口和控制的第一块42包括内部HSM逻辑,其实现与外部世界的HSM通信并且管理如前面所提及的所有内部基础组件的运行。
硬件安全模块40的所有功能基础组件(如前面描述的那样)由连续的物理边界包围,这防止内部数据和过程可能被窃听、复制或者模仿或操纵。这可能导致:未被授权的用户可以使用或危害内部机密。密码边界通常利用算法和物理时间信道对应措施用专用的访问保护装置来实现,例如特定的屏蔽或涂层,以便能够实现侧信道抵抗、访问提示、访问抵抗或访问应答。
下面阐明HSM 40可以如何改善嵌入式产品解决方案的安全性:
HSM 40通过物理屏蔽保护关键的信息、例如身份、签名密钥或密钥,所述屏蔽不能由于软件易受侵蚀性(Anfälligkeit)而被绕开。
HSM 40在此可以有助于检测、减弱或者妨碍强大的POI攻击者(POI:Point ofInterest(兴趣点)),其方式是,实现有效的侧信道抵抗和访问保护屏障,所述有效的侧信道抵抗和访问保护屏障尤其是具有强的访问限制,即使对于经授权的用户而言。例如一些信息总是排他地被保持在HSM 40内。
HSM 40 可以加速安全机制,其中应用确定的加速电路。
利用HSM 40可以降低安全成本,其方式是:例如对于标准化密码术,添加高度优化的专门电路。
在图3中示出了HSM的可能的构造。该图示出嵌入到环境中的HSM 70。该图示示出主计算单元72、系统总线74、带有共同待使用区域的RAM构件76和带有所分配的硬件80和接口82的测试程序78或调试程序,所述接口82又包括寄存器84。该图示此外示出带有数据区域88和安全区域90的用于闪速代码的存储构件86,在所述安全区域中包含安全的核心数据。
在HSM 70中设置有至测试程序78的接口100、安全计算核102、安全RAM构件104、随机发生器106、例如TRNG或PRNG以及密钥108、例如AES。
在介绍的方法中,可以由HSM来分析已经存在的用于识别操纵的机制,例如利用实时数据跟踪(Real Time Track Data(实时跟踪数据);RTTD)、或者超过存储边界(例如借助MPU、超级监视器(Hypervisor))以及运行时间边界(例如借助看门狗、运行系统)并且必要时从中导出功能的去激活或至备用功能的切换。
例如通过MPU确定出该功能是否离开分配给其的存储区域。可代替地或补充地,可以通过看门狗来确定出该功能是否违反对运行时间的要求。在此,在主计算核的运行系统和HSM之间存在紧密联系,也即HSM可以有规律地给运行系统给出信息:是否允许实施功能。
为了激活新的功率特征或特征,使用现有的安全基础设施。在该概念情况下,对新特征的事后编程是可能的。要注意的是:迄今要激活的特征已经是车载的(onboard)。如果重新安装的应用程序不正确地起作用,则可以又切换回先前的软件。
图4示出控制设备的实施,该控制设备总体上用参考数字200来表示。该控制设备200包括主计算单元(核)202和电子硬件安全模块(HSM)204。在主计算单元202中存放第一软件功能206、即功能A和第二软件功能208、即功能A’。此外,设置有用于执行关于运行时间的软件功能206和208的存储器210。
在HSM 204中设置有安全的计算单元212,其被保护免遭从外部攻击并且符合对此确定的安全要求。
如果记录违背220、例如对软件功能206或208之一的未经允许的访问或运行时间违反、也即超过运行时间边界,其中这可以由主计算单元202或者由HSM 204识别,则这在安全的计算单元212内在是安全功能222的评估逻辑中被分析并且分析的结果被转交给安全的计算单元212内的开关单元224。该开关单元224说明要激活或去激活哪些软件功能206或208,其中这基于安全要求的评估或基于要激活哪些功能的考虑来进行。在所示的例子中,激活226第一软件功能206并且去激活228第二软件功能208。
此外,用于备用功能的从安全的计算单元212学习的输出值230被转交给软件功能206和208,在该情况下被转交给激活的第一软件功能206。
也可以规定,HSM 204有规律地向主计算单元202给出信息:是否允许执行软件功能206和208。
Claims (4)
1.用于处理机动车中的控制设备(200)中的软件功能(206,208)的方法,该控制设备具有防操纵的硬件安全模块(40,70,204),其中所述防操纵的硬件安全模块(40,70,204)检测安全功能的结果并且根据所述结果作用于所述软件功能(206,208),所述软件功能(206,208)在所述控制设备(200)中在主计算单元(202)上实施,其中所述防操纵的硬件安全模块(40,70,204)能够一次地或在持续运行中根据另外的安全功能的结果来激活和去激活软件任务、时间片和备用功能,其中在所述防操纵的硬件安全模块(40,70,204)内总是排他地保持不允许被操纵的关键信息,
其中所述防操纵的硬件安全模块(40,70,204)
识别操纵,
确定所述软件功能(206,208)是否超过分配给其的存储区域边界,和/或
确定所述软件功能(206,208)是否违反对运行时的要求,以及
如果所述防操纵的硬件安全模块(40,70,204)识别了所述操纵、确定了存储边界的超过和/或运行时的违反,则去激活所述软件功能(206,208)或切换到备用功能。
2.根据权利要求1所述的方法,其中,所述软件功能(206,208)被激活。
3.根据权利要求1至2之一所述的方法,其中,所述控制设备(200)的主计算单元(202)的HSM(40,70,204)有规律地给出关于是否允许实施所述软件功能(206,208)的信息。
4.用于处理控制设备(200)中的软件功能(206,208)的电子硬件安全模块,用于执行根据权利要求1至3之一所述的方法,具有安全计算单元(212),其被设计用于检测安全功能(222)的结果并且根据所述结果作用于所述软件功能(206,208),所述软件功能(206,208)在所述控制设备(200)中在主计算单元(202)上实施。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014208840.2A DE102014208840A1 (de) | 2014-05-12 | 2014-05-12 | Verfahren zum Behandeln von Software-Funktionen in einem Steuergerät |
DE102014208840.2 | 2014-05-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105095766A CN105095766A (zh) | 2015-11-25 |
CN105095766B true CN105095766B (zh) | 2020-10-09 |
Family
ID=54336606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510243429.8A Active CN105095766B (zh) | 2014-05-12 | 2015-05-11 | 用于处理控制设备中的软件功能的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20150324610A1 (zh) |
CN (1) | CN105095766B (zh) |
DE (1) | DE102014208840A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3291119B1 (en) * | 2016-08-31 | 2020-05-06 | Bayerische Motoren Werke Aktiengesellschaft | Automotive monitoring and security system |
CN106951739B (zh) * | 2017-03-23 | 2018-10-30 | 北京深思数盾科技股份有限公司 | 软件许可管理方法及软件许可锁 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835765A (en) * | 1995-05-31 | 1998-11-10 | Mitsubishi Denki Kabushiki Kaisha | Computer operation management system for a computer operating system capable of simultaneously executing plural application programs |
CN1680924A (zh) * | 2004-04-07 | 2005-10-12 | 国际商业机器公司 | 冗余控制器仲裁方法和系统 |
CN101566943A (zh) * | 2008-04-24 | 2009-10-28 | 深圳市同洲电子股份有限公司 | 一种控制终端软件功能的方法、终端和系统 |
CN102663294A (zh) * | 2011-03-31 | 2012-09-12 | 卡巴斯基实验室封闭式股份公司 | 计算机网络中的软件许可使用的自动分析 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040039891A1 (en) * | 2001-08-31 | 2004-02-26 | Arkivio, Inc. | Optimizing storage capacity utilization based upon data storage costs |
KR101907486B1 (ko) * | 2012-09-14 | 2018-10-12 | 한국전자통신연구원 | 보안성이 우수한 실행환경을 제공하는 이동 컴퓨팅 시스템 |
-
2014
- 2014-05-12 DE DE102014208840.2A patent/DE102014208840A1/de active Pending
-
2015
- 2015-05-11 CN CN201510243429.8A patent/CN105095766B/zh active Active
- 2015-05-12 US US14/710,063 patent/US20150324610A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835765A (en) * | 1995-05-31 | 1998-11-10 | Mitsubishi Denki Kabushiki Kaisha | Computer operation management system for a computer operating system capable of simultaneously executing plural application programs |
CN1680924A (zh) * | 2004-04-07 | 2005-10-12 | 国际商业机器公司 | 冗余控制器仲裁方法和系统 |
CN101566943A (zh) * | 2008-04-24 | 2009-10-28 | 深圳市同洲电子股份有限公司 | 一种控制终端软件功能的方法、终端和系统 |
CN102663294A (zh) * | 2011-03-31 | 2012-09-12 | 卡巴斯基实验室封闭式股份公司 | 计算机网络中的软件许可使用的自动分析 |
Also Published As
Publication number | Publication date |
---|---|
DE102014208840A1 (de) | 2015-11-12 |
US20150324610A1 (en) | 2015-11-12 |
CN105095766A (zh) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105094082B (zh) | 用于执行在控制设备之间的通信的方法 | |
CN105892348B (zh) | 用于运行控制设备的方法 | |
CN111095213B (zh) | 嵌入式程序的安全引导方法、装置、设备及存储介质 | |
US10762177B2 (en) | Method for preventing an unauthorized operation of a motor vehicle | |
US11132468B2 (en) | Security processing unit of PLC and bus arbitration method thereof | |
US9680643B2 (en) | System and method for the secure transmission of data | |
US20070237325A1 (en) | Method and apparatus to improve security of cryptographic systems | |
KR20090095843A (ko) | 보안 기능을 갖는 프로세서 장치 | |
CN108885668A (zh) | 用于用户数据的完整性检查的方法、处理器和设备 | |
EP2484564A1 (en) | Method and apparatus for vehicle security | |
US10303886B2 (en) | Component for processing a protectable datum and method for implementing a security function for protecting a protective datum in such a component | |
CN101398872A (zh) | 保护口令免受未授权访问的方法和数据处理单元 | |
US10291402B2 (en) | Method for cryptographically processing data | |
CN110750791B (zh) | 基于内存加密保障可信执行环境抗物理攻击的方法及系统 | |
JP2008276749A (ja) | プログラミング可能なデータ処理装置用の保護ユニット | |
JP2019185575A (ja) | 制御装置および制御方法 | |
EP3040896A1 (en) | Secure element | |
CN105095766B (zh) | 用于处理控制设备中的软件功能的方法 | |
US9483665B2 (en) | Method for monitoring an electronic security module | |
CN105094004B (zh) | 用于运行控制设备的方法 | |
US11036846B2 (en) | Control device | |
US11334689B2 (en) | Apparatus and method for operating a software-configured processing unit for a device | |
Nasser | Securing safety critical automotive systems | |
RU2007148810A (ru) | Способ доверенной загрузки операционной системы программно-аппаратного комплекса |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |