CN109937419B - 安全功能强化的设备的初始化方法及设备的固件更新方法 - Google Patents

安全功能强化的设备的初始化方法及设备的固件更新方法 Download PDF

Info

Publication number
CN109937419B
CN109937419B CN201780067610.5A CN201780067610A CN109937419B CN 109937419 B CN109937419 B CN 109937419B CN 201780067610 A CN201780067610 A CN 201780067610A CN 109937419 B CN109937419 B CN 109937419B
Authority
CN
China
Prior art keywords
encrypted
firmware
administrator
image
key
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.)
Active
Application number
CN201780067610.5A
Other languages
English (en)
Other versions
CN109937419A (zh
Inventor
金暻模
朴容官
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.)
Wean Technology Co ltd
Original Assignee
Wean Technology Co ltd
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 Wean Technology Co ltd filed Critical Wean Technology Co ltd
Publication of CN109937419A publication Critical patent/CN109937419A/zh
Application granted granted Critical
Publication of CN109937419B publication Critical patent/CN109937419B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0435Network 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 symmetric encryption, i.e. same key used for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/3273Cryptographic 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 for mutual authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Abstract

由具有权限的管理员(Authorized Manager)管理的设备的初始化方法包括:保持以硬件方式结合于设备的安全模块及加密的固件映像的步骤;加载加密的固件映像的步骤;利用存储于安全模块的管理员的公钥读取加密的固件映像的标头以确认加密的固件映像的完整性(integrity)的步骤;确认到加密的固件映像的完整性的情况下,利用安全模块的私钥解密加密的固件映像中用安全模块的公钥加密的对称钥的步骤;利用解密的对称钥解密加密的固件映像中加密的固件的步骤;以及在设备运行解密的固件的步骤。

Description

安全功能强化的设备的初始化方法及设备的固件更新方法
技术领域
本发明涉及设备安全,更具体来讲涉及能够提高可容易暴露于外部攻击的IoT设备的安全的设备的初始化方法及固件更新方法。
背景技术
电子设备随着逐渐复杂化包括各种信息,由于物联网(Internet of Th ings)等的发展,一个设备与其他设备或用户进行通信时个人信息交换、远程操作等可能会成为安全缺陷。
通常,很多设备包括固件(firmware)之类的硬件化的软件。固件相当于软件与硬件的中间体,可视为将软件硬件化。即,可以说固件是固定度高且为了提高系统的效率而存储于只读内存(ROM)的基本的程序或数据,微电脑的几乎所有程序都存储在只读内存(ROM)中,因此有时指保持程序的只读内存。
固件由于可用软件代替硬件的部分功能,能够非常简单且用少量的费用控制或改善设备功能,因此适用于多种电子设备。
但是固件具有软件特性,因此成为入侵或伪变造对象,为此正在开发验证固件完整性的方法。
与此相关,WO2014/134389号公开了“对平台引导固件的持续信任(Continuationof trust for platform boot firmware)”相关技术。根据亚当斯的发明,设备包括处理模块及存储器模块,存储器模块包括用于存储平台引导固件的ROM,当设备被激活时,处理模块可以加载平台引导固件。
平台引导固件使处理模块加载及验证从平台引导固件加载的散列表签名,并且首先加载可信的程序文件。之后,处理模块从平台引导固件加载其他文件,对各文件计算散列,验证散列表中是否存在对应于各程序文件的散列。可允许具有散列表中的散列的程序文件运行。散列表中不存在对应于加载的程序文件的任何散列的情况下,处理模块可通过执行平台特定安全操作防止设备受损。
而根据亚当斯的发明,一个制造企业制造的设备提供共同的签名,因此可能会发生一个设备暴露的情况下其他设备也暴露的问题,平台引导固件也只是确认一个签名,因此具有安全疏漏的缺陷。
发明内容
技术问题
本发明涉及通过安装以硬件方式安装到设备的安全模块以针对来自外部的入侵确保安全的设备的初始化方法及固件更新方法。
本发明用加密的二进制映像保持设备的固件,每当初始化时用制造企业的加密密钥验证固件的签名且用设备固有的加密密钥对用于加密固件的对称钥解密,利用该对称钥对固件解密的双重或更多重地确保安全的设备初始化方法及固件更新方法。
根据本发明,每个设备保持不同的非对称加密密钥,各设备利用不同的加密密钥对对称钥加密及解密,因此能够使得即使复制不同的设备的固件映像,在其他设备仍无法正常工作的设备初始化方法及固件更新方法。
技术方案
根据用于达成上述本发明的目的的本发明的例示性的一个实施例,由具有权限的管理员(Authorized Manager)管理的设备的初始化方法包括:保持以硬件方式结合于设备的安全模块及加密的固件映像的步骤;加载加密的固件映像的步骤;利用存储于安全模块的管理员的公钥读取加密的固件映像的标头以确认加密的固件映像的完整性(integrity)的步骤;确认到加密的固件映像的完整性的情况下,利用安全模块的私钥解密加密的固件映像中用安全模块的公钥加密的对称钥的步骤;利用解密的对称钥解密加密的固件映像中加密的固件的步骤;以及在设备运行解密的固件的步骤。
本说明书所述的具有权限的管理员(Authorized Manager)是指具有能够驱动设备或更新固件的合法权限的人,可以认为是从设备制造企业或其制造企业授权管理固件等的人员,此外也可以是使用从制造企业购买或供应的设备的人员。本发明旨在防止非具有权限的管理员的第三者入侵设备或用被任意操作的固件运行设备,特征在于用加密的二进制映像存储固件,在初始化的过程或更新固件的过程中也解密用设备固有的加密密钥加密的对称钥,用解密的对称钥解密加密的固件。
设备的固有加密密钥还可以不同于同种的其他设备的,因此即使复制其他设备的固件映像仍无法正常工作,并且由于加密了固件本身,因此还能够防御如逆向工程学进行固件分析。
根据本发明,在初始化的过程中确认完整性的步骤或解密对称钥的步骤中至少任意一个中发生错误的情况下,立即中断设备的初始化以从根源上防止加载变形的固件或分析固件。
无论如何,用于设备的安全模块可以以硬件方式结合于设备。安全模块本身具有防侵入功能,可以是内置的安全芯片、微SD卡或智能卡等形态,内置的安全芯片安装在PCB提供,因此其优点是制造企业以外的第三者无法确认关于安全芯片的信息。
为此,安全模块可包括管理员的公钥及安全模块的私钥,通过正式根提供的设备固件以加密的固件映像形态提供,固件映像可包括通过管理员的私钥加密的签名、通过安全模块的公钥加密的对称钥、通过对称钥加密的固件。
作为参考,即使是同种设备,安全模块也可以分别利用不同的加密密钥,只有制造企业或管理员能够确认安全模块的公钥。因此,为了一个设备而生成的固件映像不能在其他设备正常工作。
在加密的固件映像中加密的签名位于标头,所述标头还可以包括幻数、版本、固件长度及签名长度中的至少一个。
根据用于达成上述本发明的目的的本发明的例示性的其他实施例,利用具有权限的管理员提供的加密的固件更新映像更新设备的方法包括:保持以硬件方式结合于所述设备的安全模块的步骤;存储所述加密的固件更新映像的步骤;加载所述加密的固件更新映像的步骤;利用存储于所述安全模块的所述管理员的公钥读取所述加密的固件更新映像的标头以确认所述加密的固件更新映像的完整性(integrity)的步骤;以及确认到所述加密的固件更新映像的完整性的情况下,将所述加密的固件更新映像复制到存储现有的加密的固件映像的存储部的步骤。
加密的固件更新映像作为加密的固件映像重新存储,可在根据上述初始化方法启动设备时运行。但是即使确认到完整性,但如果无法用设备的私钥对加密的固件映像中对称钥解密便能够中断初始化,由于不解密对称钥,因此能够防止非正常的固件在设备加载。
技术效果
根据本发明的初始化方法及固件更新方法,由于利用以硬件方式安装于设备的安全模块,因此能够针对来自外部的入侵确保安全。
并且,并非直接存储设备固件,而是保持用安全模块的加密密钥加密的二进制映像,因此每当初始化时可用制造企业的加密密钥验证固件的签名,并且用设备固有的加密密钥对用于加密固件的对称钥进行解密且利用该对称钥对固件解密,其结果,能够防止设备加载非正常变形的固件映像,能够用安全模块及管理员的加密密钥双重保护对固件加密的对称钥以确保安全。
并且,根据本发明的初始化方法及固件更新方法,每个设备保持不同的非对称加密密钥,各设备利用不同的私钥对固件映像的签名进行加密及解密,因此能够使得即使复制了其他设备固件映像,在其他设备仍无法正常工作。
附图说明
图1是用于说明本发明的一个实施例的设备的示意图;
图2是用于说明本发明的一个实施例的管理员的网关及设备之间的相互认证过程的示意图;
图3是用于说明本发明的一个实施例的管理员的网关及设备之间的钥交换过程的示意图;
图4是用于说明本发明的一个实施例的加密的固件映像的结构的示意图;
图5是用于说明本发明的一个实施例的设备的初始化方法的示意图;
图6是用于说明本发明的一个实施例的设备固件更新方法的示意图。
具体实施方式
以下参见附图详细说明本发明的优选实施例,但本发明并非局限或限定于实施例。作为参考,本说明中相同的附图标记实质上表示相同的要素,基于上述规则可以引用说明其他附图中记载的内容,并且可以省略认为本领域技术人员是显而易见的或重复的内容。
图1是用于说明本发明的一个实施例的设备的示意图。
参见图1,设备100包括CPU 110、RAM 130、安全模块(MTP)120及保持加密的固件映像的存储部140。其中,设备100是能够通过固件工作的电子设备,可包括一般的电子设备,例如机顶盒、电视、冰箱、路由器、其他控制器等低配置装置,此外还可以包括一般计算装置、智能手机、平板电脑等高配置装置。
存储部140可用于存储固件,在本实施例中固件能够以加密的二进制映像形态存储而并非存储为直接就能运行的运行文件形态,这些可以通过管理员及安全模块固有的加密密钥加密。并且,加密的固件映像在利用存储于安全模块120的加密密钥验证签名且对加密的对称钥解密之前无法执行正常工作。
在本实施例中,设备100与管理员的网关200通过网络300连接,可通过管理员的网关200注册设备或接收固件更新映像。但是,此外设备100还可以与管理员通过其他网络收发必要的信息或数据,可由PC驱动特定应用以接收或存储固件映像或固件更新映像。
在设备100中,安全模块120可作为硬件直接安装在设备100的印刷电路板(PCB)。在本实施例中安全模块120为安全芯片或加密芯片,可包括管理员的公钥及安全模块的私钥,安全模块120可安全地存储其他敏感的数据。
具体来讲,安全芯片形态的安全模块120基本上都具有防侵入功能,作为一例,可使用英飞凌(Infineon)公司的Optiga Trust P产品等。安全模块120可包括认证、安全更新、生成及保管钥、保护存储空间、保障存储空间的完整性、安全驱动(芯片内部的COS用途)、访问控制等功能,此外还可以具有对来自外部的物理攻击、旁路攻击、错误插入等攻击的防御功能。作为硬件的安全模块120可对于固件的伪造、复制或操作上的错误保护嵌入系统。
本实施例中的安全模块120以安装于PCB的安全芯片形态提供,而根据其他实施例,安全模块可以以通用IC卡(UICC)、微SD卡、智能卡等形态提供。
管理员的网关200可以是在现有的一般的网关的功能上增加利用安全模块120等多种防御功能的网关。本实施例的网关200可包括限制使得无法使用未经制造企业或管理员认证或签名的二进制的完整性度量体系/扩展验证模块(IMA/EVMTM:IntegrityMeasurement Architecture,Extended Verification Module)功能,可包括限制使得即使是制造企业或管理员签名的二进制也只能访问事先允许的资源的一种MAC即内核中简单的强制访问控制(SMACKTM:Simple Mandatory Access Control in Kernel)等功能。
其中,管理员的网关200可通过对安装有安全模块120的设备100的认证、通信加密等安全功能保护设备100的身份,提高安全性。
设备注册过程
管理员的网关200在从设备100接收数据之前可通过与设备100的相互认证过程验证对方设备100是不是可注册的装置。如果相互认证失败,网关200可结束会话。
网关200及设备100为了相互验证而需要各对方的公钥。对方的公钥可在生产或安装设备100之前在另外的装置注册过程注册。设备100的公钥可以在网关200的GUI注册,网关200的公钥也可以通过运行mbedTM用初始化运行文件注册到安全模块120。
图2是用于说明本发明的一个实施例的管理员的网关及设备之间的相互认证过程的示意图。
参见图2,网关200及设备100之间的相互认证过程可经过如下步骤。首先,网关200生成NONCE(随机数)并发送到设备100(①)。设备100接收网关200的NONCE后向网关200发送自己的NONCE(②)。
网关200接收设备100的NONCE后与自己的NONCE合起来并用自己的私钥签名后发送到设备100(③)。并且,设备100对来自网关200的签名用网关200的公钥执行验证作业。验证成功的情况下将自己的NONCE值用安全模块120的私钥签名并发送到网关200(④)。
从设备100得到签名后,网关200可验证设备100的签名,若以上过程均已正常执行,之后网关200与设备100成为能够彼此稳定地收发数据的状态。
通信加密
管理员的网关200与设备100为了安全地收发数据而可执行通信加密作业。为此,需要相互交换将用于通信加密的钥的过程。钥交换方面,作为一例可使用钥交换(DH:Diffie-Hellman)算法,为了生成钥而可以适用ECDSA。
图3是用于说明本发明的一个实施例的管理员的网关及设备之间的钥交换过程的示意图。
参见图3,网关200及设备100之间的钥交换过程可经过如下步骤。首先,网关200可以将自己的ECDSA公钥发送到设备100。设备100可用接收的网关200的ECDSA公钥与自己的ECDSA私钥生成用于加密通信的私钥。
并且,设备100可以将自己的ECDSA公钥发送到网关200,网关200可用接收的设备100的ECDSA公钥与自己的ECDSA私钥生成将用于加密通信的私钥。
通过所述钥交换过程由网关200与设备100生成的私钥可相同,用该钥加密对称钥(Symmetric-Key Algorithm)收发数据。
设备初始化
图4是用于说明本发明的一个实施例的加密的固件映像的结构的示意图,图5是用于说明本发明的一个实施例的设备的初始化方法的示意图。
参见图4及图5,设备100包括作为硬件安装的安全模块120及保持加密的固件映像的存储部140(S110)。并且,需要施加电源或启动的情况下,设备100在运行固件之前加载存储于存储部140的特定地址的固件映像(S120)。
设备100利用作为硬件安装的安全模块120确认启动过程中加密的固件映像是否被伪变造,判断结果为正常的情况下对固件解密后正常运行。
固件映像是否发生伪变造可以由启动加载器确认。在对固件(Firmware)加密的状态下以二进制映像形态包括固件映像,具有装有关于固件映像的信息的标头(header)附在映像前的形态。
如图4所示,加密的固件映像包括标头、通过安全模块120的公钥加密的对称钥及通过对称钥加密的固件,固件映像的标头可包括幻数、版本信息、固件长度、签名长度及通过网关200的私钥加密的签名。
其中,幻数是用于判断有无固件映像的值,版本信息是包括固件映像的版本的值,标头的构成或大小可随版本值变更。固件长度可表示除标头以外的固件映像的长度,签名可利用除标头以外的数据的SHA256 ECDSA签名(SHA256 ECDSA Signature)。
加密的对称钥可以是用例如RSA 2048公钥(RSA 2048public key)之类的设备公钥对用于加密固件的例如AES128钥(AES128 key)之类的对称钥加密得到的数据,加密的固件可以是用例如AES128 key之类的对称钥对制造企业或管理员提供的固件加密得到的数据。
启动加载器可通过确认固件映像的标头中的幻数(magic number)确认加密的固件是否存在于闪存(flash)。之后可确认标头的版本。在本实施例中可根据标头的版本变更标头的结构,这样能够灵活应对发生标头需要另外添加变量的情况。
为了确认固件映像的完整性(integrity)而可以验证(verification)ECC(S130)。完整性验证对象为固件映像中除标头之外的其余部分,验证(verification)所需的管理员的ECC公钥可以已经存在于安全模块120。除标头以外的其余部分可包括加密的对称钥及用其加密的固件。
确认到加密的固件映像的完整性的情况下,设备100可利用安全模块120固有的私钥对加密的对称钥解密,可得到用于对固件解密的对称钥,在本实施例中可得到AES128钥(AES128 key)(S140)。用于解密对称钥的算法可以是RSA 2048,用于解密的RSA钥(RSAkey)可以是设备100通过安全模块120自我生成的钥。
用这样得到的对称钥对固件映像中加密的固件解密(S150),并跳转到固件所在的地址执行固件(S160)。在本实施例中对称钥可以是管理员按各设备任意选择的加密密钥,可以已经存储在安全模块120。
如果初始化的过程中未确认到固件映像的完整性或用存储于安全模块120的固有的私钥解密的过程中发生错误的情况下,设备100可中断初始化过程以防止怀疑伪变造的固件在设备100内运行。
固件映像的更新
图6是用于说明本发明的一个实施例的设备固件更新方法的示意图。
参见图6,设备100基本上包括作为硬件的安全模块120(S210)。但固件可根据管理员的提供得以更新,需要更新设备100的固件的情况下,可从管理员接收及存储必要的固件更新映像(S220)。在本实施例中可通过有线或无线网络从管理员接收固件更新映像,固件更新映像比存储器大的情况下,可分割固件更新映像从服务器以碎片形态接收。
一次性接收固件更新映像的情况下存储器可能不足,因此可分割接收固件更新映像。设备100可以以碎片方式接收固件更新映像并存储到闪存的临时空间,接收到所有碎片的情况下,为了确认固件更新映像是否被变造,或为了确认是不是从制造企业或管理员提供的正式固件而加载固件更新映像(S230),为了确认完整性而可读取固件更新映像的标头验证ECC(S240)。
如上所述,固件更新映像也包括标头与本体,标头可包括幻数、版本信息、固件长度、签名长度、加密的签名,本体也可以包括加密的对称钥及加密的固件。
首先,与上述初始化方法一样,设备100确认幻数及版本信息,利用管理员的公钥计算ECC签名并与包含于标头的签名进行比较。用于ECC验证的ECC公钥由服务器提供,应在更新之前已经设置在设备100的安全模块120。
ECC验证结束的情况下,相当于一旦确认了制造企业或管理员提供的固件更新映像在传输过程中未发生变造,因此可以将存储于临时空间的固件更新映像复制到现有的固件映像所在的位置(S250)。
固件加密
为了防止固件的泄露与变造,固件可以以加密的二进制映像形态在管理员与设备之间传输,设备100接收的固件映像或固件更新映像存储到存储部140。
固件的加密可利用AES128算法。将用于AES128的对称钥可以由管理员服务器或网关生成。利用这样生成的对称钥对固件加密的情况下,为了防止对称钥泄露,AES128钥(AES128 key)也可以被加密。
作为一例,AES128钥(AES128 key)的加密方面可使用RSA2048。将用于RSA2048的加密密钥根据设备100的安全模块120生成,管理员可利用设备100发布的公钥加密对固件加密的对称钥AES128钥(AES12 8 key)。
加密的对称钥AES128钥(AES128 key)与加密的固件准备完的情况下,可生成ECC签名构成标头,并将构成的标头、加密的对称钥AES128钥(AES128 key)、加密的固件连接起来生成最终固件映像或固件更新映像。
如上所述,参见本发明的优选实施例进行了说明,但本领域一般技术人员应当理解在不超出技术方案的范围记载的本发明的思想及领域的范围内可对本发明进行多种修正及变更。

Claims (6)

1.一种设备的初始化方法,是由具有权限的管理员管理的设备的初始化方法,包括:
保持以硬件方式结合于所述设备的安全模块的步骤;
所述设备利用从所述管理员接收的所述管理员的公钥和所述安全模块的私钥形成私钥的步骤;
所述管理员利用从所述设备接收的所述安全模块的公钥和所述管理员的私钥形成私钥的步骤;
所述设备保持所述管理员加密的固件映像的步骤;其中所述加密的固件映像包括通过所述管理员的私钥加密的签名、通过所述管理员形成的所述私钥加密的对称钥、通过所述管理员形成的所述对称钥加密的固件;
加载所述加密的固件映像的步骤;
利用存储于所述安全模块的所述管理员的公钥读取所述加密的固件映像的标头以确认所述加密的固件映像的完整性的步骤;
确认到所述加密的固件映像的完整性的情况下,利用所述安全模块的所述私钥解密所述加密的固件映像中所述加密的对称钥的步骤;
利用解密的所述对称钥解密所述加密的固件映像中加密的固件的步骤;以及
在所述设备运行解密的所述固件的步骤。
2.根据权利要求1所述的设备的初始化方法,其特征在于:
确认所述完整性的步骤及解密所述加密的对称钥的步骤中至少任意一个中发生错误的情况下中断所述设备的初始化。
3.根据权利要求1所述的设备的初始化方法,其特征在于:
所述加密的固件映像中所述加密的签名位于所述标头,所述标头还包括幻数、版本、固件长度及签名长度中的至少一个。
4.一种设备的更新方法,是利用具有权限的管理员提供的加密的固件更新映像更新设备的方法,包括:
保持以硬件方式结合于所述设备的安全模块的步骤;
所述设备利用从所述管理员接收的所述管理员的公钥和所述安全模块的私钥形成私钥的步骤;
所述管理员利用从所述设备接收的所述安全模块的公钥和所述管理员的私钥形成私钥的步骤;
所述设备接收所述管理员加密的固件映像的步骤;其中,所述加密的固件映像包括通过所述管理员的私钥加密的签名、通过所述管理员形成的所述私钥加密的对称钥、通过所述对称钥加密的固件;
存储所述加密的固件更新映像的步骤;
加载所述加密的固件更新映像的步骤;
利用存储于所述安全模块的所述管理员的公钥读取所述加密的固件更新映像的标头以确认所述加密的固件更新映像的完整性的步骤;以及
确认到所述加密的固件更新映像的完整性的情况下,将所述加密的固件更新映像复制到存储现有的加密的固件映像的存储部的步骤。
5.根据权利要求4所述的设备的更新方法,其特征在于:
在确认所述完整性的步骤发生错误的情况下中断所述设备的更新。
6.根据权利要求4所述的设备的更新方法,其特征在于:
所述加密的固件更新映像中所述加密的签名位于所述标头,所述标头还包括幻数、版本、固件长度及签名长度中的至少一个。
CN201780067610.5A 2016-09-27 2017-09-20 安全功能强化的设备的初始化方法及设备的固件更新方法 Active CN109937419B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2016-0124174 2016-09-27
KR1020160124174A KR101795457B1 (ko) 2016-09-27 2016-09-27 보안 기능이 강화된 디바이스의 초기화 방법 및 디바이스의 펌웨어 업데이트 방법
PCT/KR2017/010351 WO2018062761A1 (ko) 2016-09-27 2017-09-20 보안 기능이 강화된 디바이스의 초기화 방법 및 디바이스의 펌웨어 업데이트 방법

Publications (2)

Publication Number Publication Date
CN109937419A CN109937419A (zh) 2019-06-25
CN109937419B true CN109937419B (zh) 2023-08-11

Family

ID=60386327

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780067610.5A Active CN109937419B (zh) 2016-09-27 2017-09-20 安全功能强化的设备的初始化方法及设备的固件更新方法

Country Status (4)

Country Link
US (1) US20210012008A1 (zh)
KR (1) KR101795457B1 (zh)
CN (1) CN109937419B (zh)
WO (1) WO2018062761A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3066666B1 (fr) * 2017-05-18 2020-07-03 Cassidian Cybersecurity Sas Procede de securisation d'une communication sans gestion d'etats
KR102049889B1 (ko) * 2018-01-02 2019-11-28 디노플러스 (주) 하드웨어 보안 모듈을 이용한 데이터 위변조 방지장치 및 그 방법
KR101853786B1 (ko) * 2018-01-24 2018-06-08 (주)아이엔아이 Cctv의 펌웨어 검증코드를 검사하는 보안 디바이스 유닛
US11372977B2 (en) * 2018-11-12 2022-06-28 Thirdwayv, Inc. Secure over-the-air firmware upgrade
US11316680B2 (en) * 2019-02-21 2022-04-26 Dell Products, L.P. Protected credentials for roaming biometric login profiles
US11245680B2 (en) * 2019-03-01 2022-02-08 Analog Devices, Inc. Garbled circuit for device authentication
US11470062B2 (en) * 2019-03-22 2022-10-11 Raytheon Technologies Corporation Secure reprogramming of embedded processing system
US20200310776A1 (en) * 2019-03-25 2020-10-01 Micron Technology, Inc. Over-the-air update validation
FR3099607B1 (fr) * 2019-07-30 2021-11-05 Stmicroelectronics Grand Ouest Sas Composant électronique à micrologiciel
US11080039B2 (en) * 2019-11-25 2021-08-03 Micron Technology, Inc. Resilient software updates in secure storage devices
CN111079187B (zh) * 2019-12-23 2022-04-01 恒宝股份有限公司 一种智能卡及其文件管理方法
CN112948838A (zh) * 2021-02-24 2021-06-11 长沙海格北斗信息技术有限公司 芯片加密启动方法、导航芯片及其接收机
CN113343245B (zh) * 2021-05-27 2022-09-30 长沙海格北斗信息技术有限公司 芯片安全启动方法、安全芯片及其接收机
KR102573894B1 (ko) * 2021-08-03 2023-09-01 시큐리티플랫폼 주식회사 플래시 메모리를 이용한 펌웨어 업데이트 공유키 관리 방법 및 이를 실행하기 위한 기록매체에 저장된 컴퓨터 프로그램

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11346210A (ja) * 1998-06-02 1999-12-14 Nippon Telegr & Teleph Corp <Ntt> 暗号化方法及び装置、復号化方法及び装置、暗号化プログラムを記録した記録媒体、復号化プログラムを記録した記録媒体、電子署名方法、並びに電子署名検証方法
KR20030002932A (ko) * 2001-07-02 2003-01-09 한국전자통신연구원 보안모듈 및 그의 이용 방법
KR20080045708A (ko) * 2005-09-14 2008-05-23 쌘디스크 코포레이션 메모리 카드 제어기 펌웨어의 하드웨어 드라이버 무결성체크
CN101398760A (zh) * 2007-09-27 2009-04-01 广达电脑股份有限公司 固件更新系统及其更新方法
CN101989984A (zh) * 2010-08-24 2011-03-23 北京易恒信认证科技有限公司 电子文件安全共享系统及方法
KR20140043126A (ko) * 2011-07-07 2014-04-08 인텔 코오퍼레이션 Bios 플래시 어택 보호 및 통지
KR20150060182A (ko) * 2013-11-26 2015-06-03 한국과학기술정보연구원 라이센스 관리 장치, 라이센스 관리 시스템, 라이센스 관리 방법 및 저장매체

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5116325B2 (ja) * 2007-03-15 2013-01-09 株式会社リコー 情報処理装置、ソフトウェア更新方法及び画像処理装置
US8918907B2 (en) * 2011-04-13 2014-12-23 Phoenix Technologies Ltd. Approaches for firmware to trust an application
US8953796B2 (en) * 2011-06-29 2015-02-10 International Business Machines Corporation Techniques for accessing features of a hardware adapter
US9558354B2 (en) * 2014-11-24 2017-01-31 Dell Products, Lp Method for generating and executing encrypted BIOS firmware and system therefor

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11346210A (ja) * 1998-06-02 1999-12-14 Nippon Telegr & Teleph Corp <Ntt> 暗号化方法及び装置、復号化方法及び装置、暗号化プログラムを記録した記録媒体、復号化プログラムを記録した記録媒体、電子署名方法、並びに電子署名検証方法
KR20030002932A (ko) * 2001-07-02 2003-01-09 한국전자통신연구원 보안모듈 및 그의 이용 방법
KR20080045708A (ko) * 2005-09-14 2008-05-23 쌘디스크 코포레이션 메모리 카드 제어기 펌웨어의 하드웨어 드라이버 무결성체크
CN101398760A (zh) * 2007-09-27 2009-04-01 广达电脑股份有限公司 固件更新系统及其更新方法
CN101989984A (zh) * 2010-08-24 2011-03-23 北京易恒信认证科技有限公司 电子文件安全共享系统及方法
KR20140043126A (ko) * 2011-07-07 2014-04-08 인텔 코오퍼레이션 Bios 플래시 어택 보호 및 통지
KR20150060182A (ko) * 2013-11-26 2015-06-03 한국과학기술정보연구원 라이센스 관리 장치, 라이센스 관리 시스템, 라이센스 관리 방법 및 저장매체

Also Published As

Publication number Publication date
CN109937419A (zh) 2019-06-25
KR101795457B1 (ko) 2017-11-10
WO2018062761A1 (ko) 2018-04-05
US20210012008A1 (en) 2021-01-14

Similar Documents

Publication Publication Date Title
CN109937419B (zh) 安全功能强化的设备的初始化方法及设备的固件更新方法
US10721080B2 (en) Key-attestation-contingent certificate issuance
CN109313690B (zh) 自包含的加密引导策略验证
US8677144B2 (en) Secure software and hardware association technique
CN106537407B (zh) 可信根
JP4912879B2 (ja) プロセッサの保護された資源へのアクセスに対するセキュリティ保護方法
US8789037B2 (en) Compatible trust in a computing device
CA2450844C (en) A method for securing an electronic device, a security system and an electronic device
US8099789B2 (en) Apparatus and method for enabling applications on a security processor
US20070101156A1 (en) Methods and systems for associating an embedded security chip with a computer
CN111324895A (zh) 用于客户端设备的信任服务
JP2007512787A (ja) トラステッド・モバイル・プラットフォーム・アーキテクチャ
CN110326266B (zh) 一种数据处理的方法及装置
CN102165457A (zh) 票券授权的安全安装和引导
US10452565B2 (en) Secure electronic device
KR20150089696A (ko) 접근제어와 우선순위기반 무결성 검증 시스템 및 그 방법
CN116566613A (zh) 使用平台密钥保护与安全处理器的通信
CN117063174A (zh) 用于通过基于app的身份的app间相互信任的安全模块及方法
CN116964580A (zh) 数字设备的可信计算
US20220350586A1 (en) Methods of Distributing Software/Firmware Updates
CN111357003A (zh) 预操作系统环境中的数据保护
EP3907970A1 (en) Electronic device
CN110059489B (zh) 安全电子设备
KR20240006658A (ko) 소프트웨어의 사용을 보안하는 방법
KR20070017455A (ko) 프로세서 내에서의 보호된 리소스들로의 억세스에 대한안전한 보호 방법

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
GR01 Patent grant
GR01 Patent grant