操作系统中个性化密码学安全的访问控制技术方案

技术编号:29419396 阅读:12 留言:0更新日期:2021-07-23 23:13
本发明专利技术提出了一个访问控制系统,它包括一个被配置为提供与富执行环境隔离的可信执行环境的处理器。富操作系统在富执行环境中运行,而可信操作系统在可信执行环境中运行。多个受保护的数据文件被存储在非易失性存储器中。当一个进程请求访问一个受保护的数据文件时,仅当存在与请求进程相对应的验证的应用程序令牌时,计算机系统才允许该请求进程访问被请求数据文件。为关联应用程序生成一个应用程序令牌的过程如下:检测与所述关联应用程序相关联的第一进程的启动;确定在可信执行环境内有一个有效的用户码可用;在确定可信执行环境内有所述有效的用户码可用之后,使用该有效的用户码生成所述应用程序令牌。

【技术实现步骤摘要】
【国外来华专利技术】操作系统中个性化密码学安全的访问控制相关申请的交叉引用本申请要求于2018年11月30日提交的美国临时申请62/773,524的权益,其全部内容通过引用合并于此。
所描述的实施例涉及用于文件访问控制的系统和方法,并且尤其涉及用于管理对操作系统中受保护的数据文件的访问的系统和方法。
技术介绍
以下内容不表示下面讨论的任何内容是现有先进技术的一部分或本领域技术人员的公知常识的一部分。在日益数字化的世界中,数据是对人、公司和国家最重要的资产之一。结果就是,人们采取了广泛措施以确保敏感数据的安全性。但是,随着黑客技术越来越激进,数据安全挑战也日益严峻。在任何操作系统中,数据安全性都是至关重要的。但是,不同的操作系统可能会在提供数据安全性方面提出不同且独特的挑战。以最终用户的灵活性和硬件兼容性为目标而设计的操作系统可能很难确保数据安全性。例如,与其他移动操作系统(例如iOS)相比,通常认为更灵活的移动操作系统(例如AndroidTMOS)最初是为给最终用户提供灵活性并与不同类型的硬件兼容而设计的,其数据安全性较差。同时,旨在提供强大数据安全性的操作系统可能需要复杂或困难的系统配置,甚至可能会影响系统性能。结果就是,用户可能会放松或禁用某些系统保护功能,以逃避复杂的系统配置和/或减轻对系统性能的影响。
技术实现思路
下面介绍更详细的内容。该介绍无意于限制或定义任何要求保护的或尚未要求保护的专利技术。一个或多个专利技术可以存在于包括其权利要求和附图的本文的任何部分中公开的元素或处理步骤的任何组合或子组合。我们可以配置一个计算机系统去提供个性化的、密码学意义上安全的访问控制。该访问控制系统可以在数据访问的多个不同阶段实施密码技术。密码技术可以包括数据加密,以及建立从最终用户、应用程序、框架、内核到可信执行环境的个性化和密码安全的信任链。在类似Android操作系统的操作系统上实现并应用上述访问控制系统技术可以帮助保护应用程序数据免受已知和未知攻击,包括框架级的勒索软件、网络钓鱼攻击和/或通过滥用根特权来进行的攻击。该访问控制系统可以包括一个与计算机系统的各个组件交互以管理数据访问控制的内核模块。内核模块可以与框架实用程序进行交互,以从应用程序和/或用户收集属性。内核模块可以与在可信执行环境中运行的可信应用程序交互,以完成密钥管理。内核模块可以管理内核存储器中的可用于过程认证和授权的数据结构。内核模块还可以控制可用于访问存储在计算机系统上的受保护和加密数据的文件系统操作。广泛地讲,这里提供了一种用于计算设备的访问控制系统,该访问控制系统包括:(a)一个被配置为提供至少两个隔离执行环境的处理器,其中,所述至少两个隔离执行环境包括富执行环境和可信执行环境,所述处理器被配置为在所述富执行环境中运作富操作系统而在可信执行环境中运作可信操作系统;和(b)被配置为存储多个数据文件和多个应用指令集的非易失性存储器,其中每个应用指令集对应于安装在所述计算设备上的一个应用,并且每个应用被配置为在富操作系统中运行,其中多个数据文件包括多个受保护的数据文件;(c)其中,所述处理器被配置成为:(i)接收对存储在非易失性存储器中的被请求文件的文件请求,其中,所述被请求文件对应于所述多个受保护的数据文件中的一个受保护的数据文件,并且其中,该文件请求是从一个运行于富操作系统内请求进程那里收到的;(ii)确定一个与上述请求进程相关联的关联应用程序,其中,该关联应用程序对应于安装在所述计算设备上的应用程序中的一个应用程序;(iii)确定上述关联应用程序是否存在一个验证的应用程序令牌;和(iv)仅当存在上述验证的应用程序令牌时,才允许上述请求进程访问所述被请求数据文件,否则阻止该请求进程访问所述被请求数据文件;其中,上述处理器被配置为通过以下方式为所述关联应用程序生成所述验证的应用程序令牌:检测与所述关联应用程序相关联的第一进程的启动;确定在可信执行环境内有一个有效的用户码可用;和在确定可信执行环境内有所述有效的用户码可用后,使用该有效的用户码生成应用程序令牌。在任何实施例中,所述处理器可以被配置为,结合所述第一进程的启动,生成一个应用程序启动提示,其中,该应用程序启动提示被定义为提示用户输入用户码;接收一个响应于所述应用程序启动提示的应用程序启动输入;确定所述应用启动输入是否与所述有效的用户码相对应;在确定所述应用程序启动输入对应于所述有效的用户码后,使用所述用户码生成上述应用程序令牌。在任何实施例中,确定所述应用程序启动输入是否对应于所述有效的用户码可以包括:从所述应用程序启动输入中,确定一个接收到的用户码;通过对接收到的用户码的进行哈希计算来确定一个哈希的用户码;将该哈希的用户码与存储在可信执行环境的可信非易失性存储器中的存储的哈希的用户码进行比较;当所述哈希的用户码与所述存储的哈希的用户码匹配时,确定接收到的用户码与所述有效的用户码相对应;否则,确定接收到的用户码无效。在任何实施例中,所述处理器可以被配置为通过以下步骤来生成所述应用程序令牌:确定与第一进程的启动相对应的时间戳;并使用时间戳和所述有效的用户码生成所述应用程序令牌。在任何实施例中,所述处理器可以被配置为:将每个受保护的数据文件与一个文件特定的应用程序组相关联,其中所述文件特定的应用程序组包括至少一个安装在所述计算设备上的应用程序;并且仅在与所述请求进程相关联的关联应用程序是与所述被请求数据文件相关联的文件特定的应用程序组中的一个应用程序时,才允许所述请求进程访问所述被请求数据文件。在任何实施例中,所述处理器可以被配置为:定义一个受保护的应用程序组,其中所述受保护的应用程序组包括至少安装在所述计算设备上的应用程序中的之一;并且仅在所述关联应用程序是所述受保护的应用程序之一时,才允许所述请求进程访问所述被请求数据文件。在任何实施例中,所述处理器可以被配置为,对于由所述受保护的应用程序之一生成的每个新文件,自动地将该文件存储为受保护的数据文件之一。在任何实施例中,对于安装在所述计算设备上的每个应用程序,所述处理器可以被配置为,为该应用程序分配一个唯一的应用程序标识,其中该应用程序标识是通过使用一个唯一的由所述处理器定义的应用程序识别码和与该应用程序相对应的应用程序证书来定义的,并且所述处理器可以配置为,通过使用所述关联应用程序的唯一应用程序标识和所述有效的用户码,来为所述关联应用程序生成所述应用程序令牌。在任何实施例中,对于安装在所述计算设备上的每个应用程序,所述处理器可以被配置为,通过以下方式定义所述应用程序标识:通过对与该应用程序对应的应用程序证书进行哈希计算,来生成一个哈希的应用程序证书;将所述应用程序识别码和所述哈希的应用程序证书组合在一起。在任何实施例中,所述处理器可以被配置为,在与所述关联应用程序相关联的所述第一进程启动时,验证与该关联应用程序相对应的应用程序证书;生成一个响应于验证所述应用程序证书的本文档来自技高网...

【技术保护点】
1.一种用于计算设备的访问控制系统,所述访问控制系统包括:/n(a)一个被配置为提供至少两个隔离执行环境的处理器,其中,所述至少两个隔离执行环境包括富执行环境和可信执行环境,所述处理器被配置为在所述富执行环境中操作富操作系统,在可信执行环境中操作可信操作系统;和/n(b)被配置为存储多个数据文件和多个应用指令集的非易失性存储器,其中每个应用指令集对应于安装在所述计算设备上的一个应用,并且每个应用被配置为在富操作系统中运行,其中,所述多个数据文件包括多个受保护的数据文件;/n(c)其中,该处理器被配置为:/n(i)接收对存储在非易失性存储器中的被请求文件的一个文件请求,其中,所述被请求文件对应于所述多个受保护的数据文件中的一个受保护的数据文件,并且其中,该文件请求是从一个运行于富操作系统内的请求进程那里收到的;/n(ii)确定一个与上述请求进程相关联的关联应用程序,其中,该关联应用程序对应于安装在所述计算设备上的应用程序中的一个应用程序;/n(iii)确定上述关联应用程序是否存在一个验证的应用程序令牌;和/n(iv)仅当存在上述验证的应用程序令牌时,才允许上述请求进程访问所述被请求数据文件,否则阻止该请求进程访问所述被请求数据文件;/n其中,上述处理器被配置为通过以下方式为所述关联应用程序生成所述验证的应用程序令牌:/n检测与所述关联应用程序相关联的第一进程的启动;/n确定在可信执行环境内有一个有效的用户码可用;和/n在确定可信执行环境内有所述有效的用户码可用后,使用该有效的用户码生成应用程序令牌。/n...

【技术特征摘要】
【国外来华专利技术】20181130 US 62/773,5241.一种用于计算设备的访问控制系统,所述访问控制系统包括:
(a)一个被配置为提供至少两个隔离执行环境的处理器,其中,所述至少两个隔离执行环境包括富执行环境和可信执行环境,所述处理器被配置为在所述富执行环境中操作富操作系统,在可信执行环境中操作可信操作系统;和
(b)被配置为存储多个数据文件和多个应用指令集的非易失性存储器,其中每个应用指令集对应于安装在所述计算设备上的一个应用,并且每个应用被配置为在富操作系统中运行,其中,所述多个数据文件包括多个受保护的数据文件;
(c)其中,该处理器被配置为:
(i)接收对存储在非易失性存储器中的被请求文件的一个文件请求,其中,所述被请求文件对应于所述多个受保护的数据文件中的一个受保护的数据文件,并且其中,该文件请求是从一个运行于富操作系统内的请求进程那里收到的;
(ii)确定一个与上述请求进程相关联的关联应用程序,其中,该关联应用程序对应于安装在所述计算设备上的应用程序中的一个应用程序;
(iii)确定上述关联应用程序是否存在一个验证的应用程序令牌;和
(iv)仅当存在上述验证的应用程序令牌时,才允许上述请求进程访问所述被请求数据文件,否则阻止该请求进程访问所述被请求数据文件;
其中,上述处理器被配置为通过以下方式为所述关联应用程序生成所述验证的应用程序令牌:
检测与所述关联应用程序相关联的第一进程的启动;
确定在可信执行环境内有一个有效的用户码可用;和
在确定可信执行环境内有所述有效的用户码可用后,使用该有效的用户码生成应用程序令牌。


2.根据权利要求1所述的系统,其中:
(a)所述处理器被配置为:
(i)结合所述第一进程的启动,生成一个应用程序启动提示,其中,该应用程序启动提示被定义为提示用户输入一个用户码;
(ii)接收一个响应于所述应用程序启动提示的应用程序启动输入;
(iii)确定所述应用程序启动输入是否与所述有效的用户码相对应;和
(iv)在确定所述应用程序启动输入对应于所述有效的用户码后,使用所述用户码生成上述应用程序令牌。


3.根据权利要求2所述的系统,其中:
(a)确定所述应用程序启动输入是否对应于所述有效的用户码,包括以下步骤:
(i)从所述应用程序启动输入中,确定一个接收到的用户码;
(ii)通过对接收到的用户码进行哈希计算来确定一个哈希的用户码;
(iii)将该哈希的用户码与存储在可信执行环境的可信非易失性存储器中的存储的哈希的用户码进行比较;和
(iv)当该哈希的用户码与所述存储的哈希的用户码匹配时,确定接收到的用户码对应于所述有效的用户码,否则确定接收到的用户码无效。


4.根据权利要求1至3中任一权利要求所述的系统,其中:
(a)所述处理器被配置为通过以下方式生成所述应用程序令牌:
(i)确定与第一进程的启动相对应的时间戳;和
(ii)使用时间戳和所述有效的用户码生成所述应用程序令牌。


5.根据权利要求1至4中任一权利要求所述的系统,其中,所述处理器被配置为:
(a)将每个受保护的数据文件与一个文件特定的应用程序组相关联,其中,所述文件特定的应用程序组包括至少一个安装在所述计算设备上的应用程序;和
(b)仅在与所述请求进程相关联的关联应用程序是与所述被请求数据文件相关联的文件特定的应用程序组中的一个应用程序时,才允许所述请求进程访问所述被请求数据文件。


6.根据权利要求1至5中任一权利要求所述的系统,其中,所述处理器被配置为:
(a)定义一个受保护的应用程序组,其中所述受保护的应用程序组包括至少安装在所述计算设备上的应用程序中的之一;和
(b)仅在所述关联应用程序是所述受保护的应用程序之一时,才允许所述请求进程访问所述被请求数据文件。


7.根据权利要求6所述的系统,其中,所述处理器被配置为:对于由所述受保护的应用程序之一生成的每个新文件,自动地将该文件存储为一个所述受保护的数据文件之一。


8.根据权利要求1至7中任一权利要求所述的系统,其中:
(a)对于安装在所述计算设备上的每个应用程序,所述处理器被配置为,为该应用程序分配一个唯一的应用程序标识,其中该应用程序标识是通过使用一个唯一的由所述处理器定义的应用程序识别码和一个与该应用程序对应的应用程序证书来定义的;和
(b)所述处理器被配置为,通过使用所述关联应用程序的唯一应用程序标识和所述有效的用户码,来为所述关联应用程序生成所述应用程序令牌。


9.根据权利要求8所述的系统,其中:
(a)对于安装在所述计算设备上的每个应用程序,所述处理器被配置为通过以下方式定义所述应用程序标识:
(i)通过对与该应用程序对应的应用程序证书进行哈希计算,来生成一个哈希的应用程序证书;和
(ii)将所述应用程序识别码和上述哈希的应用程序证书组合在一起。


10.根据权利要求8和9中任一权利要求所述的系统,其中,所述处理器被配置为,在与所述关联应用程序相关联的所述第一进程启动时,
(a)验证与该关联应用程序相对应的应用程序证书;
(b)生成一个响应于验证所述应用程序证书的验证的应用程序启动提示,其中,所述验证的应用程序启动提示被定义为提示用户输入用户码;
(c)接收一个响应于所述验证的应用程序启动提示的验证的应用程序启动输入;
(d)确定上述验证的应用程序启动输入是否与所述有效的用户码相对应;和
(e)仅在所述应用程序证书已被验证并且所述验证的应用程序启动输入对应于所述有效的用户码之后,才允许所述关联应用程序执行。


11.根据权利要求1至10中任一权利要求所述的系统,其中,所述处理器被配置为:
(a)对于安装在所述计算设备上的每个应用程序,为该应用程序分配一个唯一的应用程序标识,其中该应用程序标识是通过使用一个唯一的由所述处理器定义的应用程序识别码和与该应用程序相对应的应用程序证书来定义的;
(b)定义一个受保护的应用程序组,其中所述受保护的应用程序组包括至少安装在所述计算设备上的应用程序中的之一;
(c)定义一个访问策略文件,其中,该访问策略文件包括所述受保护的应用程序组中每个受保护的应用程序的唯一应用程序标识;
(d)将上述访问策略文件存储在非易失性存储器中;和
(e)仅在上述访问策略文件包含所述关联应用程序的唯一应用程序标识时,才允许所述请求进程访问所述被请求数据文件。


12.根据权利要求11所述的系统,其中,所述处理器被配置为:
(a)用与对应于所述有效的用户码的哈希的码相关联的方式,将所述访问策略文件存储在非易失性存储器中;
(b)禁止对所述访问策略文件的修改,除与所述有效的用户码相对应的策略修改输入收到,并且同与所述有效的用户码相对应的所述哈希的码进行验证;和
(c)允许在没有策略修改输入的情况下对所述访问策略文件执行读取操作。


13.根据权利要求11和12中任一权利要求所述的系统,其中,所述处理器被配置为:
(a)在富操作系统内可访问的内核内存中定义一个访问策略数据结构;和
(b)将该访问策略数据结构与存储在非易失性存储器中的所述访问策略文件同步,使得所述访问策略数据结构包括所述受保护的应用程序组中每个受保护的应用程序的唯一应用程序标识。


14.根据权利要求13所述的系统,其中,所述处理器被配置为:在与所述关联应用程序相关联的所述第一进程启动时,
(a)验证与所述关联应用程序相对应的应用程序证书;
(b)在验证应用程序证书后,通过以下方式确定所述关联应用程序是否为受保护的应用程序之一:
(i)确定所述关联应用程序的唯一应用程序标识;和
(ii)确定所述关联应用程序的唯一应用程序标识是否包含在所述访问策略数据结构中;和
(iii)当所述访问策略数据结构包含所述关联应用程序的唯一应用程序标识时,确定所述关联应用程序是受保护的应用程序之一;否则,确定所述关联应用程序是不受保护的应用程序;
(c)在确定所述关联应用程序是受保护的应用程序之一之后,
(i)生成一个受保护的应用程序启动提示,其中,该受保护的应用程序启动提示被定义为提示用户输入一个用户码;
(ii)接收一个响应于所述受保护的应用程序启动提示的受保护的应用程序启动输入;
(iii)确定所述受保护的应用程序启动输入是否与所述有效的用户码相对应;和
(iv)仅在所述处理器确定所述受保护的应用程序启动输入对应于所述有效的用户码之后,才允许所述关联应用程序执行;和
(d)在确定所述关联应用程序是不受保护的应用程序后,允许所述关联应用程序执行。


15.根据权利要求11至14中任一权利要求所述的系统,其中所述处理器被配置为,在所述请求进程启动时,
(a)确定与所述请求进程相关联的进程标识符;
(b)验证与所述关联应用程序相对应的应用程序证书;
(c)在验证应用程序证书后,确定所述关联应用程序是否为受保护的应用程序之一;
(d)在确定所述关联应用程序是受保护的应用程序之一时,生成一个进程启动提示,其中该进程启动提示被定义为提示用户输入一个用户码;
(e)接收一个响应于所述进程启动提示的进程启动输入;
(f)确定所述进程启动输入是否对应于所述有效的用户码;
(g)在确定所述关联应用程序是受保护的应用程序之一,并且所述进程启动输入对应于所述有效的用户码后,将所述请求进程的进程标识符存储在富操作系统内可访问的内核内存中的一个授权进程数据结构中;和
(h)仅在所述授权进程数据结构包含所述请求进程的进程标识符的情况下,才允许所述请求该进程访问所述被请求数据文件。


16.根据权利要求15所述的系统,其中,所述处理器被配置为:
(a)接收来自运行于富操作系统内的特定进程的写操作请求,其中,该写操作请求与一个受保护的数据文件有关;和
(b)仅当所述授权进程数据结构包含上述特定进程的进程标识符时,才允许上述写操作请求发生。


17.根据权利要求15和16中任一权利要求所述的系统,其其中,所述处理器被配置为:
(a)检测在富操作系统中运行的行将终止进程的终止;
(b)确定所述授权进程数据结构包含上述终止进程的进程标识符;和
(c)更新所述授权进程数据结构,以删除上述终止进程的进程标识符。


18.根据权利要求11至17中任一权利要求所述的系统,其中,所述处理器被配置为:
(a)用与对应于所述有效的用户码的哈希的码相关联的方式,将所述访问策略文件存储在非易失性存储器中;
(b)接收一个策略更新输入,该输入指定要把一个特定应用程序添加到所述受保护的应用程序组中;
(c)生成一个响应于上述策略更新输入的更新验证提示,其中,该更新验证提示被定义为提示用户输入一个用户码;
(d)接收一个响应于上述更新验证提示的更新验证输入;
(e)使用用与所述访问策略文件关联的方式存储的,与所述有效的用户码相对应的哈希的码,确定上述更新验证输入是否与所述有效的用户码相对应;
(f)在确定上述更新验证输入对应于所述有效的用户码后,
(i)更新所述访问策略文件以包含上述特定应用程序;
(ii)识别存储在非易失性存储器中的,与该特定应用程序相对应的一组现有数据文件;和
(iii)将每个现有数据文件从不受保护的数据文件修改为受保护的数据文件。


19.一种控制对存储在计算设备的非易失性存储器中的多个数据文件的访问的方法,其中,所述多个数据文件包括多个受保护的数据文件,所述方法由一个处理器来执行,而该处理器被配置为在一个富执行环境中运行一个富操作系统并且在一个可信执行环境中运行一个可信的操作系统,该方法包括:
(a)由上述处理器接收对存储在非易失性存储器中的被请求文件的一个文件请求,其中,所述被请求文件对应于所述多个受保护的数据文件中的一个...

【专利技术属性】
技术研发人员:余祥孟进杨恩辉
申请(专利权)人:百可德罗德公司佰倬信息科技有限责任公司
类型:发明
国别省市:加拿大;CA

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1