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

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

Info

Publication number
CN114208109A
CN114208109A CN202080057352.4A CN202080057352A CN114208109A CN 114208109 A CN114208109 A CN 114208109A CN 202080057352 A CN202080057352 A CN 202080057352A CN 114208109 A CN114208109 A CN 114208109A
Authority
CN
China
Prior art keywords
key
processing device
cryptographic key
cpu
ltaf
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
Application number
CN202080057352.4A
Other languages
English (en)
Inventor
R·法尔克
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 CN114208109A publication Critical patent/CN114208109A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/0825Key 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

提出了一种用于基于密码密钥建立安全数据通信的方法,其中所述方法包括:向信任模块提交密码密钥请求;基于分配给处理设备的公共密钥来验证数字签名;基于分配给处理设备的公共密钥和分配给信任模块的秘密密钥生成内部密码密钥;基于内部密码密钥和处理设备的密钥标识符生成密码密钥;使用分配给处理设备的公共密钥对密码密钥进行加密;以及将加密的密码密钥传输到处理设备;其中信任模块被实现为无状态Lambda信任锚。

Description

用于为处理设备建立安全数据通信的方法和用于生成密码密 钥的信任模块以及现场设备
本公开涉及一种用于为处理设备建立安全数据通信的方法和计算机程序产品。此外,公开了一种用于生成密码密钥的信任模块以及一种现场设备。
安全元件(或信任模块)用于密码密钥的安全存储以及用于在安全执行环境中执行密码操作。常规地,信任模块可以被实现为分离的硬件组件,诸如密码控制器或硬件安全模块,或者可以被集成在现场可编程门阵列(FPGA)上或者在分离的执行环境、诸如可信执行环境(TEE)内。
上述类型的信任模块的主要要求是保护或确保对信任模块的访问,以便避免例如处理设备(或实体)的未授权应用可以获得密码密钥或能够操控信任模块。
如果用户或处理设备想要得到对信任模块的访问,则处理设备必须执行访问认证。传统上,访问认证例如借助于口令、PIN、生物ID等来执行。在成功访问认证的情况下,信任模块认证处理设备,并允许访问信任模块的密码密钥和操作。
然而,上述类型的访问认证需要访问认证函数的明确实现和相应安全元件的配置。
本发明的一个目的是提供用于简化对信任模块的访问认证的手段。
根据第一方面,提出了一种用于基于密码密钥为处理设备建立安全数据通信的方法。所述方法包括以下步骤:
向信任模块提交密码密钥请求,所述密码密钥请求包括由处理设备提供的密钥标识符,其中密钥请求受处理设备的数字签名保护;
在信任模块处,基于分配给处理设备的公共密钥来验证数字签名;
在信任模块处,基于分配给处理设备的公共密钥和分配给信任模块的秘密密钥生成内部密码密钥;
在信任模块处,基于内部密码密钥和由处理设备提供的密钥标识符来生成密码密钥;
在信任模块处,使用分配给处理设备的公共密钥来对密码密钥进行加密;以及
将加密的密码密钥传输到处理设备;
其中信任模块被实现为无状态Lambda信任锚。
利用上述方法、特别是通过使用无状态Lambda信任锚,可能的是任何处理设备或实体可以得到对信任模块的访问并且可以从信任模块接收例如对于单个处理设备或实体唯一的所请求的密码密钥。通过使用所请求的密码密钥,处理设备或实体能够在处理设备或实体与另一设备或实体之间建立安全数据通信。
这是可能的,因为所采用的信任模块是“无状态”设备或模块。可以说无状态的是Lambda信任锚或实现的Lambda信任锚函数。
密钥标识符允许处理设备针对不同的目的请求多个密钥。密钥标识符可以对处理设备所意图的目的进行编码。然而,处理设备可以使用不必由信任模块预先知道的任意密钥标识符。
优选地,处理设备可以使用其秘密密钥或私有密钥来对加密的密码密钥进行解密。解密的密钥可以用于例如认证处理设备或对加密的配置数据进行解密。
有利地,可能的是灵活地激活云计算环境中的嵌入式系统或边缘设备中的信任模块函数。仅当需要访问信任模块或者特别是密码密钥时,信任锚特别地按需被实现为信任模块内的实例,例如在云后端中。此外,信任模块不是设备特定或应用特定的,并且它不是个性化的。因此,通过实现信任模块,可以在设备中实现非个性化的、通用的基于硬件的密钥存储和生成。因此,信任模块可以后续集成到现有设备中。这增加信任模块的可用性和可获得性。
此外,任何任意的处理设备或实体可以得到对信任模块的访问或者可以使用信任模块,因为作为无状态信任模块,并不要求用于想要得到对信任模块的访问的处理设备或实体的特定访问认证配置或者密钥和密钥标识符的配置。有利地,这增加信任模块的灵活性,同时减少或消除访问认证配置努力。
信任模块可以被实现为硬件应用,诸如用于现场可编程门阵列(FPGA)的部分重新配置的部分比特流。于是,信任锚是可修整和可更新的。
如果多个处理设备或实体请求访问信任模块,则对于每个处理设备或实体,信任模块生成并处理不同的内部密码密钥,并且从而生成并处理不同的密码密钥。因此,例如,得到第一密码密钥的第一处理设备不能使用第二处理设备的第二密码密钥,这是因为由于第二处理设备的公共密钥,第二密码密钥仅被分配给第二处理设备。因此,改进了数据安全性。
此外,只要处理设备或实体安全地存储它们自己的私有(秘密)密钥,就没有攻击者能获得和解密由信任模块生成的密码密钥。这也增加了数据安全性。
信任模块被实现为无状态信任模块或无状态lambda信任锚或无状态lambda信任锚函数。此外,特别地,信任模块被实现为执行若干密码操作。密码操作可以包括加密、解密、签名计算、签名验证、消息认证码(MAC)计算、MAC验证、密钥生成、密钥加载。如果信任模块被实现为分离的硬件组件,则处理设备或实体可以得到对信任模块的物理接口的访问。如果信任模块集成在FPGA上或分离的执行环境内,则处理设备或实体可以得到对信任模块的内部软件接口的访问。优选地,信任模块不包含关于被允许得到对信任模块的访问或被允许得到密钥的特定处理设备、应用或实体的信息。
处理设备可以是被配置为执行计算操作(诸如计算值或执行程序或应用)的中央处理单元(CPU)、处理器或处理单元。特别地,处理设备至少包括应用和操作系统。操作系统可以实现为操作软件。应用或应用软件可以包括用于处理或实现有用或期望的非操作系统功能性的计算机程序。处理设备可以是想要得到对信任模块的访问的调用者。处理单元或实体可以包括多个应用。优选地,作为诸如现场可编程门阵列(FPGA)的可编程硬件单元的信任模块可以被多个应用使用。
特别地,应用生成密码密钥请求,然后将其提交给信任模块。优选地,密码密钥请求是针对基于标识符或密钥标识符从信任模块获得所推导的密码密钥的请求。优选地,由处理设备提供的密钥标识符是密钥推导参数,其专用于所请求的密钥的意图目的,例如用于设备认证或用于配置数据的解密。具体地,密钥标识符和数字签名从处理设备提交给信任模块。优选地,密钥标识符是密钥目的标识符或密钥类别标识符。具体地,密钥标识符可以是推导参数,例如指定所请求的密钥的目的的比特序列或文本串。例如,密钥标识符可以是“配置数据”或“设备认证”。
优选地,实体是处理单元、应用、软件应用、容器、具有执行应用的能力的现场设备上的容器、物联网网关(IoT网关)、IoT后端、客户端、服务器或想要通过使用处理设备得到对信任模块的访问的用户。
在验证步骤中,关于数字签名是否包括正确的密码参数而验证数字签名、特别是数字签名密码部分的格式。具体地,如果数字签名可用分配给处理设备的公共密钥来验证,则数字签名包括正确的密码参数。私有密钥或秘密密钥可以作为密钥请求的一部分提供给信任模块。例如,它可能是数字签名结构的一部分。在另一变型中,私有密钥可以作为处理设备和信任模块之间的通信信道的设立的一部分来提供。
生成内部密码密钥至少基于处理设备的公共密钥。生成内部密码密钥至少基于用于验证调用者的数字签名的公共密钥。
优选地,内部密码密钥是对称密码密钥。
具体地,在信任模块处,基于附加参数生成内部密码密钥。特别地,内部密码密钥可以基于信任模块的设备标识符来生成。
特别地,分配给信任模块的秘密密钥是对称密码密钥。
具体地,生成的密码密钥被形成为对称密码密钥。密码密钥可以进一步用于加密、解密、数字签名或者可以由被分配了密码密钥的处理设备或实体执行的其他密码操作。
优选地,加密的密码密钥可以包括密码校验和(认证加密)。
根据实施例,所述方法进一步包括以下步骤中的至少一个:
在处理设备处,使用分配给处理设备的秘密密钥对加密的密码密钥进行解密;和
使用密码密钥在处理设备和另一设备之间建立安全数据通信。
优选地,信任模块至少向处理设备提供密码密钥。处理设备使用该密码密钥在处理设备和另一设备之间建立安全数据通信。因此,通过使用所获得的生成密码密钥,有利地,实现了处理设备和用于传输数据的任何其他设备之间的可靠且安全的数据传输。
特别地,安全数据通信被实现为受保护的数据通信或受保护的数据通信信道,其中通过使用密码密钥来实现保护。
具体地,另一设备是在自动化系统环境中实现的现场设备,诸如可编程逻辑控制器、IoT设备、边缘设备或边缘云设备。该另一设备也可以是存储配置数据的固定或可移除配置模块。
根据另外的实施例,分配给处理设备的公共密钥作为数字签名的一部分或者作为原始密钥或者通过引用公共密钥提交给信任模块。
有利地,通过提交作为数字签名的一部分的公共密钥,增加数据安全性,这是因为数字签名可以包括分配给公共密钥所有者的唯一标识信息,并且因此实现对公共密钥所有者的更可靠的分配。
优选地,原始密钥是根据X.509证书的公共密钥而没有在X.509证书中实现的其他数据或信息。
根据另外的实施例,所述方法进一步包括:
使用第一密钥推导函数生成内部密码密钥,其中第一密钥推导函数将分配给处理设备的公共密钥和分配给信任模块的秘密密钥映射到内部密码密钥。
优选地,第一密钥推导函数与诸如分配给处理设备的公共密钥的非秘密参数结合使用,以从分配给信任模块的秘密密钥中推导至少一个密钥。有利地,使用密钥推导函数(第一或第二密钥推导函数)可以防止接收诸如密码密钥之类的推导密钥的攻击者获得关于用作密钥推导函数的输入的原始密钥的有用信息。这增加了密码系统的安全性。此外,具体地,与数字签名相比,密钥推导函数具有减少的计算时间,并且需要更短的密码密钥。
具体地,生成的内部密码密钥是对称密码密钥。
特别地,诸如第一密钥推导或第二密钥推导函数的密钥推导函数是通过使用至少一个密码密钥生成一个或多个密码密钥的密码操作。
优选地,第一密钥推导函数以及第二密钥推导函数被实现为对称密钥推导函数。例如,对称密钥推导函数包括密钥推导函数(KDF)、HKDF和HMAC-SHA 256(HMAC-安全散列算法2)。特别地,HKDF是以基于散列的消息认证码(HMAC)为基础的简单KDF。
根据另外的实施例,所述方法进一步包括:
使用密钥生成函数生成内部密码密钥,在密钥生成函数处,基于初级种子生成公共-私有密钥对。
有利地,通过使用初级种子、特别是通过使用利用初级种子进行密钥生成的密钥生成函数,可能的是“动态(on the fly)”生成内部密码密钥。具体地,“动态”意味着内部密码密钥是应请求生成的,并存储在易失性存储单元中。这具有的优点是,生成的内部密码密钥不要求永久存储器空间或存储空间,并且可以在请求处理完成之后被删除。
在该实施例中,与密钥推导函数形成对照,使用密钥生成函数。特别地,公共-私有密钥对包括公共密钥和私有密钥或秘密密钥,其中公共密钥可以用于加密,并且私有密钥可以用于解密。
初级种子或初级种子值或种子值用作用于生成公共-私有密钥对的参数。具体地,如果信任模块是可信平台模块(TPM),则TPM被配置为通过使用初级种子值来为不同的密码算法(诸如Rivest Shamir和Adleman(RSA)、数字签名算法(DSA)或椭圆曲线数字签名算法(ECDSA))生成非对称公共-私有密钥对。
优选地,如果单个处理设备执行多个密码密钥请求,则在每个密码密钥请求下,生成相同的内部密码密钥,这是因为密钥生成函数是确定性函数。
根据另外的实施例,所述方法进一步包括:
使用第二密钥推导函数生成密码密钥,其中第二密钥推导函数将内部密码密钥和处理设备的密钥标识符映射到密码密钥。
优选地,密码密钥被形成为对称密码密钥,所述对称密码密钥是使用第二推导函数推导或生成的。
此外,第一密钥推导函数的优点也适用于第二推导函数。
根据另外的实施例,所述方法进一步包括:
采用分配给信任模块的秘密密钥对数据结构进行解密,所述数据结构作为密码密钥请求的一部分从处理设备传输到信任模块,以便从数据结构中获得解密密钥,其中解密密钥用于信任模块的密码操作。
优选地,数据结构至少包括“黑密钥大型对象”。特别地,信任模块使用其私有密钥或秘密密钥来对传输的“黑密钥大型对象”进行解密。作为解密的“黑密钥大型对象”的结果,包含在“黑密钥大型对象”中的解密密钥被用于信任模块的密码操作。具体地,密码操作是从信任模块整体地或作为部分地执行的操作,并且包括加密、解密、签名计算或签名验证。
有利地,“黑密钥大型对象”可以存储在信任模块的外部,例如在处理单元的闪速存储器中。此外,在从处理设备向信任模块的请求下,“黑密钥大型对象”可以被提供给信任模块。
根据另外的实施例,所述方法进一步包括:
经由经认证的通信信道将密码密钥请求从处理设备提交给信任模块。
有利地,通过经由经认证的通信信道从处理设备向信任模块提交密码密钥请求,增加数据安全性。
优选地,通过使用传输层安全(TLS)协议、因特网协议安全(IPsec)或因特网密钥交换(IKEv2)协议来形成经认证的通信信道。
根据另外的实施例,所述方法进一步包括:
将生成的内部密码密钥存储在易失性存储单元中。
有利地,内部密码密钥是“动态”生成的。特别地,“动态”意味着内部密码密钥是应请求生成的,并存储在易失性存储单元中。这具有的优点是,生成的内部密码密钥不要求永久存储器空间或存储空间,并且可以在请求处理完成之后被删除。因此,在该实施例中,没有生成的内部密码密钥被永久存储。因此,信任模块可以在现有设备中实现,因为不要求用于存储生成的密码密钥的非易失性存储单元。
优选地,易失性存储单元是这样的存储单元,只要存储单元被供应有功率或供应电压就存储其数据。特别地,易失性存储单元的示例是随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)。
根据另外的实施例,所述方法进一步包括:
将生成的内部密码密钥存储在非易失性存储单元中。
为了不再在每个密码密钥请求下生成内部密码密钥,可能的是将生成的内部密码密钥存储在非易失性存储单元中。这增加上述方法的效率。
优选地,非易失性存储单元是即使非易失性存储单元不再被供应有功率或供应电压也存储其数据的存储单元。因此,非易失性存储单元是永久存储其数据的存储单元。特别地,非易失性存储单元的示例是只读存储器(ROM)、闪速存储单元或硬盘。
根据另外的实施例,信任模块被形成为密码控制器、实现在安全芯片上的硬件安全模块、形成在作为可信执行环境(TEE)或英特尔软件保护扩展(SGX)的分离执行环境内。
优选地,安全芯片是可信平台模块。
根据第二方面,提出了一种计算机程序产品,其包括用于当在至少一个计算机上运行时执行根据第一方面的上述方法的程序代码。
诸如计算机程序构件的计算机程序产品可以体现为存储卡、USB条、CD-ROM、DVD或可以从网络中的服务器下载的文件。例如,这样的文件可以通过从无线通信网络传送包括计算机程序产品的文件来提供。
根据第三方面,提出了一种用于生成用于与处理设备建立安全数据通信的密码密钥的信任模块。所述信任模块包括:
输入单元,被配置为从处理设备接收密码密钥请求,其中密码密钥请求包括由处理设备提供的密钥标识符,并且其中密钥请求受处理设备的数字签名保护;
验证单元,被配置为基于分配给处理设备的公共密钥来验证数字签名;
第一密钥生成单元,被配置为基于分配给处理设备的公共密钥和分配给所述信任模块的秘密密钥来生成内部密码密钥;
第二密钥生成单元,被配置为基于内部密码密钥和由处理设备提供的密钥标识符来生成密码密钥;
加密单元,被配置为使用分配给处理设备的公共密钥来对密码密钥进行加密;以及
输出单元,被配置为向处理设备传输加密的密码密钥;
其中所述信任模块被实现为无状态Lambda信任锚。
相应的单元、例如处理单元可以以硬件和/或以软件来实现。如果所述单元以硬件实现,则它可以体现为设备,例如计算机或处理器或者例如计算机系统之类的系统的一部分。如果所述单元以软件实现,则它可以体现为计算机程序产品、函数、例程、程序代码或可执行对象。
根据所述信任模块的另外的实施例,所述信任模块进一步包括:
控制设备或单元,其被实现为根据上述方法操作信任模块,上述方法根据如上面或下面关于实施例描述的用于建立安全数据通信的方法。
根据所述信任模块的另外的实施例,所述信任模块在功能即服务云基础设施(FaaS基础设施)的云后端中实现,并且被配置为取决于请求客户端生成客户端特定密钥。
优选地,FaaS基础设施中的信任模块由在云后端内实现的其他实体使用。特别地,其他实体包括客户端、容器或应用。
此外,对于分配给客户端的数据的安全加密,可以由信任模块取决于客户端的私有密钥或秘密密钥来生成客户端特定密钥。优选地,客户端特定密钥由信任模块“动态”在云后端中生成,并存储在易失性存储单元中。这具有的优点是不要求配置客户端和信任模块以用于生成客户端特定的密钥。这减少访问认证配置努力。具体地,客户端特定密钥用于云中客户端数据(静态数据)的安全存储。
特别地,在云后端中使用的信任模块是基于硬件实现的。与在云中实现的云硬件安全模块相比,对于云后端中的信任模块,不要求在信任模块处管理和配置特定密钥,这是因为信任模块优选地“动态”生成它的密钥。有利地,在云内执行的应用处,通过使用无状态信任模块可以实现安全、可靠和简化的保护。
根据第四方面,提出了一种现场设备或边缘设备。所述设备包括:
可编程硬件单元,所述可编程硬件单元至少包括特别是根据用于生成密码密钥的上述信任模块的信任模块,以及
至少包括应用的处理设备,其中所述现场设备被配置为基于通过密码密钥请求从信任模块获得的密码密钥为应用建立安全数据通信。
优选地,所述信任模块在现场设备中、特别是在现场设备的可编程硬件单元中实现。可编程硬件单元可以是FPGA。
所述现场设备可以包括片上系统(Soc)。所述现场设备可以是设备、物联网设备、边缘设备、云边缘设备或者布置在自动化系统或嵌入式系统内并且包括其上实现所述信任模块的一个或多个SoC的设备。
参考本发明的方法描述的实施例和特征在细节上作必要修改后适用于本发明的信任模块和现场设备。
本发明的另外可能的实现或替代解决方案也涵盖上面或下面关于实施例描述的特征的组合——本文没有明确提及。本领域技术人员还可以向本发明的最基本形式添加单独或孤立的方面和特征。
本发明的另外实施例、特征和优点将从结合附图考虑的后续描述和从属权利要求中变得清楚,其中:
图1示出了图示根据实施例的用于为处理设备建立安全数据通信的方法步骤的流程图;
图2示出了根据实施例的用于生成密码密钥的信任模块的框图;以及
图3示出了包括根据图2的信任模块和处理设备的根据第一实施例的现场设备的框图。
在各图中,除非另外指出,否则相同的附图标记指定相同或功能上等同的元件。
接下来,通过参考图1、2和3,描述信任模块LTAF的操作。这包括如图1中图示的控制过程和图3中所示的现场设备FD,其中在第一实施例中执行LTAF。
在图3中,示出了根据第一实施例的现场设备FD的框图。现场设备FD包括处理设备CPU,该处理设备CPU包括应用App、第二应用App2和操作系统30。此外,现场设备FD包括可编程硬件单元FPGA,其包括无状态信任模块LTAF。图3中的现场设备FD被实现为片上系统(SoC)。
如果应用App想要从信任模块LTAF接收密码密钥KD,则密码请求getKey从应用App的输出28传输到信任模块LTAF的输入26。信任模块LTAF被配置为响应于应用App的密码请求getKey来生成密码密钥KD。第二应用App2还被配置为向信任模块LTAF传输密码请求getKey。此外,为了操作处理设备CPU和应用App、App2,操作系统30被集成在处理设备30上。
生成的密码密钥KD被加密,以便生成加密的密码密钥Enc(KD)。加密的密码密钥Enc(KD)从信任模块LTAF的输出27传输到应用App的输入29。然后,应用App被配置为对加密的密码密钥Enc(KD)进行解密。此外,应用App被配置为基于从信任模块LTAF接收的密码密钥KD,在处理设备CPU和另一设备之间建立安全数据通信。
图1示出了图示基于密码密钥KD为处理设备CPU建立安全数据通信的方法步骤的流程图。
此外,图2中的信任模块LTAF包括以下部分:输入单元20、验证单元21、第一密钥生成单元22、第二密钥生成单元23、加密单元24和输出单元25。元件协同执行图1中所示的步骤,即步骤S101至S106。
在图2中,信任模块LTAF的输入单元20被配置为在其输入26处接收来自处理设备CPU的密码密钥请求getKey,其中密码密钥请求getKey包括处理设备CPU的密钥标识符devP,并且受处理设备CPU的数字签名sig保护。
参考图1,在第一步骤S101中,将密码密钥请求getKey提交给信任模块LTAF,特别是给信任模块LTAF的输入单元20(见图2)的输入26。在另一个实施例中,密码密钥请求getKey经由经认证的通信信道从处理设备CPU提交给信任模块LTAF。
此外,在图2中,验证单元21被配置为基于分配给处理设备CPU的公共密钥Kpub-caller来验证数字签名sig。在该实施例中,公共密钥Kpub-caller在密码密钥请求getKey内被提交给信任模块LTAF。在另一个实施例中,公共密钥Kpub-caller作为数字签名sig的一部分或者作为原始密钥或者通过引用公共密钥Kpub-caller而被提交给信任模块LTAF。接下来,公共密钥Kpub-caller被转发到第一密钥生成单元22(见图2)。
因此,根据步骤S102,基于公共密钥Kpub-caller来验证数字签名sig。
此外,在图1中的步骤S103中,第一密钥生成单元22(见图2)基于分配给处理设备CPU的公共密钥Kpub-caller和分配给信任模块LTAF的秘密密钥SK来生成内部密码密钥Ki-caller。
在该实施例中,图2的第一密钥生成单元22被配置为使用第一密钥推导函数KDF1生成内部密码密钥Ki-caller。第一密钥推导函数KDF1将公共密钥Kpub-caller和秘密密钥SK映射到内部密码密钥Ki-caller。在另一个实施例中,使用密钥生成函数生成内部密码密钥Ki-caller,在该密钥生成函数处,基于初级种子生成公共-私有密钥对。生成的内部密码密钥Ki-caller然后被转发到图2中所示的第二密钥生成单元23。
在该实施例中,所生成的内部密码密钥Ki-caller被存储在非易失性存储单元中。生成的内部密码密钥Ki-caller也可以存储在易失性存储单元中。
在图1中,在步骤S104中,第二密钥生成单元23(见图2)基于内部密码密钥Ki-caller和由处理设备CPU提供的密钥标识符devP来生成密码密钥KD。在该实施例中,图2的第二密钥生成单元23被配置为使用第二密钥推导函数KDF2生成密码密钥KD。第二密钥推导函数KDF2将内部密码密钥Ki-caller和由处理设备CPU提供的密钥标识符devP映射到密码密钥KD。接下来,生成的密码密钥KD被传输到图2中所示的加密单元24。
此外,在图1的步骤S105中,密码密钥KD由加密单元24(见图2)使用分配给处理设备CPU的公共密钥Kpub-caller进行加密,并且然后被转发给图2的输出单元25。
图2的输出单元25被配置成将加密的密码密钥Enc(KD)传输到处理设备CPU,特别是从信任模块LTAF的输出27传输到集成在处理单元CPU(见图3)内的应用App的输入29(见图3)。这对应于图1中的步骤S106。
在该实施例中,在另外的步骤中,使用分配给处理设备CPU的秘密密钥Kpriv-caller来对加密的密码密钥Enc(KD)进行解密。
作为结果,使用从信任模块LTAF获得和生成的密码密钥KD,在处理设备CPU和另一设备之间建立安全数据通信。
在另一个未示出的实施例中,数据结构由分配给信任模块LTAF的秘密密钥SK解密。数据结构作为密码密钥请求getKey的一部分从处理设备CPU传输到信任模块LTAF,以便从数据结构中获得解密的密钥。解密的密钥用于信任模块LTAF的密码操作。
图2中的信任模块LTAF被实现为无状态Lambda信任锚。信任模块LTAF进一步包括控制设备(未示出),所述控制设备被实现为根据图1的步骤S101-S106操作信任模块LTAF。
在另外的实施例中,信任模块LTAF在功能即服务云基础设施的云后端中实现,并且被配置为取决于请求客户端生成客户端特定密钥。
在另外的实施例中,信任模块LTAF被形成为密码控制器、实现在安全芯片上的硬件安全模块、形成在作为可信执行环境(TEE)或英特尔软件保护扩展(SGX)的分离执行环境内。

Claims (16)

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)的一部分从所述处理设备(CPU)传输到所述信任模块(LTAF),以便从所述数据结构中获得解密的密钥,其中解密的密钥用于所述信任模块(LTAF)的密码操作。
8.根据权利要求1 - 7中任一项所述的方法,进一步包括:
经由经认证的通信信道,从所述处理设备(CPU)向所述信任模块(LTAF)提交(S101)所述密码密钥请求(getKey)。
9.根据权利要求1 - 8中任一项所述的方法,进一步包括:
将生成的内部密码密钥(Ki-caller)存储在易失性存储单元中。
10.根据权利要求1 - 8中任一项所述的方法,进一步包括:
将生成的内部密码密钥(Ki-caller)存储在非易失性存储单元中。
11.根据权利要求1 - 10中任一项所述的方法,
其中所述信任模块(LTAF)被形成为密码控制器、实现在安全芯片上的硬件安全模块、形成在作为可信执行环境(TEE)或英特尔软件保护扩展(SGX)的分离执行环境内。
12.一种计算机程序产品,包括用于当在至少一个计算机上运行时执行权利要求1 -11中任一项所述的方法的程序代码。
13.一种用于生成用于与处理设备(CPU)建立安全数据通信的密码密钥(KD)的信任模块(LTAF),包括:
输入单元(20),被配置为从所述处理设备(CPU)接收密码密钥请求(getKey),其中所述密码密钥请求(getKey)包括由所述处理设备(CPU)提供的密钥标识符(devP),并且其中所述密码密钥请求(getKey)受所述处理设备(CPU)的数字签名(sig)保护;
验证单元(21),被配置为基于分配给所述处理设备(CPU)的公共密钥(Kpub-caller)来验证所述数字签名(sig);
第一密钥生成单元(22),被配置为基于分配给所述处理设备(CPU)的所述公共密钥(Kpub-caller)和分配给所述信任模块(LTAF)的秘密密钥(SK)生成内部密码密钥(Ki-caller);
第二密钥生成单元(23),被配置为基于所述内部密码密钥(Ki-caller)和由所述处理设备(CPU)提供的所述密钥标识符(devP)来生成所述密码密钥(KD);
加密单元(24),被配置为使用分配给所述处理设备(CPU)的所述公共密钥(Kpub-caller)来对所述密码密钥(KD)进行加密;以及
输出单元(25),被配置为将加密的密码密钥(Enc(KD))传输到所述处理设备(CPU);
其中所述信任模块(LTAF)被实现为无状态Lambda信任锚。
14.根据权利要求13所述的信任模块(LTAF),
进一步包括被实现为根据权利要求1 - 12中任一项的方法操作所述信任模块(LTAF)的控制设备。
15.根据权利要求13或14所述的信任模块(LTAF),
其中所述信任模块(LTAF)在功能即服务云基础设施的云后端中实现,并且被配置为取决于请求客户端生成客户端特定密钥。
16.一种包括可编程硬件单元(FPGA)和处理设备(CPU)的现场设备(FD),所述可编程硬件单元(FPGA)至少包括特别是根据权利要求13 - 15中任一项的信任模块(LTAF),所述处理设备(CPU)至少包括应用(App),其中所述现场设备(FD)被配置为基于通过密码密钥请求(getKey)从所述信任模块(LTAF)获得的密码密钥(KD)为所述应用(App)建立安全数据通信。
CN202080057352.4A 2019-06-14 2020-04-23 用于为处理设备建立安全数据通信的方法和用于生成密码密钥的信任模块以及现场设备 Pending CN114208109A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP19180141.4 2019-06-14
EP19180141.4A EP3751782A1 (en) 2019-06-14 2019-06-14 Method for establishing a secure data communication for a processing device and a trust module for generating a cryptographic key
PCT/EP2020/061402 WO2020249295A1 (en) 2019-06-14 2020-04-23 Method for establishing a secure data communication for a processing device and a trust module for generating a cryptographic key and a field device

Publications (1)

Publication Number Publication Date
CN114208109A true CN114208109A (zh) 2022-03-18

Family

ID=66866957

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080057352.4A Pending CN114208109A (zh) 2019-06-14 2020-04-23 用于为处理设备建立安全数据通信的方法和用于生成密码密钥的信任模块以及现场设备

Country Status (4)

Country Link
US (1) US20220263650A1 (zh)
EP (2) EP3751782A1 (zh)
CN (1) CN114208109A (zh)
WO (1) WO2020249295A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022248577A1 (de) * 2021-05-27 2022-12-01 Siemens Aktiengesellschaft Verfahren zur verschlüsselung und/oder entschlüsselung von daten und vorrichtung mit einer applikation zur verschlüsselung und/oder entschüsselung
DE102021205419A1 (de) * 2021-05-27 2022-12-01 Siemens Aktiengesellschaft Verfahren zur Verschlüsselung von Daten und Vorrichtung mit einer Applikation zur Verschlüsselung

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020013898A1 (en) * 1997-06-04 2002-01-31 Sudia Frank W. Method and apparatus for roaming use of cryptographic values
KR20050075759A (ko) * 2005-04-27 2005-07-21 노키아 코포레이션 장치 키
WO2009154020A1 (ja) * 2008-06-18 2009-12-23 日本電気株式会社 識別子に基づく鍵交換装置及び方法
CN103339958A (zh) * 2010-12-01 2013-10-02 耶德托公司 密钥传输协议
CN104734854A (zh) * 2013-12-23 2015-06-24 西门子公司 密钥的安全提供
DE102015208178A1 (de) * 2015-05-04 2016-03-24 Siemens Aktiengesellschaft Bereitstellen von langfristig gültigen Sicherheitsinformationen
CN105577383A (zh) * 2014-10-31 2016-05-11 惠普发展公司,有限责任合伙企业 密码密钥的管理
US20160330214A1 (en) * 2014-05-21 2016-11-10 Amazon Technologies, Inc. Data integrity verification
CN106209369A (zh) * 2016-07-01 2016-12-07 中国人民解放军国防科学技术大学 基于身份密码系统的单交互认证密钥协商协议
WO2018203913A1 (en) * 2017-05-03 2018-11-08 Visa International Service Association System and method for software module binding
CN109245891A (zh) * 2018-09-13 2019-01-18 国云科技股份有限公司 一种基于rsa算法的随机密钥生成方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7133845B1 (en) * 1995-02-13 2006-11-07 Intertrust Technologies Corp. System and methods for secure transaction management and electronic rights protection
US11405365B2 (en) * 2019-03-13 2022-08-02 Springcoin, Inc. Method and apparatus for effecting a data-based activity
US11797690B2 (en) * 2019-04-11 2023-10-24 Intel Corporation Protected data accesses using remote copy operations

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020013898A1 (en) * 1997-06-04 2002-01-31 Sudia Frank W. Method and apparatus for roaming use of cryptographic values
KR20050075759A (ko) * 2005-04-27 2005-07-21 노키아 코포레이션 장치 키
WO2009154020A1 (ja) * 2008-06-18 2009-12-23 日本電気株式会社 識別子に基づく鍵交換装置及び方法
CN103339958A (zh) * 2010-12-01 2013-10-02 耶德托公司 密钥传输协议
CN104734854A (zh) * 2013-12-23 2015-06-24 西门子公司 密钥的安全提供
US20150180654A1 (en) * 2013-12-23 2015-06-25 Rainer Falk Secure Provision of a Key
US20160330214A1 (en) * 2014-05-21 2016-11-10 Amazon Technologies, Inc. Data integrity verification
CN105577383A (zh) * 2014-10-31 2016-05-11 惠普发展公司,有限责任合伙企业 密码密钥的管理
DE102015208178A1 (de) * 2015-05-04 2016-03-24 Siemens Aktiengesellschaft Bereitstellen von langfristig gültigen Sicherheitsinformationen
CN106209369A (zh) * 2016-07-01 2016-12-07 中国人民解放军国防科学技术大学 基于身份密码系统的单交互认证密钥协商协议
WO2018203913A1 (en) * 2017-05-03 2018-11-08 Visa International Service Association System and method for software module binding
CN109245891A (zh) * 2018-09-13 2019-01-18 国云科技股份有限公司 一种基于rsa算法的随机密钥生成方法

Also Published As

Publication number Publication date
US20220263650A1 (en) 2022-08-18
EP3751782A1 (en) 2020-12-16
WO2020249295A1 (en) 2020-12-17
EP3966990A1 (en) 2022-03-16

Similar Documents

Publication Publication Date Title
US10951423B2 (en) System and method for distribution of identity based key material and certificate
US10218502B2 (en) Confidential communication management
US10958664B2 (en) Method of performing integrity verification between client and server and encryption security protocol-based communication method of supporting integrity verification between client and server
CN110677240B (zh) 通过证书签发提供高可用计算服务的方法、装置及介质
US10790979B1 (en) Providing high availability computing service by issuing a certificate
CN107317677B (zh) 密钥存储及设备身份认证方法、装置
JP2018503318A (ja) 量子鍵配送のための方法、装置、及びシステム
JP2020526146A (ja) 第1のアプリケーションと第2のアプリケーションとの間の対称型相互認証方法
WO2017167771A1 (en) Handshake protocols for identity-based key material and certificates
CN108809907B (zh) 一种证书请求消息发送方法、接收方法和装置
CN114157415A (zh) 数据处理方法、计算节点、系统、计算机设备和存储介质
US20190044922A1 (en) Symmetric key identity systems and methods
US20230126356A1 (en) Protecting Application Private Keys with Remote and Local Security Controllers
KR102591826B1 (ko) Puf를 이용한 인증서 기반 디바이스 인증 장치 및 방법
CN114039753A (zh) 一种访问控制方法、装置、存储介质及电子设备
CN110912685B (zh) 建立受保护通信信道
US20220263650A1 (en) Method for establishing a secure data communication for a processing device and a trust module for generating a cryptographic key and a field device
EP2905717A1 (en) Device and method for device and user authentication
Yoon et al. Security enhancement scheme for mobile device using H/W cryptographic module
US20240187262A1 (en) Encrypted and authenticated firmware provisioning with root-of-trust based security
KR20240129914A (ko) 모바일 단말 보안 강화 장치 및 방법
CN116226933A (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