CN107797822A - 用于认证固件的设备和相关联的方法 - Google Patents
用于认证固件的设备和相关联的方法 Download PDFInfo
- Publication number
- CN107797822A CN107797822A CN201710770381.5A CN201710770381A CN107797822A CN 107797822 A CN107797822 A CN 107797822A CN 201710770381 A CN201710770381 A CN 201710770381A CN 107797822 A CN107797822 A CN 107797822A
- Authority
- CN
- China
- Prior art keywords
- firmware
- processor
- equipment
- renewal
- received
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3242—Cryptographic 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 keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/30—Security of mobile devices; Security of mobile applications
- H04W12/35—Protecting application or service provisioning, e.g. securing SIM application provisioning
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种设备,其包括:固件认证元件,所述固件认证元件被配置成基于所接收固件和预定密码认证信息来提供对所述所接收固件的基于密码的认证,从而控制多个处理器中的任一处理器对所述所接收固件的执行。
Description
技术领域
本公开涉及一种用于代表多个处理器认证固件的设备。
背景技术
处理器可基于固件(所述固件包括用于由处理器执行以执行其既定功能的计算机程序代码)而执行处理器功能。固件可被远程更新。
可能需要允许许多装置进行通信。举例来说,智能环境(智能城市、建筑、住宅、汽车等)可通过使装置能够与远程装置通信来实现,所述远程装置例如一个或多个其它连接装置和/或一个或多个基于云的计算平台(即,由装置经由例如因特网的通信网络访问的远程计算平台)。因此,连接装置可具有与远程装置通信的通信功能性。传统上未配备有通信功能性的装置可能变为“始终连接”到因特网。因此,曾使用简单的单处理器装置操作的装置现在可能需要多处理器布置,例如合并有支持多个通信协议栈的数个连通处理器的布置。
向智能环境的转变可能给“连接装置”设计带来了挑战。在一个或多个例子中,对于连接装置而言,必须解决的问题是安全性。连接装置一旦被连接到通信网络,便可能遭受到来自因特网的由远程攻击者进行的攻击。
在一个或多个情境中,通常被意图控制连接装置的黑客利用的漏洞是空中固件更新的机制,或更一般地说,是远程源的固件更新的机制。固件可包括由连接装置或提供连接装置功能性的“处理器”执行的软件。如果固件可使用通信功能性从远程源被更新,那么这可方便连接装置制造商和/或使用者。空中固件更新可提供经更新的固件,所述经更新的固件经由其通信功能性被传递到装置。应了解,通信功能性可包括无线或有线通信功能性,且尽管术语“空中”可能主要预期与无线通信功能性相关,但本公开可同样适用于通过有线或无线的任何通信媒体传递的远程源固件更新。
通过利用更新机制,攻击者能够诱骗装置下载包括恶意软件或后门的受损固件图像。此外,固件一旦被下载,还可能被意图利用装置或包含所述装置的网络的攻击者远程改变。因此,在一个或多个例子中,可能需要提供用于启动电子装置的机制,所述机制验证用以提供所述启动的固件的真实性(也称为“安全启动”)。在一个或多个例子中,可能需要提供用于接收用于电子装置的远程源固件更新的机制,所述机制验证固件更新的真实性(也称为“经认证固件更新”)。
在一个或多个例子中,实施此类系统可能成本较高,尤其对于合并有多个处理器的系统和/或需要多级固件升级程序的系统而言。
发明内容
根据本公开的第一方面,提供一种设备,所述设备包括:
固件认证元件,所述固件认证元件被配置成基于所接收固件和预定密码认证信息来提供对所述所接收固件的基于密码的认证,从而控制由多个处理器中的任一处理器对所述所接收固件的执行。
在一个或多个实施例中,固件认证元件被配置成代表多个处理器借助于验证所接收固件的密码签名来认证所接收固件的真实性,由此避免每个处理器均需要包括用于固件认证的构件。在一个或多个实施例中,固件认证元件可借助于以下各项中的一项或多项来控制所接收固件的执行:i)发送信号到多个处理器中的任一处理器或不发送所述信号,使得多个处理器中的所述任一处理器执行所接收固件或防止多个处理器中的所述任一处理器执行所接收固件;以及ii)将所述所接收固件作为固件更新提供到多个处理器中的任一处理器,或阻止所述所接收固件作为固件更新提供到多个处理器中的任一处理器。
在一个或多个实施例中,多个处理器包括所述设备的至少一第一处理器和第二处理器,第一处理器包括第一微处理器,所述第一微处理器与用于存储第一固件的第一存储器相关联,所述第一固件由第一微处理器执行,且所述第二处理器包括第二微处理器,所述第二微处理器与用于存储与所述第一固件不同的第二固件的第二存储器相关联,所述第二固件由第二微处理器执行;且由此固件认证元件代表至少第一处理器和第二处理器提供对所接收固件的认证。
在一个或多个实施例中,所接收固件包括存储于第一存储器和第二存储器中的任一存储器中且被提供到固件认证元件的固件。
在一个或多个实施例中,所接收固件包括以下各项中的一项或多项;
i)从远离所述设备的固件源中接收的固件,所述固件用于更新与所述多个处理器中的任一处理器相关联的固件;
ii)从所述多个处理器中的任一处理器接收的固件,所述固件由所述多个处理器中的所述任一处理器执行。
在一个或多个实施例中,所述基于密码的认证包括以下各项中的一项或多项;
i)对由私用密钥签名的所接收固件的公共/私用密钥认证,所述预定密码认证信息包括所述私用密钥的对应公共密钥;
ii)对由密码密钥签名的所接收固件的对称密钥认证,所述密码密钥包括所述预定密码认证信息。
在一个或多个实施例中,所述设备被配置成接收固件更新,所述固件更新包括来自远程固件源的所接收固件,所述所接收固件用于更新与多个处理器中的任一处理器相关联的固件,所述固件更新包括密码签名,所述密码签名由固件认证元件使用预定密码认证信息而认证。
在一个或多个实施例中,固件认证元件被配置成另外验证固件更新是否包括当前被提供以由多个处理器中的任一处理器执行的固件的较新版本。仅当固件更新包括较新版本时才可提供固件的更新。
在一个或多个实施例中,所述设备被配置成在成功认证所述固件更新后将所述固件更新转送到所述多个处理器中的某一处理器,该处理器被识别为所述固件更新的既定接收方。
因此,在一个或多个实施例中,设备可被配置成在成功认证后提供固件更新以视需要存储于与多个处理器中的任一处理器相关联的第一存储器或第二存储器中。
在一个或多个实施例中,多个处理器中被识别为固件更新的既定接收方的处理器借助于以下各项中的一项或多项被识别:i)固件更新的识别信息,所述识别信息识别更新所针对的处理器,和ii)固件更新的特性和设备的预定处理器特性信息。
在一个或多个实施例中,所述设备被配置成在对所述固件更新成功认证后、在由所述多个处理器中的任一处理器执行所述固件更新之前存储所述固件更新的密码信息以用于所述固件更新的后续认证。
在一个或多个实施例中,固件认证元件被配置成在固件更新的认证失败后阻止将固件更新转送到多个处理器中的任一处理器。
在一个或多个实施例中,所述设备被配置成在由多个处理器中的任一处理器执行处理器固件之前,从所述多个处理器中的所述任一处理器接收所述处理器固件作为所接收固件,所述固件认证元件被配置成在成功认证所述处理器固件后向所述多个处理器中的所述任一处理器提供信令,使得所述多个处理器中的所述任一处理器执行经认证的处理器固件。
在一个或多个实施例中,所述固件认证元件被配置成在所述处理器固件的所述认证失败后提供或阻止信令到所述处理器,以防所述多个处理器中的所述任一处理器执行处理器固件。
在一个或多个实施例中,所述设备包括总线,所述总线在固件认证元件与所述至少第一处理器和第二处理器之间提供可寻址通信通道,以用于提供控制由第一处理器和第二处理器中的任一处理器对所接收固件的执行的信令。
在一个或多个实施例中,所述设备包括通信元件,所述通信元件被配置成提供在其上接收所接收固件的加密通信通道。
在一个或多个实施例中,加密通信通道可经由总线提供和/或经由网络提供到远程固件源。
在一个或多个实施例中,所述固件认证元件被配置成提供所接收固件的散列的计算,且对所接收固件的基于密码的认证是以所述散列为基础。
根据本公开的第二方面,提供一种方法,所述方法包括基于所接收固件和预定密码认证信息而提供对所接收固件的基于密码的认证,从而控制由多个处理器中的任一处理器对所接收固件的执行。
根据本公开的第三方面,提供一种电子装置,所述电子装置包括第一方面的设备。
在一个或多个实施例中,所述电子装置包括用于控制汽车的功能性的电子装置,每个处理器被配置成执行汽车的限定功能。在一个或多个实施例中,所述电子装置包括物联网(IoT)网关,所述IoT网关可包括提供蓝牙RTM、ZigBee和/或WiFi功能等中的每一个的应用程序处理器和多个外围处理器中的两个或多于两个处理器。应了解,所述电子装置可包括任何多处理器布置。
根据本公开的第四方面,提供一种计算机程序或包括计算机程序代码的计算机可读媒体,所述计算机程序代码在被提供到与处理器相关联的存储器且由所述处理器执行时被配置成基于所接收固件和预定密码认证信息而提供对所接收固件的基于密码的认证,从而控制由多个处理器中的任一处理器对所接收固件的执行。
尽管本公开容许各种修改和替代形式,但本公开的特性已经借助于例子在图式中示出且将进行详细描述。然而,应理解,也可能有超出所描述的特定实施例的其它实施例。还涵盖属于所附权利要求书的精神和范围内的所有修改、等效物和替代实施例。
以上论述并不意图表示当前或将来权利要求集的范围内的每个示例实施例或每个实施方案。附图和随后的具体实施方式还举例说明了各种示例实施例。结合附图考虑以下具体实施方式,可更全面地理解各种示例实施例。
附图说明
现将仅借助于例子参看附图描述一个或多个实施例,附图中:
图1示出被配置成向多个微处理器提供固件验证的设备的示例实施例;
图2示出图1的设备的较详细示意图,示出用于多个微处理器中的一个微处理器的固件更新的验证;
图3示出设备的示例实施例,所述设备被配置成向多个微处理器提供固件验证以便启动;
图4示出示例方法。
具体实施方式
图1示出设备100,所述设备100被配置成提供用于多个处理器(包括第一处理器101、第二处理器102和第三处理器103)的固件的认证。处理器可包括微处理器,例如通用微处理器。在此例子中,示出三个处理器,但应了解,在其它例子中,可提供不同的多个处理器。设备100可与多个处理器101、处理器102、处理器103集成以形成电子装置。因此,设备100可实施于与处理器101、处理器102、处理器103相同的PCB或集成电路芯片上,或处理器和设备100可分布在若干集成电路芯片上,所述集成电路芯片可在或不在相同封装中。在一个或多个实施例中,处理器101、处理器102、处理器103可与设备100分离,且设备100包括设备100与处理器之间的通信链路,以用于认证用于处理器101、处理器102、处理器103的固件。
处理器101、处理器102、处理器103中的每一个处理器可被配置成至少部分地借助于与所述处理器相关联的固件来执行特定功能。因此,固件可提供由相关联处理器执行执行相关联处理器的指定功能的计算机程序代码。因此,每个处理器101、处理器102、处理器103可包括或可访问相关联存储器或共享存储器(图1中未示出)以供其中存储有固件的多个处理器101、处理器102、处理器103中的一个或多个处理器访问。
设备100包括固件认证元件104,所述固件认证元件104用于代表处理器101、处理器102、处理器103验证固件的真实性以用于由处理器101、处理器102、处理器103执行。
设备100可包括表示为箭头105的通信接口,或更一般地说,设备100可与表示为箭头105的通信接口相关联。通信接口105提供设备100与一个或多个远程固件源106之间的通信。通信接口105可提供与远程固件源106的通信,所述通信可经由局域网或广域网或因特网。通信接口106可包括用于提供到远程固件源106的至少部分通信路径的CAN总线。
远程固件源106可包括由多个处理器101、处理器102、处理器103中的一个或多个处理器的制造商授权的固件软件的制造商或发行商。然而,在一些情况下,所述远程固件源106可能包括尝试向多个处理器101、处理器102、处理器103中的任一个处理器提供恶意固件的恶意代理商,所述尝试行为可通过固件认证元件104被防止。通信元件105可在处理器101、处理器102、处理器103执行指定功能期间提供来自和/或到所述处理器的数据传送。
在一个或多个例子中,设备100包括用于处理器101、处理器102、处理器103中的每一个处理器与固件认证元件106通信的通信通道。设备100可被配置成借助于第一通信通道107与第一处理器101通信。设备100可被配置成借助于第二通信通道108与第二处理器102通信。设备100可被配置成借助于第三通信通道109与第三处理器103通信。在一个或多个例子中,每个通信通道可提供在相应处理器与设备100之间的信令(例如表示数据的信令)交换,所述数据表示固件的至少部分。在一个或多个例子中,每个通信通道可提供信令的交换以用于设备100对每个处理器101、处理器102、处理器103的控制。一般而言,处理器101、处理器102、处理器103可由设备100个别地寻址。通信通道107、通信通道108、通信通道109可包括串行外围接口(SPI)或基于I2C的接口,但应了解,可使用任何其它类型的接口或总线。
设备100可被配置成代表多个处理器而作用,以在以下各者中的一个或多个期间认证每个处理器的固件:启动处理器101、处理器102、处理器103中的一个或多个处理器,以及更新多个处理器101、处理器102、处理器103中的一个或多个处理器的固件。
设备100可形成电子装置的部分,所述电子装置可包括例如用于控制汽车的功能性的任何多处理器系统,每个处理器被配置成执行汽车的限定功能,例如传感或控制;例如用于物联网(IoT)网关的连通网关,所述IoT网关可包括提供蓝牙RTM、ZigBee和/或WiFi功能性或控制和管理功能中的每一个的应用程序处理器和多个外围处理器中的两个或多于两个的处理器。
设备100,或更具体地说,固件认证元件104可包括存储器(图1中未示出),所述存储器用于存储用于每个处理器的固件的密码签名。签名可由设备100用以认证处理器的固件。存储器可包括安全存储器,例如使用存储保护以控制对存储于存储器中的数据的访问的存储器。设备100,或更具体地说,固件认证元件104可包括处理器(图1中未示出),所述处理器被配置成基于公共密钥密码术(例如,基于RSA或ECC密钥)或对称密钥(例如,基于AES)或其它认证过程来执行密码处理以认证固件。
因此,设备100可被配置成代表多个处理器101、处理器102、处理器103存储密码资产,例如密钥和签名,且因此,只有设备100,而非处理器101、处理器102、处理器103中的每一处理器需要处置此类密码资产所需的电路,这可简化用于认证固件的信任设置过程。
图2示出图1的设备,更详细地说,示出固件认证元件104和处理器101、处理器102、处理器103的组成部分,所述组成部分可用以将来自远程固件源106的固件更新应用到处理器中的一个或多个处理器。在此例子中,设备100可实施于涉及多处理器电子控制单元(ECU)的汽车系统中。
处理器101、处理器102、处理器103中的每一个处理器包括用于存储由处理器执行以执行处理器既定功能的固件的固件存储装置201、固件存储装置202、固件存储装置203。固件存储装置可包括非易失性存储器。处理器101、处理器102、处理器103还各自包括用于提供对相应通信通道107、通信通道108和通信通道109的访问的通信接口204、通信接口205、通信接口206。在此例子中,通信通道107、通信通道108和通信通道109示出为总线的部分。应了解,可使用通信通道107、通信通道108和通信通道109的其它布置。设备100包括通信接口207,所述通信接口207用于提供对总线的访问且提供与处理器101、处理器102、处理器103中的每一个处理器的个别通信。在此例子中,通信接口207包括SPI总线。
设备100包括存储器210,所述存储器210用于存储密码资产以在更新多个处理器101、处理器102、处理器103中的一个或多个处理器的固件期间使用。设备100可包括认证处理器211,所述认证处理器211可以是专用于基于密码的认证的处理器,或通用处理器。认证处理器211可被配置成基于本地存储的公共密钥213和从远程固件源接收的数字签名的固件图像数据而提供对所述固件图像数据的认证,以验证所述固件是由与签名中的一个或多个签名相关联的受信任远程固件源发送,且基于成功的认证,将固件图像数据向前传输到所预期的多个处理器中的处理器。如果认证不成功,那么固件图像数据可能不被传送到所预期的多个处理器的处理器。公共密钥可在制造时或在信任设置步骤期间被提供到固件认证元件104。因此,固件更新将使用固件源106的私用密钥签名,所述私用密钥是由固件认证元件104存储的公共密钥213的对应部分。
在此例子中,通信接口105包括CAN总线接口。远程固件源106的对应通信接口还包括CAN总线接口214。
远程固件源106可包括用于更新多个处理器101、处理器102、处理器103的固件的固件图像数据215、固件图像数据216、固件图像数据217的存储库。每个处理器的固件图像数据215、固件图像数据216、固件图像数据217可被分成多个数据块,且每个块可包括数字签名。可通过使用属于受信任固件供应商的私用密钥来应用签名,对于所述私用密钥,设备100在块213中具有对应的公共密钥。在其它例子中,固件图像数据可能不被分成块,而是可能包括用于整体固件图像或其散列的签名。
设备100可包括散列块212,所述散列块212用于计算从远程固件源106接收的数据的散列,随后将所述散列提供到认证处理器211。由散列块212确定的散列可是安全散列算法散列。因此,所接收固件的认证可以是基于固件图像的数字签名、固件块的数字签名、图像的散列的数字签名,或块的散列的数字签名。
使用时,设备100用于每当从远程固件源106接收用于特定处理器的新固件更新时认证用于多个处理器101、处理器102、处理器103中的每一处理器的固件更新。
如上文所提及,被传输的固件可被划分为块,所述块由认证处理器211分别评估。由于每个块可具有密码签名,因此处理器211可被配置成当块经由设备100与远程固件源之间的通信通道被接收时认证固件图像数据的组件块,亦即“实时(on-the fly)”验证。认证处理器211可使用对应公共密钥213对使用固件源的私用密钥签名的每个块进行认证。
认证处理器211可被配置以使得每个块的数字签名将对照受信任固件供应商密钥(通常是来自块213的公共密钥)而被验证且在验证后被发送到适当的微处理器101、微处理器102、微处理器103。设备100可被配置成通过以下各者中的一者或多者来识别预期使用固件的处理器101、处理器102、处理器103进行:对固件图像数据或固件图像数据块的分析;对远程固件源和由识别处理器的远程固件源所发送的信息的识别。
设备100在访问SPI总线时可充当SPI主机且能够选择当前已验证块所指定的处理器101、处理器102、处理器103。因此,SPI接口用以将已验证固件图像数据块传输到对应的处理器101、处理器102、处理器103。从固件图像数据导出的固件可存储于特定处理器101、处理器102、处理器103的固件存储装置201、固件存储装置202、固件存储装置203中。
处理器101、处理器102、处理器103中的每一处理器可负责执行开始执行传递到所述处理器上的已更新固件所必需的操作。举例来说,处理器101、处理器102、处理器103可被配置成在下一个处理器重启时执行固件图像切换。
在一个或多个例子中,经认证固件图像数据或经认证固件图像数据块可被发送到所有处理器101、处理器102、处理器103,且处理器本身可被配置成确定固件图像数据是否预期用于所述处理器。
设备100可被配置成在成功认证固件图像数据后将表示固件图像的信息在由处理器执行之前存储于存储器中以用于固件的将来认证。所存储的信息可使用设备100的密码密钥。因此,在一个或多个例子中,固件认证元件可通过将密码密钥用于固件图像数据或固件图像数据块来应用数字签名且将数字签名的数据(或其散列)存储于存储器210中。
在一个或多个例子中,设备100可被配置成将固件图像数据的版本识别符存储于存储器210中。版本识别符可由固件认证元件104用以验证经由通信所接收的后续固件更新是更新(亦即,较新版本)。
在上文例子中,公共/私用密钥可用于验证从远程固件源106接收的固件更新的真实性,然而,应了解,可使用其它认证机制,例如基于对称密钥的方案。举例来说,对于基于对称密钥的方案,设备可使用基于AES-CCM(经认证密码)或基于SHA的HMAC。
图3示出用于实施安全或经认证启动的设备100和处理器101、处理器102、处理器103的功能组件,其中将由多个处理器中的至少一个处理器执行的固件只有在由设备100验证为真实时才可被执行。
图3如图2中一样示出处理器101、处理器102、处理器103中的每一处理器包括用于存储由处理器执行以执行处理器的预期功能的固件的固件存储装置201、固件存储装置202、固件存储装置203。固件存储装置可包括非易失性存储器。每个处理器另外包括ROM存储器301、ROM存储器302和ROM存储器303。ROM存储器可被配置成包括发送固件(例如,以块的形式)或数据的指令,所述数据表示在每次启动时(即,每当固件最初被加载时,例如在重设之后或断电时段后的通电之后)由设备100认证的固件。
如同图2,每个处理器包括通信接口204、通信接口205、通信接口206的部分,所述通信接口用于通过设备100的相关联通信接口207与设备100通信。
设备100包括启动定序器304,所述启动定序器304被配置成将重设信令305应用到所要处理器201、处理器202、处理器203。因此,每个处理器101、处理器102、处理器103可由启动定序器唯一寻址,使得每个处理器可被依次重设。类似于图2的先前实施例,设备100包括认证处理器207,所述认证处理器207通过使用存储于存储器210中的数字签名提供对数据的认证。存储器210中的数字签名可根据由设备100认证的先前固件更新而存储,或可例如在制造或初始设置时被预加载。因此,存储器210可包括用于相应处理器101、处理器102、处理器103的每个固件的数字签名306、数字签名307、数字签名308。设备100还包括散列块212。然而,在此例子中,设备100被配置成将从处理器101、处理器102、处理器103中的每一处理器接收的固件图像数据或固件图像数据块的散列提供到认证处理器211。散列块212可被配置成应用安全散列算法散列。另外,认证处理器211可被配置成发送成功认证信令310,所述成功认证信令310指示存储于特定处理器处的固件被设备100验证为真实,使得特定处理器可开始固件的启动或执行。
使用时,每当处理器中的任何一个或全部处理器在一段时间的断电之后被重设或通电时,执行对一个或所有处理器的固件的真实性的检查。设备100可被配置以使得启动定序器304依次选择处理器101、处理器102、处理器103中的每一个处理器以用于检查固件的真实性。因此,实际上,启动定序器304可被配置成依次唤醒每个处理器101、处理器102、处理器103。举例来说,启动定序器可借助于重设信令来选择第二处理器102且使所述第二处理器102将其固件发送到设备100。ROM代码302在执行时使固件经由接口205、接口207被发送。
在固件更新或制造时,如果固件认证元件104将固件的块的数字签名存储于存储器210中,那么这可能便于将处理器配置成将等效构造块发送到固件认证元件104以用于认证。
在一个或多个例子中,处理器被配置成将固件作为为多个块发送以供设备100接收。在接收到每个块时,设备100被配置成通过散列块212计算块的散列,且将散列发送到认证处理器211。
接着,认证处理器211基于存储器210中的数字签名验证由处理器发送的块是否是真实的。这可通过将存储器210中的数字签名(由认证处理器211所知的密钥或对应密钥所签名)与从多个处理器中的处理器102接收的固件或固件块的计算所得数字签名比较来实现。如果存储器210的存储数据的数字签名与当前计算所得签名匹配,那么固件或固件块可被视为真实。在此例子中,当每个块均被认证处理器211验证为真实时,将信令提供到相应的处理器202。处理器102的ROM代码302可被配置成仅在接收到每一个块均经认证的确认时才执行所述固件。如果一个或多个块未经认证,那么固件所属的处理器101、处理器102、处理器103可进行以下各者中的一者或多者:撤销激活,或使用经认证固件更新。接着,启动定序器304可提供对另一个或下一个处理器101、处理器103的选择,且可遵循类似的程序。
在一个或多个例子中,仅当每一个固件块经认证时,固件块经认证的信令才可被设备210发送到相应的处理器101、处理器102、处理器103。在一个或多个例子中,整个固件图像而非块或块的散列可通过设备100被发送或被认证。
在一个或多个例子中,举例来说,在固件图像数据大于阈值大小(但这无需是个条件)的情况下,具有固件的处理器101、处理器102、处理器103可计算固件或块的散列,且接着发送散列而非固件块,以便认证处理器211对固件进行认证。在此例子中,可绕过散列块212。第一处理器101示出具有散列块311(作为此实施方案的例子)以用于计算固件块的散列。固件块的散列而非固件数据自身可更高效地经由通信接口204、通信接口205、通信接口206、通信接口207被发送。
举例来说,图3中描绘的MCU(1)计算SHA散列而非其固件块且将所得散列发送到固件认证元件104以用于验证。在一个或多个例子中,单个散列而非完整固件图像被发送到固件认证元件104。应了解,设备100具有存储于存储器210中的对应数字签名,所述对应数字签名可用以与固件图像签名比较且验证固件图像签名的真实性。
应了解,由ROM代码301、ROM代码302、ROM代码303(和任选散列功能311)提供以正确地将固件发送到设备100的功能性应受信任,且仅当接收到由设备100发送的成功认证信令时才继续启动过程。处理器与设备100之间的通信通道107、通信通道108、通信通道109可被加密,和/或处理器101、处理器102、处理器103与设备100之间的通信可自我认证。设备100与远程固件源106之间的通信通道105也可被加密。
设备100可被配置成在出现失败认证尝试时向远程固件源106发送通知和/或在请求时提供状态报告。状态报告可包括具有加密密钥数字签字的证明报告,所述加密密钥对于设备100是唯一的。
图4示出说明方法的流程图,所述方法基于所接收固件和预定密码认证信息401来提供所接收固件的基于密码的认证,从而控制由多个处理器402中的任一处理器对所接收固件的执行。
尽管在上文例子中,设备100示出为能够与处理器通信的独立装置,但在一个或多个例子中,所述设备100可被集成到处理器101、处理器102、处理器103中的一个或多个处理器中,且被配置成代表更大数目个处理器(相比于与设备100集成的处理器)起作用以用于每个处理器固件的认证。
所述方法可实施为(非暂时性)计算机程序代码或计算机程序产品以供与存储器相关联的处理器执行,以执行所述方法。计算机程序产品可包括CD、DVD、闪存驱动器、包括所述计算机程序代码的下载。
除非明确陈述特定次序,否则可以任何次序执行以上图式中的指令和/或流程图步骤。此外,本领域的技术人员将认识到,尽管已经论述一个示例指令集/方法,但是本说明书中的材料可通过多种方式组合,从而还产生其它例子,且应在此详细描述提供的上下文内来理解。
在一些示例实施例中,上文描述的指令集/方法步骤被实施为体现为可执行指令集的功能和软件指令,这些可执行指令在计算机或以所述可执行指令编程和控制的机器上实现。此类指令被加载以在处理器(例如,一个或多个CPU)上执行。术语处理器包括微处理器、微控制器、处理器模块或子系统(包括一个或多个微处理器或微控制器),或其它控制或计算装置。处理器可以指代单个组件或指代多个组件。
在其它例子中,本文中示出的指令集/方法和与其相关联的数据和指令存储在相应存储装置中,所述存储装置实施为一个或多个非暂时性机器或计算机可读或计算机可用存储媒体。此类计算机可读或计算机可用存储媒体被认为是物品(或制品)的部分。物品或制品可指代任何制造的单个组件或多个组件。如本文中所定义的非暂时性机器或计算机可用媒体不包括信号,但此类媒体能够接收和处理来自信号和/或其它暂时性媒体的信息。
本说明书中论述的材料的示例实施例可整体或部分地经由网络、计算机或基于数据的装置和/或服务实施。这些可以包括云、因特网、内联网、移动装置、台式计算机、处理器、查找表、微控制器、消费者设备、基础设施,或其它致能装置和服务。如本文中和权利要求书中可使用,提供以下非排他性限定。
在一个例子中,使本文中论述的一个或多个指令或步骤自动化。术语自动化或自动(及其类似变体)意指使用计算机和/或机械/电气装置控制设备、系统和/或过程的操作,而不需要人类干预、观测、努力和/或决策。
应了解,称为耦合的任何组件可以直接或间接耦合或连接。在间接耦合的情况下,可在称为耦合的两个组件之间安置另外的组件。
在本说明书中,已经依据选定的细节集呈现示例实施例。然而,本领域的普通技术人员将理解,可以实践包括这些细节的不同选定集合的许多其它示例实施例。预期所附权利要求涵盖所有可能的示例实施例。
Claims (10)
1.一种设备,其特征在于,包括:
固件认证元件,所述固件认证元件被配置成基于所接收固件和预定密码认证信息来提供对所述所接收固件的基于密码的认证,从而控制由多个处理器中的任一处理器对所述所接收固件的执行。
2.根据权利要求1所述的设备,其特征在于,所述多个处理器包括所述设备的至少一第一处理器和第二处理器,所述第一处理器包括第一微处理器,所述第一微处理器与用于存储第一固件的第一存储器相关联,所述第一固件由所述第一微处理器执行,且所述第二处理器包括第二微处理器,所述第二微处理器与用于存储与所述第一固件不同的第二固件的第二存储器相关联,所述第二固件由所述第二微处理器执行;且由此所述固件认证元件代表至少所述第一处理器和所述第二处理器提供对所述所接收固件的认证。
3.根据权利要求1或权利要求2所述的设备,其特征在于,所述所接收固件包括以下各项中的一项或多项;
i)从远离所述设备的固件源中接收的固件,所述固件用于更新与所述多个处理器中的任一处理器相关联的固件;
ii)从所述多个处理器中的任一处理器接收的固件,所述固件由所述多个处理器中的所述任一处理器执行。
4.根据在前的任一项权利要求所述的设备,其特征在于,所述基于密码的认证包括以下各项中的一项或多项;
i)对由私用密钥签名的所接收固件的公共/私用密钥认证,所述预定密码认证信息包括所述私用密钥的对应公共密钥;
ii)对由密码密钥签名的所接收固件的对称密钥认证,所述密码密钥包括所述预定密码认证信息。
5.根据在前的任一项权利要求所述的设备,其特征在于,所述设备被配置成接收固件更新,所述固件更新包括来自远程固件源的所述所接收固件,所述所接收固件用于更新与所述多个处理器中的任一处理器相关联的所述固件,所述固件更新包括密码签名,所述密码签名由所述固件认证元件使用所述预定密码认证信息认证。
6.根据权利要求5所述的设备,其特征在于,所述设备被配置成在成功认证所述固件更新后将所述固件更新转送到所述多个处理器中的处理器,所述处理器被识别为所述固件更新的既定接收方。
7.根据权利要求5到6中任一项所述的设备,其特征在于,所述设备被配置成在成功认证所述固件更新后、在由所述多个处理器中的所述任一处理器执行所述固件更新之前存储所述固件更新的密码信息,以用于所述固件更新的后续认证。
8.根据权利要求5到7中任一权利要求所述的设备,其特征在于,所述固件认证元件被配置成在所述固件更新的认证失败后阻止将所述固件更新转送到所述多个处理器中的任一处理器。
9.一种方法,其特征在于,包括基于所接收固件和预定密码认证信息,提供对所述所接收固件的基于密码的认证,从而控制由多个处理器中的任一处理器对所述所接收固件的执行。
10.一种电子装置,其特征在于,包括根据权利要求1到8中任一权利要求所述的设备。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16186899.7A EP3291087A1 (en) | 2016-09-01 | 2016-09-01 | Apparatus and associated method for authenticating firmware |
EP16186899.7 | 2016-09-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107797822A true CN107797822A (zh) | 2018-03-13 |
Family
ID=56855326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710770381.5A Withdrawn CN107797822A (zh) | 2016-09-01 | 2017-08-31 | 用于认证固件的设备和相关联的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10565380B2 (zh) |
EP (1) | EP3291087A1 (zh) |
CN (1) | CN107797822A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109547796A (zh) * | 2018-11-26 | 2019-03-29 | 晶晨半导体(上海)股份有限公司 | 一种视频编解码固件管理方法和系统 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10303883B2 (en) * | 2016-10-25 | 2019-05-28 | Hewlett Packard Enterprise Development Lp | Firmware verification through data ports |
JP2019036238A (ja) * | 2017-08-21 | 2019-03-07 | 株式会社東芝 | 更新制御装置、端末、更新制御方法およびプログラム |
US10839080B2 (en) * | 2017-09-01 | 2020-11-17 | Microsoft Technology Licensing, Llc | Hardware-enforced firmware security |
US10459714B2 (en) * | 2017-12-20 | 2019-10-29 | Coolbitx Ltd. | Method of updating firmware of closed storage device |
US11258772B2 (en) * | 2018-06-19 | 2022-02-22 | Cypress Semiconductor Corporation | Secured communication from within non-volatile memory device |
US11797684B2 (en) * | 2018-08-28 | 2023-10-24 | Eclypsium, Inc. | Methods and systems for hardware and firmware security monitoring |
WO2020047351A1 (en) * | 2018-08-31 | 2020-03-05 | Fungible, Inc. | Rapidly establishing a chain of trust in a computing system |
JP7282616B2 (ja) * | 2019-06-27 | 2023-05-29 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
DE102019220450A1 (de) * | 2019-12-20 | 2021-06-24 | Robert Bosch Gmbh | Vorrichtung mit einer Schnittstelle und Verfahren zum Betreiben einer Vorrichtung mit einer Schnittstelle |
US11269637B2 (en) | 2020-07-23 | 2022-03-08 | Hewlett Packard Enterprise Development Lp | Validating machine-readable instructions using an iterative validation process |
US11698971B2 (en) * | 2021-04-15 | 2023-07-11 | Honeywell International Inc. | Secure boot device |
US12019752B2 (en) | 2021-10-06 | 2024-06-25 | Hewlett Packard Enterprise Development Lp | Security dominion of computing device |
DE102022125619A1 (de) | 2022-10-05 | 2024-04-11 | Audi Aktiengesellschaft | Verfahren zum Starten einer Datenverarbeitungseinrichtung, Datenverarbeitungseinrichtung und Kraftfahrzeug |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7069452B1 (en) * | 2000-07-12 | 2006-06-27 | International Business Machines Corporation | Methods, systems and computer program products for secure firmware updates |
CN103166759A (zh) * | 2011-12-15 | 2013-06-19 | 通用汽车环球科技运作有限责任公司 | 使用诊断链路连接器(dlc)和onstar系统的用于安全固件下载的方法和装置 |
CN103189877A (zh) * | 2010-10-29 | 2013-07-03 | 诺基亚公司 | 软件认证 |
CN103294503A (zh) * | 2012-02-24 | 2013-09-11 | 纬创资通股份有限公司 | 伺服器部署系统及数据更新的方法 |
CN103339958A (zh) * | 2010-12-01 | 2013-10-02 | 耶德托公司 | 密钥传输协议 |
WO2015094160A1 (en) * | 2013-12-16 | 2015-06-25 | Hewlett-Packard Development Company, L.P. | Firmware authentication |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050114639A1 (en) * | 2001-05-11 | 2005-05-26 | Zimmer Vincent J. | Hardened extensible firmware framework to support system management mode operations using 64-bit extended memory mode processors |
US6775728B2 (en) * | 2001-11-15 | 2004-08-10 | Intel Corporation | Method and system for concurrent handler execution in an SMI and PMI-based dispatch-execution framework |
GB2382419B (en) * | 2001-11-22 | 2005-12-14 | Hewlett Packard Co | Apparatus and method for creating a trusted environment |
US7392371B2 (en) * | 2001-12-20 | 2008-06-24 | Zimmer Vincent J | Method and apparatus for using a volume top file to boot firmware modules |
US7254676B2 (en) * | 2002-11-15 | 2007-08-07 | Intel Corporation | Processor cache memory as RAM for execution of boot code |
EP1465038B1 (en) * | 2003-04-03 | 2013-03-27 | STMicroelectronics (Research & Development) Limited | Memory security device for flexible software environment |
US20050021968A1 (en) * | 2003-06-25 | 2005-01-27 | Zimmer Vincent J. | Method for performing a trusted firmware/bios update |
US7328340B2 (en) * | 2003-06-27 | 2008-02-05 | Intel Corporation | Methods and apparatus to provide secure firmware storage and service access |
CN1853162A (zh) * | 2003-09-18 | 2006-10-25 | 贵族技术澳大利亚有限公司 | Bios保护装置 |
US8429418B2 (en) * | 2006-02-15 | 2013-04-23 | Intel Corporation | Technique for providing secure firmware |
US20070288739A1 (en) * | 2006-06-09 | 2007-12-13 | Dale Jason N | System and method for masking a boot sequence by running different code on each processor |
US7870379B2 (en) * | 2006-10-10 | 2011-01-11 | Exaflop Llc | Updating a power supply microcontroller |
US8650399B2 (en) * | 2008-02-29 | 2014-02-11 | Spansion Llc | Memory device and chip set processor pairing |
US7984286B2 (en) * | 2008-06-25 | 2011-07-19 | Intel Corporation | Apparatus and method for secure boot environment |
EP2507991B1 (en) * | 2009-12-04 | 2017-08-30 | LG Electronics Inc. | Digital broadcast receiver and booting method of digital broadcast receiver |
US9141802B2 (en) * | 2012-09-25 | 2015-09-22 | Intel Corporation | Computing device boot software authentication |
CN102929674B (zh) * | 2012-11-02 | 2016-02-10 | 威盛电子股份有限公司 | 电子装置以及开机方法 |
WO2015113046A1 (en) * | 2014-01-27 | 2015-07-30 | Rambus Inc. | Implementing access control by system-on-chip |
WO2015165000A1 (en) * | 2014-04-28 | 2015-11-05 | Intel Corporation | Securely booting a computing device |
US9722781B2 (en) * | 2014-07-09 | 2017-08-01 | Livio, Inc. | Vehicle software update verification |
US10095634B2 (en) * | 2015-05-22 | 2018-10-09 | Nxp B.V. | In-vehicle network (IVN) device and method for operating an IVN device |
US9825918B2 (en) * | 2015-05-22 | 2017-11-21 | Nxp B.V. | Controller area network (CAN) device and method for operating a CAN device |
JP6345157B2 (ja) * | 2015-06-29 | 2018-06-20 | クラリオン株式会社 | 車載情報通信システム及び認証方法 |
US10481900B2 (en) * | 2016-04-11 | 2019-11-19 | Endress+Hauser Conducta Gmbh+Co. Kg | Method for updating a firmware component and device of measurement and control technology |
US10171478B2 (en) * | 2016-06-30 | 2019-01-01 | Faraday & Future Inc. | Efficient and secure method and apparatus for firmware update |
-
2016
- 2016-09-01 EP EP16186899.7A patent/EP3291087A1/en not_active Withdrawn
-
2017
- 2017-07-11 US US15/646,299 patent/US10565380B2/en active Active
- 2017-08-31 CN CN201710770381.5A patent/CN107797822A/zh not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7069452B1 (en) * | 2000-07-12 | 2006-06-27 | International Business Machines Corporation | Methods, systems and computer program products for secure firmware updates |
CN103189877A (zh) * | 2010-10-29 | 2013-07-03 | 诺基亚公司 | 软件认证 |
CN103339958A (zh) * | 2010-12-01 | 2013-10-02 | 耶德托公司 | 密钥传输协议 |
CN103166759A (zh) * | 2011-12-15 | 2013-06-19 | 通用汽车环球科技运作有限责任公司 | 使用诊断链路连接器(dlc)和onstar系统的用于安全固件下载的方法和装置 |
CN103294503A (zh) * | 2012-02-24 | 2013-09-11 | 纬创资通股份有限公司 | 伺服器部署系统及数据更新的方法 |
WO2015094160A1 (en) * | 2013-12-16 | 2015-06-25 | Hewlett-Packard Development Company, L.P. | Firmware authentication |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109547796A (zh) * | 2018-11-26 | 2019-03-29 | 晶晨半导体(上海)股份有限公司 | 一种视频编解码固件管理方法和系统 |
CN109547796B (zh) * | 2018-11-26 | 2021-03-09 | 晶晨半导体(上海)股份有限公司 | 一种视频编解码固件管理方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US10565380B2 (en) | 2020-02-18 |
EP3291087A1 (en) | 2018-03-07 |
US20180060589A1 (en) | 2018-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107797822A (zh) | 用于认证固件的设备和相关联的方法 | |
US11240222B2 (en) | Registry apparatus, agent device, application providing apparatus and corresponding methods | |
US10951630B2 (en) | Registry apparatus, agent device, application providing apparatus and corresponding methods | |
US10027646B2 (en) | Associating an agent device associated with a first application providing apparatus with a second application providing apparatus | |
CN110933163B (zh) | 区块链合约部署方法、装置、设备以及存储介质 | |
CN108898389A (zh) | 基于区块链的内容验证方法及装置、电子设备 | |
US20150113592A1 (en) | Method of establishing a trusted identity for an agent device | |
CN108960825A (zh) | 基于区块链的电子签名方法及装置、电子设备 | |
CN107077574A (zh) | 用于客户端设备的信任服务 | |
US11373762B2 (en) | Information communication device, authentication program for information communication device, and authentication method | |
CN104737177B (zh) | 用于提供安全服务的方法 | |
CN109937419A (zh) | 安全功能强化的设备的初始化方法及设备的固件更新方法 | |
CN103685138A (zh) | 移动互联网上的Android平台应用软件的认证方法和系统 | |
WO2015056008A1 (en) | Method for assigning an agent device from a first device registry to a second device registry | |
JP2004265026A (ja) | アプリケーション認証システムと装置 | |
CN101194229A (zh) | 对数据指令的更新 | |
CN109614769A (zh) | 按照参考平台清单和数据封装的安全操作系统启动 | |
CN107086981A (zh) | 受控安全代码认证 | |
CN102449631A (zh) | 用于执行管理操作的系统和方法 | |
CN101983375A (zh) | 将密码模块绑定到平台 | |
KR20160098756A (ko) | 하드웨어 보안 모듈, 상기 하드웨어 보안 모듈에 저장된 무결성 검증 값을 업데이트하는 방법, 상기 하드웨어 보안 모듈을 이용하여 단말에 저장된 프로그램을 업데이트하는 방법 | |
US11943372B2 (en) | Use right information processing device, use right information processing system, and use right information processing method, based on smart contract | |
US20160277182A1 (en) | Communication system and master apparatus | |
US10365908B2 (en) | Secure reprogramming of smart devices to alter device functionality based on license rights | |
CN115170322B (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 |
Application publication date: 20180313 |
|
WW01 | Invention patent application withdrawn after publication |