CN117707586A - Bios固件更新方法、装置、计算机设备及介质 - Google Patents
Bios固件更新方法、装置、计算机设备及介质 Download PDFInfo
- Publication number
- CN117707586A CN117707586A CN202311873207.5A CN202311873207A CN117707586A CN 117707586 A CN117707586 A CN 117707586A CN 202311873207 A CN202311873207 A CN 202311873207A CN 117707586 A CN117707586 A CN 117707586A
- Authority
- CN
- China
- Prior art keywords
- data
- trusted
- firmware
- plaintext
- ciphertext
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 215
- 230000015654 memory Effects 0.000 claims description 63
- 238000004364 calculation method Methods 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 23
- 238000012795 verification Methods 0.000 claims description 23
- 238000013507 mapping Methods 0.000 claims description 13
- 238000004806 packaging method and process Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 76
- 238000010586 diagram Methods 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 9
- 238000012423 maintenance Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000001149 cognitive effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 244000282866 Euchlaena mexicana Species 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Classifications
-
- 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
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及计算机技术领域,公开了一种BIOS固件更新方法、装置、计算机设备及介质,包括:向ARM可信固件发送启动成功信号;接收获取BIOS固件的请求;根据请求,加载可信应用;利用可信应用从安全存储空间中获取BIOS固件的密文数据和与BIOS固件对应的密文配置数据;依次对密文数据和密文配置数据分别进行验证和解密,生成明文数据和明文配置数据;将明文数据和明文配置数据发送至ARM可信固件。密文数据和密文配置数据的解密过程是在TEEOS中完成,保证解密过程的安全可信。BIOS固件的密文数据和密文配置数据保存在安全存储空间中,仅TEEOS中的可信应用才可以读写,保证BIOS固件的安全性。
Description
技术领域
本发明涉及计算机技术领域,具体涉及基本输入输出系统(Basic Input OutputSystem,简称BIOS)固件更新方法、装置、计算机设备及介质。
背景技术
在对于BIOS文件加解密实现技术中,通常的做法是在固件烧录的过程中,对数据进行加密,并保存在flash存储芯片中。在机器上电启动过程中使用专有的解密程序和密钥再对加密后的BIOS文件进行解密获得明文BIOS,然后将解密后的BIOS明文加载到内存中,完成BIOS的启动及运行。
相关技术中,通常在烧录过程中需要专有的设备或程序进行烧录,且在批量烧录过程中,为了操作方便,业界常使用的一种方式是使用同一加密密钥对BIOS明文进行批量加密。在BIOS密文保存和解密过程中,通常需要将解密程序和密钥一同烧录在flash中。这样将大大增加密钥泄露的风险。而另一种解密方式则需要使用远程认证的方式获取密钥进行解密,这种方式需要使用网络,增加了被第三方监听的风险。这种技术方案因为使用了专有的设备和装置,在固件升级和更新的过程中,操作较不加密的情况也更加复杂,存在兼容性问题。这些操作流程,通常复杂且安全性不高,存在密钥泄露,网络监听等可攻击点,大大降低了BIOS固件的安全性,增加了数据泄露的可能性。
发明内容
有鉴于此,本发明提供了一种BIOS固件更新方法、装置、计算机设备及介质,用已解决上述BIOS固件的安全性的问题。
第一方面,本发明提供了一种BIOS固件更新方法,该方法应用于ARM平台,ARM平台的存储介质包括安全存储空间和非安全存储空间,该方法由可信的端到端观察系统执行,该方法包括:
向ARM可信固件发送启动成功信号,启动成功信号为可信的端到端观察系统在内存中启动成功后发送的信号;
接收ARM可信固件发送的用于指示获取BIOS固件的请求;
根据请求,加载可信应用;
利用可信应用从安全存储空间中获取BIOS固件的密文数据和与BIOS固件对应的密文配置数据;
依次对密文数据和密文配置数据分别进行验证和解密,生成明文数据和明文配置数据;
将明文数据和明文配置数据发送至ARM可信固件,用以ARM可信固件根据明文数据和明文配置数据完成BIOS固件更新操作。
本发明提供的一种BIOS固件更新方法,具有如下优点:
在系统上电后,当BIOS首次启动时,系统优先加载ARM可信固件(ARM TrustedFirmware,简称ATF)。ATF运行过程中会从普通非安全存储中获取加密后的可信端到端操作系统(Trustworthy End-to-End Observation System,简称TEEOS),利用ATF对TEEOS进行解密并加载到内存中,进而完成TEEOS的启动。TEEOS会像ARM可信固件发送启动成功的信号。然后ARM可信固件会基于TEEOS启动成功的信号,向TEEOS发送用于指示获取BIOS的请求。TEEOS根据请求加载可信应用,并利用可信应用从安全存储空间中获取密文数据和密文配置数据,依次对密文数据和密文配置数据进行解密后,生成明文数据和明文配置数据,发送至ARM可信固件,用以ARM可信固件完成对BIOS固件的更新操作。整个过程中,密文数据和密文配置数据的解密过程是在TEEOS中完成,保证解密过程的安全可信,而且在解密过程中,将存储介质分为安全存储空间和非安全存储空间,BIOS固件的密文数据和密文配置数据都保存在安全存储空间中,且只有TEEOS中的可信应用才可以读写,进一步保证BIOS固件的安全性。而且,该方式还可以防止恶意攻击者通过外部调试接口或者其他方法读取烧录在flash中的固件程序代码及配置文件,大大降低维护成本。而且,操作过程也比较简单。
在一种可选的实施方式中,利用可信应用从安全存储空间中获取BIOS固件的密文数据和与BIOS固件对应的密文配置数据之前,方法还包括:
确定非安全存储空间中是否存在BIOS固件的密文数据和与BIOS固件对应的密文配置数据;
当确定非安全存储空间中存在密文数据和密文配置数据时,从非安全存储空间中获取密文数据和密文配置数据;
并依次对密文数据和密文配置数据分别进行验证和解密,生成明文数据和明文配置数据;
将明文数据和明文配置数据发送至ARM可信固件。
具体的,如果本次BIOS启动并非是首次启动,那么还可以包括BIOS固件的升级过程,因此,在利用可信应用从安全存储空间中获取BIOS固件的密文数据和与BIOS固件对应的密文配置数据之前,该方法还包括确定非安全存储空间中是否存在BIOS固件的密文数据和与BIOS固件对应的密文配置数据;当确定非安全存储空间中存在密文数据和密文配置数据时,则说明是针对BIOS固件的升级过程,因此,可以直接从非安全存储空间中获取密文数据和密文配置数据;并依次对密文数据和密文配置数据分别进行验证和解密,生成明文数据和明文配置数据;将明文数据和明文配置数据发送至ARM可信固件,用以完成对BIOS固件的升级操作。
在一种可选的实施方式中,接收ARM可信固件发送的用于指示获取BIOS固件的请求之前,方法还包括:
接收ARM可信固件发送的调用指令、BIOS固件的明文数据以及明文配置数据,调用指令用以指示调用可信应用;
利用可信应用对明文数据进行分片处理,生成每一个分片数据,以及与每一个分片数据对应的索引;
针对每一个分片数据,随机生成与每一个分片数据对应的秘钥;
将与第一分片数据对应的秘钥和第一分片数据采用预设加密操作方法生成加密数据块,其中,第一分片数据为任一个分片数据;
将所有加密数据块存储在安全存储空间;
基于加密数据块和第一分片数据对应的秘钥,生成标签值;
将加密数据块、每一个分片数据对应的秘钥,以及标签值存储在安全存储空间,并建立三者之间的映射关系表;
并将映射关系表存储在安全存储空间。
具体的,接受ARM可信固件发送的调用指令,BIOS固件的明文数据以及明文配置数据,调用指令用以指示调用可信应用;利用可信应用对明文数据进行分片处理,生成每一个分片数据,以及与每一个分片数据对应的索引。并针对每一个分片数据,随机生成对应的秘钥。将第一分片数据对应的秘钥和第一分片数据采用预设加密操作方法,生成加密数据块,然后将所有加密数据块存储在安全存储空间。而且,为了保证能够顺利查找到每一个数据块并最终合并成完整的数据,还包括基于加密数据块、每一个分片数据对应的秘钥,生成标签值,并将加密数据块、每一个分片数据对应的秘钥,以及标签值存储在安全存储空间,并建立三者之间的映射关系表;以及将映射关系表存储在安全存储空间。
在一种可选的实施方式中,将所有加密数据块存储在安全存储空间之后,方法还包括:
删除保存在非安全存储空间中的BIOS密文数据;
并在删除保存在非安全存储空间中的BIOS密文数据之后,重置操作系统。
具体的,当加密数据块存储在安全存储空间后,则删除非安全存储空间中的BIOS密文,并且重置操作系统。以防止恶意攻击者通过外部调试接口或者其他方法读取烧录在flash中的固件程序内容。
第二方面,本发明提供了一种BIOS固件更新方法,该方法包括:
方法应用于ARM平台,ARM平台的存储介质包括安全存储空间和非安全存储空间,方法由ARM可信固件执行,方法包括:
从非安全存储空间中获取加密后的可信的端到端观察系统;
对可信的端到端观察系统进行解密后加载至内存,并完成可信的端到端观察系统的启动操作,其中,可信的端到端观察系统运行在可信执行环境;
当接收到可信的端到端观察系统的启动成功的信号后,向可信的端到端观察系统发送获取BIOS固件的请求;
接收可信的端到端观察系统反馈的BIOS固件的明文数据,以及与BIOS固件对应的明文配置数据,其中,明文数据和明文配置数据分别为可信的端到端观察系统对BIOS固件的密文数据,以及与BIOS固件对应的密文配置数据进行验证及解密后生成的数据;
根据明文数据和明文配置数据在安全存储空间中完成BIOS固件更新操作。
本发明提供的一种BIOS固件更新方法,具有如下优点:
ATF从非安全存储空间中获取加密后的TEEOS,然后对TEEOS进行解密后加载至内存,并完成对TEEOS的启动操作。当TEEOS启动后,向ATF发送启动成功的信号,ATF接收到该信号后,可以向TEEOS发送获取BIOS固件的请求。接收TEEOS反馈的BIOS固件的明文数据和明文配置数据,并据明文数据和明文配置数据在安全存储空间中完成BIOS固件更新操作。密文数据和密文配置数据的解密过程是在TEEOS中完成,保证解密过程的安全可信,而且在解密过程中,将存储介质分为安全存储空间和非安全存储空间,BIOS固件的密文数据和密文配置数据都保存在安全存储空间中,且只有TEEOS中的可信应用才可以读写,进一步保证BIOS固件的安全性。而且,该方式还可以防止恶意攻击者通过外部调试接口或者其他方法读取烧录在flash中的固件程序代码及配置文件,大大降低维护成本。而且,操作过程也比较简单。
在一种可选的实施方式中,对可信的端到端观察系统进行解密后加载至内存,并完成可信的端到端观察系统的启动操作之前,方法还包括:
获取与可信的端到端观察系统对应的HMAC验证码;
基于HMAC验证码,对可信的端到端观察系统进行验证;
并在验证成功时,对可信的端到端观察系统进行解密后加载至内存,并完成可信的端到端观察系统的启动操作。
第三方面,本发明提供了一种BIOS固件烧录方法,该方法应用于ARM平台,该方法由ARM可信固件执行,该方法包括:
获取可信的端到端观察系统、BIOS固件的明文数据,以及与BIOS固件对应的明文配置数据;
对BIOS固件的明文数据依次进行签名操作、加密操作获取BIOS固件的密文数据;
对BIOS固件执行哈希消息认证计算,获取与BIOS固件对应的第一哈希消息认证码;
以及,对与BIOS固件对应的明文配置数据依次进行签名操作、加密操作,获取密文配置数据;
对配置数据执行哈希消息认证计算,获取与配置数据对应的第二哈希消息认证码;
以及,对可信的端到端观察系统依次进行签名操作、加密操作,获取加密后的可信的端到端观察系统;
对可信的端到端观察系统执行哈希消息认证计算,获取与可信的端到端观察系统对应的第三哈希消息认证码;
将BIOS固件的密文数据、密文配置数据、加密后的可信的端到端观察系统、第一哈希消息认证码、第二哈希消息认证码,以及第三哈希消息认证码进行打包,获取固件包;
将固件包烧录至ARM平台的存储介质中。
本发明提供的一种BIOS固件烧录方法,具有如下优点:
ATF获取到TEEOS、BIOS固件的明文数据,以及明文配置数据后,分别进行签名操作、加密操作,以及哈希消息认知计算等操作,可以加强对上述数据的保密性。而且,将最终生成的固件烧录包存放在ARM平台的存储介质中。其中,烧录方式可以兼容已有的烧录工具,烧录方式与BIOS不加密的流程保持一致。无需专有的设备或者程序进行烧录。而且,即使是批量烧录,也不会导致BIOS明文的解密程序和秘钥等被泄露。进一步保证BIOS固件的安全性。
第四方面,本发明提供了一种BIOS固件更新装置,该装置包括:
发送模块,用于向ARM可信固件发送启动成功信号,启动成功信号为可信的端到端观察系统在内存中启动成功后发送的信号;
接收模块,用于接收ARM可信固件发送的用于指示获取BIOS固件的请求;
加载模块,用于根据请求,加载可信应用;
确定模块,用于根据请求,加载可信应用;
处理模块,用于利用可信应用从安全存储空间中获取BIOS固件的密文数据和与BIOS固件对应的密文配置数据;依次对密文数据和密文配置数据分别进行验证和解密,生成明文数据和明文配置数据;
发送模块,还用于将明文数据和明文配置数据发送至ARM可信固件,用以ARM可信固件根据明文数据和明文配置数据完成BIOS固件更新操作。
本发明提供的一种BIOS固件更新装置,具有如下优点:
在系统上电后,当BIOS首次启动时,系统优先加载ARM可信固件(ARM TrustedFirmware,简称ATF)。ATF运行过程中会从普通非安全存储中获取加密后的可信端到端操作系统(Trustworthy End-to-End Observation System,简称TEEOS),利用ATF对TEEOS进行解密并加载到内存中,进而完成TEEOS的启动。TEEOS会像ARM可信固件发送启动成功的信号。然后ARM可信固件会基于TEEOS启动成功的信号,向TEEOS发送用于指示获取BIOS的请求。TEEOS根据请求加载可信应用,并利用可信应用从安全存储空间中获取密文数据和密文配置数据,依次对密文数据和密文配置数据进行解密后,生成明文数据和明文配置数据,发送至ARM可信固件,用以ARM可信固件完成对BIOS固件的更新操作。整个过程中,密文数据和密文配置数据的解密过程是在TEEOS中完成,保证解密过程的安全可信,而且在解密过程中,将存储介质分为安全存储空间和非安全存储空间,BIOS固件的密文数据和密文配置数据都保存在安全存储空间中,且只有TEEOS中的可信应用才可以读写,进一步保证BIOS固件的安全性。而且,该方式还可以防止恶意攻击者通过外部调试接口或者其他方法读取烧录在flash中的固件程序代码及配置文件,大大降低维护成本。而且,操作过程也比较简单。
第五方面,本发明提供了一种BIOS固件更新装置,该装置包括:
获取模块,用于从非安全存储空间中获取加密后的可信的端到端观察系统;
处理模块,用于对可信的端到端观察系统进行解密后加载至内存,并完成可信的端到端观察系统的启动操作,其中,可信的端到端观察系统运行在可信执行环境;
接收模块,用于接收可信的端到端观察系统的启动成功的信号;
发送模块,用于向可信的端到端观察系统发送获取BIOS固件的请求;
接收模块,还用于接收可信的端到端观察系统反馈的BIOS固件的明文数据,以及与BIOS固件对应的明文配置数据,其中,明文数据和明文配置数据分别为可信的端到端观察系统对BIOS固件的密文数据,以及与BIOS固件对应的密文配置数据进行验证及解密后生成的数据;
更新模块,用于根据明文数据和明文配置数据在安全存储空间中完成BIOS固件更新操作。
本发明提供的一种BIOS固件更新装置,具有如下优点:
ATF从非安全存储空间中获取加密后的TEEOS,然后对TEEOS进行解密后加载至内存,并完成对TEEOS的启动操作。当TEEOS启动后,向ATF发送启动成功的信号,ATF接收到该信号后,可以向TEEOS发送获取BIOS固件的请求。接收TEEOS反馈的BIOS固件的明文数据和明文配置数据,并据明文数据和明文配置数据在安全存储空间中完成BIOS固件更新操作。密文数据和密文配置数据的解密过程是在TEEOS中完成,保证解密过程的安全可信,而且在解密过程中,将存储介质分为安全存储空间和非安全存储空间,BIOS固件的密文数据和密文配置数据都保存在安全存储空间中,且只有TEEOS中的可信应用才可以读写,进一步保证BIOS固件的安全性。而且,该方式还可以防止恶意攻击者通过外部调试接口或者其他方法读取烧录在flash中的固件程序代码及配置文件,大大降低维护成本。而且,操作过程也比较简单。
第五方面,本发明提供了一种BIOS固件烧录装置,该装置包括:
获取模块,用于获取可信的端到端观察系统、BIOS固件的明文数据,以及与BIOS固件对应的明文配置数据;
处理模块,用于对BIOS固件的明文数据依次进行签名操作、加密操作获取BIOS固件的密文数据;对BIOS固件执行哈希消息认证计算,获取与BIOS固件对应的第一哈希消息认证码;以及,对与BIOS固件对应的明文配置数据依次进行签名操作、加密操作,获取密文配置数据;对配置数据执行哈希消息认证计算,获取与配置数据对应的第二哈希消息认证码;以及,对可信的端到端观察系统依次进行签名操作、加密操作,获取加密后的可信的端到端观察系统;对可信的端到端观察系统执行哈希消息认证计算,获取与可信的端到端观察系统对应的第三哈希消息认证码;
打包模块,用于将BIOS固件的密文数据、密文配置数据、加密后的可信的端到端观察系统、第一哈希消息认证码、第二哈希消息认证码,以及第三哈希消息认证码进行打包,获取固件包;
烧录模块,用于将固件包烧录至ARM平台的存储介质中。
本发明提供的一种BIOS固件烧录装置,具有如下优点:
ATF获取到TEEOS、BIOS固件的明文数据,以及明文配置数据后,分别进行签名操作、加密操作,以及哈希消息认知计算等操作,可以加强对上述数据的保密性。而且,将最终生成的固件烧录包存放在ARM平台的存储介质中。其中,烧录方式可以兼容已有的烧录工具,烧录方式与BIOS不加密的流程保持一致。无需专有的设备或者程序进行烧录。而且,即使是批量烧录,也不会导致BIOS明文的解密程序和秘钥等被泄露。进一步保证BIOS固件的安全性。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的BIOS固件更新方法;或者,执行上述第二方面或其对应的任一实施方式的BIOS固件更新方法;或者,执行上述第三方面的实施方式的BIOS固件烧录方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的BIOS固件更新方法;或者,执行上述第二方面或其对应的任一实施方式的BIOS固件更新方法;或者,执行上述第三方面的实施方式的BIOS固件烧录方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的BIOS固件的制作过程示意图;
图2是本发明实施例提供的一种固件烧录方法的方法流程示意图;
图3是本发明提供的对BIOS固件的数据和配置数据进行加密并存储至安全存储空间的方法流程示意图;
图4是本发明提供的对加密秘钥进行加密的结构示意图;
图5是本发明提供的对明文数据进行加密生成加密数据块的结构示意图;
图6是本发明提供的一种ARM平台上BIOS固件加解密的实现方法整体系统架构图;
图7是本发明提供的BIOS运行时的读写流程简易示意图;
图8为本发明提供的一种BIOS固件更新方法流程示意图;
图9是本发明实施例提供的另一种BIOS固件更新方法流程示意图;
图10是本发明实施例提供的另一种BIOS固件烧录方法流程示意图;
图11是根据本发明实施例的一种BIOS固件更新装置结构框图;
图12是根据本发明实施例的另一种BIOS固件更新装置结构框图;
图13是根据本发明实施例的一种BIOS固件烧录装置结构框图;
图14是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着ARM(Advanced RISC Machines)技术的发展,基于ARM架构的服务器或终端设备广泛应用于数据中心和用户环境,为云计算和大数据的发展提供着越来越强大的计算力。而基于ARM架构的服务器或终端设备作为云平台的基础计算单元,承载着基础的业务系统和重要的用户数据,一旦服务器或终端设备的硬件或基础固件被恶意篡改或攻击,服务器中的业务系统和重要数据也将面临被篡改或窃取的风险。
在相关安全防护技术中信任区域TrustZone技术是ARMv7和ARMv8架构的中央处理器(Central Processing Unit,CPU)上的一种硬件设计,目的在于构建一个安全可信的物理隔离环境来抵御外界的各种可能的攻击,并为软件提供了运行时的安全。在TrustZone环境中可安装可信的端到端观察系统(TEEOS)与已有的可信的端到端观察系统(REEOS)并行,并提供安全存储、可信计算、私钥签名、指纹对比、身份验证、授权管理等功能。而基于TrustZone技术的TEEOS,将执行环境分为可信执行环境和非可信执行环境,在可信执行环境中,可以完成程序及数据的安全运行及使用。
在对于BIOS文件加解密实现技术中,通常的做法是在固件烧录的过程中,对数据进行加密,并保存在flash存储芯片中。在机器上电启动过程中使用专有的解密程序和密钥再对加密后的BIOS文件进行解密获得明文BIOS,然后将解密后的BIOS明文加载到内存中,完成BIOS的启动及运行。
相关技术中,通常在烧录过程中需要专有的设备或程序进行烧录,且在批量烧录过程中,为了操作方便,业界常使用的一种方式是使用同一加密密钥对BIOS明文进行批量加密。在BIOS密文保存和解密过程中,通常需要将解密程序和密钥一同烧录在flash中。这样将大大增加密钥泄露的风险。而另一种解密方式则需要使用远程认证的方式获取密钥进行解密,这种方式需要使用网络,增加了被第三方监听的风险。这种技术方案因为使用了专有的设备和装置,在固件升级和更新的过程中,操作较不加密的情况也更加复杂,存在兼容性问题。这些操作流程,通常复杂且安全性不高,存在密钥泄露,网络监听等可攻击点,大大降低了BIOS固件的安全性,增加了数据泄露的可能性。
为解决上述问题,本发明实施例,提供了一种BIOS固件更新实施例,需要说明的是,在附图的流程图示出的步骤可以在包括诸如一组计算机可执行指令的计算机系统(计算机设备)中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种BIOS固件更新方法,可用于上述的终端机设备,如手机、平板电脑等,该方法应用于ARM平台,ARM平台的存储介质包括安全存储空间和非安全存储空间,该方法步骤由TEEOS执行。在ARM中,将执行环境分为可信执行环境和非可信执行环境,可信执行环境也就是TrustZone提供的环境,可在此环境中运行操作系统等软件,称为可信操作系统,而TEEOS正是运行在可信执行环境中的操作系统,例如可信执行环境操作系统(Open Portable Trusted Execution Environment Operating System,简称OPTEE-OS),其属于一种TEEOS的实现。其中,TrustZone,为ARM架构CPU设计的一种硬件架构,目的在于构建一个安全框架来抵御各种可能的攻击,提供了运行时安全,在TrustZone中可安装可信执行环境操作系统(TEEOS),提供可信存储、可信计算、私钥签名、指纹对比、身份验证、授权管理等功能。在介绍该方法流程之前,首先说明ARM平台在本申请实施例中所涉及的系统架构,该系统架构中包括TEEOS和ATF。在介绍BIOS固件更新方法的流程之前,事先说明一下BIOS固件的制作过程。具体参见图1所示,图1示意出BIOS固件的制作过程。
具体参见如下方法步骤,首先一般ATF由厂商提供(bl31部分),其中,ATF是ARM官方提供的底层固件,该固件统一了ARM底层接口标准,不同厂商可根据芯片特性自定义接口实现ATF的代码,在整个固件中也被称为BL31。主要包含ATF加解密模块和厂商提供的公钥PUK,在固件制作过程中通过ATF程序提供的加解密模块使用厂商的私钥对编译好的TEEOS、BIOS的明文数据,以及与BIOS对应的明文配置数据进行加密。具体的加密方法参见图2所示,图2示意出一种固件烧录方法的方法流程,该方法由ARM平台中的ARM可信固件执行,包括如下方法步骤:
步骤S201,获取可信的端到端观察系统、BIOS固件的明文数据,以及与BIOS固件对应的明文配置数据。
步骤S202,对BIOS固件的明文数据依次进行签名操作、加密操作获取BIOS固件的密文数据。
具体的,签名操作和加密操作均可以采用目前已有的技术实现,这里不在过多赘述。
步骤S203,对BIOS固件执行哈希消息认证计算,获取与BIOS固件对应的第一哈希消息认证码。
具体的,对BIOS固件执行哈希消息认证(Hash-based Message AuthenticationCode,简称HMAC)计算,获取与BIOS固件对应的第一HMAC码的过程可以采用目前已有的技术实现,这里不在赘述。后续针对BIOS固件对应的明文配置数据签名、加密,以及执行HMAC计算,以及针对TEEOS的签名、加密以及HMAC计算等的实现原理同步骤S201和步骤S202,区别的地方可能是采用的签名方法、加密方式等有所不同,但是都可以通过目前已有的技术实现,因此这里不在过多赘述。
步骤S204,对与BIOS固件对应的明文配置数据依次进行签名操作、加密操作,获取密文配置数据。
步骤S205,对配置数据执行哈希消息认证计算,获取与配置数据对应的第二哈希消息认证码。
步骤S206,对可信的端到端观察系统依次进行签名操作、加密操作,获取加密后的可信的端到端观察系统。
步骤S207,对可信的端到端观察系统执行哈希消息认证计算,获取与可信的端到端观察系统对应的第三哈希消息认证码。
步骤S208,将BIOS固件的密文数据、密文配置数据、加密后的可信的端到端观察系统、第一哈希消息认证码、第二哈希消息认证码,以及第三哈希消息认证码进行打包,获取固件包。
步骤S209,将固件包烧录至ARM平台的存储介质中。
具体的,将固件包烧录至ARM平台的存储介质中的非安全存储空间中。
其中,图1中示意出ATF中的加解密模块利用私钥分别对TEEOS和BIOS执行图2所介绍的方法步骤,进而完成固件制作过程。图1中的BIOS中包括明文数据和明文配置数据。具体的制作过程因为已经在前文中做了具体的介绍,因此这里不在过多赘述。
下面,先首先整体介绍BIOS固件更新方法的流程交互示意图,该交互过程中包括TEEOS和ATF直接的交互。
首先,包括步骤1,ATF从非安全存储空间中获取加密后的TEEOS。
具体的,如前述步骤所介绍的,固件包烧录完成后,将存储在ARM平台的非安全存储空间中。因此,在机器上电启动后,ATF首先启动。并从非安全存储空间中获取加密后的TEEOS。
步骤2,对TEEOS进行解密后加载至内存,并完成TEEOS的启动操作。
在一个可选的实施方式中,ATF在对TEEOS进行解密之前,如前文所介绍的,如果在加密后已经对加密后的TEEOS进行了HMAC计算,那么在进行解密时,首先就需要完成HMAC验证。当验证成功后,在对TEEOS进行解密。具体解密时,需要通过ATF中加解密模块使用PUK对密文进行解密。当解密成功后,ATF加解密模块对签名进行验证,验证成功后,获取TEEOS明文,并加载到内存,运行TEEOS,也即是完成TEEOS的启动操作。
进一步的,考虑到烧录后,BIOS文件(BIOS的明文数据和明文配置数据)都是以密文的方式存储在非安全存储空间中。因此,在第一次启动的时候,还需要完成对BIOS文件的解密操作和二次加密操作。
具体参见图3所示,包括如下方法步骤:
1)、ATF首先从flash的非安全存储空间中获取BIOS固件的密文数据及密文配置数据。
2)、ATF的加解密模块对密文数据和密文配置数据分别进行HMAC校验。
3)当HMAC验证成功后,ATF对密文数据和密文配置数据依次进行解密及签名验证,获取明文数据和明文配置数据。
4)解密完成后,ATF会向TEEOS发送调用指令、BIOS固件的明文数据以及明文配置数据,其中,该调用指令用以调用TEEOS的TA。
5)、TEEOS利用TA对明文数据进行分片处理,生成每一个分片数据,以及与每一个分片数据对应的索引。
具体的,考虑到明文数据量比较大的情况下,可以对明文数据进行分片处理,然后生成与每一个分片数据对应的索引,方便后续合成一个完整的明文数据。
6)、针对每一个分片数据,随机生成与每一个分片数据对应的秘钥。
7)、将与第一分片数据对应的秘钥和第一分片数据采用预设加密操作方法生成加密数据块。
其中,第一分片数据为任一个分片数据。
8)、将所有加密数据块存储在安全存储空间。
9)、基于加密数据块和第一分片数据对应的秘钥,生成标签值。
具体的,在生成与每一个分片数据对应的加密秘钥(Fixed Encryption Key,简称FEK)之后,保险起见,该方法还可以包括随机生成一个加密算法中的块初始化向量(BlockInitialization Vector,简称Block_IV),用于增加加密过程的随机性。Block_IV是一个随机生成的固定长度的数据块,在每次加密操作时都会与明文数据进行异或运算,以增加加密的安全性。Block_IV的作用是防止相同的明文被加密成相同的密文,从而增加密码算法的强度。在进行加密操作时,可以将Block IV+Block data使用FEK进行GCM(Galois/Counter Mode)模式的高级加密标准(Advanced Encryption Standard,简称AES)加密操作生成tag和加密数据块,其中,此过程不局限于AES密码算法,支持同类型的其他密码学算法。而标签则为基于加密Block IV+Block data时生成的tag值。
可选的,在对数据进行加密后,还可以包括对秘钥进行加密。其中,可以使用可信安全秘钥(Trustworthy Secure Key,简称TSK)对FEK进行加密,将加密后的密钥enc_FEK保存在安全存储空间,其加密算法支持包括国密算法、AES在内的多种密码学算法。TSK的生成是由物理厂商的硬件和固定的软件信息根据密码学算法生成,其中的硬件信息包括CPU上的物理唯一标识Chip_ID,物理设备唯一标识,也即是主机唯一秘钥(Host Unique Key,简称HUK),TEEOS中的加解密TA的通用唯一识别码(Universally Unique Identifier,简称UUID)等信息,TSK是在每次TEEOS启动时生成固定值,并由TEEOS进行使用。
具体参见图4所示,图4中示意出对加密秘钥进行加密的结构示意图。
10)、将加密数据块、每一个分片数据对应的秘钥,以及标签值存储在安全存储空间,并建立三者之间的映射关系表。
11)、并将映射关系表存储在安全存储空间。
具体的,将加密数据块、每一个|加密数据块对应的秘钥、标签等存储在安全存储空间,并建立三者之间的映射关系表,就是为了能够得到一个完整的BIOS密文数据。
具体参见图5所示,图5中示意出对明文数据进行加密生成加密数据块的结构示意图。
实际上,除了需要将BIOS明文数据按照上述方式加密后存放在安全存储空间外,对于配置数据同样需要存放在安全存储空间。具体采用类似上述方式执行二次加密后再存放,还是直接存放可以根据实际情况设定,这里不在赘述。
在一个可选的实施方式中,将所有加密数据块存储在安全存储空间之后,该方法还包括:
删除保存在非安全存储空间中的BIOS密文数据;
并在删除保存在非安全存储空间中的BIOS密文数据之后,重置操作系统。
类似的道理,如果BIOS密文配置数据也存储在安全存储空间后,同样可以删除非安全存储空间中的BIOS配置数据。并在删除后,重启操作系统。当然,可以在重启操作系统之前,事先完成对非安全存储空间中的BIOS密文数据和密文配置数据。
步骤3,TEEOS在启动成功后,向ATF发送启动成功信号。
步骤4,当ATF接收到可信的端到端观察系统的启动成功的信号后,向可信的端到端观察系统发送获取BIOS固件的请求。
具体的,当ATF接收到TEEOS发送的启动成功的信号后,会向TEEOS发送请求获取BIOS固件的请求的信号。
步骤5,TEEOS接收ARM可信固件发送的用于指示获取BIOS固件的请求。
步骤6,TEEOS根据请求,加载可信应用。
步骤7,TEEOS利用可信应用从安全存储空间中获取BIOS固件的密文数据和与BIOS固件对应的密文配置数据。
具体的,如前文所介绍的,经过二次加密后的BIOS固件的密文数据和密文配置数据存放在安全存储空间中,因此TEEOS需要利用TA从安全存储空间中获取与请求对应的所有数据。
步骤8,TEEOS依次对密文数据和密文配置数据分别进行验证和解密,生成明文数据和明文配置数据。
具体的,对明文数据和密文配置数据分别进行验证和解密等可以参见前文中所介绍的HMAC验证和解密等操作,其中,在进行解密之前,可能还需要对加密秘钥enc FEK进行解密,具体的解密过程也即前文中针对FEK加密的逆过程。最终根据FEK对经过验证后的密文数据和密文配置数据进行解密,生成明文数据和明文配置数据。
具体的,解密过程包括:
1)、TEEOS通过设备硬件信息获取TSK;
2)查找block索引,并查找到存储block的密文数据块;
3)获取密文数据块中的加密的FEK,即enc_FEK;
5)通过TSK,解密enc_FEK,获取FEK;
6)通过FEK及block密文数据块中的内容获取分片数据block data;
7)TA根据block data及索引整合获取BIOS明文数据;
步骤9,TEEOS将明文数据和明文配置数据发送至ATF。
其中,如果配置数据没有进行分片处理情况下,直接解密获取。
在一个可选的实施方式中,如果本次系统启动并非为首次启动。那么,可能本次ATF获取BIOS的请求是为了升级BIOS。因此,利用可信应用从安全存储空间中获取BIOS固件的密文数据和与BIOS固件对应的密文配置数据之前,该方法还包括:
确定非安全存储空间中是否存在BIOS固件的密文数据和与BIOS固件对应的密文配置数据;
当确定非安全存储空间中存在密文数据和密文配置数据时,从非安全存储空间中获取密文数据和密文配置数据;
并依次对密文数据和密文配置数据分别进行验证和解密,生成明文数据和明文配置数据;
将明文数据和明文配置数据发送至ARM可信固件。
也即是,此时可能BIOS固件的密文数据和密文配置数据还没有进行二次加密,还没有存储至安全存储空间,而是临时存储在非安全存储空间,因此可以直接在非安全存储空间读取密文数据和密文配置数据。
如果普通非安全存储中存在BIOS固件的密文数据和密文加密数据时,该方法还可以包括:提示用户是否继续执行,如果否,则中断启动,如果是则需要重复执行类似第一次启动时的操作,并由TEEOS完成对BIOS固件文件(包括数据和配置数据)的加密存储等一系列操作。
当然,如果非安全存储空间中没有BIOS固件文件,则需要查看是否在安全存储中能够找到相应的文件;如果能够找到对应文件,则TEEOS会调用TA对对应文件进行处理,前文已经介绍的过程获得明文数据和明文配置数据,并将明文数据和明文配置数据发送给ATF;
步骤10,ATF接收可信的端到端观察系统反馈的BIOS固件的明文数据,以及与BIOS固件对应的明文配置数据。
步骤11,ATF根据明文数据和明文配置数据在安全存储空间中完成BIOS固件更新操作。
在一个可选的实施方式中,ATF在接收到TEEOS反馈的BIOS固件的明文数据和明文配置数据后,还可以包括:
使用BIOS签名及HMAC再次进行校验,验证通过后,加载到特定内存中并启动BIOS,并完成BIOS固件的更新操作。
需要说明的是,对于通过烧录Flash或通过BMC进行的固件升级的数据跟新,其固件包的制作和更新方式兼容现有的技术方案;
在加解密过程中,对TEEOS加密的BIOS文件和BIOS配置数据通过TEEOS加解密TA创建了不同的索引,因此在更新BIOS的时候,不影响BIOS原有的配置数据。
图6则介绍了一种ARM平台上BIOS固件加解密的实现方法整体系统架构图,参见图6所示,同上类似,整体流程均已在前文做了详细介绍,因此这里不再赘述。
图7介绍了BIOS运行时的读写流程简易示意图,具体参加图7所示,包括:
1.第一次bios启动,bios运行时初始化配置数据,并将数据发送给TEEOS的加解密TA;
2.加解密TA会对配置数据加密并签名,然后保存在配置中安全存储空间中,加密方法参见前述介绍,这里不在赘述。
3.当下次启动时,BIOS运行时首先请求TEEOS的加解密TA获取BIOS配置数据;
4.TEEOS的加解密TA从安全存储在中找到配置文件,解密验签后返回给BIOS运行时;
5.BIOS运行时获取明文配置文件后,根据配置数据继续运行BIOS。
如图8所示,图8为本发明提供的一种BIOS固件更新方法,可用于上述的终端机设备,如手机、平板电脑等,该方法应用于ARM平台,ARM平台的存储介质包括安全存储空间和非安全存储空间,该方法步骤由TEEOS执行。该方法流程包括如下步骤:
步骤S801,向ARM可信固件发送启动成功信号。
其中,启动成功信号为可信的端到端观察系统在内存中启动成功后发送的信号。
具体的,在系统上电后,当BIOS首次启动时,系统优先加载ATF。ATF运行过程中会从普通非安全存储中获取加密后的TEEOS,利用ATF对TEEOS进行解密并加载到内存中,进而完成TEEOS的启动。TEEOS会像ARM可信固件发送启动成功的信号,用以告知ATF,TEEOS自身已经启动完成。
步骤S802,接收ARM可信固件发送的用于指示获取BIOS固件的请求。
具体的,当ATF接收到TEEOS发送的启动成功的信号后,会向TEEOS发送请求获取BIOS固件的请求的信号。
步骤S803,根据请求,加载可信应用。
具体的,TEEOS可以根据ATF发送的请求,加载运行在TEEOS中的可信应用(TrustAppliation,简称TA)。
步骤S804,利用可信应用从安全存储空间中获取BIOS固件的密文数据和与BIOS固件对应的密文配置数据。
步骤S805,依次对密文数据和密文配置数据分别进行验证和解密,生成明文数据和明文配置数据。
具体的,TEEOS会利用TA从安全存储空间中获取密文数据和密文配置数据。然后,分别对密文数据进行验证和解密,生成明文数据,以及对密文配置数据进行解密和验证,获取明文配置数据。
步骤S806,将明文数据和明文配置数据发送至ARM可信固件。
具体的,将明文数据和明文配置数据发送至ATF后,可以方便ATF根据BIOS固件的明文数据和明文配置数据,完成对BIOS固件的更新操作。
本实施例提供的BIOS固件更新方法,在系统上电后,当BIOS首次启动时,系统优先加载ARM可信固件(ARM Trusted Firmware,简称ATF)。ATF运行过程中会从普通非安全存储中获取加密后的可信端到端操作系统(Trustworthy End-to-End Observation System,简称TEEOS),利用ATF对TEEOS进行解密并加载到内存中,进而完成TEEOS的启动。TEEOS会像ARM可信固件发送启动成功的信号。然后ARM可信固件会基于TEEOS启动成功的信号,向TEEOS发送用于指示获取BIOS的请求。TEEOS根据请求加载可信应用,并利用可信应用从安全存储空间中获取密文数据和密文配置数据,依次对密文数据和密文配置数据进行解密后,生成明文数据和明文配置数据,发送至ARM可信固件,用以ARM可信固件完成对BIOS固件的更新操作。整个过程中,密文数据和密文配置数据的解密过程是在TEEOS中完成,保证解密过程的安全可信,而且在解密过程中,将存储介质分为安全存储空间和非安全存储空间,BIOS固件的密文数据和密文配置数据都保存在安全存储空间中,且只有TEEOS中的可信应用才可以读写,进一步保证BIOS固件的安全性。而且,该方式还可以防止恶意攻击者通过外部调试接口或者其他方法读取烧录在flash中的固件程序代码及配置文件,大大降低维护成本。而且,操作过程也比较简单。
在一个可选的实施方式中,利用可信应用从安全存储空间中获取BIOS固件的密文数据和与BIOS固件对应的密文配置数据之前,该方法还包括:
确定非安全存储空间中是否存在BIOS固件的密文数据和与BIOS固件对应的密文配置数据;
当确定非安全存储空间中存在密文数据和密文配置数据时,从非安全存储空间中获取密文数据和密文配置数据;
并依次对密文数据和密文配置数据分别进行验证和解密,生成明文数据和明文配置数据;
将明文数据和明文配置数据发送至ARM可信固件。
在一个可选的实施方式中,接收ARM可信固件发送的用于指示获取BIOS固件的请求之前,该方法还包括:
接收ARM可信固件发送的调用指令、BIOS固件的明文数据以及明文配置数据,调用指令用以指示调用可信应用;
利用可信应用对明文数据进行分片处理,生成每一个分片数据,以及与每一个分片数据对应的索引;
针对每一个分片数据,随机生成与每一个分片数据对应的秘钥;
将与第一分片数据对应的秘钥和第一分片数据采用预设加密操作方法生成加密数据块,其中,第一分片数据为任一个分片数据;
将所有加密数据块存储在安全存储空间;
基于加密数据块和第一分片数据对应的秘钥,生成标签值;
将加密数据块、每一个分片数据对应的秘钥,以及标签值存储在安全存储空间,并建立三者之间的映射关系表;
并将映射关系表存储在安全存储空间。
在一个可选的实施方式中,将所有加密数据块存储在安全存储空间之后,方法还包括:
删除保存在非安全存储空间中的BIOS密文数据;
并在删除保存在非安全存储空间中的BIOS密文数据之后,重置操作系统。
在本实施例中提供了一种BIOS固件更新方法,可用于上述的移动终端,如手机、平板电脑等,图9是本发明实施例提供的另一种BIOS固件更新方法流程示意图,如图9所示,该方法应用于ARM平台,ARM平台的存储介质包括安全存储空间和非安全存储空间,该方法由ARM可信固件执行,改方法包括:
步骤S901,从非安全存储空间中获取加密后的可信的端到端观察系统。
步骤S902,对可信的端到端观察系统进行解密后加载至内存,并完成可信的端到端观察系统的启动操作。
其中,可信的端到端观察系统运行在可信执行环境。
步骤S903,当接收到可信的端到端观察系统的启动成功的信号后,向可信的端到端观察系统发送获取BIOS固件的请求。
步骤S904,接收可信的端到端观察系统反馈的BIOS固件的明文数据,以及与BIOS固件对应的明文配置数据。
其中,明文数据和明文配置数据分别为可信的端到端观察系统对BIOS固件的密文数据,以及与BIOS固件对应的密文配置数据进行验证及解密后生成的数据。
步骤S905,根据明文数据和明文配置数据在安全存储空间中完成BIOS固件更新操作。
本实施例提供的一种BIOS固件更新方法,ATF从非安全存储空间中获取加密后的TEEOS,然后对TEEOS进行解密后加载至内存,并完成对TEEOS的启动操作。当TEEOS启动后,向ATF发送启动成功的信号,ATF接收到该信号后,可以向TEEOS发送获取BIOS固件的请求。接收TEEOS反馈的BIOS固件的明文数据和明文配置数据,并据明文数据和明文配置数据在安全存储空间中完成BIOS固件更新操作。密文数据和密文配置数据的解密过程是在TEEOS中完成,保证解密过程的安全可信,而且在解密过程中,将存储介质分为安全存储空间和非安全存储空间,BIOS固件的密文数据和密文配置数据都保存在安全存储空间中,且只有TEEOS中的可信应用才可以读写,进一步保证BIOS固件的安全性。而且,该方式还可以防止恶意攻击者通过外部调试接口或者其他方法读取烧录在flash中的固件程序代码及配置文件,大大降低维护成本。而且,操作过程也比较简单。
在一个可选的实施方式中,对可信的端到端观察系统进行解密后加载至内存,并完成可信的端到端观察系统的启动操作之前,方法还包括:
获取与可信的端到端观察系统对应的HMAC验证码;
基于HMAC验证码,对可信的端到端观察系统进行验证;
并在验证成功时,对可信的端到端观察系统进行解密后加载至内存,并完成可信的端到端观察系统的启动操作。
在本实施例中提供了一种BIOS固件烧录方法,可用于上述的移动终端,如手机、平板电脑等,图10是本发明实施例提供的一种BIOS固件烧录方法流程示意图,该方法应用于ARM平台,方法由ARM可信固件执行,该方法包括:
步骤S1001,获取可信的端到端观察系统、BIOS固件的明文数据,以及与BIOS固件对应的明文配置数据。
步骤S1002,对BIOS固件的明文数据依次进行签名操作、加密操作获取BIOS固件的密文数据。
步骤S1003,对BIOS固件执行哈希消息认证计算,获取与BIOS固件对应的第一哈希消息认证码。
步骤S1004,对与BIOS固件对应的明文配置数据依次进行签名操作、加密操作,获取密文配置数据。
步骤S1005,对配置数据执行哈希消息认证计算,获取与配置数据对应的第二哈希消息认证码。
步骤S1006,对可信的端到端观察系统依次进行签名操作、加密操作,获取加密后的可信的端到端观察系统。
步骤S1007,对可信的端到端观察系统执行哈希消息认证计算,获取与可信的端到端观察系统对应的第三哈希消息认证码。
步骤S1008,将BIOS固件的密文数据、密文配置数据、加密后的可信的端到端观察系统、第一哈希消息认证码、第二哈希消息认证码,以及第三哈希消息认证码进行打包,获取固件包。
步骤S1009,将固件包烧录至ARM平台的存储介质中。
本实施例提供的一种BIOS固件烧录方法,ATF获取到TEEOS、BIOS固件的明文数据,以及明文配置数据后,分别进行签名操作、加密操作,以及哈希消息认知计算等操作,可以加强对上述数据的保密性。而且,将最终生成的固件烧录包存放在ARM平台的存储介质中。其中,烧录方式可以兼容已有的烧录工具,烧录方式与BIOS不加密的流程保持一致。无需专有的设备或者程序进行烧录。而且,即使是批量烧录,也不会导致BIOS明文的解密程序和秘钥等被泄露。进一步保证BIOS固件的安全性。
以上图8至图10方法实施例及其优先实施方式中的具体实施过程因为已经在本申请实施例的具体实施方式的开头部分做了详细介绍,因此这里不再过多赘述。
在本实施例中还提供了一种BIOS固件更新装置,具体参见11所示,该装置用于实现上述图8实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种BIOS固件更新装置,包括:发送模块1101、接收模块1102、加载模块1103、确定模块1104,以及处理模块1105;
发送模块1101,用于向ARM可信固件发送启动成功信号,启动成功信号为可信的端到端观察系统在内存中启动成功后发送的信号;
接收模块1102,用于接收ARM可信固件发送的用于指示获取BIOS固件的请求;
加载模块1103,用于根据请求,加载可信应用;
确定模块1104,用于根据请求,加载可信应用;
处理模块1105,用于利用可信应用从安全存储空间中获取密文数据和密文配置数据;依次对密文数据和密文配置数据分别进行验证和解密,生成明文数据和明文配置数据;
发送模块1101,还用于将明文数据和明文配置数据发送至ARM可信固件,用以ARM可信固件根据明文数据和明文配置数据完成BIOS固件更新操作。
在一种可选的实施方式中,处理模块1105,还用于确定非安全存储空间中是否存在BIOS固件的密文数据和与BIOS固件对应的密文配置数据;
当确定非安全存储空间中存在密文数据和密文配置数据时,从非安全存储空间中获取密文数据和密文配置数据;
并依次对密文数据和密文配置数据分别进行验证和解密,生成明文数据和明文配置数据;
将明文数据和明文配置数据发送至ARM可信固件。
在一种可选的实施方式中,接收模块1102,还用于接收ARM可信固件发送的调用指令、BIOS固件的明文数据以及明文配置数据,调用指令用以指示调用可信应用;
处理模块1105,还用于利用可信应用对明文数据进行分片处理,生成每一个分片数据,以及与每一个分片数据对应的索引;针对每一个分片数据,随机生成与每一个分片数据对应的秘钥;将与第一分片数据对应的秘钥和第一分片数据采用预设加密操作方法生成加密数据块,其中,第一分片数据为任一个分片数据;将所有加密数据块存储在安全存储空间;基于加密数据块和第一分片数据对应的秘钥,生成标签值;将加密数据块、每一个分片数据对应的秘钥,以及标签值存储在安全存储空间,并建立三者之间的映射关系表;并将映射关系表存储在安全存储空间。
在一种可选的实施方式中,处理模块1105,还用于删除保存在非安全存储空间中的BIOS密文数据;
并在删除保存在非安全存储空间中的BIOS密文数据之后,重置操作系统。
本实施例中的BIOS固件更新装置是以功能模块的形式来呈现,这里的模块是指专用集成电路(Application Specific Integrated Circuit,简称ASIC),执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本发明实施例提供的一种BIOS固件更新装置,在系统上电后,当BIOS首次启动时,系统优先加载ARM可信固件(ARM Trusted Firmware,简称ATF)。ATF运行过程中会从普通非安全存储中获取加密后的可信端到端操作系统(Trustworthy End-to-End ObservationSystem,简称TEEOS),利用ATF对TEEOS进行解密并加载到内存中,进而完成TEEOS的启动。TEEOS会像ARM可信固件发送启动成功的信号。然后ARM可信固件会基于TEEOS启动成功的信号,向TEEOS发送用于指示获取BIOS的请求。TEEOS根据请求加载可信应用,并利用可信应用从安全存储空间中获取密文数据和密文配置数据,依次对密文数据和密文配置数据进行解密后,生成明文数据和明文配置数据,发送至ARM可信固件,用以ARM可信固件完成对BIOS固件的更新操作。整个过程中,密文数据和密文配置数据的解密过程是在TEEOS中完成,保证解密过程的安全可信,而且在解密过程中,将存储介质分为安全存储空间和非安全存储空间,BIOS固件的密文数据和密文配置数据都保存在安全存储空间中,且只有TEEOS中的可信应用才可以读写,进一步保证BIOS固件的安全性。而且,该方式还可以防止恶意攻击者通过外部调试接口或者其他方法读取烧录在flash中的固件程序代码及配置文件,大大降低维护成本。而且,操作过程也比较简单。
在本实施例中还提供了一种BIOS固件更新装置,具体参见12所示,该装置用于实现上述图9实施例及优选实施方式,如图12示,包括:获取模块1201、处理模块1202、接收模块1203、发送模块1204,以及更新模块1205。
获取模块1201,用于从非安全存储空间中获取加密后的可信的端到端观察系统;
处理模块1202,用于对可信的端到端观察系统进行解密后加载至内存,并完成可信的端到端观察系统的启动操作,其中,可信的端到端观察系统运行在可信执行环境;
接收模块1203,用于接收可信的端到端观察系统的启动成功的信号;
发送模块1204,用于向可信的端到端观察系统发送获取BIOS固件的请求;
接收模块1203,还用于接收可信的端到端观察系统反馈的BIOS固件的明文数据,以及与BIOS固件对应的明文配置数据,其中,明文数据和明文配置数据分别为可信的端到端观察系统对BIOS固件的密文数据,以及与BIOS固件对应的密文配置数据进行验证及解密后生成的数据;
更新模块1205,用于根据明文数据和明文配置数据在安全存储空间中完成BIOS固件更新操作。
在一种可选的实施方式中,该装置还包括:验证模块1206;
获取模块1201,还用于获取与可信的端到端观察系统对应的HMAC验证码;
基于HMAC验证码,对可信的端到端观察系统进行验证;
处理模块1202,用于在验证成功时,对可信的端到端观察系统进行解密后加载至内存,并完成可信的端到端观察系统的启动操作。
本实施例中的BIOS固件更新装置是以功能模块的形式来呈现,这里的模块是指专用集成电路(Application Specific Integrated Circuit,简称ASIC),执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本发明实施例提供的一种BIOS固件更新装置,ATF从非安全存储空间中获取加密后的TEEOS,然后对TEEOS进行解密后加载至内存,并完成对TEEOS的启动操作。当TEEOS启动后,向ATF发送启动成功的信号,ATF接收到该信号后,可以向TEEOS发送获取BIOS固件的请求。接收TEEOS反馈的BIOS固件的明文数据和明文配置数据,并据明文数据和明文配置数据在安全存储空间中完成BIOS固件更新操作。密文数据和密文配置数据的解密过程是在TEEOS中完成,保证解密过程的安全可信,而且在解密过程中,将存储介质分为安全存储空间和非安全存储空间,BIOS固件的密文数据和密文配置数据都保存在安全存储空间中,且只有TEEOS中的可信应用才可以读写,进一步保证BIOS固件的安全性。而且,该方式还可以防止恶意攻击者通过外部调试接口或者其他方法读取烧录在flash中的固件程序代码及配置文件,大大降低维护成本。而且,操作过程也比较简单。
在本实施例中还提供了一种BIOS固件烧录装置,具体参见13所示,该装置用于实现上述图10实施例及优选实施方式,如图13示,包括:获取模块1301、处理模块1302、打包模块1303,以及烧录模块1304;
获取模块1301,用于获取可信的端到端观察系统、BIOS固件的明文数据,以及与BIOS固件对应的明文配置数据;
处理模块1302,用于对BIOS固件的明文数据依次进行签名操作、加密操作获取BIOS固件的密文数据;对BIOS固件执行哈希消息认证计算,获取与BIOS固件对应的第一哈希消息认证码;以及,对与BIOS固件对应的明文配置数据依次进行签名操作、加密操作,获取密文配置数据;对配置数据执行哈希消息认证计算,获取与配置数据对应的第二哈希消息认证码;以及,对可信的端到端观察系统依次进行签名操作、加密操作,获取加密后的可信的端到端观察系统;对可信的端到端观察系统执行哈希消息认证计算,获取与可信的端到端观察系统对应的第三哈希消息认证码;
打包模块1303,用于将BIOS固件的密文数据、密文配置数据、加密后的可信的端到端观察系统、第一哈希消息认证码、第二哈希消息认证码,以及第三哈希消息认证码进行打包,获取固件包;
烧录模块1304,用于将固件包烧录至ARM平台的存储介质中。
本实施例中的BIOS固件烧录装置是以功能模块的形式来呈现,这里的模块是指专用集成电路(Application Specific Integrated Circuit,简称ASIC),执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本发明实施例提供的一种BIOS固件烧录装置,ATF获取到TEEOS、BIOS固件的明文数据,以及明文配置数据后,分别进行签名操作、加密操作,以及哈希消息认知计算等操作,可以加强对上述数据的保密性。而且,将最终生成的固件烧录包存放在ARM平台的存储介质中。其中,烧录方式可以兼容已有的烧录工具,烧录方式与BIOS不加密的流程保持一致。无需专有的设备或者程序进行烧录。而且,即使是批量烧录,也不会导致BIOS明文的解密程序和秘钥等被泄露。进一步保证BIOS固件的安全性。
本发明实施例还提供一种计算机设备,具有上述图11所示的BIOS固件更新装置、图12所示的BIOS固件更新装置,以及图13所示的BIOS固件更新烧录。
请参阅图14,图14是本发明可选实施例提供的一种计算机设备的结构示意图,如图14所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图14中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,存储器20存储有可由至少一个处理器10执行的指令,以使至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据一种小程序落地页的展现的计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括输入装置30和输出装置40。处理器10、存储器20、输入装置30和输出装置40可以通过总线或者其他方式连接,图14中以通过总线连接为例。
输入装置30可接收输入的数字或字符信息,以及产生与该计算机设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等。输出装置40可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。上述显示设备包括但不限于液晶显示器,发光二极管,显示器和等离子体显示器。在一些可选的实施方式中,显示设备可以是触摸屏。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (12)
1.一种BIOS固件更新方法,其特征在于,所述方法应用于ARM平台,所述ARM平台的存储介质包括安全存储空间和非安全存储空间,所述方法由可信的端到端观察系统执行,所述方法包括:
向ARM可信固件发送启动成功信号,所述启动成功信号为所述可信的端到端观察系统在内存中启动成功后发送的信号;
接收所述ARM可信固件发送的用于指示获取BIOS固件的请求;
根据所述请求,加载可信应用;
利用所述可信应用从安全存储空间中获取所述BIOS固件的密文数据和与所述BIOS固件对应的密文配置数据;
依次对所述密文数据和所述密文配置数据分别进行验证和解密,生成明文数据和明文配置数据;
将所述明文数据和明文配置数据发送至所述ARM可信固件,用以所述ARM可信固件根据所述明文数据和所述明文配置数据完成所述BIOS固件更新操作。
2.根据权利要求1所述的方法,其特征在于,所述利用所述可信应用从安全存储空间中获取所述BIOS固件的密文数据和与所述BIOS固件对应的密文配置数据之前,所述方法还包括:
确定所述非安全存储空间中是否存在BIOS固件的密文数据和与所述BIOS固件对应的密文配置数据;
当确定所述非安全存储空间中存在所述密文数据和所述密文配置数据时,从所述非安全存储空间中获取所述密文数据和所述密文配置数据;
并依次对所述密文数据和所述密文配置数据分别进行验证和解密,生成所述明文数据和所述明文配置数据;
将所述明文数据和明文配置数据发送至所述ARM可信固件。
3.根据权利要求1或2所述的方法,其特征在于,所述接收所述ARM可信固件发送的用于指示获取BIOS固件的请求之前,所述方法还包括:
接收所述ARM可信固件发送的调用指令、BIOS固件的明文数据以及所述明文配置数据,所述调用指令用以指示调用所述可信应用;
利用所述可信应用对所述明文数据进行分片处理,生成每一个分片数据,以及与每一个所述分片数据对应的索引;
针对每一个分片数据,随机生成与每一个所述分片数据对应的秘钥;
将与第一分片数据对应的秘钥和所述第一分片数据采用预设加密操作方法生成加密数据块,其中,所述第一分片数据为任一个分片数据;
将所有加密数据块存储在所述安全存储空间;
基于所述加密数据块和所述第一分片数据对应的秘钥,生成标签值;
将所述加密数据块、每一个分片数据对应的秘钥,以及所述标签值存储在所述安全存储空间,并建立三者之间的映射关系表;
并将所述映射关系表存储在所述安全存储空间。
4.根据权利要求3所述的方法,其特征在于,所述将所有加密数据块存储在所述安全存储空间之后,所述方法还包括:
删除保存在非安全存储空间中的BIOS密文数据;
并在删除保存在非安全存储空间中的BIOS密文数据之后,重置操作系统。
5.一种BIOS固件更新方法,其特征在于,所述方法应用于ARM平台,所述ARM平台的存储介质包括安全存储空间和非安全存储空间,所述方法由ARM可信固件执行,所述方法包括:
从所述非安全存储空间中获取加密后的可信的端到端观察系统;
对所述可信的端到端观察系统进行解密后加载至内存,并完成所述可信的端到端观察系统的启动操作,其中,所述可信的端到端观察系统运行在可信执行环境;
当接收到所述可信的端到端观察系统的启动成功的信号后,向所述可信的端到端观察系统发送获取BIOS固件的请求;
接收所述可信的端到端观察系统反馈的所述BIOS固件的明文数据,以及与所述BIOS固件对应的明文配置数据,其中,所述明文数据和所述明文配置数据分别为所述可信的端到端观察系统对所述BIOS固件的密文数据,以及与所述BIOS固件对应的密文配置数据进行验证及解密后生成的数据;
根据所述明文数据和所述明文配置数据在所述安全存储空间中完成所述BIOS固件更新操作。
6.根据权利要求5所述的方法,其特征在于,所述对所述可信的端到端观察系统进行解密后加载至内存,并完成所述可信的端到端观察系统的启动操作之前,所述方法还包括:
获取与所述可信的端到端观察系统对应的HMAC验证码;
基于所述HMAC验证码,对所述可信的端到端观察系统进行验证;
并在验证成功时,对所述可信的端到端观察系统进行解密后加载至内存,并完成所述可信的端到端观察系统的启动操作。
7.一种固件烧录方法,其特征在于,所述方法应用于ARM平台,所述方法由ARM可信固件执行,所述方法包括:
获取可信的端到端观察系统、BIOS固件的明文数据,以及与所述BIOS固件对应的明文配置数据;
对所述BIOS固件的明文数据依次进行签名操作、加密操作获取所述BIOS固件的密文数据;
对所述BIOS固件执行哈希消息认证计算,获取与所述BIOS固件对应的第一哈希消息认证码;
以及,对与所述BIOS固件对应的明文配置数据依次进行签名操作、加密操作,获取密文配置数据;
对所述配置数据执行哈希消息认证计算,获取与所述配置数据对应的第二哈希消息认证码;
以及,对所述可信的端到端观察系统依次进行签名操作、加密操作,获取加密后的可信的端到端观察系统;
对所述可信的端到端观察系统执行哈希消息认证计算,获取与所述可信的端到端观察系统对应的第三哈希消息认证码;
将所述BIOS固件的密文数据、所述密文配置数据、所述加密后的可信的端到端观察系统、所述第一哈希消息认证码、所述第二哈希消息认证码,以及所述第三哈希消息认证码进行打包,获取固件包;
将所述固件包烧录至所述ARM平台的存储介质中。
8.一种BIOS固件更新装置,其特征在于,所述装置包括:
发送模块,用于向ARM可信固件发送启动成功信号,所述启动成功信号为可信的端到端观察系统在内存中启动成功后发送的信号;
接收模块,用于接收所述ARM可信固件发送的用于指示获取BIOS固件的请求;
加载模块,用于根据所述请求,加载可信应用;
确定模块,用于根据所述请求,加载可信应用;
处理模块,用于利用所述可信应用从安全存储空间中获取所述BIOS固件的密文数据和与所述BIOS固件对应的密文配置数据;依次对所述密文数据和所述密文配置数据分别进行验证和解密,生成明文数据和明文配置数据;
所述发送模块,还用于将所述明文数据和明文配置数据发送至所述ARM可信固件,用以所述ARM可信固件根据所述明文数据和所述明文配置数据完成所述BIOS固件更新操作。
9.一种BIOS固件更新装置,其特征在于,所述装置包括:
获取模块,用于从非安全存储空间中获取加密后的可信的端到端观察系统;
处理模块,用于对所述可信的端到端观察系统进行解密后加载至内存,并完成所述可信的端到端观察系统的启动操作,其中,所述可信的端到端观察系统运行在可信执行环境;
接收模块,用于接收所述可信的端到端观察系统的启动成功的信号;
发送模块,用于向所述可信的端到端观察系统发送获取BIOS固件的请求;
所述接收模块,还用于接收所述可信的端到端观察系统反馈的所述BIOS固件的明文数据,以及与所述BIOS固件对应的明文配置数据,其中,所述明文数据和所述明文配置数据分别为所述可信的端到端观察系统对所述BIOS固件的密文数据,以及与所述BIOS固件对应的密文配置数据进行验证及解密后生成的数据;
更新模块,用于根据所述明文数据和所述明文配置数据在所述安全存储空间中完成所述BIOS固件更新操作。
10.一种固件烧录装置,其特征在于,所述装置包括:
获取模块,用于获取可信的端到端观察系统、BIOS固件的明文数据,以及与所述BIOS固件对应的明文配置数据;
处理模块,用于对所述BIOS固件的明文数据依次进行签名操作、加密操作获取所述BIOS固件的密文数据;对所述BIOS固件执行哈希消息认证计算,获取与所述BIOS固件对应的第一哈希消息认证码;以及,对与所述BIOS固件对应的明文配置数据依次进行签名操作、加密操作,获取密文配置数据;对所述配置数据执行哈希消息认证计算,获取与所述配置数据对应的第二哈希消息认证码;以及,对所述可信的端到端观察系统依次进行签名操作、加密操作,获取加密后的可信的端到端观察系统;对所述可信的端到端观察系统执行哈希消息认证计算,获取与所述可信的端到端观察系统对应的第三哈希消息认证码;
打包模块,用于将所述BIOS固件的密文数据、所述密文配置数据、所述加密后的可信的端到端观察系统、所述第一哈希消息认证码、所述第二哈希消息认证码,以及所述第三哈希消息认证码进行打包,获取固件包;
烧录模块,用于将所述固件包烧录至ARM平台的存储介质中。
11.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至4中任一项所述的BIOS固件更新方法,或者,执行权利要求5或6所述的BIOS固件更新方法,或者,执行权利要求7所述的固件烧录方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至4中任一项所述的BIOS固件更新方法,或者,执行权利要求5或6所述的BIOS固件更新方法,或者,执行权利要求7所述的固件烧录方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311873207.5A CN117707586A (zh) | 2023-12-29 | 2023-12-29 | Bios固件更新方法、装置、计算机设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311873207.5A CN117707586A (zh) | 2023-12-29 | 2023-12-29 | Bios固件更新方法、装置、计算机设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117707586A true CN117707586A (zh) | 2024-03-15 |
Family
ID=90151658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311873207.5A Pending CN117707586A (zh) | 2023-12-29 | 2023-12-29 | Bios固件更新方法、装置、计算机设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117707586A (zh) |
-
2023
- 2023-12-29 CN CN202311873207.5A patent/CN117707586A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10931451B2 (en) | Securely recovering a computing device | |
EP3458999B1 (en) | Self-contained cryptographic boot policy validation | |
EP3387813B1 (en) | Mobile device having trusted execution environment | |
TWI489315B (zh) | 用於電子裝置之暫時安全開機流程之系統與方法 | |
US8230412B2 (en) | Compatible trust in a computing device | |
TWI598814B (zh) | 用於管理及診斷配備有統一可延伸韌體介面(uefi)相容韌體的計算裝置之系統與方法 | |
US8254568B2 (en) | Secure booting a computing device | |
KR102157560B1 (ko) | 전자 디바이스의 무결성을 검증하기 위한 시스템 및 방법 | |
US8291480B2 (en) | Trusting an unverified code image in a computing device | |
CN111666564B (zh) | 应用程序安全启动方法、装置、计算机设备和存储介质 | |
US7457960B2 (en) | Programmable processor supporting secure mode | |
CN103946856B (zh) | 加解密处理方法、装置和设备 | |
US20200026882A1 (en) | Methods and systems for activating measurement based on a trusted card | |
US20140289535A1 (en) | Cryptographic System and Methodology for Securing Software Cryptography | |
CN105389513A (zh) | 一种虚拟可信平台模块vTPM的可信执行方法和装置 | |
CN112052446B (zh) | 密码单元创建方法、数据处理方法、装置及电子设备 | |
CN111400771A (zh) | 目标分区的校验方法及装置、存储介质、计算机设备 | |
CN110674525A (zh) | 一种电子设备及其文件处理方法 | |
CN100334519C (zh) | 建立可信输入输出通道的方法 | |
CN110858246B (zh) | 安全代码空间的认证方法和系统、及其注册方法 | |
CN120077380A (zh) | 执行密码操作的设备和方法 | |
US9135449B2 (en) | Apparatus and method for managing USIM data using mobile trusted module | |
CN117707586A (zh) | Bios固件更新方法、装置、计算机设备及介质 | |
CN112000935A (zh) | 远程认证方法、装置、系统、存储介质及计算机设备 | |
CN118445835B (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 |