CN113841368A - 验证进入信任区的车辆的身份 - Google Patents

验证进入信任区的车辆的身份 Download PDF

Info

Publication number
CN113841368A
CN113841368A CN202080031426.7A CN202080031426A CN113841368A CN 113841368 A CN113841368 A CN 113841368A CN 202080031426 A CN202080031426 A CN 202080031426A CN 113841368 A CN113841368 A CN 113841368A
Authority
CN
China
Prior art keywords
vehicle
key
identity
computing device
memory
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.)
Withdrawn
Application number
CN202080031426.7A
Other languages
English (en)
Inventor
A·蒙代洛
A·特罗亚
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.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN113841368A publication Critical patent/CN113841368A/zh
Withdrawn 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/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/3226Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/90Services for handling of emergency or hazardous situations, e.g. earthquake and tsunami warning systems [ETWS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/3271Cryptographic 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 using challenge-response
    • H04L9/3278Cryptographic 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 using challenge-response using physically unclonable functions [PUF]
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/46Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for vehicle-to-vehicle communication [V2V]
    • 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/80Wireless
    • 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/84Vehicles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Emergency Management (AREA)
  • Environmental & Geological Engineering (AREA)
  • Public Health (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

一种方法包含:从接近信任区的车辆接收对应于所述车辆的身份的标识符;通过计算装置(例如,在所述信任区的门处的接入服务器)且使用所述标识符验证所述车辆的所述身份;及将所述车辆的所述身份与存储在数据库中的一组授权身份进行比较。

Description

验证进入信任区的车辆的身份
相关申请案
本申请案要求2019年3月25日申请的名称为“验证进入信任区的车辆的身份(VERIFYING IDENTITY OF A VEHICLE ENTERING A TRUST ZONE)”的美国专利申请案序列号16/363,211的优先权,所述申请案的整个公开内容以引用的方式并入本文中。
本申请涉及由皮萨萨莱(Pisasale)等人在2018年05月03日申请的名称为“噪声环境中的密钥产生及安全存储(KEY GENERATION AND SECURE STORAGE IN A NOISYENVIRONMENT)”的美国非临时申请案序列号15/970,660,所述申请案的全部内容以引用的方式并入,如同在本文中完全阐述。
本申请涉及由蒙德罗(Mondello)等人在2017年12月22日申请的名称为“使用消息认证码的物理不可克隆函数(PHYSICAL UNCLONABLE FUNCTION USING MESSAGEAUTHENTICATION CODE)”的美国非临时申请案序列号15/853,498,所述非临时申请案的全部内容以引用的方式并入,如同在本文中完全阐述。
本申请涉及由蒙德罗(Mondello)等人在2018年4月27日申请的名称为“使用单调计数器的秘密密钥的安全分布(SECURE DISTRIBUTION OF SECRET KEY USING AMONOTONICCOUNTER)”的美国非临时申请案序列号15/965,731,所述非临时申请案的全部内容以引用的方式并入,如同在本文中完全阐述。
技术领域
本文所公开的至少一些实施例大体上涉及计算装置的身份,且更具体地说但不限于验证接近和/或进入信任区的车辆的身份。
背景技术
物理不可克隆函数(PUF)提供例如可充当例如微处理器的半导体装置的唯一身份的数字值。举例来说,PUF是基于在半导体制造期间自然地发生且准许在另外相同的半导体芯片之间进行区分的物理变化。
PUF通常在密码术中使用。PUF可为例如体现于物理结构中的物理实体。PUF通常实施于集成电路中,且通常用于具有高安全需求的应用中。举例来说,PUF可用作唯一且不可篡改的装置标识符。PUF还可用于安全密钥产生,且用作随机性的来源。
在与装置标识相关一个实例中,
Figure BDA0003320630870000021
IoT平台为由微软提供的云服务的集合。
Figure BDA0003320630870000022
IoT平台支持装置身份合成引擎(DICE)及许多不同种类的硬件安全模块(HSM)。DICE为用于装置标识和认证的受信任计算组(TCG)处的即将来临的标准,其使得制造商能够使用硅栅来建立位于硬件中的装置标识。HSM用于确保装置身份且提供高级功能性,例如基于硬件的装置认证和零触摸配置(zero touch provisioning)。
DICE提供可缩放安全性框架,其使用HSM占据面积来锚定信任以用于构建安全性解决方案,例如验证、安全启动和远程认证。DICE可用于表征IoT装置的约束计算的当前环境,且提供对更传统的安全框架标准的替代,例如受信任计算组(TCG)和受信任平台模块(TPM)。
Figure BDA0003320630870000023
IoT平台具有对来自一些硅供应商的HSM中的DICE的HSM支持。
在与信任服务相关的一个实例中,鲁棒物联网(RIoT)是用于将信任服务提供到计算装置的架构。信任服务包含装置身份、认证及数据完整性。RIoT架构可用于在已经由恶意软件破解的装置中远程地重新建立信任。并且,可以低成本在甚至极小的装置上提供RIoT服务。
改进安全性技术已经产生对领域中的产品的更频繁的软件更新的需要。然而,这些更新必须在无需人工介入的情况下管理和验证。RIoT可以用于解决这些技术问题。
RIoT提供用于许多安全情境的加密操作和密钥管理的基础。认证、完整性验证和数据保护需要用以加密和解密的加密密钥,以及用以散列和签名数据的机制。大多数联网装置还使用密码术以确保与其它装置的通信。
由RIoT提供的加密服务包含装置身份、数据保护及认证。关于装置身份,装置通常通过证实加密密钥的拥有而认证其自身。如果提取和克隆与装置相关的密钥,那么装置可为假冒的。
关于数据保护,装置通常使用密码术来加密和完整保护本地存储的数据。如果加密密钥仅可由授权代码访问,那么未经授权的软件不能够解密或修改所述数据。
关于认证,装置有时需要报告其正在运行的代码和其安全配置。举例来说,认证用于证实装置正在运行最新代码。
如果仅在软件中管理密钥,那么软件组件中的错误可导致密钥泄漏。对于纯软件系统,在密钥泄漏之后恢复信任的主要方式在于安装经更新的软件且为装置提供新密钥。这对于服务器和移动装置是费时的,且在装置物理上不可访问时是不可能的。
用以确保远程重新供应的一些方法使用基于硬件的安全性。软件级攻击可允许黑客使用受硬件保护的密钥但不提取所述密钥,因此受硬件保护的密钥是用于被破解系统的重新供应的有用构建块。受信任平台模块或TPM是为密钥提供硬件保护的安全模块的实例,且还允许装置报告(证明)其正在运行的软件。因此,被破解的配备TPM的装置可以安全地发布新密钥,并且可以提供认证报告。
TPM在计算平台上广泛可用(例如,使用SoC集成且处理器模式隔离的固件TPM)。然而,TPM通常为不可行的。举例来说,小IoT装置不能够在不显著增加成本及电力需要的情况下支持TPM。
RIoT可用于为小计算装置提供装置安全性,但其还可应用于任何处理器或计算机系统。如果RIoT内核之外的软件组件被破解,那么RIoT提供安全修补和重新供应。RIoT还将不同的方法用于加密密钥保护。由RIoT框架使用的最受保护的加密密钥仅可在启动期间简单地获得。
附图说明
在附图的图中借助于实例而非限制说明实施例,在附图中,相似的参考标号指示类似的元件。
图1展示根据一个实施例的验证计算装置的身份的主机装置。
图2展示根据一个实施例的具有身份组件及验证组件的实例计算系统。
图3展示根据一个实施例的车辆的实例计算装置。
图4展示根据一个实施例的与车辆的实例计算装置通信的实例主机装置。
图5A展示根据一个实施例的产生主机装置的标识符、证书及密钥的应用程序板。
图5B展示根据一个实施例的使用层分段启动的实例计算系统。
图6展示根据一个实施例的使用非对称生成器产生标识符、证书及密钥的实例计算装置。
注意
图7展示根据一个实施例的使用解密操作验证计算装置的身份的验证组件。
图8展示根据一个实施例的用以验证证书的实例过程的框图。
图9展示根据一个实施例的使用标识符、证书及密钥验证计算装置的身份的方法。
图10展示根据一个实施例的用于从消息认证码(MAC)的输出产生唯一密钥的系统,所述消息认证码从物理不可克隆函数(PUF)装置接收输入。
图11展示根据一个实施例的用于从MAC的输出产生唯一密钥的系统,所述MAC从由选择器模块选择的一或多个PUF装置接收输入。
图12展示根据一个实施例的用于从MAC的输出产生唯一密钥的系统,所述MAC接收来自一或多个PUF装置的输入及来自单调计数器的输入(和/或来自如NONCE、时间戳等的另一新鲜度机制的输入)。
图13展示根据一个实施例的从使用由一或多个PUF提供的一或多个输入值的MAC产生输出的方法。
图14展示根据一个实施例的用于从MAC的输出产生根密钥的系统,所述MAC接收来自一或多个PUF装置的输入及来自单调计数器的输入(和/或来自如NONCE、时间戳等另一新鲜度机制的输入),且添加额外MAC以产生会话密钥。
图15展示根据一个实施例的用于将混淆密钥存储在非易失性存储器中的计算装置。
图16展示根据一个实施例的在混淆处理过程期间产生的中间密钥的实例。
图17展示根据一个实施例的在图16的混淆处理过程期间产生的另一中间密钥的实例。
图18展示根据一个实施例的用于在非易失性存储器中产生并存储混淆密钥的方法。
图19展示根据一个实施例的用于基于密钥注入产生初始密钥、混淆初始密钥且将混淆密钥存储在非易失性存储器中的计算装置。
图20展示根据一个实施例的用于使用物理不可克隆函数(PUF)产生身份的计算装置。
图21展示根据一个实施例的发送由系统的单调计数器提供的初始值以用于确定是否已发生对系统的篡改的系统。
图22展示根据一个实施例的用于使用物理不可克隆函数(PUF)产生计算装置的身份的方法。
图23展示根据一个实施例的使用一或多个证书验证紧急车辆的身份的附近车辆。
图24展示根据一个实施例的用于使用标识符、证书及公钥来验证车辆的身份的方法。
图25展示根据一个实施例的验证接近信任区的车辆的身份的接入服务器。
图26展示根据一个实施例的控制车辆对信任区的接入的闸机服务器。
图27展示根据一个实施例的用于验证接近信任区的车辆的身份的方法。
具体实施方式
本文中的至少一些实施例涉及一或多个计算装置的身份的验证。在各种实施例中,主机装置通过将消息发送到计算装置而验证计算装置的身份。计算装置使用所述消息来产生发送到主机装置的标识符、证书及密钥。主机装置使用所产生的标识符、证书及密钥来验证计算装置的身份。
其它实施例涉及使用物理不可克隆函数(PUF)产生计算装置的身份。在下文描述的各种实施例中,在主机装置如上文所描述验证身份之前,上文计算装置可使用至少一个PUF产生其自身身份。在下文标题为“使用PUF产生计算装置的身份(Generating anIdentity for a Computing Device Using a PUF)”的章节中描述关于使用一或多个PUF产生身份的各种实施例。
其它实施例涉及将身份分配到第一车辆,且使用第二车辆来验证第一车辆的身份。在一个实施例中,第一车辆为紧急车辆。在其它实施例中,第一车辆可为与操作的状态和/或一类车辆相关联的车辆。在下文标题为“分配及验证车辆的身份(Assigning andVerifying Identity for a Vehicle)”的章节中描述关于分配及验证车辆(例如,紧急车辆)的身份的各种实施例。
其它实施例涉及验证进入信任区的车辆的身份。在一个实施例中,信任区为车辆正进入的经限定地理区(例如,机场或其它安全设施),且对信任区的接入由接入服务器控制。在下文标题为“验证进入信任区的车辆的身份(Verifying Identity of VehicleEntering Trust Zone)”的章节中描述关于验证进入信任区的车辆的身份的各种实施例。
在与身份的验证相关的一些实例中,计算装置可为快闪存储器装置。在一些实例中,利用快闪存储器以在计算系统(例如,自主车辆的应用程序控制器)中添加强安全能力水平。
快闪存储器在众多计算机系统中使用。当今存在各种类型的快闪存储器,包含串行NOR、并行NOR、串行NAND、并行NAND、e.MMC、UFS等。这些插口跨越各种行业和应用而用于大部分嵌入式系统中。
举例来说,串行NOR在例如医疗装置、工厂自动化板、汽车ECU、智能表和因特网网关等大量应用中使用。给定芯片组架构(处理器、控制器或SoC)、操作系统和跨越这些应用使用的供应链的分集,快闪存储器为这些系统中的公分母构建块。
当今的计算机系统弹性的特征通常在于信任根的位置集成到装置中,且由其提供的安全功能的解决方案利用。对于关于信任根的更多信息,参见在特种出版物800-164中的国家技术研究所(the National Institute of Technology,NIST)产生的定义。现有行业使用系统级的信任根的不同实施方案,使用硬件和软件能力的混合,产生方法的碎片化的技术问题和混淆安全性等级。选项的此复杂阵列还遭受如何防御其中存储有关键代码和数据的非易失性存储器的关键限制。
现有方法依赖于处理器和其它安全元件(例如,硬件安全模块(HSM))以将关键安全服务提供到其系统。这已在许多系统中在最低等级的启动下产生安全间隙,其中离散快闪存储器组件存储系统-关键代码和数据。闪存已变为许多黑客建立可从较高层级代码掩蔽其自身且抵抗去除的高级持续性威胁(APT)的目标。在许多这些情况下,快闪存储器用新的恶意代码重新成像或重写,这会破坏所述装置的完整性。
与身份的验证相关的本公开的各种实施例提供针对以上技术问题的技术解决方案。在一些实施例中,计算装置将基于硬件的信任根集成到快闪存储器装置中,从而实现IoT装置的强加密身份和健康管理。通过存储器内移动基本安全原语,保护容纳于存储器自身内的代码及数据的完整性变成更简单。此方法可显著增强系统级安全性,同时最小化实施方案的复杂性和成本。
在一个实施例中,新IoT装置管理能力利用快闪存储器,方法是使用快闪存储器和相关联软件实现由
Figure BDA0003320630870000061
IoT云进行的装置配置入网(onboarding)和管理。在一个例子中,解决方案提供加密身份,所述加密身份变成用于关键装置供应服务(例如,Azure IoT集线器装置供应服务(DPS))的基础。在一个实例中,此DPS连同经启用存储器可实现装置至正确IoT集线器的零接触配置以及其它服务。
在一些实施例中,为了实施以上能力,使用装置身份合成引擎(DICE)(DICE为来自受信任计算组(TCG)的即将来临的标准)。在一个实例中,经启用存储器仅准许受信任硬件获得对Microsoft Azure IoT云的存取。在一个实例中,IoT装置的健康及身份在存储器中经验证,其中通常存储关键代码。每一IoT装置的唯一身份现在可在新层级处提供端对端装置完整性,在启动过程处开始。这可实现额外功能性,如基于硬件的装置认证和供应以及必要时管理装置的补救。
在一个实施例中,方法包含:通过计算装置(例如,串行NOR快闪存储器装置)从主机装置(例如,CPU、GPU、FPGA或车辆的应用程序控制器)接收消息;通过计算装置产生标识符(例如,公共标识符IDL1 public)、证书(例如,IDL1 certificate)及密钥(例如,KL1public),其中标识符与计算装置的身份相关联,且证书使用消息而产生;及通过计算装置将标识符、证书及密钥发送到主机装置,其中主机装置经配置以使用标识符、证书及密钥验证计算装置的身份。
在一些实施例中,以上计算装置(例如,快闪存储器装置)集成DICE-RIoT功能性,其用于产生上文所描述且由主机装置使用以验证计算装置的身份的标识符、证书和密钥。在一个实例中,计算装置存储充当原语密钥的装置秘密,DICE-RIoT协议的层之间的识别步骤的序列是基于所述原语密钥。在一个实例中,DICE-RIoT功能性的层L0及L1使用硬件和/或软件在计算装置中实施。在一个实例中,层L0仅以硬件实施。
图1展示根据一个实施例的验证计算装置141的身份的主机装置151。主机装置151将消息发送至计算装置141。在一个实施例中,主机装置151包含新鲜度机制(未展示),其产生供用于将消息发送到计算装置141以避免重放攻击的新鲜度。在一个实例中,发送到计算装置141的每一消息包含由单调计数器产生的新鲜度。
在一个实例中,消息为空串、常规已知串(例如,主机装置151的制造商或操作员已知的字母数字串),或可为另一值(例如,分配给计算装置的身份值)。在一个实例中,消息为装置的唯一身份(UID)。
响应于接收到消息,计算装置141产生标识符、证书及密钥。标识符与计算装置141的身份相关联。计算装置141包含控制身份组件147的操作和/或计算装置141的其它功能的一或多个处理器143。
标识符、证书及密钥由身份组件147产生且基于装置秘密149。在一个实例中,装置秘密149为存储在计算装置141的存储器中的唯一装置秘密(UDS)。在一个实例中,身份组件147使用UDS作为用于实施DICE-RIoT协议的原语密钥。标识符、证书及密钥从DICE-RIoT协议的层L1输出(参见例如图6)。在一个实施例中,层L1的身份对应于计算装置141自身、计算装置141的制造商、包含计算装置141作为组件的事物的制造商和/或存储在计算装置141的存储器中的应用程序或其它软件的身份。在一个实例中,应用程序身份(例如,ID号)用于移动电话、TV、STB等,对于所述移动电话、TV、STB等,字符及数字的唯一组合用于识别事物。
在一个实例中,层L1的身份为ASCII串。举例来说,身份可为与事物名称串连的制造商名称(例如,LG|TV_model_123_year_2018等)。在一个实例中,身份可以十六进制形式表示(例如,53 61 6D 73 75 6E 67 20 7C 20 54 56 5F 6D 6F 64 65 6C 5F 31 32 335F 79 65 61 72 5F 32 30 31 38)。
在一个实施例中,制造商可针对正生产的一类或一组物品使用UDS。在其它实施例中,每一物品可具有其自身的唯一UDS。举例来说,TV的UDS可为UDS=0x12234…4444,且膝上型计算机的UDS可为UDS=0xaabb…00322。
在一个实施例中,装置秘密149为由计算装置141存储在存储器145中的秘密密钥。身份组件147使用秘密密钥作为到消息认证码(MAC)的输入以产生衍生秘密。在一个实例中,衍生秘密为DICE-RIoT协议中的融合衍生秘密(FDS)。
在一个实例中,存储器145包含存储用于启动计算装置141的初始启动代码的只读存储器(ROM)。FDS为在启动操作期间由处理器143提供到初始启动代码的密钥。在一个实例中,ROM对应于DICE-RIoT协议的层L0
主机装置151使用标识符、证书及密钥作为到验证组件153的输入,所述验证组件153验证计算装置141的身份。在一个实施例中,验证组件153使用标识符来执行至少一个解密操作以提供结果。将结果与密钥进行比较以确定计算机装置141的身份是否有效。如果是,那么主机装置151使用从计算装置141接收的密钥执行与计算装置141的进一步通信。举例来说,一旦主机装置151验证“三元组”(标识符、证书和密钥),则密钥可用于认证在计算装置141与主机装置151之间交换的任何其它信息。
在一个实施例中,将数字标识分配给大量“事物”(例如,根据物联网)。在一个实例中,所述事物是物理物体,例如车辆或存在于车辆内部的物理物品。在一个实例中,事物为人或动物。举例来说,每个人或动物可被分配唯一数字标识符。
在一些情况下,产品的制造商希望可将每一产品证实为真。目前,通过仅从受信任卖方购买事物,或从具有确保所购买的事物为真的某种法律证书的其它人购买事物来解决此问题。然而,在偷窃事物的情况下,如果事物不具有电子身份,那么难以阻断或定位事物,使得不会不恰当地使用事物。在一个实例中,定位是基于当事物尝试与公共基础设施交互时的身份。在一个实例中,阻断是基于不能证实想要使用公共基础设施的事物的身份。
在一个实施例中,计算装置141使用身份组件147实施DICE-RIoT协议,以便使唯一签名与对应于计算装置141的信任链相关联。计算装置141建立层L0及L1。信任链通过建立层L2…的主机装置151继续。在一个实例中,可将唯一标识符分配给任何经定义环境(例如,由地理参数定义的信任区)中的每一物件、人及动物。
在一个实施例中,计算装置141为期望被分配身份的事物中的组件。举例来说,事物可为包含计算装置141的自主车辆。举例来说,计算装置141可为由车辆的应用程序控制器使用的快闪存储器。
当制造计算装置141时,制造商可将UDS注入到存储器145中。在一个实例中,UDS可经商定且与将使用计算装置141执行额外制造操作的客户共享。在另一实例中,UDS可由原始制造商随机产生,且接着使用安全基础设施(例如,经由例如因特网的网络)传达到客户。
在一个实例中,客户可为并入有计算装置141的车辆的制造商。在许多情况下,车辆制造商希望改变UDS,使得其为计算装置141的卖方未知的。在这些情况下,客户可使用由主机装置151提供到计算装置141的经认证替换命令来替换UDS。
在一些实施例中,客户可将客户不可变的信息注入到计算装置141的存储器145中。在一个实例中,不可变的信息用于产生唯一FDS,且并不单独用作微分器。客户不可变信息用于区分由客户制造的各种物件。举例来说,客户不可变信息可为字母和/或数字的组合,以定义原语信息(例如,以下信息中的一些或全部的组合:日期、时间、批次位置、晶片位置、晶片中的x、y方位等)。
举例来说,在许多情况下,不可变的信息还包含来自由用户(例如,从制造商接收装置的客户)执行的加密特征配置的数据。此配置或设置可以仅通过使用认证命令(需要了解待执行的密钥的命令)完成。用户具有密钥的知识(例如,基于经由来自制造商的安全基础设施提供)。不可变信息表示计算装置的加密身份的形式,其不同于装置的唯一ID(UID)。在一个实例中,将加密配置包含于一组不可变信息中为用户提供可用于自行定制不可变信息的工具。
在一个实施例中,计算装置141包含产生新鲜度的新鲜度机制。新鲜度可具备发送到主机装置151时的标识符、证书和密钥。新鲜度还可与主机装置151的其它通信一起使用。
在一个实施例中,计算装置141为应用程序板上的组件。应用程序板上的另一组件(未展示)可使用装置秘密149的知识(例如,所注入的UDS的知识)验证计算装置141的身份。组件请求计算装置141使用消息认证码产生输出以便证实拥有UDS。举例来说,消息认证码可如下:HMAC(UDS,“应用程序板消息|新鲜度”)
在另一实施例中,FDS还可用作证实装置的拥有(例如,秘密密钥的知识)的准则。FDS以此方式衍生自UDS:FDS=HMAC-SHA256[UDS,SHA256(“L1”的身份)]
因此,消息认证码可如下:HMAC(FDS,“应用程序板消息|新鲜度”)
图2展示根据一个实施例的具有身份组件107及验证组件109的实例计算系统。主机系统101经由总线103与存储器系统105通信。存储器系统105的处理装置111具有对非易失性存储器121的存储器区111、113……119的读取/写入存取。在一个实例中,主机系统101还从易失性存储器123读取数据并且将数据写入到易失性存储器123。在一个实例中,身份组件107支持DICE-RIoT协议的层L0和L1。在一个实例中,非易失性存储器121存储启动代码。
验证组件109用于验证存储器系统105的身份。验证组件109响应于从主机系统101接收到主机消息而使用包含由身份组件107产生的标识符证书及密钥的三元组,例如如上文所描述。
身份组件107为图1的身份组件147的实例。验证组件109为图1的验证组件153的实例。
存储器系统105包含密钥存储区157及密钥生成器159。在一个实例中,密钥存储区157可存储根密钥、会话密钥、UDS(DICE-RIoT)和/或用于由存储器系统105进行加密操作的其它密钥。
在一个实例中,密钥生成器159产生发送到主机系统101以供用于由验证组件109验证的公钥。将公钥作为还包含标识符和证书的三元组的部分发送,如上文所描述。
存储器系统105包含新鲜度生成器155。在一个实例中,新鲜度生成器155可用于经认证命令。在一个实例中,可使用多个新鲜度生成器155。在一个实例中,新鲜度生成器155可供主机系统101使用。
在一个实例中,处理装置111和存储器区111、113……119在同一芯片或裸片上。在一些实施例中,存储器区存储供主机系统101和/或处理装置111在机器学习处理期间使用的数据和/或在主机系统101上或处理装置111上执行的软件处理程序所产生的其它数据。
计算系统可包含存储器系统105中的写入组件,所述写入组件选择用于记录来自主机系统101的新数据的存储器区111(例如,快闪存储器的记录段)。计算系统100可进一步包含主机系统101中的写入组件,所述写入组件与存储器系统105中的写入组件107协调以至少促进存储器区111的选择。
在一个实例中,易失性存储器123用作主机系统101的处理装置(未展示)的系统存储器。在一个实施例中,主机系统101的处理程序选择存储器区以用于写入数据。在一个实例中,主机系统101可部分地基于来自传感器和/或在自主车辆上执行的软件处理程序的数据而选择存储器区。在一个实例中,前述数据由主机系统101提供到选择存储器区的处理装置111。
在一些实施例中,主机系统101或处理装置111包含身份组件107和/或验证组件109的至少一部分。在其它实施例中,或以组合方式,处理装置111和/或主机系统101中的处理装置包含身份组件107和/或验证组件109的至少一部分。举例来说,处理装置111和/或主机系统101的处理装置可包含实施身份组件107和/或验证组件109的逻辑电路。举例来说,主机系统101的控制器或处理装置(例如,CPU、FPGA或GPU)可经配置以执行存储于存储器中的用于进行本文所描述的身份组件107和/或验证组件109的操作的指令。
在一些实施例中,身份组件107实施于安置于存储器系统105中的集成电路芯片中。在其它实施例中,主机系统101中的验证组件109是主机系统101的操作系统、装置驱动器或应用程序的部分。
存储器系统105的实例是经由存储器总线连接到中央处理单元(CPU)的存储器模块。存储器模块的实例包含双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM)、非易失性双列直插式存储器模块(NVDIMM)等。在一些实施例中,存储器系统可以是提供存储器功能和存储装置功能两者的混合存储器/存储系统。一般来说,主机系统可利用包含一或多个存储器区的存储器系统。主机系统可提供待存储于存储器系统处的数据,且可请求待从存储器系统检索的数据。在一个实例中,主机可存取包含易失性和非易失性存储器的各种类型的存储器。
主机系统101可为计算装置,例如车辆中的控制器、网络服务器、移动装置、蜂窝式电话、嵌入式系统(例如,具有片上系统(SOC)和内部或外部存储器的嵌入式系统),或包含存储器和处理装置的任何计算装置。主机系统101可包含或耦合到存储器系统105,使得主机系统101可从存储器系统105读取数据或将数据写入到存储器系统105。主机系统101可经由物理主机接口耦合到存储器系统105。如本文中所使用,“耦合到”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如,没有中间组件),无论是有线还是无线的,包含例如电连接、光学连接、磁连接等的连接。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行连接的SCSI(SAS)、双数据速率(DDR)存储器总线等。物理主机接口可用于在主机系统101与存储器系统105之间发射数据。物理主机接口可提供用于在存储器系统105与主机系统101之间传递控制、地址、数据和其它信号的接口。
图2将存储器系统105作为实例进行说明。一般来说,主机系统101可经由相同通信连接、多个单独通信连接和/或通信连接的组合存取多个存储器系统。
主机系统101可包含处理装置和控制器。主机系统101的处理装置可例如为微处理器、中央处理单元(CPU)、处理器的处理核心、执行单元等。在一些情况下,主机系统的控制器可称为存储器控制器、存储器管理单元和/或起始器。在一个实例中,控制器控制在主机系统101与存储器系统105之间经由总线103的通信。这些通信包含发送用于如上文所描述验证存储器系统105的身份的主机消息。
主机系统101的控制器可与存储器系统105的控制器通信以执行例如在非易失性存储器121的存储器区处读取数据、写入数据或擦除数据的操作。在一些情况下,控制器集成于处理装置111的同一封装内。在其它实情况下,控制器与处理装置111的封装分开。控制器和/或处理装置可包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器、高速缓存存储器或其组合。控制器和/或处理装置可以是微控制器、专用逻辑电路(例如现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或另一合适的处理器。
在一个实施例中,存储器区111、113……119可包含不同类型的非易失性存储器组件的任何组合。此外,存储器区的存储器单元可分组为存储器页或数据块,其可指用以存储数据的单元。在一些实施例中,易失性存储器123可为但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)。
在一个实施例中,存储器系统105的一或多个控制器可与存储器区域111、113……119通信以执行操作,例如读取数据、写入数据或擦除数据。每一控制器可包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器或其组合。每一控制器可以是微控制器、专用逻辑电路(例如现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或另一合适的处理器。控制器可包含经配置以执行存储在本地存储器中的指令的处理装置(处理器)。在一个实例中,控制器的本地存储器包含经配置以存储用于执行控制存储器系统105的操作(包含操控存储器系统105与主机系统101之间的通信)的各种处理程序、操作、逻辑流程和例程的指令的嵌入式存储器。在一些实施例中,本地存储器可包含存储存储器指针、所提取数据等的存储器寄存器。本地存储器还可包含用于存储微码的只读存储器(ROM)。
一般来说,存储器系统105的控制器可从主机系统101和/或处理装置111接收命令或操作并且可将所述命令或操作转换成基于针对存储器区的数据写入计数器而实现存储器区的选择的指令或适当命令。控制器还可负责其它操作,例如耗损均衡、垃圾收集操作、错误检测和错误校正码(ECC)操作、加密操作、高速缓存操作和在与存储器区相关联的逻辑块地址与物理块地址之间的地址转换。控制器可进一步包含主机接口电路以经由物理主机接口与主机系统101通信。主机接口电路可将从主机系统接收到的命令转换成命令指令以存取存储器区中的一或多个,以及将与存储器区相关联的响应转换成用于主机系统101的信息。
存储器系统105还可包含未说明的额外电路或组件。在一些实施例中,存储器系统105可包含可从一或多个控制器接收地址且对地址进行解码以存取存储器区的高速缓存或缓冲器(例如,DRAM或SRAM)和地址电路(例如,行解码器和列解码器)。
在一些实施例中,主机系统101或存储器系统105中的控制器和/或处理装置111包含身份组件107和/或验证组件109的至少一部分。举例来说,控制器和/或处理装置111可包含实施身份组件107和/或验证组件109的逻辑电路。举例来说,处理装置(处理器)可经配置以执行存储于存储器中的指令以用于进行提供对如本文中所描述的身份组件107的存储器区的读取/写入存取的操作。在一些实施例中,验证组件109是操作系统、装置驱动器或应用程序的部分。
图3展示根据一个实施例的车辆100的实例计算装置。举例来说,车辆100可为自主车辆、非自主车辆、紧急车辆、服务车辆等。
车辆100包含车辆计算装置110,例如车载计算机。车辆计算装置110为图1的主机装置151的实例。在另一实例中,车辆计算装置110为图2的主机系统101的实例,且存储器160为存储器系统105的实例。
车辆计算装置110包含耦合到车辆通信组件130的处理器120,所述车辆通信组件130为例如读取器、写入器和/或能够执行下文描述的功能的其它计算装置,其耦合到(或包含)天线140。车辆通信组件130包含耦合到例如非易失性快闪存储器的存储器160的处理器150,但实施例不限于此种类的存储器装置。
在一个实例中,存储器160适于存储与车辆(例如,驾驶员、乘客和所载运货物)相关的所有信息,其方式为使得车辆100能够在接近检查点时通过使用通信接口(例如所谓的DICE-RIoT协议)提供此信息,如下文所描述。
在一个实例中,车辆信息(例如车辆ID/车牌号)已经存储于车辆存储器160中,且车辆100能够例如通过通信组件130并且通过使用已知DICE-RIoT协议或类似协议,识别乘客的电子ID和/或载运的行李箱、货物等等的ID,并且随后将此信息存储于存储器160中。在一个实例中,电子ID、运输的行李箱及货物集装箱配备有无线应答器、NFC、蓝牙、RFID、非接触式传感器、磁条等等,且通信组件130可使用读取器和/或电磁场从这类远程来源获取需要的信息。
在一个实例中,所有乘客ID和/或载运的行李箱、货物等的ID配备有能够与通信组件交换数据的电子装置。那些电子装置可为有源或无源元件,在某种意义上,其可为有源的,原因是其由电力供电,或可被外部电源激活和供电,所述外部电源仅当电气装置在其附近时才提供所需的电力供应。
租赁车辆或自主车辆可使用读取器和/或电磁场来获取车辆内部或附近的信息,或作为替代方案,可甚至从远程来源接收信息,例如当租赁车辆的驾驶员由于先前预约而已经得知租赁系统时。当驾驶员到达以提车时,可实时地进行另一检查。
类似地,关于车辆100所载运的所运输行李箱及货物(以及关于乘客)的所有信息可维持为总是最新的。为此,归因于与行李箱及货物相关联或乘客(未展示)所拥有的无线应答器,乘客的电子ID和/或所载运的行李箱和货物的ID实时地更新。
在一个实例中,车辆通信组件130与附近来源(例如,货物应答器等)之间的通信经由DICE-RIoT协议发生。
在一个实例中,车辆计算装置110可控制车辆100的操作参数,例如转向及速度。举例来说,控制器(未展示)可耦合到转向控制系统170和速度控制系统180。此外,车辆计算装置110可耦合到信息系统190。信息系统190可经配置以显示消息,例如路线信息或检查点安全消息,且可显示视觉警告和/或输出可听警告。通信组件130可从额外计算装置,例如从外部计算装置(未展示)接收信息。
图4展示根据一个实施例的具有与车辆300的实例计算装置通信的主机装置350的实例系统390。计算装置包含无源通信组件310,例如短程通信装置(例如,NFC标签)。通信组件310可处于车辆300中,所述车辆300可如图3中针对车辆100所展示进行配置,且除了可如车辆通信组件130配置的通信组件310之外还包含车辆100的组件。通信组件310包含芯片320(例如,实施车辆300的CPU或应用程序控制器),所述芯片320具有存储关于车辆300的信息(例如车辆ID、驾驶员/乘客信息、所载运的货物信息等)的非易失性存储组件330。通信组件310可以包含天线340。
主机装置350为例如有源通信装置(例如,其包含电源),其可从通信组件310接收信息和/或向通信组件310发射信息。在一些实例中,主机装置350可包含读取器(例如NFC读取器),例如收费读取器,或其它组件。主机装置350可为邻近检查点(例如,在信任区的边界处)或通常邻近受限存取区域而布置(例如,嵌入)的外部装置。在一些实施例中,主机装置350还可由警察携带以供用作便携式装置。
主机装置350可包含处理器360、例如非易失性存储器的存储器370和天线380。存储器370可包含允许主机装置350与通信组件310通信的NFC协议。举例来说,主机装置350及通信组件310可使用NFC协议通信,例如在约13.56兆赫兹下且根据ISO/IEC 18000-3国际标准通信。可使用使用RFID标签的其它方法。
主机装置350还可与服务器或其它计算装置通信(例如,经由无线网络与中央操作中心通信)。举例来说,主机装置350可以无线方式耦合或硬接线到服务器或通信中心。在一些实例中,主机装置350可以经由WIFI或经由因特网与操作中心通信。当车辆300将天线340引入到天线380的通信距离内时,主机装置350可为通信组件310供能。在一些实例中,主机装置350可从操作中心接收实时信息,且可将所述信息发射到车辆300。在一些实施例中,通信组件310可具有其自身的电池。
在一个实施例中,主机装置350适于从车辆300读取信息/将信息发送到车辆300,所述车辆300配备有经配置以允许信息交换的通信组件310(例如,有源装置)。
再次参考图3,车辆100的车辆通信组件130可在内部活动以拾取关于乘客ID、所运输行李箱和/或货物的实时相关信息(例如,当配备有上文关于图4所论述的对应无线通信组件时)。车辆的计算装置可检测数米(例如,2到3米)的空间范围内的信息,使得可获取对应于乘客、行李箱及货物的所有数据。在一个实例中,这在车辆接近特定近程内的外部通信组件(例如,充当主机装置的服务器或其它计算装置)时发生,使得通信可开始和/或变得加强。通信距离为例如2到3米。
在一个实施例中,车辆通信组件130可在与外部实体和/或与内部实体通信时对数据进行加密。在一些情况下,关于所运输的行李箱、货物或甚至乘客的数据可为机密的或包含机密信息(例如,乘客或机密文档或危险材料的正常状态)。在此情况下,需要将存储在与车辆计算装置相关联的存储器部分中的信息和数据保持为经加密数据。
在下文论述的各种实施例中,论述用于内部车辆计算装置与外部实体(例如,充当主机装置的服务器)之间的加密和解密通信的方法。在一个实例中,此方法可甚至在内部车辆计算装置与相关联于车辆上搭载的乘客、行李箱和货物的电子组件之间应用。
在一个实例中,车辆通信组件130将车辆公钥发送到外部通信组件(例如,充当主机装置151),且外部通信组件将外部公钥发送到车辆通信组件130。这些公钥(车辆和外部)可用于对发送到每个相应通信组件的数据进行加密,且验证每个通信组件的身份以及交换确认和其它信息。作为实例,如下文进一步描述,车辆通信组件130可以使用所接收的外部公钥对数据进行加密,并将经加密数据发送到外部通信组件。同样,外部通信组件可使用所接收的车辆公钥对数据进行加密,并将经加密数据发送到车辆通信组件130。由车辆100发送的数据可包含轿车信息、乘客信息、货物信息等。信息可任选地用数字签名发送以验证车辆100的身份。此外,信息可提供到车辆100且显示于车辆100的仪表板上,或发送到与车辆100相关联的计算装置(例如,用户装置或监测车辆的中央服务器)的电子邮件。可基于车辆的标识、VIN号等连同车辆数字签名一起辨识车辆。
在一个实例中,在车辆与外部实体之间交换的数据可具有由对方使用的新鲜度。作为实例,由车辆发送到外部实体以指示相同指令的数据可以在每个特定时间范围或针对所发送的特定量数据而改变。这可防止黑客拦截先前发送的数据中所含有的机密信息且再次发送相同数据以产生相同结果。如果数据被稍微修改但仍指示相同的指令,黑客可能会在稍后的时间点发送相同的信息,但由于接收方期望修改后的数据执行相同的指令,因此不会执行相同的指令。
车辆100与外部实体(例如,计算系统或装置)(未展示)之间交换的数据可以使用如下文所描述的多个加密和/或解密方法来执行。数据的安全可确保防止未授权活动干扰车辆100和外部实体的操作。
图5A展示根据一个实施例的产生包含发送到主机装置的标识符、证书及密钥的三元组的应用程序板。主机装置使用三元组来验证应用程序板的身份。应用程序板为图1的计算装置141的实例。主机装置为图1的主机装置151的实例。
在一个实施例中,应用程序板和主机包含通信组件,所述通信组件使用装置标识组合引擎(DICE)-鲁棒物联网(RIoT)协议执行用于通信(例如,关于信息和数据)的加密和/或解密操作。在一个实例中,DICE-RIoT协议应用于车辆通信组件与外部通信组件之间的通信,以及应用于在车辆通信组件与各种无线电子装置之间的车辆环境内部的通信,所述无线电子装置与乘客ID、行李箱、货物等中的每一者相关联
图5B展示根据一个实施例的使用层而分段启动的实例计算系统。系统包含根据本公开的实施例的外部通信组件430'及车辆通信组件430″。当车辆靠近外部实体或在其附近时,车辆的相关联的车辆通信组件430″可以例如使用传感器(例如,射频识别传感器或RFID等)如上文所描述与外部实体交换数据。
在其它实施例中,组件430'可为位于车辆中的应用程序板,且组件430″可为也位于车辆中的主机装置,其使用DICE-RIoT协议来验证组件430'的身份(例如,如上文关于图1所论述)。
在一个实施例中,DICE-RIoT协议由计算装置使用以使用层而分段启动,其中每一层认证及加载后续层且在每一层处提供越来越复杂的运行时间服务。因此,一个层可以由前一层服务并服务于下一层,从而创建构建在较低层之上并服务于较高阶层的层的互连网络。替代地,可使用其它协议代替DICE-RIoT协议。
在通信协议的一个实例实施方案中,通信协议的安全性是基于秘密值,所述秘密值是在制造期间(或还在稍后)设置的装置秘密(例如,UDS)。装置秘密UDS存在于其所供应的装置内(例如,作为图1的装置秘密149而存储)。
装置秘密UDS可在启动时间由第一阶段基于ROM的启动加载程序访问。系统随后提供一种机制,使装置秘密直到下一启动循环才可访问,且只有启动加载程序(例如启动层)才能访问装置秘密UDS。因此,在这种方法中,启动以开始于装置秘密UDS的特定架构分层。
如图5B所说明,层0L0和层1L1在外部通信组件430'内。层0L0可将融合衍生秘密FDS密钥提供到层1L1。FDS密钥可基于层1L1的代码的身份和其它安全相关数据。特定协议(例如鲁棒物联网(RIoT)核心协议)可使用FDS来验证其加载的层1L1的代码。在实例中,特定协议可包含装置标识组合引擎(DICE)和/或RIoT核心协议。作为实例,FDS可包含层1L1固件图像本身、以加密方式识别经授权层1L1固件的清单、在安全启动实施方案的上下文中签署的固件的固件版本号,和/或装置的安全关键配置设置。装置秘密UDS可用于创建FDS,并存储在外部通信组件的存储器中。因此,层0L0从不显示实际的装置秘密UDS,而是向引导链中的下一层提供衍生密钥(例如FDS密钥)。
如箭头410'所示,外部通信组件430'适于将数据发射到车辆通信组件430″。所发射数据可包含公共的外部标识、证书(例如,外部标识证书)和/或外部公钥,如将结合图6说明。车辆通信组件430″的层2L2可接收所发射数据,在操作系统OS例如在第一应用程序App1和第二应用程序App2上的操作中执行所述数据。
同样地,如箭头410″所示,车辆通信组件430″可发射数据,包含公共的车辆标识、证书(例如,车辆标识证书和/或车辆公钥。作为实例,在验证之后(例如,在验证证书之后),车辆通信组件430″可发送车辆标识号VIN以用于车辆的进一步认证、识别和/或验证。
如图5B及图6中所示,在实例操作中,外部通信组件430'可读取装置秘密DS,将层1L1的身份散列,并且执行以下计算:
FDS=KDF[UDS,散列(“不可变信息”)]
其中KDF是加密单向密钥导出函数(例如,HMAC-SHA256)。在以上计算中,散列可以是任何加密原语,例如SHA256、MD5、SHA3等。
在至少一个实例中,车辆可使用匿名登录或经认证登录中的任一者进行通信。经认证登录可以允许车辆获得在匿名模式下通信时可能无法访问的额外信息。在至少一个实例中,认证可包含提供车辆标识号VIN和/或认证信息,例如公钥的交换,如下文将描述。在匿名及认证模式中的任一个中,外部实体(例如,信任区的边界处的检查点警察)可与车辆通信以将与外部实体相关联的外部公钥提供到车辆。
图6展示根据一个实施例的使用非对称生成器产生标识符、证书及密钥的实例计算装置。在一个实施例中,计算装置实施确定参数的过程(例如,在外部装置的层L1内,或在替代实施例中,内部计算装置的层L1内)。
在一个实施例中,确定包含随后被发送(如箭头510'所示)到车辆通信组件(例如,图5B中的参考标号430″)的层2L2的外部公共标识、外部证书和外部公钥的参数。图6的箭头510'和510″分别对应于图5B的箭头410'和410″。并且,图6中的层对应于图5B的层。
在另一实施例中,通过模式(数据)合并531将来自主机装置的消息(“主机消息”)与外部公钥合并以提供用于加密的合并数据。合并数据为到加密器530的输入。在一个实例中,主机消息与外部公钥串连。所产生的参数包含发送到主机装置且用于验证计算装置的身份的三元组。举例来说,外部公共标识、外部证书和外部公钥由主机装置的验证组件使用以验证身份。在一个实例中,主机装置为图1的主机装置151。
如图6所展示,来自层0L0的FDS被发送到层1L1,且由非对称ID生成器520使用以产生公共标识IDlkpublic和私用标识IDlkprivate。在缩写“IDlkpublic”中,“lk”指示通用层k(在此实例中,层1L1),且“public”指示公开共享标识。公共标识IDlkpublic通过向右侧延伸且延伸到外部通信组件的层1L1之外的箭头而被说明为共享。所产生的私用标识IDlkprivate用作输入到加密器530中的密钥。加密器530可为例如用于对数据进行加密的任何处理器、计算装置等。
外部通信组件的层1L1可包含非对称密钥生成器540。在至少一个实例中,随机数生成器RND可任选地将随机数输入到非对称密钥生成器540中。非对称密钥生成器540可产生与外部通信组件(例如图5B中的外部通信组件430')相关联的公钥KLkpublic(称为外部公钥)和私钥KLkprivate(称为外部私钥)。
外部公钥KLkpublic可以是到加密器530中的输入(作为“数据”)。如上文所提及,在一些实施例中,先前作为身份验证过程的部分从主机装置接收的主机消息与KLkpublic合并以将合并数据作为输入数据提供到加密器530。
加密器530可使用外部私用标识IDlkprivate和外部公钥KLkpublic的输入来产生结果K'。外部私钥KLkprivate和结果K'可输入到额外加密器550中,从而产生输出K″。输出K″为发射到层2L2(或替代地,发射到验证身份的主机装置)的外部证书IDL1certificate。外部证书IDL1certificate可能够验证和/或认证从装置发送的数据的来源。作为实例,从外部通信组件发送的数据可以通过验证证书而与外部通信组件的身份相关联,如将结合图7进一步描述。此外,外部公钥KL1public key可发射到层2L2。因此,外部通信组件的公共标识IDl1public、证书IDL1certificate和外部公钥KL1public key可发射到车辆通信组件的层2L2
图7展示根据一个实施例的使用解密操作验证计算装置的身份的验证组件。验证组件包含解密器730、750。验证组件实施根据本公开的实施例的验证证书的过程。
在图7的所说明实例中,从外部通信组件(例如,从图5B中的外部通信组件430'的层1L1)提供公钥KL1public、证书IDL1certificate和公共标识IDL1public。
证书IDL1certificate和外部公钥KL1public的数据可以用作到解密器730中的输入。解密器730可为用以对数据进行解密的任何处理器、计算装置等。证书IDL1certificate和外部公钥KL1public的解密的结果可连同公共标识IDL1public一起用作到解密器750中的输入,从而产生输出。如在框760处所说明,外部公钥KL1public和来自解密器750的输出可指示证书是否经验证,从而产生是或否作为输出。私钥与单层相关联,且特定证书可仅由特定层产生。
响应于证书已验证(例如,认证之后),从已验证装置接收的数据可被接受、解密和/或处理。响应于所述证书未被验证,从已验证装置接收的数据可被舍弃、去除和/或忽略。以此方式,可检测和避免发送不法数据的未授权装置。作为实例,可识别发送待处理的数据的黑客且不处理黑客数据。
在替代实施例中,从图1的计算装置141或从图2的存储器系统105提供公共密钥KL1public、证书IDL1certificate及公共标识IDL1public。此三元组由计算装置141响应于从主机装置接收到主机消息而产生。
在一个实施例中,在将IDL1certificate作为输入提供到解密器730之前,通过模式(数据)合并731合并IDL1certificate及来自主机装置的消息(“主机消息”)。在一个实例中,合并为数据的串接。合并数据作为输入提供到解密器730。验证过程接着如上文所描述以其它方式进行。
图8展示根据一个实施例的用以验证证书的实例过程的框图。在装置发送可被验证以避免后续否认(repudiation)的数据的情况下,可产生签名且与数据一起发送。举例来说,第一装置可作出对第二装置的请求,且一旦第二装置执行所述请求,则第一装置可指示第一装置从未作出此类请求。抗否认方法,例如使用签名,可避免第一装置的否认,且确保第二装置可在无后续困难的情况下执行请求的任务。
车辆计算装置810″(例如,图3中的车辆计算装置110或图1的计算装置141)可将数据Dat″发送到外部计算装置810'(或一般来说发送到任何其它计算装置)。车辆计算装置810″可使用车辆私钥KLkprivate产生签名Sk。可将签名Sk发射到外部计算装置810'。外部计算装置810'可使用数据Dat'和先前接收到的公钥KLkpublic(例如,车辆公钥)来验证。以此方式,签名验证通过使用私钥加密签名且使用公钥解密签名而操作。以此方式,用于每个装置的独特签名可保持对发送所述签名的装置来说是私用的,同时允许接收装置能够解密签名以用于验证。这与数据的加密/解密形成对比,所述数据由发送装置使用接收装置的公钥加密且由接收装置使用接收器的私钥解密。在至少一个实例中,车辆可通过使用内部密码术过程(例如,椭圆曲线数字签名(ECDSA)或类似过程)来验证数字签名。
归因于证书以及公钥的交换和验证,装置能够以安全方式彼此通信。当车辆接近外部实体(例如信任区边界、边界安全实体或通常电子控制的主机装置)时,相应通信装置(其具有图7中展示的验证相应证书的能力)彼此交换证书以及通信。在认证之后(例如,在从外部实体接收/验证证书和公钥之后),车辆因此能够传达与其相关且存储在其存储器中的所有所需信息,例如,车牌号/ID、VIN、保险号码、驾驶员信息(ID、边界过渡的最终权限)、乘客信息、运输货物信息等。随后,在检查所接收信息之后,外部实体将过渡请求的结果传达到车辆,此信息可能使用接收器的公钥加密。可使用上文描述的DICE-RIoT协议加密/解密所交换消息/信息。在一些实施例中,所谓的不可变信息(例如,车牌号/ID、VIN、保险号码)不加密,而对其它信息进行加密。换句话说,在交换的消息中,可存在未加密数据以及经加密数据:因此,信息可经加密或未经加密或是混合的。随后通过使用证书/公钥验证消息的内容是有效的来确保消息的正确性。
图9展示根据一个实施例的使用标识符、证书及密钥验证计算装置的身份的方法。举例来说,图9的方法可在图1到7的系统中实施。
图9的方法可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,图9的方法至少部分地由图1的身份组件147及验证组件153执行。
虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,可以在各种实施例中省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程是可能的。
在框921处,从主机装置接收消息。举例来说,计算装置141从主机装置151接收消息(例如,“主机消息”或“主机消息|新鲜度”)。
在框923处,产生标识符、证书及密钥(例如,公钥KL1public)。标识符与计算装置的身份相关联。证书使用来自主机装置的消息(例如,“主机消息”)而被产生。在一个实施例中,在加密之前合并消息与公钥。此加密使用私用标识符IDL1private作为密钥。私用标识符IDL1private与公共标识符IDL1public相关联(例如,由非对称ID生成器520产生的相关联对)。
在一个实例中,身份组件147产生标识符、证书和密钥以提供三元组。在一个实例中,基于DICE-RIoT协议产生三元组。在一个实例中,如图6中所说明产生三元组。
在一个实例中,使用DICE-RIoT协议,每一层(Lk)将按键及证书的集合提供到下一层(Lk+1),且每一证书可由接收层验证。如下计算融合衍生秘密FDS:
FDS=HMAC-SHA256[UDS,SHA256(“L1的身份”)]
在一个实例中,DICE-RIoT架构中的层1L1使用由主机装置发送的主机消息产生证书。层1如下计算两个相关联密钥对:
(IDlk public,IDlk private)和(KLk public,KLk private)
层1还如下计算两个签名:
K'=加密(IDlk private,KLk public|主机消息)
K″=加密(KLk private,K')
从以上处理,层1如下提供三元组:
Figure BDA0003320630870000211
更一般来说,每一层如下提供三元组:
KLk=对于每一k=1:N,{密钥及证书的集合}
使用相应三元组,每一层能够向下一层证实其身份。
在一个实例中,层2对应于应用程序固件,且后续层对应于主机装置的操作系统和/或应用程序。
在框925处,将所产生的标识符、证书及密钥发送到主机装置。主机装置使用标识符、证书及密钥来验证计算装置的身份。在一个实例中,主机装置151从计算装置141接收标识符、证书及密钥。主机装置151使用验证组件153来验证计算装置的身份。
在一个实例中,验证组件153执行作为验证过程的部分的解密操作。解密包含在使用从计算装置141接收的密钥解密之前将来自主机的消息与证书合并。在一个实例中,如图7中所说明执行计算装置的身份的验证。
在一个实例中,如下执行解密操作:
使用KL1 public对(IDL1certificate)进行解密以提供K'
使用IDL1 public对K'进行解密以提供结果
将结果与KL1 public进行比较。如果结果等于KL1 public,那么身份经验证。在一个实例中,验证应用程序板身份。
在一个实施例中,证实人或动物的身份。类似于如上文所描述的验证计算装置141的身份来执行人的身份的验证。在一个实例中,计算装置141集成到人的护照中。已经发布护照的国家的公共管理部门可以使用对于一类文档特定的UDS(例如,驾照、护照、ID卡等)。举例来说,对于意大利,西西里,墨西拿,护照局(Italy,Sicily,Messina,PassportOffice),UDS=0x12234…4444。对于德国,巴伐利亚,慕尼黑,护照局(Germany,Bavaria,Munich,Passport Office),UDS=0xaabb…00322
在关于护照的一个实例中,L1的身份为如下的ASCII串:
国家|文档类型|等(例如,“意大利,西西里,墨西拿,护照局”)
可通过每个国家的公共管理来确定分配的“粒度”。
图9的方法的各种实施例提供各种优点。举例来说,可在不使用第三方密钥基础设施(例如,PKI=公钥基础设施)的情况下将事物识别并证明为由特定工厂生产。归因于重放受保护而防止中间攻击中的恶意或黑客。方法可用于事物的大批量生产。
此外,在硬件层级(例如,组件外部的层0的不可存取性)下保护客户UDS。UDS无法由任何人读取,但其可以被替换(例如,仅客户可以通过使用安全协议来进行替换)。安全协议的实例包含基于经认证、重放受保护命令和/或基于秘密共享算法的安全协议,所述算法如迪菲赫尔曼(Diffie Hellman)(例如,ECDH椭圆曲线迪菲赫尔曼)。在一个实例中,通过使用安全基础设施将UDS传达到客户(并非终端用户)。UDS可由客户定制。
另外,组件辨识可在不存在因特网或其它网络连接的情况下工作。并且,方法可用于容易地检查以下各者的身份:信任区边界(例如,国界、内部检查点等)处的事物、动物和人。
在一个实例中,对UDS的了解准许主机装置安全地替换UDS。举例来说,可在以下情况下进行替换:主机希望改变事物的身份,或主机希望其它任何人(包含原始制造商)不知道事物的身份。
在另一实例中,替换命令由主机装置使用。举例来说,主机装置可将替换UDS命令发送到计算装置。替换命令包含现有UDS和待归于计算装置的新UDS。在一个实例中,替换命令具有包含如下散列值的字段:散列(现有UDS|新UDS)。
在另一实例中,使用具有如下字段的经认证重放保护命令:Replace_command|新鲜度|签名
其中签名=MAC[秘密密钥,Replace_command|新鲜度|散列(现有UDS|新UDS)]
秘密密钥为额外密钥,且为用于存在于装置上的认证命令的密钥。举例来说,秘密密钥可为如下文所描述的会话密钥(参见例如图12)。
在一个实施例中,方法包括:通过计算装置(例如,计算装置141)从主机装置(例如,主机装置151)接收消息;通过计算装置产生标识符、证书及密钥,其中标识符与计算装置的身份相关联,且证书使用所述消息而被产生;及通过计算装置将标识符、证书及密钥发送到主机装置,其中主机装置经配置以使用标识符、证书及密钥来验证计算装置的身份。
在一个实施例中,验证计算装置的身份包括将消息与证书串接以提供第一数据。
在一个实施例中,验证计算装置的身份进一步包括使用密钥对第一数据进行解密以提供第二数据。
在一个实施例中,验证计算装置的身份进一步包括使用标识符对第二数据进行解密以提供结果,及将所述结果与密钥进行比较。
在一个实施例中,标识符为公共标识符,且计算装置存储秘密密钥,所述方法进一步包括:使用秘密密钥作为到消息认证码的输入以产生衍生秘密;其中使用衍生秘密作为到非对称生成器的输入来产生公共标识符。
在一个实施例中,标识符为第一公共标识符,且计算装置存储用于产生第一公共标识符的第一装置秘密,所述方法进一步包括:从主机装置接收替换命令;响应于接收到所述替换命令,用第二装置秘密替换第一装置秘密;及将使用第二装置秘密产生的第二公共标识符发送到主机装置。
在一个实施例中,密钥为公钥,且产生证书包含将消息与公钥串接以提供用于加密的数据输入。
在一个实施例中,标识符为公共标识符,且第一非对称生成器产生公共标识符及私用标识符作为相关联对;密钥为公钥,且第二非对称生成器产生公钥及私钥作为相关联对;且产生证书包括:将消息与公钥串接以提供第一数据;使用私用标识符对第一数据进行加密以提供第二数据;及使用私钥对第二数据进行加密以提供证书。
在一个实施例中,密钥为公钥,所述方法进一步包括产生随机数作为到非对称密钥生成器的输入,其中使用非对称密钥生成器产生公钥及相关联私钥。
在一个实施例中,使用物理不可克隆函数(PUF)产生随机数。
在一个实施例中,系统包括:至少一处理器;及含有指令的存储器,所述指令经配置以指导所述至少一个处理器进行以下操作:将消息发送到计算装置;从计算装置接收标识符、证书及密钥,其中所述标识符与计算装置的身份相关联,且所述证书由计算装置使用消息而产生;及使用标识符、证书及密钥验证计算装置的身份。
在一个实施例中,验证计算装置的身份包括:将消息与证书串接以提供第一数据;使用密钥对第一数据进行解密以提供第二数据;使用标识符对第二数据进行解密以提供结果;及将结果与密钥进行比较。
在一个实施例中,标识符为第一公共标识符,计算装置存储用于产生第一公共标识符的第一装置秘密,且所述指令进一步经配置以指导所述至少一个处理器进行以下操作:将替换命令发送到计算装置,所述替换命令致使计算装置用第二装置秘密替换第一装置秘密,及从计算装置接收使用第二装置秘密产生的第二公共标识符。
在一个实施例中,计算装置经配置以使用第二装置秘密到作为提供衍生秘密的消息认证码的输入,且使用衍生秘密来产生第二公共标识符。
在一个实施例中,替换命令包含具有基于第一装置秘密的值的字段。
在一个实施例中,系统进一步包括经配置以产生新鲜度的新鲜度机制,其中发送到计算装置的消息包含新鲜度。
在一个实施例中,计算装置的身份包含字母数字串。
在一个实施例中,非暂时性计算机存储媒体存储指令,所述指令当在计算装置上执行时致使计算装置至少进行以下操作:从主机装置接收消息;产生标识符、证书及密钥,其中标识符对应于计算装置的身份,且证书使用所述消息而被产生;及将标识符、证书及密钥发送到主机装置以供用于验证计算装置的身份。
在一个实施例中,标识符为与私用标识符相关联的公共标识符,密钥为与私钥相关联的公钥,且产生证书包括:将消息与公钥串接以提供第一数据;使用私用标识符对第一数据进行加密以提供第二数据;及使用私钥对第二数据进行加密以提供证书。
在一个实施例中,验证计算装置的身份包括使用标识符来执行解密操作以提供结果,及将所述结果与密钥进行比较。
使用物理不可克隆函数(PUF)产生值
下文所公开的至少一些实施例提供用于使用物理不可克隆函数(PUF)产生值的改进架构。在一些实施例中,PUF值自身可用作装置秘密,或用于产生装置秘密。在一个实例中,PUF值用作与如上文所描述(例如,参见图5A及图5B)的DICE-RIoT协议一起使用的唯一装置秘密(UDS)。在一个实例中,由PUF产生的值用作到消息认证码(MAC)的输入。来自MAC的输出用作UDS。
在一些实施例中,PUF值或从PUF值产生的值可用作随机数(例如,特定于装置的随机数)。在一个实例中,当经由上文所描述的非对称密钥生成器(例如,参见图6)产生相关联公钥及私钥时,将随机数(例如,RND)用作输入。
一般来说,以下架构通过将从一或多个PUF提供的输入馈送到消息认证码(MAC)中而产生输出。来自MAC的输出提供改进PUF(例如,例如,上文的UDS)。
一般来说,半导体芯片制造商面临密钥注入的问题,这是例如从半导体芯片提供的每一芯片或裸片的唯一秘密密钥的编程。期望在安全环境中执行密钥注入以避免泄漏或揭露注入到芯片中的秘密密钥。还期望确保密钥在生产芯片之后无法被攻击或读回。在一些情况下,例如,通过第三方基础设施证明或执行密钥注入程序。
芯片制造商期望减少包含加密能力的芯片的生产成本。芯片制造商还期望简化生产流程同时维持所制造芯片的恒定水平的安全性能。然而,密钥注入是更昂贵的生产步骤中的一个。
芯片制造商还面临当用作伪随机数生成器时改进PUF的均一性的问题。在一些情况下,由于PUF所提供的种子值基于的现象,此问题可包含裸片之间的交叉相关。
PUF是基于不可预测的物理现象,例如,芯片上寄生效应、芯片上路径延迟等,这对于每一裸片是唯一的。这些现象例如用于提供伪随机数生成器的种子值。
生产线中所选择的两个不同芯片必须具有不同PUF值。每一芯片中产生的PUF值在装置的寿命期间不得改变。如果两个芯片具有类似密钥(例如,其间存在低汉明距离),那么有可能使用一个芯片的密钥来猜测另一芯片的密钥(例如,原像黑客攻击)。
使用下文所描述的改进PUF架构可通过提供适合于在每一芯片或裸片上提供PUF的功能的输出值而向以上问题中的一或多者提供解决方案。下文的改进PUF架构使用PUF,这使得每一芯片或裸片能够在芯片或裸片的每一上电处自动产生唯一安全密钥。安全密钥不需要存储在非易失性存储器中,非易失性存储器可被攻击或以其它方式被破解。
改进的PUF架构进一步使用MAC来产生改进的PUF输出(例如,唯一密钥)以供例如集成到半导体芯片中的加密函数或过程使用。MAC的使用可例如增加在不同芯片上产生的密钥之间的汉明距离。
在本文所公开的至少一些实施例中,提供使用来自MAC的输出的改进PUF架构作为产生种子或其它值的方式。因此,改进的PUF架构提供例如执行密钥注入的方式,所述密钥注入降低制造成本且改进最终芯片上PUF操作的可靠性和/或均一性。
在一个实施例中,方法包含:通过至少一个PUF提供至少一个值;及基于MAC产生第一输出,其中MAC使用由至少一个PUF提供的至少一个值作为用于产生第一输出的输入。
在一个实施例中,系统包含:至少一个PUF装置;消息认证码MAC模块,其经配置以基于由至少一个PUF装置提供的至少一个值接收第一输入;至少一个处理器;及存储器,其含有经配置以指导所述至少一个处理器基于第一输入而从MAC模块产生第一输出的指令。在各种实施例中,可使用硬件和/或软件实施MAC模块。
在一个实施例中,系统进一步包含选择器模块,所述选择器模块用于选择PUF装置中的一或多者以用于将值提供到MAC模块。举例来说,从若干PUF装置提供的值可链接且作为输入提供到MAC模块。在各种实施例中,可使用硬件和/或软件实施选择器模块。
图10展示根据一个实施例的用于从消息认证码(MAC)123的输出产生唯一密钥125的系统,所述消息认证码123从物理不可克隆函数(PUF)装置121接收输入。系统提供用于从消息认证码(MAC)模块123的输出产生唯一密钥125(或其它值)的PUF架构111。MAC模块123接收从物理不可克隆函数(PUF)装置121获得的输入值。
图10中的PUF装置121可为例如各种不同的已知类型的PUF中的任一者。MAC模块123提供例如单向函数,例如SHA1、SHA2、MD5、CRC、TIGER等。
架构111可例如改进在芯片之间产生的PUF值或代码的汉明距离。MAC函数是不可预测的(例如,仅具有提供到MAC函数的单个位差的输入序列提供两个完全不同的输出结果)。因此,在仅具有对输出的了解时,无法辨识或确定到MAC函数的输入。架构111还可例如改进PUF作为伪随机数生成器的均一性。
在一个实例中,PUF架构111产生的值(例如,唯一密钥125或另一值)可为具有N位的数字,其中N取决于实施于包含PUF架构111的芯片(例如,存储器装置103或另一装置)上的加密算法。在一个实例中,芯片实施使用HMAC-HA256的加密函数,在此情况下,来自MAC模块123的输出具有256位的大小N。来自MAC模块123的输出的使用提供适用作密钥的输出值的消息长度(而不需要进一步压缩或填补)。
PUF架构111实施于例如所说明存储器装置103的装置中,或可实施于例如在由晶片制造生产线提供的多个半导体芯片中实施的集成电路等其它类型的计算装置中。
在一个实施例中,MAC模块123与加密模块127协作和/或集成到加密模块127中或作为加密模块127的部分,例如,其可提供用于存储器装置103的加密函数。举例来说,归因于由存储器装置103用于其它加密目的的MAC,MAC模块123的输出可适合于用作密钥。
PUF架构111、加密模块127和/或存储器装置103的其它功能的操作可由控制器107控制。控制器107可包含例如一或多个微处理器。
在图10中,主机101可经由通信通道与存储器装置103通信。主机101可为具有一或多个中央处理单元(CPU)的计算机,计算机外围装置(例如,存储器装置103)可以经由互连件附接到所述计算机,所述互连件例如计算机总线(例如,外围组件互连(PCI)、扩展PCI(PCI-X)、PCI高速(PCIe))、通信部分和/或计算机网络。
在一个实施例中,唯一密钥125用作UDS以为存储器装置103提供身份。控制器107在DICE-RIoT架构中实施层0L0及层1L1。响应于经由主机接口105从主机101接收到主机消息,加密模块127执行处理以产生三元组,如上文所描述。主机101使用三元组来验证存储器装置103的身份。存储器装置103为计算装置141的实例。
出于示范性说明的目的,可注意到通常存在两个技术问题。第一问题是向主机证实板的身份。问题可通过使用公共三元组和非对称密码术来处置,如例如上文针对DICE-RIoT所论述。此方法是安全且巧妙的,但在一些情况下,可能太昂贵/费时而无法由电路板自身直接使用。第二问题为向板证实板上的存储器的身份(例如,以避免未授权存储器替换)(这例如在每一上电之后执行)。可使用上文的公共三元组和非对称密码术来解决第二问题。然而,仅基于MAC函数的较轻安全性机制对于处置第二问题通常是足够的。
存储器装置103可用于例如将主机101的数据存储在非易失性存储媒体109中。通常,存储器装置的实例包含硬盘驱动器(HDD)、固态驱动器(SSD)、快闪存储器、动态随机存取存储器、磁带、网络附接存储装置等。存储器装置103具有使用通信信道来实施与主机101的通信的主机接口105。例如,在一个实施例中,主机101与存储器装置103之间的通信信道为外围组件互连高速(PCI高速或PCIe)总线;并且主机101与存储器装置103使用NVMe协议(非易失性存储器主机控制器接口规范(NVMHCl),也称为NVM高速(NVMe))彼此通信。
在一些实施方案中,主机101与存储器装置103之间的通信信道包含计算机网络,例如局域网、无线局域网、无线个人局域网、蜂窝式通信网络、宽带高速始终连接的无线通信连接(例如,当前代或未来代的移动网络链接);并且主机101和存储器装置103可经配置以使用数据存储管理和使用与NVMe协议中的命令类似的命令来彼此通信。
控制器107可运行固件104来执行响应于来自主机101的通信的操作和/或其它操作。一般来说,固件是一种类型的计算机程序,其提供对工程化计算装置的控制、监测和数据操纵。在图10中,固件104控制控制器107在操作存储器装置103时的操作,例如PUF架构111的操作,如下文进一步论述。
存储器装置103具有非易失性存储媒体109,例如涂布于硬盘上的磁性材料,和/或集成电路中的存储器单元。存储媒体109是非易失性的,因为不需要电力来维持存储在非易失性存储媒体109中的数据/信息,可在非易失性存储媒体109断电然后再次通电之后检索到所述数据/信息。可使用各种存储器/存储技术(例如基于NAND门的快闪存储器、相变存储器(PCM)、磁存储器(MRAM)、电阻式随机存取存储器和3D XPoint)来实施存储器单元,使得存储媒体109是非易失性的,且可在没有电力的情况下将其中存储的数据保留数天、数月和/或数年。
存储器装置103包含用于存储运行时间数据的易失性动态随机存取存储器(DRAM)106及由控制器107使用的指令,以改进控制器107的计算性能和/或提供用于在主机101与非易失性存储媒体109之间传送的数据的缓冲器。DRAM 106是易失性的,因为它需要电力来维持其中存储的数据/信息,当电力中断时,所述数据/信息立即或快速丢失。
易失性DRAM 106通常具有比非易失性存储媒体109少的时延,但会在失去电力时快速丢失其数据。因此,有利的是,使用易失性DRAM 106来临时存储在其当前计算任务中用于控制器107的指令和数据以改进性能。在一些情况下,易失性DRAM 106被在一些应用中使用比DRAM少的电力的易失性静态随机存取存储器(SRAM)替换。当非易失性存储媒体109具有与易失性DRAM 106类似的数据存取性能(例如,在时延、读取/写入速度方面)时,可以除去易失性DRAM 106;并且控制器107可以通过针对指令和数据对非易失性存储媒体109进行操作而不是对易失性DRAM 106进行操作来执行计算。
举例来说,交叉点存储和存储器装置(例如,3D XPoint存储器)具有与易失性DRAM106相当的数据存取性能。交叉点存储器装置使用无晶体管存储器元件,所述无晶体管存储器元件中的每一者具有在一起堆叠成列的存储器单元和选择器。存储器元件列经由两个垂直线材层连接,其中一个层处于存储器元件列上方,且另一层处于存储器元件列下方。可个别地在两个层中的每一层上的一个线材的交叉点处选择每一存储器元件。交叉点存储器装置是快速且非易失性的,且可用作通用存储器池以用于处理和存储。
在一些情况下,控制器107具有处理器内高速缓存存储器,其数据存取性能优于易失性DRAM 106和/或非易失性存储媒体109。因此,在控制器107的计算操作期间,在当前计算任务中使用的指令及数据的部分高速缓存于控制器107的处理器内高速缓存存储器中。在一些情况下,控制器107具有多个处理器,各自具有其自身的处理器内高速缓存存储器。
任选地,控制器107使用存储器装置103中组织的数据和/或指令来执行数据密集的存储器内处理。例如,响应于来自主机101的请求,控制器107对存储在存储器装置103中的数据集执行实时分析,并且将减小的数据集传达到主机101作为响应。例如,在一些应用中,存储器装置103连接到实时传感器以存储传感器输入;并且控制器107的处理器经配置以基于传感器输入执行机器学习和/或模式辨识,以支持至少部分地经由存储器装置103和/或主机101实施的人工智能(AI)系统。
在一些实施方案中,控制器107的处理器在计算机芯片制造中与存储器(例如,106或109)集成,以实现存储器中处理,且因此克服了冯·诺依曼(von Neumann)瓶颈,其因根据冯·诺依曼架构单独配置的处理器和存储器之间的数据移动的时延所致的吞吐量限制而限制了计算性能。处理和存储器的集成增加了处理速度和存储器传送速率,且减小了时延和功耗。
存储器装置103可用于各种计算系统,例如云计算系统、边缘计算系统、雾计算系统和/或独立计算机。在云计算系统中,远程计算机服务器连接于网络中以存储、管理和处理数据。边缘计算系统通过在接近数据源的计算机网络边缘处执行数据处理来优化云计算,且因此减少与集中式服务器和/或数据存储的数据通信。雾计算系统使用一或多个终端用户装置或近用户边缘装置来存储数据,且因此减少或消除了在集中式数据仓库中存储数据的需求。
本文所公开的至少一些实施例可使用由控制器107(例如,固件104)执行的计算机指令实施。在一些情况下,硬件电路可用于实施固件104的至少一些功能。固件104可最初存储在非易失性存储媒体109或另一非易失性装置中,且加载到易失性DRAM 106和/或处理器内高速缓存存储器中以由控制器107执行。
举例来说,固件104可经配置以在操作PUF架构时使用下文所论述的技术。然而,下文所论述的技术不限于在图10的计算机系统和/或上文所论述的实例中使用。
在一些实施方案中,MAC模块123的输出可用于提供例如根密钥或种子值。在其它实施方案中,输出可用于产生一或多个会话密钥。
在一个实施例中,来自MAC模块123的输出可发射到另一计算装置。举例来说,唯一密钥125可经由主机接口105发射到主机101。
图11展示根据一个实施例的用于从MAC 123的输出产生唯一密钥125的系统,所述MAC 123从由选择器模块204选择的一或多个PUF装置接收输入。根据一个实施例,系统使用与图10的架构111类似但包含多个PUF装置202及选择器模块204的PUF架构从MAC模块123的输出产生唯一密钥125。MAC模块123从由选择器模块204选择的一或多个PUF装置202接收输入。在一个实例中,PUF装置202包含PUF装置121。
PUF装置202可例如相同或不同(例如,基于不同随机物理现象)。在一个实施例中,选择器模块204充当智能PUF选择块或电路以选择PUF装置202中的一或多者,从所述PUF装置202获得值以将其作为输入提供到MAC模块123。
在一个实施例中,选择器模块204至少部分地基于来自测试PUF装置202的结果而选择PUF装置202。举例来说,选择器模块204可测试每一PUF装置202的可重复性。如果任何PUF装置202未通过测试,那么选择器模块204防止失败装置将输入值提供到MAC模块123。在一个实例中,可临时地或无限期地排除失败装置。
在一些实施方案中,选择器模块204准许在生产期间和/或在所属领域中使用期间测试每一芯片的PUF功能性(例如,通过检查由每一PUF装置202提供的值的可重复性)。如果由给定PUF装置提供的两个或更多个值不同,那么PUF装置被确定为失败的且被排除用作到MAC模块123的输入。
在一个实施例中,选择器模块204用于同时将多个PUF装置202用作来源以用于计算来自MAC模块123的改进PUF输出。举例来说,选择器模块204可将来自第一PUF装置的值与来自第二PUF装置的值链接以作为输入提供到MAC模块123。在一些实施方案中,此架构准许获得归因于其对若干不同物理现象的相依性的鲁棒PUF输出。
图12展示根据一个实施例的用于从MAC的输出产生唯一密钥的系统,所述MAC接收来自一或多个PUF装置的输入及来自单调计数器302的输入(和/或来自如NONCE、时间戳等的另一新鲜度机制的输入)。根据一个实施例,系统从MAC模块123的输出产生唯一密钥125。图12中所说明的PUF架构类似于图11中所说明的PUF架构,不同之处在于包含单调计数器302以将值提供到选择器模块204。在不同实施例中,可使用硬件和/或软件实施单调计数器302。
MAC模块123接收来自一或多个PUF装置202的输入及来自单调计数器302的输入。在一个实例中,从PUF装置202和单调计数器302获得的值经链接且接着作为输入提供到MAC模块123。在一些实施方案中,单调计数器302为仅在请求时递增其值的非易失性计数器。在一些实施例中,单调计数器302在芯片的每一上电循环之后递增。
在一些实施方案中,图12的PUF架构可用于提供在应用程序中在半导体芯片与其它组件之间安全地共享密钥的方式,例如公钥机制。
在一些实施方案中,单调计数器302在PUF的每一计算之前递增,这确保MAC模块123的输入在每一循环处不同,且因此所提供的输出(和/或输出的模式)不同。在一些实例中,此方法可用于产生会话密钥,其中每一会话密钥不同。
在一些实施例中,选择器模块204可选择性地包含或拒绝单调计数器302(或如NONCE、时间戳的其它新鲜度机制)将计数器值作为输入提供到MAC模块123。
在一些实施例中,单调计数器302还由加密模块127使用。在一些实施例中,包含单调计数器的PUF架构可用作会话密钥生成器以保证每一循环处的不同密钥。在一些实施方案中,以此方式保护所产生的会话密钥:会话密钥=MAC[一或多个PUF|MTC或其它新鲜度]
在其它实施例中,如下使用机制:
会话密钥=MACkey_based[Root_Key,MTC或其它新鲜度机制]
其中:Root_Key=从上文的MAC模块123提供的输出值,或存在于芯片上的任何其它种类的密钥。
上文的MACkey_based函数为例如基于秘密密钥的MAC算法。举例来说,密码术中可存在两种类型的MAC算法:
1.基于秘密密钥的算法,类似于例如HMAC家族(HMAC-SHA256是基于密钥的)。
2.不基于秘密密钥的算法,例如类似于SHA256(独立的SHA不是基于密钥的)。
应注意,基于密钥的MAC可通过将密钥设置为已知值(例如0x000…0xFFFF等……)而变换成不基于密钥的MAC。
图13展示根据一个实施例的从使用由一或多个PUF提供的一或多个输入值的MAC产生输出的方法。举例来说,图13的方法可在图10的存储器装置103中实施。
图13的方法包含在框411处,通过至少一个PUF提供一或多个值(例如,提供来自PUF装置202中的一或多者的值)。
在框413处,可测试PUF中的一或多者的可重复性,例如如上文所描述。此测试为任选的。
在框415处,如果在框413处已执行测试,且已确定PUF装置未能通过测试,那么拒绝失败PUF装置将输入提供到MAC。此拒绝可例如通过选择器模块204执行,如上文所论述。
在框417处,从单调计数器(例如,单调计数器302)提供值。单调计数器在PUF架构中的使用为任选的。
在框419处,从MAC产生输出,所述MAC使用由PUF提供的一或多个值(和任选地来自单调计数器的至少一个值)作为到MAC的输入。
现在下文针对在计算装置中实施的方法描述各种其它实施例,所述方法包含:通过至少一个物理不可克隆函数(PUF)提供至少一个值;及基于消息认证码(MAC)产生第一输出,其中MAC使用由至少一个PUF提供的至少一个值作为用于产生第一输出的输入。
在一个实施例中,计算装置为第一计算装置,且所述方法进一步包括将第一输出发射到第二计算装置,其中第一输出为第一计算装置的唯一标识符。
在一个实施例中,提供至少一个值包括从第一PUF选择第一值及从第二PUF选择第二值。
在一个实施例中,所述方法进一步包括:从单调计数器提供值;其中产生第一输出进一步包括使用来自单调计数器的值作为到MAC的额外以用于产生第一输出。
在一个实施例中,所述方法进一步包括:基于由MAC提供的相应输出产生多个会话密钥,其中单调计数器提供用作到MAC的输入的值;及在产生会话密钥中的每一者之后递增单调计数器。
在一个实施例中,所述方法进一步包括:测试至少一个PUF中的第一PUF的可重复性;及基于确定第一PUF未能通过测试,在产生第一输出时拒绝第一PUF将任何输入提供到MAC。
在一个实施例中,测试包括将由第一PUF提供的两个或更多个值进行比较。
在一个实施例中,计算装置为存储器装置,且存储器装置包括经配置以存储使用MAC产生的输出值的非易失性存储媒体。
在一个实施例中,所述方法进一步包括通过至少一个处理器执行至少一个加密函数,其中执行至少一个加密函数包括使用使用MAC产生的输出值。
在一个实施例中,非暂时性计算机存储媒体存储指令,所述指令当在存储器装置(例如,存储器装置103)上执行时致使存储器装置执行方法,所述方法包括:通过至少一个物理不可克隆函数(PUF)提供至少一个值;及基于消息认证码(MAC)产生第一输出,其中MAC使用由至少一个PUF提供的至少一个值作为用于产生第一输出的输入。
在下文所描述的各种其它实施例中,可对系统执行图4的方法,所述系统包含:至少一个物理不可克隆函数(PUF)装置;消息认证码(MAC)模块,其经配置以基于由所述至少一个PUF装置提供的至少一个值而接收第一输入;至少一个处理器;及存储器,其含有经配置以指导所述至少一个处理器基于所述第一输入而产生来自所述MAC模块的第一输出的指令。
在一个实施例中,MAC模块包含电路。在一个实施例中,来自MAC模块的第一输出为识别裸片的密钥。在一个实施例中,来自MAC模块的第一输出为根密钥,且所述指令进一步经配置以指导所述至少一个处理器使用来自MAC模块的输出产生会话密钥。
在一个实施例中,系统为半导体芯片(例如,从半导体晶片获得的若干芯片中的一个芯片)的部分,来自MAC模块的第一输出为识别芯片的唯一值,且所述指令进一步经配置以指导所述至少一个处理器将所述唯一值发射到计算装置。
在一个实施例中,至少一个PUF装置包括多个PUF装置(例如,PUF装置202),且所述系统进一步包括经配置以选择提供至少一个值的至少一个PUF装置的选择器模块。
在一个实施例中,选择器模块进一步经配置以通过链接来自第一PUF装置的第一值与来自第二PUF装置的第二值而产生用于MAC模块的第一输入。
在一个实施例中,所述系统进一步包括经配置以提供计数器值的单调计数器,且所述指令进一步经配置以指导所述至少一个处理器通过将计数器值与由至少一个PUF装置提供的至少一个值链接而产生第一输入。
在一个实施例中,系统进一步包括经配置以选择提供至少一个值的至少一个PUF装置的选择器模块,其中通过所述选择器模块执行将计数器值与由至少一个PUF装置提供的至少一个值链接。
在一个实施例中,单调计数器进一步经配置以在产生第一输入之后递增计数器值以提供经递增值;且所述指令进一步经配置以指导所述至少一个处理器基于经递增值及由至少一个PUF装置提供的至少一个新值而产生来自MAC模块的第二输出。
图14展示根据一个实施例的用于从MAC的输出产生根密钥的系统,所述MAC接收来自一或多个PUF装置的输入及来自单调计数器的输入(和/或来自如NONCE、时间戳等另一新鲜度机制的输入),且添加额外MAC以产生会话密钥。
在一个实施例中,根据一个实施例,系统从MAC的输出产生根密钥,所述MAC接收来自一或多个PUF装置202的输入及来自单调计数器302的输入(和/或来自如NONCE、时间戳等另一新鲜度机制的输入),且添加额外MAC模块504以使用根密钥输入产生会话密钥。在此实施例中,MAC模块123提供根密钥502作为来自MAC模块123的输出。根密钥502为到MAC模块504的输入,其可使用MAC函数,例如会话密钥=MACkey_based[Root_Key,MTC或其它新鲜度机制],其在上文描述。此基于密钥的函数中的根密钥输入可为根密钥502,如所说明。
此外,在一个实施例中,单调计数器302可将输入提供到MAC模块504。在其它实施例中,可将不同单调计数器或来自芯片的其它值作为输入提供到MAC模块504而不是使用单调计数器302。在一些情况下,单调计数器302将计数器值提供到MAC模块504,但不提供到选择器模块204。在其它情况下,计数器值可提供到两个MAC模块,或从两个模块排除。
密钥产生及安全存储
如上文所提及,PUF可用于安全密钥产生。下文论述的各种实施例涉及使用至少一个PUF产生初始密钥,应用处理以增加初始密钥的混淆,且将最终的混淆密钥存储在非易失性存储器中。最终的混淆密钥和/或用于产生最终混淆密钥的中间密钥可与另一计算装置共享且用于与另一计算装置的安全通信(例如,基于共享密钥使用对称密码的消息传递)。在一些实施例中,针对待在汽车应用(例如,自主车辆中的控制器)中使用的计算装置进行安全密钥产生。
在替代实施例中,以不需要使用以上至少一个PUF的其它方式产生初始密钥。在一个实施例中,可通过使用所注入密钥产生初始密钥。举例来说,归因于在工厂或其它安全环境中注入,初始密钥存在于芯片中。在此情况下,通过将混淆处理应用于所注入密钥来执行应用处理以增加初始密钥的混淆。
汽车环境呈现在密钥产生阶段期间引入“噪声”的技术问题。下文的各种实施例通过使用一种方法来提供此问题的技术解决方案,所述方法通过将混淆密钥存储在非易失性存储器区域内部而减弱或避免归因于此感应噪声的密钥变化。
汽车环境可以各种方式影响密钥产生。举例来说,发动机通电可致使到计算装置的应用电力下降,从而导致以错误方式产生密钥。温度极值也可影响产生密钥的电路。例如来自电力线的磁场等其它源可造成符号间干扰或串扰,从而使得主机辨识不出装置。
相比之下,如果密钥在安全环境中产生且存储于存储器中,那么其将不受噪声影响。取决于用于在计算装置产品的终端用户/客户之间传播密钥的策略,安全环境可例如直接安装在轿车中、测试环境中或(例如,制造产生密钥的计算装置的)工厂中。
在一个实例中,如车辆中所使用的ADAS或其它计算系统经受电源变化。这可例如在打开车辆、制动、为发动机提供动力等期间发生。
如下文所论述产生和存储密钥的各种实施例提供基本上独立于外部因素(例如,电源变化、温度和噪声的其它外部源)的优点。举例来说,在一些实施例中的另一优点在于对于每一循环,密钥向量的产生是相同的。
当存储密钥时,在一些实施例中提供的另一优点在于密钥基本上不受(例如,黑客可能在适当位置计划的)硬件攻击的影响。举例来说,一个此类攻击是对装置的通电电流的监测,以便将电流变化与相关联于密钥的位相关联。其它攻击可使用例如电压测量(例如,Vdd电源电压)。一些攻击可使用例如温度变化来干扰装置的操作。
在一些实施例中,可使用如上文针对图10到14所描述的方法和/或架构产生初始密钥。举例来说,PUF用于针对存储密钥的计算装置的每一通电循环产生密钥。在替代实施例中,其它方法可用于产生初始密钥。
在一个示范性方法中,如上文所论述,密钥注入使用至少一个PUF和MAC算法(例如,SHA256)来产生与其它装置(例如,来自位于晶片上的邻近裸片)显著不同的装置的密钥。MAC密码术算法提供增加由PUF产生的位的熵的益处。
在一个实施例中,在对密钥执行预处理之后将所产生的密钥(例如,如从PUF且接着MAC算法提供的初始密钥)存储在装置的非易失性区域中以便减弱或避免黑客攻击,且还改进所存储的密钥的可靠性。在一个实施例中,在存储密钥之后,可停用产生密钥的电路。预处理在本文中通常被称作混淆处理。在一个例子中,电路和/或其它逻辑用于在装置上实施混淆处理。在一个实例中,所存储的密钥可由装置读取,因为密钥与外部噪声源无关。内部机制用于读取装置的任何数据。
在各种实施例中,如本文所描述存储密钥会增加对噪声的容限。并且,这使得黑客难以例如使用电力监测或其它黑客方法读取所存储的密钥。
本文中的至少一些实施例使用PUF和加密算法(例如,HMAC-HA256)来使密钥产生不依赖于可另外致使密钥从装置的一个通电到下一通电不同的外部因素(例如,温度或电压)。如果此发生,那么主机能够与装置交换消息可能是一个问题。各种实施例通过将所存储的密钥放置在存储器中以使得其不受外部因素影响而使密钥产生更鲁棒。
在一个实施例中,密钥在装置上产生一次且存储在装置的非易失性存储器中。在一个实例中,可在将复位应用于SRAM之前使用SRAM的内容产生密钥。使用从PUF输出的伪随机值产生作为PUF的函数的密钥。在电器或其它装置的复位之前读取SRAM的内容。如可能需要,还可在其它时间经由命令序列重新产生密钥。在一个实例中,如上文所描述,所产生的密钥在DICE-RIoT协议中用作UDS。在一个实例中,命令序列使用替换命令来用新UDS替换先前产生的UDS,如上文所描述。
在一个实施例中,密钥产生与由装置实施的密码术无关。所产生的密钥与主机共享。此实施例以避免攻击者猜测密钥且在内部使用密钥的方式存储密钥和/或读取装置中的密钥,例如通过分析装置在密钥使用期间吸收的电流的形状。
另外,举例来说,在非对称密码术中,所产生的密钥变成为系统的秘密密钥的可变口令。所述密钥不与其它者共享。对于公钥密码术,密钥用于产生对应公钥。
在各种实施例中,使用所注入密钥或使用一或多个PUF产生初始密钥(例如,以提供初始密钥PUF0)。初始密钥随后经历混淆处理的一或多个步骤以提供中间密钥(例如,PUF1、PUF2……PUF5),如下文所描述。来自此处理的输出(例如PUF5)是存储在装置的非易失性存储器中的混淆密钥。当使用所注入密钥时,类似如下文针对PUF0的非限制性实例所描述,将混淆处理应用于所注入密钥。
在一个实施例中,如上文所提及,对于初始注入密钥的情况,如下使用机制:
会话密钥=MACkey_based[Root_Key,MTC或其它新鲜度机制]
其中:Root_Key=存在于芯片上的任何其它种类的密钥(例如,密钥可为在工厂或其它安全环境中注入芯片中的初始密钥)
在一个实施例中,在装置的第一次上电时,特殊序列唤醒装置的至少一个电路(例如,读取电路)并且验证电路是否恰当地执行。装置接着产生初始密钥PUF0,如上文所提及。此密钥可经存储或进一步处理以使得其对于安全存储更鲁棒,如下文所描述。
通过将PUF0与预定位序列(例如,其它人已知的序列)串接以产生PUF1来产生中间密钥PUF1。在一个实施例中,PUF1用于验证装置正确地读取密钥且确保噪声(例如电源中的波动)不影响所产生的密钥的能力。
产生下一中间密钥PUF2。PUF1与反转位模式交错(例如,通过反转PUF1的位形成,且在本文中有时被称作PUF1条)以产生PUF2。
在一个实施例中,PUF2具有相同位数0及1。这使得装置电流的形状对于任何密钥(例如,存储在装置上的任何密钥)基本上相同。这通过在装置读取密钥时查看装置电流的形状来降低攻击者猜测密钥值的可能性。
产生下一中间密钥PUF3。PUF2的位与伪随机位交错以形成PUF3。这进一步有助于混淆密钥。在一个实施例中,通过使用散列函数从PUF1或PUF2导出伪随机位。举例来说,将这些导出的位添加到PUF2以形成PUF3。
产生下一中间密钥PUF4。错误校正码(ECC)由装置的内部电路产生(例如,在编程期间)。将ECC的位添加到PUF3以产生PUF4。在一个实施例中,ECC位帮助提防可由例如装置耐久性极限、X射线及粒子引起的非易失性存储器(例如,NVRAM)老化的影响。非易失性存储器老化还可例如通过可引起位翻转的位于NV单元中的电子的数目的增加而引起。
产生下一中间密钥PUF5。PUF5是PUF4的若干副本的串接。具有存在于PUF5中的多个PUF4副本的冗余通过增加能够在稍后时间正确地读取密钥的可能性而进一步增加鲁棒性。在一个实施例中,PUF5的若干副本存储在各种非易失性存储器存储区中,以进一步增加鲁棒性。举例来说,即使PUF5在所述区中的一者中损坏,也可从所述区中的其它区读取PUF5,且因此可提取正确密钥。
在一个实施例中,PUF1或PUF3是与主机共享以用于对称加密的密钥,或用于针对非对称密码术产生公钥。在一个实施例中,PUF4和PUF5不与终端用户或主机共享。
以上方法为模块化的,因为不需要PUF2、PUF3、PUF4和/或PUF5来产生混淆密钥。替代地,在各种实施例中,前述混淆处理步骤中的一或多者可应用于初始密钥,且进一步可改变排序。举例来说,对于已知不具有Vdd电压供应降的系统,可减少混淆步骤的数目。
在一个实施例中,当存储混淆密钥时,位模式将在非易失性存储媒体周围物理地扩散(例如,在不同的行和列中)。举例来说,装置能够同时读取位且防止发生多位错误。
图15展示根据一个实施例的用于将混淆密钥635存储于非易失性存储器(例如,非易失性存储媒体109)中的计算装置603。计算装置603是图1的计算装置141的实例。在一个实例中,混淆密钥用作UDS。(注释)举例来说,混淆将熵添加到密钥的位,以避免黑客了解密钥的值的可能尝试。装置始终能够通过去除用作混淆的所添加位而提取密钥。在一个实例中,共同黑客攻击由以下组成:通过用统计工具处理在某一特定时间帧内由装置吸收的电流分布而猜测在装置内部产生/详细描述的秘密密钥。混淆以值得考虑的方式减轻此问题。
基于由至少一个物理不可克隆函数装置121提供的值产生初始密钥625。基于初始密钥625产生混淆密钥635。在产生之后,混淆密钥635存储在非易失性存储媒体109中。
在一个实施例中,消息认证码(MAC)123使用来自PUF装置121的值作为输入且提供初始密钥625作为输出。在一个实施例中,混淆处理模块630用于对初始密钥625执行处理,以便提供例如如上文所论述的混淆密钥635(例如,PUF5)。
在一个实施例中,混淆密钥635安全地分布到另一计算装置,如由蒙德罗等人在2018年4月27日申请的名称为“使用单调计数器的秘密密钥的安全分布(SECUREDISTRIBUTION OF SECRET KEY USING A MONOTONIC COUNTER)”的相关美国非临时申请案序列号15/965,731中所描述,所述申请案的全部内容以引用的方式并入,如同在本文中完全阐述。在其它实施例中,初始密钥625和/或来自本文所描述的混淆处理的中间密钥中的任何一或多者可以相同或类似的方式安全地分布。任选地,终端用户/客户使用前述方法读取初始密钥(例如PUF0)、中间密钥和/或最终混淆密钥(例如PUF5)的值。举例来说,终端用户可通过装置验证密钥的内部产生的恰当执行,和/或监视密钥产生的统计质量。
图16展示根据一个实施例的在混淆过程期间由混淆处理模块630产生的中间密钥(PUF2)的实例。如上文所提及,PUF1的位经反转以提供反转位702。位702与如所说明的PUF1的位交错。举例来说,所说明密钥中的每第二位为交错反转位702。
图17展示根据一个实施例的在图16的混淆过程期间产生的另一中间密钥(PUF3)的实例(PUF3在此实例中是基于PUF2)。如上文所提及,PUF2的位进一步与伪随机位802交错。如所说明,位802与PUF2交错。举例来说,所说明密钥中的每第三位为交错的伪随机位802。
图18展示根据一个实施例的用于在非易失性存储器(例如,非易失性存储媒体109)中产生并存储混淆密钥(例如,混淆密钥635)的方法。在一个实例中,图2的存储器系统105将混淆密钥存储于非易失性存储器121。
在框911中,基于由至少一个物理不可克隆函数(PUF)提供的值产生初始密钥。
在其它实施例中,在框911中,通过密钥注入产生初始密钥。举例来说,初始密钥可简单地为在制造期间注入芯片中的值。
在框913中,基于初始密钥产生混淆密钥。举例来说,所产生的混淆密钥为PUF3或PUF5。
在框915中,将混淆密钥存储于计算装置的非易失性存储器中。举例来说,混淆密钥存储于NAND快闪存储器或EEPROM中。
在一个实施例中,方法包含:使用密钥注入产生初始密钥;基于初始密钥产生混淆密钥;及将混淆密钥存储于非易失性存储器中。举例来说,初始密钥可为在制造时在密钥注入过程期间注入的密钥。
在一个实施例中,方法包括:产生由密钥注入提供的初始密钥或基于由至少一个物理不可克隆函数(PUF)提供的值产生初始密钥;基于初始密钥产生混淆密钥;及将混淆密钥存储于计算装置的非易失性存储器中。
在一个实施例中,产生初始密钥包括使用来自PUF的值(或,例如芯片上的另一值)作为到消息认证码(MAC)的输入以产生初始密钥。
在一个实施例中,混淆密钥存储在用户可寻址存储器空间外部的非易失性存储器中。
在一个实施例中,产生混淆密钥包括将初始密钥与预定位模式串接。
在一个实施例中,将初始密钥与预定位模式串接提供第一密钥(例如,PUF1);且产生混淆密钥进一步包括使第一密钥与反转的位模式交错,其中反转位模式通过反转第一密钥的位而提供。
在一个实施例中,将第一密钥与反转位模式交错提供第二密钥(例如,PUF2);产生混淆密钥进一步包括使第二密钥与伪随机位交错。
在一个实施例中,所述方法进一步包括使用散列函数从第一密钥或第二密钥导出伪随机位。
在一个实施例中,使第二密钥与伪随机位交错提供第三密钥(例如,PUF3);且产生混淆密钥进一步包括将第三密钥与错误校正码位串接。
在一个实施例中,计算装置为第一计算装置,所述方法进一步包括与第二计算装置共享初始密钥、第一密钥或第三密钥中的至少一者,且从第二计算装置接收使用初始密钥、第一密钥或第三密钥中的共享的至少一者加密的消息。
在一个实施例中,将第三密钥与错误校正码位串接提供第四密钥(例如,PUF4);且产生混淆密钥进一步包括将第四密钥与第四密钥的一或多个副本串接。
在一个实施例中,将第四密钥与第四密钥的一或多个副本串接提供第五密钥(例如,PUF5);且存储混淆密钥包括将第五密钥的第一副本存储在非易失性存储器的行或块中的至少一者上,所述行或块与存储第五密钥的第二副本的行或块不同。
在一个实施例中,系统包括:至少一个物理不可克隆函数(PUF)装置(例如,PUF装置121),其经配置以提供第一值;非易失性存储器(例如,非易失性存储媒体109),其经配置以存储混淆密钥(例如,密钥635);至少一个处理器;及存储器,其含有经配置以指导所述至少一个处理器进行以下操作的指令:基于由至少一个PUF装置提供的第一值产生初始密钥;基于初始密钥产生混淆密钥;及将混淆密钥存储于非易失性存储器中。
在一个实施例中,系统进一步包括消息认证码(MAC)模块(例如,MAC 123),所述消息认证码模块经配置以接收由至少一个PUF装置提供的值,其中产生初始密钥包括使用第一值作为到MAC模块的输入以产生初始密钥。
在一个实施例中,产生混淆密钥包括以下中的至少一个:将密钥与预定位模式串接;使第一密钥与第一密钥的反转位模式交错;使密钥与伪随机位交错;将密钥与错误校正码位串接;或将第二密钥与第二密钥的一或多个副本串接。
在一个实施例中,所存储的混淆密钥具有相等数目的零位及一位。
在一个实施例中,产生混淆密钥包括将初始密钥与第一位模式串接。
在一个实施例中,将初始密钥与第一位模式串接提供第一密钥;且产生混淆密钥进一步包括使第一密钥与第二位模式交错。
在一个实施例中,产生混淆密钥进一步包括使密钥与伪随机位交错。
在一个实施例中,产生混淆密钥进一步包括将密钥与错误校正码位串接。
在一个实施例中,非暂时性计算机存储媒体存储指令,所述指令当在计算装置上执行时致使计算装置执行方法,所述方法包括:使用至少一个物理不可克隆函数(PUF)产生初始密钥;基于初始密钥产生混淆密钥;及将混淆密钥存储于非易失性存储器中。
图19展示根据一个实施例的用于基于密钥注入1010产生初始密钥625、混淆初始密钥且将混淆密钥存储在非易失性存储器中的计算装置1003。
在一个实施例中,通过使用注入密钥1010产生初始密钥625。举例来说,初始密钥625通过在制造或其它组装或测试期间注入工厂或其它安全环境中而存在于芯片中。在一个实例中,初始密钥625用作计算装置1003的初始UDS。混淆还可应用于UDS。UDS为DICE-RIoT开始使用以产生密钥及证书的安全产生的秘密。通过将混淆处理(经由模块630)应用于所注入密钥(例如来自密钥注入1010的值)来执行应用处理以增大初始密钥的混淆。在其它实施例中,混淆处理可应用于可存储于或以其它方式存在于芯片或裸片上的任何其它值。
密钥产生及安全存储的变化
现在下文描述各种额外非限制性实施例。在一个实施例中,在系统板的第一上电之后(或在所述第一上电期间),激活特殊序列以接通含有加密引擎(例如,加密模块127)的装置。序列进一步唤醒内部PUF且验证其功能性,接着PUF产生初始值PUF0,例如如上文所描述。PUF0值由芯片上算法(例如,由混淆处理模块630)处理且在非易失性阵列的特殊区中(在用户可寻址空间外)写入。在替代实施例中,代替PUF0值,由类似如下文所描述的芯片上算法处理所注入密钥,以提供用于存储的混淆密钥。
在一个实施例中,执行混淆处理以防止Vdd(电压)和/或温度故障黑客攻击。此处理包含将PUF0与众所周知的模式(例如,其含有固定量的0/1位)串接。在装置(例如,芯片)的寿命期间,当PUF值被内部读取时,这些位准许确定读取电路是否能够恰当地辨别0/1位。举例来说,PUF1=PUF0||010101……01
接下来,以上处理的结果(例如,PUF1)进一步以虚拟位体现(例如,以避免Icc黑客分析)。具体来说,例如,PUF1的位与PUF1的反转版本(即,PUF1条,其通过反转PUF1的每一位而形成)交错。举例来说,PUF2=PUF1交错PUF1条。
在一个实施例中,交错的规则取决于存在于芯片/装置上的列解码器(例如,NV非易失性阵列)的种类。所述装置确保在PUF值(来自非易失性阵列)的每一读取处,读取电路处理(在单次发射中)来自PUF1和PUF1条的相同数目的位。这确保在0和1的值下读取相同数目的位,这提供电源电流(Idd)中的规则形状。
接下来,PUF2的位进一步与伪随机位交错。在一个实例中,交错取决于非易失性阵列列解码器结构。在一个实施例中,输出具有用特定数目个伪随机位填充的相同数目个PUF2位(例如,以便混淆可存在于PUF2模式中的最终残余相关)。
在一个实施例中,可通过使用散列函数从PUF1或PUF2导出伪随机位。还可使用其它替代方法。
在一个实施例中,任选地,为了减少或防止归因于非易失性老化的位损失,PUF3的位与错误校正码(ECC)位串接。在一个实施例中,PUF4的位任选地复制一次或多次(其还扩展ECC能力)。举例来说,可在NAND存储器上实施前述内容。在一个实例中,PUF5=PUF4||PUF4||……||PUF4
在一个实施例中,PUF5的值可在非易失性存储器阵列的不同行和或块上写入两次或多于两次。
作为上述混淆处理的结果,例如,一旦最终PUF值写入到非易失性阵列块中,就可在减弱的密钥可靠性或不关心密钥可靠性(例如,归因于噪声或电荷损失)的情况下使用所述值,或通过Idd分析推断其值或通过Vdd故障攻击迫使其值的任何尝试。
在一个实施例中,一旦完成混淆处理,就可停用PUF电路。在一个实施例中,在停用之后,PUF装置可提供装置上内部使用的值以用于其它目的(例如,使用非易失性阵列内部的标准读取操作)。
在一个实施例中,当从PUF3提取密钥时,密钥位不同于随机位。举例来说,存储密钥的装置的内部逻辑了解从PUF5返回到先前或原始PUF(例如,PUF3)所需的位置和方法。
在一个实施例中,提取密钥的装置已知密钥位的位位置。举例来说,取决于设计选择,装置的内部逻辑可接收中间PUF或最终密钥PUF5中的一个。随后,按相反次序应用一或多个操作将获得原始PUF。举例来说,从PUF1到PUF5的处理步骤经执行以按黑客将必须进行以下两者的方式存储混淆PUF:读取内容(例如,密钥位),且还知道经应用以便返回的操作且确定原始密钥。
使用PUF产生计算装置的身份
现在下文描述与使用物理不可克隆函数(PUF)产生计算装置的身份相关的各种实施例。以下描述的一般性不受上文描述的各种实施例的限制。
在先前方法中,计算装置的制造商有必要与购买计算装置的客户共享一或多个秘密密钥以便建立计算装置的身份。然而,由于需要用于与客户共享密钥的繁琐、复杂且昂贵的安全信道和基础设施,秘密密钥的共享造成技术问题。此外,需要人员服务来实施密钥共享。此外,前述安全需求可增加安全措施可由黑客或其它未授权的人破解的风险。
下文论述的本公开的各种实施例提供对以上技术问题的技术解决方案。在不同实施例中,计算装置使用一或多个PUF产生身份。在一个实例中,身份为UDS。
在一个实施例中,以自动方式(例如,基于预定事件的经调度时间或发生,响应于此,计算装置将使用PUF自我产生UDS)分配计算装置的身份的产生。通过使用PUF分配身份,可以减少身份分配的复杂度和费用。
在计算装置产生身份之后,其可用于产生标识符、证书和密钥的三元组。在一个实施例中,响应于从主机装置接收到消息而产生所述三元组。主机装置可使用所产生的标识符、证书及密钥来验证计算装置的身份。在验证身份之后,可以使用密钥执行主机装置与计算装置的进一步安全通信。
在一些实施例中,计算装置响应于从主机装置接收到命令而产生身份。举例来说,命令可为由计算装置认证的安全替换命令。在产生身份之后,计算装置将确认消息发送到主机装置以确认产生替换身份。在一个实例中,替换身份是存储在非易失性存储器中并且替换先前存储的UDS(例如,由计算装置的原始制造商分配的UDS)的新UDS。
在一个实施例中,身份为存储于计算装置的存储器中的装置秘密(例如,如DICE-RIoT协议中所使用的UDS,例如上文所论述)。通过计算装置的一或多个PUF提供至少一个值。计算装置使用密钥衍生函数(KDF)产生装置秘密。由一或多个PUF提供的值为到KDF的输入。KDF的输出提供装置秘密。将KDF的输出作为装置秘密存储在计算装置的存储器中。
在一个实例中,KDF为散列。在一个实例中,KDF为消息认证码。
在一个实施例中,计算装置存储用于与主机装置通信的秘密密钥,并且KDF是消息认证码(MAC)。由一或多个PUF提供的至少一个值是到MAC的第一输入,且秘密密钥用作到MAC的第二输入。
在一些实例中,计算装置可为快闪存储器装置。举例来说,可使用串行NOR。
图20展示根据一个实施例的如用于使用物理不可克隆函数(PUF)2005产生身份(例如,计算装置141的UDS)的计算装置141。更确切地说,由PUF 2005提供值。此值作为输入提供到密钥衍生函数(KDF)2007。来自KDF的输出被存储为装置秘密149。
在一个实施例中,装置秘密149为如DICE-RIoT协议所使用的UDS。类似如上文所描述,UDS可用作产生用于发送到主机装置151的三元组的基础。此三元组包含可由主机装置151用于与计算装置141进行安全通信的公钥。
在一个实施例中,响应于经由主机接口2009从主机装置151接收到命令而执行装置秘密的产生。在一个实例中,命令是替换命令。在一个实例中,命令伴有使用秘密密钥由主机装置151签署的签名。在产生装置秘密之后,经由主机接口2009将确认消息发送到主机装置151。
在一个实施例中,计算装置141存储秘密密钥2013。举例来说,秘密密钥2013可与主机装置151共享。在一个实例中,主机装置151使用秘密密钥2013来签署用替换命令发送的签名。
在一个实施例中,KDF 2007为消息认证码。在产生装置秘密时,秘密密钥2013用作到KDF 2007的密钥输入。来自PUF 2005的值用作到KDF 2007的数据输入。
在使用单调计数器2003的计算装置141中实施新鲜度机制。单调计数器2003可提供用作与主机装置151的安全通信中的新鲜度的值。
唯一标识符(UID)2001存储在计算装置141的存储器中。举例来说,在工厂处注入UID 2001。
在一个实施例中,计算装置141用众所周知的UDS(例如,普通的UDS=0x00000……000或类似者)传递到客户。客户在其工厂中使用主机装置151以请求计算装置141自我产生新的UDS(例如,UDS_puf)。此步骤可通过使用认证命令来完成。仅知道秘密密钥2013的客户或主机装置能够执行此操作(例如,秘密密钥2013可更通常用于管理由计算装置141支持的认证命令集)。
一旦产生UDS_puf,就使用所述UDS_puf来替换原始(普通)UDS。所述替换通过使用认证命令而发生。外部主机装置(客户)可读取UDS_puf。
所产生的UDS_puf可用于实施DICE-RIoT协议。举例来说,可使用UDS_puf计算FDS,类似如上文针对身份组件147及身份组件107所描述。在一个实例中,FDS=HMAC-SHA256[UDS,SHA256(“L1的身份”)]。
另外,可使用UDS_puf产生包含标识符、证书和密钥的三元组(例如,KL1),类似如上文针对图1所描述。主机装置将密钥(例如,KL1public)用于与计算装置141的受信任通信。
在一个实施例中,以上身份产生机制可由计算装置(例如,包含处理器的应用程序板)在应用程序板的第一次使用时自动执行,或在现场一旦发生经调度或预定事件(例如,如由客户调度/确定且作为计算装置的配置(例如,更新等)而存储在存储器145中)即执行。
在一个实施例中,如下执行自我身份产生:配置器主机装置(例如,具有软件的膝上型计算机)连接到耦合到自主车辆总线(例如,使用安全空中接口等)的计算装置。主机装置使用认证命令来请求计算装置自我产生UDS(例如,UDSPUF)。认证是基于秘密密钥2013(例如,秘密密钥可由制造商注入且用安全基础设施提供到客户)。
认证命令执行通过经认证响应(例如,如图20中所说明的“确认”)而确认。在UDSPUF产生结束时,通知主机装置关于通过使用安全协议(例如,通过使用由单调计数器2003提供的新鲜度经由安全有线和/或无线网络发送)产生的UDSPUF
在一个实施例中,主机接口2009是支持认证和重放受保护命令的命令接口。在一个实施例中,认证是基于秘密密钥(例如,秘密密钥2013)且使用MAC算法(例如,HMAC)。在一个实例中,从主机装置151接收包含基于命令操作码、命令参数和新鲜度的签名的身份产生命令。在一个实例中,签名=MAC(操作码|参数|新鲜度,秘密密钥)。
在一个实施例中,计算装置141提供包含签名的身份产生确认。在一个实例中,签名=MAC(命令结果|新鲜度,秘密密钥)。
在一个实施例中,秘密密钥2013在工厂中注入。在一个实例中,秘密密钥可为对称的(例如,基于HMAC-SHA256)。在另一实例中,秘密密钥可使用非对称方案(例如,ECDSA)。
可使用各种选项产生装置秘密149(例如,UDSPUF)。举例来说,一旦通过使用恰当认证和重放受保护命令激活产生流程,就根据如下选择的命令选项产生UDSPUF
选项#1:读取来自PUF模式的至少一个值(有时被称作“PUF RAW”)(有时还被表示为UDSRAW),且将其提供到KDF 2007(密钥衍生函数)(例如,SHA256)。此过程的结果为最终密钥。因此:UDSPUF=KDF(UDSRAW)
选项#2:读取PUF RAW模式(UDSRAW)且将UDSPUF计算为:UDSPUF=KDF(UDSRAW|UID),其中UID为分配给所有装置的公共唯一ID(在一些情况下,UID还可分配给非安全装置)。在一个实施例中,UID 2001用作到KDF的输入。
选项#3:读取PUF RAW模式(UDSRAW),且将UDSPUF计算为:UDSPUF=KDF(UDSRAW|UID|HASH(用户模式)),其中通过请求自我身份产生的主机在命令有效载荷中提供用户模式。
选项#4:读取PUF RAW模式(UDSRAW),且将UDSPUF计算为:UDSPUF=KDF(UDSRAW|UID|HASH(用户模式)|新鲜度),其中新鲜度为例如命令有效载荷中提供的新鲜度。
更一般来说,UDS被计算为UDSPUF=KDF[(由主机装置提供的信息|装置中存在的信息)]。KDF函数可用作使用秘密密钥的简单HASH函数(例如,SHA256),或MAC函数(例如,HMAC-SHA256)。
在一个实例中,当MAC函数用作KDF时,所使用的秘密密钥为用于提供认证命令的相同密钥。可使用如下选项中的一者产生装置秘密(例如,UDS):
选项#5:UDSPUF=MAC[Secret_Key,(UDSRAW)]
选项#6:UDSPUF=MAC[Secret_Key,(UDSRAW|UID)]
选项#7:UDSPUF=MAC[Secret_Key,(UDSRAW|UID|HASH(用户模式))]
选项#8:UDSPUF=MAC[Secret_Key,(UDSRAW|UID|HASH(用户模式)|新鲜度)]
更一般来说,UDSPUF=MAC[Secret_Key,(由主机提供的信息|装置中存在的信息)]
如上文所提及,UDSPUF可在产生之后传达到主机装置151。在一个实施例中,主机装置151可直接读取UDSPUF。UDSPUF可只读取预定次数(例如,仅一次或几次)。在一个实例中,可使用如下文针对图21所描述的过程。在按预定次数读取UDSPUF之后,永久地停用读取机制。举例来说,此方法可在安全环境中使用(例如,当使用计算装置141组装计算系统或其它产品时在客户的工厂中使用)。
在一个实例中,通过计算装置141使用从主机装置151接收的公钥来加密UDSPUF,且随后将UDSPUF发送到主机装置151。在此程序之后,永久地停用UDSPUF读取机制。
在另一实施例中,计算装置141包含混淆处理模块2011。混淆处理模块2011为图15的混淆处理模块630或图19的混淆处理模块630的实例。
在一个实施例中,UDSPUF用主机公钥加密且传达到主机装置;主机装置使用其对应的秘密密钥来对其进行解密。在特定通信设置阶段期间将主机公钥传达到计算装置141。在一个实施例中,可以通过直接读取操作通过使用认证命令完成UDSPUF的共享,并且在预定次数的读取(例如,通常仅一次)之后,永远停用此类读取操作。计算装置141将UDS密钥存储于防篡改区域中。在UDS密钥也用于内部(计算装置)使用的每一使用下,混淆机制用于避免信息泄漏(例如,通过避免黑客猜测所存储的UDS密钥的任何机会,例如通过黑客分析电流或电压波形)。举例来说,所使用的混淆机制可如上文针对图15、18、19所描述。
在一个实施例中,计算装置141在将加密的装置秘密发送到主机装置151之前混淆装置秘密。
图21展示根据一个实施例的发送由系统的单调计数器提供的初始值以用于确定是否已发生对系统的篡改的系统。在一个实例中,系统为图20的计算装置141。
在一些实施例中,系统将秘密密钥用于与其它装置(例如,主机装置151)的安全通信。产生秘密密钥并将其存储于系统上(例如,通过在系统板的初始组装之后的工厂处的密钥注入)。系统的单调计数器用于提供初始值。
在另一实施例中,秘密密钥为与DICE-RIoT协议一起使用的UDS。响应于来自主机装置(例如,主机装置151)的命令而产生秘密密钥。
在一个实施例中,通过电子通信将初始值发送到物理系统的既定接收方(例如,接收方将在物理系统物理上运输到接收方的位置之后接收物理系统)。在接收到系统之后,接收方从单调计数器读取输出值。接收方(例如,使用较早接收到初始值的接收方的计算装置或服务器)比较初始值与输出值以确定是否已发生对系统的篡改。在一个实例中,篡改为入侵者在其物理运输期间访问系统的秘密密钥的未授权尝试。
在一个实施例中,秘密密钥可例如使用真实RNG(随机数生成器)或PUF产生,或在类似工厂的安全环境中预先注入系统(存储器)中。
在一个实施例中,所产生的密钥与单调计数器的初始值相关联。所述初始值由所述系统的接收方使用以确定是否已进行未授权的访问所存储的密钥的尝试。在一个实施例中,密钥注入过程可使用来自物理不可克隆函数(PUF)的输出以针对存储密钥的计算装置的每一通电循环产生密钥。
更确切地说,图21展示根据一个实施例的发送由单调计数器355提供的初始值以用于确定是否已发生对系统351的篡改的系统351。举例来说,可以确定系统351是否已经由在系统351的物理运输期间寻求对所存储的密钥的未授权访问的黑客篡改。在一个实例中,系统351为包含非易失性存储器306、处理器304、单调计数器355和电源318的系统板。
在处理器304的控制下产生一或多个密钥314。非易失性存储器306用于存储所产生的密钥。非易失性存储器306为例如非易失性存储器装置(例如,3D交叉点存储区)。
单调计数器355经初始化以提供初始值。此初始值与所存储的密钥314相关联。初始值通过处理器304经由外部接口312发送到另一计算装置。举例来说,可将初始值发送到接收器的服务器,系统351将在制造及密钥注入完成之后运送到所述接收器。
当系统351由接收器接收时,接收器的计算装置确定初始值。举例来说,计算装置可将在如上文所描述发送时所接收的初始值存储于存储器中。计算装置从单调计数器355读取输出值。将此输出值与初始值相比较以确定是否已对系统351进行篡改。
在一个实施例中,接收器的计算装置确定已发生的使得单调计数器355递增的事件的数目。举例来说,来自单调计数器355的输出值可经配置以在系统351的每一通电操作上递增(例如,如通过监测电源318检测到)。来自单调计数器355的输出值可另外和/或替代地经配置以在执行对所存储的密钥314的读取访问的每次尝试时递增。
通过例如跟踪致使单调计数器递增的已知事件的数目,可基于已知事件的此数目而调整从发送器接收的初始值。接着,将调整后的初始值与从单调计数器355读取的输出值进行比较。如果值匹配,那么未发生篡改。如果所述值不匹配,那么计算装置确定已检测到篡改。
响应于确定已检测到篡改,可停用系统351的一或多个功能。在一个实施例中,处理器304从接收器的计算装置接收包含已检测到篡改的指示的通信。响应于接收到所述通信,处理器304停用系统351的至少一个功能。在一个实例中,所停用的功能为对所存储的密钥314的读取访问。
在一个实施例中,系统351可经配置以使得从单调计数器355输出的计数器值无法超过预定最大值。举例来说,当从单调计数器355读取每一计数器值时,确定计数器值是否超过预定最大值。如果计数器值超过预定最大值,那么可永久地停用对所存储的密钥314的读取访问(例如,在处理器304的控制下)。
在一个实施例中,系统351体现在半导体裸片上。在另一实施例中,系统351形成于系统板上。应用程序存储于系统存储器353中且由处理器304执行。应用程序的执行发生在系统351的通电之后。举例来说,系统351的接收器可在确定未发生对系统的篡改之后执行应用程序。
在一个实施例中,使用来自一或多个物理不可克隆函数(PUF)的输出值产生密钥314。举例来说,针对系统351的每一通电循环产生密钥。在另一实例中,密钥314为响应于来自主机装置的经由外部接口312接收的替换命令而产生的UDS。
在一个实施例中,系统351为存储密钥314的控制器。外部接口312用于将初始值从单调计数器355发送到处于与控制器相同的系统板上的外部非易失性存储器装置(未展示)。外部非易失性存储器装置通过从单调计数器355读取输出值且将输出值与从系统351接收的初始值相比较来确定是否已发生篡改。
在一个实施例中,系统存储器353包含易失性存储器308和/或非易失性存储器306。加密模块316用于使用密钥314(例如,对称密钥)经由外部接口312执行用于安全通信的加密操作。
现在在各种另外的实施例中描述建立秘密密钥共享。通过参与通信的动作者之间的密钥共享来设置安全通信信道。在受信任平台模块板中使用的组件通常不具有足够的处理能力来实施例如公钥密码术等方案。
在一个实施例中,装置/板制造商与OEM/最终顾客之间共享一或多个秘密密钥。并且,可按需要在所属领域中的同一板中的不同装置之间共享密钥。如上文所论述,在安全装置内部使用一或多个单调计数器。
在一个实例中,在装置离开工厂或制造商测试线之前,取决于装置能力和用户需要,在装置内部注入一或多个秘密密钥(例如,如下的一或多个秘密密钥:具有k=1……N的Secret_Keyk)。
取决于装置能力及用户需要,初始化一或多个单调计数器(N(N≥1)不同MTC→MTCk=0)。单调计数器(MTC)经配置以每当发生系统/装置的通电时递增输出值,且每当所存储的秘密密钥(尝试)待读取时递增输出值。
每一MTCk的值可为公共的且与客户共享(例如,作为MTCk)。命令序列(例如,如系统设计者所任意确定)用于从装置读取密钥,且命令序列可为公共的(例如,方法的强度并不基于读取协议的安全性)。
在一个实施例中,不需要针对每一秘密密钥使用专用MTC。这可取决于所使用的安全服务的类型而变化。举例来说,一些密钥可一起读取,且其仅需要单个MTC。
在一个实施例中,在系统到达接收器(例如,客户/用户)位置之后,执行若干操作。接收器的计算装置首先确定单调计数器355的初始值。举例来说,检索MTCk=(MTC0)k的值(例如,在装置离开工厂的时刻写入和发送的初始值)。针对每一MTC或相关联密钥,MTCk值可不同。
随后,接收器客户/用户对系统351供电。第一所解决的操作为MTCk值的读取。如果每一MTCk值与预期(所接收)初始值[例如MTCk=(MTC0+1)k]匹配,那么将装置确定为在物理运送或其它传送期间尚未通电,且系统351被终端用户/客户视为可靠的(且未被篡改)。
如果一或多个值不匹配,那么已发生篡改。举例来说,未经授权的人使装置通电且尝试读取所存储的密钥。如果已发生篡改,那么丢弃装置且将篡改的指示传达到发送方(例如,传送公司)以避免另外的技术安全问题。
在另一实施例中,通过系统351的接收器执行多个读取操作。举例来说,装置离开工厂且到达客户/OEM。客户读取一或多个密钥并且相关MTCk递增一。如果MTCj递增超过硅工厂(发送器)预设的值(MTCj MAX),那么永久地停用密钥(Secret_Keyj)的读取。
在此实例中,MTCj MAX为对于每一MTC由发送器及客户同意的预定最大值。此方法允许可检查或执行在读取MTC值之后/之前的密钥读取的一或多个尝试。这准许(例如)发现任何未经授权的访问且同时还确保OEM/客户在停用之前执行密钥的读取若干次。
如果在读取过程期间,一或多个MTC具有未预期的值(例如,初始值和读取值在针对已知读取和通电操作的数目的调整之后并不匹配),那么丢弃装置。在一个实施例中,一旦读取所有密钥,就清除相关MTCk且可将其重新用于其它目的(例如,如由系统设计者配置和所要的加密处理功能等)。
在另一实例中,监测装置/板使用。此实例使用已经存在于安全装置上(例如,存在以供密码模块316使用)的单调计数器。在装置离开硅工厂之前,在测试生产线上执行以下操作:初始化M(M≥1)不同MTC→MTCk=0。
此类MTC计数器在装置的每一上电处递增。可将每一计数器初始化为零(或按需要初始化为另一初始值)。
接收器终端用户可使用所接收的MTCk值以获得关于系统351的各种信息,例如,检测组件/板的未授权使用,确定组件已经去焊接且在板外部使用以侵入所述组件,基于客户的服务实施费用机制的电力循环计数,装置板保修策略和电力损耗。
在一个实施例中,实施所述费用机制涉及使值与特定使用相关联。可将应用程序提供到客户,且客户必须支付费用以解锁特定使用。
在一个实施例中,秘密密钥在同一系统板上的不同装置之间共享(例如,在由终端用户使用时在字段中共享)。通过同一板上的组件之间(例如,处理器之间)的交换而共享密钥。
在一个实施例中,通过将一或多个单调计数器(MTCk)的初始值设置为零来初始化一或多个单调计数器(MTCk)中的每一者。在一个实例中,当设置MTCk=0时,MTCk为由数字k指示的与特定密钥相关联的计数器。MTCk=0指示计数器的初始值为零。每一k指示计数器数目中的一者,其对应于存储于装置中的内部密钥的数目。每一计数器的值存储在装置的非易失性存储器区域中。
在一个实施例中,检测装置的通电(有时也被称作上电)。装置包含测量电源的值的内部电路。当电源超过某一阈值时,电路触发内部信号以指示通电事件的存在(检测)。此信号可致使单调计数器的递增。
在一个实施例中,检测读取秘密密钥的尝试。每当检测到电力时(如上所述)递增计数器(MTCk),并且另外每当装置接口辨识出读取密钥的命令序列时递增计数器(MTCk)。知道初始MTCk值,当进行装置的运送时,准许装置的最终接收器(例如,终端用户/客户)知道装置(和计数器)状态。因此,如果在运送期间,存在对装置进行供电和/或读取的尝试,那么这产生存储在每一MTCk中的计数器值的变化。
在一个实施例中,命令序列用于从装置读取密钥。举例来说,装置具有外部接口,其接受来自其它计算组件或装置的命令。密钥可用于读取直到达到最大计数器值为止。在一个实例中,装置在接口处具有序列:命令(例如,0x9b)+变量参数(0x34)+签名。装置理解将读取密钥且在输出处提供密钥。
在一个实施例中,在装置的测试(例如,在初始工厂处)之后,每个密钥的MTCk将具有来自初始化的初始值。因此,例如,如果k=3,那么:MTC0=20d,MTC1=25d,MTC2=10。将值MTC0、MTC1、MTC2发送/发射到客户,作为一组初始值。当装置由客户接收时,客户使用命令序列来读取所述值。客户(例如,使用计算装置)随后确定装置在运送期间是否被破解。在一个实例中,使用上文所描述的命令序列读取单调计数器值。
在一个实施例中,预设预定最大计数器值。举例来说,可基于客户程序选择预设的最大值。举例来说,假设客户想要读取密钥10次。并且,假设MTCk仅在电力接通时递增,且假设存在两个计数器MTC0(仅与通电相关联)及MTC1(仅与密钥读取命令程序相关联)。在工厂测试之后,基于监测MTC0和MTC1值,发现:MTC0=30,MTC1=25。在一个实例中,针对MTC0将内部阈值设置为40且针对MTC1将内部阈值设置为35。
在一个实施例中,与密钥相关联的MTC随着上电及读取密钥的尝试而递增。每当两个事件中的一者发生时,MTC递增。
在一个实施例中,在最终读取所存储的密钥之后清除单调计数器(且任选地可重新用于对装置的其它处理)。系统设计者可以按需要配置这一点。最终读取例如当不再需要MTC计数的目的时作为恶意事件的检测器。这释放计数器作为资源,其可用于其它目的,或计数器可保持计数。
在一个实施例中,单调计数器可用于获得各种类型的信息,例如经去焊接的组件、实施费用机制、实施保修等。计数器可用于监测不同类型的发生,因为计数器值的递增可被外部触发。
在一个实施例中,提供多个密钥读取选项。在一个实例中,对于MTC值的初始化(对于与密钥相关联的MTCk),设置最大阈值以允许由组件和/或最终用户的接收器读取每一密钥。多个读取选项允许根据读取特定密钥的尝试的最大数目而改变阈值(对于每一密钥可不同)。
在一个实施例中,不同类型装置可使用以上方法。举例来说,CPU或MCU通常具有不可由外部访问存取的内部硬件安全模块。在一个实例中,需要具有存储在装置或组件中的相同密钥(例如,当使用对称密钥方法时)以便正确地操作。在此情况下,CPU/MCU从密钥到授权实体、装置或组件的分布/共享获益。此共享允许读取密钥(例如,此共享对应于MTCk阈值中的值的编程)。
在一个实施例中,以上方法用于客户固件注入。举例来说,以上方法允许在装置(例如,应用程序固件)内部存储关键内容且在不安全的环境中实施装置的移动(而不损害固件/装置的完整性)。在一个实例中,对于固件注入,在运输期间的MTCk计数器值的非预期变化用作指示已发生固件损害的索引。
图22展示根据一个实施例的用于使用物理不可克隆函数(PUF)产生计算装置的身份的方法。举例来说,图22的方法可在图20的系统中实施。
图22的方法可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,至少部分地通过图20的处理器143执行图22的方法。
虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,可以在各种实施例中省略一或多个过程。因此,并非在每个实施例中都需要所有过程。其它过程流是可能的。
在框2211处,通过至少一个物理不可克隆函数(PUF)提供至少一个值。举例来说,PUF 2005提供值作为输出。
在框2213处,使用密钥衍生函数(KDF)产生装置秘密。由至少一个PUF提供的至少一个值用作到KDF的输入。举例来说,来自PUF 2005的输出用作到KDF 2007的输入。
在框2215处,存储所产生的装置秘密。举例来说,KDF 2007产生存储为装置秘密149的输出。
在一个实施例中,方法包括:通过计算装置产生装置秘密(例如,存储为装置秘密149的UDS),所述产生包括:通过至少一个物理不可克隆函数(PUF)提供至少一个值;及使用密钥衍生函数(例如,KDF 2007)产生装置秘密,其中由至少一个PUF提供的至少一个值为到KDF的输入;以及将所产生的装置秘密存储于计算装置的存储器中。
在一个实施例中,存储所产生的装置秘密包括用所产生的装置秘密替换先前存储在存储器中的装置秘密。
在一个实施例中,KDF为散列或消息认证码。
在一个实施例中,所述方法进一步包括存储用于与主机装置通信的秘密密钥,其中KDF为消息认证码(MAC),由至少一个PUF提供的至少一个值为到MAC的第一输入,且秘密密钥为到MAC的第二输入。
在一个实施例中,响应于事件而产生装置秘密,且所述事件为通过计算装置从主机装置接收命令。
在一个实施例中,所述方法进一步包括从主机装置接收主机公钥,使用主机公钥对所产生的装置秘密进行加密,及将经加密的装置秘密发送到主机装置。
在一个实施例中,所述方法进一步包括在将经加密的装置秘密发送到主机装置之后,永久地停用对存储器中的装置秘密的读取访问。
在一个实施例中,所述方法进一步包括在将经加密的装置秘密发送到主机装置之前混淆装置秘密。
在一个实施例中,所述方法进一步包括通过所述计算装置将秘密密钥(例如,秘密密钥2013)存储在存储器中,其中所述命令通过所述计算装置使用消息认证码(MAC)来认证,且所述秘密密钥用作到所述MAC的输入。
在一个实施例中,主机装置发送用于认证命令的签名,所述签名使用MAC来产生,且由主机装置产生的新鲜度用作到MAC的输入。
在一个实施例中,新鲜度为到KDF的额外输入。
在一个实施例中,主机装置向用户模式提供命令,且其中用户模式的散列为到KDF的额外输入。
在一个实施例中,所述方法进一步包括在产生装置秘密之前通过计算装置认证命令。
在一个实施例中,所述方法进一步包括存储计算装置的唯一标识符,其中所述唯一标识符为到KDF的额外输入。
在一个实施例中,响应于事件而产生装置秘密,且所述事件为通过计算装置检测计算系统的使用。
在一个实施例中,使用是由计算系统执行应用程序。在一个实施例中,使用为启动加载过程的初始化。
在一个实施例中,根据技术方案1所述的方法,其中响应于事件而产生装置秘密,且所述事件为经时间调度的事件。
在一个实施例中,系统包括:至少一个处理器;及
存储器,其含有经配置以指导所述至少一个处理器进行以下操作的指令:产生装置秘密,所述产生包括:通过至少一个物理不可克隆函数(PUF)提供至少一个值;及使用密钥衍生函数(KDF)产生装置秘密,其中由至少一个PUF提供的至少一个值为到KDF的输入;以及将所产生的装置秘密存储于计算装置的存储器中。
在一个实施例中,所述指令进一步经配置以指导所述至少一个处理器进行以下操作:从主机装置接收替换命令;及将使用所产生的装置秘密产生的公共标识符发送到主机装置;其中响应于接收到所述替换命令而产生装置秘密;其中存储所产生的装置秘密包括用所产生的装置秘密替换先前存储的装置秘密。
在一个实施例中,非暂时性计算机存储媒体存储指令,所述指令当在计算装置上执行时致使所述计算装置至少进行以下操作:通过至少一个物理不可克隆函数(PUF)提供至少一个值;使用密钥衍生函数(KDF)产生装置秘密,其中由至少一个PUF提供的至少一个值为到KDF的输入;及将所产生的装置秘密存储于存储器中。
分配及验证车辆的身份
现在下文描述与分配及验证车辆的身份相关的各种实施例。在各种实施例中,将身份分配给第一车辆(例如,紧急车辆),且第二车辆验证第一车辆的身份。举例来说,可基于通过第一车辆的计算装置(例如,图1的计算装置141)从主机装置(例如,图1的主机装置151)接收的替换命令而分配身份。
举例来说,可通过第二车辆使用基于由第一车辆提供的三元组的验证方法来验证身份。类似于由主机装置151使用从计算装置141接收的三元组来执行此验证方法。第一车辆可为与操作的状态和/或一类车辆相关联的车辆(例如,第一车辆可为特定实体所拥有的车队的成员)。以下描述的一般性不受上文描述的各种实施例的限制。
在现有方法中,作为紧急车辆、警车或具有特殊状态的另一车辆的车辆的身份已经由手动方法和/或与紧急车辆隔离的方法指示,因为身份并不在车辆外部电子地传达。举例来说,启动闪烁红光或其它紧急指示符以指示车辆为处于紧急操作状态的紧急车辆。然而,此紧急状态不以任何方式在车辆外部传达。
前文在识别车辆和/或车辆的状态时产生技术问题。举例来说,其它车辆不能够容易地确定紧急车辆的紧急身份或状态。举例来说,其它车辆必须依赖于目视观测来确定紧急车辆的身份和/或状态。这可导致可在其它车辆对紧急车辆作出适当响应或反应时的延迟。举例来说,其它车辆对移动到旁边以使紧急车辆更快速地通过的响应缓慢。
另外,对于自主地驾驶的车辆,为了安全交通管理期望自主车辆具有辨识特定类别的车辆的能力。这部分地使得自主车辆可在存在某一类别的车辆时采取适当的响应动作。所述类别的车辆可包含紧急车辆,例如警车、消防车和救护车。其它类别的车辆可包含公共服务车辆(例如出租车和公共汽车)。其它类别的车辆可包含私人或公司车队中的车辆。自主车辆无法辨识另一车辆的适当类别可导致不当交通导航响应,这可造成事故或其它伤害。
此外,缺乏安全身份机制可准许黑客攻击,例如车辆克隆、中间人攻击和重放攻击。这些可导致自主车辆的安全和安全操作受损。
下文论述的本公开的各种实施例提供关于分配及验证紧急车辆的身份的以上技术问题的技术解决方案。在各种实施例中,计算装置(例如,计算装置141)产生车辆的身份,且准许车辆由其它车辆验证。所述身份对应于车辆的类别。在一个实例中,身份为如用于DICE-RIoT协议的唯一装置秘密(UDS),如上文所描述。
在一个实施例中,公共或私人组织或实体定制车队的身份(例如,身份对应于车辆的类别)。这通过将认证命令(例如,如上文所论述的替换命令)发送到每一车辆来完成。命令致使车辆分配由主机装置提供的UDS,或产生经更新的UDS(例如,如上文所描述,使用车辆的计算装置上的PUF)。UDS随后由其它附近车辆使用以在操作期间验证身份经定制的车辆的身份。
在一个实施例中,每一附近车辆从“紧急”车辆接收一或多个证书和密钥。出于示范性论述的目的,下文描述且说明紧急车辆。然而,以下实施例不限于仅与紧急车辆一起使用。实际上,这些实施例可与其它类型的车辆一起使用。此外,车辆可以是陆地、空中和/或基于水的交通工具(例如,无人驾驶飞机、船、飞机等)。
在一个实施例中,附近车辆具有计算装置,所述计算装置包含用于验证紧急车辆的身份的验证组件。在一个实例中,验证组件为图1的验证组件153。在一个实例中,附近车辆接收证书和公钥作为使用DICE-RIoT协议产生的三元组的部分,例如上文所描述。附近车辆验证紧急车辆/警车/其它车辆的存在,这允许与紧急车辆的安全通信交换(例如,保险坐标、牌照数据等)。优点在于此安全无线通信允许附近车辆在没看到紧急车辆的车牌等的情况下辨识紧急车辆。在非自主车辆的情况下,可使用其它方法(例如,在显示器上呈现警告和/或使用车载娱乐系统、集群等)将与紧急车辆的通信传达到驾驶员。
在一个实施例中,紧急车辆和所有附近车辆具有使用DICE-RIoT协议支持身份分配和验证的计算装置。具有此类身份装备的每一车辆可由公共机构或私人公司定制以成为车队(例如,紧急车辆、出租车等的车队)的部分。
每一车辆中的计算装置可最初用UDSgeneric制造,例如如上文所描述。车辆的所有者可使用其计算装置通过使用经认证和重放受保护命令(例如,如上文在各种实施例中所描述的替换命令)替换UDS而定制车辆。一个优点在于,因为组件具有证实其身份的能力,所以不存在组件替换的风险。
在一个实施例中,UDSgeneric替换允许公共机构注入其秘密UDS(例如,UDSpolice department,UDSfire fighter)。此UDS用于产生可由公众(包含其它车辆)辨识的一或多个公共证书。这准许公共机构和/或其它车辆通过以安全方式与车辆通信而实施安全服务。在一个实例中,所产生的证书为使用UDS和如上文针对图1所论述的身份组件147产生的三元组的部分。
在一个实例中,私人公司可注入其秘密UDS以辨识其自身的车队的车辆,且实施与车辆的安全无线通信。车辆可包含例如出租车、公共汽车、船、无人驾驶飞机等。
可通过有线或无线(例如,Wi-Fi、3G-5G蜂窝式、蓝牙等)、光学无线通信(OWC)等任何种类的通信系统来执行通过公共或私人机构的中央服务器与车辆的通信。
图23展示根据一个实施例的使用一或多个证书2321验证紧急车辆2303的身份的附近车辆2311。紧急车辆2303的身份先前已经由机构计算装置2305分配。在一个实例中,机构计算装置2305经由主机接口2009将替换命令发送到计算装置2301。
响应于接收到替换命令,计算装置2301将新装置秘密存储在计算装置2301和/或紧急车辆2303的存储器中。身份组件147使用新装置秘密来产生证书,所述证书作为证书2321的部分而被存储。在一个实例中,身份组件147产生包含证书的三元组。所产生的三元组还包含存储于密钥存储区157中的公钥。
在一个实施例中,附近车辆2311为检测邻近范围内(例如,在500米或更小,或50米或更小,或5米或更小的距离内)的紧急车辆2303的存在的自主车辆。响应于检测到紧急车辆2303的存在,附近车辆2311发送通信以请求身份。响应于此请求,将一或多个证书2321传达到附近车辆2311的验证组件153。在一个实例中,验证组件153接收三元组,如上文针对DICE-RIoT协议所论述。
验证组件153验证紧急车辆2303的身份。在一个实例中,分配身份,且随后使用如上文针对图5到7及9所描述的方法来验证身份。
在一个实施例中,在验证紧急车辆2303的身份之后,附近车辆2311可确定与身份相关联的车辆的类别。举例来说,附近车辆2311可确定所述类别对应于紧急车辆。在一个实施例中,附近车辆2311可与维护公共标识符及对应类别的公共数据库的公共服务器2307通信。在一个实施例中,每当紧急车辆2303经由主机接口2009被分配新身份时,机构计算装置2305将更新通信发送到公共服务器2307。
在其它实施例中,紧急车辆2303还与交通控制基础设施通信。举例来说,交通控制系统2309可检测紧急车辆2303的接近存在(例如,类似于上文针对附近车辆2311),且请求类似于上文针对附近车辆2311所描述的身份。响应于验证紧急车辆2303的身份,交通控制系统2309可改变状态以便准许紧急车辆2303的自由通过。举例来说,交通控制系统2309可将交通控制灯从红色改变到绿色以准许紧急车辆通过。
在附近车辆2311已验证紧急车辆2303的身份之后,附近车辆2311可使用从紧急车辆2303接收的公钥作为三元组的部分,以便使用通信接口2313及2315执行后续安全通信。
在一个实施例中,附近车辆2311的控制器2319执行软件以实施验证组件153。响应于将身份验证为紧急车辆的身份,控制器2319可改变附近车辆2311的各种系统的配置和/或操作。举例来说,可在显示器2317上向驾驶员和/或乘客呈现警告。另外,举例来说,可改变车辆的导航路径和/或速度。另外,车辆的系统可以被激活,例如,用于减缓车辆的制动系统。
图24展示根据一个实施例的用于使用标识符、证书及公钥来验证车辆的身份的方法。举例来说,图24的方法可在图1、2及20的系统中实施。
图24的方法可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,至少部分地通过图20的处理器143执行图24的方法。
虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,可以在各种实施例中省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程是可能的。
在框2401处,通过第一车辆从主机装置接收命令。举例来说,由紧急车辆2303的计算装置2301从机构计算装置2305接收认证命令。
在框2403处,响应于接收到命令,将新装置秘密存储于存储器中。举例来说,命令为替换命令,且计算装置2301将新装置秘密(例如,UDS)存储于存储器中。新装置秘密替换先前存储的装置秘密。新装置秘密可与来自机构计算装置2305的命令一起接收。替代地,可通过计算装置2301例如使用PUF产生新装置秘密。
在一个实例中,机构计算装置2305为警车。响应于紧急情况的存在,警车可将紧急车辆2303的状态从普通客车促进为处于紧急状态的车辆。这可以是仅针对预定时间量、距离或直到所促进的车辆到达指定目的地而存在的分配。
在框2405处,使用新装置秘密产生三元组。三元组包括标识符、证书及公钥。在一个实例中,计算装置2301使用身份组件147来产生三元组,类似于上文针对各种实施例所描述。
在框2407处,将三元组发送到第二车辆。第二车辆经配置以使用三元组验证第一车辆的身份。举例来说,三元组包含证书2321及来自密钥存储区157的一或多个对应密钥(例如,公钥及公共标识符)附近车辆2311的验证组件153使用三元组来验证紧急车辆2303的身份。在一个实施例中,附近车辆2311经配置以响应于将身份验证为例如处于紧急状态的车辆而执行动作。
在一个实施例中,方法包括:通过第一车辆(例如,紧急车辆2303)的计算装置从主机装置(例如,机构计算装置2305)接收命令;响应于接收到所述命令,将新装置秘密存储于计算装置的存储器中;通过计算装置使用新装置秘密产生包括标识符、证书(例如,证书2321)及公钥的三元组;及通过计算装置将三元组发送到第二车辆(例如,附近车辆2311),其中第二车辆经配置以使用所述三元组来验证第一车辆的身份。
在一个实施例中,新装置秘密:从主机装置接收;或在从主机装置接收命令之后由计算装置产生。
在一个实施例中,新装置秘密与第一车辆的预定状态或类别相关联。举例来说,所述状态为紧急状态。
在一个实施例中,第二车辆经配置以响应于验证第一车辆的身份而执行动作。
在一个实施例中,动作为以下各者中的至少一者:在第二车辆的用户显示器上呈现警告、改变第二车辆的导航路径或速度,或激活第二车辆的制动系统。
在一个实施例中,所述方法进一步包括通过计算装置将三元组发送到交通控制系统(例如,交通控制系统2309),其中所述交通控制系统经配置以:使用所述三元组验证第一车辆的身份;及响应于验证第一车辆的身份,改变交通控制系统的状态以允许第一车辆通过。
在一个实施例中,新装置秘密替换计算装置的存储器中的先前存储的装置秘密。
在一个实施例中,所述方法进一步包括存储用于与主机装置通信的秘密密钥,其中秘密密钥用作到消息认证码的输入以产生新装置秘密。
在一个实施例中,使用秘密密钥认证命令,且所述方法进一步包括通过计算装置将新装置秘密已被存储的确认发送到主机装置。
在一个实施例中,所述方法进一步包括,在第二车辆已验证第一车辆的身份之后:通过计算装置使用私钥对消息进行加密,其中私钥及公钥为使用新装置秘密产生的相关联对;及通过计算装置将经加密消息发送到第二车辆,其中经加密消息包含新鲜度。
在一个实施例中,消息包含配置数据,第二车辆经配置以响应于接收到所述消息而执行,且所述动作由第二车辆按照配置数据执行。
在一个实施例中,用于第一车辆中的系统包括:至少一个处理器;及存储器,其含有经配置以指导所述至少一个处理器进行以下操作的指令:从主机装置接收命令;响应于接收到所述命令,存储新装置秘密;使用所述新装置秘密产生证书;及将所述证书发送到第二车辆,其中所述第二车辆经配置以使用所述证书来验证第一车辆的身份。
在一个实施例中,新装置秘密:从主机装置接收;或在从主机装置接收命令之后由系统产生。
在一个实施例中,系统进一步包括存储器,所述存储器存储用于与主机装置通信的秘密密钥,其中所述指令进一步经配置以指导所述至少一个处理器使用所述秘密密钥作为到消息认证码的输入以产生新装置秘密。
在一个实施例中,第二车辆经配置以响应于验证第一车辆的身份而执行动作,且其中所述动作为以下各者中的至少一者:在第二车辆的用户显示器上呈现警告,改变第二车辆的导航路径或,或激活第二车辆的制动系统。
在一个实施例中,新装置秘密与第一车辆的预定状态或类别相关联。
在一个实施例中,非暂时性计算机存储媒体存储指令,所述指令当在第一车辆的计算装置上执行时致使计算装置至少进行以下操作:从主机装置接收命令;响应于接收到所述命令,将新装置秘密存储于存储器中;使用所述新装置秘密产生包括标识符、证书及公钥的三元组;及将所述三元组发送到第二车辆,其中第二车辆经配置以使用所述三元组来验证第一车辆的身份。
在一个实施例中,将新装置秘密存储在存储器中包括用新装置秘密替换先前存储的装置秘密,且所述指令进一步致使计算装置将标识符发送到主机装置。
在一个实施例中,标识符为公共标识符,且第一非对称生成器产生公共标识符及私用标识符作为对;且第二非对称生成器产生公钥及私钥作为相关联对。
在一个实施例中,所述三元组包括:从主机装置接收消息;将消息与公钥串接以提供第一数据;使用私用标识符对第一数据进行加密以提供第二数据;及使用私钥对第二数据进行加密以提供证书。
在一个实施例中,通过公共机构或私人机构(例如,使用机构计算装置2305)将UDS分配给一或多个车辆。每一机构可分配特定UDSauthority(或UDScustomer)。
举例来说,机构可将配置器(例如,具有软件的膝上型计算机)连接到车辆总线(例如,使用SOTA、OTA等)。通过使用认证命令负载,将新装置秘密(UDS)作为UDSauthority存储到计算装置(例如,计算装置2301)的寄存器中。认证是基于由制造商注入且用例如如上文所描述的安全基础设施提供给客户的秘密密钥。用单调计数器实施新鲜度机制,如上文所描述。
在一个实例中,通过使用经认证替换命令,UDSauthority替换当前UDS。然而,未必需要替换UDS。UDS分配过程可为存储于计算装置中的初始UDS。
用来自计算装置的认证响应确认每一认证命令执行。使用UDSauthority,计算装置产生包括公共标识符、公共证书及公钥的三元组。计算装置还产生私钥和私用标识符,如上文所描述。
在一个实施例中,接收器车辆(例如,附近车辆2311)验证如上文所描述被分配身份的车辆的身份。在一个实例中,车辆是紧急车辆,且不需要因特网或无线连接来执行验证。紧急车辆产生众所周知的公共三元组{IDL1 public,IDL1certificate,KL1 public},且用KL1 private key来对所有消息进行签名。接收器车辆用发送器车辆的KL1 public来验证签名。这提供了消息来自被授权的适当发送器车辆的证据,因为仅车辆知道KL1 private key,其为KL1 public的伴侣。紧急车辆的证书可预先安装在所有此类车辆中,以确保紧急车辆辨识可在因特网或其它通信连接丢失的情况下进行。
在一个实例中,车辆由公用事业设施控制。因特网或其它通信连接用于与车辆通信。如果需要,则接收器车辆可在安全公共目录(例如,存储在公共服务器2307上)中验证三元组{IDL1 public,IDL1 certificate,KL1 public}。用KL1 private key对所有消息进行签名,且接收器车辆用发送器车辆的KL1 public来验证所述签名。
在一个实例中,车辆为由私人公司控制的车队中的私人车辆。每一车辆产生车队的所有车辆已知的三元组{IDL1 public,IDL1 certificate,KL1 public}。车辆用KL1 private key对所有消息进行签名,且接收器车辆用发送器车辆的KL1 public来验证所述签名。
在一个实施例中,通过交换分组来进行车辆之间的通信。每一封包具有新鲜度字段以避免重放攻击。车辆之间的通信的实例包含例如停止、跟随发送器车辆、某处存在事故、关于事故地点的数据、需要帮助的请求、道路状态信息请求等信息。
验证进入信任区的车辆的身份
如本文中所使用,信任区通常为地理区(例如,具有边界的陆地的经限定曲线图)、物理地点(例如,经界定GPS坐标处的地点)或车辆的接入受(例如,接入服务器)控制的物理区域(例如,建筑物或其它结构)。举例来说,车辆可自主或手动操作。举例来说,车辆可以是陆地、空中和/或基于水的交通工具(例如,无人驾驶飞机、船、飞机等)。在替代实施例中,可使用下文描述的实施例控制个人和/或其它物理对象对信任区的接入。
现在下文描述与验证接近信任区的车辆的身份相关的各种实施例。在各种实施例中,希望接入信任区的每一车辆被分配有身份,或先前已经分配有身份。接入服务器或其它计算装置控制对信任区的接入。当车辆接近大门或以其它方式进入信任区时,接入服务器验证车辆的身份。在一个实例中,可通过将命令发送到希望接入信任区的车辆的计算装置(例如,图1的计算装置141)来分配车辆的身份。在一个实例中,命令分配或替换车辆计算装置的装置秘密,例如上文所描述。
在一些实施例中,通过控制车队(包含上文所论述的车辆)的机构的服务器来分配身份。在其它实施例中,通过接入服务器自身来分配身份(例如,在车辆接近信任区之前,或在通过接入服务器检测到车辆的接近之后)。在一个实施例中,接入服务器可实施为如针对以上各种实施例描述的主机装置(例如,图1的主机装置151)。
需要控制对某些保留区域的接入(例如,保护以免于未授权入口)。实例包含军事地点、城市交通区域、机场等。此外,需要针对自主车辆控制此接入。
在现有方法中,手动方法用于控制接入。举例来说,机场的大门处的保安人员将检查车辆的牌照。在一些情况下,对照限于仅用于一个特定设施的封闭数据库检查车辆的车牌。
前文在辨识希望接入保留区域的车辆(例如,自主车辆)的身份以及确定其进入保留区域的授权时产生技术问题。举例来说,由保安人员进行的手动检查易于发生错误。此外,封闭数据库不能够实时地动态地对改变条件作出响应(例如,归因于计算机安全漏洞,或归因于物理强行进入的安全威胁)。
下文论述的本公开的各种实施例提供对关于控制对信任区的接入的以上技术问题的技术解决方案。在各种实施例中,计算装置(例如,实施为信任区的门处的接入服务器的计算装置141)检测接近信任区的车辆。可基于在车辆接近时从车辆接收的通信而检测车辆。计算装置从车辆接收标识符。标识符对应于车辆的身份。
计算装置使用标识符来验证车辆的身份。在一个实例中,标识符为例如上文所论述的已由车辆产生的三元组的部分。计算装置将车辆的身份与存储在数据库中的一组授权身份进行比较。举例来说,如果身份被确定为用于被授权的车辆,那么对信任区的接入被授权。在一个实例中,计算装置将准予授权的通信发送到车辆。在一个实例中,计算装置打开准许车辆接入信任区的物理门。
在一个实施例中,信任区对应于与由信任区附近的接入服务器的一或多个天线提供的电磁场相对应的地理区。电磁场用于建立与信任区中的车辆的无线通信。
可通过任何种类的通信系统(例如,Wi-Fi、3G-5G蜂窝式、蓝牙等)、光学无线通信(OWC)等执行与接近车辆的通信(例如,通过接入服务器)。
在一个实施例中,服务器基于预定地理区域(例如,由GPS坐标确定的边界限定)限定信任区。当车辆接近或进入信任区时,服务器验证车辆的身份。举例来说,使用基于DICE-RIoT协议从车辆提供的三元组(例如,类似于上文针对图5到7及9所描述)来验证身份。
在一个实施例中,每一车辆在接近信任区之前已被分配身份。举例来说,图22的方法可用于将唯一ID分配给每一车辆。
在一个实施例中,主机装置存储信任区的定义。在一个实例中,信任区是基于地理边界(例如,GPS限定的周界、路线名称和/或拐角的位置等)。在一个实例中,可使用主机装置的天线中的特殊极化将周界的定义实施为移动网络的部分,以便按照区域定义覆盖所选择的信任区域。接近此限定区域的任何车辆通过限定周界的天线锁定,以便实施用于确定是否授权进入的安全ID的交换。
在一个实施例中,可进入信任区的每一车辆包含支持DICE-RIoT协议的计算装置,如上文所描述。每一车辆被分配唯一的装置秘密(例如,UDSvehicle)以便被辨识为被授权进入信任区的车辆。在一个实施例中,UDS由计算装置的原始制造商分配,类似于上文所描述。在一个实施例中,UDS可由购买计算装置以安装到车辆中的客户替换,类似于上文所描述。
在一个实施例中,UDS可在运行中实时地修改或替换。举例来说,当特定车辆的授权随时间改变时,可修改UDS。举例来说,可通过监视信任区中的车辆的活动的接入服务器进行UDS修改。
图25展示根据一个实施例的验证接近信任区的车辆2501的身份的接入服务器2503。车辆2501存储对应于身份的装置秘密2515(例如,UDSvehicle)。
车辆2501包含产生三元组的身份组件2513,例如上文所描述。身份组件2513为图1的身份组件147的实例。
接入服务器2503接收三元组且使用验证组件2517来验证车辆2501的身份。验证组件2517为图1的验证组件153的实例。
在验证身份之后,接入服务器2503将所述身份与存储在数据库2519中的一组授权身份进行比较。基于此比较,接入服务器2503确定车辆2501是否经授权以进入信任区。如果是,那么接入服务器2503可将消息发送到车辆2501。可使用从车辆2501接收的公钥作为三元组的部分来对所述消息进行加密。
在一个实施例中,接入服务器2503将命令发送到车辆2501。响应于接收到所述命令,车辆2501将新装置秘密存储在存储器中。在一个实施例中,接入服务器2503发送待由车辆2501存储的新装置秘密。在一个实施例中,响应于检测到与车辆2501相关联的安全风险而将命令发送到车辆2501。举例来说,接入服务器2503可检测未授权网络或与车辆2501相关联的其它计算活动(例如,去往或来自车辆的通信,和/或由车辆执行的处理)。
车辆2501包含一或多个处理器2507及存储器2509。处理器2507为处理器143的实例。存储器2509为存储器145的实例。
车辆2501还包含天线2511。天线2511用于与接入服务器2503通信。
在一个实施例中,数据库2519为分布式分类账,一组授权身份作为块链的部分而存储于其中。在一个实施例中,接入服务器2503为控制对信任区的接入的若干接入服务器中的一者。每一接入服务器可经配置为块链中的块。
举例来说,数据库为安全寄存器,其可为用以存储关于经授权车辆的数据(例如,车辆的身份)的分布式数据库(例如,每一接入服务器为块链中的基于天线的节点)。举例来说,接近信任区的车辆交换密钥、证书及标识符(例如,ID)。接入服务器建立安全通信且将车辆的ID与一组授权身份进行比较。数据库可为使用块链的证明作为授权车辆进入的参考的分布式分类账。
在一个实例中,每一接入服务器可含有图1的计算装置141,所述计算装置141经配置为用以实施块链并存储所述车辆的授权的块链的块。当接近车辆请求接入时,分布式接入服务器检查接入的批准,且提供对允许车辆进入和/或保持在信任区域内部的批准。安全消息用于向车辆提供授权,或拒绝授权。
在一个实施例中,接入服务器2503将由身份组件2513使用以产生三元组的消息发送到车辆2501。举例来说,可类似于上文针对图9所描述而实施消息。
在一个实施例中,在接入服务器2503验证车辆2501的身份之后,接入服务器2503从车辆2501接收识别车辆2501的特性的一或多个安全通信。举例来说,车辆2501可识别车辆的内容,例如人和货物。在另一实例中,车辆2501可传达关于车辆2501的未来活动的数据。在一个实例中,未来活动将发生在信任区内部。
在一个实施例中,存储在数据库2519中的一组授权车辆包含分配给车辆中的每一者的UDSvehicle,如上文所论述。
在一个实施例中,接入服务器2503将命令发送到车辆2501,所述命令为替换命令。举例来说,车辆2501用新装置秘密替换先前存储的装置秘密,类似于上文所论述。在一个实例中,在运行中实时地重新配置车队。在一个实例中,响应于检测到潜在黑客或另一安全漏洞而执行重新配置。在一个实施例中,使用装置秘密的替换来远程控制自主车辆的车队。在一个实施例中,自主车辆的受限车队通过装置秘密的替换而被准予接入特定信任区。在一个实施例中,装置秘密对于车队中的所有车辆是相同的。在一个实施例中,装置秘密对于每一车辆是唯一的。
在一个实施例中,进入信任区的授权是临时的(例如,仅在预定时间内存在授权)。在一个实施例中,每一装置秘密为仅授权服务器或计算装置能够接入的受限经加密数据库的部分。
在一个实施例中,接入服务器2503发送致使新装置秘密由车辆2501存储的命令(例如,如上文针对各种实施例所描述)。当车辆2501处于信任区时,发生与车辆2501的安全通信。通过接入服务器2503监视信任区中的车辆2501的活动。在一个实施例中,接入服务器2503将活动的记录存储在数据库2519中。记录与基于新装置秘密产生的车辆2501的身份相关联。举例来说,前文准许维持对应于车辆(例如,经限定区域内的某一时间段内使用的租赁车辆)的特定用户的活动的记录。
图26展示根据一个实施例的控制车辆对信任区2605的接入的闸机服务器2603。每一闸机服务器2603为接入服务器2503的实例。
每一闸机服务器2603位于信任区2605的拐角处。这些拐角确定限定信任区2605的地理区的边界2607。每一闸机服务器2603使用闸机(未展示)控制对信任区2605的接入。车辆2501接近信任区2605且将通信发送到闸机服务器2603中的一者以请求接入授权。
车辆2601先前经授权以进入信任区2605。在进入信任区2605时,向车辆2601分配唯一装置秘密。车辆2601的活动由一或多个闸机服务器2603监视和记录,如上文针对接入服务器2503所描述。在一个实施例中,每一闸机服务器2603使用天线(未展示)与车辆2501、车辆2601和/或闸机服务器2603中的其它者通信。
图27展示根据一个实施例的用于验证接近信任区的车辆的身份的方法。举例来说,图27的方法可在图1、2及20的系统中实施。
图27的方法可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,图27的方法至少部分地由主机装置151或主机系统101的处理器执行。
虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,可以在各种实施例中省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程是可能的。
在框2701处,从接近信任区的车辆接收标识符。标识符对应于车辆的身份。举例来说,接入服务器2503接收包含标识符的三元组。从正接近信任区2605的车辆2501接收三元组。
在框2703处,使用标识符验证车辆的身份。举例来说,接入服务器2503使用验证组件2517来验证车辆的身份。
在框2705处,将车辆的身份与一组授权身份进行比较。举例来说,接入服务器2503将车辆2501的身份与存储在数据库2519中的授权车辆身份的列表进行比较。
在一个实施例中,方法包括:从接近信任区(例如,信任区2605)的车辆(例如,车辆2501)接收对应于车辆的身份的标识符;通过计算装置(例如,接入服务器2503)且使用标识符验证车辆的身份;及将车辆的身份与存储在数据库(例如,数据库2519)中的一组授权身份进行比较。
在一个实施例中,从车辆接收三元组,所述三元组包含标识符,且使用所述三元组验证身份。
在一个实施例中,进一步包含公钥,且所述方法进一步包括:基于将车辆的身份与所述组授权身份进行比较而确定所述车辆经授权以进入信任区;及将消息发送到车辆,其中使用公钥对消息进行加密,且所述消息指示车辆经授权以进入信任区。
在一个实施例中,所述方法进一步包括在验证身份之前从车辆接收第一通信,所述第一通信请求对信任区的接入。
在一个实施例中,所述方法进一步包括响应于所述第一通信,将请求标识符的第二通信发送到车辆。
在一个实施例中,数据库为分布式分类账,所述组授权身份作为块链的部分而存储于其中。
在一个实施例中,计算装置为第一计算装置;包含所述第一计算装置的多个计算装置(例如,闸机服务器2603)各自控制车辆对信任区的接入;每一计算装置包括用于与车辆或计算装置中的至少另一者通信的天线;且每一计算装置被配置为块链的块。
在一个实施例中,所述方法进一步包括将命令发送到车辆,其中所述车辆响应于接收到所述命令而将新装置秘密存储在车辆的存储器中。
在一个实施例中,新装置秘密与车辆进入信任区的授权相关联。
在一个实施例中,所述方法进一步包括通过计算装置将新装置秘密发送到车辆。
在一个实施例中,所述方法进一步包括检测与车辆相关联的安全风险,其中计算装置响应于检测到安全风险而发送命令。
在一个实施例中,命令为替换命令,所述替换命令致使车辆用新装置秘密替换先前存储的装置秘密。
在一个实施例中,所述车辆响应于接收到所述命令而产生所述新装置秘密。
在一个实施例中,使用来自物理不可克隆函数的输出产生新装置秘密。
在一个实施例中,所述方法进一步包括将消息发送到车辆,其中所述车辆使用所述消息产生三元组,且所述三元组包含标识符。
在一个实施例中,系统包括:至少一个处理器;及
存储器,其含有经配置以指导所述至少一个处理器进行以下操作的指令:从车辆接收对应于所述车辆的身份的标识符;使用所述标识符验证车辆的身份;将车辆的身份与存储在存储器中的一组授权身份进行比较;及基于将车辆的身份与所述组授权身份进行比较,将授权进入信任区中的通信发射到车辆。
在一个实施例中,系统进一步包括控制车辆对信任区的接入的多个计算装置,其中每一计算装置包括用于与车辆或计算装置中的至少另一者通信的天线。
在一个实施例中,所述指令进一步经配置以指导所述至少一个处理器从计算装置中的至少一者接收通信,所述通信包含车辆的标识符或车辆的证书中的至少一者。
在一个实施例中,非暂时性计算机存储媒体存储指令,所述指令当在计算装置上执行时致使计算装置至少进行以下操作:从接近信任区的车辆接收对应于所述车辆的身份的标识符;使用所述标识符验证车辆的身份;及将车辆的身份与一组授权身份进行比较。
在一个实施例中,所述指令进一步致使计算装置进行以下操作:将新装置秘密发送到所述车辆;及将命令发送到所述车辆,其中所述车辆响应于接收到所述命令而存储所述新装置秘密。
结束语
非暂时性计算机存储媒体可用于存储固件的指令,或用于存储处理器或处理装置的指令。当所述指令由例如存储器系统105的控制器或另一处理器或计算装置执行时,所述指令致使所述控制器、处理器或计算装置执行上文所论述的方法中的任一者。
在本说明书中,各种功能和操作可被描述为由计算机指令执行或由计算机指令引起以简化描述。然而,所属领域的技术人员将认识到,此类表达的意图是所述功能源自由一或多个控制器或处理器(例如微处理器)执行计算机指令。替代地或组合地,所述功能和操作可使用具有或不具有软件指令的专用电路实施,例如使用专用集成电路(ASIC)或现场可编程门阵列(FPGA)来实施。可使用无软件指令的硬接线电路系统或结合软件指令实施实施例。因此,技术不限于硬件电路和软件的任何特定组合,也不限于由数据处理系统执行的指令的任何特定来源。
虽然一些实施例可以在功能全面的计算机和计算机系统中实施,但是各种实施例能够分布为多种形式的计算产品,且能够不论实际上用于实现分布的机器或计算机可读媒体的特定类型如何都适用。
所公开的至少一些方面可至少部分体现于软件中。也就是说,技术可以响应于其处理器(例如微处理器或微控制器)在计算机系统或其它数据处理系统中实施,从而执行包含在存储器(例如ROM、易失性RAM、非易失性存储器、高速缓存或远程存储装置)中的指令序列。
经执行以实施实施例的例程可实施为操作系统或具体应用程序、组件、程序、物件、模块或被称作“计算机程序”的指令序列的部分。计算机程序通常在各种时间在计算机中的各种存储器和存储装置中包括一或多个指令集,且所述指令集在由计算机中的一或多个处理器读取和执行时使所述计算机执行对进行涉及各个方面的要素来说必要的操作。
可以使用有形的非暂时性计算机存储媒体存储软件和数据,所述软件和数据在由数据处理系统执行时使所述系统执行各种方法。可执行软件和数据可存储于包含例如ROM、易失性RAM、非易失性存储器和/或高速缓存的各种地点中。此软件和/或数据的部分可存储在这些存储装置中的任一个中。此外,数据和指令可从集中式服务器或对等网络获得。数据和指令的不同部分可在不同时间和在不同通信会话或相同通信会话中从不同集中式服务器和/或对等网络获得。可在执行应用程序之前获得全部数据和指令。替代地,可动态地、及时地在需要执行时获得数据和指令的部分。因此,并不要求数据和指令在特定时刻全部处于机器可读媒体上。
计算机可读存储媒体的实例包含但不限于可记录和不可记录类型的媒体,例如易失性和非易失性存储器装置、只读存储器(ROM)、随机存取存储器(RAM)、快闪存储器装置、软性和其它可装卸式磁盘、磁盘存储媒体和光学存储媒体(例如,光盘只读存储器(CDROM)、数字通用光盘(DVD)等)以及其它媒体。指令可体现在暂时性媒体中,例如电学、光学、声学或其它形式的传播信号,例如载波、红外信号、数字信号等。暂时性媒体通常用于发射指令,但不被视为能够存储所述指令。
在各种实施例中,硬接线电路系统可与软件指令组合使用以实施技术。因此,技术既不限于硬件电路系统和软件的任何特定组合,也不限于由数据处理系统执行的指令的任何特定来源。
尽管图中的一些以特定次序说明数个操作,但可重新排序不依赖于次序的操作,且可组合或分解其它操作。虽然具体提及了一些重新排序或其它分组,但是其它重新排序或分组对于所属领域的技术人员来说是显而易见的,因此不提供详尽的替代方案列表。此外,应认识到,阶段可以硬件、固件、软件或其任何组合实施。
以上描述和图式是说明性的,且不应理解为限制性的。描述许多特定细节以提供透彻理解。然而,在某些情况下,不描述众所周知的或常规的细节以免混淆描述。本公开中对一个或一实施例的参考未必参考同一实施例;并且此类参考意味着至少一个。
在前述说明书中,已参考本公开的具体示例性实施例描述了本公开。将显而易见的是,可在不脱离所附权利要求书中阐述的更广精神和范围的情况下对其进行各种修改。因此,说明书和图式应被视为说明性的而非限制性的。

Claims (20)

1.一种方法,其包括:
从接近信任区的车辆接收对应于所述车辆的身份的标识符;
通过计算装置且使用所述标识符验证所述车辆的所述身份;及
将所述车辆的所述身份与存储在数据库中的一组授权身份进行比较。
2.根据权利要求1所述的方法,其中从所述车辆接收三元组,所述三元组包含所述标识符,且使用所述三元组验证所述身份。
3.根据权利要求2所述的方法,其中所述三元组进一步包含公钥,所述方法进一步包括:
基于将所述车辆的所述身份与所述组授权身份进行比较而确定所述车辆经授权进入所述信任区;及
将消息发送到所述车辆,其中使用所述公钥对所述消息进行加密,且所述消息指示所述车辆经授权进入所述信任区。
4.根据权利要求1所述的方法,其进一步包括在验证所述身份之前,从所述车辆接收第一通信,所述第一通信请求对所述信任区的接入。
5.根据权利要求4所述的方法,其进一步包括响应于所述第一通信,将请求所述标识符的第二通信发送到所述车辆。
6.根据权利要求1所述的方法,其中所述数据库为分布式分类账,所述组授权身份作为块链的部分而存储于其中。
7.根据权利要求6所述的方法,其中:
所述计算装置为第一计算装置;
包含所述第一计算装置的多个计算装置各自控制车辆对所述信任区的接入;
每一计算装置包括用于与车辆或所述计算装置中的至少另一者通信的天线;且
每一计算装置被配置为所述块链的块。
8.根据权利要求1所述的方法,其进一步包括将命令发送到所述车辆,其中所述车辆响应于接收到所述命令而将新装置秘密存储在所述车辆的存储器中。
9.根据权利要求8所述的方法,其中所述新装置秘密与所述车辆进入所述信任区的授权相关联。
10.根据权利要求8所述的方法,其进一步包括通过所述计算装置将所述新装置秘密发送到所述车辆。
11.根据权利要求8所述的方法,其进一步包括检测与所述车辆相关联的安全风险,其中所述计算装置响应于检测到所述安全风险而发送所述命令。
12.根据权利要求8所述的方法,其中所述命令为替换命令,所述替换命令致使所述车辆用所述新装置秘密替换先前存储的装置秘密。
13.根据权利要求8所述的方法,其中所述车辆响应于接收到所述命令而产生所述新装置秘密。
14.根据权利要求13所述的方法,其中使用来自物理不可克隆函数的输出来产生所述新装置秘密。
15.根据权利要求1所述的方法,其进一步包括将消息发送到所述车辆,其中所述车辆使用所述消息产生三元组,且所述三元组包含所述标识符。
16.一种系统,其包括:
至少一个处理器;及
存储器,其含有经配置以指导所述至少一个处理器进行以下操作的指令:
从车辆接收对应于所述车辆的身份的标识符;
使用所述标识符验证所述车辆的所述身份;
将所述车辆的所述身份与存储在存储器中的一组授权身份进行比较;及
基于将所述车辆的所述身份与所述组授权身份进行比较,将授权进入信任区中的通信发射到所述车辆。
17.根据权利要求16所述的系统,其进一步包括控制车辆对所述信任区的接入的多个计算装置,其中每一计算装置包括用于与所述车辆或所述计算装置中的至少另一者通信的天线。
18.根据权利要求17所述的系统,其中所述指令进一步经配置以指导所述至少一个处理器从所述计算装置中的至少一者接收通信,所述通信包含车辆的标识符或车辆的证书中的至少一者。
19.一种存储指令的非暂时性计算机存储媒体,所述指令当在计算装置上执行时致使所述计算装置至少进行以下操作:
从接近信任区的车辆接收对应于所述车辆的身份的标识符;
使用所述标识符验证所述车辆的所述身份;及
将所述车辆的所述身份与一组授权身份进行比较。
20.根据权利要求19所述的非暂时性计算机存储媒体,其中所述指令进一步致使所述计算装置进行以下操作:
将新装置秘密发送到所述车辆;及
将命令发送到所述车辆,其中所述车辆响应于接收到所述命令而存储所述新装置秘密。
CN202080031426.7A 2019-03-25 2020-03-04 验证进入信任区的车辆的身份 Withdrawn CN113841368A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/363,211 US11233650B2 (en) 2019-03-25 2019-03-25 Verifying identity of a vehicle entering a trust zone
US16/363,211 2019-03-25
PCT/US2020/020907 WO2020197723A1 (en) 2019-03-25 2020-03-04 Verifying identity of a vehicle entering a trust zone

Publications (1)

Publication Number Publication Date
CN113841368A true CN113841368A (zh) 2021-12-24

Family

ID=72605203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080031426.7A Withdrawn CN113841368A (zh) 2019-03-25 2020-03-04 验证进入信任区的车辆的身份

Country Status (4)

Country Link
US (2) US11233650B2 (zh)
EP (1) EP3949333A4 (zh)
CN (1) CN113841368A (zh)
WO (1) WO2020197723A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11361660B2 (en) * 2019-03-25 2022-06-14 Micron Technology, Inc. Verifying identity of an emergency vehicle during operation
US11233650B2 (en) 2019-03-25 2022-01-25 Micron Technology, Inc. Verifying identity of a vehicle entering a trust zone
US11323275B2 (en) 2019-03-25 2022-05-03 Micron Technology, Inc. Verification of identity using a secret key
US11218330B2 (en) 2019-03-25 2022-01-04 Micron Technology, Inc. Generating an identity for a computing device using a physical unclonable function
US11354415B2 (en) * 2019-06-29 2022-06-07 Intel Corporation Warm boot attack mitigations for non-volatile memory modules
CN117591598A (zh) * 2019-08-12 2024-02-23 创新先进技术有限公司 基于区块链的可信平台
US10896606B1 (en) * 2019-09-13 2021-01-19 Bendix Commercial Vehicle Systems Llc Emergency vehicle detection and right-of-way deference control in platooning
KR102258215B1 (ko) * 2019-11-08 2021-05-31 한국과학기술원 Kms 및 hsm를 함께 이용하는 보안 시스템 및 그 동작 방법
US20210089685A1 (en) * 2019-11-22 2021-03-25 Intel Corporation Monitoring memory status using configurable hardware secured by a dice root of trust
US11200040B2 (en) * 2020-01-08 2021-12-14 The Boeing Company Distributed ledger for software distribution in a wireless ad hoc network for ad-hoc data processing on a source node
US11811792B1 (en) * 2020-05-08 2023-11-07 Gen Digital Inc. Systems and methods for preventing social engineering attacks using distributed fact checking
EP3910937B1 (en) * 2020-05-11 2024-03-27 Voysys AB Method and system for monitoring communication between vehicle and remote terminal
JP2021180424A (ja) * 2020-05-14 2021-11-18 日本電気株式会社 管理装置、管理システム、管理方法、及び、管理プログラム
KR20210142820A (ko) * 2020-05-19 2021-11-26 삼성전자주식회사 공개키와 비밀키를 저장하는 비휘발성 메모리 장치, 전자 장치 및 서비스 제공자
US12089049B2 (en) 2020-10-26 2024-09-10 Micron Technology, Inc. Virtual subscriber identification module and virtual smart card
US20220129390A1 (en) * 2020-10-26 2022-04-28 Micron Technology, Inc. Monitor Integrity of Endpoints having Secure Memory Devices for Identity Authentication
CN114531260A (zh) * 2020-11-09 2022-05-24 腾讯科技(深圳)有限公司 基于联盟链系统的信息处理方法及相关设备
US20220207155A1 (en) * 2020-12-26 2022-06-30 Intel Corporation Instruction support for saving and restoring key information
JP7400744B2 (ja) * 2021-01-14 2023-12-19 トヨタ自動車株式会社 車両制御システム
CN115037495A (zh) * 2021-03-03 2022-09-09 美光科技公司 身份验证期间跟踪具有安全存储器装置的端点的活动以用于安全操作
EP4291998A1 (en) * 2021-03-17 2023-12-20 Apple Inc. Pairing protocol for peripherals with a secure function
US20220417043A1 (en) * 2021-06-25 2022-12-29 Arizona Board Of Regents On Behalf Of Northern Arizona University Systems and methods using search engines to generate cryptographic keys from erratic physical unclonable functions
US12088704B1 (en) * 2022-03-30 2024-09-10 Wells Fargo Bank, N.A. Systems and methods for quantum entangled random key exchange

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6958676B1 (en) * 2002-02-06 2005-10-25 Sts International Ltd Vehicle passenger authorization system
CN106649632A (zh) * 2016-12-07 2017-05-10 北京众享比特科技有限公司 数据同步方法及系统

Family Cites Families (167)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6119105A (en) 1996-06-17 2000-09-12 Verifone, Inc. System, method and article of manufacture for initiation of software distribution from a point of certificate creation utilizing an extensible, flexible architecture
AU2001247941B2 (en) 2000-04-11 2007-09-06 Mathis, Richard M. Method and apparatus for computer memory protection and verification
US20020038420A1 (en) 2000-04-13 2002-03-28 Collins Timothy S. Method for efficient public key based certification for mobile and desktop environments
US20020165912A1 (en) 2001-02-25 2002-11-07 Storymail, Inc. Secure certificate and system and method for issuing and using same
US20020199001A1 (en) 2001-02-25 2002-12-26 Storymail, Inc. System and method for conducting a secure response communication session
US7439847B2 (en) * 2002-08-23 2008-10-21 John C. Pederson Intelligent observation and identification database system
KR100427323B1 (ko) * 2001-08-31 2004-04-14 현대자동차주식회사 차고문 자동 개폐 제어장치 및 방법
US6912396B2 (en) * 2001-12-12 2005-06-28 Visteon Global Technologies, Inc. Vehicle telematics radio operable for providing and disabling driving directions to pre-selected destinations
US20030147534A1 (en) 2002-02-06 2003-08-07 Ablay Sewim F. Method and apparatus for in-vehicle device authentication and secure data delivery in a distributed vehicle network
US20040003234A1 (en) 2002-06-28 2004-01-01 Jurgen Reinold Method and system for vehicle authentication of a subassembly
US7228420B2 (en) 2002-06-28 2007-06-05 Temic Automotive Of North America, Inc. Method and system for technician authentication of a vehicle
US7131005B2 (en) 2002-06-28 2006-10-31 Motorola, Inc. Method and system for component authentication of a vehicle
US7600114B2 (en) 2002-06-28 2009-10-06 Temic Automotive Of North America, Inc. Method and system for vehicle authentication of another vehicle
US7010682B2 (en) 2002-06-28 2006-03-07 Motorola, Inc. Method and system for vehicle authentication of a component
US9412142B2 (en) * 2002-08-23 2016-08-09 Federal Law Enforcement Development Services, Inc. Intelligent observation and identification database system
US6977580B2 (en) * 2002-09-26 2005-12-20 International Business Machines Corporation Apparatus, system and method of securing perimeters of security zones from suspect vehicles
US7165181B2 (en) 2002-11-27 2007-01-16 Intel Corporation System and method for establishing trust without revealing identity
WO2005101727A1 (ja) * 2004-04-15 2005-10-27 Matsushita Electric Industrial Co., Ltd. 通信装置、通信システム及び認証方法
EP1781504A2 (en) * 2004-08-25 2007-05-09 The Marenco Group Anti-carjacking apparatus, systems, and methods for hi-speed pursuit avoidance and occupant safety
US7525435B2 (en) * 2005-08-02 2009-04-28 Performance Partners, Llc Method, apparatus, and system for securing areas of use of vehicles
US7613891B2 (en) 2006-05-04 2009-11-03 Intel Corporation Methods and apparatus for providing a read access control system associated with a flash device
US20080027602A1 (en) * 2006-05-30 2008-01-31 Yeap Tet H System and method for deterring theft of vehicles and other products having integral computer means
US20100138652A1 (en) 2006-07-07 2010-06-03 Rotem Sela Content control method using certificate revocation lists
KR100823738B1 (ko) 2006-09-29 2008-04-21 한국전자통신연구원 컴퓨팅 플랫폼의 설정 정보를 은닉하면서 무결성 보증을제공하는 방법
US9830637B2 (en) * 2007-02-23 2017-11-28 Epona Llc System and method for processing vehicle transactions
CA2681502C (en) * 2007-03-19 2013-07-23 Telcordia Technologies, Inc. Vehicle segment certificate management using shared certificate schemes
EP2003813B1 (en) 2007-06-15 2009-03-18 NTT DoCoMo, Inc. Method and Apparatus for Authentication
US20090179775A1 (en) 2008-01-10 2009-07-16 Gm Global Technology Operations, Inc. Secure information system
US8230215B2 (en) 2008-04-11 2012-07-24 Toyota Motor Engineering & Manufacturing North America, Inc. Method for allocating multiple authentication certificates to vehicles in a vehicle-to-vehicle communication network
US8761390B2 (en) 2008-06-30 2014-06-24 Gm Global Technology Operations Production of cryptographic keys for an embedded processing device
US8484486B2 (en) 2008-08-06 2013-07-09 Silver Spring Networks, Inc. Integrated cryptographic security module for a network node
TWM356972U (en) 2008-12-17 2009-05-11 Univ Kun Shan Portable storage device with local and remote identity recognition function
US20100156628A1 (en) * 2008-12-18 2010-06-24 Robert Ainsbury Automated Adaption Based Upon Prevailing Threat Levels in a Security System
US8499154B2 (en) 2009-01-27 2013-07-30 GM Global Technology Operations LLC System and method for establishing a secure connection with a mobile device
GB2478010A (en) * 2010-02-23 2011-08-24 Bombardier Transp Gmbh Radio frequency identification for detecting location of a train or tram.
DE102010011022A1 (de) 2010-03-11 2012-02-16 Siemens Aktiengesellschaft Verfahren zur sicheren unidirektionalen Übertragung von Signalen
US8499155B2 (en) 2010-03-24 2013-07-30 GM Global Technology Operations LLC Adaptive certificate distribution mechanism in vehicular networks using variable inter-certificate refresh period
JP5612514B2 (ja) 2010-03-24 2014-10-22 パナソニック株式会社 不揮発性メモリコントローラ及び不揮発性記憶装置
US10153908B2 (en) 2010-04-30 2018-12-11 T-Central, Inc. Secure communication of IOT devices for vehicles
US20120038489A1 (en) * 2010-08-12 2012-02-16 Goldshmidt Ehud System and method for spontaneous p2p communication between identified vehicles
JP2012118805A (ja) 2010-12-01 2012-06-21 Sony Corp 情報処理装置、リムーバブルストレージ装置、情報処理方法、及び情報処理システム
US8996868B2 (en) 2010-12-15 2015-03-31 Electronics And Telecommunications Research Institute Method of authenticating vehicle communication
US8526606B2 (en) 2010-12-20 2013-09-03 GM Global Technology Operations LLC On-demand secure key generation in a vehicle-to-vehicle communication network
US9467293B1 (en) 2010-12-22 2016-10-11 Emc Corporation Generating authentication codes associated with devices
EP2479731B1 (en) * 2011-01-18 2015-09-23 Alcatel Lucent User/vehicle-ID associating access rights and privileges
KR101881167B1 (ko) 2011-06-13 2018-07-23 주식회사 케이티 차량 제어 시스템
JP5770026B2 (ja) 2011-06-20 2015-08-26 ルネサスエレクトロニクス株式会社 半導体装置
US8924737B2 (en) 2011-08-25 2014-12-30 Microsoft Corporation Digital signing authority dependent platform secret
US8700916B2 (en) 2011-12-02 2014-04-15 Cisco Technology, Inc. Utilizing physically unclonable functions to derive device specific keying material for protection of information
US9774581B2 (en) 2012-01-20 2017-09-26 Interdigital Patent Holdings, Inc. Identity management with local functionality
DE102012201164B4 (de) 2012-01-26 2017-12-07 Infineon Technologies Ag Vorrichtung und verfahren zur erzeugung eines nachrichtenauthentifizierungscodes
US10079678B2 (en) 2012-07-24 2018-09-18 Intel Corporation Providing access to encrypted data
US8525169B1 (en) 2012-08-10 2013-09-03 International Business Machines Corporation Reliable physical unclonable function for device authentication
WO2014039050A1 (en) * 2012-09-07 2014-03-13 Siemens Aktiengesellschaft Methods and apparatus for establishing exit/entry criteria for a secure location
US9742563B2 (en) 2012-09-28 2017-08-22 Intel Corporation Secure provisioning of secret keys during integrated circuit manufacturing
JP5967822B2 (ja) 2012-10-12 2016-08-10 ルネサスエレクトロニクス株式会社 車載通信システム及び装置
JP5939126B2 (ja) * 2012-10-17 2016-06-22 株式会社デンソー 車載装置および車両盗難防止システム
US20140164778A1 (en) 2012-12-07 2014-06-12 Andrei Yoryevich Sherbakov Method for producing and storage of digital certificates
US8885819B2 (en) 2012-12-27 2014-11-11 Intel Corporation Fuse attestation to secure the provisioning of secret keys during integrated circuit manufacturing
US8938792B2 (en) 2012-12-28 2015-01-20 Intel Corporation Device authentication using a physically unclonable functions based key generation system
JP2014158105A (ja) 2013-02-14 2014-08-28 Panasonic Corp 端末装置
US20140245010A1 (en) 2013-02-25 2014-08-28 Kabushiki Kaisha Toshiba Device and authentication method therefor
DE102013203415B4 (de) 2013-02-28 2016-02-11 Siemens Aktiengesellschaft Erstellen eines abgeleiteten Schlüssels aus einem kryptographischen Schlüssel mittels einer physikalisch nicht klonbaren Funktion
WO2014138626A1 (en) 2013-03-08 2014-09-12 Robert Bosch Gmbh Systems and methods for maintaining integrity and secrecy in untrusted computing platforms
US9906372B2 (en) 2013-06-03 2018-02-27 Intel Deutschland Gmbh Authentication devices, key generator devices, methods for controlling an authentication device, and methods for controlling a key generator
US9769658B2 (en) * 2013-06-23 2017-09-19 Shlomi Dolev Certificating vehicle public key with vehicle attributes
JP5992104B2 (ja) 2013-07-01 2016-09-14 三菱電機株式会社 機器認証システム、メーカ鍵生成装置、機器鍵生成装置、製造機器、連携認証装置、機器再生鍵生成装置、機器認証方法および機器認証プログラム
KR101521412B1 (ko) 2013-07-11 2015-05-19 가톨릭관동대학교산학협력단 인증기반 메시지 집계 프로토콜 관리시스템
US20150256522A1 (en) 2013-09-16 2015-09-10 Clutch Authentication Systems, Llc System and method for communication over color encoded light patterns
US9992031B2 (en) 2013-09-27 2018-06-05 Intel Corporation Dark bits to reduce physically unclonable function error rates
KR102271978B1 (ko) 2013-10-08 2021-07-02 주식회사 아이씨티케이 홀딩스 차량 보안 네트워크 장치 및 그 설계 방법
US11349675B2 (en) 2013-10-18 2022-05-31 Alcatel-Lucent Usa Inc. Tamper-resistant and scalable mutual authentication for machine-to-machine devices
FR3013138B1 (fr) * 2013-11-12 2015-10-30 Morpho Procede et systeme de controle lors de l'acces ou la sortie d'une zone
US8869448B1 (en) * 2013-11-13 2014-10-28 Sung Chang Telecom Co., Ltd. Apparatus for automatically controlling crossing gate by sensing light
DE102013227087A1 (de) 2013-12-23 2015-06-25 Siemens Aktiengesellschaft Gesichertes Bereitstellen eines Schlüssels
CN105900375B (zh) 2014-01-13 2020-02-07 维萨国际服务协会 用于在认证交易中保护身份的设备、系统和方法
CN104901931B (zh) 2014-03-05 2018-10-12 财团法人工业技术研究院 证书管理方法与装置
US10958451B2 (en) 2014-04-09 2021-03-23 Ictk Holdings Co., Ltd. Authentication apparatus and method
CN110696746B (zh) * 2014-05-08 2023-03-24 松下电器(美国)知识产权公司 不正常应对方法、车载网络系统及电子控制单元
EP3158680B1 (en) 2014-06-18 2021-02-24 Visa International Service Association Efficient methods for authenticated communication
SG11201610919VA (en) * 2014-07-29 2017-02-27 Inventio Ag Method and system for access control
CN105337725B (zh) 2014-08-08 2019-04-23 中国科学院数据与通信保护研究教育中心 一种密钥管理装置及方法
CA2958269C (en) 2014-08-19 2017-07-04 Aeryon Labs Inc. Secure system for emergency-mode operation, system monitoring and trusted access vehicle location and recovery
US10311731B1 (en) * 2014-09-16 2019-06-04 Knightscope, Inc. Autonomous parking monitor
CN107004380B (zh) 2014-10-13 2020-11-13 本质Id有限责任公司 包括物理不可克隆功能的加密设备
US9935937B1 (en) 2014-11-05 2018-04-03 Amazon Technologies, Inc. Implementing network security policies using TPM-based credentials
EP3605943B1 (en) * 2014-11-13 2021-02-17 Panasonic Intellectual Property Corporation of America Key management method, vehicle-mounted network system, and key management device
SG11201703705TA (en) 2014-11-13 2017-08-30 Canon Kk Information processing apparatus, control method, and program
JP2016116134A (ja) 2014-12-16 2016-06-23 パナソニックIpマネジメント株式会社 署名検証装置、署名生成装置、署名処理システム、署名検証方法及び署名生成方法
US10360363B1 (en) * 2015-04-02 2019-07-23 Mark Y. Grosberg System and method for verified admission through access controlled locations using a mobile device
JP7122964B2 (ja) 2015-07-03 2022-08-22 アフェロ インコーポレイテッド モノのインターネット(IoT)システムに安全な通信チャネルを確立するための装置及び方法
US9659421B2 (en) * 2015-07-06 2017-05-23 Automated Security Integrated Solutions, LLC Virtual security guard
US9604651B1 (en) * 2015-08-05 2017-03-28 Sprint Communications Company L.P. Vehicle telematics unit communication authorization and authentication and communication service provisioning
EP3332402B1 (en) 2015-08-06 2020-10-07 Intrinsic ID B.V. Cryptographic device having physical unclonable function
US10402792B2 (en) 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
JP6389152B2 (ja) 2015-08-24 2018-09-12 三菱電機株式会社 車載器および車載器プログラム
KR101673310B1 (ko) * 2015-08-24 2016-11-07 현대자동차주식회사 인증서 기반의 차량 보안 접속 제어 방법 및 그를 위한 장치 및 시스템
US9917687B2 (en) 2015-10-12 2018-03-13 Microsoft Technology Licensing, Llc Migrating secrets using hardware roots of trust for devices
EP3234878A1 (en) 2015-10-14 2017-10-25 Cambridge Blockchain, LLC Systems and methods for managing digital identities
DE102015220227A1 (de) 2015-10-16 2017-04-20 Volkswagen Aktiengesellschaft Verfahren und System für eine asymmetrische Schlüsselherleitung
DE102015220224A1 (de) 2015-10-16 2017-04-20 Volkswagen Aktiengesellschaft Verfahren zur geschützten Kommunikation eines Fahrzeugs
US10841087B2 (en) 2015-11-05 2020-11-17 Mitsubishi Electric Corporation Security device, system, and security method
US9832024B2 (en) 2015-11-13 2017-11-28 Visa International Service Association Methods and systems for PKI-based authentication
KR101782483B1 (ko) * 2015-12-03 2017-10-23 현대오토에버 주식회사 차량 애드 혹 네트워크에서의 차량 인증서 생성 방법 및 장치
JP6423402B2 (ja) * 2015-12-16 2018-11-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America セキュリティ処理方法及びサーバ
JP5991561B2 (ja) 2015-12-25 2016-09-14 パナソニックIpマネジメント株式会社 無線装置
JP6684690B2 (ja) * 2016-01-08 2020-04-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正検知方法、監視電子制御ユニット及び車載ネットワークシステム
CA3080676C (en) * 2016-01-28 2022-04-05 Etas Embedded Systems Canada Inc. System and method for certificate selection in vehicle-to-vehicle applications to enhance privacy
US9990783B2 (en) 2016-02-16 2018-06-05 GM Global Technology Operations LLC Regulating vehicle access using cryptographic methods
US10902690B2 (en) * 2016-02-26 2021-01-26 Huf Hülsbeck & Fürst Gmbh & Co. Kg Method for activating of at least one security function of a security system of a vehicle
DE102016205198A1 (de) 2016-03-30 2017-10-05 Siemens Aktiengesellschaft Nachweisen einer Authentizität eines Gerätes mithilfe eines Berechtigungsnachweises
WO2017187632A1 (ja) 2016-04-28 2017-11-02 三菱電機株式会社 車上装置、地上データ管理装置、地車間通信セキュリティシステム及び地車間通信方法
US10319166B2 (en) * 2016-05-05 2019-06-11 Visa International Service Assocation Vehicle-based identification and access
WO2017194335A2 (en) 2016-05-09 2017-11-16 Intrinsic Id B.V. Programming device arranged to obtain and store a random bit string in a memory device
EP3474488A4 (en) 2016-06-17 2019-11-06 KDDI Corporation SYSTEM, CERTIFICATION CENTER, VEHICLE-ASSEMBLED COMPUTER, VEHICLE, METHOD OF ISSUING PUBLIC KEYS AND PROGRAM
KR102562786B1 (ko) * 2016-07-07 2023-08-03 엘지이노텍 주식회사 차량 운전 보조 장치 및 이를 포함하는 주차 관제 시스템
KR102598613B1 (ko) 2016-07-21 2023-11-07 삼성전자주식회사 개인 인증 및 차량 인증 기반으로 차량 정보를 제공하는 시스템 및 방법
US10390221B2 (en) 2016-07-25 2019-08-20 Ford Global Technologies, Llc Private vehicle-to-vehicle communication
US20180060813A1 (en) * 2016-08-23 2018-03-01 Ford Global Technologies, Llc Autonomous delivery vehicle system
US10285051B2 (en) 2016-09-20 2019-05-07 2236008 Ontario Inc. In-vehicle networking
US10397215B2 (en) 2016-09-27 2019-08-27 Visa International Service Assocation Secure element installation and provisioning
US10491405B2 (en) 2016-10-04 2019-11-26 Denso International America, Inc. Cryptographic security verification of incoming messages
US10297147B2 (en) 2016-12-06 2019-05-21 Flir Commercial Systems, Inc. Methods and apparatus for monitoring traffic data
WO2018125989A2 (en) 2016-12-30 2018-07-05 Intel Corporation The internet of things
PH12017000044A1 (en) 2017-02-13 2018-08-20 Samsung Electronics Co Ltd Vehicle parking area access management system and method
WO2018160193A1 (en) * 2017-03-03 2018-09-07 Ford Global Technologies, Llc Vehicle parking control
US20180267904A1 (en) * 2017-03-17 2018-09-20 Bank Of America Corporation Automated item transfer vehicle
US10972291B2 (en) 2017-03-31 2021-04-06 Intel Corporation Securing communications
US10602360B2 (en) * 2017-04-05 2020-03-24 International Business Machines Corporation Secure mobile device integration with vehicles
US11341251B2 (en) 2017-04-19 2022-05-24 Quintessencelabs Pty Ltd. Encryption enabling storage systems
US10984136B2 (en) 2017-04-21 2021-04-20 Micron Technology, Inc. Secure memory device with unique identifier for authentication
US10783600B2 (en) * 2017-05-25 2020-09-22 GM Global Technology Operations LLC Method and system using a blockchain database for data exchange between vehicles and entities
FR3067830B1 (fr) * 2017-06-16 2023-10-06 Valeo Comfort & Driving Assistance Procede de transmission d'un rapport a un vehicule
JP6754325B2 (ja) 2017-06-20 2020-09-09 国立大学法人東海国立大学機構 車載認証システム、車載認証装置、コンピュータプログラム及び通信装置の認証方法
US20190027044A1 (en) * 2017-07-19 2019-01-24 Aptiv Technologies Limited Automated secured-area access system for an automated vehicle
JP6773617B2 (ja) 2017-08-21 2020-10-21 株式会社東芝 更新制御装置、ソフトウェア更新システムおよび更新制御方法
JP2020532215A (ja) 2017-08-24 2020-11-05 ティー−セントラル,インコーポレイティド 車両用のIoTデバイスの安全な通信
JP6903529B2 (ja) 2017-09-11 2021-07-14 株式会社東芝 情報処理装置、情報処理方法およびプログラム
US11140141B2 (en) 2017-09-18 2021-10-05 Fiske Software Llc Multiparty key exchange
CA3020431A1 (en) * 2017-10-11 2019-04-11 Marc Chelnik Vehicle parking authorization assurance system
CN111684760B (zh) 2017-10-22 2024-03-08 Lg 电子株式会社 用于管理数字证书的密码方法和系统
US10812257B2 (en) * 2017-11-13 2020-10-20 Volkswagen Ag Systems and methods for a cryptographically guaranteed vehicle identity
CN108230730B (zh) * 2017-11-16 2020-12-04 湖南深拓智能设备股份有限公司 停车管理系统及车位管理方法
US20190182267A1 (en) * 2017-12-13 2019-06-13 International Business Machines Corporation Vehicle security manager
CN111466107A (zh) * 2017-12-15 2020-07-28 通用汽车环球科技运作有限责任公司 用于载具内控制器的以太网网络剖析入侵检测控制逻辑和架构
US11323249B2 (en) 2017-12-20 2022-05-03 Lg Electronics, Inc. Cryptographic methods and systems for authentication in connected vehicle systems and for other uses
WO2019138408A1 (en) * 2018-01-11 2019-07-18 Enigmatos Ltd. A vehicle authentication and protection system
EP4106298B1 (en) * 2018-01-22 2023-11-29 Panasonic Intellectual Property Corporation of America Vehicle anomaly detection server, vehicle anomaly detection system, and vehicle anomaly detection method
US11011056B2 (en) * 2018-01-29 2021-05-18 Fujitsu Limited Fragmentation-aware intelligent autonomous intersection management using a space-time resource model
US10917237B2 (en) 2018-04-16 2021-02-09 Microsoft Technology Licensing, Llc Attestable and destructible device identity
US11074773B1 (en) * 2018-06-27 2021-07-27 The Chamberlain Group, Inc. Network-based control of movable barrier operators for autonomous vehicles
US10846960B1 (en) * 2018-09-07 2020-11-24 Amazon Technologies, Inc. Garage security and convenience features
JP7132075B2 (ja) * 2018-10-10 2022-09-06 トヨタ自動車株式会社 レンタル管理装置、レンタル管理方法、およびプログラム
WO2020074933A1 (en) * 2018-10-12 2020-04-16 Micron Technology, Inc. Method and apparatus to recognize transported passengers and goods
US11716194B2 (en) 2018-10-12 2023-08-01 Micron Technology, Inc. Vehicle communication for authorized entry
US10425401B1 (en) 2018-10-31 2019-09-24 ISARA Corporation Extensions for using a digital certificate with multiple cryptosystems
US10868667B2 (en) * 2018-11-06 2020-12-15 GM Global Technology Operations LLC Blockchain enhanced V2X communication system and method
CN111200799B (zh) * 2018-11-20 2021-06-15 华为技术有限公司 一种车联网的异常行为检测方法、装置和系统
US11139990B2 (en) 2018-12-29 2021-10-05 Intel Corporation Automatically verifying vehicle identity and validating vehicle presence
KR20200091689A (ko) * 2019-01-23 2020-07-31 한국전자통신연구원 차량 통신을 위한 보안 관리 시스템, 그것의 동작 방법, 및 그것을 포함하는 차량 통신 서비스 제공 시스템의 메시지 처리 방법
US11218330B2 (en) 2019-03-25 2022-01-04 Micron Technology, Inc. Generating an identity for a computing device using a physical unclonable function
US11456880B2 (en) 2019-03-25 2022-09-27 Micron Technology, Inc. Cryptographically secure mechanism for remotely controlling an autonomous vehicle
US11323275B2 (en) 2019-03-25 2022-05-03 Micron Technology, Inc. Verification of identity using a secret key
US11233650B2 (en) 2019-03-25 2022-01-25 Micron Technology, Inc. Verifying identity of a vehicle entering a trust zone
US11361660B2 (en) 2019-03-25 2022-06-14 Micron Technology, Inc. Verifying identity of an emergency vehicle during operation
US11271755B2 (en) 2019-03-25 2022-03-08 Micron Technology, Inc. Verifying vehicular identity
US11436885B2 (en) * 2021-01-28 2022-09-06 Saudi Arabian Oil Company In-vehicle intelligent access control system and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6958676B1 (en) * 2002-02-06 2005-10-25 Sts International Ltd Vehicle passenger authorization system
CN106649632A (zh) * 2016-12-07 2017-05-10 北京众享比特科技有限公司 数据同步方法及系统

Also Published As

Publication number Publication date
US11962701B2 (en) 2024-04-16
US11233650B2 (en) 2022-01-25
US20200313890A1 (en) 2020-10-01
US20220116221A1 (en) 2022-04-14
EP3949333A1 (en) 2022-02-09
EP3949333A4 (en) 2022-11-30
WO2020197723A1 (en) 2020-10-01

Similar Documents

Publication Publication Date Title
US11962701B2 (en) Verifying identity of a vehicle entering a trust zone
US11361660B2 (en) Verifying identity of an emergency vehicle during operation
US20220078035A1 (en) Generating an identity for a computing device using a physical unclonable function
TWI740409B (zh) 使用密鑰之身份驗證
CN112042151A (zh) 使用单调计数器的机密密钥的安全分发
CN113841355B (zh) 用于使用块链安全地进行监测的设备和系统
US11728987B2 (en) Secure vehicular part communication
US11615207B2 (en) Security processor configured to authenticate user and authorize user for user data and computing system including the same
CN111740854A (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20211224