一种基于Andriod内核的强制访问控制方法及装置制造方法

文档序号:6551902阅读:116来源:国知局
一种基于Andriod内核的强制访问控制方法及装置制造方法
【专利摘要】本发明提供了一种基于Andriod内核的强制访问控制方法及装置,本发明针对待保护的监控客体,需要对监控主体进行二次判断,即当监控主体为合法监控主体,且监控主体可信时,才允许监控主体访问监控客体。由于本方法是集成至操作系统内核中的,所以恶意软件不可能绕过该方法去攻击监控客体,即便恶意软件获得超级用户权限,只要恶意软件不是合法监控主体也没有访问权利,即便合法监控主体被黑客恶意篡改,会由于监控主体不可信,而没有访问权利,因此本发明能够防止所有非法或不可信的监控主体访问监控客体,从而保护了用户隐私不被泄露、保护系统安全。
【专利说明】—种基于Andriod内核的强制访问控制方法及装置
【技术领域】
[0001]本发明涉及信息安全【技术领域】,尤其涉及一种基于Andriod内核的强制访问控制方法及装置。
【背景技术】
[0002]现有的智能手机、平板电脑和数字电视等智能终端大部分采用Android系统,Android系统是Linux操作系统和基于Java的Dalvik平台的联合体,目前流行的Android系统使用的为Linux2.6内核。Linux内核采用了基于用户的自主访问控制机制(Discretionary Access Control, DAC), DAC中任何程序对文件享有完全的控制权,控制权由用户自己定义。
[0003]用户能够自行变动应用程序对文件的访问权限,当智能终端遭受应用层权限提升的攻击后,即恶意软件通过漏洞获得超级用户权限,当恶意软件获得超级用户权限则拥有完全的访问控制权限,进而可以控制整个操作系统,例如:获取用户账号、登陆令牌、聊天记录等隐私信息,影响操作系统的安全性。
[0004]为了提高Android系统的安全性,保护个人数据及文件不被非法软件访问成为亟待解决问题。

【发明内容】

[0005]本发明提供了一种基于Andriod内核的强制访问控制方法及装置,本发明能够保护个人数据及文件不被非法软件访问,从而提高了 Android系统的安全性。
[0006]—种基于Andriod内核的强制访问控制方法,包括:
[0007]当监控主体访问监控客体时,依据内嵌在内核中的策略模块判断所述监控客体是否为待保护客体;其中所述监控主体为应用程序,所述监控客体为智能终端内部的数据信息,所述策略模块中包括至少一个待保护客体的绝对路径和文件名,至少一个与所述待保护客体对应的合法监控主体;
[0008]当所述监控客体为待保护客体时,从策略模块中获取与所述监控客体对应的合法监控主体;
[0009]判断所述监控主体是否为合法监控主体;
[0010]当所述监控主体为合法监控主体时,则判断所述监控主体是否可信;
[0011]当所述监控主体可信时,则允许所述监控主体访问所述监控客体。
[0012]优选的,判断所述监控客体是否为待保护客体包括:
[0013]获取所述监控客体的绝对路径和文件名;
[0014]判断所述策略模块内是否包含所述监控客体的绝对路径和文件名;
[0015]当所述策略模块内包含所述监控客体的绝对路径和文件名时,表明所述监控客体为待保护客体;
[0016]当所述策略模块内未包含所述监控客体的绝对路径和文件名时,表明所述监控客体不为待保护客体。
[0017]优选的,在判断所述监控主体是否可信之前,还包括:
[0018]利用摘要算法计算所述监控主体的第一摘要信息;
[0019]在存储模块中获取预先存储的所述监控主体的第二摘要信息,所述第二摘要信息为预先采用同一摘要算法计算得到的;
[0020]将所述第一摘要信息和第二摘要信息进行对比,获得对比结果,其中当所述第一摘要信息和第二摘要信息一致,则表明所述监控主体可信,当所述第一摘要信息和第二摘要信息不一致,则表明所述监控主体不可信;
[0021]将所述对比结果存储至监控主体中。
[0022]优选的,在判断所述监控主体是否可信之前,还包括:
[0023]利用安全散列算法SHA计算所述监控主体的第一 HASH值;
[0024]在存储模块中获取预先存储的所述监控主体的第二 HASH值,所述第二 HASH值为预先采用SHA算法计算得到的;
[0025]将所述第一 HASH值和第二 HASH值进行对比,并获得对比结果,其中当所述第一HASH值和第二 HASH值一致,则表明所述监控主体可信,当所述第一 HASH值和第二 HASH值不一致,则表明所述监控主体不可信;
[0026]将所述对比结果存储至监控主体中。
[0027]优选的,判断所述监控主体是否可信包括:
[0028]获取所述监控主体中的对比结果;
[0029]依据所述对比结果判定所述监控主体是否可信。
[0030]优选的,采用以下步骤更新所述存储模块:
[0031]接收待更新内容和数字签名信息;
[0032]对接收到的数字签名信息进行公钥解密获得第三摘要信息;
[0033]对所述待更新内容利用第二摘要算法获得第四摘要信息;
[0034]判断所述第三摘要信息和第四摘要信息是否一致;
[0035]当第三摘要信息和第四摘要信息一致,则判断所述监控主体第二版本号是否大于第一版本号;
[0036]当所述监控主体第二版本号大于第一版本号时,则将待更新内容写入存储模块内。
[0037]优选的,数字签名信息的获得过程包括:
[0038]获得待更新内容;
[0039]将待更新内容利用所述第二摘要算法生成第三摘要信息;
[0040]利用私钥对所述第三摘要信息进行数字签名获得数字签名信息;
[0041 ] 将所述待更新内容和数字签名信息进行发送。
[0042]一种基于Andriod内核的强制访问控制装置,包括:
[0043]第一判断单元,用于当监控主体访问监控客体时,依据内嵌在内核中的策略模块判断所述监控客体是否为待保护客体;其中所述监控主体为应用程序,所述监控客体为智能终端内部的数据信息,所述策略模块中包括至少一个待保护客体的绝对路径和文件名,至少一个与所述待保护客体对应的合法监控主体;[0044]获取单元,用于当所述监控客体为待保护客体时,从策略模块中获取与所述监控客体对应的合法监控主体;
[0045]第二判断单元,用于判断所述监控主体是否为合法监控主体;当所述监控主体为合法监控主体时,则判断所述监控主体是否可信;
[0046]访问单元,用于当所述监控主体可信时,则允许所述监控主体访问所述监控客体。
[0047]优选的,还包括:
[0048]获取对比结果单元,用于利用摘要算法计算所述监控主体的第一摘要信息;在存储模块中获取预先存储的所述监控主体的第二摘要信息,所述第二摘要信息为预先采用同一摘要算法计算得到的;将所述第一摘要信息和第二摘要信息进行对比,获得对比结果,其中当所述第一摘要信息和第二摘要信息一致,则表明所述监控主体可信,当所述第一摘要信息和第二摘要信息不一致,则表明所述监控主体不可信;将所述对比结果存储至监控主体中。
[0049]优选的,还包括:
[0050]更新单元,用于接收待更新内容和数字签名信息;对接收到的数字签名信息进行公钥解密获得第三摘要信息;对所述待更新内容利用第二摘要算法获得第四摘要信息;判断所述第三摘要信息和第四摘要信息是否一致;当第三摘要信息和第四摘要信息一致,则判断所述监控主体第二版本号是否大于第一版本号;当所述监控主体第二版本号大于第一版本号时,则将待更新内容写入存储模块内。
[0051]优选的,还包括:
[0052]获取签名单元,用于获得待更新内容;将待更新内容利用所述第二摘要算法生产第三摘要信息;利用私钥对所述第三摘要信息进行数字签名获得数字签名信息;将所述待更新内容和数字签名信息进行发送。
[0053]本发明提供了一种基于Andriod内核的强制访问控制方法及装置,本发明针对待保护的监控客体,需要对监控主体进行二次判断,即当监控主体为合法监控主体,且监控主体可信时,才允许监控主体访问监控客体。由于本方法和策略模块都是集成至操作系统内核中的,无法通过外界配置文件进行修改,无法绕过。所以恶意软件不可能绕过本方法去攻击监控客体,即便恶意软件获得超级用户权限,只要恶意软件不是合法监控主体也没有访问权利,即便合法监控主体被黑客恶意篡改,也会由于监控主体不可信,而没有访问权利,因此本发明能够防止所有非法或不可信的监控主体访问监控客体,从而保护了用户隐私不被泄露、保护系统安全。
【专利附图】

【附图说明】
[0054]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0055]图1为本发明公开的一种基于Andriod内核的强制访问控制方法的流程图;
[0056]图2为本发明公开的又一种基于Andriod内核的强制访问控制方法的流程图;
[0057]图3为本发明公开的又一种基于Andriod内核的强制访问控制方法的流程图;[0058]图4为本发明公开的又一种基于Andriod内核的强制访问控制方法的流程图;
[0059]图5为本发明公开的又一种基于Andriod内核的强制访问控制方法的流程图;
[0060]图6为本发明公开的又一种基于Andriod内核的强制访问控制方法的流程图;
[0061]图7为本发明公开的一种基于Andriod内核的强制访问控制装置的流程图;
[0062]图8为本发明公开的一种基于Andriod内核的强制访问控制装置的结构示意图。
【具体实施方式】
[0063]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0064]如图1所示,本发明提供了一种基于Andriod内核的强制访问控制方法,本方法应用于终端内部的内核,包括:
[0065]步骤SlOl:当监控主体访问监控客体时,依据内嵌在内核中的策略模块判断所述监控客体是否为待保护客体;其中所述监控主体为应用程序,所述监控客体为智能终端内部的数据信息,所述策略模块中包括至少一个待保护客体的绝对路径和文件名,至少一个与所述待保护客体对应的合法监控主体;
[0066]当软件程序需要访问终端内部的数据信息时,例如:文件、数据存储内容或其他内容,为了防止恶意软件对用户的隐私文件或系统的重要内容进行攻击,所以本发明需要监控软件程序和终端内部的数据信息,防止恶意软件访问终端内部的重要数据信息,因此将软件程序称为监控主体,将终端内部的数据信息称为监控客体。
[0067]当监控主体访问监控客体时,首先需要判断监控客体是否为待保护的客体,当监控客体不是待保护的客体时,则退出程序,当监控客体为待保护客体时,才启动保护程序进行后续过程。
[0068]步骤S102:当所述监控客体为待保护客体时,从策略模块中获取与所述监控客体对应的合法监控主体;
[0069]当监控客体时待保护客体时,则后续过程会判断监控主体是否合法,只有合法的监控主体才能够具有访问监控客体的权利,因此需要在策略模块中获取与所述监控客体对应的合法监控主体,开发人员根据安全需求预先决定哪些软件程序具有访问该监控客体的权利,便将这些软件程序的信息,编译到内核的策略模块中。
[0070]步骤S103:判断所述监控主体是否为合法监控主体;
[0071]合法监控主体的数量可以有多个,只有合法的监控主体才能有权利访问监控客体,非法的监控主体不具有访问权利,当策略模块中不包括监控主体时则表明该监控主体是非法的,此时则反馈错误信号进而退出程序,禁止非法监控主体访问待保护客体。
[0072]步骤S104:当所述监控主体为合法监控主体时,则判断所述监控主体是否可信;
[0073]当监控主体是合法的监控主体时,判断监控主体是否可信,当该监控主体未被修改过的时候,该监控主体是善意软件不会对系统进行攻击,当监控主体被修改后,监控主体是否还是善意软件便不确定,即当监控主体被修改后,其中可能包括木马或病毒等其他内容,为了保证系统安全,只要监控主体被修改便判定监控主体不可信。[0074]步骤S105:当所述监控主体可信时,则允许所述监控主体访问所述监控客体。
[0075]当监控主体可信时,才会允许监控主体访问监控客体。即当监控客体为待保护客体时,当且仅当监控主体合法且可信时,才允许监控主体访问监控客体,保护了监控客体的安全。监控主体不可信则退出程序。
[0076]经过上述实施例可知,本发明针对待保护的监控客体,需要对监控主体进行二次判断,即当监控主体为合法监控主体,且监控主体可信时,才允许监控主体访问监控客体。由于本方法是集成至操作系统内核中的,所以恶意软件不可能绕过该方法去攻击监控客体,即便恶意软件获得超级用户权限,只要恶意软件不是合法监控主体也没有访问权利,即便合法监控主体被黑客恶意篡改,会由于监控主体不可信,而没有访问权利,因此本发明能够防止所有非法或不可信的监控主体访问监控客体,从而保护了用户隐私不被泄露、保护系统安全。
[0077]在上述实施例的步骤SlOl中,为了表明哪些监控客体是需要保护的监控客体,策略模块中预先存储至少一个待保护客体的绝对路径和文件名,当然有多个待保护客体时,则预先存储多个待保护客体的绝对路径和文件名,并且绝对路径和文件名一一对应存储。由于终端中可能有多个相同的文件名,为了唯一确定一个文件,采用绝对路径和文件名一并确定待保护客体,由于同一绝对路径下的文件名不可能是相同的,因此依据绝对路径和文件名便可唯一确定一个待保护客体。
[0078]如图2所示,下面介绍判断所述监控客体是否为待保护客体的具体过程。
[0079]步骤S201:获取所述监控客体的绝对路径和文件名;
[0080]当监控主体访问监控客体时,内核获取所述监控客体的绝对路径和文件名。
[0081]步骤S202:判断所述策略模块内是否包含所述监控客体的绝对路径和文件名,所述策略模块中预先存储有至少一个与绝对路径对应的文件名;
[0082]将上述步骤获取所述监控客体的绝对路径和文件名与策略模块中预先存储的绝对路径和文件名进行一一对比,即相互匹配,当策略模块中包括所述监控客体的绝对路径,也包括与所述监控客体的绝对路径对应的文件名时,则表明所述监控客体是在策略模块中预先存储的待保护客体。
[0083]步骤S203:当所述策略模块内包含所述监控客体的绝对路径和文件名时,表明所述监控客体为待保护客体;当监控客体为待保护客体,则执行后续过程。
[0084]步骤S204:当所述策略模块内未包含所述监控客体的绝对路径和文件名时,表明所述监控客体不为待保护客体。当监控客体不是待保护客体则无需进行监控。
[0085]在图1所示的实施例中,步骤S104中判断监控主体是否可信具体通过获取所述监控主体中的对比结果;依据所述对比结果判定所述监控主体是否可信。下面介绍对比结果是如何获得的,如图3所示,包括以下步骤:
[0086]步骤S301:利用摘要算法计算所述监控主体的第一摘要信息;
[0087]在本方法执行之前,项目开发人员会预先对合法监控主体按摘要算法进行计算,获得第二摘要信息,当合法监控主体有多个时,则获取多个第二摘要信息,并将多个第二摘要信息存储至存储模块中;为了叙述方便,本实施例以一个第二摘要信息为例进行说明。
[0088]当监控主体访问监控客体时,会将该监控主体按同样的摘要算法进行计算,获得第一摘要信息,只要监控主体的内容不被修改,则两者的摘要信息一致,只要监控主体的内容被修改一位,则两者的摘要信息不一致的。
[0089]步骤S302:在存储模块中获取预先存储的所述监控主体的第二摘要信息,所述第二摘要信息为预先采用同一摘要算法计算得到的;
[0090]步骤S303:将所述第一摘要信息和第二摘要信息进行对比,获得对比结果,其中当所述第一摘要信息和第二摘要信息一致,则表明所述监控主体可信,当所述第一摘要信息和第二摘要信息不一致,则表明所述监控主体不可信;
[0091]步骤S304:将所述对比结果存储至监控主体中。优选的,可以存储至监控主体的结构体中。
[0092]优选的,可以将对比结果以一个标志位的形式存储至监控主体的结构体中,当标志位为“I”时,表明监控主体可信,当标志位为“O”时表明监控主体不可信,或者当标志位为“O”时,表明监控主体可信,当标志位为“I”时表明监控主体不可信。
[0093]下面介绍获取对比结果的一个具体实例,如图4所示,包括以下步骤:
[0094]步骤S401:利用安全散列算法Secure Hash Algorithm, SHA)计算所述监控主体的第一 HASH值;HASH即散列的意思,此HASH值为利用安全散列算法得到的结果。
[0095]步骤S402:在存储模块中获取预先存储的所述监控主体的第二 HASH值,所述第二HASH值为预先采用SHA算法计算得到的;
[0096]步骤S403:将所述第一 HASH值和第二 HASH值进行对比,并获得对比结果,其中当所述第一 HASH值和第二 HASH值一致,则表明所述监控主体可信,当所述第一 HASH值和第二 HASH值不一致,则表明所述监控主体不可信;
[0097]步骤S404:将所述对比结果存储至监控主体中。
[0098]上述步骤与图3所示的内容大体一致,在此不再赘述。
[0099]在以上实施例中讲述了策略模块具有许多信息,具体包括:待保护客体的绝对路径和文件名、与待保护客体对应的合法监控主体;上述存储模块包含与合法监控主体对应的编号、版本号和摘要信息,策略模块和存储模块的内容是图1实施例的判断依据,图1实施例的判断访问主体可信过程需依据存储模块的内容进行,因此存储模块的内容至关重要。
[0100]当需要更新存储模块的内容时,即合法监控主体需要改变时,为了保证存储模块中数据的安全性,本发明提供了更新存储模块的步骤,如图5所示,具体包括以下步骤:
[0101]步骤S501:获得待更新内容;
[0102]为了防止恶意软件更新存储模块,本发明对待更新内容采用数字签名验证和版本控制等方式。其中,待更新内容包括监控访问主体的编号、版本号和HASH值等信息;数字签名是对待更新数据使用私钥进行签名,保证更新来源于安全的远端服务器;版本控制是保证每次更新的是新版本,并验证更新过程的新鲜性。当监控主体更新时,远端服务器收到更新安全存储需求时,获得待更新数据。
[0103]步骤S502:将待更新内容利用所述第二摘要算法生成第三摘要信息;
[0104]步骤S503:利用私钥对所述第三摘要信息进行数字签名获得数字签名信息;
[0105]步骤S504:将所述待更新内容和数字签名信息进行发送。
[0106]以上内容为将待更新内容进行数字签名,并将待更新内容和数字签名信息一并发送至更新安全存储客户端,转发给内核的安全存储管理模块,由安全存储管理模块进行判断,待更新内容是否合格,是否将待更新内容存储至存储模块中。
[0107]如图6所示,安全存储管理模块执行以下步骤,包括:
[0108]步骤S601:接收待更新内容和数字签名信息;
[0109]步骤S602:对接收到的数字签名信息进行公钥解密获得第三摘要信息;
[0110]步骤S603:对所述待更新内容利用第二摘要算法获得第四摘要信息;
[0111]步骤S604:判断所述第三摘要信息和第四摘要信息是否一致,第三摘要信息和第四摘要信息一致则表明发送待更新内容的软件程序可靠;当第三摘要信息和第四摘要信息不一致,则退出程序。
[0112]步骤S605:当第三摘要信息和第四摘要信息一致时,进一步判断所述监控主体第二版本号是否大于第一版本号。
[0113]读取安全存储模块中的数据获得监控主体的第一版本号,解析接收到的待更新数据得到监控主体的第二版本号,当第二版本号大于第一版本号时,则说明待更新版本是监控主体的新版本及更新过程是新鲜的;当第二版本号不大于第一版本号时,则退出程序。
[0114]步骤S606:当第二版本号大于第一版本号时,则将待更新内容写入存储模块内。
[0115]本方法保证了存储模块更新过程的准确性和新鲜性,进一步保证了内核依据策略模块和存储模块模块,进行判断是否允许监控主体访问监控客体,保证了合法且可信的监控主体访问监控客体。
[0116]下面介绍基于Android平台的内核具体实施例:
[0117]以主体(记为A)打开客体文件/data/tpm/system.data (记为F)为例。
[0118]Linux系统提供了用以执行进程的系统调用函数SyS_exeCVe(),系统调用函数通过调用具体执行程序函数do_execve()实现。在执行函数do_execve O中,首先是打开文件函数0pen_exec O打开A,并检查其有效性;接着进一步检查A是否是可执行文件,最后通过查询函数search_binary_handler O查询能够处理该可执行文件格式的处理函数,并调用相应的加载函数load_libary()进行加载。
[0119]在要加载的过程中,Linux内核进程监控模块监控主体函数mac_monitor_subject O监控到这一操作,根据策略匹配函数mac_match_policy O确认当前进程A是否在策略模块中所定义的访问主体之列。如果是,度量模块将通过计算HASH值函数mac_calc_hash O调用SHA算法模块计算其HASH值,并从安全存储模块中读取A的HASH值,两者进行比较,结果保存在访问主体结构体struct mac_subject_entry中。
[0120]当A调用系统函数open O打开F时,Linux内核执行系统调用函数sys_execve O ,其通过调用具体执行程序函数do_execve()实现打开功能。在执行函数do_execve O中,通过调用打开文件函数open_exec()打开F,进一步调用do_filp_open O来执行。在打开执行过程中,Linux内核进程监控模块客体监控函数mac_monitor_object O监控到这一操作,根据策略匹配函数mac_match_policy()依据绝对路径和文件名等规则确认F是策略模块中所定义的客体。然后进入审计阶段,审计模块的审计访问主体函数mac_audit_sub ject O首先获得访问F的当前主体A的相关信息,策略规则匹配函数mac_match_policy O依据访问规则确认当前主体A是否在允许访问该客体F的范围之列,然后查看主体结构体structmac_subject_entry中的可信标签,确认当前主体A合法后才允许访问F,否则返回该操作无权限。[0121]下面介绍更新存储模块的数据的具体实施例:
[0122]当监控访问主体更新时,相关模块需做(但不限于)以下工作:
[0123]①更新安全存储客户端向远端服务器(记为A)发出更新请求;
[0124]②A收到更新请求后,做以下工作:
[0125]首先生成消息摘要,将要更新的数据Data(包括访问主体编号、版本及HASH值)做HASH运算,产生消息摘要HASH [Data];
[0126]然后是数字签名,用RSA私钥对摘要值做数据签名运算得RSAPrivateKey [HASH [Data]];
[0127]最后将包含数据Data及签名结果RSAPHvateKey [HASH [Data]]的数据包即Data RSAPrivateKey[HASH[Data]]发送给更新安全存储客户端,再转发给安全存储管理模块(记为B),其中更新安全存储客户端作为A和B之间通信的桥梁。
[0128]③B收到更新数据包之后,做以下工作:
[0129]首先签名验证,对接收到的数据Data做HASH运算,得到HASH[Data];
[0130]然后对接收到的数据RSAMvatdtey[HASH[Data]]做RSA公钥解密运算RSApublidiey [HASH [Data]]得到 HASH [Data] *,把 HASH [Data]和 HASH [Data] * 二者相比较,一致则说明更新数据来自于合法的远端服务器,向下继续执行,否则返回错误;
[0131]最后版本验证,更新安全存储数据。解析接收到数据Data得到访问主体的版本号V,与安全存储模块中单调计数器的值V’比较,如果V>V’,则更新Data,将更新Data写入安全存储模块;否则拒绝更新,返回错误。
[0132]如图7所示,本发明一种基于Andriod内核的强制访问控制装置,包括:
[0133]第一判断单元701,用于当监控主体访问监控客体时,依据内嵌在内核中的策略模块判断所述监控客体是否为待保护客体;其中所述监控主体为应用程序,所述监控客体为智能终端内部的数据信息,所述策略模块中包括至少一个待保护客体的绝对路径和文件名,至少一个与所述待保护客体对应的合法监控主体;
[0134]获取单元702,用于当所述监控客体为待保护客体时,从策略模块中获取与所述监控客体对应的合法监控主体;
[0135]第二判断单元703,用于判断所述监控主体是否为合法监控主体;当所述监控主体为合法监控主体时,则判断所述监控主体是否可信;访问单元704,用于当所述监控主体可信时,则允许所述监控主体访问所述监控客体。
[0136]如图7所示,本发明提供的一种基于Andriod内核的强制访问控制装置还包括:
[0137]获取对比结果单元705,用于利用摘要算法计算所述监控主体的第一摘要信息;在存储模块中获取预先存储的所述监控主体的第二摘要信息,所述第二摘要信息为预先采用同一摘要算法计算得到的;将所述第一摘要信息和第二摘要信息进行对比,获得对比结果,其中当所述第一摘要信息和第二摘要信息一致,则表明所述监控主体可信,当所述第一摘要信息和第二摘要信息不一致,则表明所述监控主体不可信;将所述对比结果存储至监控主体中。
[0138]如图8所示,本发明提供的基于Andriod内核的强制访问控制装置,还包括:
[0139]更新单元706,用于接收待更新内容和数字签名信息;对接收到的数字签名信息进行公钥解密获得第三摘要信息;对所述待更新内容利用第二摘要算法获得第四摘要信息;判断所述第三摘要信息和第四摘要信息是否一致;当第三摘要信息和第四摘要信息一致,则判断所述监控主体第二版本号是否大于第一版本号;当第二版本号大于第一版本号时,则将待更新内容写入存储模块内。
[0140]获取签名单元707,用于获得待更新内容;将待更新内容利用所述第二摘要算法生产第三摘要信息;利用私钥对所述第三摘要信息进行数字签名获得数字签名信息;将所述待更新内容和数字签名信息进行发送。
[0141]本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本发明实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM, Read-Only Memory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0142]本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
[0143]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
【权利要求】
1.一种基于Andr1d内核的强制访问控制方法,其特征在于,包括: 当监控主体访问监控客体时,依据内嵌在内核中的策略模块判断所述监控客体是否为待保护客体;其中所述监控主体为应用程序,所述监控客体为智能终端内部的数据信息,所述策略模块中包括至少一个待保护客体的绝对路径和文件名,至少一个与所述待保护客体对应的合法监控主体; 当所述监控客体为待保护客体时,从策略模块中获取与所述监控客体对应的合法监控主体; 判断所述监控主体是否为合法监控主体; 当所述监控主体为合法监控主体时,则判断所述监控主体是否可信; 当所述监控主体可信时,则允许所述监控主体访问所述监控客体。
2.如权利要求1所述的方法,其特征在于,判断所述监控客体是否为待保护客体包括: 获取所述监控客体的绝对路径和文件名; 判断所述策略模块内是否包含所述监控客体的绝对路径和文件名; 当所述策略模块内包含所述监控客体的绝对路径和文件名时,表明所述监控客体为待保护客体; 当所述策略模块内未包含所述监控客体的绝对路径和文件名时,表明所述监控客体不为待保护客体。
3.如权利要求1所述的方法,其特征在于,在判断所述监控主体是否可信之前,还包括: 利用摘要算法计算所述监控主体的第一摘要信息; 在存储模块中获取预先存储的所述监控主体的第二摘要信息,所述第二摘要信息为预先采用同一摘要算法计算得到的; 将所述第一摘要信息和第二摘要信息进行对比,获得对比结果,其中当所述第一摘要信息和第二摘要信息一致,则表明所述监控主体可信,当所述第一摘要信息和第二摘要信息不一致,则表明所述监控主体不可信; 将所述对比结果存储至监控主体中。
4.如权利要求3所述的方法,其特征在于,在判断所述监控主体是否可信之前,还包括: 利用安全散列算法SHA计算所述监控主体的第一 HASH值; 在存储模块中获取预先存储的所述监控主体的第二 HASH值,所述第二 HASH值为预先采用SHA算法计算得到的; 将所述第一 HASH值和第二 HASH值进行对比,并获得对比结果,其中当所述第一 HASH值和第二 HASH值一致,则表明所述监控主体可信,当所述第一 HASH值和第二 HASH值不一致,则表明所述监控主体不可信; 将所述对比结果存储至监控主体中。
5.如权利要求3或4所述的方法,其特征在于,判断所述监控主体是否可信包括: 获取所述监控主体中的对比结果; 依据所述对比结果判定所述监控主体是否可信。
6.如权利要求1所述的方法,其特征在于,采用以下步骤更新所述存储模块:接收待更新内容和数字签名信息; 对接收到的数字签名信息进行公钥解密获得第三摘要信息; 对所述待更新内容利用第二摘要算法获得第四摘要信息; 判断所述第三摘要信息和第四摘要信息是否一致; 当第三摘要信息和第四摘要信息一致,则判断所述监控主体第二版本号是否大于第一版本号; 当所述监控主体第二版本号大于第一版本号时,则将待更新内容写入存储模块内。
7.如权利要求6所述的方法,其特征在于,数字签名信息的获得过程包括: 获得待更新内容; 将待更新内容利用所述第二摘要算法生成第三摘要信息; 利用私钥对所述第三摘要信息进行数字签名获得数字签名信息; 将所述待更新内容和数字签名信息进行发送。
8.一种基于Andr1d内核的强制访问控制装置,其特征在于,包括: 第一判断单元,用于当监控主体访问监控客体时,依据内嵌在内核中的策略模块判断所述监控客体是否为待保护客体;其中所述监控主体为应用程序,所述监控客体为智能终端内部的数据信息,所述策略模块中包括至少一个待保护客体的绝对路径和文件名,至少一个与所述待保护客体对应的合法监控主体; 获取单元,用于当所述监控客体为待保护客体时,从策略模块中获取与所述监控客体对应的合法监控主体; 第二判断单元,用于判断所述监控主体是否为合法监控主体;当所述监控主体为合法监控主体时,则判断所述监控主体是否可信; 访问单元,用于当所述监控主体可信时,则允许所述监控主体访问所述监控客体。
9.如权利要求8所述的装置,其特征在于,还包括: 获取对比结果单元,用于利用摘要算法计算所述监控主体的第一摘要信息;在存储模块中获取预先存储的所述监控主体的第二摘要信息,所述第二摘要信息为预先采用同一摘要算法计算得到的;将所述第一摘要信息和第二摘要信息进行对比,获得对比结果,其中当所述第一摘要信息和第二摘要信息一致,则表明所述监控主体可信,当所述第一摘要信息和第二摘要信息不一致,则表明所述监控主体不可信;将所述对比结果存储至监控主体中。
10.如权利要求8所述的装置,其特征在于,还包括: 更新单元,用于接收待更新内容和数字签名信息;对接收到的数字签名信息进行公钥解密获得第三摘要信息;对所述待更新内容利用第二摘要算法获得第四摘要信息;判断所述第三摘要信息和第四摘要信息是否一致;当第三摘要信息和第四摘要信息一致,则判断所述监控主体第二版本号是否大于第一版本号;当所述监控主体第二版本号大于第一版本号时,则将待更新内容写入存储模块内。
11.如权利要求10所述的装置,其特征在于,还包括: 获取签名单元,用于获得待更新内容;将待更新内容利用所述第二摘要算法生产第三摘要信息;利用私钥对所述第三摘要信息进行数字签名获得数字签名信息;将所述待更新内容和数字签名信息进行发送。
【文档编号】G06F9/44GK104035787SQ201410309830
【公开日】2014年9月10日 申请日期:2014年7月1日 优先权日:2014年7月1日
【发明者】邹家须, 余小龙, 孙卓, 李新国, 宫俊, 黄华松, 赵宝龙 申请人:深圳数字电视国家工程实验室股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1