一种可信软件列表的更新方法与流程

文档序号:15560250发布日期:2018-09-29 02:04阅读:174来源:国知局

本发明涉及安全控制领域,特别涉及一种可信软件列表的更新方法。



背景技术:

可信计算作为信息安全领域一个新的发展方向受到越来越多公司和研究机构的重视。可信计算系统的主要目标是构建一个用户可以预期的计算环境,从而保证计算资源不会被恶意篡改、盗取。

随着智能手机的普及,移动支付成为智能手机端比较重要的一项功能,但是由于智能手机中只有一个分区,即用户分区,因此智能手机中的普通数据和密码等敏感数据是在一起进行存储的,这样难以保证敏感数据的安全性。

鉴于此,需要寻求一种提升系统安全性的控制管理方法。



技术实现要素:

本发明提出了一种可信软件列表的更新方法,从而保证系统中应用程序运行的安全性。

一种可信软件列表的更新方法,适用于智能终端,其特征在于,在智能终端中划分出特权域和非特权域两部分并分别运行,所述特权域中包括tpcm,所述方法包括:

步骤1:在所述非特权域系统启动时,利用特权域中保存的第二可信软件列表对所述非特权域中的第一可信软件列表进行更新;

步骤2:当需要更新所述特权域中保存的第二可信软件列表时,通过所述非特权域中的第二应用程序接收第三可信软件列表;

步骤3:调用非特权域中的所述控制模块,通过共享内存将所述第三可信软件列表传送给特权域中的可信平台控制模块;

步骤4:特权域中的所述可信平台控制模块接收所述第三可信软件列表,对特权域中保存的所述第二可信软件列表进行覆盖式更新。

还包括:

所述第二可信软件列表保存于所述特权域的专用内存或专用外存中,从而可保证所述第二可信软件列表不会被篡改。

还包括:

在利用tpcm对所述非特权域进行安全度量且度量结果为正常之后,通过共享内存将所述特权域中保存的所述第二可信软件列表传送给所述非特权域的控制模块,所述控制模块对比所述第二可信软件列表与自身保存的第一可信软件列表是否相同,若相同则无需更新所述第一可信软件列表;若不相同则利用所述第二可信软件列表对所述第一可信软件列表进行覆盖式更新。

还包括:

所述第二应用程序运行于所述非特权域系统中,所述第二应用程序用于接收用户新定义的可信软件列表,即第三可信软件列表。

还包括:

所述第二可信软件列表存储于所述特权域专用内存或专用外存中的路径信息保存于所述可信平台控制模块中,当可信平台控制模块接收到非特权域传送过来的所述第三可信软件列表后,利用所述第三可信软件列表对指定路径中的所述第二可信软件列表进行覆盖。

本发明实施例提供了一种更新可信软件列表的方法,在系统中划分出特权域和非特权域,在非特权域中保存第一可信软件列表,在特权域中保存有用于更新所述第一可信软件列表的所述第二可信软件列表,在每次所述特权域系统启动时,都会调用所述第二可信软件列表对所述第一可信软件列表进行更新,当需要更新所述第二软件列表时,调用所述非特权域中的所述第二应用程序将所述第三可信软件列表传送给所述特权域系统以覆盖所述第二可信软件列表,从而可保证所述非特权域中的所述第二可信软件列表实时更新,进而提升了系统的安全性。

附图说明

图1为本发明中一种基于固件的可信平台控制模块实现方法的方法的系统框架图;

图2为本发明实施例一中一种可信平台控制模块方法的流程图;

图3为本发明实施例二中一种安全验证方法的流程图;

图4为本发明实施例三中一种保证系统安全性的方法的流程图;

图5为本发明实施例四中一种可信软件列表更新方法的流程图。

具体实施方式

本发明提供一种可信软件列表的更新方法。为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例一

本实施例提供一种基于固件的可信平台控制模块实现方法,在智能终端中划分出特权域和非特权域。如图1所示为本实施例中系统的框架图,其中特权域为可信执行环境(tee),包括tpcm(可信平台控制模块),以及专供特权域系统使用的专用内存、密码模块、专用外存和专用cpu;非特权域为移动终端中的富有执行环境(ree),包括支撑受控系统运行的软硬件设备的集合。

如图2所示为本实施例中可信平台控制模块方法的流程图,包括以下步骤:

步骤1:特权域系统优先启动。

具体地,利用主板上专用的供电线路为特权域系统供电,保证设备在待机状态下特权域系统就已经供电。

具体地,所述待机状态是指设备已经接通电源但用户还未按下开机键时的状态。

具体地,如果用户令设备接通电源后直接按下开机键进行上电启动,则特权域系统将会控制上电次序,先行对特权域系统执行启动以及主动安全度量。

步骤2:对tpcm进行主动度量自检,若自检无异常,则开始启动非特权域的受控系统,并进入步骤3;若自检发现异常,则报警并禁止设备启动。

具体地,所述特权域系统控制所述tpcm先行上电启动并进行自检、以及内部初始化。自检、初始化成功之后执行下一步工作;自检、初始化不成功则led按照特定方式点亮、蜂鸣器按照特定方式点亮鸣叫,提示有异常。

具体地,如果上电启动之后发现设备中不存在tpcm模块,则证明tpcm已被恶意移除,则此次将禁止设备启动。

具体地,主动安全度量是特权域系统对tpcm内的专属功能模块进行度量、授权和认证。

步骤3:非特权域业务系统启动。

具体地,tpcm中的度量服务对非特权域业务系统启动过程进行可信度量,包括硬件的度量。

具体地,若非特权域业务系统在启动的过程中需要进行身份认证,则通过特权域tpcm进行身份验证,在验证通过后允许其启动。

步骤4:tpcm主动发起对非特权域系统的安全度量操作,若度量结果为正常,则进入步骤5;否则,禁止非特权域业务系统启动。

具体地,位于tpcm环境下的主动度量服务按照特定策略指定的时机主动发起对策略指定对象的度量操作,一般来说,默认度量对象为非特权系统中的系统核心内容,如系统内核代码段、可信软件的代码段、只读数据段,策略数据等。

具体地,进行主动安全度量操作时,为特权域系统和非特权域系统建立共享内存,用于对安全度量操作时产生的中间业务数据进行存储和交互。

步骤5:度量通过后,通知非特权系统中的可信软件继续度量后继内容,若度量结果为正常,则进入步骤6;否则,禁止非特权域业务系统启动。

具体地,当tpcm对非特权域系统中核心内容的主动度量结果为正常的情况下,激活非特权域系统中的可信度量软件,由非特权域系统中的所述可信度量软件度量非特权域系统中其它功能模块,如业务应用代码段、网络连接状态、访问控制策略等。

步骤6:系统进入正常工作状态。

本实施例中的技术方案在系统中划分出特权域和非特权域,在终端启动后,优先使特权域系统启动和自检度量,度量通过后,利用特权域系统对非特权域系统进行安全度量,从而实现了对非特权域系统的安全性和完整性的主动检查验证,在保证特权域中关键数据安全性的同时,确保了非特权域中业务系统及应用的安全性。

实施例二

本实施例提供一种安全验证方法,其工作流程如图3所示,采用如图1所述的系统框架,用于当在非特权域中运行应用程序时进行敏感数据的传输和验证,包括下述步骤:

步骤1:非特权域中的第一应用程序将敏感数据传送给特权域中的可信应用。

具体地,所述可信应用的运行基于所述tpcm。

具体地,所述第一应用程序是可在智能终端中运行的任何应用程序,所述第一应用程序中存储有敏感数据,用于在需要的时候进行敏感操作,如验证和支付等。比如,若所述第一应用程序为支付类应用,则其可为微信钱包或小米钱包等,在付款场景下会涉及银行卡卡号、电子密钥和交易凭证等数据,这些数据对安全性要求较高,故可作为本实施例中的敏感数据;或者,在如通讯场景中,一些通讯内容可能会涉及的语音通话内容或者信息内容可能涉及商业机密和个人隐私等,在有保存需要的情况下这些数据对安全性的要求也比较高,所述第一应用程序在对这些通讯内容进行保存时也需要考虑这些数据对安全性的要求,故也可以作为本实施例中的敏感数据。

具体地,所述非特权域还包括控制模块,用于接收所述第一应用程序中的敏感数据;进一步的,所述控制模块通过数据通道将所述敏感数据传送给所述特权域中的可信应用。

具体地,所述数据通道为共享内存,可满足特权域和非特权域同时进行访问以及进行数据的存取。

步骤2:特权域中的可信应用对所述敏感数据进行处理。

具体地,所述处理可为保存和运算等处理,并产生相应的处理结果。

步骤3:所述可信应用将所述处理结果传送给所述非特权域。

具体地,所述可信应用通过共享内存对所述敏感数据的处理结果进行传递。

具体地,所述处理结果由非特权域中的所述控制模块接收,并由所述控制模块传递给所述第一应用程序,所述第一应用程序利用所述处理结果进行进一步的操作。

本实施例中的技术方案在系统中划分出特权域和非特权域,当非特权域中的第一应用程序进行敏感操作时,将敏感数据通过数据传输通道传输给特权域中的可信应用进行处理,并将处理结果回传给所述第一应用程序进行后续操作,从而保证了应用程序中敏感操作的安全性。

实施例三

基于前述实施例,本实施例提供一种保证系统安全性的方法,其工作流程如图4所示,采用如图1所述的系统框架,用于当在非特权域业务系统中运行应用程序时进行应用程序的安全验证,包括下述步骤:

步骤1:在所述非特权域的所述控制模块中存储第一可信软件列表。

具体地,所述第一可信软件列表中的软件为经验证为可信任的软件程序,所述第一可信软件列表中存储有所述可信任的软件程序的名称以及数字签名信息。

步骤2:当在非特权域中运行所述第一应用程序时,判断所述第一应用程序是否为可信任的软件程序。

具体地,当运行所述第一应用程序时,调用所述控制模块,获取存储于所述控制模块中的第一可信软件列表,利用待启动的所述第一应用程序的名称在所述第一可信软件列表中进行遍历,若找到相同名称的列表项,则继续判断待启动的所述第一应用程序的数字签名信息是否与所述第一可信软件列表中存储的对应于该第一应用程序的数字签名信息是否一致,若一致,则判断所述第一应用程序为可信应用程序,并允许其运行;若在所述第一可信软件列表中没有找到相同名称的列表项,或者经对比发现虽然名称一致但数字签名信息不一致,则判断所述第一应用程序不是可信应用程序,并禁止其运行。

步骤3:当判断出所述第一应用程序为可信应用程序时,控制所述第一应用程序在特权域和非特权域中运行。

具体地,在非特权域系统中运行所述第一应用程序,并实时监控所述第一应用程序,当所述第一应用程序发生敏感操作时,调用所述控制模块利用共享内存作为数据通道对敏感数据以及依次产生的处理结果数据进行传输。

本实施例中的技术方案在系统中划分出特权域和非特权域,在非特权域的控制模块中保存第一可信软件列表,当用户欲启动非特权域中的第一应用程序时,调用所述控制模块中的第一可信软件列表以判断欲启动的所述第一应用程序是否为可信软件,当判断为可信软件时才允许其运行,并通过非特权域和特权域的配合保证由第一应用程序产生的敏感操作的安全性,通过本实施例中的技术方案可有效地保证应用程序中敏感操作的安全性。

实施例四

基于前述实施例,本实施例提供一种可信软件列表的更新方法,其工作流程如图5所示,采用如图1所述的系统框架,包括下述步骤:

步骤1:在所述非特权域系统启动时,利用特权域中保存的第二可信软件列表对所述非特权域中的第一可信软件列表进行更新。

具体地,所述第二可信软件列表保存于所述特权域的专用内存或专用外存中,从而可保证所述第二可信软件列表不会被篡改。

具体地,在利用tpcm对所述非特权域进行安全度量且度量结果为正常之后,通过共享内存将所述特权域中保存的所述第二可信软件列表传送给所述非特权域的控制模块,所述控制模块对比所述第二可信软件列表与自身保存的第一可信软件列表是否相同,若相同则无需更新所述第一可信软件列表;若不相同则利用所述第二可信软件列表对所述第一可信软件列表进行覆盖式更新。

步骤2:当需要更新所述特权域中保存的第二可信软件列表时,通过所述非特权域中的第二应用程序接收第三可信软件列表。

具体地,所述第二应用程序运行于所述非特权域系统中,所述第二应用程序用于接收用户新定义的可信软件列表,即第三可信软件列表。

步骤3:调用非特权域中的所述控制模块,通过共享内存将所述第三可信软件列表传送给特权域中的可信平台控制模块。

步骤4:特权域中的所述可信平台控制模块接收所述第三可信软件列表,对特权域中保存的所述第二可信软件列表进行覆盖式更新。

具体地,所述第二可信软件列表存储于所述特权域专用内存或专用外存中的路径信息保存于所述可信平台控制模块中,当可信平台控制模块接收到非特权域传送过来的所述第三可信软件列表后,利用所述第三可信软件列表对指定路径中的所述第二可信软件列表进行覆盖。

本实施例提供了一种更新可信软件列表的方法,在系统中划分出特权域和非特权域,在非特权域中保存第一可信软件列表,在特权域中保存有用于更新所述第一可信软件列表的所述第二可信软件列表,在每次所述特权域系统启动时,都会调用所述第二可信软件列表对所述第一可信软件列表进行更新,当需要更新所述第二软件列表时,调用所述非特权域中的所述第二应用程序将所述第三可信软件列表传送给所述特权域系统以覆盖所述第二可信软件列表,从而可保证所述非特权域中的所述第二可信软件列表实时更新,进而提升了系统的安全性。

在本发明所提供的几个实施例中,应该理解到,所揭露的方法和终端,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

另外,在不发生矛盾的情况下,上述几个实施例中的技术方案可以相互组合和替换。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个模块或装置也可以由一个模块或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1