一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

使用安全集成电路来更新固件的电子装置及其操作方法与流程

2022-05-08 10:43:38 来源:中国专利 TAG:


1.各种实施例涉及一种用于通过使用电子装置中的安全集成电路来更新固件的设备和方法。


背景技术:

2.通过信息和通信技术以及半导体技术的发展,各种类型的电子装置已经发展成为提供各种多媒体服务的多媒体装置。例如,多媒体服务可以包括语音呼叫服务、消息服务、广播服务、无线互联网服务、相机服务、电子支付服务或音乐回放服务中的至少一种。
3.随着通过电子装置提供的服务变得更加多样化,存储在电子装置中的个人信息的数量正在增加。例如,存储在电子装置中的个人信息可以包括需要安全配置的信息(诸如支付信息)以及与证书和凭证相关的信息。


技术实现要素:

4.技术问题
5.由于各种类型的攻击,存储在电子装置中的个人信息可能泄露到外部。例如,各种类型的攻击可以包括内部攻击。例如,内部攻击可以包括这样的攻击方法,其中,当包括个人信息发布功能的二进制在没有用户同意的情况下被签下有效签名密钥并且被安装在电子装置中(好像该二进制是正常二进制)时,存储在电子装置中的个人信息被包括在该二进制中的个人信息发布功能泄露到外部。
6.内部攻击可能由于错误代码或恶意代码(诸如个人信息发布功能) 发生,其中,具有与个人信息相关的权限的内部人员将这些代码包括在正常二进制中并且发布于正常二进制中。因此,电子装置需要一种方法,该方法用于防止通过更新来自不可靠来源的固件引起的内部攻击,而不让用户意识到该攻击。
7.各种实施例提供了一种用于通过使用电子装置中的安全集成电路更新固件的设备和方法。
8.问题的解决方案
9.根据各种实施例,电子装置可以包括:提供通用执行环境和安全执行环境的安全集成电路(ic),其中该安全集成电路包括在通用执行环境中操作的主处理器和在安全执行环境中操作的安全处理器,并且其中安全处理器配置成:基于通过主处理器从服务器接收的固件更新信息,执行用户认证;如果用户认证成功,则生成对应于固件更新信息的认证信息;将认证信息存储在安全存储器的至少一部分中;如果安装了固件,则基于存储在安全存储器中的认证信息执行固件的认证;并且如果固件认证成功,则安装固件。
10.根据各种实施例,电子装置的操作方法可以包括:在包括在通用执行环境中操作的主处理器和在安全执行环境中操作的安全处理器的安全集成电路(ic)中,基于通过主处理器从服务器接收的固件更新信息,由安全处理器执行用户认证;如果用户认证成功,则生成对应于固件更新信息的认证信息;将认证信息存储在安全存储器的至少一部分中;如果
安装了对应的固件,则基于存储在安全存储器中的认证信息执行固件的认证;并且如果固件认证成功,则安装固件。
11.在进行以下“具体实施方式”之前,阐述贯穿本专利文献所使用的某些单词和短语的定义可能是有利的:术语“包括”和其派生词意指包括但不限于;术语“或”是包括性的,意指和/或;短语“与

相关联”和“与其相关联”以及其派生词可以意指包括、包括于

内、与

互连、包含、包含在

内、连接到或与

连接、联接到或与

联接、能够与

通信、与

合作、交错、并列、接近于、绑定到或与

绑定、具有、具有

的性质等;且术语“控制器”意指控制至少一个操作的任何装置、系统或其一部分,此装置可以用硬件、固件或软件或者其中至少两个的某些组合来实施。应当注意,与任何特定控制器相关联的功能可以是集中式的或分布式的,无论是本地的还是远程的。
12.此外,下文所描述的各种功能可以由一个或更多计算机程序实现或支持,每个计算机程序由计算机可读程序代码形成并体现于计算机可读介质中。术语“应用”和“程序”是指适于以合适的计算机可读程序代码实现的一个或更多计算机程序、软件部件、指令集、规程、功能、对象、类、实例、相关数据或其一部分。短语“计算机可读程序代码”包括任何类型的计算机代码,包括源代码、目标代码和可执行代码。短语“计算机可读介质”包括能由计算机存取的任何类型的介质,诸如只读存储器(rom)、随机存取存储器(ram)、硬盘驱动器、光盘(cd)、数字视频光盘(dvd)或任何其它类型的存储器。“非暂时性”计算机可读介质排除了传输瞬时电信号或其它信号的有线、无线、光或其它通信链路。非暂时性计算机可读介质包括能永久存储数据的介质,以及能存储数据并随后重写数据的介质,诸如可重写光盘或可擦除存储器装置。
13.贯穿本专利文献提供了对某些字词和短语的定义,本领域普通技术人员应理解,在许多情况中(如果不是大多数情况),此类定义适用于如此定义的字词和短语的以前以及将来的使用。
14.发明的有益效果
15.根据各种实施例,如果电子装置通过使用安全集成电路成功进行了与固件相关的更新信息的用户认证,则电子装置可以生成认证信息并将生成的认证信息存储在安全存储器中,并且基于存储在安全存储器中的认证信息在更新固件的时间点来更新固件。因此,电子装置可以安全且有效地更新固件。
附图说明
16.为更全面地理解本公开及其优点,现参考结合附图的以下描述,在附图中相同的附图标记表示相同的部分:
17.图1示出根据各种实施例的网络环境中的电子装置的框图;
18.图2示出根据各种实施例的用于更新固件的电子装置的框图;
19.图3示出根据各种实施例的用于更新固件的电子装置的框图;
20.图4示出根据各种实施例的用于更新固件的电子装置的框图;
21.图5示出根据各种实施例的用于更新固件的电子装置的框图;
22.图6示出根据各种实施例的用于在电子装置中更新固件的流程图;
23.图7示出根据各种实施例的用于在电子装置中执行更新信息的用户认证的流程
图;
24.图8a示出根据各种实施例的用于用户认证的屏幕配置;
25.图8b示出根据各种实施例的用于配置固件更新条件的屏幕配置;
26.图9示出根据各种实施例的用于在电子装置中基于认证信息更新固件的流程图;
27.图10a示出根据各种实施例的包括固件下载状态信息的屏幕配置;
28.图10b示出根据各种实施例的用于确定是否安装固件的屏幕配置;以及
29.图10c示出根据各种实施例的包括固件更新限制信息的屏幕配置。
具体实施方式
30.下文所讨论的图1至图10c以及本专利文献中的用于描述本公开的原理的各种实施例仅仅是为了举例说明,而不应以任何方式解释为限制本公开的范围。本领域技术人员将理解,本公开的原理可以在任何适当布置的系统或装置中实现。
31.在下文中,将参考附图详细描述本公开的各种实施例。
32.图1是示出根据各种实施例的网络环境100中的电子装置101的框图。参照图1,网络环境100中的电子装置101可经由第一网络198(例如,短距离无线通信网络)与电子装置102进行通信,或者经由第二网络199(例如,长距离无线通信网络)与电子装置104或服务器108进行通信。根据实施例,电子装置101可经由服务器108与电子装置104进行通信。根据实施例,电子装置101可包括处理器120、存储器130、输入装置150、声音输出装置155、显示装置160、音频模块170、传感器模块176、接口177、触觉模块179、相机模块180、电力管理模块188、电池189、通信模块190、用户识别模块(sim)196或天线模块197。在一些实施例中,可从电子装置101中省略所述部件中的至少一个(例如,显示装置160或相机模块180),或者可将一个或更多其它部件添加到电子装置101中。在一些实施例中,可将所述部件中的一些部件实现为单个集成电路。例如,可将传感器模块176(例如,指纹传感器、虹膜传感器、或照度传感器)实现为嵌入在显示装置160(例如,显示器)中。
33.处理器120可运行例如软件(例如,程序140)来控制电子装置101 的与处理器120连接的至少一个其它部件(例如,硬件部件或软件部件),并可执行各种数据处理或计算。根据一个实施例,作为所述数据处理或计算的至少部分,处理器120可将从另一部件(例如,传感器模块176 或通信模块190)接收到的命令或数据加载到易失性存储器132中,对存储在易失性存储器132中的命令或数据进行处理,并将结果数据存储在非易失性存储器134中。根据实施例,处理器120可包括主处理器121 (例如,中央处理器(cpu)或应用处理器(ap))以及与主处理器121 在操作上独立的或者相结合的辅助处理器123(例如,图形处理单元 (gpu)、图像信号处理器(isp)、传感器中枢处理器或通信处理器(cp))。另外地或者可选择地,辅助处理器123可被适配为比主处理器121耗电更少,或者被适配为具体用于指定的功能。可将辅助处理器123实现为与主处理器121分离,或者实现为主处理器121的部分。
34.在主处理器121处于未激活(例如,睡眠)状态时,辅助处理器123 可控制与电子装置101(而非主处理器121)的部件之中的至少一个部件 (例如,显示装置160、传感器模块176或通信模块190)相关的功能或状态中的至少一些,或者在主处理器121处于激活状态(例如,运行应用)时,辅助处理器123可与主处理器121一起来控制与电子装置101 的部件之中的至少一个部件(例如,显示装置160、传感器模块176或通信模块190)相关的功能或状
态中的至少一些。根据实施例,可将辅助处理器123(例如,图像信号处理器或通信处理器)实现为在功能上与辅助处理器123相关的另一部件(例如,相机模块180或通信模块190)的部分。
35.存储器130可存储由电子装置101的至少一个部件(例如,处理器 120或传感器模块176)使用的各种数据。所述各种数据可包括例如软件 (例如,程序140)以及针对与其相关的命令的输入数据或输出数据。存储器130可包括易失性存储器132或非易失性存储器134。
36.可将程序140作为软件存储在存储器130中,并且程序140可包括例如操作系统(os)142、中间件144或应用146。
37.输入装置150可从电子装置101的外部(例如,用户)接收将由电子装置101的其它部件(例如,处理器120)使用的命令或数据。输入装置150可包括例如麦克风、鼠标、键盘或数码笔(例如,触控笔)。
38.声音输出装置155可将声音信号输出到电子装置101的外部。声音输出装置155可包括例如扬声器或接收器。扬声器可用于诸如播放多媒体或播放唱片的通用目的,接收器可用于呼入呼叫。根据实施例,可将接收器实现为与扬声器分离,或实现为扬声器的部分。
39.显示装置160可向电子装置101的外部(例如,用户)视觉地提供信息。显示装置160可包括例如显示器、全息装置或投影仪以及用于控制显示器、全息装置和投影仪中的相应一个的控制电路。根据实施例,显示装置160可包括被适配为检测触摸的触摸电路或被适配为测量由触摸引起的力的强度的传感器电路(例如,压力传感器)。
40.音频模块170可将声音转换为电信号,反之亦可。根据实施例,音频模块170可经由输入装置150获得声音,或者经由声音输出装置155 或与电子装置101直接(例如,有线地)连接或无线连接的外部电子装置(例如,电子装置102)的耳机输出声音。
41.传感器模块176可检测电子装置101的操作状态(例如,功率或温度)或电子装置101外部的环境状态(例如,用户的状态),然后产生与检测到的状态相应的电信号或数据值。根据实施例,传感器模块176可包括例如手势传感器、陀螺仪传感器、大气压力传感器、磁性传感器、加速度传感器、握持传感器、接近传感器、颜色传感器、红外(ir)传感器、生物特征传感器、温度传感器、湿度传感器或照度传感器。
42.接口177可支持将用来使电子装置101与外部电子装置(例如,电子装置102)直接(例如,有线地)或无线连接的一个或更多特定协议。根据实施例,接口177可包括例如高清晰度多媒体接口(hdmi)、通用串行总线(usb)接口、安全数字(sd)卡接口或音频接口。
43.连接端178可包括连接器,其中,电子装置101可经由所述连接器与外部电子装置(例如,电子装置102)物理连接。根据实施例,连接端178可包括例如hdmi连接器、usb连接器、sd卡连接器或音频连接器 (例如,耳机连接器)。
44.触觉模块179可将电信号转换为可被用户经由他的触觉或动觉识别的机械刺激(例如,振动或运动)或电刺激。根据实施例,触觉模块179 可包括例如电机、压电元件或电刺激器。
45.相机模块180可捕获静止图像或运动图像。根据实施例,相机模块 180可包括一个或更多透镜、图像传感器、图像信号处理器或闪光灯。电力管理模块188可管理对电子装置101的供电。根据实施例,可将电力管理模块188实现为例如电力管理集成电路(pmic)的至
少部分。
46.电池189可对电子装置101的至少一个部件供电。根据实施例,电池189可包括例如不可再充电的原电池、可再充电的蓄电池、或燃料电池。
47.通信模块190可支持在电子装置101与外部电子装置(例如,电子装置102、电子装置104或服务器108)之间建立直接(例如,有线)通信信道或无线通信信道,并经由建立的通信信道执行通信。通信模块190 可包括能够与处理器120(例如,应用处理器(ap))独立操作的一个或更多通信处理器,并支持直接(例如,有线)通信或无线通信。根据实施例,通信模块190可包括无线通信模块192(例如,蜂窝通信模块、短距离无线通信模块或全球导航卫星系统(gnss)通信模块)或有线通信模块194(例如,局域网(lan)通信模块或电力线通信(plc)模块)。这些通信模块中的相应一个可经由第一网络198(例如,短距离通信网络,诸如蓝牙、无线保真(wi-fi)直连或红外数据协会(irda))或第二网络199(例如,长距离通信网络,诸如蜂窝网络、互联网、或计算机网络 (例如,lan或广域网(wan)))与外部电子装置进行通信。可将这些各种类型的通信模块实现为单个部件(例如,单个芯片),或可将这些各种类型的通信模块实现为彼此分离的多个部件(例如,多个芯片)。无线通信模块192可以使用存储在订户识别模块196中的订户信息(例如,国际移动订户身份(imsi))来识别并认证通信网络(诸如第一网络198 或第二网络199)中的电子装置101。
48.天线模块197可将信号或电力发送到电子装置101的外部(例如,外部电子装置)或者从电子装置101的外部(例如,外部电子装置)接收信号或电力。根据一个实施例,天线模块197可以包括一个天线,该天线包括由形成在衬底(例如,pcb)中或上的导电材料或导电图案组成的辐射元件。根据一个实施例,天线模块197可以包括多个天线。在这种情况下,可以例如由通信模块190(例如,无线通信模块192)从多个天线选择适合于通信网络(诸如第一网络198或第二网络199)中所使用的通信方案的至少一个天线。然后经由选定的至少一个天线,在通信模块190与外部电子装置之间传输或接收信号或电力。根据一个实施例,除了辐射元件之外的另一部件(例如,射频集成电路(rfic))可以另外形成为天线模块197的一部分。
49.上述部件中的至少一些可经由外设间通信方案(例如,总线、通用输入输出(gpio)、串行外设接口(spi)或移动工业处理器接口(mipi)) 相互连接并在它们之间通信地传送信号(例如,命令或数据)。
50.根据实施例,可经由与第二网络199连接的服务器108在电子装置 101和外部电子装置104之间发送或接收命令或数据。电子装置102和电子装置104中的每一个可以是与电子装置101相同类型的装置,或者是与电子装置101不同类型的装置。根据实施例,将在电子装置101运行的全部操作或一些操作可在外部电子装置102、外部电子装置104或服务器108中的一个或更多运行。例如,如果电子装置101应该自动执行功能或服务或者应该响应于来自用户或另一装置的请求执行功能或服务,则电子装置101可请求所述一个或更多外部电子装置执行所述功能或服务中的至少部分,而不是运行所述功能或服务,或者电子装置101除了运行所述功能或服务以外,还可请求所述一个或更多外部电子装置执行所述功能或服务中的至少部分。接收到所述请求的所述一个或更多外部电子装置可执行所述功能或服务中的所请求的所述至少部分,或者执行与所述请求相关的另外功能或另外服务,并将执行的结果传送到电子装置101。电子装置101可在对所述结果进行进一步处理的情况下或者在
不对所述结果进行进一步处理的情况下将所述结果提供作为对所述请求的至少部分答复。为此,可使用例如云计算技术、分布式计算技术或客户机-服务器计算技术。
51.根据各种实施例的电子装置可以是各种类型的电子装置之一。电子装置可包括例如便携式通信装置(例如,智能电话)、计算机装置、便携式多媒体装置、便携式医疗装置、相机、可穿戴装置或家用电器。根据本公开的实施例,电子装置不限于以上所述的那些电子装置。
52.应该理解的是,本公开的各种实施例以及其中使用的术语并不意图将在此阐述的技术特征限制于具体实施例,而是包括针对相应实施例的各种改变、等同形式或替换形式。对于附图的描述,相似的参考标号可用来指代相似或相关的元件。将理解的是,与术语相应的单数形式的名词可包括一个或更多事物,除非相关上下文另有明确指示。如这里所使用的,诸如“a或b”、“a和b中的至少一个”、“a或b中的至少一个”、“a、b或c”、“a、b和c中的至少一个”以及“a、b或c中的至少一个”的短语中的每一个短语可包括在与所述多个短语中的相应一个短语中一起列举出的项的所有可能组合。如这里所使用的,诸如“第1”和“第2”或者“第一”和“第二”的术语可用于将相应部件与另一部件进行简单区分,并且不在其它方面(例如,重要性或顺序)限制所述部件。将理解的是,在使用了术语“可操作地”或“通信地”的情况下或者在不使用术语“可操作地”或“通信地”的情况下,如果一元件(例如,第一元件)被称为“与另一元件(例如,第二元件)结合”、“结合到另一元件(例如,第二元件)”、“与另一元件(例如,第二元件)连接”或“连接到另一元件(例如,第二元件)”,则意味着所述一元件可与所述另一元件直接(例如,有线地)连接、与所述另一元件无线连接、或经由第三元件与所述另一元件连接。
53.如这里所使用的,术语“模块”可包括以硬件、软件或固件实现的单元,并可与其它术语(例如,“逻辑”、“逻辑块”、“部分”或“电路”) 可互换地使用。模块可以是被适配为执行一个或更多功能的单个集成部件或者是该单个集成部件的最小单元或部分。例如,根据实施例,可以以专用集成电路(asic)的形式来实现模块。
54.可将在此阐述的各种实施例实现为包括存储在存储介质(例如,内部存储器136或外部存储器138)中的可由机器(例如,电子装置101) 读取的一个或更多指令的软件(例如,程序140)。例如,在处理器的控制下,所述机器(例如,电子装置101)的处理器(例如,处理器120) 可在使用或无需使用一个或更多其它部件的情况下调用存储在存储介质中的所述一个或更多指令中的至少一个指令并运行所述至少一个指令。这使得所述机器能够操作用于根据所调用的至少一个指令执行至少一个功能。所述一个或更多指令可包括由编译器产生的代码或能够由解释器运行的代码。可以以非暂时性存储介质的形式来提供机器可读存储介质。其中,术语“非暂时性”仅意味着所述存储介质是有形装置,并且不包括信号(例如,电磁波),但是该术语并不在数据被半永久性地存储在存储介质中与数据被临时存储在存储介质中之间进行区分。
55.根据实施例,可在计算机程序产品中包括和提供根据本公开的各种实施例的方法。计算机程序产品可作为产品在销售者和购买者之间进行交易。可以以机器可读存储介质(例如,紧凑盘只读存储器(cd-rom)) 的形式来发布计算机程序产品,或者可经由应用商店(例如,playstore
tm
) 在线发布(例如,下载或上传)计算机程序产品,或者可直接在两个用户装置(例如,智能电话)之间分发(例如,下载或上传)计算机程序产品。如果是在线发布
的,则计算机程序产品中的至少部分可以是临时产生的,或者可将计算机程序产品中的至少部分至少临时存储在机器可读存储介质(诸如制造商的服务器、应用商店的服务器或转发服务器的存储器)中。
56.根据各种实施例,上述部件中的每个部件(例如,模块或程序)可包括单个实体或多个实体。根据各种实施例,可省略上述部件中的一个或更多部件,或者可添加一个或更多其它部件。可选择地或者另外地,可将多个部件(例如,模块或程序)集成为单个部件。在这种情况下,根据各种实施例,该集成部件可仍旧按照与所述多个部件中的相应一个部件在集成之前执行一个或更多功能相同或相似的方式,执行所述多个部件中的每一个部件的所述一个或更多功能。根据各种实施例,由模块、程序或另一部件所执行的操作可顺序地、并行地、重复地或以启发式方式来执行,或者所述操作中的一个或更多操作可按照不同的顺序来运行或被省略,或者可添加一个或更多其它操作。
57.图2示出根据各种实施例的用于更新固件的电子装置200的框图。在以下描述中,电子装置200可以包括图1中的电子装置101的至少一部分。
58.参考图2,电子装置200可以包括支持通用环境(通用执行环境)和安全环境(安全执行环境)的安全集成电路(ic)210。
59.根据各种实施例,安全集成电路210可以采用片上系统(soc),该 soc包括主处理器220、安全处理器230和安全存储器240。根据实施例,主处理器220可以与图1中的主处理器121基本相同,或者可以包括在其中。安全处理器230可以与图1中的辅助处理器123基本相同,或者可以包括在其中。安全存储器240可以与图1中的非易失性存储器134 基本相同,或者可以包括在其中。
60.根据各种实施例,主处理器220可以控制通用执行环境中的数据的处理和计算。根据实施例,如果电子装置200的使用环境满足固件更新条件,则主处理器220可以向安全处理器230传输用于更新固件的请求信号。例如,固件更新条件可以包括“立即安装”、“夜间安装”、“在无线lan接入时安装”或“在特定时间安装”中的至少一个。固件更新条件可以由用户配置。例如,主处理器220可以包括应用处理器(ap)。
61.根据各种实施例,安全处理器230可以可操作地连接到主处理器220,以与主处理器220通信。安全处理器230可以从主处理器220接收用于操作或初始化安全执行环境的请求,并且控制安全执行环境中的数据处理和计算。例如,安全处理器230可以包括处理模块、加密模块、安全存储器控制器、安全高速缓存、只读存储器(rom)、随机存取存储器 (ram)、存储器控制器(mem控制器)或安全传感器中的至少一个。
62.根据实施例,如果安全处理器230确定从主处理器220接收的与固件相关的更新信息有效,则安全处理器可以执行与固件相关的更新信息的用户认证。如果安全处理器230成功进行了与固件相关的更新信息的用户认证,则安全处理器可以生成与固件相关的认证信息,并且可以将生成的认证信息存储在安全存储器240中。例如,与固件相关的更新信息可以包括固件版本信息、补丁内容、与固件相关的散列信息或外部设备(例如,服务器)的签名中的至少一个。例如,可以基于外部设备的签名来确定与固件相关的更新信息的有效性,其中,通过该签名可以识别更新信息是否被伪造或篡改以及识别更新信息的来源。例如,与固件相关的认证信息可以包括固件的版本信息、散列信息、以及安全处理器 230的基于散列的消息认证码(hmac)值或者与认证信息的准许相关的信息中的至少一个。例如,固件的版
本信息可以包括固件二进制的标识信息和/或固件二进制的版本信息(例如,防回滚版本(rp))。固件二进制的版本信息可以签有制造商的签名密钥,并因此可以确保版本信息的完整性。例如,散列信息可以包括固件二进制的散列值。例如,与认证信息的准许相关的信息可以包括认证信息的准许时间点信息和/或认证信息的准许到期时间点信息。例如,认证信息的准许到期时间点可以基于认证信息的准许时间点来配置,或者可以基于用户输入来随机配置。
63.根据实施例,如果安全处理器230从主处理器220接收到用于更新固件的请求信号,则安全处理器可以确定存储在安全存储器240中的认证信息是否有效。例如,可以基于认证信息的准许时间点信息、准许到期时间点信息或认证信息的hmac值(它们包括在认证信息中)中的至少一个来确定存储在安全存储器240中的认证信息的有效性。
64.根据实施例,如果安全处理器230已经确定存储在安全存储器240 中的认证信息有效,则安全处理器230可以基于存储在安全存储器240 中的认证信息来认证由主处理器220请求更新的固件。如果安全处理器 230成功认证了由主处理器220请求更新的固件,则安全处理器可以更新电子装置200的固件。例如,如果认证信息的散列信息和由主处理器220 请求更新的固件的散列信息彼此相同,则安全处理器230可以确定固件的认证成功。
65.根据各种实施例,安全存储器240可以可操作地连接到安全处理器 230。例如,安全存储器240可以通过使用先前与安全处理器230共享的密钥(例如,订户管理密钥(smk))来执行与安全处理器230的加密通信。根据实施例,安全存储器240可以存储从安全处理器230接收的与固件相关的认证信息和/或存储固件。例如,存储在安全存储器240中的固件可以包括当前在电子装置200中运行的固件。例如,当电子装置200 的固件更新时,安全存储器240可以通过安全处理器230的控制来存储电子装置200的更新的固件。
66.图3示出根据各种实施例的用于更新固件的电子装置300的框图。在以下描述中,电子装置300可以包括图1中的电子装置101的至少一部分。
67.参考图3,电子装置300可以包括安全集成电路310和非安全存储器 350。根据实施例,非安全存储器350可以与图1中的非易失性存储器134 基本相同,或者可以包括在其中。
68.根据各种实施例,安全集成电路310可以采用片上系统,该片上系统包括主处理器320、安全处理器330和安全存储器340,其中,主处理器320在通用执行环境中操作,安全处理器330在安全执行环境中操作。电子装置300的安全集成电路310可以以类似于图2中的电子装置200 的安全集成电路210的方式操作。例如,图3中的主处理器320、安全处理器330和安全存储器340可以以类似于图2中的主处理器220、安全处理器230和安全存储器240的方式操作。因此,为了避免与图2重复的描述,省略了对电子装置300的安全集成电路310的元件的详细描述。
69.根据各种实施例,如果安全处理器330已经更新了电子装置300的固件,则主处理器320可以将更新的固件存储在非安全存储器350中。根据实施例,如果安全处理器330已经更新了电子装置300的固件,则主处理器320可以将从安全处理器330接收的固件和安全处理器330的签名信息存储在非安全存储器350中。例如,安全处理器330的签名信息可以包括安全密钥(例如,融合的权限加密密钥(rights encryption key, rek),或融合的比特),以便使安全处理器330的通信安全。
70.根据各种实施例,非安全存储器350可以存储由电子装置300的至少一个元件(例
如,主处理器320)在通用执行环境中使用的各种数据。根据实施例,非安全存储器350可以包括用于存储固件的第一区域352 和第二区域354。例如,第一区域352可以被指定为非活动区域,其中存储从外部设备下载以更新固件的新固件。第二区域354可以被指定为活动区域,其中存储当前在电子装置300中运行的固件。根据实施例,如果安全处理器330已经基于存储在第一区域352中的固件更新了电子装置300的固件,则可以通过主处理器320的控制将非安全存储器350的第一区域352改变为活动区域。也就是说,存储在第一区域352中的固件可以通过固件更新被配置为当前在电子装置300中运行的固件。安全处理器330的签名信息可以与电子装置300的固件一起存储在第一区域 352中。根据实施例,如果安全处理器330已经更新了电子装置300的固件,则可以通过主处理器320的控制将非安全存储器350的第二区域354 改变为非活动区域。可以从第二区域354中移除与先前存储的固件相关的签名信息。
71.图4示出根据各种实施例的用于更新固件的电子装置400的框图。在以下描述中,电子装置400可以包括图1中的电子装置101的至少一部分。
72.参考图4,电子装置400可以包括安全集成电路410、安全存储器440 以及非安全存储器450。
73.根据各种实施例,安全集成电路410可以采用片上系统,该片上系统包括在通用执行环境中操作的主处理器420以及在安全执行环境中操作的安全处理器430。电子装置400的安全集成电路410可以以类似于图 2中的电子装置200的安全集成电路210的方式操作,不同之处在于:安全存储器440与安全集成电路410分离。例如,图4中的主处理器420 和安全处理器430可以以类似于图2中的主处理器220和安全处理器230 的方式操作。因此,为了避免与图2重复的描述,省略了对电子装置400 的安全集成电路410的元件的详细描述。
74.根据各种实施例,安全处理器430可以对传输到安全存储器440的数据加密,以便防止数据由于安全存储器440存在于安全集成电路410 外部而暴露于外部。根据实施例,如果安全处理器430成功进行了与固件相关的更新信息的用户认证,则安全处理器可以生成认证密钥(ak) 和加密密钥(ek)。认证密钥可以用于生成包括在认证信息中的hmac 值。加密密钥可以用于对包括在认证信息中的信息加密。例如,认证密钥可以通过密钥导出函数(kdf)生成,其中,先前在安全处理器430 与安全存储器440之间共享的密钥(例如,smk)和为安全处理器430 的安全通信定义的安全密钥(例如,融合的rek或融合的比特)应用于该函数。例如,可以通过应用了安全密钥的kdf来生成加密密钥,以使安全处理器430的通信安全。根据实施例,主处理器420可以将由安全处理器430加密的数据(例如,认证信息)存储在安全存储器440中。
75.根据各种实施例,非安全存储器450可以存储由电子装置400的至少一个元件(例如,主处理器420)在通用执行环境中使用的各种数据。根据实施例,非安全存储器450可以包括用于存储固件的第一区域452 (例如,图3中的第一区域352)和第二区域454(例如,图3中的第二区域354)。
76.图5示出根据各种实施例的用于更新固件的电子装置500的框图。在以下描述中,电子装置500可以包括图1中的电子装置101的至少一部分。
77.参考图5,电子装置500可以包括安全集成电路510、安全存储器540 以及非安全存储器550。
78.根据各种实施例,安全集成电路510可以采用片上系统,该片上系统包括在通用执行环境中操作的主处理器520以及在安全执行环境中操作的安全处理器530。电子装置500的安全集成电路510可以以类似于图 2中的电子装置200的安全集成电路210的方式操作,不同之处在于:安全存储器540与安全集成电路510分离。例如,图5中的主处理器520 和安全处理器530可以以类似于图2中的主处理器220和安全处理器230 的方式操作。因此,为了避免与图2重复的描述,省略了对电子装置500 的安全集成电路510的元件的详细描述。
79.根据各种实施例,安全处理器530可以对传输到安全存储器540的数据加密,以便防止数据由于安全存储器540存在于安全集成电路510 外部而暴露于外部。根据实施例,安全处理器530可以基于先前与安全存储器540共享的密钥(例如,smk)对安全信息加密。安全处理器530 可以存储基于先前在安全存储器540中共享的密钥而加密的安全信息。
80.根据各种实施例,非安全存储器550可以存储由电子装置400的至少一个元件(例如,主处理器520)在通用执行环境中使用的各种数据。根据实施例,非安全存储器550可以包括用于存储固件的第一区域552 (例如,图3中的第一区域352)和第二区域554(例如,图3中的第二区域354)。
81.根据各种实施例,电子装置(例如,图2中的电子装置200)可以包括提供通用执行环境和安全执行环境的安全集成电路(ic),其中安全集成电路(例如,图2中的安全集成电路210)包括在通用执行环境中操作的主处理器(例如,图2的主处理器220)以及在安全执行环境中操作的安全处理器(例如,图2中的安全处理器230),并且其中安全处理器配置成:基于通过主处理器从服务器接收的固件更新信息,执行用户认证;如果用户认证成功,则生成对应于固件更新信息的认证信息;将认证信息存储在安全存储器(例如,图2中的安全存储器240)的至少一部分中;如果安装了固件,则基于存储在安全存储器中的认证信息执行对固件的认证;并且如果对固件的认证成功,则安装固件。
82.根据各种实施例,安全存储器可以包括在安全集成电路中。
83.根据各种实施例,认证信息可以包括:包括在固件更新信息中的版本信息、包括在固件更新信息中的散列、与安全处理器相关的基于散列的消息认证码(hmac)、与认证信息的准许相关的时间或认证信息的准许到期时间中的至少一个。
84.根据各种实施例,安全处理器可以:确定包括在固件更新信息中的服务器的签名信息是否满足指定条件;并且如果服务器的签名信息满足指定条件,则执行固件更新信息的用户认证。
85.根据各种实施例,安全处理器可以:确定包括在固件更新信息中的服务器的签名信息是否满足指定条件;如果服务器的签名信息满足指定条件,则将包括在固件更新信息中的版本信息与安装在电子装置中的固件的版本信息进行比较;并且如果包括在固件更新信息中的版本晚于安装在电子装置中的固件的版本,则执行固件更新信息的用户认证。
86.根据各种实施例,如果安全存储器位于安全集成电路外部,则安全处理器可以用与安全处理器相关的安全密钥对认证信息加密,并且将经加密的认证信息存储在安全存储器的至少一部分中。
87.根据各种实施例,如果满足了固件的安装条件,则主处理器可以向安全处理器传输用于安装固件的请求信号,并且如果安全处理器从主处理器接收到请求信号,则安全处理器可以基于存储在安全存储器中的认证信息来执行固件的认证。
88.根据各种实施例,安全处理器可以:确定存储在安全存储器中的认证信息是否有效;并且如果认证信息被确定为有效,则基于认证信息执行固件的认证。
89.根据各种实施例,安全处理器可以基于hmac值、有效性时间间隔或认证信息的使用次数中的至少一个来确定存储在安全存储器中的认证信息是否有效。
90.根据各种实施例,安全处理器可以:如果固件的认证失败,则执行固件的用户认证;并且如果用户认证成功,则安装固件。
91.图6示出根据各种实施例的用于更新电子装置中的固件的流程图 600。在以下实施例中,可以按顺序执行操作,但本公开不限于顺序操作。例如,可以改变操作的顺序,并且可以并行执行至少两个操作。图6中的电子装置可以是图1的电子装置101或图2的电子装置200。
92.参考图6,根据各种实施例,在操作601中,电子装置(例如,图1 中的处理器120或图2中的安全处理器230)可以接收与固件相关的更新信息。根据实施例,安全处理器230可以通过主处理器220从外部设备 (例如,服务器)接收与固件相关的更新信息。例如,安全处理器230 可以通过传输层安全(tls)协议从可信外部设备接收与固件相关的更新信息。例如,与固件相关的更新信息可以包括固件版本信息、补丁内容、与固件相关的散列信息或外部设备(例如,服务器)的签名中的至少一个。
93.根据各种实施例,在操作603中,电子装置(例如,处理器120或安全处理器230)可以识别与固件相关的更新信息的用户认证是否成功。根据实施例,安全处理器230可以通过显示装置(例如,图1中的显示装置160)输出从可信外部设备接收的与固件相关的更新信息的补丁内容,以便允许用户识别补丁内容。安全处理器230可以基于与显示装置上显示的补丁内容相关的用户输入来确定用户认证是否成功。例如,可以基于包括在与固件相关的更新信息中的、外部设备的签名信息来识别可信外部设备。例如,固件版本信息可以包括固件二进制的标识信息和固件二进制版本信息。
94.根据各种实施例,如果电子装置(例如,处理器120或安全处理器 230)成功进行了固件更新信息的用户认证(例如,与操作603相关的“是”),则在操作605中,电子装置可以生成与固件相关的认证信息。根据实施例,安全处理器230可以基于与固件相关的更新信息的至少一部分(例如,固件版本信息和固件散列信息)来生成与固件相关的认证信息。例如,与固件相关的认证信息还可以包括安全处理器230的hmac 值,以指示认证信息已经由安全处理器230生成或者以识别认证信息的完整性。例如,与固件相关的认证信息还可以包括认证信息的准许时间点信息或准许到期时间点信息中的至少一个。作为另一示例,如果如图4 所示那样安全存储器440位于安全集成电路410的外部,则安全处理器 430可以基于为安全处理器430的安全通信定义的安全密钥(例如,融合的rek或融合的比特)来生成认证密钥(ak)和加密密钥(ek)。安全处理器430可以基于认证密钥生成要包括在认证信息中的hmac值,并且通过使用安全密钥对要包括在认证信息中的信息(例如,hmac值、固件版本信息、固件散列信息和与认证信息的准许相关的信息)加密,以便生成认证信息。
95.根据各种实施例,在操作607中,电子装置(例如,处理器120或安全处理器230)可以将与固件相关的认证信息存储在安全存储器中。根据实施例,安全处理器230可以通过基于先前与安全存储器240共享的密钥(例如,smk)生成的安全信道,将与固件相关的认证信息安全地存储在安全存储器240中。根据另一个实施例,安全处理器430可以通过主处理器
420将与固件相关的认证信息存储在位于安全集成电路410 外部的安全存储器440中。例如,如果在安全存储器240中存在先前存储的认证信息,则安全处理器230可以用新的认证信息替换存储在安全存储器240中的、先前存储的认证信息。
96.根据各种实施例,在操作609中,电子装置(例如,处理器120或安全处理器230)可以基于存储在安全存储器中的认证信息识别固件的认证是否成功。根据实施例,如果固件更新时间点已到达,则主处理器220 可以向安全处理器230传输用于更新固件的请求信号。如果安全处理器 230从主处理器220接收到用于更新固件的请求信号,则安全处理器可以生成对应于从主处理器220接收的固件的散列值。如果对应于从主处理器220接收的固件的散列值和包括在存储于安全存储器中的认证信息中的散列值彼此相同,则安全处理器230可以确定固件的认证成功。另外,如果从主处理器220接收的固件的版本信息和包括在存储于安全存储器中的认证信息中的版本信息彼此相同,则安全处理器230可以确定固件的认证成功。根据实施例,如果确定存储在安全存储器240中的认证信息有效,则安全处理器230可以基于存储在安全存储器240中的认证信息来执行固件的认证。
97.根据各种实施例,如果电子装置(例如,处理器120或安全处理器 230)基于存储在安全存储器中的认证信息成功认证了固件(例如,与操作609相关的“是”),则在操作611中,电子装置可以用认证成功的固件来更新电子装置的固件。根据实施例,如果安全存储器240的存储空间(或容量)大到足以容纳固件,则安全处理器230可以将更新的固件存储在安全存储器240中。根据另一个实施例,安全处理器330可以将更新的固件存储在非安全存储器450中。连同更新的固件一起,非安全存储器450还可以存储安全处理器330的签名。
98.根据各种实施例,如果电子装置(例如,处理器120或安全处理器 230)在与固件相关的更新信息的用户认证中失败(例如,与操作603相关的“否”)或者基于存储在安全存储器中的认证信息认证固件失败(例如,与操作609相关的“否”),则可以阻止基于认证信息的固件更新程序。根据实施例,如果安全处理器230在与固件相关的更新信息的用户认证中失败,或者基于认证信息认证固件失败,则安全处理器可以再次执行用户认证。根据另一个实施例,如果安全处理器230在与固件相关的更新信息的用户认证中失败,或者基于认证信息认证固件失败,则安全处理器可以输出固件更新限制信息。
99.图7示出根据各种实施例的用于在电子装置中执行更新信息的用户认证的流程图700。以下描述的图7中的操作可以是图6中的操作603的详细子操作。在以下实施例中,可以按顺序执行操作,但本公开不限于顺序操作。例如,可以改变操作的顺序,并且可以并行执行至少两个操作。图7中的电子装置可以是图1的电子装置101或图2的电子装置200。此后,可以参考图8a和图8b描述图7中的操作的至少一部分。图8a 示出根据各种实施例的用于用户认证的屏幕配置。图8b示出根据各种实施例的用于配置固件更新条件的屏幕配置。
100.参考图7,根据各种实施例,如果电子装置(例如,图1中的处理器 120或图2中的安全处理器230)接收到与固件相关的更新信息(例如,图6中的操作601),则在操作701中,电子装置可以确定与固件相关的更新信息是否有效。根据实施例,如果安全处理器230通过主处理器220 从外部设备(例如,服务器)接收与固件相关的更新信息,则安全处理器可以基于包括在更新信息中的、外部设备的签名信息确定外部设备是否可靠。例如,如果包括在更新信息中的、外部设备的签名信息包括在存储于存储器(例如,存储器130或安全存储器240)中的已认证设备列表中,则安全处理器230可以确定外部设备可靠。如果安全处理器
230 已经确定出外部设备可靠,则安全处理器可以确定出与固件相关的更新信息有效。
101.根据各种实施例,如果电子装置(例如,处理器120或安全处理器 230)确定出与固件相关的更新信息有效(例如,与操作701相关的“是”),则在操作703中,电子装置可以识别包括在更新信息中的、固件的版本信息。例如,固件的版本信息可以包括固件二进制的标识信息和固件二进制版本信息。
102.根据各种实施例,在操作705中,电子装置(例如,处理器120或安全处理器230)可以基于包括在更新信息中的、固件的版本信息来确定固件是否能够安装在电子装置中。根据实施例,安全处理器230可以将在电子装置200中操作的固件的版本信息与包括在更新信息中的、固件的版本信息进行比较。如果在电子装置200中操作的固件的版本比包括在更新信息中的固件的版本更早(或更低),则安全处理器230可以确定出与更新信息相关的固件能够安装在电子装置中。因此,安全处理器230 可以防止固件更新到先前版本(或更低版本)。例如,可以在存储于安全存储器240中的认证信息中识别在电子装置200中操作的固件的版本信息。
103.根据各种实施例,如果电子装置(例如,处理器120或安全处理器 230)已经确定出与更新信息相关的固件能够安装在电子装置中(例如,与操作705相关的“是”),则在操作707中,电子装置可以显示与固件相关的更新信息。根据实施例,安全处理器230可以通过主处理器220 控制显示装置(例如,图1中的显示装置160)使得显示装置显示包括在更新信息中的补丁信息。例如,如图8a所示,显示装置(例如,图1中的显示装置160)可以显示包括在更新信息中的补丁信息800。补丁信息 800可以包括与已经通过固件更新被修改、添加或移除的功能相关的信息 802。
104.根据各种实施例,在操作709中,电子装置(例如,处理器120或安全处理器230)可以识别是否检测到对应于与固件相关的更新信息的准许输入。根据实施例,如图8a所示,安全处理器230可以识别在显示装置的至少一部分中显示的补丁信息800中是否检测到对应于准许按钮810 的输入。例如,如果安全处理器230在参考时间间隔内检测到对应于准许按钮810的输入,则安全处理器可以确定出安全处理器已经检测到对应于与固件相关的更新信息的准许输入。例如,如果在参考时间间隔期间未检测到对应于准许按钮的输入,或者检测到对应于取消按钮820的输入,则安全处理器230可以确定出未检测到对应于与固件相关的更新信息的准许输入。
105.根据各种实施例,如果检测到对应于与固件相关的更新信息的准许输入(例如,与操作709相关的“是”),则在操作711中,电子装置(例如,处理器120或安全处理器230)可以确定与固件相关的更新信息的用户认证成功。根据实施例,如果安全处理器230成功进行了与固件相关的更新信息的用户认证,则安全处理器可以向主处理器220提供基于用户输入配置的固件安装时间点(或安装条件)。例如,如果安全处理器230 检测到对应于显示在显示装置中的补丁信息800的准许按钮810的输入,则安全处理器可以控制显示装置(例如,图1中的显示装置160)显示用于配置固件安装时间点的菜单830,如图8b所示。安全处理器230可以通过使用主处理器220来控制显示装置。例如,用于配置固件安装时间点的菜单830可以包括“立即安装”832、“夜间安装”834和“设置安装时间”836。安全处理器230可以基于用户对用于配置固件安装时间点的菜单830进行的选择输入来配置固件安装时间点。
106.根据各种实施例,如果确定出与固件相关的更新信息无效(例如,与操作701相关
的“否”),则确定出与更新信息相关的固件不能够安装在电子装置中(例如,与操作705相关的“否”),或者如果未检测到对应于与固件相关的更新信息的准许输入(例如,与操作709相关的“否”),则在操作713中,电子装置(例如,处理器120或安全处理器230)可以确定与固件相关的更新信息的用户认证失败。根据实施例,如果安全处理器230在与固件相关的更新信息的用户认证中失败,则安全处理器可以向主处理器220提供认证失败信息。主处理器220可以控制显示装置 (例如,图1中的显示装置160)输出从安全处理器230接收的认证失败信息。
107.图9示出根据各种实施例的用于在电子装置中基于认证信息更新固件的流程图900。以下描述的图9中的操作可以是图6中的操作609至 611的详细子操作。在以下实施例中,可以按顺序执行操作,但本公开不限于顺序操作。例如,可以改变操作的顺序,并且可以并行执行至少两个操作。图7中的电子装置可以是图1的电子装置101或图2的电子装置200。此后,可以参考图10a、图10b和图10c描述图9中的操作的至少一部分。图10a示出根据各种实施例的包括固件下载状态信息的屏幕配置。图10b示出根据各种实施例的用于确定是否安装固件的屏幕配置。图10c示出根据各种实施例的包括固件更新限制信息的屏幕配置。
108.参考图9,根据各种实施例,在操作901中,电子装置(例如,图1 中的处理器120或图2中的主处理器220)可以识别电子装置的使用环境是否满足固件安装条件。根据实施例,主处理器220可以识别由用户配置的固件安装时间点(例如,“夜间安装”或“在特定时间点安装”)是否已到达。根据另一个实施例,如果“在无线lan(例如,wifi)接入时安装”被配置为固件安装条件,则当电子装置200接入无线lan时,主处理器220可以下载固件。当固件的下载完成时,主处理器220可以确定满足了固件安装条件。主处理器220可以控制至少一个元件(例如,声音输出装置155、显示装置160或指示器)向外部输出固件下载信息,以便允许用户识别固件下载状态。例如,如图10a所示,显示装置(例如,显示装置160)可以显示固件的下载状态信息1000,例如,“下载固件”。根据另一个实施例,如果配置了“立即安装”,则主处理器220可以识别固件的下载是否完成。如果固件的下载完成,则主处理器220可以确定满足了固件安装条件。
109.根据各种实施例,如果电子装置(例如,处理器120或安全处理器 230)不满足固件安装条件(例如,与操作901相关的“否”),则电子装置可以识别是否满足固件安装条件。
110.根据各种实施例,如果电子装置(例如,处理器120或安全处理器 230)满足固件安装条件(例如,与操作901相关的“是”),则在操作903 中,电子装置可以识别要在电子装置中安装(或更新)的固件。根据实施例,如果主处理器220满足固件安装条件,则主处理器可以向安全处理器230传输用于安装(或更新)固件的请求信号。如果安全处理器230 已经从主处理器220接收到用于安装(或更新)固件的请求信号,则安全处理器可以识别通过主处理器220下载的固件。
111.根据各种实施例,在操作905中,电子装置(例如,处理器120或安全处理器230)可以识别存储在安全存储器中的认证信息是否有效。根据实施例,安全处理器230可以基于存储在安全存储器240中的认证信息的hmac值和认证信息的有效性时间间隔来确定认证信息是否有效。例如,可以基于包括在认证信息中的认证信息的准许时间点信息或准许到期时间点信息中的至少一个来确定认证信息的有效性时间间隔。根据另一个实施例,安全处理器230可以基于存储在安全存储器240中的认证信息的hmac值和认证信息已被使用的次数
来确定认证信息是否有效。例如,如果存储在安全存储器240中的认证信息已被使用的次数等于或小于参考次数,则安全处理器230可以确定出存储在安全存储器240 中的认证信息有效。例如,参考次数可以在电子装置200发行时配置,或者可以由用户配置。
112.根据各种实施例,如果电子装置(例如,处理器120或安全处理器 230)已确定存储在安全存储器240中的认证信息有效(例如,与操作905 相关的“是”),则在操作907中,电子装置可以识别基于认证信息的固件认证是否成功。根据实施例,安全处理器230可以将对应于从主处理器220接收的固件的散列值与包括在存储于安全存储器中的认证信息中的散列值进行比较。如果对应于从主处理器220接收的固件的散列值与包括在认证信息中的散列值相同,则安全处理器230可以确定固件的认证成功。另外,如果从主处理器220接收的固件的散列值和存储在安全存储器中的认证信息的散列值彼此相同,并且固件的版本信息和认证信息的版本信息也彼此相同,则安全处理器230可以确定固件的认证成功。
113.根据各种实施例,如果电子装置(例如,处理器120或安全处理器 230)基于认证信息成功认证了固件(例如,与操作907相关的“是”),则在操作909中,电子装置可以将电子装置的固件更新为与认证信息相关的固件。根据实施例,如果安全处理器230基于认证信息成功进行了固件认证,则安全处理器可以向主处理器220传输用于确认是否安装固件的请求信号。主处理器220可以基于从安全处理器230接收的请求信号,控制显示装置(例如,图1中的显示装置160)显示与确定是否安装固件相关的消息。例如,如图10b所示,显示装置(例如,图1中的显示装置160)可以显示与确定是否安装固件相关的消息1010。例如,如果检测到对应于如图10b所示的、显示在显示装置的至少一部分中的消息1010中的取消按钮1014的输入,则安全处理器230可以确定用户不想在当前时间点安装固件。安全处理器230可以识别电子装置的使用环境是否满足固件安装条件。例如,如果检测到对应于如图10b所示的、显示在显示装置的至少一部分中的消息1010中的确认按钮1012的输入,则安全处理器230可以确定用户想在当前时间点安装固件。因此,安全处理器230可以将电子装置的固件更新为与认证信息相关的固件。例如,安全处理器230可以将电子装置200的更新后的固件存储在安全存储器 240中。作为另一个示例,安全处理器330可以通过主处理器320将电子装置300的更新后的固件存储在非安全存储器350中。更新的固件可以与安全处理器330的签名一起存储在非安全存储器350的活动区域(例如,第一区域352)中。
114.根据各种实施例,如果存储在安全存储器中的认证信息无效(例如,与操作905相关的“否”),或者基于认证信息的固件认证失败(例如,与操作907相关的“否”),则在操作911中,电子装置(例如,处理器 120或安全处理器230)可以执行固件的用户重新认证。根据实施例,如果已经传输了固件的外部设备(例如,服务器)可靠,并且固件的版本比在电子装置200中运行的固件的版本更晚(更高),则安全处理器230 可以通过主处理器220控制显示装置(例如,显示装置160),使得显示装置显示固件的补丁信息。
115.根据各种实施例,在操作913中,电子装置(例如,处理器120或安全处理器230)可以识别固件的用户重新认证是否成功。根据实施例,如果安全处理器230在从显示装置中显示补丁信息的时间点起经过参考时间间隔之前检测到对应于显示装置的至少一部分中显示的补丁信息的用户输入,则安全处理器230可以确定固件的用户重新认证成功。
116.根据各种实施例,如果固件的用户重新认证成功(例如,与操作913 相关的“是”),则在操作909中,电子装置(例如,处理器120或安全处理器230)可以将电子装置的固件更新
为用户重新认证成功的固件。
117.根据各种实施例,如果固件的用户重新认证失败(例如,与操作913 相关的“否”),则在操作915中,电子装置(例如,处理器120或安全处理器230)可以输出固件更新限制信息。根据实施例,如果安全处理器 230在固件的用户重新认证中失败,则安全处理器可以向主处理器220传输固件更新限制信息。主处理器220可以控制至少一个元件(例如,声音输出装置155、显示装置160或指示器)向外部输出从安全处理器230 接收的固件更新限制信息。例如,如图10c所示,显示装置(例如,显示装置160)可以显示警告消息1020,诸如“不能更新固件”。
118.根据各种实施例,电子装置(例如,图2中的电子装置200)的操作方法可以包括:在包括在通用执行环境中操作的主处理器(例如,图2 的主处理器220)和在安全执行环境中操作的安全处理器(例如,图2中的安全处理器230)的安全集成电路(ic)(例如,图2中的安全集成电路210)中,基于通过主处理器从服务器接收的固件更新信息,由安全处理器执行用户认证;如果用户认证成功,则生成对应于固件更新信息的认证信息;将认证信息存储在安全存储器(例如,图2中的安全存储器 240)的至少一部分中;如果安装了对应的固件,则基于存储在安全存储器中的认证信息执行固件的认证;并且如果固件认证成功,则安装固件。
119.根据各种实施例,认证信息可以存储在包括于安全集成电路中的安全存储器的至少一部分中。
120.根据各种实施例,如果安全存储器位于安全集成电路外部,则可以用与安全处理器相关的安全密钥对认证信息加密,并且可以将经加密的认证信息存储在安全存储器的至少一部分中。
121.根据各种实施例,认证信息可以包括:包括在固件更新信息中的版本信息、包括在固件更新信息中的散列、与安全处理器相关的基于散列的消息认证码(hmac)、与认证信息的准许相关的时间或认证信息的准许到期时间中的至少一个。
122.根据各种实施例,执行用户认证可以包括:确定包括在固件更新信息中的、服务器的签名信息是否满足指定条件;并且如果服务器的签名信息满足指定条件,则执行固件更新信息的用户认证。
123.根据各种实施例,执行用户认证可以包括:确定包括在固件更新信息中的、服务器的签名信息是否满足指定条件;如果服务器的签名信息满足指定条件,则将包括在固件更新信息中的版本信息与安装在电子装置中的固件的版本信息进行比较;并且如果包括在固件更新信息中的版本晚于安装在电子装置中的固件的版本,则执行固件更新信息的用户认证。
124.根据各种实施例,执行固件的认证可以包括:如果满足了固件的安装条件,并且从主处理器接收了请求信号,则基于存储在安全存储器中的认证信息执行固件的认证。
125.根据各种实施例,执行固件的认证可以包括:确定存储在安全存储器中的认证信息是否有效;并且如果认证信息被确定为有效,则基于认证信息执行固件的认证。
126.根据各种实施例,确定认证信息是否有效可以包括:基于hmac值、有效性时间间隔或认证信息的使用次数中的至少一个来确定存储在安全存储器中的认证信息是否有效。
127.根据各种实施例,该方法还可以包括:如果固件的认证失败,则执行固件的用户认
证;并且如果用户认证成功,则安装固件。
128.虽然已经用各种实施例描述了本公开,但是可以向本领域技术人员启发各种改变和修改。本公开旨在涵盖落入所附权利要求书的范围内的此类变化和修改。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献