1.本技术涉及硬件安全技术领域,系统特别是镜像介质涉及一种系统镜像数据的处理方法、装置、数据设备及介质。理方流程
背景技术:
2.当前,法装随着云原生、置设物联网等技术的备及发展,服务器以及终端等设备的系统应用越来越广泛。与之相对地,镜像介质网络环境也越来越复杂,数据对于设备的理方流程安全性需求也在逐步提高。在设备上更新或者安装系统时,法装往往需要使用到系统镜像数据,置设系统镜像数据是备及计算机系统的一个副本,通常包含操作系统、系统应用程序、配置文件和其他关键数据等,可用于在设备上备份、恢复或者部署系统。
3.相关技术中,在使用系统镜像数据时,为了尽可能提高安全性,减少运行恶意软件的可能,一般会基于信任根组件来建立信任链,信任根组件是对系统镜像数据进行校验、更新和读写保护的组件,可以被部署在设备上。但是,在实际应用中发现,当前的信任根组件往往被集成在设备中,且控制逻辑比较复杂,更新调整时难度较大;并且,信任根组件的处理器可能会受到外部劫持,容易导致系统镜像数据的泄露,影响设备的系统安全性和可靠性。
4.综上,相关技术中存在的技术问题有待得到改善。
技术实现要素:
5.本技术实施例提供了一种系统镜像数据的处理方法、装置、设备及介质,能够简化信任根组件的控制逻辑,降低实现成本,可减少系统镜像数据的泄露风险,有利于提高设备的系统安全性和可靠性。
6.本技术实施例的一方面提供了一种系统镜像数据的处理方法,所述方法包括:
7.响应于触发指令,重置信任根组件中的有限状态机;
8.通过所述有限状态机读取解析预先存储在第一存储单元的信任根控制程序,生成第一指令;
9.将所述第一指令发送到读取校验单元,以使得所述读取校验单元接收所述第一指令后从第二存储单元获取所述系统镜像数据,并对所述系统镜像数据进行校验得到校验结果。
10.另一方面,本技术实施例提供了一种系统镜像数据的处理装置,所述装置包括:
11.重置模块,用于响应于触发指令,重置信任根组件中的有限状态机;
12.生成模块,用于通过所述有限状态机读取解析预先存储在第一存储单元的信任根控制程序,生成第一指令;
13.发送模块,用于将所述第一指令发送到读取校验单元,以使得所述读取校验单元接收所述第一指令后从第二存储单元获取所述系统镜像数据,并对所述系统镜像数据进行校验得到校验结果。
14.可选地,所述装置还包括第二生成模块,所述第二生成模块具体用于:
15.检测所述信任根组件的电源电压;
16.将所述电源电压和预设的电压阈值进行比较,若所述电源电压大于或者等于所述电压阈值,生成所述触发指令。
17.可选地,所述生成模块具体用于:
18.从程序计数器中获取初始指针,并触发所述有限状态机进入取指令状态;其中,所述初始指针用于指示所述信任根控制程序的起始地址;
19.根据所述初始指针,从所述第一存储单元读取所述信任根控制程序的第一程序代码段,并触发所述有限状态机进入指令解码状态;
20.对所述第一程序代码段进行解析,生成所述第一指令。
21.可选地,所述生成模块具体用于:
22.对所述第一程序代码段进行解析,得到对应的操作码信息;
23.根据所述操作码信息,确定并触发所述有限状态机进入对应的操作状态;
24.根据所述操作状态,生成对应的所述第一指令。
25.可选地,所述生成模块具体用于:
26.若当前的所述操作码信息触发所述有限状态机进入空操作状态,生成用于指示解析得到下一条操作码信息的第一指令;
27.或者,若当前的所述操作码信息触发所述有限状态机进入写寄存器状态,生成用于指示执行写寄存器操作的第一指令;
28.或者,若当前的所述操作码信息触发所述有限状态机进入读寄存器状态,生成用于指示执行读寄存器操作的第一指令;
29.或者,若当前的所述操作码信息触发所述有限状态机进入写内存状态,生成用于指示执行写内存操作的第一指令;
30.或者,若当前的所述操作码信息触发所述有限状态机进入读内存状态,生成用于指示执行读内存操作的第一指令;
31.或者,若当前的所述操作码信息触发所述有限状态机进入比较状态,生成用于指示执行比较操作的第一指令;
32.或者,若当前的所述操作码信息触发所述有限状态机进入跳转状态,生成用于指示执行跳转操作的第一指令。
33.可选地,所述生成模块具体用于:
34.根据当前的所述操作码信息生成对应的第一指令后,对所述初始指针进行递增操作,得到目标指针;
35.将所述目标指针和预设的指针阈值进行比较;
36.若所述目标指针小于所述指针阈值,根据所述目标指针,继续从所述第一存储单元读取所述信任根控制程序的第二程序代码段,并触发所述有限状态机进入指令解码状态;
37.对所述第二程序代码段进行解析,生成所述第一指令。
38.可选地,所述生成模块还用于:
39.若所述目标指针等于所述指针阈值,触发所述有限状态机进入过滤状态,并检测
是否出现中断信号;
40.若检测出现中断信号,记录所述中断信号对应的中断源;
41.根据所述中断源,对所述目标指针进行重新赋值,并返回所述根据所述目标指针,继续从所述第一存储单元读取所述信任根控制程序的第二程序代码段,并触发所述有限状态机进入指令解码状态的步骤。
42.可选地,所述读取校验单元包括直接内存访问引擎和加密校验器,所述第一指令包括数据读取指令和数据校验指令;所述发送模块具体用于:
43.将所述数据读取指令发送到所述直接内存访问引擎,以使得所述直接内存访问引擎从所述第二存储单元获取所述系统镜像数据,并将所述系统镜像数据搬移到所述加密校验器;
44.将所述数据校验指令发送到所述加密校验器,以使得所述加密校验器对所述系统镜像数据进行校验得到校验结果。
45.可选地,所述装置还包括校验模块,所述校验模块具体用于:
46.获取所述系统镜像数据对应的数字签名和公钥;
47.对所述系统镜像数据进行哈希处理,得到第一哈希值;
48.通过所述公钥对所述数字签名进行解密,得到第二哈希值;
49.比较所述第一哈希值和所述第二哈希值是否一致;
50.若所述第一哈希值和所述第二哈希值一致,确定所述系统镜像数据校验通过,或者,若所述第一哈希值和所述第二哈希值不一致,确定所述系统镜像数据校验不通过。
51.可选地,所述装置还包括第三生成模块,所述第三生成模块具体用于:
52.若所述系统镜像数据校验通过,生成第二指令;
53.响应于主板组件的获取请求,将所述第二指令发送给所述读取校验单元,以使得所述读取校验单元接收所述第二指令后将所述系统镜像数据传输给所述主板组件。
54.可选地,所述装置还包括第四生成模块,所述第四生成模块具体用于:
55.若所述系统镜像数据校验不通过,生成警示信息;
56.将所述警示信息发送给所述主板组件。
57.另一方面,本技术实施例提供了一种电子设备,包括处理器以及存储器;
58.所述存储器用于存储计算机程序;
59.所述处理器执行所述计算机程序实现前述的系统镜像数据的处理方法。
60.另一方面,本技术实施例提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行实现前述的系统镜像数据的处理方法。
61.本技术实施例还公开了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现前述的系统镜像数据的处理方法。
62.本技术实施例至少包括以下有益效果:本技术提供一种系统镜像数据的处理方法、装置、设备及介质,该方案响应于触发指令,重置信任根组件中的有限状态机,通过有限状态机实现信任根组件的控制和调度,可以简化信任根组件的控制逻辑,降低硬件所需要占用的空间和实现成本;通过有限状态机读取解析预先存储在第一存储单元的信任根控制程序,生成第一指令,使用有限状态机来解析信任根控制程序,生成对应的第一指令作为控制流,可以降低信任根控制程序编码以及更新时的业务复杂度,适用性更好;然后将第一指
令发送到读取校验单元,以使得读取校验单元接收第一指令后从第二存储单元获取系统镜像数据,并对系统镜像数据进行校验得到校验结果,具体的系统镜像数据读取和校验工作由读取校验单元来实现,可隔绝处理器和系统镜像数据,降低系统镜像数据的泄露风险,有利于提高设备的系统安全性和可靠性。
附图说明
63.附图用来提供对本技术技术方案的进一步理解,并且构成说明书的一部分,与本技术的实施例一起用于解释本技术的技术方案,并不构成对本技术技术方案的限制。
64.图1为本技术实施例提供的一种系统镜像数据的处理方法的实施环境示意图;
65.图2为本技术实施例提供的一种系统镜像数据的处理方法的流程示意图;
66.图3为本技术实施例提供的一种通过有限状态机生成第一指令的流程示意图;
67.图4为本技术实施例提供的一种有限状态机的状态流转示意图;
68.图5为本技术实施例提供的另一种通过有限状态机生成第一指令的流程示意图;
69.图6为本技术实施例提供的一种信任根组件的结构示意图;
70.图7为本技术实施例提供的一种信任根组件和主板组件的设置关系示意图;
71.图8为本技术实施例提供的另一种信任根组件和主板组件的设置关系示意图;
72.图9为本技术实施例提供的一种系统镜像数据的处理装置的结构示意图;
73.图10为本技术实施例提供的一种电子设备的结构示意图;
74.图11为本技术实施例提供的另一种电子设备的结构示意图。
具体实施方式
75.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术实施例相一致的所有实施方式,它们仅是与如所附权利要求书中所详述的、本技术实施例的一些方面相一致的装置和方法的例子。
76.可以理解,本技术所使用的术语“第一”、“第二”等可在本文中用于描述各种概念,但除非特别说明,这些概念不受这些术语限制。这些术语仅用于将一个概念与另一个概念区分。例如,在不脱离本技术实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“若”、“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
77.本技术所使用的术语“至少一个”、“多个”、“每个”、“任一”等,至少一个包括一个、两个或两个以上,多个包括两个或两个以上,每个是指对应的多个中的每一个,任一是指多个中的任意一个。
78.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
79.在对本技术实施例进行详细说明之前,首先对本技术实施例中涉及的部分名词和
术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
80.1)系统镜像数据,计算机系统的一个副本,通常包含操作系统、应用程序、配置文件和其他关键数据等,可用于在设备上备份、恢复或者部署系统。
81.2)信任根(root of trust,rot),一种硬件或软件组件,被用来确保系统的安全性和可信度,它是soc(system on chip,系统级芯片)、其他半导体设备或计算机系统的安全基础。通常情况下,信任根组件可实现系统安全启动过程的一部分功能,用于为信任链提供最为基础的信任逻辑。一般来说,信任根组件在计算机系统中的作用是确保系统启动过程的安全性和完整性,它可以验证启动过程中加载的所有软件和硬件的可信度,并防止未经授权的更改或篡改。
82.3)有限状态机(finite state machine,fsm),是一种数学模型,用于描述系统或对象的行为。它由一组状态、转移条件和动作组成,可以用来描述系统在不同状态下的行为和状态之间的转换。有限状态机常用于软件开发、硬件设计以及系统建模和分析等领域,提供了一种直观、可视化的方法来描述和分析系统的行为,使系统开发和设计更加可控和可靠。
83.4)直接内存访问引擎(direct memory access,dma),是一种硬件设备或子系统,用于在计算机系统中实现直接内存访问。传统上,在计算机系统中,数据的传输通常需要通过cpu进行中转,即数据从设备传输到内存时需要经过cpu,然后再从内存传输到设备时也需要经过cpu。这种方式会占用cpu的处理能力,降低系统效率。为了提高数据传输的效率,dma引擎被引入到计算机系统中。dma引擎可以直接从设备读取或写入数据到内存,而不需要经过cpu的中转。它能够独立地控制数据传输的过程,实现设备和内存之间的直接数据传输。
84.5)bmc(baseboard management controller),即基板管理控制器,是设备的基本核心功能子系统,负责硬件状态管理、操作系统管理、健康状态管理、功耗管理等核心功能。
85.当前,随着云原生、物联网等技术的发展,服务器以及终端等设备的应用越来越广泛。与之相对地,网络环境也越来越复杂,对于设备的安全性需求也在逐步提高。在设备上更新或者安装系统时,往往需要使用到系统镜像数据,系统镜像数据是计算机系统的一个副本,通常包含操作系统、应用程序、配置文件和其他关键数据等,可用于在设备上备份、恢复或者部署系统。
86.相关技术中,在使用系统镜像数据时,为了尽可能提高安全性,减少运行恶意软件的可能,一般会基于信任根组件来建立信任链,信任根组件是对系统镜像数据进行校验、更新和读写保护的组件,可以被部署在设备上。但是,在实际应用中发现,当前的信任根组件往往被集成在设备中,且控制逻辑比较复杂,更新调整时难度较大;并且,信任根组件的处理器可能会受到外部劫持,容易导致系统镜像数据的泄露,影响设备的系统安全性和可靠性。
87.有鉴于此,本技术实施例中提供一种系统镜像数据的处理方法、装置、设备及介质,该方案响应于触发指令,重置信任根组件中的有限状态机,通过有限状态机实现信任根组件的控制和调度,可以简化信任根组件的控制逻辑,降低硬件所需要占用的空间和实现成本;通过有限状态机读取解析预先存储在第一存储单元的信任根控制程序,生成第一指令,使用有限状态机来解析信任根控制程序,生成对应的第一指令作为控制流,可以降低信
任根控制程序编码以及更新时的业务复杂度,适用性更好;然后将第一指令发送到读取校验单元,以使得读取校验单元接收第一指令后从第二存储单元获取系统镜像数据,并对系统镜像数据进行校验得到校验结果,具体的系统镜像数据读取和校验工作由读取校验单元来实现,可隔绝处理器和系统镜像数据,降低系统镜像数据的泄露风险,有利于提高设备的系统安全性和可靠性。
88.本技术实施例中所提供的系统镜像数据的处理方法,主要涉及信息技术领域内和硬件安全相关的技术。本领域技术人员可以理解的是,本技术实施例中所提供的系统镜像数据的处理方法,可以在各类应用场景中被执行:
89.示例性地,在金融应用场景下,金融机构往往需要处理大量的敏感数据,例如包括客户的财务信息、交易记录等,通过本技术实施例中提供的系统镜像数据的处理方法,可以帮助建立安全的数据访问控制系统以及身份验证系统,可以尽可能使得访问这些敏感数据的人员为授权对象,有助于筛查未经授权的访问,降低出现数据泄露的风险。
90.示例性地,在云计算应用场景下,云计算服务提供商需要确保客户的数据和应用程序在云环境中得到保护,通过本技术实施例中提供的系统镜像数据的处理方法,可以帮助建立安全的虚拟私有网络以及身份验证系统,可以提高云资源的使用安全性和私密性,且有利于改善云上应用程序运行的稳定性和可靠性。
91.示例性地,在物联网应用场景下,物联网设备通常需要连接到云平台或其他网络进行数据传输和分析。通过本技术实施例中提供的系统镜像数据的处理方法,可以帮助建立安全的通信通道,以提高物联网设备与云平台(或者网络)之间的数据传输的安全性,从而提高整个物联网系统的运转效率及稳定性。
92.示例性地,在医疗应用场景下,医院或者相关的保健场所需要处理大量的敏感数据,例如包括患者的病历、诊断结果以及药物处方等。通过本技术实施例中提供的系统镜像数据的处理方法,可以帮助建立安全的医疗信息系统,可以保护患者的隐私,防止数据被篡改。
93.可以理解的是,以上的应用场景仅起到示例性的作用,并不意味着对本技术实施例中系统镜像数据的处理方法的实际应用形成限制。本领域技术人员可以理解,在不同应用场景中,都可以利用本技术实施例中提供的系统镜像数据的处理方法执行指定的任务。
94.需要补充说明的是,在本技术的各个具体实施方式中,当涉及到需要根据对象的信息、对象的行为数据、对象的历史数据以及对象的位置信息等与对象身份或特性相关的数据进行相关处理时,都会先获得对象的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关国家和地区的相关法律法规和标准。此外,当本技术实施例需要获取对象的敏感信息时,会通过弹窗或者跳转到确认页面等方式获得对象的单独许可或者单独同意,在明确获得对象的单独许可或者单独同意之后,再获取用于使本技术实施例能够正常运行的必要的对象相关数据。
95.下面结合附图,对本技术实施例的具体实施方式进行详细说明。首先,结合附图描述本技术实施例中提供的一种系统镜像数据的处理方法。
96.请参照图1,图1示出了本技术实施例中提供的一种系统镜像数据的处理方法的实施环境示意图。在该实施环境中,主要涉及的软硬件主体包括信任根组件110和主板组件120,信任根组件110和主板组件120之间可以实现通信连接。其中,信任根组件110可以是一
种硬件或软件组件,被用来验证系统的安全性和可信度,它可以是独立的组件,也可以由系统制造商或软件提供商预先安装在主板组件120上,本技术对此不作限制。主板组件120承担着物理硬件平台的角色,是计算机系统的核心部分。示例性地,主板组件120可以包括但不限于主板、芯片组、处理器、内存以及其他与系统关键功能相关的元器件。
97.在计算机系统运行时,主板组件120的安全性对于整个系统的安全性和可信度来说至关重要,因此,本技术实施例中,设置信任根组件110和主板组件120进行安全通信和交互,尽可能确保主板组件120的安全性和可信度,保护计算机系统免受恶意软件、物理攻击或未经授权的更改等威胁。具体地,例如,参照图1,当主板组件120更新或者安装系统时,往往需要使用到系统镜像数据130,系统镜像数据130是计算机系统的一个副本,通常包含操作系统、应用程序、配置文件和其他关键数据等,可用于在设备上备份、恢复或者部署系统。如果系统镜像数据130出现错误或者被篡改的情况,主板组件120就很容易受到攻击,出现运行失常或者数据泄露的问题,影响设备的系统安全性和可靠性。因此,本技术实施例中,可以通过信任根组件110来保护和验证系统镜像数据的完整性和可靠性,它可以用于校验系统镜像数据130是否被篡改,使得只有经过授权的系统镜像数据130才能被主板组件1120加载和执行,从而构建可信的计算机系统。
98.本技术实施例中提供的系统镜像数据的处理方法,可以在信任根组件110侧执行。比如说信任根组件110内可以集成有用于执行系统镜像数据的处理方法的计算机程序,信任根组件110可以通过运行计算机程序和主板组件120以及其他的组件进行交互,实现对系统镜像数据的处理。
99.可以理解的是,本技术实施例中,对于信任根组件110和主板组件120所构成的设备类型不作具体限制。在一些实施例中,信任根组件110和主板组件120可以是终端设备中的组件;在另一些实施例中,信任根组件110和主板组件120也可以是服务器设备中的组件。具体地,终端设备可以包括智能手机、平板电脑、笔记本电脑、台式计算机、智能家居设备(如智能音箱)、智能穿戴设备(如智能手表)以及车载终端等;服务器设备可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,还可以是区块链网络中的节点服务器,但并不局限于此。
100.信任根组件110和主板组件120之间,可以通过无线网络或有线网络建立通信连接。该无线网络或有线网络可以使用标准通信技术和/或协议,网络可以设置为因特网,也可以是其它任何网络,例如包括但不限于局域网(local area network,lan)、城域网(metropolitan area network,man)、广域网(wide area network,wan)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合,本技术对此不作限制。
101.当然,可以理解的是,图1中所示出的只是本技术实施例中提供的系统镜像数据的处理方法一种可选的实施环境,实际的实施并不固定为图1中所示出的软硬件环境。
102.本技术实施例提供的方法可应用于各种技术领域,例如购物、游戏、社交、教育、云技术、人工智能、智慧交通、辅助驾驶等领域,本技术对此不作具体限制。
103.下面,结合上述对实施环境的描述,对本技术实施例中提供的一种系统镜像数据的处理方法进行详细介绍和说明。
104.本技术实施例中,对于系统镜像数据的处理,主要包括有读取、校验以及传输的过程,即信任根组件首先需要获取到系统镜像数据,对系统镜像数据进行校验,检测系统镜像数据是否为可信的数据,并在校验通过后将系统镜像数据传输给主机组件使用。
105.如图2所示,本技术实施例中,提供了一种系统镜像数据的处理方法,该系统镜像数据的处理方法可以应用于图1所示的信任根组件110中,信任根组件110可以用于和主板组件120通信连接,通过执行本技术实施例中提供的系统镜像数据的处理方法,实现对主板组件120的系统配置。
106.参照图2,本技术实施例中提供的系统镜像数据的处理方法,具体包括但不限于步骤210至步骤230:
107.步骤210、响应于触发指令,重置信任根组件中的有限状态机;
108.本步骤中,在对系统镜像数据进行处理时,首先需要激活启动信任根组件。本技术实施例中,信任根组件内的主控功能可以由有限状态机来实现,有限状态机是一种数学模型,用于描述系统或对象的行为,它由一组状态、转移条件和动作组成,可以用来描述系统在不同状态下的行为和状态之间的转换。相对于传统的处理器芯片来说,采用有限状态机的方式实现信任根组件的控制和调度,能够精简信任根组件的控制逻辑,便于对信任根组件进行适应性的更新调整,降低信任根组件的实现成本。而且,由于有限状态机的逻辑实现相对简单,可以有利于减小相关芯片的占用体积,方便信任根组件的小型化和集成化。
109.本步骤中,在激活启动信任根组件时,可以响应于一个指令,将该指令记为触发指令。当接收到触发指令后,可以重置信任根组件中的有限状态机,如此,将使得有限状态机回归到初始状态,进行转移条件的判断,执行对应的动作,从而实现信任根组件的控制和调度。具体地,本技术实施例中,触发指令可以用于重新初始化信任根组件中的有限状态机,使其返回到初始状态,触发指令可以是一种特定格式的命令,包含必要的参数和指令操作码,用于指示信任根组件执行重置操作,对于其具体采用的指令类型、数据格式以及数据内容,本技术不作限制,其可以根据实际的需要灵活调整。
110.本技术实施例中,对于触发指令的生成方式不作限制,其可以根据实际的需要灵活实施。示例性地,在一些实施例中,触发指令可以是由系统管理员、安全团队或其他授权对象生成的命令,也即触发指令可以是基于人为的操作生成的;在一些实施例中,触发指令也可以是由信任根组件自动生成的,比如说可以自定义一些重置逻辑,当发现系统环境满足设定的重置逻辑后,信任根组件可以自动生成一个触发指令来初始化信任根组件中的有限状态机,此处具体的重置逻辑可以根据需要来灵活设定,本技术在此不作赘述。
111.本技术实施例中,若触发指令是在信任根组件外部生成的,那么在生成触发指令后,可以将其传输到信任根组件中,以触发有限状态机的重置操作。此处,触发指令的传输方式可以根据系统架构和具体实现而有所不同。示例性地,本技术实施例中所采用的传输方式可以包括通过网络连接、物理接口或其他特定通信渠道将触发指令发送到信任根组件,当然,在传输过程中,需要尽可能确保触发指令的完整性和安全性,以防止触发指令被篡改或者出现未经授权的访问。相对地,若触发指令是在信任根组件内部生成的,那么在生成触发指令后,信任根组件可以直接执行触发指令,以触发有限状态机的重置操作。
112.本步骤中,重置信任根组件中的有限状态机,即使得有限状态机进入到初始状态(也可称为开始状态)。本技术实施例中,有限状态机的状态可以包括有多种,如初始状态、
取指令状态、指令解码状态、操作状态和过滤状态,其中,初始状态为有限状态机在开始运行时所处的状态,在该状态下,有限状态机等待输入触发跳转,本技术实施例中,主要是等待初始指针以确定需要执行的程序所在的地址。在取指令状态下,有限状态机从对应的存储单元中获取程序代码,它负责将程序代码存储到内部寄存器或缓冲区中,以供后续的指令解码和执行。在指令解码状态下,有限状态机对获取到的程序代码进行解码,识别出程序代码的操作码以及操作数等关键信息,指令解码状态下通常会生成控制信号,可以用于控制其他部件执行相关的动作。在操作状态下,有限状态机执行程序代码所需的操作,可能包括算术运算、逻辑运算、存储器读写等操作,本技术对此不作限制。操作状态可以根据程序代码的要求,与其他部件进行数据交互,完成程序代码的具体功能。在过滤状态下,有限状态机对输入数据进行过滤和检查,这个状态通常用于处理无效或错误的输入数据,以确保只有有效的数据能够进入下一个状态,过滤状态可以帮助提高系统的稳定性和容错性。这些状态组合在一起,可以描述一个有限状态机的状态转移过程。
113.当然,可以理解的是,根据具体的应用场景和需求,有限状态机的状态可以有更多的变化和扩展。上述的示例仅提供了一种有限状态机可能的状态组合,具体的状态设计,可以需要根据实际的系统架构和功能需求来确定,本技术对此不作限制。
114.本技术实施例中,基于有限状态机来实现信任根组件的主控,可以大大降低信任根组件的实现成本,且方便对信任根组件进行编码以及更新,有利于实现将信任根组件作为独立插拔式配置的应用。
115.步骤220、通过有限状态机读取解析预先存储在第一存储单元的信任根控制程序,生成第一指令;
116.本步骤中,在激活启动信任根组件后,可以通过有限状态机实现信任根组件的控制和调度。具体地,本技术实施例中,可以实现设定信任根组件对应的控制程序,记为信任根控制程序,信任根控制程序是一种安全性较高的软件程序,通常可以用于引导计算机系统或嵌入式设备的启动过程。它可以负责验证和加载系统的各个组件,以提高系统在启动过程中的完整性和安全性。一般来说,信任根控制程序通常预先存储在指定的存储单元中,本技术实施例中,将其记为第一存储单元。第一存储单元的具体类型可以因系统的设计和要求而有所不同,本技术实施例对此不作限制,在一些实施例中,第一存储单元可以采用rom(只读存储器)或可信的非易失性存储器,这种存储单元通常具有只读的特性,将信任根控制程序存储在rom中,可以尽可能确保信任根控制程序在运行过程中的不可更改性和安全性。在另一些实施例中,也可以使用可信的闪存或eeprom(electrically erasable programmable read only memory,带电可擦除可编程只读存储器)作为第一存储单元,这些存储单元可以通过特定的安全机制进行编程和擦除,从而帮助实现对信任根控制程序的安全访问和变更,可以提高信任根控制程序的复用性。
117.可以理解的是,本技术实施例中,第一存储单元可以包括一个或者多个实体的存储器件,本技术对其具体的硬件构成不作限制。
118.本步骤中,在初始化有限状态机后,有限状态机可以用于控制信任根控制程序的解析和指令生成过程。初始状态下,有限状态机可以根据相关的指针信息进入到取指令状态,以确保从第一存储单元读取信任根控制程序的程序代码,具体的读取过程可以通过特定的接口和控制信号来实现。在得到信任根控制程序的程序代码后,经过解析过程,可以提
取程序代码中的操作码和操作数等关键信息,解析的过程可以根据信任根控制程序的格式和规则进行,例如,根据特定的指令格式提取操作码,操作数和寄存器地址等信息,本技术对此不作限制。根据解析得到的操作码信息,有限状态机可以根据预定义的指令格式和规则生成第一指令,这个过程可以包括根据操作码和操作数等信息进行编码,并将生成的第一指令存储在适当的内存或寄存器中。
119.步骤230、将第一指令发送到读取校验单元,以使得读取校验单元接收第一指令后从第二存储单元获取系统镜像数据,并对系统镜像数据进行校验得到校验结果。
120.本步骤中,在通过有限状态机生成第一指令后,可以将第一指令发送给读取校验单元。本技术实施例中,读取校验单元是一个重要模块,其主要功能是接收有限状态机传输的指令并执行相应的操作。在本步骤中,读取校验单元的功能是接收第一指令,根据第一指令从第二存储单元获取系统镜像数据,并对其进行校验以得到校验结果。此处,系统镜像数据是计算机系统的一个副本,通常包含操作系统、应用程序、配置文件和其他关键数据等,可用于在设备上备份、恢复或者部署系统。在系统初始化配置或更新的过程中,可以用作基础。
121.当然,需要说明的是,系统镜像数据不仅可以在系统初始化配置或更新的过程中使用,还可以在系统恢复、虚拟机部署、容器化部署、灾难恢复以及系统升级或者迁移等场景下使用,本技术实施例中,对于系统镜像数据的具体内容和用途不作限制。在一些实施例中,系统镜像数据可以用于进行系统恢复作业,比如说当设备的计算机系统发生故障或崩溃时,可以使用系统镜像数据来恢复系统到初始状态,从而帮助修复操作系统损坏、恢复丢失的文件或者恢复配置设置等。在一些实施例中,系统镜像数据可以用于快速部署新的虚拟机实例,在虚拟化环境中,管理员可以使用预先配置好的系统镜像数据来创建新的虚拟机,支撑批量化的虚拟机构建,可以提高虚拟机的部署效率。在一些实施例中,系统镜像数据可以用于创建容器实例,比如说系统镜像数据为容器镜像,包含了应用程序及其依赖的轻量化的独立运行环境,通过使用预先配置好的容器镜像,可以快速部署和启动容器实例。在一些实施例中,系统镜像数据可以用于快速恢复系统和业务数据,比如说在灾难恢复情况下,通过使用备份的系统镜像数据,可以在短时间内重新建立整个系统,并恢复重要的业务数据和相关配置,有利于提高系统运行的安全性和可靠性。
122.本技术实施例中,对于系统镜像数据,可以将其预存在一个存储单元中,将该存储单元记为第二存储单元。第二存储单元的具体类型可以参照第一存储单元设置,在此不作赘述。类似地,可以理解的是,本技术实施例中,第一存储单元可以包括一个或者多个实体的存储器件,本技术对其具体的硬件构成不作限制。
123.本步骤中,将第一指令发送到读取校验单元,可以通过多种方式实现,本技术对此不作限制。示例性地,比如说设置有限状态机的主控单元可以通过系统总线和读取校验单元进行通信,系统总线是计算机系统中不同单元模块之间进行数据传输和通信的媒介,可以将指令从发送方传输到接收方。读取校验单元接收到第一指令后,可以根据第一指令的具体内容和需求,从第二存储单元中获取相应的系统镜像数据。示例性地,第二存储单元可以是计算机系统中的硬盘或者其他非易失性存储器。读取校验单元可以根据第一指令中的地址信息,通过读取存储器控制器、存储器接口电路等硬件组件,向第二存储单元发出读取请求,从中获取所需的系统镜像数据。
124.本技术实施例中,读取校验单元在得到系统镜像数据后,可以对系统镜像数据进行校验以得到校验结果。校验的目的是为了检测系统镜像数据的完整性和正确性,以防止出现数据损坏或被篡改的情况。具体地,本技术实施例中,对于系统镜像数据的校验方式不作限制,常见的校验方法包括循环冗余校验(crc)和校验和等方式。读取校验单元可以根据系统设计的要求和指令中的校验算法,对系统镜像数据进行相应的算法运算,以产生校验结果。
125.本技术实施例中,读取校验单元得到的校验结果可以用于表征系统镜像数据的校验情况。具体地,校验结果可以分为校验通过或者校验不通过两种,本技术中,对于校验结果的具体数据类型和所表征的含义不作限制。示例性地,比如说在一些实施例中,校验结果可以是一个特定的值或者标志,如果校验结果与预期的值相符,则说明系统镜像数据是完整和正确的,校验结果表示为校验通过的情况。反之,如果校验结果与预期的值不符,则说明系统镜像数据可能存在损坏或篡改的情况,需要采取相应的纠错措施,校验结果表示为校验不通过的情况。
126.本技术实施例中,设置读取校验单元来实现对系统镜像数据的校验,而主控单元不参与对系统镜像数据的读取和计算,能够大大降低信任根组件中主控单元和系统镜像数据之间的关联,可以在信任根组件受到外部劫持时降低出现系统镜像数据泄漏的风险。
127.可以理解的是,本技术实施例中提供一种系统镜像数据的处理方法,响应于触发指令,重置信任根组件中的有限状态机,通过有限状态机实现信任根组件的控制和调度,可以简化信任根组件的控制逻辑,降低硬件所需要占用的空间和实现成本;通过有限状态机读取解析预先存储在第一存储单元的信任根控制程序,生成第一指令,使用有限状态机来解析信任根控制程序,生成对应的第一指令作为控制流,可以降低信任根控制程序编码以及更新时的业务复杂度,适用性更好;然后将第一指令发送到读取校验单元,以使得读取校验单元接收第一指令后从第二存储单元获取系统镜像数据,并对系统镜像数据进行校验得到校验结果,具体的系统镜像数据读取和校验工作由读取校验单元来实现,可隔绝处理器和系统镜像数据,降低系统镜像数据的泄露风险,有利于提高设备的系统安全性和可靠性。
128.具体地,在一种可能的实现方式中,触发指令通过以下方式生成:
129.检测信任根组件的电源电压;
130.将电源电压和预设的电压阈值进行比较,若电源电压大于或者等于电压阈值,生成触发指令。
131.如前所述的,本技术实施例中,触发指令可以是由信任根组件自动生成的,示例性地,在一些场景下,触发指令可以是信任根组件在上电后自行触发的。
132.本技术实施例中,可以检测信任根组件的电源电压,并且针对其电源电压设置一个电压阈值,将检测到的电源电压和预设的电压阈值进行比较,如果电源电压小于电压阈值,则可以认为当前信任根组件还未上电,不生成触发指令;反之,如果电源电压大于或者等于电压阈值,则可以认为当前信任根组件已经上电,可以对应生成触发指令。
133.具体地,本技术实施例中,在检测信任根组件的电源电压时,可以通过电路中的电压检测器或电压传感器来实现,这些电压检测器或电压传感器可以将电源电压分压进行采样,然后将采样结果转换为电压信号或电流信号,以供后续的比较和处理。
134.对于设定的电压阈值和比较判断的逻辑,在电路层面上可以通过使用电阻器、电
容器以及比较器等元件来实现。例如,电阻器和电容器可以组合成一个电压分压网络,用于产生所需的电压阈值,比较器则可以将电源电压和预设的电压阈值进行比较,并输出相应的逻辑信号来表示比较结果。比如说,当电源电压大于或等于预设的电压阈值时,比较器输出一个逻辑高电平信号,表示电源电压达到触发条件。这个逻辑高电平信号可以被后续电路或处理器捕获,用于生成触发指令以及触发其他操作。在生成触发指令时,可以通过逻辑电路或微控制器等方式来实现:逻辑电路可以根据比较器的输出信号进行判定和控制,从而生成触发指令;微控制器则可以通过编程来监测比较器输出,并根据需要生成相应的触发指令,本技术对此不作限制。
135.具体地,参照图3,在一种可能的实现方式中,通过有限状态机读取解析预先存储在第一存储单元的信任根控制程序,生成第一指令,包括:
136.步骤310、从程序计数器中获取初始指针,并触发有限状态机进入取指令状态;其中,初始指针用于指示信任根控制程序的起始地址;
137.步骤320、根据初始指针,从第一存储单元读取信任根控制程序的第一程序代码段,并触发有限状态机进入指令解码状态;
138.步骤330、对第一程序代码段进行解析,生成第一指令。
139.本技术实施例中,在通过有限状态机读取解析预先存储在第一存储单元的信任根控制程序,生成第一指令时,首先,可以从程序计数器中获取初始指针。此处,程序计数器(program counter,pc)是一种用于存储指令地址的寄存器。在计算机系统中,程序计数器一般被用于指示下一条将要执行的指令的地址。通过从程序计数器中获取初始指针,可以确定信任根控制程序的起始地址,并触发有限状态机进入取指令状态。本技术实施例中,初始指针可以是一个特定的值,用于指示信任根控制程序的起始地址,它可以是一个内存地址,也可以是一个相对偏移量。事先将初始指针加载到程序计数器中,可以通过程序计数器标定信任根控制程序的起始地址。
140.本技术实施例中,根据初始指针,可以从第一存储单元读取信任根控制程序的一个代码段,此处,将读取的代码段记为第一程序代码段,并触发有限状态机进入指令解码状态。具体地,读取第一程序代码段时,可以通过将初始指针作为内存地址或偏移量来访问第一存储单元中的数据。本技术实施例中,程序计数器中存储的指针可以在取指令状态下被送入第一存储单元的地址输入端,然后从第一存储单元的数据输出端可以获取得到对应的第一程序代码段。得到第一程序代码段后,可以将该代码段送入解码器中进行解析,以生成对应的第一指令。
141.具体地,在一种可能的实现方式中,对第一程序代码段进行解析,生成第一指令,包括:
142.对第一程序代码段进行解析,得到对应的操作码信息;
143.根据操作码信息,确定并触发有限状态机进入对应的操作状态;
144.根据操作状态,生成对应的第一指令。
145.本技术实施例中,在对第一程序代码段进行解析,生成第一指令时,可以将第一程序代码段分解为不同的组成部分,并从中提取操作码信息。操作码是程序代码中的一部分,用于指示所需执行的操作类型。解析过程可以根据程序代码的格式和对应规则来确定操作码的位置和长度。
146.具体地,本技术实施例中,在对第一程序代码段进行解析时,首先可以确定第一程序代码段对应的指令格式,即根据计算机体系结构和指令集架构的规范,确定第一程序代码段所采用的指令格式。一般来说,指令格式可以包括操作码的位置、长度以及其他可能的字段信息。根据指令格式,可以从第一程序代码段中提取操作码信息。一般来说,操作码位于程序代码的固定位置,并且有固定的位数。通过读取指定的位数,并将其解码为二进制或十进制形式,可以得到对应的操作码信息。根据操作码信息,可以确定对应的操作状态,也即第一程序代码段所指定的操作类型,本技术实施例中,操作状态可以包括有执行算术运算、逻辑运算、数据传输或控制流程等,本技术对此不作限制。接着,可以触发有限状态机进入对应的操作状态,基于前述的描述可以得知,有限状态机是一种模型,可以用于描述程序的不同阶段和状态转换。根据操作状态的不同,可以触发有限状态机进入相应的操作状态,以执行相应的操作,可以生成对应的第一指令并下发。
147.请参照图4,本技术实施例中,操作状态的类型可以有多种,在对第一程序代码段进行读取解析的过程中,根据有限状态机进入操作状态的类型,可以对应生成不同的第一指令。具体地,图4中,根据初始指针pc_start获取到第一程序代码段进行读取解析,如果当前的操作码信息(opcode,op)为op=nop,那么有限状态机进入空操作状态,在这种情况下,计算机将不执行任何操作,继续等待下一条操作码信息,故而此时可以生成用于指示解析得到下一条操作码信息的第一指令。如果op=wr_reg,那么有限状态机进入到写寄存器状态,在这种情况下,计算机将要执行写寄存器的操作,将相关的数据写入到指定的寄存器中,此时可以生成用于指示执行写寄存器操作的第一指令。如果op=rd_reg,那么有限状态机进入到读寄存器状态,在这种情况下,计算机将要执行读取寄存器的操作,从指定的寄存器中读取数据,此时可以生成用于指示执行读寄存器操作的第一指令。如果op=wr_mem,那么有限状态机进入到写内存状态,在这种情况下,计算机将要执行写内存的操作,将相关的数据写入到指定的内存地址中,此时可以生成用于指示执行写内存操作的第一指令。如果op=rd_mem,那么有限状态机进入到读内存状态,在这种情况下,计算机将要执行取内存的操作,从指定的内存地址中读取数据,此时可以生成用于指示执行读内存操作的第一指令。如果op=cmp,那么有限状态机进入到比较状态,在这种情况下,计算机将要执行比较操作,将指令中的数据与其他数据进行比较,并根据比较结果设置相应的标志位,此时可以生成用于指示执行比较操作的第一指令。如果op=jump,那么有限状态机进入到跳转状态,在这种情况下,计算机将要执行跳转操作,根据指定的条件将程序的执行流程转移到指定的地址,此时可以生成用于指示执行跳转操作的第一指令。
148.可以理解的是,上述对于有限状态机的状态和第一指令的描述,仅用于示例性说明一些第一指令的生成逻辑。这些有限状态机状态的具体类型,对应的操作和第一指令的生成过程,可以因计算机体系结构和指令集的不同而有所差异,其可以根据需要灵活设定,本技术对此不作限制。
149.具体地,参照图5,在一种可能的实现方式中,通过有限状态机读取解析预先存储在第一存储单元的信任根控制程序,生成第一指令,还包括:
150.步骤510、根据当前的操作码信息生成对应的第一指令后,对初始指针进行递增操作,得到目标指针;
151.步骤520、将目标指针和预设的指针阈值进行比较;
152.步骤530、若目标指针小于指针阈值,根据目标指针,继续从第一存储单元读取信任根控制程序的第二程序代码段,并触发有限状态机进入指令解码状态;
153.步骤540、对第二程序代码段进行解析,生成第一指令。
154.本技术实施例中,需要说明的是,对于信任根控制程序来说,其一般包括有不止一条程序指令。因此,在对信任根控制程序进行读取解析时,其过程可以包括有对多个程序代码段的依次读取解析。具体地,一般来说,在根据当前的操作码信息生成对应的第一指令后,可以对指针数据进行一次递增操作,比如说对于根据第一程序代码段解析生成第一指令后,可以对初始指针进行一次递增操作。此处,递增操作用于将指针数据增加一个固定的量。在计算机程序中,递增操作通常用于增加变量的值,使其增加一个固定的步长,该步长一般可以是1,本技术对此不作限制。
155.对初始指针(或者其他的指针数据)进行递增操作后,可以得到下一个程序代码段的起始位置,这样就继续对信任根控制程序进行解析,从而生成另一条第一指令。当然,需要说明的是,信任根控制程序本身的数据长度是有限的,其在第一存储单元中对应的地址范围也是有限的,因此,在对指针数据进行递增操作后,实际还需要判断下当前的指针数据指向的地址是否还在信任根控制程序对应的地址范围内。具体地,本技术实施例中,可以根据信任根控制程序对应的地址范围,预先设定一个指针阈值,该指针阈值指向信任根控制程序对应的地址范围的后一个地址。如参照图4,可以设定指针阈值为pc_max,当有限状态机进入完成状态时(即生成第一指令后),可以比较当前的指针数据pc和指针阈值pc_max的大小,如果当前的指针数据pc小于指针阈值pc_max,可以使得有限状态机重新进入取指令状态。
156.在对指针数据进行递增操作后,将得到的新的指针记为目标指针,可以将目标指针和指针阈值进行比较,如果目标指针小于指针阈值,则说明信任根控制程序还没有执行完毕,此时可以继续根据目标指针,从第一存储单元读取信任根控制程序的程序代码段,并触发有限状态机进入指令解码状态,将此处的程序代码段记为第二代码段,后续可以对第二程序代码段进行解析,生成新的第一指令。然后继续返回对当前的指针数据进行递增操作。相对地,如果目标指针等于指针阈值,则说明信任根控制程序已经执行完毕,此时可以结束生成第一指令的进程。
157.具体地,在一种可能的实现方式中,方法还包括:
158.若目标指针等于指针阈值,触发有限状态机进入过滤状态,并检测是否出现中断信号;
159.若检测出现中断信号,记录中断信号对应的中断源;
160.根据中断源,对目标指针进行重新赋值,并返回根据目标指针,继续从第一存储单元读取信任根控制程序的第二程序代码段,并触发有限状态机进入指令解码状态的步骤。
161.本技术实施例中,如前所述的,如果目标指针等于指针阈值,则说明信任根控制程序已经执行完毕,此时,有限状态机就会触发进入过滤状态的操作。在过滤状态下,系统开始检测是否出现中断信号。中断信号可能来自外部设备或其他系统组件,它指示系统需要处理特定事件或情况。
162.本技术实施例中,如果检测到中断信号存在,可以记录中断信号对应的中断源,中断源可能是某个外部设备的输入、异常条件或其他需要系统响应的事件。当出现中断信号
时,很可能会导致信任根控制程序执行中断。因此,本技术实施例中,可以根据中断源的不同,可以相应地重新对目标指针进行赋值。目标指针的重新赋值是为了确保系统在继续运行时,能够适当地响应中断信号。目标指针重新赋值后,有限状态机重新进入取指令状态,将返回到第一存储单元,从目标指针所指向的位置读取信任根控制程序的第二程序代码段,进入解析和第一指令的生成流程。
163.可以理解的是,本技术实施例中,可以根据中断信号的出现和中断源的类型,灵活地调整目标指针的值,并在适当时刻重新开始信任根控制程序的执行,能够高效、准确地处理中断事件并使得信任根组件继续正常执行,可以提高系统的运行稳定性和可靠性。
164.具体地,在一种可能的实现方式中,读取校验单元包括直接内存访问引擎和加密校验器,第一指令包括数据读取指令和数据校验指令;将第一指令发送到读取校验单元,以使得读取校验单元接收第一指令后从第二存储单元获取系统镜像数据,并对系统镜像数据进行校验得到校验结果,包括:
165.将数据读取指令发送到直接内存访问引擎,以使得直接内存访问引擎从第二存储单元获取系统镜像数据,并将系统镜像数据搬移到加密校验器;
166.将数据校验指令发送到加密校验器,以使得加密校验器对系统镜像数据进行校验得到校验结果。
167.本技术实施例中,对于读取校验单元来说,其可以包括两个部分,分别为直接内存访问引擎和加密校验器。其中,直接内存访问引擎负责从第二存储单元获取系统镜像数据,主控单元可以将用于数据读取的第一指令发送给直接内存访问引擎,使得直接内存访问引擎能够按照第一指令从第二存储单元读取系统镜像数据,并将数据传输到加密校验器进行进一步处理,此处,可以将用于数据读取的第一指令记为数据读取指令。
168.加密校验器是读取校验单元的重要组成部分,它用于对从第二存储单元获取的系统镜像数据进行校验。主控单元可以将用于数据校验的第一指令发送给加密校验器,使得加密校验器对系统镜像数据进行校验操作,以检测数据完整性和安全性,此处,可以将用于数据校验的第一指令记为数据校验指令。
169.可以理解的是,本技术实施例中,主控单元仅仅负责指令的传输工作,不参与对系统镜像数据的读取和计算,具体的数据获取和校验过程由直接内存访问引擎和加密校验器来实现,可隔绝处理器和系统镜像数据,降低系统镜像数据的泄露风险,有利于提高设备的系统安全性和可靠性。
170.具体地,在一种可能的实现方式中,对系统镜像数据进行校验得到校验结果,包括:
171.获取系统镜像数据对应的数字签名和公钥;
172.对系统镜像数据进行哈希处理,得到第一哈希值;
173.通过公钥对数字签名进行解密,得到第二哈希值;
174.比较第一哈希值和第二哈希值是否一致;
175.若第一哈希值和第二哈希值一致,确定系统镜像数据校验通过,或者,若第一哈希值和第二哈希值不一致,确定系统镜像数据校验不通过。
176.本技术实施例中,在一些情况下,在对系统镜像数据进行校验时,可以使用数字加密算法来实现。具体地,例如,可以同步获取系统镜像数据对应的数字签名和公钥,其中,数
字签名是通过对系统镜像数据进行哈希处理后,再使用私钥加密得到的。公钥则用于对数字签名进行解密和验证。获取数字签名和公钥的方式可以是通过安全渠道获取,如通过数字证书机构或安全服务提供商获得,当然,这些数据也可以是和系统镜像数据绑定的,即可以同步获取得到系统镜像数据、系统镜像数据对应的数字签名和公钥。
177.在得到系统镜像数据、数字签名和公钥后,可以对系统镜像数据进行哈希处理,得到第一哈希值,哈希处理是一种不可逆的算法,可以将系统镜像数据转化为固定长度的哈希值。通过哈希处理可以保证数据的唯一性,即使数据发生微小的改变,也会导致哈希值的不同,因此,可以通过哈希处理来实现对数据的校验。本技术实施例中,还使用公钥对数字签名进行解密,得到解密后的数据,即第二哈希值。可以理解的是,解密后的数据应该与哈希处理后的系统镜像数据相匹配,否则说明数字签名或者系统镜像数据存在被篡改的情况。因此,本技术实施例中,可以比较第一哈希值和第二哈希值:如果两者一致,则表明系统镜像数据的完整性得到验证,可以确定校验通过;如果两者不一致,则表明系统镜像数据可能被篡改或不完整,则校验不通过,需要进行进一步的检查和处理。
178.具体地,在一种可能的实现方式中,方法还包括:
179.若系统镜像数据校验通过,生成第二指令;
180.响应于主板组件的获取请求,将第二指令发送给读取校验单元,以使得读取校验单元接收第二指令后将系统镜像数据传输给主板组件。
181.本技术实施例中,如果系统镜像数据校验通过,那么说明系统镜像数据可以正常使用。此时,信任根组件可以等待主板组件的获取请求,当主板组件发送获取请求时,可以响应于获取请求发送一个指令到读取校验单元,以使得读取校验单元将系统镜像数据传输给主板组件,本技术实施例中,可以将该指令记为第二指令。
182.当然,相对地,在一些实施例中,如果系统镜像数据校验不通过,可以生成警示信息,并且将警示信息发送给主板组件,以告知使用者当前的系统镜像数据存在有安全风险,需要进行进一步的检查和处理,本技术实施例中,对于警示信息的具体形式和内容不作限制,其可以根据需要灵活调整。
183.下面,结合具体的应用实施流程,对本技术中提供的系统镜像数据的处理方法进行详细介绍和说明。
184.首先,请参照图6,图6示出了本技术实施例中提供的一种信任根组件的结构示意图。在图6所示出的信任根组件中,主控单元由有限状态机模型搭建,信任根组件内可以包括有随机存取存储器(random access memory,ram)、只读存储器(read-only memory,rom)、debug调试工具、计时器(timer)、通用输入输出端口(gpio)、读取校验单元等元器件,在通信传输上,可以包括有总线、串行外围设备接口(spi)以及mailbox通信单元,其中,各个元器件和单元通过总线连接,主控单元可以通过总线来下发对应的指令;读取校验单元则可以通过串行外围设备接口和外部进行通信,从外部获取数据。mailbox是一种用于进程间通信(ipc)的机制,用于在多任务或多线程的系统中传递消息和共享数据,它允许不同的任务或线程之间相互发送和接收消息,以进行协调和同步。本技术实施例中,读取校验单元可以采用直接内存访问(dma)引擎和crypto(密码)校验器。
185.在图6中,可以通过多个flash存储系统镜像数据,如可以包括有bios staging flash、bios flash、bmc flash0和bmc flash1,其中,bios staging flash、bios flash用
于存储和计算机基本输入/输出系统(bios)固件进行更新或升级相关的数据,bmc flash0和bmc flash1则用于存储和计算机系统的基板管理控制器相关的数据。这些flash构成本技术实施例中的第二存储单元,读取校验单元可以通过串行外围设备接口来获取其中存储的系统镜像数据。从图6中可以看出,本技术实施例中,主控单元可以只负责指令的传输工作,不参与对系统镜像数据的读取和计算,指令由总线下发,而系统镜像数据的传输则主要通过串行外围设备接口(spi)以及mailbox通信单元实现,不经过总线。因此,上述的架构,可隔绝处理器和系统镜像数据,降低系统镜像数据的泄露风险,有利于提高设备的系统安全性和可靠性。
186.请参照图7和图8,本技术实施例中,提供了一种信任根组件和主板组件的设置关系示意图。本技术实施例中,信任根组件和主板组件可以通过接插连接实现通信连接,在信任根组件内部,可以通过mailbox功能实现和主板组件的通信。在主板组件中,可以包括有至少一个cpu(处理器)、pch(platform controller hub,南桥)、bmc(baseboard management controller,基板管理控制器)以及cpld(complex programmable logic device,复杂可编程逻辑器件),但并不局限于此。信任根组件还可以连接有第二存储单元,第二存储单元用于存储系统镜像数据。并且,本技术实施例中,还可以设置有存储信任根控制程序的闪存,即图7和图8中的rot flash,图7中,rot flash设置在信任根组件的外部,可以将内部存储的信任根控制程序传输给信任根组件的只读存储器;图8中,rot flash设置在信任根组件的内部,可以作为第一存储单元,本技术对其具体的实施不作限制。
187.本技术实施例中,信任根组件可以对系统镜像数据实现读取、校验以及传输的处理。例如,信任根组件可以获取到第二存储单元中的系统镜像数据,对系统镜像数据进行校验,检测系统镜像数据是否为可信的数据,并在校验通过后将系统镜像数据传输给主机组件使用,如此,可以提高主机组件的运行稳定性和可靠性。
188.参照图9,本技术实施例中,还提供一种系统镜像数据的处理装置,包括:
189.重置模块910,用于响应于触发指令,重置信任根组件中的有限状态机;
190.生成模块920,用于通过有限状态机读取解析预先存储在第一存储单元的信任根控制程序,生成第一指令;
191.发送模块930,用于将第一指令发送到读取校验单元,以使得读取校验单元接收第一指令后从第二存储单元获取系统镜像数据,并对系统镜像数据进行校验得到校验结果。
192.可选地,装置还包括第二生成模块,第二生成模块具体用于:
193.检测信任根组件的电源电压;
194.将电源电压和预设的电压阈值进行比较,若电源电压大于或者等于电压阈值,生成触发指令。
195.可选地,生成模块具体用于:
196.从程序计数器中获取初始指针,并触发有限状态机进入取指令状态;其中,初始指针用于指示信任根控制程序的起始地址;
197.根据初始指针,从第一存储单元读取信任根控制程序的第一程序代码段,并触发有限状态机进入指令解码状态;
198.对第一程序代码段进行解析,生成第一指令。
199.可选地,生成模块具体用于:
200.对第一程序代码段进行解析,得到对应的操作码信息;
201.根据操作码信息,确定并触发有限状态机进入对应的操作状态;
202.根据操作状态,生成对应的第一指令。
203.可选地,生成模块具体用于:
204.若当前的操作码信息触发有限状态机进入空操作状态,生成用于指示解析得到下一条操作码信息的第一指令;
205.或者,若当前的操作码信息触发有限状态机进入写寄存器状态,生成用于指示执行写寄存器操作的第一指令;
206.或者,若当前的操作码信息触发有限状态机进入读寄存器状态,生成用于指示执行读寄存器操作的第一指令;
207.或者,若当前的操作码信息触发有限状态机进入写内存状态,生成用于指示执行写内存操作的第一指令;
208.或者,若当前的操作码信息触发有限状态机进入读内存状态,生成用于指示执行读内存操作的第一指令;
209.或者,若当前的操作码信息触发有限状态机进入比较状态,生成用于指示执行比较操作的第一指令;
210.或者,若当前的操作码信息触发有限状态机进入跳转状态,生成用于指示执行跳转操作的第一指令。
211.可选地,生成模块具体用于:
212.根据当前的操作码信息生成对应的第一指令后,对初始指针进行递增操作,得到目标指针;
213.将目标指针和预设的指针阈值进行比较;
214.若目标指针小于指针阈值,根据目标指针,继续从第一存储单元读取信任根控制程序的第二程序代码段,并触发有限状态机进入指令解码状态;
215.对第二程序代码段进行解析,生成第一指令。
216.可选地,生成模块还用于:
217.若目标指针等于指针阈值,触发有限状态机进入过滤状态,并检测是否出现中断信号;
218.若检测出现中断信号,记录中断信号对应的中断源;
219.根据中断源,对目标指针进行重新赋值,并返回根据目标指针,继续从第一存储单元读取信任根控制程序的第二程序代码段,并触发有限状态机进入指令解码状态的步骤。
220.可选地,读取校验单元包括直接内存访问引擎和加密校验器,第一指令包括数据读取指令和数据校验指令;发送模块具体用于:
221.将数据读取指令发送到直接内存访问引擎,以使得直接内存访问引擎从第二存储单元获取系统镜像数据,并将系统镜像数据搬移到加密校验器;
222.将数据校验指令发送到加密校验器,以使得加密校验器对系统镜像数据进行校验得到校验结果。
223.可选地,装置还包括校验模块,校验模块具体用于:
224.获取系统镜像数据对应的数字签名和公钥;
225.对系统镜像数据进行哈希处理,得到第一哈希值;
226.通过公钥对数字签名进行解密,得到第二哈希值;
227.比较第一哈希值和第二哈希值是否一致;
228.若第一哈希值和第二哈希值一致,确定系统镜像数据校验通过,或者,若第一哈希值和第二哈希值不一致,确定系统镜像数据校验不通过。
229.可选地,装置还包括第三生成模块,第三生成模块具体用于:
230.若系统镜像数据校验通过,生成第二指令;
231.响应于主板组件的获取请求,将第二指令发送给读取校验单元,以使得读取校验单元接收第二指令后将系统镜像数据传输给主板组件。
232.可选地,装置还包括第四生成模块,第四生成模块具体用于:
233.若系统镜像数据校验不通过,生成警示信息;
234.将警示信息发送给主板组件。
235.可以理解的是,如图2所示的系统镜像数据的处理方法实施例中的内容均适用于本系统镜像数据的处理系统实施例中,本系统镜像数据的处理系统实施例所具体实现的功能与如图2所示的系统镜像数据的处理方法实施例相同,并且达到的有益效果与如图2所示的系统镜像数据的处理方法实施例所达到的有益效果也相同。
236.本技术实施例还公开了一种电子设备,包括:
237.至少一个处理器;
238.至少一个存储器,用于存储至少一个程序;
239.当至少一个程序被至少一个处理器执行,使得至少一个处理器实现如图2所示的系统镜像数据的处理方法实施例。
240.可以理解的是,如图2所示的系统镜像数据的处理方法实施例中的内容均适用于本电子设备实施例中,本电子设备实施例所具体实现的功能与如图2所示的系统镜像数据的处理方法实施例相同,并且达到的有益效果与如图2所示的系统镜像数据的处理方法实施例所达到的有益效果也相同。
241.本技术实施例的电子设备,可以是终端设备、计算机设备或者服务器设备。
242.示例性地,参照图10,图10为本技术实施例中提供的一种电子设备的结构示意图。以电子设备是终端设备为例,图10中,终端设备1000可以包括rf(radio frequency,射频)电路1010、包括有一个或一个以上计算机可读存储介质的存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、短距离无线传输模块1070、包括有一个或者一个以上处理核心的处理器1080、以及电源1090等部件。本领域技术人员可以理解,图10中示出的设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
243.rf电路1010可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器1080处理;另外,将涉及上行的数据发送给基站。通常,rf电路1010包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、对象身份模块(sim)卡、收发信机、耦合器、lna(low noise amplifier,低噪声放大器)、双工器等。此外,rf电路1010还可以通过无线通信与网络和其他设备通信。无线通信可以使用任一通信标准或协议,包括但不限于gsm(global system of mobile communication,全球
移动通讯系统)、gprs(general packet radio service,通用分组无线服务)、cdma(code division multiple access,码分多址)、wcdma(wideband code division multiple access,宽带码分多址)、lte(long term evolution,长期演进)、电子邮件、sms(short messaging service,短消息服务)等。
244.存储器1020可用于存储软件程序以及模块(或者单元)。处理器1080通过运行存储在存储器1020的软件程序以及模块(或者单元),从而执行各种功能应用以及数据处理。存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能)等;存储数据区可存储根据终端设备1000的使用所创建的数据(比如音频数据、电话本)等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1020还可以包括存储器控制器,以提供处理器1080和输入单元1030对存储器1020的访问。虽然图10示出了rf电路1010,但是可以理解的是,其并不属于终端设备1000的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
245.输入单元1030可用于接收输入的数字或字符信息,以及产生与对象设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元1030可包括触敏表面1031以及其他输入设备1032。触敏表面1031,也称为触摸显示屏或者触控板,可收集对象在其上或附近的触摸操作(比如对象使用手指、触笔等任何适合的物体或附件在触敏表面1031上或在触敏表面1031附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面1031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测对象的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的指令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面1031。除了触敏表面1031,输入单元1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
246.显示单元1040可用于显示由对象输入的信息或提供给对象的信息以及控制终端设备1000的各种图形对象接口,这些图形对象接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元1040可包括显示面板1041,可选的,可以采用lcd(liquid crystal display,液晶显示器)、oled(organic light-emitting diode,有机发光二极管)等形式来配置显示面板1041。进一步地,触敏表面1031可覆盖在显示面板1041之上,当触敏表面1031检测到在其上或附近的触摸操作后,传送给处理器1080以确定触摸事件的类型,随后处理器1080根据触摸事件的类型在显示面板1041上提供相应的视觉输出。虽然在图10中,触敏表面1031与显示面板1041是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面1031与显示面板1041集成而实现输入和输出功能。
247.终端设备1000还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1041的亮度,接近传感器可在终端设备1000移动到耳边时,关闭显示面板1041或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向
上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端设备1000还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
248.音频电路1060、扬声器1061,传声器1062可提供对象与终端设备1000之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出;另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经rf电路1010以发送给另一电子设备,或者将音频数据输出至存储器1020以便进一步处理。音频电路1060还可能包括耳塞插孔,以提供外设耳机与终端设备1000的通信。
249.短距离无线传输模块1070可以是wifi(wireless fidelity,无线保真)模块、蓝牙模块或红外线模块等。终端设备1000通过短距离无线传输模块1070可以与其他设备上设置的无线传输模块进行信息的传输。
250.处理器1080是终端设备1000的控制中心,利用各种接口和线路连接整个设备的各个部分,通过运行或执行存储在存储器1020内的软件程序或模块,以及调用存储在存储器1020内的数据,执行终端设备1000的各种功能和处理数据,从而对设备进行整体管控。可选地,处理器1080可包括一个或多个处理核心;可选地,处理器1080可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、对象界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1080中。
251.终端设备1000还包括给各个部件供电的电源1090(比如电池),可选地,电源1090可以通过电源管理系统与处理器1080逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1090还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
252.尽管未示出,终端设备1000还可以包括摄像头、蓝牙模块等,在此不再赘述。
253.示例性地,以电子设备是服务器设备为例,参照图11,服务器设备1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器1110(简称为cpu,central processing units)和存储器1160,一个或一个以上存储应用程序1133或数据1132的存储介质1130(例如一个或一个以上海量存储装置)。其中,存储器1160和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上单元或者模块,每个单元或者模块可以包括对服务器设备1100中的一系列操作指令。更进一步地,中央处理器1110可以设置为与存储介质1130通信,在服务器设备1100上执行存储介质1130中的一系列操作指令。
254.服务器设备1100还可以包括一个或一个以上电源1120,一个或一个以上有线或无线网络接口1140,一个或一个以上输入输出接口1150,以及一个或一个以上操作系统1131。
255.服务器设备1100中的中央处理器1110可以用于执行如图2所示的系统镜像数据的处理方法实施例。
256.本技术实施例还公开了一种计算机可读存储介质,其中存储有处理器可执行的程序,处理器可执行的程序在由处理器执行时用于实现如图2所示的系统镜像数据的处理方法实施例。
257.可以理解的是,图2所示的系统镜像数据的处理方法实施例中的内容均适用于本计算机可读存储介质实施例中,本计算机可读存储介质实施例所具体实现的功能与图2所示的系统镜像数据的处理方法实施例相同,并且达到的有益效果与图2所示的系统镜像数据的处理方法实施例所达到的有益效果也相同。
258.本技术实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在上述的计算机可读存储介质中;图10、图11所示的电子设备的处理器可以从上述的计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图2所示的系统镜像数据的处理方法实施例。
259.可以理解的是,图2所示的系统镜像数据的处理方法实施例中的内容均适用于本计算机程序产品或计算机程序实施例中,本计算机程序产品或计算机程序实施例所具体实现的功能与图2所示的系统镜像数据的处理方法实施例相同,并且达到的有益效果与图2所示的系统镜像数据的处理方法实施例所达到的有益效果也相同。
260.在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或方框有时能以相反顺序被执行。此外,在本技术的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
261.此外,虽然在功能性模块的背景下描述了本技术,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本技术是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本技术。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本技术的范围,本技术的范围由所附权利要求书及其等同方案的全部范围来决定。
262.功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
263.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读存储介质”可以是任何可以包含、存储、通信、
传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
264.应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
265.在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
266.尽管已经示出和描述了本技术的实施方式,本领域的普通技术人员可以理解:在不脱离本技术的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本技术的范围由权利要求及其等同物限定。
267.以上是对本技术的较佳实施进行了具体说明,但本技术并不限于实施例,熟悉本领域的技术人员在不违背本技术精神的前提下可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本技术权利要求所限定的范围内。