2023年7月27日发(作者:)
(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号
CN 112257058 A(43)申请公布日
2021.01.22(21)申请号 2.8(22)申请日 2020.10.12(71)申请人 麒麟软件有限公司地址 300450 天津市滨海新区塘沽海洋科技园信安创业广场3号楼6-8层(72)发明人 姬一文 杨钊 王玉成 郇福喜 杨诏钧 魏立峰 吴庆波 战茅 (74)专利代理机构 天津诺德知识产权代理事务所(特殊普通合伙) 12213代理人 栾志超(51).G06F
21/51(2013.01)
权利要求书2页 说明书6页 附图1页CN
112257058
A(54)发明名称一种操作系统可信计算校验方法及系统(57)摘要一种操作系统可信计算校验方法及系统,所述方法包括步骤:获取操作系统上待执行的程序文件;判断所述程序文件对应的标记值是否合法;若是,执行所述程序文件;若否,判断所述程序文件对应的哈希值是否与预设值相等;若是,执行所述程序文件;若否,拒绝执行所述程序文件。本申请提供的一种操作系统可信计算校验方法及系统,对操作系统中的程序文件的完整性进行实时标记,可主动标记识别被篡改程序文件;利用程序文件的标记值和哈希值联合进行可信校验,提高程序文件的校验效率;结合安装包签名验证功能,确保程序文件来源的合法性和完整性,并对其进行自动度量,并将度量哈希值添加到白名单数据库数据库,进而保障程序文件来源可信性和度量校验的高效性。CN 112257058 A权 利 要 求 书1/2页1.一种操作系统可信计算校验方法,其特征在于,所述方法包括步骤:获取操作系统上待执行的程序文件;判断所述程序文件对应的标记值是否合法;若是,执行所述程序文件;若否,判断所述程序文件对应的哈希值是否与预设值相等;若是,执行所述程序文件;若否,拒绝执行所述程序文件。2.根据权利要求1所述的操作系统可信计算校验方法,其特征在于,在所述获取操作系统上待执行的程序文件之前还包括步骤:判断所述操作系统是否初次启动;若是,初始化所述操作系统的白名单数据库;若否,获取所述白名单数据库中所述程序文件对应的标记值和哈希值。3.根据权利要求2所述的操作系统可信计算校验方法,其特征在于,所述初始化所述操作系统的白名单数据库包括步骤:采集所述程序文件对应的哈希值;设置所述程序文件对应的初始标记值;将所述哈希值和所述初始标记值存储至所述白名单数据库中。4.根据权利要求1所述的操作系统可信计算校验方法,其特征在于,所述判断所述程序文件对应的标记值是否合法包括步骤:获取所述程序文件对应的当前标记值;判断所述述当前标记值是否是合法标记值;若是,判断所述程序文件对应的标记值合法;若否,判断所述程序文件对应的标记值不合法。5.根据权利要求4所述的操作系统可信计算校验方法,其特征在于,在所述判断所述程序文件对应的标记值合法之后还包括步骤:获取所述程序文件对应的所述当前标记值;将所述当前标记值同步存储至白名单数据库中。6.根据权利要求1所述的操作系统可信计算校验方法,其特征在于,所述判断所述程序文件对应的哈希值是否与预设值相等包括步骤:获取所述程序文件对应的哈希值和预设值;比较所述哈希值和所述预设值;判断二者是否相等;若是,判断所述哈希值和所述预设值相等;若否,判断所述哈希值和所述预设值不相等。7.根据权利要求1所述的操作系统可信计算校验方法,其特征在于,在所述获取操作系统上待执行的程序文件之前还包括步骤:判断是否对所述程序文件进行可信计算校验。8.一种操作系统可信计算校验系统,其特征在于,所述系统包括:获取模块,用于获取操作系统上待执行的程序文件;2CN 112257058 A权 利 要 求 书2/2页判断模块,用于判断所述程序文件对应的标记值是否合法,以及判断所述程序文件对应的哈希值是否与预设值相等;执行模块,用于根据所述判断模块的判断结果执行预设命令;其中,当所述判断模块判断所述程序文件对应的标记值是否合法结果为是时,或者,当所述判断模块判断所述程序文件对应的标记值是否合法结果为否且所述判断所述程序文件对应的哈希值是否与预设值相等结果为是时,所述执行模块执行所述程序文件;当所述判断模块判断所述程序文件对应的标记值是否合法结果为否且所述判断所述程序文件对应的哈希值是否与预设值相等结果为否时,所述执行模块执行拒绝执行所述程序文件。3CN 112257058 A说 明 书一种操作系统可信计算校验方法及系统1/6页技术领域[0001]本发明属于操作系统可信计算技术领域,具体涉及一种操作系统可信计算校验方法及系统。背景技术[0002]随着计算机的普及,人们每天都通过计算机和互联网获取信息以及进行各种活动,信息技术已经成为人们生活中不可分割的一部分。但计算机与网络空间并不总是安全的,在给人们带来便利的同时也会带来巨大的安全威胁。病毒、木马等非法或恶意代码通过篡改或替换系统程序文件而达到对系统攻击进而试图进入系统的非法目的,传统常规的安全防护手段已无法实时保障计算机的安全可靠。[0003]可信计算/可信用计算(Trusted Computing,TC)是一项由可信计算组TCG(可信计算集群,前称为TCPA)推动和开发的技术。可信计算的核心目标之一是保证系统和应用的完整性,从而确定系统或软件运行在设计目标期望的可信状态。在操作系统和程序文件中加入可信验证能够减少由于使用未知或遭到篡改的程序文件而遭到威胁的可能性。[0004]可信计算主要通过度量和验证的技术实现保障系统和应用的完整性。度量就是采集所需检测的应用软件的状态,验证是将度量结果和预期度量值比对看二者是否一致,如果一致表示验证通过,如果不一致则表示验证失败。可信度量分为静态度量和动态度量两种,静态度量通常指在运行环境初装或重启时对其镜像的度量。度量是逐级的,通常先启动的软件对后一级启动的软件进行度量,度量值验证成功则标志着可信链从前一级软件向后一级的成功传递。以操作系统启动为例,可信操作系统启动时基于硬件的可信启动链,对启动链上的UEFI、loader、OS的image、内核、程序文件进行静态度量,完成信任链从硬固件到操作系统,再到程序文件的传递。动态度量和验证指在系统运行时动态获取其运行特征,根据规则或模型分析判断系统是否运行正常。[0005]专利申请号为CN2.5的中国专利公开了一种可信度量方法,该方法通过对终端设备与自主研发的可信计算技术相结合,在主板中增加可信度量节点,在设备上电之后由TPCM对设备以及外设中各芯片固件进行主动安全度量,主动安全度量结束后TPCM完成用户身份识别并对BOOTLOADER进行安全度量,度量结束之后设备正常运行,通过该申请的技术方案可令设备从上电开始就利用TPCM构筑可信链。该申请的度量为可信启动和引导过程的度量方法,是实现对硬固件的安全度量,未描述操作系统层程序文件的度量和校验方法。[0006]专利申请号为CN2.2的中国专利公开了一种基于可信计算的白名单静态度量方法,该方法描述了程序文件白名单采集、校验和控制功能,包含:确定度量对象;获取所述度量对象的哈希校验值;对比所述度量对象的哈希校验值和预期校验值;根据对比结果判断所述度量对象的可信性;生成白名单库;进而保障了软件的执行权限,来源以及可信性的完整。但所述的度量和校验方法为常规对比哈希值校验,并未考虑度量校验效率问题。4CN 112257058 A[0007]说 明 书2/6页专利申请号为CN2.2的中国专利公开一种基于可信计算的动态度量方法与管理系统,通过操作系统的用户管理界面和程序文件与用户交互,包括与操作系统交互的动态度量控制模块,动态度量控制模块控制判决模块、审计模块和度量模块,判决模块从审计模块获取最新度量结果,并根据策略判定操作系统当前是否可信,度量模块负责检测操作系统的运行时可信状态,审计模块负责分类统计、存储、上报度量结果,控制模块负责将外部管理程序的策略配置到其他各模块,将系统状态信息发送到外部管理程序,并为各模块提供对可信软件基专用硬件的访问接口。该发明工作在内核层当中,系统启动静态度量就可以保证模块的完整性,提高可信度和安全性。该方法主要描述的是度量的控制、判定、审计等控制策略和管理功能,未涉及到度量校验方法。发明内容[0008]为解决上述问题,本发明提供了一种操作系统可信计算校验方法,所述方法包括步骤:[0009]获取操作系统上待执行的程序文件;[0010]判断所述程序文件对应的标记值是否合法;[0011]若是,执行所述程序文件;[0012]若否,判断所述程序文件对应的哈希值是否与预设值相等;[0013]若是,执行所述程序文件;[0014]若否,拒绝执行所述程序文件。[0015]优选地,在所述获取操作系统上待执行的程序文件之前还包括步骤:[0016]判断所述操作系统是否初次启动;[0017]若是,初始化所述操作系统的白名单数据库;[0018]若否,获取所述白名单数据库中所述程序文件对应的标记值和哈希值。[0019]优选地,所述初始化所述操作系统的白名单数据库包括步骤:[0020]采集所述程序文件对应的哈希值;[0021]设置所述程序文件对应的初始标记值;[0022]将所述哈希值和所述初始标记值存储至所述白名单数据库中。[0023]优选地,所述判断所述程序文件对应的标记值是否合法包括步骤:[0024]获取所述程序文件对应的当前标记值;[0025]判断所述述当前标记值是否是合法标记值;[0026]若是,判断所述程序文件对应的标记值合法;[0027]若否,判断所述程序文件对应的标记值不合法。[0028]优选地,在所述判断所述程序文件对应的标记值合法之后还包括步骤:[0029]获取所述程序文件对应的所述当前标记值;[0030]将所述当前标记值同步存储至白名单数据库中。[0031]优选地,所述判断所述程序文件对应的哈希值是否与预设值相等包括步骤:[0032]获取所述程序文件对应的哈希值和预设值;[0033]比较所述哈希值和所述预设值;[0034]判断二者是否相等;5CN 112257058 A[0035]说 明 书3/6页若是,判断所述哈希值和所述预设值相等;[0036]若否,判断所述哈希值和所述预设值不相等。[0037]优选地,在所述获取操作系统上待执行的程序文件之前还包括步骤:[0038]判断是否对所述程序文件进行可信计算校验。[0039]本发明还提供了一种操作系统可信计算校验系统,所述系统包括:[0040]获取模块,用于获取操作系统上待执行的程序文件;[0041]判断模块,用于判断所述程序文件对应的标记值是否合法,以及判断所述程序文件对应的哈希值是否与预设值相等;[0042]执行模块,用于根据所述判断模块的判断结果执行预设命令;[0043]其中,当所述判断模块判断所述程序文件对应的标记值是否合法结果为是时,或者,当所述判断模块判断所述程序文件对应的标记值是否合法结果为否且所述判断所述程序文件对应的哈希值是否与预设值相等结果为是时,所述执行模块执行所述程序文件;当所述判断模块判断所述程序文件对应的标记值是否合法结果为否且所述判断所述程序文件对应的哈希值是否与预设值相等结果为否时,所述执行模块执行拒绝执行所述程序文件。[0044]本申请提供的一种操作系统可信计算校验方法及系统,对操作系统中的程序文件的完整性进行实时标记,可主动标记识别被篡改程序文件;利用程序文件的标记值和哈希值联合进行可信校验,提高程序文件的校验效率;结合安装包签名验证功能,确保程序文件来源的合法性和完整性,并对其进行自动度量,并将度量哈希值添加到白名单数据库,进而保障程序文件来源可信性和度量校验的高效性。附图说明[0045]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。[0046]图1是本发明提供的一种操作系统可信计算校验方法的流程示意图;[0047]图2是本发明提供的一种操作系统可信计算校验系统的示意图。具体实施方式[0048]为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。[0049]如图1,在本申请实施例中,本发明提供了一种操作系统可信计算校验方法,所述方法包括步骤:[0050]S1:获取操作系统上待执行的程序文件;[0051]S2:判断所述程序文件对应的标记值是否合法;[0052]S3:若是,执行所述程序文件;6CN 112257058 A[0053]说 明 书4/6页S4:若否,判断所述程序文件对应的哈希值是否与预设值相等;[0054]S5:若是,执行所述程序文件;[0055]S6:若否,拒绝执行所述程序文件。[0056]在本申请实施例中,当对操作系统可信计算校验时,首先获取操作系统上待执行的程序文件,然后判断所述程序文件对应的标记值是否合法;如果合法,则执行所述程序文件;如果不合法,则判断所述程序文件对应的哈希值是否与预设值相等;如果二者相等,则执行所述程序文件;如果二者不相等,则拒绝执行所述程序文件。[0057]在本申请实施例中,在步骤S1中的获取操作系统上待执行的程序文件之前还包括步骤:[0058]判断所述操作系统是否初次启动;[0059]若是,初始化所述操作系统的白名单数据库;[0060]若否,获取所述白名单数据库中所述程序文件对应的标记值和哈希值。[0061]在本申请实施例中,具体地,当获取操作系统上待执行的程序文件之前还需要判断此操作系统是否初次启动;如果初次启动,此时需要初始化所述操作系统的白名单数据库;如果非首次启动,则获取所述白名单数据库中所述程序文件对应的标记值和哈希值,供后续的判断步骤使用。[0062]在本申请实施例中,所述初始化所述操作系统的白名单数据库包括步骤:[0063]采集所述程序文件对应的哈希值;[0064]设置所述程序文件对应的初始标记值;[0065]将所述哈希值和所述初始标记值存储至所述白名单数据库中。[0066]在本申请实施例中,具体地,初始化所述操作系统的白名单数据库包括对哈希值和标记值的初始化。此时,采集所述程序文件对应的哈希值,并且设置所述程序文件对应的初始标记值,然后将所述哈希值和所述初始标记值存储至所述白名单数据库中。[0067]在本申请实施例中,步骤S2中的判断所述程序文件对应的标记值是否合法包括步骤:[0068]获取所述程序文件对应的当前标记值;[0069]判断所述述当前标记值是否是合法标记值;[0070]若是,判断所述程序文件对应的标记值合法;[0071]若否,判断所述程序文件对应的标记值不合法。[0072]在本申请实施例中,当判断程序文件是否完整时,首先获取所述程序文件对应的当前标记值,并判断所述述当前标记值是否是合法标记值,如果是合法标记值,则判断所述程序文件对应的标记值合法,然后执行执行程序文件即可;如果不是合法标记值,则判断所述程序文件对应的标记值不合法,则执行判断所述程序文件对应的哈希值是否与预设值相等操作。[0073]在本申请实施例中,在所述判断所述程序文件对应的标记值合法之后还包括步骤:[0074]获取所述程序文件对应的所述当前标记值;[0075]将所述当前标记值同步存储至白名单数据库中。[0076]在本申请实施例中,当判断所述程序文件对应的标记值合法时,此时获取所述程7CN 112257058 A说 明 书5/6页序文件对应的所述当前标记值,并将当前标记值同步存储至白名单数据库中。[0077]在本申请实施例中,步骤S4中的判断所述程序文件对应的哈希值是否与预设值相等包括步骤:[0078]获取所述程序文件对应的哈希值和预设值;[0079]比较所述哈希值和所述预设值;[0080]判断二者是否相等;[0081]若是,判断所述哈希值和所述预设值相等;[0082]若否,判断所述哈希值和所述预设值不相等。[0083]在本申请实施例中,判断哈希值与预设值是否相等时,可以将哈希值与预设值做比较,则可以判断出二者是否相等。[0084]在本申请实施例中,在步骤S1中的获取操作系统上待执行的程序文件之前还包括步骤:[0085]判断是否对所述程序文件进行可信计算校验。[0086]在本申请实施例中,在获取操作系统上待执行的程序文件之前还需要判断是否对程序文件进行可信计算校验,如果对其进行可信计算校验,则读取程序文件。判断是否对所述程序文件进行可信计算校验的命令可以由操作者自定义,本申请不做限制。[0087]如图2,在本申请实施例中,本发明还提供了一种操作系统可信计算校验系统,所述系统包括:[0088]获取模块10,用于获取操作系统上待执行的程序文件;[0089]判断模块20,用于判断所述程序文件对应的标记值是否合法,以及判断所述程序文件对应的哈希值是否与预设值相等;[0090]执行模块30,用于根据所述判断模块20的判断结果执行预设命令;[0091]其中,当所述判断模块20判断所述程序文件对应的标记值是否合法结果为是时,或者,当所述判断模块20判断所述程序文件对应的标记值是否合法结果为否且所述判断所述程序文件对应的哈希值是否与预设值相等结果为是时,所述执行模块30执行所述程序文件;当所述判断模块20判断所述程序文件对应的标记值是否合法结果为否且所述判断所述程序文件对应的哈希值是否与预设值相等结果为否时,所述执行模块30执行拒绝执行所述程序文件。[0092]本申请提供的一种操作系统可信计算校验系统可以执行上述提出的一种操作系统可信计算校验方法。[0093]本申请提供的一种操作系统可信计算校验方法及系统,对操作系统中的程序文件的完整性进行实时标记,可主动标记识别被篡改程序文件;利用程序文件的标记值和哈希值联合进行可信校验,提高程序文件的校验效率;结合安装包签名验证功能,确保程序文件来源的合法性和完整性,并对其进行自动度量,并将度量哈希值添加到白名单数据库,进而保障程序文件来源可信性和度量校验的高效性。[0094]应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修8CN 112257058 A说 明 书6/6页改例。9CN 112257058 A说 明 书 附 图1/1页图1图210
发布者:admin,转转请注明出处:http://www.yc00.com/web/1690461735a352691.html
评论列表(0条)