CN113785294A - 用于以改进的数据安全性传输启动代码的方法和装置 - Google Patents
用于以改进的数据安全性传输启动代码的方法和装置 Download PDFInfo
- Publication number
- CN113785294A CN113785294A CN202080032789.2A CN202080032789A CN113785294A CN 113785294 A CN113785294 A CN 113785294A CN 202080032789 A CN202080032789 A CN 202080032789A CN 113785294 A CN113785294 A CN 113785294A
- Authority
- CN
- China
- Prior art keywords
- microcontroller
- programming device
- bootloader
- encrypted
- public key
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 65
- 238000012546 transfer Methods 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 description 15
- 238000005259 measurement Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 description 3
- 239000006185 dispersion Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 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
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 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
-
- 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
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种用于以改进的数据安全性从编程设备(10)向微控制器(20)传送启动代码的方法。该方法包括以下步骤:a)创建第一公钥、第一私钥和密码;b)生成用于在该微控制器(20)上执行的启动加载程序二进制文件、该启动加载程序二进制文件至少包括引导程序、该密码、通过该密码加密的该第一公钥、以及一组通过该密码加密的启动加载程序例程;c)估计可容忍的总处理持续时间,其由步骤d)至f)的处理持续时间组成;d)将该启动加载程序二进制文件从该编程设备(10)传送到该微控制器(20);e)通过该微控制器(20)执行该引导代码、该用于解密通过该密码加密的该启动加载程序例程的解密例程、以及解密后的启动加载程序例程;f)至少将该第二公钥从该微控制器(20)传送到该编程设备(10);g)如果步骤d)至f)的实际处理持续时间在该可容忍的总处理持续时间之外,则中止该方法;h)否则,该编程设备(10)通过该第二公钥加密该启动代码并将加密后的启动代码从该编程设备(10)传送到该微控制器(20)。
Description
技术领域
本发明涉及一种用于以改进的数据安全性从编程设备向微控制器传输启动代码的方法。本发明还涉及一种编程设备和微控制器。本发明此外还涉及一种用途、程序元素和计算机可读介质。
背景技术
尚未安装有任何可执行软件或固件的微控制器需要基本软件或固件(即所谓的启动代码)才能执行其功能。由于(至少在某些情况下)这是需要保密的软件,它至少在某些情况下是加密形式的。由于加密的软件本身无法在计算机或微控制器上执行,因此必须提供解密软件才能启动启动代码。传输该解密软件使得解密软件和加密的启动代码均易受到潜在攻击者的安全相关动作的影响,例如盗窃、不受控制的复制和/或修改解密软件和/或启动代码。
发明内容
本发明的目的是,至少提高在某些所提及动作的情况下的传输安全性。
所述目的借助于独立专利权利要求的主题来实现。本发明的发展将从从属权利要求和随后的描述中显现。
根据第一方面,描述了一种用于以改进的数据安全性将软件从编程设备传输到微控制器的方法。
微控制器是被设计为或适合于执行预定义控制任务的计算机。在至少一些实施例中,微控制器可以被设计为或适合用作所谓的“通用计算机”,例如具有个人计算机的任务。微控制器可以是专用计算机或者可能是标准计算机,和/或使用标准软件和/或专用软件来执行其预期任务中的至少一些任务。软件可以是例如软件、固件、微代码、FPGA可读指令和/或文件,它们可以或可能使用微控制器的某个组件来确定其序列。启动代码可以包含值得保护和/或可能需要保密的想法和/或例程。启动代码可以是加密形式,和/或可以以加密形式传输。
编程设备是至少适合于向微控制器传输软件、固件和/或其他文件的计算机。编程设备还适合于执行基于随机数生成的例程。编程设备被归类为受信任。此外,编程设备具有至少一个启动代码和一个解密软件,如果必要的话,在至少一个进一步的解密之后,它们可以在微控制器上执行。启动代码可以通过未被归类为受信任的线路从编程设备传输到微控制器。
该用于以改进的数据安全性从编程设备向微控制器传输启动代码的方法具有以下步骤:
a)通过该编程设备创建第一公钥、第一私钥和密码。
公钥/私钥对用作加密的依据。创建密钥和密码可以包括使用标准例程和/或使用特殊硬件来生成公钥/私钥对和随机数。
b)通过该编程设备生成用于在该微控制器上执行的启动加载程序二进制文件,该启动加载程序二进制文件至少包括:
-用于在该微控制器上执行的引导加载程序,
-该密码,
-通过该密码加密的该第一公钥,
-一组通过该密码加密的、用于在该微控制器上执行的启动加载程序例程,该组加密的启动加载程序例程包括:
用于生成第二公钥和第二私钥的生成例程,以及用于解密至少该第一公钥的解密例程;
-用于在该微控制器上执行的解密例程,其用于解密这些通过该密码加密的启动加载程序例程;
启动加载程序二进制文件可以实现为枚举软件部分的编译或这些部分的链。在修改中,这组通过密码加密的启动加载程序例程可以包括其他和/或进一步的例程,并且尤其可以是更广泛的。至少该引导加载程序具有可直接在微控制器上执行的代码。加密该组加密的启动加载程序例程可用于例如防止基本上在传输期间或在传输时间期间对启动加载程序例程进行操纵(“即时操纵”)。
c)通过该编程设备估计可容忍的总处理时间,其由步骤d)至f)的处理时间组成。
下文详细描述的步骤d)至f)基本上包括从编程设备到微控制器的第一数据量的传输时间、从微控制器到编程设备的第二数据量的传输时间、以及(例如包含在上述启动加载程序二进制文件中的)预定义例程的定义处理时间。如果启动加载程序二进制文件包括比上述例程更多或更少的待执行例程,则总处理时间可以相应地改变。“通过该编程设备”估计可容忍的总处理时间可以例如通过编程设备上的(例如使用文件大小的估计值的)例程来执行。该估计值可以基于一系列测量,这些测量重复测量用于说明性传输的步骤d)至f)的总处理时间(或在估计值之前已经对其进行测量)并使用这个总处理时间例如来确定该说明性传输的最大值和/或时间弥散。该估计可以例如由开发者执行和/或通过工具来支持。根据这一系列测量和/或通过其他方法确定和/或估计的总处理时间被传送到编程设备;编程设备将此时间用作估计的总处理时间。还可以根据这一系列测量(例如,根据所测量的时间弥散和/或其他因素)确定可容忍的总处理时间。
d)将该启动加载程序二进制文件从该编程设备传输到该微控制器。
启动加载程序二进制文件包含上述数据,或者在修改中包含更多或更少的数据或待执行例程。在修改中,密码也可以与启动加载程序二进制文件的其他部分分开传输;这可能会影响所估计的总处理时间。
e)通过该微控制器执行
该引导加载程序代码,
该用于解密这些通过该密码加密的启动加载程序例程的解密例程,以及
解密后的启动加载程序例程。
引导加载程序具有可直接在微控制器上执行的代码。引导加载程序例如可以首先执行“开始代码”,这可以例如取决于微控制器的细节。引导加载程序然后可以执行解密例程以解密这些通过密码加密的启动加载程序例程。启动加载程序二进制文件中包含(或以其他方式传达)的密码可用于解密这些例程。然后,或者可能在预定义的暂停之后,可以执行启动加载程序例程。如果启动加载程序二进制文件包含上述例程,则在微控制器上执行以下启动加载程序例程:
-用于生成第二公钥/私钥对(并且可能用于通过第一公钥加密第二公钥)的生成例程,以及
-用于解密第一公钥的解密例程。
f)将该(可能加密后的)第二公钥从该微控制器传输到该编程设备。
g)如果步骤d)至f)的实际处理时间在该可容忍的总处理时间之外,则终止该方法。
该方法的上述步骤的运行和/或传输时间——以及可能还有其预定义的变化——可以在狭窄的框架内预先确定和/或(例如在上述一系列测量中)以小的偏差测量。例如,步骤d)至f)的可容忍的总处理时间可以例如根据测量的时间弥散和/或其他因素(例如在狭窄的时间范围内)从一系列处理时间的测量中确定。然后,可以将该可容忍的总处理时间与实际处理时间进行比较。因此,编程设备可以例如从步骤d)开始等待步骤f)的传输结束,只要其已被确定为可容忍的总处理时间。
h)如果步骤d)至f)的实际处理时间在该可容忍的总处理时间之内,则该编程设备通过该第二公钥加密该启动代码,并将加密后的启动代码从该编码设备传输到该微控制器。
因此,所描述的方法可用于更安全地将启动代码传输到微控制器。这至少显著阻碍和/或防止攻击者同时读取、修改启动加载程序二进制文件,和/或将修改的启动加载程序二进制文件而不是原始启动加载程序二进制文件加载到微控制器上。即使潜在的攻击者能够同时读取和/或实时操纵编程设备与微控制器之间(以及相反的方向上)的通信,该优点仍然存在。这是因为例如严格的时间限制(和检查)意味着例如潜在攻击者对传输的中断将被注意到。此外,操纵所需的动作将花费太长时间,因此将会被注意到。这些动作可以包括例如读取、识别、操纵和传输被操纵的启动加载程序二进制文件。加密后的启动代码也难以读取且难以用于微控制器的未授权编程。
在一个实施例中,该可容忍的总处理时间由最大总处理时间、最小总处理时间、或最大总处理时间与最小总处理时间之间的时间窗定义。
该实施例例如可以检测潜在攻击者是否中断传输和/或例如使用例程来替换启动加载程序二进制文件的部分,因为这会导致步骤d)至f)花费太长时间,即超过可容忍的总处理时间。该实施例还可以检测在步骤d)中发现传输之后,潜在攻击者是否如步骤f)中所预期的那样执行传输(或者“立即”执行传输),因为该传输将能够比最小总处理时间更快地发生。使用时间窗可以结合这些优点。
在一些实施例中,(启动加载程序二进制文件中的)该组加密的启动加载程序例程进一步包括用于产生预定义持续时间的暂停的例程。除了上述启动加载程序例程之外,该例程在步骤e)中在微控制器上执行。这些实施例可以具有改变的总处理时间。
该例程可以包括对定义长度的命令的预定义重复次数。可以通过随机数发生器选择暂停的持续时间。暂停的持续时间可以在预定义的最小长度与最大长度之间。暂停的持续时间只有编程设备知道;因此,该实施例允许进一步提高通过检查总处理时间而提高的安全性。
在一些实施例中,(启动加载程序二进制文件中的)该组加密的启动加载程序例程进一步包括读保护例程。除了上述启动加载程序例程之外,该例程在步骤e)中在微控制器上执行。这些实施例可以具有改变的总处理时间。
该例程可以例如包括设置确定对存储器的某些区域或微控制器的整个存储器的读保护的寄存器。这可以防止读取例如微控制器的启动代码和/或其他存储器区域。
在一些实施例中,该组启动加载程序例程进一步包括用于读取微控制器的序号的例程,并且启动代码进一步包括该序号,具有以下进一步的步骤:
f1)还将该序号从微控制器传输到编程设备。这些实施例可以具有改变的总处理时间。
例如,这可以保证启动代码仅在该微控制器上执行——或者可能在一系列微控制器上执行。该序号还可以用于启动代码的(例如对于一系列微控制器有用和/或需要的)进一步特定修改。
在一个实施例中,启动加载程序二进制文件进一步包括第一公钥。此外,本实施例包括以下步骤:
f2)如果该微控制器发送的第一公钥与编程设备发送的第一公钥不同,则终止该方法。
步骤f2)在步骤f)以及可能在步骤f1)之后,并且在步骤g)和h)之前执行。本实施例可以具有改变的总处理时间。
这种检查进一步提高了检测到操纵的概率。
另一方面涉及一种用于以改进的数据安全性将启动代码传输到微控制器的编程设备,该编程设备被设计为
创建第一私钥和密码;
生成用于在该微控制器上执行的启动加载程序二进制文件,该启动加载程序二进制文件至少包括:
-引导加载程序,
-该密码,
-通过该密码加密的该第一公钥,
-一组通过该密码加密的、用于在该微控制器上执行的启动加载程序例程,该组加密的启动加载程序例程包括:
用于生成第二公钥和第二私钥的生成例程,以及
用于解密该第一公钥的解密例程;以及
-用于在该微控制器上执行的解密例程,其用于解密这些通过该密码加密的启动加载程序例程;
估计可容忍的总处理时间;
将该启动加载程序二进制文件从该编程设备发送到该微控制器;
从该微控制器接收至少一个第二公钥;
如果从发送该启动加载程序二进制文件到接收该第二公钥的实际处理时间在该可容忍的总处理时间之外,则终止该方法;以及
如果从发送该启动加载程序二进制文件到接收该第二公钥的实际处理时间在该可容忍的总处理时间之内,则通过该第二公钥加密该启动代码并将加密后的启动代码发送到该微控制器。
另一方面涉及一种用于以改进的数据安全性从编程设备传输启动代码的微控制器,该微控制器被设计为
从该编程设备接收启动加载程序二进制文件,该启动加载程序二进制文件包括至少一个引导加载程序代码、该密码、用于解密通过该密码加密的启动加载程序例程的解密例程、以及一组通过该密码加密的启动加载程序例程;
执行引导加载程序代码、解密例程和解密后的启动加载程序例程;
至少将该第二公钥发送到该编程设备;以及
从该编程设备接收加密后的启动代码。
另一方面涉及如上文和/或下文所述的编程设备、如上文和/或下文所述的微控制器、和/或如上文和/或下文所述的用于以改进的数据安全性从编程设备向微控制器传输启动代码的方法的用途。
另一方面涉及一种程序元素,当在编程设备上执行时,其指示该编程设备执行如上文和/或下文所述的方法。
另一方面涉及一种其上存储有如上所述的程序元素的计算机可读介质。
附图说明
为了进一步阐明,将基于附图中所示的实施例来描述本发明。这些实施例旨在仅应被理解为示例而不是限制。
图1示意性地示出了根据实施例的消息序列图。
具体实施方式
图1示出了消息序列图(MSC)100,其示意性地概述了用于以改进的数据安全性从编程设备10向微控制器20传输启动代码的方法的实施例。编程设备10是至少适合于向微控制器传输软件、固件和/或其他文件的计算机。此外,编程设备10适合于执行基于随机数生成的例程。微控制器20是被设计为或适合于执行预定义控制任务的计算机。为此,微控制器20需要基本软件或固件(即所谓的启动代码)才能执行其功能。如果微控制器20上还没有任何可执行软件或固件,则微控制器20需要基本软件或固件,即所谓的启动代码。
在步骤101中,编程设备10创建第一公钥、第一私钥和密码。在步骤102中,编程设备10生成适合在微控制器20上执行的启动加载程序二进制文件。启动加载程序二进制文件至少包括用于在微控制器20上执行的引导加载程序、密码、通过该密码加密的第一公钥、一组通过该密码加密的、适合在微控制器20上执行的启动加载程序例程,以及适合在微控制器上执行、用于解密这些通过该密码加密的启动加载程序例程的解密例程。该组加密的启动加载程序例程包括至少一个用于生成第二公钥和第二私钥的生成例程,以及
用于解密第一公钥的解密例程。此外,该组加密的启动加载程序例程可以可选地例如还包括用于产生预定义持续时间的暂停的例程、读保护例程、用于读取微控制器的序号的例程、和/或适合在微控制器20上执行的进一步例程。该暂停有利地通过执行具有作为相应微控制器特征的运行时行为的功能来产生。因此,暂停持续时间应理解为微控制器的可识别特征。
在步骤103中,编程设备10估计可容忍的总处理时间110,其由随后的步骤104至106的处理时间(由虚线框110标记)组成。该估计可以例如访问先前执行的一系列测量的时间段的统计。在步骤104中,启动加载程序二进制文件从编程设备10传输到微控制器20。该传输可以例如由编程设备10发起和/或执行。
在步骤105中,微控制器20执行引导加载程序代码、用于解密这些通过密码加密的启动加载程序例程的解密例程、以及该组通过密码加密的启动加载程序例程的至少一部分。在步骤106中,至少将第二公钥从微控制器20传输到编程设备10。传输可以例如由微控制器20发起和/或执行。
在步骤107中,编程设备10检查步骤104到106的实际处理时间。如果步骤104至106的实际处理时间在可容忍的总处理时间之外,则该方法终止(在MSC中未示出)。根据启动加载程序例程和/或进一步的合理性检查和/或检查,该方法也可以在其他点终止。
如果步骤104至106的实际处理时间在可容忍的总处理时间之内,则通过第二公钥对启动代码进行加密,并且在步骤108中,将加密的启动代码从编程设备10传输到微控制器20。在步骤109中,然后可以在微控制器20上执行启动代码和/或进一步的程序段。
附图标记清单
10 编程设备
20 微控制器
100 消息序列图(MSC)
101-109 步骤
110 可容忍的总处理时间
Claims (11)
1.一种用于以改进的数据安全性从编程设备(10)向微控制器(20)传输启动代码的方法,具有以下步骤:
a)通过该编程设备(10)创建第一公钥、第一私钥和密码;
b)通过该编程设备(10)生成用于在该微控制器(20)上执行的启动加载程序二进制文件,该启动加载程序二进制文件至少包括:
-用于在该微控制器(20)上执行的引导加载程序,
-该密码,
-通过该密码加密的该第一公钥,
-一组通过该密码加密的、用于在该微控制器(20)上执行的启动加载程序例程,该组加密的启动加载程序例程包括:
用于生成第二公钥和第二私钥的生成例程,以及
用于解密该第一公钥的解密例程;以及
-用于在该微控制器上执行的解密例程,其用于解密这些通过该密码加密的启动加载程序例程;
c)通过该编程设备(10)估计可容忍的总处理时间,其由步骤d)至f)的处理时间组成;
d)将该启动加载程序二进制文件从该编程设备(10)传输到该微控制器(20);
e)通过该微控制器(20)执行
该引导加载程序代码,
该用于解密这些通过该密码加密的启动加载程序例程的解密例程,以及
解密后的启动加载程序例程;
f)至少将该第二公钥从该微控制器(20)传输到该编程设备(10);
g)如果步骤d)至f)的实际处理时间在该可容忍的总处理时间之外,则终止该方法;以及
h)如果步骤d)至f)的实际处理时间在该可容忍的总处理时间之内,
则该编程设备(10)通过该第二公钥加密该启动代码并将加密后的启动代码从该编程设备(10)传输到该微控制器(20)。
2.如权利要求1所述的方法,
其中,该可容忍的总处理时间由最大总处理时间、最小总处理时间、或最大总处理时间与最小总处理时间之间的时间窗定义。
3.如权利要求1或2所述的方法,
其中,该组加密的启动加载程序例程进一步包括用于产生预定义持续时间的暂停的例程。
4.如前述权利要求之一所述的方法,
其中,该组加密的启动加载程序例程进一步包括读保护例程。
5.如前述权利要求之一所述的方法,
其中,该组启动加载程序例程进一步包括用于读取该微控制器的序号的例程,以及
其中,该启动代码进一步包括该序号,具有以下进一步的步骤:
f1)还将该序号从该微控制器(20)传输到该编程设备(10)。
6.如前述权利要求之一所述的方法,其中,该启动加载程序二进制文件进一步包括该第一公钥,具有以下进一步的步骤:
f2)如果该微控制器(20)发送的该第一公钥与该编程设备(10)发送的该第一公钥不同,则终止该方法。
7.一种用于以改进的数据安全性将启动代码传输到微控制器(20)的编程设备(10),该编程设备(10)被设计为
创建第一私钥和密码;
生成用于在该微控制器(20)上执行的启动加载程序二进制文件,该启动加载程序二进制文件至少包括:
-引导加载程序,
-该密码,
-通过该密码加密的该第一公钥,
-一组通过该密码加密的、用于在该微控制器(20)上执行的启动加载程序例程,该组加密的启动加载程序例程包括:
用于生成第二公钥和第二私钥的生成例程,以及
用于解密该第一公钥的解密例程;以及
-用于在该微控制器上执行的解密例程,其用于解密这些通过该密码加密的启动加载程序例程;
估计可容忍的总处理时间;
将该启动加载程序二进制文件从该编程设备(10)发送到该微控制器(20);
从该微控制器(20)接收至少一个第二公钥;
如果从发送该启动加载程序二进制文件到接收该第二公钥的实际处理时间在该可容忍的总处理时间之外,则终止该方法;以及
如果从发送该启动加载程序二进制文件到接收该第二公钥的实际处理时间在该可容忍的总处理时间之内,则通过该第二公钥加密该启动代码并将加密后的启动代码发送到该微控制器(20)。
8.一种用于以改进的数据安全性从编程设备(10)传输启动代码的微控制器(20),该微控制器(20)被设计为
从该编程设备(10)接收启动加载程序二进制文件,该启动加载程序二进制文件包括至少一个引导加载程序代码、该密码、用于解密通过该密码加密的启动加载程序例程的解密例程、以及一组通过该密码加密的启动加载程序例程;
执行引导加载程序代码、解密例程和解密后的启动加载程序例程;
至少将该第二公钥发送到该编程设备(10);以及
从该编程设备(10)接收加密后的启动代码。
9.如权利要求7所述的编程设备(10)、如权利要求8所述的微控制器(20)和/或如权利要求1至6之一所述的一种用于以改进的数据安全性从该编程设备(10)向该微控制器(20)传输启动代码的方法的用途。
10.一种程序元素,当在编程设备(10)上执行时,其指示该编程设备(10)执行如权利要求1至6之一所述的方法。
11.一种计算机可读介质,其上存储有如权利要求10所述的程序元素。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019206302.0A DE102019206302A1 (de) | 2019-05-02 | 2019-05-02 | Verfahren und Vorrichtung zum Übertragen eines Boot-Codes mit verbesserter Datensicherheit |
DE102019206302.0 | 2019-05-02 | ||
PCT/EP2020/061814 WO2020221776A1 (de) | 2019-05-02 | 2020-04-29 | Verfahren und vorrichtung zum übertragen eines boot-codes mit verbesserter datensicherheit |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113785294A true CN113785294A (zh) | 2021-12-10 |
Family
ID=70480271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080032789.2A Pending CN113785294A (zh) | 2019-05-02 | 2020-04-29 | 用于以改进的数据安全性传输启动代码的方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220292206A1 (zh) |
EP (1) | EP3963490B1 (zh) |
CN (1) | CN113785294A (zh) |
DE (1) | DE102019206302A1 (zh) |
WO (1) | WO2020221776A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485757A (zh) * | 2021-07-22 | 2021-10-08 | 北京青云科技股份有限公司 | 一种系统启动过程中的解密方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1771691A (zh) * | 2003-05-29 | 2006-05-10 | 意大利电信股份公司 | 用于网络设备的安全管理的方法、系统和计算机程序 |
CN101206704A (zh) * | 2006-12-20 | 2008-06-25 | 汤姆森许可贸易公司 | 用于安全软件安装的方法及设备 |
CN105812388A (zh) * | 2016-05-13 | 2016-07-27 | 中国农业银行股份有限公司 | 一种用户证书和私钥的管理方法和系统 |
US20170111354A1 (en) * | 2015-10-16 | 2017-04-20 | International Business Machines Corporation | Method for booting and dumping a confidential image on a trusted computer system |
CN107395610A (zh) * | 2017-08-07 | 2017-11-24 | 维沃移动通信有限公司 | 一种通讯认证方法、第一终端及第二终端 |
CN107395552A (zh) * | 2016-05-17 | 2017-11-24 | 中兴通讯股份有限公司 | 一种数据传输方法及装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10008974B4 (de) * | 2000-02-25 | 2005-12-29 | Bayerische Motoren Werke Ag | Signaturverfahren |
DE10249597A1 (de) * | 2002-10-24 | 2004-07-15 | Giesecke & Devrient Gmbh | Steuern eines Speicherbereinigungsvorgangs |
US20090204801A1 (en) * | 2008-02-11 | 2009-08-13 | Nvidia Corporation | Mechanism for secure download of code to a locked system |
EP2384482A1 (en) * | 2009-01-05 | 2011-11-09 | Freescale Semiconductor, Inc. | Method, system and integrated circuit for enabling access to a memory element |
WO2013046068A1 (en) * | 2011-09-30 | 2013-04-04 | International Business Machines Corporation | Provisioning of operating systems to user terminals |
US9396335B2 (en) * | 2012-08-28 | 2016-07-19 | Dell Products, Lp | Arbitrary code execution and restricted protected storage access to trusted code |
US20150067314A1 (en) * | 2013-08-30 | 2015-03-05 | Timothy J. Strauss | Secure firmware flash controller |
US9866388B2 (en) * | 2014-11-20 | 2018-01-09 | BluInk Ltd. | Portable device interface methods and systems |
DE102015011920A1 (de) * | 2015-09-03 | 2017-03-09 | Continental Automotive Gmbh | Verfahren zur Überprüfung der Datenintegrität einer C2C Übertragung |
US10069633B2 (en) * | 2016-09-30 | 2018-09-04 | Data I/O Corporation | Unified programming environment for programmable devices |
KR102176378B1 (ko) * | 2018-12-07 | 2020-11-10 | 현대오트론 주식회사 | 차량 제어기의 보안 강화 방법 및 장치 |
-
2019
- 2019-05-02 DE DE102019206302.0A patent/DE102019206302A1/de active Pending
-
2020
- 2020-04-29 WO PCT/EP2020/061814 patent/WO2020221776A1/de unknown
- 2020-04-29 US US17/608,001 patent/US20220292206A1/en active Pending
- 2020-04-29 EP EP20723087.1A patent/EP3963490B1/de active Active
- 2020-04-29 CN CN202080032789.2A patent/CN113785294A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1771691A (zh) * | 2003-05-29 | 2006-05-10 | 意大利电信股份公司 | 用于网络设备的安全管理的方法、系统和计算机程序 |
CN101206704A (zh) * | 2006-12-20 | 2008-06-25 | 汤姆森许可贸易公司 | 用于安全软件安装的方法及设备 |
US20170111354A1 (en) * | 2015-10-16 | 2017-04-20 | International Business Machines Corporation | Method for booting and dumping a confidential image on a trusted computer system |
CN105812388A (zh) * | 2016-05-13 | 2016-07-27 | 中国农业银行股份有限公司 | 一种用户证书和私钥的管理方法和系统 |
CN107395552A (zh) * | 2016-05-17 | 2017-11-24 | 中兴通讯股份有限公司 | 一种数据传输方法及装置 |
CN107395610A (zh) * | 2017-08-07 | 2017-11-24 | 维沃移动通信有限公司 | 一种通讯认证方法、第一终端及第二终端 |
Also Published As
Publication number | Publication date |
---|---|
EP3963490A1 (de) | 2022-03-09 |
WO2020221776A1 (de) | 2020-11-05 |
DE102019206302A1 (de) | 2020-11-05 |
EP3963490B1 (de) | 2023-07-19 |
US20220292206A1 (en) | 2022-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107977553B (zh) | 移动应用程序的安全加固的方法及装置 | |
US11126718B2 (en) | Method for decrypting data encrypted by ransomware | |
US8352740B2 (en) | Secure execution environment on external device | |
RU2371756C2 (ru) | Безопасная связь с клавиатурой или родственным устройством | |
US9787663B2 (en) | Replaying a batch of secure commands in a secure channel | |
CN113268715A (zh) | 软件加密方法、装置、设备及存储介质 | |
EP3270318B1 (en) | Dynamic security module terminal device and method for operating same | |
KR20140099126A (ko) | 소프트웨어를 보안하기 위하여 해시 함수를 이용한 소프트웨어 처리 방법, 그 장치 및 그 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체 | |
Adamov et al. | An analysis of lockergoga ransomware | |
US9256731B2 (en) | System, information processing apparatus, secure module, and verification method | |
US11693793B2 (en) | Method of secure communication among protected containers and system thereof | |
CN108270574B (zh) | 一种白名单库文件的安全加载方法及装置 | |
US11516194B2 (en) | Apparatus and method for in-vehicle network communication | |
CN113890731A (zh) | 一种密钥管理方法、装置、电子设备及存储介质 | |
CN113785294A (zh) | 用于以改进的数据安全性传输启动代码的方法和装置 | |
US7779269B2 (en) | Technique for preventing illegal invocation of software programs | |
CN111181898A (zh) | 基于后台服务器、app客户端的数据安全防护方法 | |
KR101630462B1 (ko) | 키보드 보안 장치 및 방법 | |
CN110674525A (zh) | 一种电子设备及其文件处理方法 | |
CN113595982B (zh) | 一种数据传输方法、装置、电子设备及存储介质 | |
JP2013045277A (ja) | プログラム難読化方法およびリモートデバッグシステム | |
CN108933790A (zh) | 高安全等级的ota升级固件的加密方法 | |
CN115442046A (zh) | 签名方法、装置、电子设备和存储介质 | |
CN111639358B (zh) | 一种指令加密、加密指令解密方法及装置 | |
CN112332973A (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 |
Effective date of registration: 20230206 Address after: Hannover Applicant after: Continental Automotive Technology Co.,Ltd. Address before: Hannover Applicant before: CONTINENTAL AUTOMOTIVE GmbH |
|
TA01 | Transfer of patent application right |