一种服务器操作系统可信增强方法及系统技术领域
本发明涉及可信计算领域,具体而言,涉及一种服务器操作系统可信增强方法及
系统。
背景技术
随着服务器的普及,服务器操作系统的安全已成为人们关注的重要问题。如何实
现服务器操作系统的安全,为用户提供可信赖的服务器计算环境,已成为目前亟待解决的
问题。
当前,针对于服务器安全问题,尤其是服务器操作系统安全问题,主要是通过防火
墙、入侵检测和病毒防护等传统的操作系统安全技术,从外部来封堵企图共享信息资源和
越权访问的非法用户。
但是这些传统的操作系统安全技术只能从外部来防止恶意攻击和越权访问,无法
防止终端操作系统内部信息的泄漏或篡改。
发明内容
有鉴于此,本发明实施例的目的在于提供一种服务器操作系统可信增强方法及系
统,从内部防止操作系统信息的泄露或篡改,实现操作系统的可信增强。
第一方面,本发明实施例提供了一种服务器操作系统可信增强方法,所述方法包
括:
构建UKey可信根;
基于所述UKey可信根进行身份认证;
身份认证成功后,操作系统进入可信引导,建立静态信任链;
基于所述静态信任链运行白名单模块,建立动态信任链。
结合第一方面,本发明实施例提供了上述第一方面的第一种可能的实现方式,其
中,构建UKey可信根,具体为:
对服务器终端进行初始化配置;
生成包含相关配置信息的Ukey可信根。
结合第一方面,本发明实施例提供了上述第一方面的第二种可能的实现方式,其
中,基于所述UKey可信根进行身份认证,具体为:
服务器终端对USB接口进行监测,判断是否有合法的用户UKey设备插入;
若检测到USB接口有合法的Ukey设备插入时,提示用户输入个人识别密码PIN码,
并将其存储在主引导记录MBR中;
所述MBR调用Ukey可信根中存储的PIN码,与用户输入PIN码进行比较;
若所述获取的PIN码与所述用户输入的PIN码相同,则身份认证成功,所述服务器
终端与所述Ukey建立通信连接。
结合第一方面,本发明实施例提供了上述第一方面的第三种可能的实现方式,其
中,身份认证成功后,操作系统进入可信引导,建立静态信任链,具体为:
身份认证成功后,操作系统进入可信引导,主引导记录MBR加载Ukey实模式驱动、
NTFS文件系统和本地密码杂凑SM3算法,对操作系统加载程序OSLOADER、操作系统内核
OSKERNAL组件进行完整性校验;
校验通过后,所述MBR将执行权顺序交给所述OSLOADER、OSKERNAL,正常启动操作
系统,静态信任链建立完成。
结合第一方面,本发明实施例提供了上述第一方面的第四种可能的实现方式,其
中,基于所述静态信任链运行白名单模块,建立动态信任链,具体为:
所述静态信任链建立以后,加载所述白名单模块的白名单驱动程序;
所述白名单模块的白名单驱动程序对在用户态动态加载的应用程序、服务或外部
设备驱动进行拦截;
调用本地SM3算法对拦截到的应用程序、服务或外部设备驱动进行检验运算,分别
得到应用程序、服务及外部设备驱动对应的校验值,并与所述白名单模块的白名单配置文
件比对;
如一致则允许加载,否则拒绝加载。
结合第一方面,本发明实施例提供了上述第一方面的第五种可能的实现方式,其
中,所述Ukey可信根包括Ukey中存储的数据结构以及Ukey驱动程序。
结合第一方面,本发明实施例提供了上述第一方面的第六种可能的实现方式,其
中,在构建UKey可信根步骤之前,还包括:
管理中心获取所述白名单模块的白名单配置文件。
结合第一方面,本发明实施例提供了上述第一方面的第七种可能的实现方式,其
中,在基于所述静态信任链运行白名单模块,建立动态信任链步骤之后,还包括:
管理中心接收所述白名单模块中白名单配置文件的更新请求。
第二方面,本发明实施例提供了一种服务器操作系统可信增强系统,所述系统包
括:UKey模块、身份认证模块、静态信任链建立模块和动态信任链建立模块,其中,
UKey模块用于构建UKey可信根;
身份认证模块用于基于所述UKey可信根,进行身份认证;
静态信任链建立模块用于身份认证成功后,操作系统进入可信引导,建立静态信
任链;
动态信任链建立模块用于基于所述静态信任链运行白名单模块,建立动态信任
链。
结合第二方面,本发明实施例提供了上述第二方面的第一种可能的实现方式,其
中,所述系统还包括审及模块,其中,
所述审计模块用于负责对服务器终端的审计信息进行处理。
在本发明实施例中,构建UKey可信根,服务器终端根据Ukey可信根中存储的数据
结构和以及Ukey驱动程序,对用户进行身份认证,身份认证成功后,操作系统进入可信引
导,对操作系统组件进行完整性检测,检测通过后正常启动操作系统,建立了静态信任链,
从内部防止操作系统信息的泄露或篡改,实现了操作系统运行环境的可信增强。此外,静态
信任链建立后运行白名单模块,服务器终端根据白名单模块的白名单配置文件和白名单驱
动程序对动态加载的应用程序、服务及外部设备驱动进行完整性检验,建立了动态信任链,
从外部阻止恶意攻击和越权访问,实现了操作系统应用环境的可信增强。
需要说明的是,本发明中所提及的操作系统包括Windows操作系统、Linux操作系
统、Unix操作系统。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变
得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书
以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合
所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附
图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对
范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这
些附图获得其他相关的附图。
图1示出了本发明实施例一所提供的一种服务器操作系统可信增强方法的流程
图;
图2示出了本发明实施例一所提供的UKey可信根中存储的数据结构示意图;
图3示出了本发明实施例一所提供的一种身份认证的流程图;
图4示出了本发明实施例一所提供的一种静态信任链的建立流程图;
图5示出了本发明实施例一所提供的一种动态信任链的建立流程图;
图6示出了本发明实施例二所提供的服务器操作系统可信增强系统的结构框图;
图7示出了本发明实施例二所提供的一种审计管理工作的流程图。
附图说明:
60-UKey模块,61-身份认证模块,62-静态信任链建立模块
63-动态信任链建立模块,64-审计模块
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例
中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅
是本发明一部分实施例,而不是全部的实施例。因此,以下对在附图中提供的本发明的实施
例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施
例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有
其他实施例,都属于本发明保护的范围。
考虑到相关技术中防火墙、入侵检测和病毒防护等传统的操作系统安全技术,只
能从外部来防止恶意攻击和越权访问,无法防止服务器终端操作系统内部信息的泄漏或篡
改。基于此,本发明实施例提供了一种服务器操作系统可信增强方法及系统。
下面通过具体实施例进行详细描述。
实施例一
参见图1,本发明实施例提供了一种服务器操作系统可信增强方法。在本发明实施
例中,以可信计算技术为基础,通过管理中心对服务器终端进行统一管理。在本发明中,该
方法具体包括以下步骤:
其中,在实现服务器终端的可信增强时,在构建UKey可信根之前,管理中心首先通
过步骤S101的操作来获取白名单配置文件。
步骤S101:管理中心获取白名单模块中的白名单配置文件,进一步的是,白名单配
置文件由管理中心获取并存储到服务器的白名单模块中,白名单模块为程序安装接口,仅
允许通过此接口在服务器上安装应用程序,严格控制应用程序的安装行为;应用程序的升
级也通过白名单模块控制。这种机制使得只有合法的应用程序才能顺利进行,否则操作系
统将进行自动拦截,记录该安全事件,生成安全日志,上传给管理中心,由审计管理员审计
查看。白名单配置文件包括应用程序的标识、应用程序的动态库的标识及应用程序的摘要
值。
具体的,管理中心通过在样板机上安装需要的应用程序来生成白名单配置文件,
详细步骤如下:
管理中心在样板机上安装应用程序时,通过可信进程调用本地SM3(密码杂凑)算
法计算应用程序的每个可执行文件的摘要值,得到应用程序的摘要值。
管理中心检测到应用程序安装过程中加载动态库时,获取动态库的名称。
管理中心将应用程序的名称、动态库的名称及应用程序的摘要值组成白名单配置
文件中该应用程序对应的一条记录。
需要说明的是,对于需要的每个应用程序,都按照上述方式生成该应用程序对应
的一条记录。管理中心还将所采集应用程序的名称、采集时间、采集人等信息录入数据库,
便于管理员查看。管理中心具有白名单管理功能,主要包括白名单信息的查看。管理员可以
通过管理中心以列表方式查询当前白名单配置文件中所包含的应用程序名称、采集时间和
采集人等信息。
另外,对于不同版本的操作系统存在不同的内核应用程序,这部分内核应用程序
也由样板机可信进程按照上述方式完成信息采集,将采集到的信息追加到白名单文件中。
样板机将采集到的信息上传至管理中心,管理中心对每个样板机上传的信息进行汇总,得
到白名单配置文件。管理中心为每一个服务器终端配置一个通用的基础白名单配置文件,
配置文件中保存了应用程序所有的可执行文件(主要包括exe、dll、ocx文件)的摘要值。
步骤S102:构建UKey可信根。
具体的,对服务器终端进行初始化配置,进一步的是,管理中心为服务器终端配置
系统管理及安全管理信息。为了对系统资源进行安全、合理控制,管理中心的管理员被定义
为三类:系统管理员、安全管理员和审计管理员,三类管理员之间相互独立、相互监督、相互
制约,每类管理员各司其职,共同保障服务器系统的安全,从而实现三权分立。
然后生成包含相关配置信息的Ukey可信根,进一步的是,配置信息包括校验信息,
Ukey可信根包括Ukey中存储的数据结构以及Ukey驱动程序。
在本发明实施例中,管理中心可以为管理服务器或具有管理控制功能的终端等。
上述Ukey是一种通过USB(Universal Serial Bus,通用串行总线)接口直接与服务器终端
相连、具有密码验证功能且可靠高速的小型存储设备。且本发明所采用的Ukey中内置了SM3
(密码杂凑)算法、SM2(非对称密码)算法和SM4(对称密码)算法。
管理中心根据系统运行过程中所需的数据结构和算法,生成Ukey数据结构。Ukey
中存储的数据结构占用Ukey设备存储空间的大小约为2KB。如图2所示,Ukey数据结构包括
PIN(Personal Identification Number,个人识别密码)码、Ukey证书、Ukey的私钥、配置信
息、状态位和管理中心的公钥证书。配置信息包括内核白名单校验值、MBR(Main Boot
Record,主引导记录)、OSLOADER(操作系统加载程序)和OSKERNAL(操作系统内核)的校验
值。其中,上述校验值的大小均为32字节。
其中,PIN码用于进行设备认证。
Uke证书指管理中心为每个服务器终端生成的证书,存入终端对应的Ukey中。
Ukey私钥与Ukey证书一一对应。
内核白名单校验值包括系统注册表中所有boot(引导)项的SM3校验值。
状态位为0或1,0表示启动时需执行安装流程,即完成校验值采集过程,1表示启动
时需执行静态信任链建立流程,即正常启动过程。
管理中心生成Ukey可信根之后,将Ukey可信根中的数字结构存储在服务器终端对
应的Ukey中。在本发明实施例中,管理中心可以对多个服务器终端进行统一管理,按照本步
骤的操作为每一个服务器终端配置Ukey。
需要说明的是,当服务器终端的配置信息发生变化时,管理中心对其进行调整。其
中,Ukey的私钥、Ukey证书及管理中心的公钥证书通过重新发行用户Ukey的方式进行离线
更新。
步骤S103:基于UKey可信根进行身份认证。
身份认证流程如图3所示。
具体的,服务器终端对USB接口进行监测,判断是否有合法的用户UKey设备插入;
若检测到USB接口有合法的Ukey设备插入时,提示用户输入个人识别密码PIN码,
并将其存储在主引导记录MBR中;
MBR调用Ukey可信根中存储的PIN码,与用户输入PIN码进行比较;
若获取的PIN码与所述用户输入的PIN码相同,则身份认证成功,服务器终端与
Ukey建立通信连接。否则建立通信连接失败,可以提示用户再次输入PIN码,按照上述方式
再次进行操作,但是为了保障可信终端的安全性,可以设置PIN码的错误次数,当用户输入
的PIN码的错误次数超过设置的错误次数(一般设置为3次)时,禁止与该Ukey建立通信连
接,如此可以防止非法用户恶意破解Ukey的PIN码。
在本发明中,采用外置Ukey进行检验的方式,实现UKey实模式驱动对用户的身份
认证,保证了服务器终端的可信安全。需要说明的是,UKey可信根的身份认证是一种双因子
的认证方式,即PIN码与UKey硬件设备。用户只有在插入可识别的UKey硬件设备且PIN码输
入正确的情况下,才可使用系统,否则系统无法运行。
步骤S104:身份认证成功后,操作系统进入可信引导,建立静态信任链。
静态信任链的建立主要由UKey可信根协助完成,静态信任链的建立流程如图4所
示。
具体的,开机BIOS启动后,身份认证成功后,操作系统进入可信引导,MBR加载Ukey
实模式驱动、NTFS文件系统和本地密码杂凑SM3算法,对OSLOADER(操作系统加载程序)、
OSKERNAL(操作系统内核)组件进行完整性校验;进一步的,为操作系统组件进行完整性校
验,具体步骤如下:
①MBR调用本地SM3算法校验OSLOADER,生成一个32字节的校验值;
②MBR利用NTFS文件系统查找出所有boot项(操作系统内核文件),调用本地SM3算
法生成各boot项校验值(假设为n项,则为n×32字节);
③调用实模式下Ukey SM3算法接口,对校验OSLOADER生成的32字节的校验值进行
二次检验,与Ukey中存储的校验值比对,如通过执行④,否则停止执行并提示用户进行状态
恢复;
④调用实模式下Ukey SM3算法接口,对②中生成的各boot项校验值分别二次校
验,并与Ukey中存储的内核白名单进行校验值比对,如通过执行⑤,否则停止执行并提示用
户进行状态恢复;
⑤读取Ukey中管理中心的公钥证书,利用公钥及Ukey SM2算法接口对应用白名单
签名进行检查,如通过执行下步操作,否则停止执行并提示用户进行状态恢复。
同理,对OSKERNAL进行完整性校验过程。
上述所有校验通过后,MBR将执行权顺序交给OSLOADER和OSKERNAL等,操作系统正
常启动,完成静态信任链的建立,如有任一项校验未通过,则停止执行并提示用户进行状态
恢复。
该步骤通过为服务器终端配置Ukey可信根后,由Ukey可信根协助完成操作系统组
件的完整性校验,每个组件只有在确保不被篡改的前提下后才能正常加载。由此实现信任
关系的逐层传递,从而保证了操作系统运行环境的安全可信。
步骤S105:基于静态信任链运行白名单模块,建立动态信任链。
动态信任链的建立过程主要由白名单模块的白名单驱动程序完成,其流程如图5
所示。
具体为,操作系统正常启动,静态信任链建立以后,加载白名单模块的白名单驱动
程序,白名单模块的白名单驱动程序对在用户态动态加载的应用程序、服务或外部设备驱
动等进行拦截,调用本地SM3算法对拦截到的应用程序、服务或外部设备驱动进行检验运
算,分别得到应用程序、服务及外部设备驱动对应的校验值,并与白名单模块的白名单配置
文件比对;如一致则允许加载,否则拒绝加载。进一步的是,得到上述应用程序、服务及外部
设备驱动对应的校验值之后,服务器终端白名单配置文件和应用程序、服务及外部设备驱
动的标识,根据应用程序、服务及外部设备驱动的标识从白名单配置文件中获取应用程序、
服务及外部设备驱动对应的校验值,将上述检验运算得到的校验值与从白名单配置文件中
获取的校验值比较,若两者相同,则校验通过,确定应用程序、服务及外部设备驱动的完整
性高,允许加载应用程序、服务及外部设备驱动,否则拒绝加载。
本发明实例中,通过静态信任链和动态信任链的完整传递,保障了服务器操作系
统的安全可信。其中,静态信任链即为操作系统各层文件完整性校验通过后启动操作系统,
动态信任链即为应用程序完整性检验通过后加载应用程序。
进一步的是,通过步骤S101操作生成了白名单配置文件之后,步骤S105建立动态
信任链需要调用白名单模块中的白名单配置文件,可见白名单的重要性,为了保证白名单
模块的实用性和安全性,该方法还包括以下步骤:
步骤S106:管理中心接收白名单模块中白名单配置文件的更新请求。
具体的,当服务器终端需要运行新的应用程序时,可以向管理中心提出申请,由审
计管理员审查通过后,管理中心通过在样板机上安装该新的应用程序的方式,采集该新的
应用程序的摘要值加入白名单配置文件,将生成的新的白名单配置文件下发给服务器终
端,使可信终端利用新的白名单配置文件替换原有的白名单配置文件,完成白名单配置文
件的更新。白名单配置文件可通过在线或离线方式进行更新。
当服务器终端的配置信息发生变化时,管理中心对其进行调整。其中,Ukey的私
钥、Ukey证书及管理中心的公钥证书通过重新发行用户Ukey的方式进行离线更新。
在本发明实施例中,基于可信计算技术,通过构建UKey可信根,服务器终端首先根
据UKey可信根对用户身份进行认证,构筑操作系统的第一道防线,只有身份合法才能操作
系统才能进行下一步骤操作,保证了系统的安全,根据Ukey可信根中存储的数据结构信息,
加载UKey驱动对操作系统加载程序、操作系统内核组件进行完整性校验,校验通过后启动
操作系统,建立了静态信任链,构筑操作系统的第二道防线,从内部防止操作系统信息的泄
露或篡改。接着,服务器终端根据白名单模块中的白名单配置文件和白名单驱动程序对动
态加载的应用程序、服务及外部设备驱动进行完整性检验,建立了动态信任链,构筑操作系
统的第三道防线,从外部阻止恶意攻击和越权访问,实现了服务器操作系统的可信增强。
实施例二
参见图6,本发明实施例提供了一种服务器操作系统可信增强系统,该系统用于执
行上述服务器操作系统可信增强方法。该系统具体包括:UKey模块60、身份认证模块61、静
态信任链建立模块62和动态信任链建立模块63,其中,
UKey模块60用于构建UKey可信根;
身份认证模块61用于基于所述UKey可信根,进行身份认证;
静态信任链建立模块62用于身份认证成功后,操作系统进入可信引导,建立静态
信任链;
动态信任链建立模块63用于基于所述静态信任链运行白名单模块,建立动态信任
链。
在本发明实施例中,基于可信计算技术,通过UKey模块构建UKey可信根,服务器终
端的身份认证模块根据UKey可信根对用户身份进行认证,构筑操作系统的第一道防线,只
有身份合法才能操作系统才能进行下一步骤操作,保证了系统的安全,静态信任链建立模
块调用Ukey可信根中存储的数据结构信息,加载UKey驱动对操作系统加载程序、操作系统
内核组件进行完整性校验,校验通过后启动操作系统,建立了静态信任链,构筑操作系统的
第二道防线,从内部防止操作系统信息的泄露或篡改。接着,服务器终端的动态信任链建立
模块根据白名单模块中的白名单配置文件和白名单驱动程序对动态加载的应用程序、服务
及外部设备驱动进行完整性检验,建立了动态信任链,构筑操作系统的第三道防线,从外部
阻止恶意攻击和越权访问,实现了服务器操作系统的可信增强。
进一步的是,该系统还包括审及模块64,其中,
审计模块64用于负责对服务器终端的审计信息进行处理。需要说明的是,审计信
息包括安全日志。
对服务器终端的审计信息进行处理的过程由服务器终端的审计模块64将审计信
息通过在线或离线的方式发送至管理中心,并由管理中心审计管理员完成审计工作,或直
接由审计管理员使用Ukey登录服务器终端直接对审计模块中审计信息进行审计,其审计管
理工作流程如图7所示。
服务器终端的审计模块64采集用户操作信息和访问行为信息,将用户操作信息和
访问行为信息组成安全日志,存储安全日志,并每隔预设时间段将安全日志发送给管理中
心;管理中心接收服务器终端的审计模块64发送的安全日志,将安全日志发送给审计管理
员,审计管理员进行审计,审计模块64的存在进一步增强操作系统的可信性。
对于本发明实施例所提供的一种服务器操作系统可信增强系统,所属领域的技术
人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、模块和单元的具体工作过
程,均可以参考上述方法实施例中的对应过程。
在本申请所提供的几个实施例中,应该理解到,所揭露系统和方法,可以通过其它
的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一
种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或
者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互
之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通
信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显
示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以
是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以
存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说
对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计
算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个
人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存
储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。以上
所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领
域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的
保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。