用于加密密钥的容错供应验证的制作方法

文档序号:30810439发布日期:2022-07-19 23:43阅读:61来源:国知局
用于加密密钥的容错供应验证的制作方法

1.本公开总体涉及电子计算系统。更具体地,本公开的各方面涉及通过提供预先计算的具有加密密钥的验证数据、将密钥存储在安全外围设备内、从外围设备接收验证数据并将验证数据与预先计算的验证数据进行比较以确认加密密钥的正确存储来验证加密密钥加载、导出和存储到安全外围设备中的系统、方法和设备。


背景技术:

2.电子部件和电子计算系统(比如处理器、电子控制单元(ecu)等)的制造商通常向多个竞争方提供这些系统。这些系统通常需要对设备的安全数据访问,设备和设备之间的安全通信可能包含专有算法、电子数据等。因此,这些系统可能要求在交付给每一方之前在系统上安装用于每个竞争方的专有信息。这产生的问题在于,必须为每一方创建不同的系统,以便专有信息不会在各方之间分发和/或共享。为每个客户创建单独的系统会导致零件激增,这增加了与系统相关的成本,并增加了供应和分销复杂性。复杂性增加了,因为供应商必须维护客户对系统的安全访问,并且能够在产品装运前验证安全凭证是否正确存储在系统上,而无需后台干预。希望克服这些问题,以提供一种在安全电子设备中提供加密密钥的容错方式。
3.在该背景部分中公开的上述信息仅仅是为了增强对本发明背景的理解,因此它可能包含不形成在该国已经为本领域普通技术人员所知的现有技术的信息。


技术实现要素:

4.本文公开了用于供应安全电子系统的各种安全电子系统和相关控制逻辑、制造和操作这种系统的方法以及装备有车载安全电子系统的机动车辆。作为示例而非限制,提出了用于验证秘密密钥的加载、导出和存储的方法和装置,该秘密密钥作为明文加载到安全外围设备中,导出并加密,并且存储在安全外围设备外部的非易失性存储器中以供以后使用。
5.根据本公开的一方面,一种方法包括经由接口接收第一安全密钥、第二安全密钥和响应于第一安全密钥和第二安全密钥生成的第一验证数据;由处理器将第一安全密钥和第二安全密钥耦合到电子控制器;由处理器接收由电子控制器响应于第一安全密钥和第二安全密钥生成的第二验证数据;以及由处理器响应于第一验证数据匹配第二验证数据而将控制器标记为供应。
6.根据本公开的另一方面,其中使用第一安全密钥作为授权密钥在电子控制器中供应第二安全密钥,并且其中第二验证数据是使用第二安全密钥生成的消息认证码。
7.根据本公开的另一方面,还包括响应于第一验证数据不匹配第二验证数据,由处理器将第一安全密钥和第二安全密钥重新耦合到电子控制器。
8.根据本公开的另一方面,其中第一验证数据是响应于第一安全密钥的消息认证码和第二安全密钥的消息认证码的链而生成的。
9.根据本公开的另一方面,其中第一验证数据是第二安全密钥的消息认证码。
10.根据本公开的另一方面,还包括在存储器中存储第一安全密钥、第二安全密钥、验证数据和与电子控制器相关的唯一标识符。
11.根据本公开的另一方面,其中响应于从电子控制器接收唯一标识符,第一安全密钥和第二安全密钥耦合到电子控制器,并且其中响应于唯一标识符生成第一安全密钥和第二安全密钥。
12.根据本公开的另一方面,还包括响应于第一验证数据不匹配第二验证数据以及计数器超过供应尝试限制,由处理器将电子控制器标记为失败。
13.根据本公开的另一方面,其中第一安全密钥和第二安全密钥是响应于电子控制器的唯一标识符而生成的。
14.根据本公开的另一方面,一种装置包括:接口,用于接收第一安全密钥、第二安全密钥和响应于第一安全密钥和第二安全密钥生成的第一验证数据;以及处理器,用于将第一安全密钥和第二安全密钥耦合到电子控制器,用于接收由电子控制器响应于第一安全密钥和第二安全密钥而生成的第二验证数据,并且用于响应于第一验证数据匹配第二验证数据而将电子控制器标记为供应。
15.根据本公开的另一方面,其中处理器还配置为响应于第一验证数据不匹配第二验证数据,将第一安全密钥和第二安全密钥重新耦合到电子控制器。
16.根据本公开的另一方面,其中第一验证数据是响应于第一安全密钥的消息认证码和第二安全密钥的消息认证码的链而生成的。
17.根据本公开的另一方面,其中第一验证数据是第二安全密钥的消息认证码。
18.根据本公开的另一方面,包括用于存储第一安全密钥、第二安全密钥、验证数据和与电子控制器相关的唯一标识符的存储器。
19.根据本公开的另一方面,其中处理器配置为响应于从电子控制器接收唯一标识符来耦合第一安全密钥和第二安全密钥,并且其中第一安全密钥和第二安全密钥是响应于唯一标识符而生成的。
20.根据本公开的另一方面,其中处理器配置为响应于第一验证数据不匹配第二验证数据以及计数器超过供应尝试限制,将电子控制器标记为失败。
21.根据本公开的另一方面,其中使用第一安全密钥作为授权密钥在电子控制器中供应第二安全密钥,并且第二验证数据是使用第二安全密钥生成的消息认证码。
22.根据本公开的另一方面,其中第一安全密钥和第二安全密钥是从电子控制器的唯一标识符生成的。
23.根据本公开的另一方面,一种电子控制器供应设备包括:存储器,配置为存储与第一客户相关的第一秘密密钥、与第二客户相关的第二秘密密钥以及响应于第一秘密密钥和第二秘密密钥生成的第一验证数据;以及处理器,配置为将第一秘密密钥和第二秘密密钥耦合到电子控制器,用于从电子控制器接收第二验证数据,并且用于响应于第一验证数据匹配第二验证数据,将电子控制器标记为供应。
24.根据本公开的另一方面,其中第一秘密密钥和第二秘密密钥是从电子控制器的唯一标识符生成的,并且第一验证数据和第二验证数据是响应于第一安全密钥的消息认证码和第二安全密钥的消息认证码的链而生成的。
25.当结合附图时,从下面对优选实施例的详细描述中,本公开的上述优点和其他优点和特征将变得显而易见。
附图说明
26.通过结合附图参考本发明实施例的以下描述,本发明的上述及其他特征和优点以及实现它们的方式将变得更加明显,并且本发明将被更好地理解。
27.图1示出了根据一示例性实施例的用于为加密密钥提供容错供应验证的示例性环境。
28.图2示出了根据另一示例性实施例的用于为加密密钥提供容错供应验证的系统的框图。
29.图3示出了说明根据一示例性实施例的用于为加密密钥提供容错供应验证的方法的流程图。
30.图4示出了说明根据另一示例性实施例的用于为加密密钥提供容错供应验证的另一系统的框图。
31.图5示出了说明根据另一示例性实施例的用于为加密密钥提供容错供应验证的另一方法的流程图。
32.这里阐述的示例说明了本发明的优选实施例,并且这些示例不应被解释为以任何方式限制本发明的范围。
具体实施方式
33.本文描述了本公开的实施例。然而,应当理解,所公开的实施例仅仅是示例,其他实施例可以采取各种替代形式。附图不一定是按比例的;一些特征可被放大或缩小以显示特定部件的细节。因此,这里公开的具体结构和功能细节不应被解释为限制性的,而仅仅是说明性的。参考任何一个附图说明和描述的各种特征可以与一个或多个其他附图中说明的特征相结合,以产生没有明确说明或描述的实施例。所示特征的组合提供了典型应用的代表性实施例。然而,与本公开的教导一致的特征的各种组合和修改对于特定的应用或实现是期望的。
34.现在转向图1,示出了根据示例性实施例的用于为加密密钥提供容错供应验证的示例性环境100。示例性环境100包括供应商110、零件120、第一客户130、第二客户140和第三客户150。环境100还包括第一客户密钥135、第二客户密钥145、第三客户密钥155和公共密钥125。所公开的系统和方法配置成便于由可信供应商110向相互不信任的客户130、140、150供应零件,这些客户需要能够以不允许其他方知道或不恰当地使用他们的安全凭证的方式供应安全凭证以供在他们的生态系统中使用,即使观察供应也是如此。此外,所公开的系统必须提供一种容错方法,用于验证加载到零件120中的客户密钥135、145、155和公共密钥125的加载、导出和存储。
35.在该示例性实施例中,可信供应商110可以向零件120提供为接收零件120的每个客户130、140、150生成的默认公共密钥125和唯一秘密密钥135、145、155。零件120配置为拒绝软件更新,这可能导致零件120被一方修改以在另一方的生态系统中恶意行为,直到零件120配置为在特定方的生态系统中使用,这导致擦除所有其他方的秘密密钥和任何相关的
数据。唯一秘密密钥确保每一方都能够保持其安全凭证可信度,即使另一方观察到这些安全凭证的供应。
36.为了实现向多方提供单独的安全系统,供应商110首先向第一客户130、第二客户140和第三客户150中的每个提供零件120,其中每个零件120具有唯一id(uid)。每个客户都有客户密钥135、145、155,该密钥仅对该客户保密。使用uid和客户密钥135、145、155为每个客户生成秘密密钥。每一方的秘密密钥是使用客户密钥135、145、155从uid中导出的,这确保每个客户只知道其自己的秘密密钥,而不知道其他客户130、140、150的秘密密钥。可替代地,每个密钥135、145、155可以是密钥供应密钥(kp key),其中供应商为零件中的每个客户/区域提供kp key。kp key可以从uid和只有该客户/地区和供应商知道的算法中导出。在本示例中,kp key最终出现在零件中,但不是生成kp key的算法。
37.接收零件120的每个客户130、140、150都能够通过使用uid和他们的客户密钥135、145、155来配置在他们的生态系统中使用的零件120,以在零件中生成适当的秘密密钥,并向零件供应他们的安全凭证。没有适当的客户密钥135、145、155,接收该零件的另一客户130、140、150不能配置该零件用于另一方的生态系统。此外,接收零件120的其他客户如果观察到正在配置的零件,也不能确定其他方的安全凭证,因为安全凭证是用其他方不知道的该方的客户密钥135、145、155加密的。一旦用特定的客户密钥135、145、155访问了零件120,则与其他客户相关的信息被擦除,以防止一方在控制该零件之后使用另一方的安全凭证。这是通过在所有其他客户密钥135、145、155被擦除之前不允许软件更新来实现的。
38.每个零件120还被提供有用于接收零件120的每一方的公共密钥125。因为在零件120配置为由特定客户使用之前,零件120将不允许软件更新发生,所以默认根公共密钥125用于转换到客户的生产根公共密钥,但不被允许用于软件更新。当供应生产根公共密钥时,它会在允许使用生产根公共密钥更改软件之前擦除所有其他方的秘密密钥。这防止任何一方能够修改该零件的软件并使用另一客户的秘密密钥来确定该客户的生态系统中使用的安全凭证,或者能够将恶意软件放在具有用于另一客户生态系统的有效安全凭证的零件120上。
39.当用多个密钥配置零件120时,供应商110必须验证零件120内密钥的供应。希望能够将密钥安全地存储在安全外围设备之外,同时验证密钥是否被正确加载、保护和存储。这可以包括使用单件预先计算的验证数据来验证供应给零件120的密钥是否被正确供应,从而不需要通过后台通信进行验证。
40.在一示例性实施例中,该系统可以使用由供应给零件120的密钥125、135、145、155创建的消息认证码链来提供单件验证数据,该数据证明所有密钥125、135、145、155都被加载、导出并成功地安全存储在零件120中。该系统可以使用与供应记录一起提供的预先计算的验证数据,使得不需要与后台进行交互。例如,供应商110可以预先计算单件数据,使得它可以用于验证所有密钥125、135、145、155都被正确地加载到零件120中,从零件120导出,并且存储在安全外围设备之外的存储器中。这可以允许密钥125、135、145、155被安全地存储在安全外围设备之外,在那里有更多的存储器可用,从而确保它们被正确地存储。此外,这可以防止拦截密钥供应包的恶意方能够以这样的方式改变它们,即,使验证工具确信密钥125、135、145、155被正确供应,因为它们不知道密钥125、135、145、155能够生成将与零件120返回的内容相匹配的验证数据。这提供了一种以不向对手提供关于正被供应和验证的
密钥125、135、145、155的任何信息的方式来提供预先计算的验证数据的方式。
41.此外,该系统需要一种容错方法来验证向零件120正确供应密钥125、135、145、155。如果在从零件120返回验证数据之前在密钥供应期间出现故障,那么如果密钥因防重放计数器而已被写入,则不能再次尝试供应数据。因此,不能获得来自零件120的验证数据,并且不知道密钥是否被正确写入。在这种情况下,验证密钥是否被成功供应涉及后台交互。为了克服这些困难,示例性系统100允许相同的供应记录被多次提供给相同的零件120,并且获得通过该记录提供的密钥125、135、145、155被成功存储的确认,即使在任何先前的供应尝试期间获得确认之前的任何时间发生了故障。成功到达供应流程步骤n+1确保成功完成步骤1至n。
42.在一示例性实施例中,用于供应符合she的安全外围设备的主密钥和一个附加密钥(例如解锁密钥)的数据记录可以这样的方式创建,即,即使来自零件120的供应验证数据由于一个或多个密钥125、135、145、155已被供应而不可用,也允许验证正确的密钥125、135、145、155存储在零件120中。这可以通过首先尝试将记录中的第一密钥(例如主密钥)供应给使用当前密钥作为授权密钥的零件120来实现。然后,可以使用第一密钥作为授权密钥来供应下一个密钥,例如解锁密钥。示例性系统然后可以使用该密钥生成mac,并将其与数据记录中的mac进行比较。在该示例中,即使前两个密钥的供应结果是未知的,使用链中的最后一个密钥来生成mac作为最后一个密钥被正确供应的证据证明供应是成功的,因为只有当从最后一个密钥开始的第二个密钥被正确供应时,最后一个密钥的正确供应才能发生,因此mac也证明从最后一个密钥开始的第二个密钥。如果供应2个以上的密钥,这将重复到链的头部。
43.现在转到图2,示出了根据一示例性实施例的用于为加密密钥提供容错供应验证的系统200。示例性系统200可以是零件供应系统,并且可以包括处理器220、存储器240以及供应商接口210和零件接口230。在该示例性实施例中,该系统可以用于供应电子零件或部件,比如ecu、车辆控制器等,并用于存储电子零件内用于各方的安全密钥。
44.供应商接口210配置成从零件供应商接收与特定电子零件相关的安全数据。在一示例性实施例中,数据可以包括零件uid、与第一客户相关的第一秘密密钥、与第二客户相关的第二秘密密钥、公共密钥和验证数据。在该示例中,第一安全密钥和第二安全密钥由供应商从设备的uid生成,使得密钥对于每个设备是唯一的。处理器220配置为从供应商接口210接收该数据,并将数据存储在存储器240上。虽然用第一客户密钥和第二客户密钥描述了该示例,但任意数量的客户密钥可被示例性供应系统供应在零件上。
45.零件接口230配置成将数据电子耦合到零件以供应该零件。零件接口230可以是can总线接口、usb接口、无线传输接口或能够发送和接收电子数据的任何其他接口。在一示例性实施例中,零件首先耦合到零件接口230。零件接口230然后配置成从零件接收uid。部件接口230将接收的uid耦合到处理器220。可替代地,用户可以通过用户界面等手动输入uid。
46.处理器220然后配置为接收uid并从存储器240中检索对应于uid的数据。处理器220然后将第一客户密钥、第二客户密钥耦合到零件接口230,用于耦合到零件。响应于从零件接口230接收第一客户密钥、第二客户密钥,零件配置为存储密钥并响应于密钥生成零件验证数据。零件然后将验证数据耦合回零件接口230。处理器220然后从零件接收验证数据,
将该验证数据与存储在存储器中的验证数据进行比较。如果验证数据匹配,则零件已被正确地供应了密钥,并且密钥已被正确地存储在存储器240和零件中。
47.在一示例性实施例中,可以使用消息认证码(mac)链来生成验证数据,该mac利用被验证的密钥来创建,以提供单件验证数据,使得mac的结果是验证数据。有利地,这允许零件存储各种密钥,在链中每个连续密钥的每次成功存储之后生成mac。处理器220然后可以从任何接收的验证数据中验证所有先前存储的密钥都被正确存储。如果任何接收的验证与存储器中的不匹配,则处理器220可以确定至少一个先前密钥或当前密钥被错误地存储,并且零件必须被重新供应。系统可以使用防重放计数器来限制可以尝试零件供应的次数,以防止供应数据被再次使用。这可以防止不再有效的密钥被放回零件中。
48.如果在密钥被写入零件之后但在从零件接收验证数据之前的某个时刻出现故障,当前用于向零件(例如安全外围设备)供应安全密钥的方法和系统可能不允许确认安全密钥的正确供应。因此,如果在此过程中出现故障,零件可能需要报废。可替代地,今天的供应验证需要与为安全外围设备生成供应记录的后台部件进行交互。为了克服这些问题,当前系统允许相同的供应记录被多次提供给相同的ecu,并且获得通过该记录提供的密钥被成功存储在零件中的确认,即使在任何先前的供应尝试期间获得确认之前的任何时间发生了故障。系统200还可以在供应过程的每个步骤中结合自我验证,消除为了验证密钥被成功供应而与为安全外围设备创建供应记录的后台系统交互的需要。
49.现在转到图3,示出了说明根据一示例性实施例的用于为加密密钥提供容错供应验证的方法300的流程图。该示例性方法配置成经由电子接口接收310包括第一客户密钥、第二客户密钥和验证数据的安全数据。在一示例性实施例中,验证数据可以响应于用密钥创建的mac链而生成。该方法然后将数据存储315到存储器等。
50.该方法接下来可操作成将第一客户密钥、第二客户密钥耦合320到电子设备,比如ecu等,用于供应电子设备。密钥可以经由供应接口等耦合到设备。执行该方法的编程工具还可以响应于密钥触发设备来创建验证数据。验证数据的创建方式与使用安全数据创建验证数据的方式相同,例如使用从密钥创建的mac链。
51.响应于向电子设备提供密钥,该方法接下来可操作成从电子设备接收325验证数据。然后,将从电子设备接收的验证数据与存储在存储器中的验证数据进行比较,以确定330验证数据是否匹配。验证数据的匹配表明电子设备正确地供应了第一客户密钥、第二客户密钥。
52.如果验证数据之间存在匹配,则确定335零件被正确供应,并且该零件的供应过程完成。如果验证不匹配,则该方法确定340是否已经超过供应尝试计数器。此计数器限制可以在零件上尝试供应过程的尝试次数。如果超过计数器,则零件被标记345为失败,并且供应过程暂停。如果没有超过计数器,则计数器递增,并且过程返回到将密钥传送320到电子设备。
53.现在转到图4,示出了说明用于为加密密钥提供容错供应验证的系统400的示例性实施例的图。示例性系统400可以包括存储器410、处理器420和接口430。
54.接口430可以配置用于接收第一安全密钥、第二安全密钥以及响应于第一安全密钥和第二安全密钥生成的第一验证数据。此外,接口430可被启用用于系统400和电子控制器之间的电子通信,以启用电子控制器的加密供应。该接口可以是can总线接口、usb接口、
以太网端口或无线接口,例如wi-fi接口、蓝牙接口或其他无线传输接口。
55.处理器420可以配置用于将第一安全密钥和第二安全密钥耦合到电子控制器,用于接收由电子控制器响应于第一安全密钥和第二安全密钥而生成的第二验证数据,并且用于响应于第一验证数据匹配第二验证数据而将电子控制器标记为供应。第一安全密钥、第二安全密钥和第二验证数据可以经由接口430耦合在电子控制器和处理器420之间。处理器还配置为响应于第一验证数据不匹配第二验证数据而将第一安全密钥和第二安全密钥重新耦合到电子控制器。处理器420可以配置为响应于从电子控制器接收唯一标识符来耦合第一安全密钥和第二安全密钥,并且其中第一安全密钥和第二安全密钥是从唯一标识符生成的。此外,处理器420可以配置为响应于第一验证数据不匹配第二验证数据以及计数器超过供应尝试限制而将电子控制器标记为失败。
56.还提供了存储器410,用于存储第一安全密钥、第二安全密钥、验证数据和与电子控制器相关的唯一标识符。第一验证数据可以是第二安全密钥的消息认证码。例如,第一验证数据和第二验证数据可以响应于第一安全密钥的消息认证码和第二安全密钥的消息认证码的链而生成。
57.第一安全密钥和第二安全密钥对于单个电子控制器可以是唯一的,使得一个安全密钥可能不提供对一个以上电子控制器的访问。例如,第一安全密钥和第二安全密钥可以响应于电子控制器的唯一标识符而生成。此外,在电子控制器的供应期间,可以使用第一安全密钥作为授权密钥在电子控制器中供应第二安全密钥,并且第二验证数据是使用第二安全密钥生成的消息认证码。因此,正确供应第二安全密钥的正确指示表示正确供应第一安全密钥。
58.在一示例性实施例中,系统400可以是包括存储器410的电子控制器供应设备,存储器410配置为存储与第一客户相关的第一秘密密钥、与第二客户相关的第二秘密密钥以及响应于第一秘密密钥和第二秘密密钥生成的第一验证数据。此外,系统可以包括处理器420,其配置为将第一秘密密钥和第二秘密密钥耦合到电子控制器,用于从电子控制器接收第二验证数据,并且用于响应于第一验证数据匹配第二验证数据而将电子控制器标记为供应。在该实施例中,可以响应于电子控制器的唯一标识符来生成第一秘密密钥和第二秘密密钥,并且响应于第一安全密钥的消息认证码和第二安全密钥的消息认证码的链来生成第一验证数据和第二验证数据。
59.现在转到图5,示出了说明用于为加密密钥提供容错供应验证的方法500的示例性实施方式的流程图。该方法首先用于通过接口接收510第一安全密钥、第二安全密钥和响应于第一安全密钥和第二安全密钥生成的第一验证数据。在一示例性实施例中,第一安全密钥和第二安全密钥对于单个电子控制器可以是唯一的。例如,第一安全密钥和第二安全密钥可以响应于电子控制器的唯一标识符而生成。第一验证数据可以响应于第一安全密钥的消息认证码和第二安全密钥的消息认证码的链而生成。例如,第一验证数据可以是第二安全密钥的消息认证码。
60.第一安全密钥和第二安全密钥接下来由处理器耦合520到电子控制器。在一示例性实施例中,可以使用第一安全密钥作为授权密钥在电子控制器中供应第二安全密钥,并且其中第二验证数据是使用第二安全密钥生成的消息认证码。处理器还可以配置为在存储器中存储第一安全密钥、第二安全密钥、验证数据和与电子控制器相关的唯一标识符。在一
示例性实施例中,响应于从电子控制器接收唯一标识符,第一安全密钥和第二安全密钥可以耦合到电子控制器,并且其中第一安全密钥和第二安全密钥是响应于唯一标识符生成的。
61.处理器接下来可以接收530由电子控制器响应于第一安全密钥和第二安全密钥生成的第二验证数据。第二验证数据可以与第一验证数据由电子控制器供应商等生成相同的方式生成。处理器然后可以将第二验证数据与存储在存储器中的第一验证数据进行比较。
62.处理器接下来可以响应于第一验证数据匹配第二验证数据来将控制器标记540为供应。可替代地,处理器可以响应于第一验证数据不匹配第二验证数据以及计数器小于阈值来将第一安全密钥和第二安全密钥重新耦合到电子控制器。如果超过计数器阈值,表明已经尝试了最大次数的重新耦合尝试,则处理器可以将电子控制器标记为失败和/或拒绝电子控制器。
63.虽然在前面的详细描述中已经呈现了至少一示例性实施例,但应当理解,存在大量的变化。还应当理解,一个或多个示例性实施例仅是示例,并不旨在以任何方式限制本公开的范围、适用性或配置。相反,前述详细描述将为本领域技术人员提供用于实现一个或多个示例性实施例的便利路线图。应当理解,在不脱离所附权利要求及其法律等同物中阐述的本公开的范围的情况下,可以对元件的功能和布置进行各种改变。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1