一种计算机系统、访问控制方法及存储介质与流程

文档序号:32997931发布日期:2023-01-18 00:31阅读:30来源:国知局
一种计算机系统、访问控制方法及存储介质与流程

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.图1为本发明的实施例提供的一种计算机系统的结构示意图;
28.图2为本发明的实施例计算机系统中的一种静态可信度量示意图;
29.图3为本发明的实施例计算机系统中的一种主机、可信度量模块以及外围设备的交互示意图;
30.图4为本发明的实施例计算机系统中的一种导入平台证书以及可信平台配置信息的示意图;
31.图5为本发明的实施例提供的一种访问控制方法的流程示意图。
具体实施方式
32.下面结合附图对本发明实施例进行详细描述。
33.应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
34.计算机系统,包括主机及与主机相连的外围设备;外围设备可直接插设在主机上的接口(如usb接口等)上,也可通过数据线与主机相连,还可通过无线方式与主机通信连接。其中,所述主机包括主板、硬盘、电源以及显卡等,主板上设有中央处理器(记为cpu)和内存等。中央处理器可以是x86架构的中央处理器,外围设备可以是密码卡、密码输入模块、打印机、磁盘、显示器以及键盘等。主机上运行的操作系统可以是windows操作系统,也可以
是linux等其它操作系统。
35.主机在访问外围设备时,通常需要先输入口令进行授权验证,只有主机通过验证,才可以对外围设备进行访问。但在实际应用中,申请人发现该技术方案中的口令等授权信息容易被非法程序窃取或者破解,非法程序在获得了授权信息之后,就可以访问外围设备中的数据,导致外围设备中的数据安全性较低。
36.本发明实施例提供一种计算机系统、访问控制方法及存储介质,通过对计算机系统的主机进行可信度量,确定主机是否可信,只有在主机可信时才允许访问外围设备,从而提高外围设备中数据的安全性。
37.下面采用示意性的实施例进行说明。请参考图1,其示出了本发明实施例提供的一种计算机系统的结构示意图,本发明实施例提供的计算机系统1,可以包括:主机11、可信度量模块12以及外围设备13;可信度量模块12分别与主机11以及外围设备13连接;其中,可信度量模块12,用于获取主机11的可信度量值;外围设备13,用于从可信度量模块12获取主机11的可信度量值,并将主机11的可信度量值与度量基准值进行比较,并根据比较结果,确定是否允许主机11访问。
38.在本发明实施例中,主机11为计算机系统1的主体部分,通常包括了cpu、内存、主板等,上面运行着各种系统应用软件,是各种网络攻击的主要目标。主机11的可信状态决定了整个计算机系统1的安全。外围设备13为计算机系统1中除主机11之外的其他设备。外围设备13是主机11与外界进行通信的工具,可以为输入设备类型或者输出设备类型,具体可以为密码卡、密码模块、打印机、磁盘或者键盘等。
39.当外围设备13为输入设备类型时,主机11可以接收各种各样的数据,既可以是数值型的数据,也可以是各种非数值型的数据,如图形、图像、声音等。当外围设备13为输出设备类型时,可以将各种数据以数字、字符、图像、声音等形式进行输出。
40.可信度量度量模块12可以对主机11进行完整性度量,以获取主机11的可信度量值。在一个例子中,可以用哈希函数计算主机11的哈希值作为可信度量值,并将该可信度量值存储在可信度量度量模块12中。
41.当外围设备13需要对主机11的可信度进行验证时,可以从可信度量度量模块12中获取主机11的可信度量值,并将该可信度量值与主机11的度量基准值进行比较,若两者相等,则说明主机11是可信的,不会窃取或者篡改外围设备13中的数据,外围设备13可以授予主机11访问权限,允许主机11对其进行访问。若两者不相等,则不允许主机11对外围设备13进行访问,以避免外围设备13中的数据被窃取或者篡改。这样一来,外围设备13只有在确认主机11可信之后,才允许主机11对其进行访问,以实现输入数据或者输出数据的功能,因而可以确保主机11不会非法窃取或者篡改外围设备13中的数据,从而提高了外围设备13中数据的安全性。
42.本发明的实施例提供的计算机系统,外围设备可以从可信度量模块获取的主机的可信度量值,然后将主机的可信度量值与度量基准值进行比较。进而可以根据比较结果,确定主机是否可信,外围设备只有在确定主机可信时,才允许主机对外围设备进行访问。因而可以确保主机不能非法窃取或者篡改外围设备中的数据,从而提高了外围设备中数据的安全性。
43.可选的,在本发明的一个实施例中,可信度量模块12可以包括第一可信度量模块
和/或第二可信度量模块;其中,第一可信度量模块,用于记录所述主机的操作系统启动过程的可信度量值;第二可信度量模块,用于记录操作系统启动后的运行中,对操作系统的预定部分进行动态度量所得到的可信度量值。
44.在本发明实施例中,可信度量模块12可以为第一可信度量模块(记为静态可信度量模块),也可以为第二可信度量模块(记为动态可信度量模块),还可以同时包括第一可信度量模块和第二可信度量模块,即可同时包括静态可信度量模块以及动态可信度量模块。本发明实施例不对度量类型做具体限定,但通常来说,采取度量种类越多,度量越全面,获取的主机11的可信度量值越准确。
45.静态可信度量模块为实现了tpm(trusted platform module,可信平台模块)标准的芯片,这类芯片可以是物理实体的也可以是其它芯片模拟的,或以固件方式实现的,只要实现了tpm标准即可。其中,tpm标准是由tcg(trusted computing group,国际可信计算组)制定的支持可信计算的底层模块标准,tpm中设置有pcr(platform configuration register,虚拟平台配置寄存器)组件,以支持可信计算中的可信度量功能。
46.静态可信度量模块可以对主机11进行一次性度量,即在某个时机,比如主机11的操作系统启动的时刻,对主机11进行一次度量(即启动度量),以获得主机11的可信度量值。在操作系统启动之后的运行阶段,则不会对可信度量值进行再次度量,所以主机11的可信度量值只反映了主机11的操作系统在启动时刻的完整性,是静态的。
47.可信度量模块12(即静态可信度量模块)在主机11的操作系统启动时刻执行的启动度量,是从可信度量根开始“一级装载一级,一级度量一级”的层层验证进而建立信任链的过程,可信度量值安全保存在可信度量模块12(即静态可信度量模块)的pcr中。下面以主机中的cpu为x86架构,操作系统为linux系统为例进行更详细地说明,如图2所示,在linux系统启动之后,静态可信度量模块利用可信度量根111对操作系统的基本输入输出系统112(basic input output system,bios)进行可信度量,在基本输入输出系统112启动之后,再利用基本输入输出系统112对操作系统装载器113(grand unified bootloader,grub)进行可信度量,在操作系统装载器113启动之后,再利用操作系统装载器113对操作系统内核114进行可信度量,操作系统内核114启动之后,再利用操作系统内核114对系统应用115进行可信度量。通过这样一个逐级度量的过程,可以建立启动信任链,启动过程中每一级度量下一级得到的静态可信度量值都集中记录在可信度量模块12(具体为静态可信度量模块)中。
48.在另一个例子中,静态可信度量模块还可以在主机11中的某一程序加载时,对主机11进行可信度量,以获得该程序加载时刻的主机11的静态可信度量值。
49.动态可信度量模块可以用于动态确定度量主机11的完整性,具体可以在主机11的操作系统启动之后的运行阶段,对操作系统的预定部分进行动态度量以获得动态可信度量值。在一个例子中,动态度量模块可以在主机11的操作系统的运行过程中,持续不断地对操作系统的关键部分进行扫描度量,以获得动态可信度量值,并将其存储在可信度量模块12(具体为动态可信度量模块)中。一般而言,相较于静态可信度量值,动态可信度量值更具有实时性,能够更准确地反映主机11的可信度。
50.可选的,在本发明的一个实施例中,可信度量模块12与外围设备13之间通过物理线路连接或通过逻辑链路连接。
51.在本发明实施例中,可以在可信度量模块12与外围设备13之间设置安全通道,以
提高可信度量值在传输过程中的安全性,防止可信度量值在传输过程中被篡改,从而保证了外围设备13从可信度量模块12中获得的可信度量值是真实可靠的。
52.在本发明实施例的一个例子中,可信度量模块12和外围设备13之间的安全通道可以是以物理线路连接的方式实现的,比如,两者之间可以通过专用总线进行连接,而不与其他数据传输过程共用总线,从而提高了可信度量值在传输过程中的安全性。在另一个例子中,还可以将可信度量模块12和外围设备13设置在同一模块内部,同样可以降低可信度量值在传输过程中被篡改的可能性,提高可信度量值在传输过程中的安全性。在又一个例子中,可信度量模块12和外围设备13之间还可以采用逻辑链路进行连接,具体可以预先采用加密算法对可信度量值进行加密,使得可信度量值以加密的形式在可信度量模块12与外围设备13之间进行传输,从而提高了可信度量值在传输过程中的安全性。
53.可选的,在本发明的一个实施例中,可信度量模块12与外围设备13处于同一模块内;或者,可信度量模块12设在外围设备13内;或者,可信度量模块12设在主机11内。
54.本发明实施例可以对可信度量模块12的位置采用多种设置方式,具体的,可信度量模块12和外围设备13可以设置于同一模块内,以提高可信度量值在传输过程中的安全性。类似的,还可以将可信度量模块12设置于外围设备13的内部,以便于外围设备13从可信度量模块12中获取可信度量值;或者,也可以将可信度量模块12设置于主机11的内部,以便于将主机11的可信度量值存储至可信度量模块12中。需要说明的是,只要外围设备13能够从可信度量模块12中获取可信度量值,不论可信度量模块12处于何种位置,都属于本发明实施例的保护范围。
55.可选的,在本发明的一个实施例中,外围设备13具体用于:在接收到主机11的访问请求时,或者周期性地从可信度量模块12获取主机11的可信度量值,并将主机11的可信度量值与度量基准值进行比较,并根据比较结果,确定是否拒绝主机11的全部访问请求或者部分访问请求。
56.在本发明实施例的一个例子中,外围设备13可以周期性地从可信度量模块12中获取可信度量值,并将获得的可信度量值与度量基准值进行比较,从而确定主机11的可信度。本例子中的可信度量值的获取时刻与后续过程中主机11向访问外围设备13发起访问请求的时刻会存在一个时间段,而在该时间段内,如果主机11遭受网络攻击,主机11的可信度量值则可能存在一定变化,因此采用上述方法获得的可信度量值只能大致反映主机11在向访问外围设备13发起访问请求这一时刻的可信度。
57.在另一个例子中,如图3所示,外围设备13在接收到主机11的访问请求时,可以从可信度量模块12中获取主机11的可信度量值,并将主机11的可信度量值与度量基准值进行比较,若两者相等,则确认主机11是可信的,因而可以允许主机11对外围设备13进行访问,外围设备13则可以响应于主机的访问请求对数据进行相应处理,并将处理结果返回至主机11中。若两者不相等,则外围设备13确认主机11不可信,然后可以根据主机11的具体种类以及具体比较结果,拒绝主机11的全部访问请求,即在任何情况下都不允许主机11对外围设备13进行访问,因此可以确保所有数据的安全性;或者在两者不相等时,外围设备13可以根据主机11的具体种类以及具体比较结果,拒绝主机11的部分访问请求,同时也对主机11的另一部分访问请求进行响应,这样即能够使得主机11能够访问外围设备13中的非重要数据,而无法访问外围设备13中的重要数据,从而确保了重要数据的安全性。在本例子中,可
信度量值的获取时刻与主机11向外围设备13发起访问请求的时刻几乎完全一致,因此该可信度量值的实时性较好,能够更准确地反映主机11在向访问外围设备13发起访问请求这一时刻的可信度。
58.可选的,在本发明的一个实施例中,外围设备13具有第一命令接口,第一命令接口用于接收主机11的可信平台配置信息116的导入,可信平台配置信息116中包含主机的度量基准值1162。
59.一般而言,外围设备13能够与多种不同类型的主机组成计算机系统,例如,当外围设备13为磁盘时,其既可以安装在型号a的主机上,也可以安装在型号b的主机上。不同类型的主机因具有不同的配置而具有不同的度量基准值,因此为了确定主机11是否可信,首先需要获得主机11对应的度量基准值。在一种具体实现方式中,不论外围设备13连接的主机为何种类型,外围设备13可以通过第一命令接口导入该主机的可信平台配置信息,并从可信平台配置信息中获取该主机的度量基准值。这样一来,不论外围设备13与何种类型的主机配合使用,外围设备13都可以获得该主机的基准度量值,以便于确定该主机是否可信。在后续更换主机的情况下,还可以重新导入新主机的可信平台配置信息,并从中获取新主机的基准度量值,以便于对新主机是否可信进行确认。
60.可选的,在本发明的一个实施例中,外围设备13具有第二命令接口,第二命令接口用于接收主机11的平台证书117的导入;外围设备13还用于根据平台证书117中第一标志位1171的数值,确定是否接收可信平台配置信息116的导入;其中,第一命令接口和第二命令接口为同一个命令接口,或者为两个不同的命令接口。
61.在本发明实施例中,如图4所示,平台证书117中的第一标志位1171的数值用于指示是否允许导入可信平台配置信息116。在导入平台证书117之前,可以根据实际需要对平台证书117的第一标志位1171进行预先设置,例如,若允许外围设备13导入可信平台配置信息116,可以将第一标志位1171的数值设置为1,若不允许外围设备13导入可信平台配置信息116,可以将第一标志位1171的数值设置为0。
62.之后,在外围设备13通过第二命令接口导入主机11的平台证书117时,外围设备13可以根据平台证书117中第一标志位1171的数值,确定是否接收可信平台配置信息116的导入。具体的,当外围设备13检测到第一标志位1171的数值为1时,则接收可信平台配置信息116的导入,当外围设备13检测到第一标志位1171的数值为0时,则拒绝可信平台配置信息116的导入。这样一来,对于任一外围设备,通过预先设置平台证书117中第一标志位1171的数值,即可对该外围设备是否导入可信平台配置信息116进行灵活控制。
63.可选的,在本发明的一个实施例中,平台证书117中包括利用第一私钥加密的第一数字签名1172,外围设备13中设置有第一私钥对应的第一公钥131;在通过第二命令接口接收平台证书117的导入时,外围设备13还用于采用第一公钥131对第一数字签名1172进行验证,若通过验证,则根据平台证书117中第一标志位1171的数值,确定是否接收可信平台配置信息的导入。
64.在本发明实施例中,在使用外围设备13之前,需要对其进行激活,外围设备13只有在激活成功之后才能正常使用。具体而言,对外围设备13进行激活的过程为首先导入平台证书117,并对平台证书117的真实性进行验证。只有当通过验证时,才表明平台证书117是真实可靠的,进而才能实现对外围设备13的成功激活。
65.如图4所示,为了对平台证书117的真实性进行验证,外围设备13的厂商可以预先利用第一密钥对平台证书117进行数字签名,形成第一数字签名1172,并在外围设备13中设置与前述第一私钥相对应的第一公钥131,第一私钥和第一公钥131是一对密钥对。在一个例子中,在进行数字签名时,可以使用非对称密码算法,比如国密sm2算法。
66.当通过第二命令接口将平台证书117导入到外围设备13中时,可以采用外围设备13中的第一公钥131对平台证书117中的第一数字签名1172进行验证,若通过验证,则表明平台证书117未被篡改,是真实可靠的。若未通过验证,则表明平台证书117不是真实可靠的,因此可以不予采用。在确定平台证书117真实可靠的情况下,外围设备13才会根据平台证书117中第一标志位1171的数值,确定是否导入可信平台配置信息。这样一来,由于采用了数字签名的方式对平台证书117的真实性进行了验证,因而能够确保平台证书117的真实性,进而能够提高外围设备13中数据的安全性。
67.可选的,在本发明的一个实施例中,平台证书117中包含有第二公钥1173,可信平台配置信息116中包括利用第二公钥1173对应的第二私钥加密的第二数字签名1161;在通过第一命令接口接收可信平台配置信息116的导入后,外围设备还用于根据第二公钥1173对第二数字签名1161进行验证,若通过验证,则从可信平台配置信息116中获取度量基准值1162。
68.如图4所示,为了对可信平台配置信息116的真实性进行验证,在导入可信平台配置信息116之前,可以在预先在前述的平台证书117中设置第二公钥1173,并利用第二公钥1173对应的第二私钥(第二公钥1173和第二私钥为一对密钥对)对可信平台配置信息116进行数字签名,形成第二数字签名1161。在通过第一命令接口导入可信平台配置信息116之后,可以从平台证书117中获取第二公钥1173,并利用第二公钥1173对第二数字签名1161进行验证。若通过验证,则说明可信平台配置信息116是真实可靠的,因此可以进一步从可信平台配置信息116中获取度量基准值1162,若未通过验证,则说明可信平台配置信息116不是真实可靠的,因此可以不予采用,从而可以保证获得的度量基准值1162的真实性,进而可以提高外围设备13中数据的安全性。
69.平台证书117中除了包括前述的第一标志位1171、第一数字签名1172以及第二公钥1173之外,还可以包括:外围设备13的识别号以及平台证书生成时间等信息。
70.第二方面,本发明的实施例提供一种访问控制方法,该方法应用于计算机系统的外围设备,能够提高外围设备中数据的安全性。
71.如图5所示,本发明的实施例提供的访问控制方法,应用于计算机系统的外围设备,该方法可以包括:
72.s11,获取计算机系统的主机的可信度量值;
73.s12,将主机的可信度量值与预先获得的主机的度量基准值进行比较;
74.s13,根据比较结果,确定是否允许主机访问外围设备。
75.在本发明实施例中,当外围设备需要对计算机系统的主机的可信度进行验证时,首先可以获取主机的可信度量值,并将该可信度量值与主机的度量基准值进行比较,若两者相等,则说明主机是可信的,不会窃取或者篡改外围设备中的数据,外围设备可以授予主机访问权限,允许主机对其进行访问。若两者不相等,则不允许主机对外围设备进行访问,以避免外围设备中的数据被窃取或者篡改。这样一来,外围设备只有在确认主机可信之后,
才允许主机对其进行访问,以实现输入数据或者输出数据的功能,因而可以确保主机不会非法窃取或者篡改外围设备中的数据,从而提高了外围设备中数据的安全性。
76.本发明的实施例提供的访问控制方法,外围设备可以首先获取的主机的可信度量值,然后将主机的可信度量值与度量基准值进行比较。进而可以根据比较结果,确定主机是否可信,外围设备只有在确定主机可信时,才允许主机对外围设备进行访问。因而可以确保主机不能非法窃取或者篡改外围设备中的数据,从而提高了外围设备中数据的安全性。
77.可选的,在本发明的一个实施例中,可信度量值为主机的操作系统启动过程的可信度量值;和/或,可信度量值为在主机的操作系统启动后的运行中,对操作系统的预定部分进行动态度量所得到的可信度量值。
78.在本发明实施例中,可信度量值既可以为静态可信度量值,也可以为静态可信度量值,还可以同时包含两者,本发明实施例不对度量类型做具体限定,但通常来说,采取度量种类越多,度量越全面,获取的主机的可信度量值越准确。
79.具体的,静态可信度量模块可以对主机进行一次性度量,即在某个时机,比如主机的操作系统启动的时刻,对主机进行一次度量(即启动度量),以获得主机的静态可信度量值。在操作系统启动之后的运行阶段,则不会对可信度量值进行再次度量,所以主机的可信度量值只反映了主机的操作系统在启动时刻的完整性,是静态的。
80.可信度量模块(此处是指静态可信度量模块)在主机的操作系统启动时刻执行的启动度量,是从可信度量根开始“一级装载一级,一级度量一级”的层层验证进而建立信任链的过程,可信度量值安全保存在可信度量模块(此处是指静态可信度量模块)的pcr中。下面以主机中的cpu为x86架构,操作系统为linux系统为例进行更详细地说明,如图2所示,在linux系统启动之后,静态可信度量模块利用可信度量根对操作系统的基本输入输出系统进行可信度量,在基本输入输出系统启动之后,再利用基本输入输出系统对操作系统装载器进行可信度量,在操作系统装载器启动之后,再利用操作系统装载器对操作系统内核进行可信度量,操作系统内核启动之后,再利用操作系统内核对系统应用进行可信度量。通过这样一个逐级度量的过程,可以建立启动信任链,启动过程中每一级度量下一级得到的静态可信度量值都集中记录在可信度量模块(此处是指静态可信度量模块)中。
81.在另一个例子中,静态可信度量模块还可以在主机中的某一程序加载时,对主机进行可信度量,以获得该程序加载时刻的主机的静态可信度量值。
82.动态可信度量模块可以用于动态确定度量主机的完整性,具体可以在主机的操作系统启动之后的运行阶段,对操作系统的预定部分进行动态度量以获得动态可信度量值。在一个例子中,动态度量模块可以在主机的操作系统的运行过程中,持续不断地对操作系统的关键部分进行扫描度量,以获得动态可信度量值,并将其存储在可信度量模块(此处是指动态可信度量模块)中。一般而言,相较于静态可信度量值,动态可信度量值更具有实时性,能够更准确地反映主机的可信度。
83.可选的,在本发明的一个实施例中,获取计算机系统的主机的可信度量值(步骤s11),可以包括:通过可信度量模块获取计算机系统的主机的可信度量值;其中,可信度量模块与外围设备处于同一模块内;或者,可信度量模块设在外围设备内;或者,可信度量模块设在主机内。
84.在本发明实施例中,可信度量模块可以获取并存储主机的可信度量值,该可信度
量值既可以为静态可信度量值,也可以为动态可信度量值,还可以同时包含两者。然后,外围设备可以从可信度量模块中获取计算机系统的主机的可信度量值。可信度量模块的位置可以采用多种设置方式,具体的,可信度量模块和外围设备可以设置于同一模块内,以提高可信度量值在传输过程中的安全性。类似的,还可以将可信度量模块设置于外围设备的内部,以便于外围设备从可信度量模块中获取可信度量值;或者,也可以将可信度量模块设置于主机的内部,以便于将主机的可信度量值存储至可信度量模块中。需要说明的是,只要外围设备能够从可信度量模块中获取可信度量值,不论可信度量模块处于何种位置,都属于本发明实施例的保护范围。
85.可选的,在本发明的一个实施例中,可信度量模块与外围设备之间通过物理线路连接或通过逻辑链路连接。
86.在本发明实施例的一个例子中,可信度量模块和外围设备之间的安全通道可以是以物理线路连接的方式实现的,比如,两者之间可以通过专用总线进行连接,而不与其他数据传输过程共用总线,从而提高了可信度量值在传输过程中的安全性。在另一个例子中,还可以将可信度量模块和外围设备设置在同一模块内部,同样可以降低可信度量值在传输过程中被篡改的可能性,提高可信度量值在传输过程中的安全性。在又一个例子中,可信度量模块和外围设备之间还可以采用逻辑链路进行连接,具体可以预先采用加密算法对可信度量值进行加密,使得可信度量值以加密的形式在可信度量模块与外围设备之间进行传输,从而提高了可信度量值在传输过程中的安全性。
87.可选的,在本发明的一个实施例中,获取计算机系统的主机的可信度量值(步骤s11),包括:接收到主机的访问请求时,或者周期性地获取主机的可信度量值。
88.在本发明实施例中,在一个例子中,外围设备可以周期性地从可信度量模块中获取可信度量值,并将获得的可信度量值与度量基准值进行比较,从而确定主机的可信度。本例子中的可信度量值的获取时刻与后续过程中主机向访问外围设备发起访问请求的时刻会存在一个时间段,而在该时间段内,如果主机遭受网络攻击,主机的可信度量值则可能存在一定变化,因此采用上述方法获得的可信度量值只能大致反映主机在向访问外围设备发起访问请求这一时刻的可信度。
89.在另一个例子中,外围设备在接收到主机的访问请求时,可以从可信度量模块中获取主机的可信度量值,并将主机的可信度量值与度量基准值进行比较,若两者相等,则确认主机是可信的,因而可以允许主机对外围设备进行访问,外围设备则可以响应于主机的访问请求对数据进行相应处理,并将处理结果返回至主机中。在本例子中,可信度量值的获取时刻与主机向外围设备发起访问请求的时刻几乎完全一致,因此该可信度量值的实时性较好,能够更准确地反映主机在向访问外围设备发起访问请求这一时刻的可信度。
90.可选的,在本发明的一个实施例中,根据比较结果,确定是否允许主机访问外围设备(步骤s13),可以包括:根据比较结果,确定是否拒绝主机对外围设备的全部访问请求或者部分访问请求。
91.在本发明实施例中,若可信度量值与度量基准值不相等,则外围设备确认主机不可信,然后可以根据主机的具体种类以及具体比较结果,拒绝主机的全部访问请求,即在任何情况下都不允许主机对外围设备进行访问,因此可以确保所有数据的安全性;或者在两者不相等时,外围设备可以根据主机的具体种类以及具体比较结果,拒绝主机的部分访问
请求,同时也对主机的另一部分访问请求进行响应,这样即能够使得主机能够访问外围设备中的非重要数据,而无法访问外围设备中的重要数据,从而确保了重要数据的安全性。
92.可选的,在本发明的一个实施例中,外围设备具有第一命令接口;在将主机的可信度量值与预先获得的主机的度量基准值进行比较(步骤s12)之前,访问控制方法还可以包括:通过第一命令接口接收主机的可信平台配置信息的导入,可信平台配置信息中包含主机的度量基准值。
93.一般而言,外围设备能够与多种不同类型的主机组成计算机系统,例如,当外围设备为磁盘时,其既可以安装在型号a的主机上,也可以安装在型号b的主机上。不同类型的主机因具有不同的配置而具有不同的度量基准值,因此为了确定主机是否可信,首先需要获得主机对应的度量基准值。在一种具体实现方式中,不论外围设备连接的主机为何种类型,外围设备可以通过第一命令接口导入该主机的可信平台配置信息,并从可信平台配置信息中获取该主机的度量基准值。这样一来,不论外围设备与何种类型的主机配合使用,外围设备都可以获得该主机的基准度量值,以便于确定该主机是否可信。在后续更换主机的情况下,还可以重新导入新主机的可信平台配置信息,并从中获取新主机的基准度量值,以便于对新主机是否可信进行确认。
94.可选的,在本发明的一个实施例中,外围设备具有第二命令接口;通过第一命令接口接收主机的可信平台配置信息的导入包括:通过第二命令接口接收主机的平台证书的导入;根据平台证书中第一标志位的数值,确定是否接收可信平台配置信息的导入;若是,则通过第一命令接口接收主机的可信平台配置信息的导入;其中,第一命令接口和第二命令接口为同一个命令接口,或者为两个不同的命令接口。
95.在本发明实施例中,如图4所示,平台证书中的第一标志位的数值用于指示是否允许导入可信平台配置信息。在导入平台证书之前,可以根据实际需要对平台证书的第一标志位进行预先设置,例如,若允许外围设备导入可信平台配置信息,可以将第一标志位的数值设置为,若不允许外围设备导入可信平台配置信息,可以将第一标志位的数值设置为0。
96.之后,在外围设备通过第二命令接口导入主机的平台证书时,外围设备可以根据平台证书中第一标志位的数值,确定是否接收可信平台配置信息的导入。具体的,当外围设备检测到第一标志位的数值为时,则接收可信平台配置信息的导入,当外围设备检测到第一标志位的数值为0时,则拒绝可信平台配置信息的导入。这样一来,对于任一外围设备,通过预先设置平台证书中第一标志位的数值,即可对该外围设备是否导入可信平台配置信息进行灵活控制。
97.可选的,在本发明的一个实施例中,平台证书中包括利用第一私钥加密的第一数字签名,外围设备中设置有第一私钥对应的第一公钥;在通过第二命令接口接收主机的平台证书的导入时,访问控制方法还可以包括:采用第一公钥对第一数字签名进行验证;
98.相应的,根据平台证书中第一标志位的数值,确定是否接收可信平台配置信息的导入,可以包括:若通过验证,则根据平台证书中第一标志位的数值,确定是否接收可信平台配置信息的导入。
99.在本发明实施例中,在使用外围设备之前,需要对其进行激活,外围设备只有在激活成功之后才能正常使用。具体而言,对外围设备进行激活的过程为首先导入平台证书,并对平台证书的真实性进行验证。只有当通过验证时,才表明平台证书是真实可靠的,即实现
了对外围设备的成功激活。
100.如图4所示,为了对平台证书的真实性进行验证,外围设备的厂商可以预先利用第一密钥对平台证书进行数字签名,形成第一数字签名,并在外围设备中设置与前述第一私钥相对应的第一公钥,第一私钥和第一公钥是一对密钥对。在一个例子中,在进行数字签名时,可以使用非对称密码算法,比如国密sm2算法。
101.当通过第二命令接口将平台证书导入到外围设备中时,可以采用外围设备中的第一公钥对平台证书中的第一数字签名进行验证,若通过验证,则表明平台证书未被篡改,是真实可靠的。若未通过验证,则表明平台证书不是真实可靠的,因此可以不予采用。在确定平台证书真实可靠的情况下,外围设备才会根据平台证书中第一标志位的数值,确定是否导入可信平台配置信息。这样一来,由于采用了数字签名的方式对平台证书的真实性进行了验证,因而能够确保平台证书的真实性,进而能够提高外围设备中数据的安全性。
102.可选的,在本发明的一个实施例中,平台证书中包含有第二公钥,可信平台配置信息中包括利用第二公钥对应的第二私钥加密的第二数字签名;
103.在通过第一命令接口接收主机的可信平台配置信息的导入后,访问控制方法还可以包括:根据第二公钥对第二数字签名进行验证;若通过验证,则从可信平台配置信息中获取度量基准值。
104.如图4所示,为了对可信平台配置信息的真实性进行验证,在导入可信平台配置信息之前,可以在预先在前述的平台证书中设置第二公钥,并利用第二公钥对应的第二私钥(第二公钥和第二私钥为一对密钥对)对可信平台配置信息进行数字签名,形成第二数字签名。在通过第一命令接口导入可信平台配置信息之后,可以从平台证书中获取第二公钥,并利用第二公钥对第二数字签名进行验证,若通过验证,则说明可信平台配置信息是真实可靠的,因此可以进一步从可信平台配置信息中获取度量基准值,若未通过验证,则说明可信平台配置信息不是真实可靠的,因此可以不予采用,从而可以保证获得的度量基准值的真实性,进而可以提高外围设备中数据的安全性。
105.平台证书中除了包括前述的第一标志位、第一数字签名以及第二公钥之外,还可以包括:外围设备的识别号以及平台证书生成时间等信息。
106.第三方面,本发明的实施例还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例提供的任一种的访问控制方法。处理器对上述步骤的具体执行过程以及处理器通过运行可执行程序代码来进一步执行的步骤,可以参见前述实施例的描述,在此不再赘述。
107.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
108.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部
分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
109.尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
110.为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
111.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
112.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1