CN112769800B - 交换机的完整性验证方法、装置和计算机存储介质 - Google Patents
交换机的完整性验证方法、装置和计算机存储介质 Download PDFInfo
- Publication number
- CN112769800B CN112769800B CN202011623727.7A CN202011623727A CN112769800B CN 112769800 B CN112769800 B CN 112769800B CN 202011623727 A CN202011623727 A CN 202011623727A CN 112769800 B CN112769800 B CN 112769800B
- Authority
- CN
- China
- Prior art keywords
- chip
- switch
- integrity verification
- verification
- operating system
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本公开提供了一种交换机的完整性验证方法、装置和介质,属于计算机领域。该方法包括在交换机上电后,交换机通过内嵌的可信密码模块芯片对U‑boot进行完整性验证;在U‑boot通过验证后,通过U‑boot调用可信密码模块芯片对操作系统加载器进行完整性验证;在操作系统加载器通过完整性验证后,交换机通过操作系统加载器调用可信密码模块芯片对操作系统进行完整性验证;在操作系统通过完整性验证后,交换机通过操作系统调用可信密码模块芯片分别对交换芯片、物理层芯片、协议栈和应用程序进行完整性验证;在交换芯片、物理层芯片、协议栈和应用程序通过完整性验证后,完成交换机的启动。该方法能保证交换机的安全启动。
Description
技术领域
本公开涉及计算机技术领域,特别涉及一种交换机的完整性验证方法、装置和计算机可读存储介质。
背景技术
完整性验证,又称完整性度量,其核心思想是系统的启动从一个可信信任源开始,任何将要获得控制权的实体,都需要先对该实体进行度量,以验证该实体的完整性。通过完整性验证的设备被认为是可信的。
发明内容
本公开实施例提供了一种交换机的完整性验证方法、装置和计算机存储介质,能够保证交换机的安全启动。所述技术方案如下:
一方面,本公开实施例提供了一种交换机的完整性验证方法,用于启动交换机,该方法包括:
在交换机上电后,交换机通过内嵌的可信密码模块芯片对U-boot进行完整性验证;
在所述U-boot通过验证后,通过所述U-boot调用所述可信密码模块芯片对操作系统加载器(Operation System Loader,OS Loader)进行完整性验证;
在OS Loader通过完整性验证后,交换机通过OS Loader调用所述可信密码模块芯片对操作系统(Operation System,OS)进行完整性验证;
在所述OS通过完整性验证后,交换机通过所述OS调用所述可信密码模块芯片分别对交换芯片、物理层芯片、协议栈和应用程序进行完整性验证;
在所述交换芯片、物理层芯片、协议栈和应用程序通过完整性验证后,完成交换机的启动。
可选地,交换机通过所述操作系统调用所述可信密码模块芯片对交换芯片进行完整性验证,包括:
交换机通过所述操作系统调用所述可信密码模块芯片对对交换芯片提供的设定函数接口进行调用,以获得交换芯片的硬件信息;
通过所述操作系统调用所述可信密码模块芯片对所述交换芯片的硬件信息进行完整性验证。
可选地,交换机通过所述操作系统调用所述可信密码模块芯片对物理层芯片进行完整性验证,包括:
交换机通过所述操作系统调用所述可信密码模块芯片对物理层芯片提供的设定函数接口进行调用,以获得物理层芯片的硬件信息;
通过所述操作系统调用所述可信密码模块芯片对所述物理层芯片的硬件信息进行完整性验证。
可选地,交换机通过所述操作系统调用所述可信密码模块芯片对协议栈进行完整性验证,包括:
交换机通过所述操作系统调用所述可信密码模块芯片对协议栈的配置文件进行完整性验证。
可选地,交换机通过所述操作系统调用所述可信密码模块芯片对协议栈进行完整性验证,还包括:
在所述协议栈的配置文件通过完整性验证之后,对以下进程文件中的至少一种进行完整性验证:开放式最短路径优先OSPF协议文件、路由信息协议Rip文件、多生成树协议MSTP文件、Lay2_Module及日志文件。
可选地,交换机通过所述操作系统调用所述可信密码模块芯片对应用程序进行完整性验证,包括:
交换机通过所述操作系统调用所述可信密码模块芯片对网管代理模块的配置文件进行完整性验证。
可选地,交换机通过操作系统加载器调用所述可信密码模块芯片对操作系统进行完整性验证,包括:
交换机通过OS Loader调用TCM芯片对设定内核文件进行完整性验证;
交换机通过OS Loader调用TCM芯片对/ect/inittab文件进行完整性验证;
交换机通过OS Loader调用TCM芯片对系统初始化/ect/rc.d/rc和/ect/rc.d/rc.sysinit脚本进行完整性验证。
另一方面,本公开实施例提供了一种交换机的完整性验证装置,用于启动交换机,该装置包括:
第一验证模块,用于在交换机上电后,交换机通过内嵌的可信密码模块芯片对U-boot进行完整性验证;
第二验证模块,用于在所述U-boot通过验证后,通过所述U-boot调用所述可信密码模块芯片对操作系统加载器进行完整性验证;
第三验证模块,用于在操作系统加载器通过完整性验证后,交换机通过操作系统加载器调用所述可信密码模块芯片对操作系统进行完整性验证;
第四验证模块,用于在所述操作系统通过完整性验证后,交换机通过所述操作系统调用所述可信密码模块芯片分别对交换芯片、物理层芯片、协议栈和应用程序进行完整性验证;
启动模块,用于在所述交换芯片、物理层芯片、协议栈和应用程序通过完整性验证后,完成交换机的启动。
另一方面,本公开实施例提供了一种交换机的完整性验证装置,包括:存储器和处理器,处理器与存储器互相通信连接,存储器存储有计算机指令,处理器通过执行计算机指令,从而执行如前所述的交换机的完整性验证方法。
另一方面,本公开实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如上述实施例中的交换机的完整性验证方法。
本公开实施例提供的技术方案至少包括以下的有益效果是:
本公开实施例中,在交换机上电后,通过依次对U-boot、操作系统加载器和OS依次进行完整性校验,并且在上一级完整性校验通过后才能进行移交控制权给对应的对象(即U-boot、操作系统加载器和OS)并在对应的对象的控制下进行下一级的完整性校验,从而保证OS的安全启动。在OS安全启动后,通过对交换机的与数据交换相关的部件分别进行完整性验证,在这些部件通过完整性验证后,交换机即可安全启动。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例提供的交换机的结构示意图;
图2是本公开实施例提供的一种交换机的完整性验证方法的流程示意图;
图3是本公开实施例提供的另一种交换机的完整性验证方法的流程示意图;
图4是图3所示实施例的完整性验证的顺序的示意图;
图5是交换机通过TCM芯片向验证服务器发送度量对象的完整性度量结果的过程示意图;
图6是验证服务器对交换机发送的完整性度量结果进行验证的过程示意图;
图7是本公开实施例提供的一种交换机的完整性度量装置的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
图1是本公开实施例提供的交换机的结构示意图。如图1所示,该交换机100包括:可信密码模块(Trusted Cryptography Module,TCM)芯片106、交换芯片110、物理层芯片111、处理器(例如中央处理单元Central Processing Unit,CPU)101和存储器。
该TCM芯片106主要实现终端接入请求的可信接入控制以及可信接入交换机的完整性度量。
该TCM芯片106中配置有杂凑(Hashing)计算引擎,该杂凑计算引擎用于对获取到的数据进行杂凑运算,得到度量结果。
该TCM芯片106中还包括多个平台配置寄存器(Platform ConfigurationRegister,PCR)108。PCR用于存储前述度量结果。PCR的数量根据实际需要设置,每个度量对象对应一个PCR。需要说明的是,PCR不能直接进行写操作,数据的存储过程被称为扩展(Extend),本公开实施例对扩展算法不做限制,例如,可以采用安全散列算法等。
该TCM芯片106中存储有可信根109,包括可信度量根、可信存储根和可信报告根。其中,可信度量根负责对交换机进行完整性度量,即前述杂凑计算引擎;可信存储根负责密钥等的存储;可信报告根用于将度量结果和日志反馈给验证服务器,以通过验证服务器对度量结果进行验证。
交换芯片110和物理层芯片111是实现交换机的交换功能的重要部件,主要用于实现多路不同带宽的以太网的接入和交换路由功能,例如实现24路100/1000M和8路10G以太网的接入和交换路由功能。
处理器101主要用于对交换机中其他芯片和模块的控制和管理。存储器包括系统存储器104和大容量存储器107,系统存储器104包括随机存取存储器(RAM)102和只读存储器(ROM)103,大容量存储器107用于存储操作系统112、应用程序113和其他程序模块114,所述大容量存储设备107及其相关联的计算机可读介质为交换机100提供非易失性存储。也就是说,大容量存储器107包括诸如SATA硬盘、闪存FLASH之类的可读介质(未示出)。
处理器101和交换芯片110、TCM芯片106、存储器之间通过系统总线105连接。
需要说明的是,除了图1所示结构,交换机还包括其他的部件,例如电源模块、输入输出组件等。
TCM芯片106包括存储器和处理器,TCM芯片中的处理器与存储器互相通信连接,存储器存储有计算机指令,处理器通过执行计算机指令,从而执行图2或图3所示的交换机的完整性验证方法。
TCM芯片中的存储器及其相关联的计算机可读介质为TCM芯片提供非易失性存储。不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由TCM芯片的处理器执行以完成本发明各个实施例所示的交换机的完整性验证方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图2是本公开实施例提供的交换机的完整性验证方法的流程示意图。该方法用于启动交换机,该交换机中内嵌有TCM芯片,例如为图1所示交换机。如图2所示,该方法包括以下步骤:
在S201中,在交换机上电后,交换机通过内嵌的TCM芯片对U-boot进行完整性验证;
在S202中,在U-boot通过验证后,通过U-boot调用TCM芯片对OS Loader进行完整性验证;
在S203中,在OS Loader通过完整性验证后,交换机通过操作系统加载器调用TCM芯片对OS进行完整性验证;
在S204中,在OS通过完整性验证后,交换机通过OS调用TCM芯片分别对交换芯片、物理层芯片、协议栈和应用程序进行完整性验证;
在S205中,在交换芯片、物理层芯片、协议栈和应用程序通过完整性验证后,完成交换机的启动。
在S205中,完成交换机的启动是控制交换机的处理器运行交换机正常运行所需的功能模块,例如协议栈和应用程序等。
在本公开实施例中,对某对象进行完整性验证是指,对该对象的至少一种特征信息进行摘要计算,并将计算得到的摘要值与对应的参考值进行匹配,得到验证结果。如果计算得到的摘要值与对应的参考值匹配(即相同),则验证结果为验证通过。如果计算得到的摘要值与对应的参考值不匹配(即不同),则验证结果为验证未通过。
这里,对象即前述U-boot、OS Loader、OS、交换芯片、物理层芯片、协议栈和应用程序。特征信息包括代码、数据等。
可选地,将计算得到的摘要值与对应的参考值进行匹配可以由TCM芯片实现或者由远程的验证服务器实现。
本公开实施例中,在交换机上电后,通过依次对U-boot、操作系统加载器和OS依次进行完整性校验,并且在上一级完整性校验通过后才能进行移交控制权给对应的对象(即U-boot、OS Loader和OS)并在对应的对象的控制下进行下一级的完整性校验,从而保证OS的安全启动。在OS安全启动后,通过对交换机的与数据交换相关的部件分别进行完整性验证,在这些部件通过完整性验证后,交换机即可安全启动。
图3是本公开实施例提供的交换机的完整性验证方法的流程示意图。如图3所示,该方法包括以下步骤:
在S301中,在交换机上电后,交换机通过内嵌的TCM芯片对U-boot进行完整性验证。
其中,U-boot为Bootloader的一种,应用于Linux系统,是在Linux系统上电时开始执行,初始化硬件设备、准备好软件环境,最后调用操作系统内核的一段小程序。
可选地,该S301包括:
通过该TCM芯片对U-boot进行摘要计算,得到U-boot对应的摘要值;
基于该U-boot对应的摘要值获得U-boot的验证结果。
如果该U-boot对应的摘要值与对应的参考值相同,则U-boot的验证结果为U-boot通过完整性验证,将控制权移交给U-boot;如果该U-boot对应的摘要值与对应的参考值不同,则U-boot的验证结果为U-boot未通过完整性验证,停止启动交换机。
TCM芯片在计算得到U-boot对应的摘要值之后,会将U-boot对应的摘要值作为U-boot的度量结果扩展到PCR中。
在S302中,在U-boot通过完整性验证后,交换机通过U-boot调用TCM芯片对OSLoader进行完整性验证。
可选地,S302包括:
交换机通过U-boot调用TCM芯片对主引导记录(Master Boot Record,MBR)进行完整性验证,得到OS Loader的验证结果。
其中,交换机通过U-boot调用TCM芯片对MBR进行完整性验证,采用以下方式:
交换机通过U-boot调用TCM芯片对MBR进行摘要计算,得到MBR的摘要值,该MBR的摘要值即为OS Loader对应的摘要值;
基于该MBR的摘要值获得OS Loader的验证结果。
如果该MBR的摘要值与对应的参考值相同,则OS Loader的验证结果为OS Loader通过完整性验证,则将控制权移交给OS;如果该MBR的摘要值与对应的参考值不同,则OSLoader的验证结果为OS Loader未通过完整性验证,停止启动交换机。
在本公开实施例中,OS Loader是MBR中的主引导程序,如果OS Loader受到非法篡改,那么MBR的摘要值也会随之改变,因此对OS Loader的完整性验证可以通过对MBR的完整性验证来实现。
TCM芯片在计算得到OS Loader对应的摘要值之后,会将OS Loader对应的摘要值作为OS Loader的度量结果扩展到PCR中。
在S303中,在OS Loader通过完整性验证后,交换机通过OS Loader调用TCM芯片对OS进行完整性验证。
可选地,S303包括:
交换机通过OS Loader调用TCM芯片对设定内核文件进行完整性验证;
交换机通过OS Loader调用TCM芯片对/ect/inittab文件进行完整性验证;
交换机通过OS Loader调用TCM芯片对系统初始化/ect/rc.d/rc和/ect/rc.d/rc.sysinit脚本进行完整性验证。
其中,设定内核文件包括vmlinuz和initrd。
在设定内核文件通过完整性验证后,Linux内核函数启动进程init,并获得该进程的控制权,修改init进程中的read_inittab函数。init是系统启动之后的第一个用户进程,进程编号始终为1。init进程会读取读取/etc/inittab文件,根据读取/etc/inittab文件进行一系列的系统初始化工作。这里,通过修改init进程中的read_inittab函数,可以暂停读取/etc/inittab文件,从而暂停系统初始化工作。
这里,在对OS进行完整性验证时,分别对OS的三类特征信息进行了完整性验证,相应地,会得到3个对应的摘要值,其中,对设定内核文件进行摘要计算,得到OS对应的第一摘要值;对/ect/inittab文件进行摘要计算,得到OS对应的第二摘要值;对系统初始化/ect/rc.d/rc和/ect/rc.d/rc.sysinit脚本进行摘要计算,得到OS对应的第三摘要值。
然后,TCM会对OS对应的第一摘要值、第二摘要值和第三摘要值分别进行PCR扩展,即将OS对应的第一摘要值、第二摘要值和第三摘要值分别扩展到对应的PCR中。
如果OS通过完整性验证,则将控制权移交给OS;如果OS未通过完整性验证,则停止启动交换机。
需要说明的是,这里,对设定内核文件、/ect/inittab文件、以及系统初始化/ect/rc.d/rc和/ect/rc.d/rc.sysinit脚本分别进行完整性验证的过程与S301和S302的完整性验证过程类似,在此省略详细描述。
在S304中,在OS通过完整性验证后,交换机通过OS调用TCM芯片对交换芯片进行完整性验证。
可选地,S304包括:
交换机通过OS调用TCM芯片对交换芯片提供的设定函数接口进行调用,以获得交换芯片的硬件信息;示例性地,设定函数接口为Switch_ID_Get,硬件信息包括交换芯片ID;
通过OS调用TCM芯片对该硬件信息进行完整性验证。
其中,通过OS调用TCM芯片对该交换芯片的硬件信息进行完整性验证的过程如下:
通过OS调用TCM芯片对该交换芯片的硬件信息进行摘要计算,得到交换芯片对应的摘要值;
基于交换芯片对应的摘要值得到交换芯片的验证结果。
如果交换芯片对应的摘要值与对应的参考值相同,则该交换芯片的验证结果为交换芯片通过完整性验证;如果交换芯片对应的摘要值与对应的参考值不同,则该交换芯片的验证结果为交换芯片未通过完整性验证,停止启动交换机。
TCM芯片在计算得到交换芯片对应的摘要值之后,会将交换芯片对应的摘要值作为交换芯片的度量结果扩展到PCR中。
在S305中,在交换芯片通过完整性验证后,交换机通过OS调用TCM芯片对物理层芯片进行完整性验证。
可选地,S305包括:
交换机通过OS调用TCM芯片对物理层芯片提供的设定函数接口进行调用,以获得物理层芯片的硬件信息;示例性地,设定函数接口为PHY_ID_Get,硬件信息包括物理层芯片ID;
通过OS调用TCM芯片对该物理层芯片的硬件信息进行完整性验证。
通过OS调用TCM芯片对物理层芯片的硬件信息进行完整性验证的过程与对交换芯片的硬件信息进行完整性验证的过程类似,在此省略详细描述。
在S306中,在物理层芯片通过完整性验证后,交换机通过OS调用TCM芯片对协议栈进行完整性验证。
可选地,S306包括:交换机通过OS调用TCM芯片对协议栈的配置文件进行完整性验证。示例性地,协议栈的配置文件为Startup.config文件。
对协议栈的配置文件进行完整性验证的过程如下:
交换机通过OS调用TCM芯片对协议栈的配置文件进行摘要计算,得到协议栈对应的第一摘要值;
基于协议栈对应的第一摘要值,得到协议栈的配置文件的验证结果。
如果协议栈对应的第一摘要值与对应的参考值相同,协议栈的配置文件的的验证结果为协议栈的配置文件通过完整性验证;如果协议栈对应的第一摘要值与对应的参考值不同,协议栈的配置文件的的验证结果为协议栈的配置文件未通过完整性验证,停止启动交换机。
可选地,S306还包括:
在协议栈的配置文件通过完整性验证之后,对以下进程文件中的至少一种进行完整性验证:开放式最短路径优先(Open Shortest Path First,OSPF)协议(文件名OSPFd)、路由信息协议(Routing Information Protocol,Rip)(文件名Ripd)、多生成树协议(Multiple Spanning Tree Protocol,MSTP)(文件名MSTPd)、二层协议组合包Lay2_Module文件(文件名Lay2_Moduled))等二层、三层网络协议及Vlog日志文件。
对这些进程文件的完整性验证过程与对协议栈的配置文件的完整性验证过程类似,在此省略详细描述。需要说明的是,每一个进程文件会对应一个摘要值。
在本公开实施例中,协议栈指各层次网络协议的集合,定义了与其他系统的通信方式。通过对这些进程文件进行完整性验证,可以确保协议栈使用安全可信,未被篡改。
在S307中,在协议栈通过完整性验证后,交换机通过OS调用TCM芯片对应用程序进行完整性验证。
对于交换机而言,应用程序主要包括网管代理模块,该网管代理模块用于实现交换机与网络管理设备进行交互,包括设备管理、故障管理(交换机出现故障能够及时上报给网络管理设备)、性能管理(提供交换机各接口相关的统计信息)和配置管理(提供交换机的配置信息以及对配置文件进行管理与更新)。
可选地,S307包括:交换机通过OS调用TCM芯片对应用程序的配置文件进行完整性验证。示例性地,网管代理模块的配置文件的文件名为snmpagent。
交换机通过OS调用TCM芯片对应用程序的配置文件进行完整性验证的过程与对协议栈的配置文件进行完整性验证的过程类似,在此省略详细描述。
需要说明的是,本公开实施例对S304至S307的执行顺序不做限制,可以并行执行或者依次执行,并且,当S304至S307依次执行时,先后顺序不做限制,例如,可以先执行S305再执行S304等。
在S308中,在应用程序通过完整性验证后,完成交换机的启动。
本公开实施例中,在交换机上电后,通过依次对U-boot、操作系统加载器和OS依次进行完整性校验,并且在上一级完整性校验通过后才能进行移交控制权给对应的对象(即U-boot、操作系统加载器和OS)并在对应的对象的控制下进行下一级的完整性校验,从而保证OS的安全启动。在OS安全启动后,通过对交换机的与数据交换相关的部件分别进行完整性验证,在这些部件通过完整性验证后,交换机即可安全启动。
并且,对于交换芯片和物理层芯片,通过对对应的硬件信息,例如芯片ID进行完整性校验,可以避免芯片被替换。对于协议栈,通过先对协议栈的配置文件进行完整性验证,然后对协议栈对应的进程文件进行完整性校验,能够确保协议栈使用安全可信,未被篡改。通过对应用程序的配置文件进行完整性校验,能够确保应用程序的使用安全可信,从而全面的保证了交换机的安全启动。
在本公开实施例中,通过完整性验证的交换机可被称为可信接入交换机,该可信接入交换机依据可信接入策略,对可信终端接入网络时,实施身份鉴别和平台认证,实现对可信终端的接入控制,从而提高网络安全。
图4是图3所示实施例的完整性验证的顺序的示意图。如图4所示,首先,交换机上电以后,TCM芯片对U-boot进行度量,并在TCM芯片中保存对应的度量结果;然后,通过U-boot调用TCM芯片对OS Loader进行度量,并在TCM芯片中保存对应的度量结果;然后,通过OS Loader调用TCM芯片对OS进行度量,并在TCM芯片中保存对应的度量结果;然后,通过OS调用TCM芯片依次对交换芯片驱动、物理层芯片、协议栈和应用程序进行度量,并在TCM芯片中分别保存对应的度量结果。图4中的虚线表示将对应的度量结果保存至TCM芯片。
可选地,该方法还可以包括:生成完整性度量报告,该完整性度量报告包括完整性度量结果和日志信息。该完整性度量结果即图3相关实施例中的各个摘要值。日志信息用于记录度量对象和度量过程等信息。
通过完整性度量报告可以用于查看交换机的启动过程,便于确定交换机未能正常启动的原因。
在一种可能的实施方式中,对于图3所示的每一个完整性验证的步骤,基于摘要值得到对应的验证结果的过程可以通过TCM芯片本地实现。
例如,基于对象A对应的摘要值获得对象A的验证结果,包括:TCM芯片将对象A对应的摘要值与TCM芯片中预先保存的对象A对应的参考值进行比较,得到该对象A的验证结果。其中,对象A分别为前述U-boot、操作系统加载器、OS、交换芯片、物理层芯片、协议栈和应用程序。
TCM芯片中预先保存有各个完整性验证对象对应的参考值。该参考值是设备出厂时第一次上电过程中计算得到的摘要值。
在另一种可能的实施方式中,对于图3所示的每一个完整性验证的步骤,基于摘要值得到对应的验证结果的过程可以远程的验证服务器实现。
通过远程实现的过程包括:首先,交换机需要通过TCM芯片向验证服务器发送度量对象的完整性度量结果,然后,验证服务器再向交换机的TCM芯片返回对应的验证结果。
图5是交换机通过TCM芯片向验证服务器发送度量对象的完整性度量结果的过程示意图。如图5所示,该过程如下:
在S501中,TCM芯片使用平台身份密钥(Platform Identity Key,PIK)私钥对度量对象的度量结果进行签名。
示例性地,签名可以采用SM2算法、SM3算法等,本公开对此不做限制。
在S502中,TCM芯片将度量对象的度量结果、采用PIK私钥对度量结果的签名和PIK证书发送给验证服务器。
可选地,图5所示的过程,可以在交换机接收到来自验证服务器的要求对度量对象进行验证的请求之后执行。
图6是验证服务器对交换机发送的完整性度量结果进行验证的过程示意图。如图6所示,该过程如下:
在S601中,验证服务器接收来自交换机的数据。
该数据包括度量对象的度量结果、TCM芯片采用PIK私钥对度量结果的签名和PIK证书。
在S602中,验证服务器验证交换机的PIK证书,得到TCM芯片对应的PIK公钥。
在S603中,验证服务器利用TCM芯片的PIK公钥验证度量结果的签名,若签名通过验证,则执行S604,若签名未通过验证,则认为该交换机是不可信的,后续将不允许终端接入。
该S603包括:验证服务器利用TCM芯片的PIK公钥对PIK签名之后的度量结果进行解密,得到验证签名后的度量结果,判断该验证签名后的度量结果与验证服务器接收到的数据中的度量结果是否一致,如果一致,则表示签名通过验证,如果不一致,则表示签名未通过验证。
在S604中,对度量结果与验证服务器保存的参考值进行比较,并向交换机返回验证结果。
如果度量结果与对应的参考值相同,则返回用于指示通过验证的验证结果,交换机可以进入下一步验证过程或者正常启动。如果度量结果与对应的参考值不同,则返回用于指示未通过验证的验证结果,交换机停止启动。
需要说明的是,如果度量结果与对应的参考值相同,表示交换机是完整可信的,后续可以允许终端接入该交换机并进行数据交互,如果度量结果与对应的参考值不同,则表示交换机是不可信的,后续将不允许终端接入该交换机。
示例性地,如果交换机处于离线状态,则通过本地验证实现基于第N摘要值得到第N验证结果,如果交换机处于在线状态,则通过远程验证实现基于第N摘要值得到第N验证结果。
这里,离线状态是指验证服务器无法对交换机进行验证以及接入管理的状态,例如因为验证服务器的设备故障、网络故障等原因,导致验证服务器无法对交换机进行验证以及接入管理;在线状态是指验证服务器能够对交换机进行验证以及接入管理的状态。
需要说明的是,在本公开实施例中,摘要计算也被称为杂凑运算、哈希运算等。
图7是本公开一实施例提供的交换机的完整性验证装置的结构示意图,该装置可以通过软件、硬件或者两者的结合实现成为交换机的完整性验证装置中的部分或者全部。如图7所示,该交换机的完整性验证装置应用于前述TCM芯片,用于启动交换机,该交换机的完整性验证装置包括:第一验证模块701、第二验证模块702、第三验证模块703、第四验证模块704和启动模块705。
其中,第一验证模块701用于在交换机上电后,交换机通过内嵌的可信密码模块芯片对U-boot进行完整性验证;第二验证模块702用于在所述U-boot通过验证后,通过所述U-boot调用所述可信密码模块芯片对操作系统加载器进行完整性验证;第三验证模块703用于在操作系统加载器通过完整性验证后,交换机通过操作系统加载器调用所述可信密码模块芯片对操作系统进行完整性验证;第四验证模块704用于在所述操作系统通过完整性验证后,交换机通过所述操作系统调用所述可信密码模块芯片分别对交换芯片、物理层芯片、协议栈和应用程序进行完整性验证;启动模块705用于在所述交换芯片、物理层芯片、协议栈和应用程序通过完整性验证后,完成交换机的启动。
可选地,第四验证模块704用于通过所述操作系统调用所述可信密码模块芯片对对交换芯片提供的设定函数接口进行调用,以获得交换芯片的硬件信息;通过所述操作系统调用所述可信密码模块芯片对所述交换芯片的硬件信息进行完整性验证,以对所述交换芯片进行完整性验证。
可选地,第四验证模块704用于通过所述操作系统调用所述可信密码模块芯片对物理层芯片提供的设定函数接口进行调用,以获得物理层芯片的硬件信息;通过所述操作系统调用所述可信密码模块芯片对所述物理层芯片的硬件信息进行完整性验证,以对物理层芯片进行完整性验证。
可选地,第四验证模块704用于通过所述操作系统调用所述可信密码模块芯片对协议栈的配置文件进行完整性验证。
可选地,第四验证模块704还用于在所述协议栈的配置文件通过完整性验证之后,通过所述操作系统调用所述可信密码模块芯片对以下进程文件中的至少一种进行完整性验证:开放式最短路径优先OSPF协议文件、路由信息协议Rip文件、多生成树协议MSTP文件、Lay2_Module及日志文件。
可选地,第四验证模块704用于通过所述操作系统调用所述可信密码模块芯片对网管代理模块的配置文件进行完整性验证。
可选地,第三验证模块703用于通过OS Loader调用TCM芯片对设定内核文件进行完整性验证;通过OS Loader调用TCM芯片对/ect/inittab文件进行完整性验证;通过OSLoader调用TCM芯片对系统初始化/ect/rc.d/rc和/ect/rc.d/rc.sysinit脚本进行完整性验证。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本公开的可选实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (4)
1.一种交换机的完整性验证方法,其特征在于,用于启动交换机,包括:
在交换机上电后,交换机通过内嵌的可信密码模块芯片对U-boot进行完整性验证;
在所述U-boot通过验证后,通过所述U-boot调用所述可信密码模块芯片对操作系统加载器进行完整性验证;
在操作系统加载器通过完整性验证后,交换机通过OS Loader调用TCM芯片对设定内核文件进行完整性验证;
交换机通过OS Loader调用TCM芯片对/ect/inittab文件进行完整性验证;
交换机通过OS Loader调用TCM芯片对系统初始化/ect/rc.d/rc和/ect/rc.d/rc.sysinit脚本进行完整性验证;
在所述操作系统通过完整性验证后,交换机通过所述操作系统调用所述可信密码模块芯片对交换芯片提供的设定函数接口进行调用,以获得交换芯片的硬件信息;
通过所述操作系统调用所述可信密码模块芯片对所述交换芯片的硬件信息进行完整性验证;
交换机通过所述操作系统调用所述可信密码模块芯片对物理层芯片提供的设定函数接口进行调用,以获得物理层芯片的硬件信息;
通过所述操作系统调用所述可信密码模块芯片对所述物理层芯片的硬件信息进行完整性验证;
交换机通过所述操作系统调用所述可信密码模块芯片对协议栈的配置文件进行完整性验证;所述协议栈的配置文件为Startup.config文件;
在所述协议栈的配置文件通过完整性验证之后,对以下进程文件中的至少一种进行完整性验证:开放式最短路径优先OSPF协议文件、路由信息协议Rip文件、多生成树协议MSTP文件、二层协议组合包Lay2_Module文件及日志文件;
交换机通过所述操作系统调用所述可信密码模块芯片对网管代理模块的配置文件进行完整性验证;所述管代理模块用于实现交换机与网络管理设备进行交互,包括设备管理、故障管理、性能管理和配置管理;所述网管代理模块的配置文件的文件名为snmpagent;
在所述交换芯片、物理层芯片、协议栈和应用程序通过完整性验证后,完成交换机的启动。
2.一种交换机的完整性验证装置,其特征在于,用于启动交换机,包括:
第一验证模块,用于在交换机上电后,交换机通过内嵌的可信密码模块芯片对U-boot进行完整性验证;
第二验证模块,用于在所述U-boot通过验证后,通过所述U-boot调用所述可信密码模块芯片对操作系统加载器进行完整性验证;
第三验证模块,用于在操作系统加载器通过完整性验证后,交换机通过OS Loader调用TCM芯片对设定内核文件进行完整性验证;交换机通过OS Loader调用TCM芯片对/ect/inittab文件进行完整性验证;交换机通过OS Loader调用TCM芯片对系统初始化/ect/rc.d/rc和/ect/rc.d/rc.sysinit脚本进行完整性验证;
第四验证模块,用于在所述操作系统通过完整性验证后,交换机通过所述操作系统调用所述可信密码模块芯片对交换芯片提供的设定函数接口进行调用,以获得交换芯片的硬件信息;通过所述操作系统调用所述可信密码模块芯片对所述交换芯片的硬件信息进行完整性验证;交换机通过所述操作系统调用所述可信密码模块芯片对物理层芯片提供的设定函数接口进行调用,以获得物理层芯片的硬件信息;通过所述操作系统调用所述可信密码模块芯片对所述物理层芯片的硬件信息进行完整性验证;交换机通过所述操作系统调用所述可信密码模块芯片对协议栈的配置文件进行完整性验证;在所述协议栈的配置文件通过完整性验证之后,对以下进程文件中的至少一种进行完整性验证:开放式最短路径优先OSPF协议文件、路由信息协议Rip文件、多生成树协议MSTP文件、二层协议组合包Lay2_Module文件及日志文件;交换机通过所述操作系统调用所述可信密码模块芯片对网管代理模块的配置文件进行完整性验证;
启动模块,用于在所述交换芯片、物理层芯片、协议栈和应用程序通过完整性验证后,完成交换机的启动。
3.一种交换机的完整性验证装置,其特征在于,包括:处理器和存储器,所述处理器与所述存储器互相通信连接,所述存储器存储有计算机指令,所述处理器通过执行计算机指令,从而执行如权利要求1所述的交换机的完整性验证方法。
4.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行如权利要求1所述的交换机的完整性验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011623727.7A CN112769800B (zh) | 2020-12-31 | 2020-12-31 | 交换机的完整性验证方法、装置和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011623727.7A CN112769800B (zh) | 2020-12-31 | 2020-12-31 | 交换机的完整性验证方法、装置和计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112769800A CN112769800A (zh) | 2021-05-07 |
CN112769800B true CN112769800B (zh) | 2022-10-04 |
Family
ID=75698582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011623727.7A Active CN112769800B (zh) | 2020-12-31 | 2020-12-31 | 交换机的完整性验证方法、装置和计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112769800B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1869935A (zh) * | 2005-12-31 | 2006-11-29 | 华为技术有限公司 | 一种交换机设备板件自启动的方法 |
CN101122936A (zh) * | 2007-09-21 | 2008-02-13 | 武汉大学 | 一种可信机制上的嵌入式平台引导 |
CN102270287A (zh) * | 2011-07-13 | 2011-12-07 | 中国人民解放军海军计算技术研究所 | 一种提供主动安全服务的可信软件基 |
CN102332070A (zh) * | 2011-09-30 | 2012-01-25 | 中国人民解放军海军计算技术研究所 | 一种可信计算平台的信任链传递方法 |
CN103049293A (zh) * | 2012-12-12 | 2013-04-17 | 中国电力科学研究院 | 一种嵌入式可信系统的启动方法 |
CN103258164A (zh) * | 2013-02-20 | 2013-08-21 | 中国电力科学研究院 | 一种嵌入式可信系统的启动方法 |
CN103795905A (zh) * | 2013-11-03 | 2014-05-14 | 北京工业大学 | 一种网络摄像机可信启动方法 |
CN105608386A (zh) * | 2016-03-11 | 2016-05-25 | 成都三零嘉微电子有限公司 | 一种可信计算终端完整性度量、证明方法及装置 |
CN106101070A (zh) * | 2016-05-30 | 2016-11-09 | 上海斐讯数据通信技术有限公司 | 基于软件定义网络的数据完整性的检查方法 |
CN107408172A (zh) * | 2015-03-12 | 2017-11-28 | 国际商业机器公司 | 从用户信任的设备安全地引导计算机 |
CN108399339A (zh) * | 2018-02-12 | 2018-08-14 | 广东为辰信息科技有限公司 | 一种基于安全芯片的可信启动方法 |
CN108416217A (zh) * | 2018-03-05 | 2018-08-17 | 山东超越数控电子股份有限公司 | 一种基于单片机的计算机主板bios验证系统及方法 |
CN109586920A (zh) * | 2018-12-05 | 2019-04-05 | 大唐高鸿信安(浙江)信息科技有限公司 | 一种可信验证方法及装置 |
CN110263545A (zh) * | 2019-05-22 | 2019-09-20 | 西安理工大学 | 一种基于Android系统的启动过程完整性度量检测方法 |
CN110688660A (zh) * | 2019-09-27 | 2020-01-14 | 深圳市共进电子股份有限公司 | 一种终端安全启动的方法及装置、存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252483A (zh) * | 2008-04-10 | 2008-08-27 | 北京星网锐捷网络技术有限公司 | 一种交换机的测试系统及方法 |
JP5519712B2 (ja) * | 2012-01-20 | 2014-06-11 | レノボ・シンガポール・プライベート・リミテッド | コンピュータをブートする方法およびコンピュータ |
CN103618683A (zh) * | 2013-11-15 | 2014-03-05 | 中国航空无线电电子研究所 | Afdx交换机终端协议栈结构及其数据收发方法 |
CA2980002A1 (en) * | 2015-03-20 | 2016-09-29 | Rivetz Corp. | Automated attestation of device integrity using the block chain |
US9875093B2 (en) * | 2015-09-14 | 2018-01-23 | Quanta Computer Inc. | Rack server device firmware update using network switch |
CN106100996A (zh) * | 2016-05-30 | 2016-11-09 | 上海斐讯数据通信技术有限公司 | 基于软件定义网络的交换机、控制器及检查系统 |
-
2020
- 2020-12-31 CN CN202011623727.7A patent/CN112769800B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1869935A (zh) * | 2005-12-31 | 2006-11-29 | 华为技术有限公司 | 一种交换机设备板件自启动的方法 |
CN101122936A (zh) * | 2007-09-21 | 2008-02-13 | 武汉大学 | 一种可信机制上的嵌入式平台引导 |
CN102270287A (zh) * | 2011-07-13 | 2011-12-07 | 中国人民解放军海军计算技术研究所 | 一种提供主动安全服务的可信软件基 |
CN102332070A (zh) * | 2011-09-30 | 2012-01-25 | 中国人民解放军海军计算技术研究所 | 一种可信计算平台的信任链传递方法 |
CN103049293A (zh) * | 2012-12-12 | 2013-04-17 | 中国电力科学研究院 | 一种嵌入式可信系统的启动方法 |
CN103258164A (zh) * | 2013-02-20 | 2013-08-21 | 中国电力科学研究院 | 一种嵌入式可信系统的启动方法 |
CN103795905A (zh) * | 2013-11-03 | 2014-05-14 | 北京工业大学 | 一种网络摄像机可信启动方法 |
CN107408172A (zh) * | 2015-03-12 | 2017-11-28 | 国际商业机器公司 | 从用户信任的设备安全地引导计算机 |
CN105608386A (zh) * | 2016-03-11 | 2016-05-25 | 成都三零嘉微电子有限公司 | 一种可信计算终端完整性度量、证明方法及装置 |
CN106101070A (zh) * | 2016-05-30 | 2016-11-09 | 上海斐讯数据通信技术有限公司 | 基于软件定义网络的数据完整性的检查方法 |
CN108399339A (zh) * | 2018-02-12 | 2018-08-14 | 广东为辰信息科技有限公司 | 一种基于安全芯片的可信启动方法 |
CN108416217A (zh) * | 2018-03-05 | 2018-08-17 | 山东超越数控电子股份有限公司 | 一种基于单片机的计算机主板bios验证系统及方法 |
CN109586920A (zh) * | 2018-12-05 | 2019-04-05 | 大唐高鸿信安(浙江)信息科技有限公司 | 一种可信验证方法及装置 |
CN110263545A (zh) * | 2019-05-22 | 2019-09-20 | 西安理工大学 | 一种基于Android系统的启动过程完整性度量检测方法 |
CN110688660A (zh) * | 2019-09-27 | 2020-01-14 | 深圳市共进电子股份有限公司 | 一种终端安全启动的方法及装置、存储介质 |
Non-Patent Citations (2)
Title |
---|
基于TPM的嵌入式可信计算平台设计;王勇,尚文利,赵剑明,万明,苑薇薇;《计算机工程与应用》;20180701;第54卷(第13期);第105-110页 * |
嵌入式系统可信启动机制设计与实现;王天舒,张功萱,杨曦晨,程翔;《嵌入式系统可信启动机制设计与实现》;20150425;第23卷(第4期);第1364-1366页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112769800A (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10885197B2 (en) | Merging multiple compute nodes with trusted platform modules utilizing authentication protocol with active trusted platform module provisioning | |
CN109446815B (zh) | 基本输入输出系统固件的管理方法、装置和服务器 | |
US10382195B2 (en) | Validating using an offload device security component | |
US9626512B1 (en) | Validating using an offload device security component | |
US9288155B2 (en) | Computer system and virtual computer management method | |
US8856544B2 (en) | System and method for providing secure virtual machines | |
US8595483B2 (en) | Associating a multi-context trusted platform module with distributed platforms | |
JP4410821B2 (ja) | 保護された処理システムへの初期トラステッド・デバイスのバインディングの検証 | |
US11206141B2 (en) | Merging multiple compute nodes with trusted platform modules utilizing provisioned node certificates | |
US10243739B1 (en) | Validating using an offload device security component | |
US20140250215A1 (en) | Configuration and verification by trusted provider | |
US20080244257A1 (en) | Server active management technology (AMT) assisted secure boot | |
US10211985B1 (en) | Validating using an offload device security component | |
CN112784278A (zh) | 一种计算机系统的可信启动方法、装置及设备 | |
WO2024131018A1 (zh) | 用于服务器的验证方法及装置 | |
CN112769800B (zh) | 交换机的完整性验证方法、装置和计算机存储介质 | |
EP3663902B1 (en) | Computer-implemented method and system for remotely managing self-encrypting disks (seds) via client/server topology | |
CN118260027B (zh) | 一种安全虚拟机管理方法和相关设备 | |
US12056262B2 (en) | Applying trusted backup configuration to a node | |
US20240296227A1 (en) | Systems and methods to prevent cloning on spdm-enabled devices | |
TWI726406B (zh) | 認證方法 | |
US20230254154A1 (en) | Enabling internal and external verification of hash-based signature computations by signing server | |
US20240305632A1 (en) | Systems and methods to provide pre-deployment assessment for device integrity | |
CN118467106A (zh) | 一种安全虚拟机调试方法、相关设备及存储介质 | |
CN118519721A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |