用于为处理设备建立安全数据通信的方法和用于生成密码密钥的信任模块以及现场设备技术

技术编号:32723652 阅读:14 留言:0更新日期:2022-03-20 08:28
提出了一种用于基于密码密钥建立安全数据通信的方法,其中所述方法包括:向信任模块提交密码密钥请求;基于分配给处理设备的公共密钥来验证数字签名;基于分配给处理设备的公共密钥和分配给信任模块的秘密密钥生成内部密码密钥;基于内部密码密钥和处理设备的密钥标识符生成密码密钥;使用分配给处理设备的公共密钥对密码密钥进行加密;以及将加密的密码密钥传输到处理设备;其中信任模块被实现为无状态Lambda信任锚。状态Lambda信任锚。状态Lambda信任锚。

【技术实现步骤摘要】
【国外来华专利技术】用于为处理设备建立安全数据通信的方法和用于生成密码密钥的信任模块以及现场设备
[0001]本公开涉及一种用于为处理设备建立安全数据通信的方法和计算机程序产品。此外,公开了一种用于生成密码密钥的信任模块以及一种现场设备。
[0002]安全元件(或信任模块)用于密码密钥的安全存储以及用于在安全执行环境中执行密码操作。常规地,信任模块可以被实现为分离的硬件组件,诸如密码控制器或硬件安全模块,或者可以被集成在现场可编程门阵列(FPGA)上或者在分离的执行环境、诸如可信执行环境(TEE)内。
[0003]上述类型的信任模块的主要要求是保护或确保对信任模块的访问,以便避免例如处理设备(或实体)的未授权应用可以获得密码密钥或能够操控信任模块。
[0004]如果用户或处理设备想要得到对信任模块的访问,则处理设备必须执行访问认证。传统上,访问认证例如借助于口令、PIN、生物ID等来执行。在成功访问认证的情况下,信任模块认证处理设备,并允许访问信任模块的密码密钥和操作。
[0005]然而,上述类型的访问认证需要访问认证函数的明确实现和相应安全元件的配置。
[0006]本专利技术的一个目的是提供用于简化对信任模块的访问认证的手段。
[0007]根据第一方面,提出了一种用于基于密码密钥为处理设备建立安全数据通信的方法。所述方法包括以下步骤:向信任模块提交密码密钥请求,所述密码密钥请求包括由处理设备提供的密钥标识符,其中密钥请求受处理设备的数字签名保护;在信任模块处,基于分配给处理设备的公共密钥来验证数字签名;在信任模块处,基于分配给处理设备的公共密钥和分配给信任模块的秘密密钥生成内部密码密钥;在信任模块处,基于内部密码密钥和由处理设备提供的密钥标识符来生成密码密钥;在信任模块处,使用分配给处理设备的公共密钥来对密码密钥进行加密;以及将加密的密码密钥传输到处理设备;其中信任模块被实现为无状态Lambda信任锚。
[0008]利用上述方法、特别是通过使用无状态Lambda信任锚,可能的是任何处理设备或实体可以得到对信任模块的访问并且可以从信任模块接收例如对于单个处理设备或实体唯一的所请求的密码密钥。通过使用所请求的密码密钥,处理设备或实体能够在处理设备或实体与另一设备或实体之间建立安全数据通信。
[0009]这是可能的,因为所采用的信任模块是“无状态”设备或模块。可以说无状态的是Lambda信任锚或实现的Lambda信任锚函数。
[0010]密钥标识符允许处理设备针对不同的目的请求多个密钥。密钥标识符可以对处理设备所意图的目的进行编码。然而,处理设备可以使用不必由信任模块预先知道的任意密钥标识符。
[0011]优选地,处理设备可以使用其秘密密钥或私有密钥来对加密的密码密钥进行解密。解密的密钥可以用于例如认证处理设备或对加密的配置数据进行解密。
[0012]有利地,可能的是灵活地激活云计算环境中的嵌入式系统或边缘设备中的信任模块函数。仅当需要访问信任模块或者特别是密码密钥时,信任锚特别地按需被实现为信任模块内的实例,例如在云后端中。此外,信任模块不是设备特定或应用特定的,并且它不是个性化的。因此,通过实现信任模块,可以在设备中实现非个性化的、通用的基于硬件的密钥存储和生成。因此,信任模块可以后续集成到现有设备中。这增加信任模块的可用性和可获得性。
[0013]此外,任何任意的处理设备或实体可以得到对信任模块的访问或者可以使用信任模块,因为作为无状态信任模块,并不要求用于想要得到对信任模块的访问的处理设备或实体的特定访问认证配置或者密钥和密钥标识符的配置。有利地,这增加信任模块的灵活性,同时减少或消除访问认证配置努力。
[0014]信任模块可以被实现为硬件应用,诸如用于现场可编程门阵列(FPGA)的部分重新配置的部分比特流。于是,信任锚是可修整和可更新的。
[0015]如果多个处理设备或实体请求访问信任模块,则对于每个处理设备或实体,信任模块生成并处理不同的内部密码密钥,并且从而生成并处理不同的密码密钥。因此,例如,得到第一密码密钥的第一处理设备不能使用第二处理设备的第二密码密钥,这是因为由于第二处理设备的公共密钥,第二密码密钥仅被分配给第二处理设备。因此,改进了数据安全性。
[0016]此外,只要处理设备或实体安全地存储它们自己的私有(秘密)密钥,就没有攻击者能获得和解密由信任模块生成的密码密钥。这也增加了数据安全性。
[0017]信任模块被实现为无状态信任模块或无状态lambda信任锚或无状态lambda信任锚函数。此外,特别地,信任模块被实现为执行若干密码操作。密码操作可以包括加密、解密、签名计算、签名验证、消息认证码(MAC)计算、MAC验证、密钥生成、密钥加载。如果信任模块被实现为分离的硬件组件,则处理设备或实体可以得到对信任模块的物理接口的访问。如果信任模块集成在FPGA上或分离的执行环境内,则处理设备或实体可以得到对信任模块的内部软件接口的访问。优选地,信任模块不包含关于被允许得到对信任模块的访问或被允许得到密钥的特定处理设备、应用或实体的信息。
[0018]处理设备可以是被配置为执行计算操作(诸如计算值或执行程序或应用)的中央处理单元(CPU)、处理器或处理单元。特别地,处理设备至少包括应用和操作系统。操作系统可以实现为操作软件。应用或应用软件可以包括用于处理或实现有用或期望的非操作系统功能性的计算机程序。处理设备可以是想要得到对信任模块的访问的调用者。处理单元或实体可以包括多个应用。优选地,作为诸如现场可编程门阵列(FPGA)的可编程硬件单元的信任模块可以被多个应用使用。
[0019]特别地,应用生成密码密钥请求,然后将其提交给信任模块。优选地,密码密钥请求是针对基于标识符或密钥标识符从信任模块获得所推导的密码密钥的请求。优选地,由处理设备提供的密钥标识符是密钥推导参数,其专用于所请求的密钥的意图目的,例如用于设备认证或用于配置数据的解密。具体地,密钥标识符和数字签名从处理设备提交给信任模块。优选地,密钥标识符是密钥目的标识符或密钥类别标识符。具体地,密钥标识符可
以是推导参数,例如指定所请求的密钥的目的的比特序列或文本串。例如,密钥标识符可以是“配置数据”或“设备认证”。
[0020]优选地,实体是处理单元、应用、软件应用、容器、具有执行应用的能力的现场设备上的容器、物联网网关(IoT网关)、IoT后端、客户端、服务器或想要通过使用处理设备得到对信任模块的访问的用户。
[0021]在验证步骤中,关于数字签名是否包括正确的密码参数而验证数字签名、特别是数字签名密码部分的格式。具体地,如果数字签名可用分配给处理设备的公共密钥来验证,则数字签名包括正确的密码参数。私有密钥或秘密密钥可以作为密钥请求的一部分提供给信任模块。例如,它可能是数字签名结构的一部分。在另一变型中,私有密钥可以作为处理设备和信任模块之间的通信信道的设立的一部分来提供。
[0022]生成内部密码密钥至少基于处理设备的公共密钥。生成内部密码密钥至少基于用于验证本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于基于密码密钥(KD)为处理设备(CPU)建立安全数据通信的方法,包括:向信任模块(LTAF)提交(S101)密码密钥请求(getKey),所述密码密钥请求(getKey)包括由所述处理设备(CPU)提供的密钥标识符(devP),并且所述密码密钥请求(getKey)受所述处理设备(CPU)的数字签名(sig)保护;在所述信任模块(LTAF)处,基于分配给所述处理设备(CPU)的公共密钥(Kpub

caller)验证(S102)所述数字签名(sig);在所述信任模块(LTAF)处,基于分配给所述处理设备(CPU)的所述公共密钥(Kpub

caller)和分配给所述信任模块(LTAF)的秘密密钥(SK)生成(S103)内部密码密钥(Ki

caller);在所述信任模块(LTAF)处,基于所述内部密码密钥(Ki

caller)和由所述处理设备(CPU)提供的所述密钥标识符(devP)生成(S104)所述密码密钥(KD);在所述信任模块(LTAF)处,使用分配给所述处理设备(CPU)的所述公共密钥(Kpub

caller)对所述密码密钥(KD)进行加密(S105);以及将加密的密码密钥(Enc(KD))传输(S106)到所述处理设备(CPU);其中所述信任模块(LTAF)被实现为无状态Lambda信任锚。2.根据权利要求1所述的方法,进一步包括:在所述处理设备(CPU)处,使用分配给所述处理设备(CPU)的秘密密钥(Kpriv

caller)对加密的密码密钥(Enc(KD))进行解密;以及使用所述密码密钥(KD)在所述处理设备(CPU)和另一设备之间建立安全数据通信。3.根据权利要求1或2所述的方法,其中分配给所述处理设备(CPU)的所述公共密钥(Kpub

caller)作为所述数字签名(sig)的一部分或作为原始密钥或通过引用所述公共密钥(Kpub

caller)被提交给所述信任模块(LTAF)。4.根据权利要求1
ꢀ‑ꢀ
3中任一项所述的方法,进一步包括:使用第一密钥推导函数(KDF1)生成(S103)所述内部密码密钥(Ki

caller),其中所述第一密钥推导函数(KDF1)将分配给所述处理设备(CPU)的所述公共密钥(Kpub

caller)和分配给所述信任模块(LTAF)的所述秘密密钥(SK)映射到所述内部密码密钥(Ki

caller)。5.根据权利要求1
ꢀ‑ꢀ
3中任一项所述的方法,进一步包括:使用密钥生成函数生成(S103)所述内部密码密钥(Ki

caller),在所述密钥生成函数处,基于初级种子生成公共

私有密钥对。6.根据权利要求1
ꢀ‑ꢀ
5中任一项所述的方法,进一步包括:使用第二密钥推导函数(KDF2)生成(S104)所述密码密钥(KD),其中所述第二密钥推导函数(KDF2)将所述内部密码密钥(Ki

caller)和所述处理设备(CPU)的所述密钥标识符(devP)映射到所述密码密钥(KD)。7.根据权利要求1
ꢀ‑ꢀ
6中任一项所述的方法,进一步包括:由分配给所述信任模块(LTAF)的所述秘密密钥(SK)对数据结构进行解密,所述数据结构作为所述密码密钥请求(getKey)的一部分从所述处理...

【专利技术属性】
技术研发人员:R
申请(专利权)人:西门子股份公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1