CN102640160A - 平台安全 - Google Patents
平台安全 Download PDFInfo
- Publication number
- CN102640160A CN102640160A CN2010800554407A CN201080055440A CN102640160A CN 102640160 A CN102640160 A CN 102640160A CN 2010800554407 A CN2010800554407 A CN 2010800554407A CN 201080055440 A CN201080055440 A CN 201080055440A CN 102640160 A CN102640160 A CN 102640160A
- Authority
- CN
- China
- Prior art keywords
- resource
- equipment
- application
- software
- application software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2149—Restricted operating environment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明示例性的方面能够通过至少一种方法、装置和计算机程序来实现。示例性的方面包括从源接收包含代表应用程序软件和指示该应用程序软件的所需资源的相关资源声明的二进制文件的数据包;从数据包中析取资源声明;构成所析取资源声明和已允许资源组的交集,其中所述数据包的源的已允许资源组是从软件源排名和资源利用策略中获取的;根据所构成交集的结果将资源授权给所述应用程序软件;安装该应用程序软件;和在资源拥有列表中保存所授权资源的指示。另外,所述方面包括在设备上计算可执行文件的加密哈希、签名该加密哈希并在受保护存储器中保存所产生的参考签名的加密哈希;在执行该可执行文件之前计算该可执行文件的加密哈希;和将结果与从该受保护存储器中获取的参考加密哈希相比较。另外,在引导过程中,在设备上验证应用程序内核的完整性,其中验证完整性包括验证所述设备的引导只读存储器的完整性;和基于验证后的引导只读存储器来验证所述设备的加载器的完整性,其中该加载器的完整性验证指示存在用于应用程序内核的签名软件图像,并且在该加载器完整性未得到验证的情况下确定是否有适当的策略来阻止访问该应用程序内核,以及基于确定没有适当策略而限制所述设备的安全功能性并且用受限的功能性引导所述设备。
Description
技术领域
本发明的示例性和非限制性实施例一般地涉及软件开发和执行系统、方法、设备和计算机程序的技术,更确切地说,涉及对软件应用程序提供资源访问控制技术,诸如旨在在例如具有无线通信能力的设备中执行的软件应用程序。
背景技术
本说明书和/或附图中出现的各种缩写定义如下:
AC:访问控制
ACL:访问控制列表
API:应用程序接口
D-Bus:一种IPC和RPC机制,其最初被开发用于Linux以用一个统一的协议替代现有和完整的IPC方案。
DRM:数字版权管理
HMAC:密钥相关的哈希运算消息认证码
IPC:进程间通信
Linux:一种基于Linux内核的开放源类UXIX操作系统
POSIX:用于UXIX的便携式操作系统接口
QA:品质保证
RPC:远程过程调用
RSA:Rivest,Shamir,Adleman的不对称加密算法
SHA:安全哈希算法
SIM:用户身份模块
SSRRU:软件源排名和资源利用
SW:软件
TrEE:可信执行环境
D-Bus被设计为允许在系统级进程(诸如打印机和硬件驱动器服务)和普通用户进程之间进行通信。D-Bus使用快速,二进制消息传递协议,其由于低延迟和低开销而适合于相同机器通信。它的规范当前由freedesktop.org项目定义,并可用于所有方。通信通常通过称为“总线(bus)”(因而得名)的中央服务器应用程序来进行,但直接的应用程序至应用程序的通信也是可能的。当在总线上进行通信时,应用程序能够查询哪些其他应用程序和服务是可用的,并根据需要激活一个。当期望进行多对多通信时,使用D-Bus总线。为了达到这个目的,在许多应用程序能够连接到总线之前,中央服务器被启动:这种服务器负责跟踪被连接的应用程序并从它们的源将消息适当地路由到它们的目的地。另外,D-Bus定义两种熟知的总线,其称为系统总线和会话总线。所述总线在这样的意义上而言是特别的,即它们具有明确定义的语义:一些服务被定义为在所述总线中的一个或二者上被找到。例如,想要查询连接到计算机上的硬件设备列表的应用程序将可能与系统总线上可用的服务进行通信,而将可能发现规定打开网页浏览器的服务。在系统总线上,还可以期望发现关于每个应用程序被允许提供哪些服务的限制。
这部分旨在为权利要求中所阐述的本发明提供背景和上下文。这里的描述可以包括将说明的概念,但不必是在之前已经设想或说明的那些。因此,除非在这里特别指出,否则在这部分所描述的内容不是本申请的说明书和权利要求的现有技术并且不被认为是这部分中所包含的现有技术。
发明内容
在本发明的一个示例性方面中,有一种方法,其包括:在设备上从源接收包含二进制文件的数据包,该文件代表应用程序软件和指示该应用软件所请求的资源的相关资源声明,从该数据包中析取该资源声明,构成所析取资源声明和一组可允许资源的交集,其中用于该数据包的源的可允许资源是从软件源排名和资源利用策略中获取的,基于所构成交集的结果将资源授予该应用程序软件,安装该应用软件,和在资源拥有列表中保存所授予资源的指示。
在本发明一个示例性方面中,有一种装置,其包括:至少一个处理器和至少一个包含计算机程序代码的存储器,其中该至少一个存储器和该计算机程序代码被配置为利用至少一个处理器而致使该装置至少从源接收包含二进制文件的数据包,该文件代表应用程序软件和指示该应用软件所请求的资源的相关资源声明,从该数据包中析取该资源声明,构成所析取资源声明和一组可允许资源的交集,其中用于该数据包的源的可允许资源是从软件源排名和资源利用策略中获取的,根据所构成交集的结果而将资源授予该应用程序软件,安装该应用程序软件,和在资源拥有列表中保存所授予资源的指示。
在本发明一个示例性方面中,有一种装置,其包含用于从源接收包含有二进制文件的数据包的装置,该文件代表应用软件和指示该应用软件所请求的资源的相关资源声明,用于从该数据包中析取该资源声明的装置,用于构成所析取资源声明和一组可允许资源的交集的装置,其中用于该数据包的源的可允许资源是从软件源排名和资源利用策略中获取的,和用于安装该应用软件的装置。
在本发明的另一个示例性方面中,有一种方法,包括:在设备上计算可执行文件的加密哈希,签名该加密哈希和在受保护存储器中保存所产生的参考签名的加密哈希,在执行可执行文件之前计算可执行文件的加密哈希,和将结果与从受保护存储器中获取的参考加密哈希相比较。
在本发明的另一个示例性方面中,有一种装置,其包括至少一个处理器和至少一个包含计算机程序代码的存储器,其中该至少一个存储器和该计算机程序代码被配置为利用至少一个处理器而致使该装置至少计算可执行文件的加密哈希和签名该加密哈希,并且在受保护存储器中保存所产生的参考签名的加密哈希,在执行可执行文件之前计算可执行文件的加密哈希,和将结果与从受保护存储器中获取的参考加密哈希相比较。
在本发明的另一个示例性方面中,有一种装置,其包括用于计算可执行文件的加密哈希、签名该加密哈希和在受保护存储器中保存所产生的参考签名的加密哈希的装置,用于在执行可执行文件之前计算可执行文件的加密哈希的装置,和用于将结果与从受保护存储器中获取的参考加密哈希相比较的装置。
在本发明的另一个示例性方面,有一种方法,包括:在引导过程中验证设备上的应用程序内核的完整性,其中验证完整性包括验证该设备的引导只读存储器的完整性,基于所验证的引导只读存储器而验证该设备的加载器的完整性,其中该加载器的完整性验证指示存在应用程序内核的签名的软件图像,并且在该加载器的完整性未得到验证的情况下,该方法还包括确定是否存在适当的策略来阻止访问该应用程序内核,并且基于确定没有适当的策略而限制该设备的安全功能性,并且利用受限的功能性引导该设备,或否则在有适当策略的情况下执行该设备的重新启动操作。
在本发明的又另一个示例性方面中,有一种装置,其包括至少一个处理器和至少一个包含计算机程序代码的存储器,其中至少一个存储器和该计算机程序代码被配置为利用至少一个处理器而致使该装置至少在引导过程中验证设备上的应用程序内核的完整性,其中验证完整性包括验证该设备的引导只读存储器的完整性,基于所验证的引导只读存储器而验证该设备的加载器的完整性,其中该加载器的完整性验证指示存在应用程序内核的签名的软件图像,并且在该加载器的完整性未得到验证的情况下,包含计算机程序代码的至少一个存储器还被配置为利用至少一个处理器而致使该装置确定是否有适当的策略来阻止访问该应用程序内核,和基于确定没有适当的策略而限制该设备的安全功能性,并且利用受限的功能性引导该设备能,或否则在有适当策略的情况下,执行该设备的重新启动操作。
在本发明的又另一个示例性方面中,有一种装置,其包括用于在引导过程中验证设备上的应用程序内核的完整性的装置,其中验证完整性包括验证该设备的引导只读存储器的完整性,和用于基于所验证的引导只读存储器而验证该设备的加载器的完整性的装置,其中该加载器的完整性验证指示存在应用程序内核的签名的软件图像,和用于在该加载器完整性未得到验证的情况下确定是否有适当的策略来阻止访问该应用程序内核并且基于确定没有适当的策略而限制该设备的安全功能性并利用受限的功能性引导该设备、或否则有适当策略的情况下执行该设备的重新启动操作的装置。
附图说明
当参考附图阅读时,本发明实施例的前述和其他方面在下面的详细的描述中变得更加明显,其中:
图1是根据一个实施例的设备的简化框图,并且示出了SW安装过程中的过程流程;
图2示出了根据一个实施例的更详细的图1的设备,并且用于解释“最小权限原则”这一概念;
图3示出了根据本发明的示例性实施例的用于安装过程的消息序列图(MSC);
图4示出了根据一个实施例的获取用于应用程序的结果资源组的过程;
图5,6,7和8每个都示出了根据一个实施例的在应用程序运行期间针对各种关注的使用情况的图1所示的部件的交互;
图9是根据一个实施例的说明各种硬件使能和引导过程(引导加载器的操作)的逻辑流程图;
图10A和10B,统称为图10,分别示出了根据一个实施例的利用验证器模块或功能进行完整性保护的操作和验证过程的概念模型;
图11示出了根据一个实施例的利用受保护存储器进行隐私保护的操作;
图12示出了根据一个实施例的安全策略文件的非限定性例子;
图13示出了根据一个实施例的用于服务器和客户端的具有清单(Manifest)文件的非限定性AC控制例子;
图14A,14B和14C,统称为图14,分别提供了根据本发明的实施例的用于D-Bus服务器20B、D-Bus客户端20A和D-Bus配置文件的清单文件的非限定性例子;
图15示出了根据一个实施例的设备的一个例子,该设备适用于实现图1-14和16-18中所描述的本发明的示例性实施例;
图16,17和18每个都是根据本发明的示例性实施例的逻辑流程图,其说明了方法的操作和计算机程序指令的执行结果。
具体实施方式
公开了用于向软件应用程序提供资源访问控制技术的方法、装置和计算机程序的例子。在下面的描述中,为了说明的目的,许多特定细节被阐明以提供对本发明实施例的完整理解。然而,对于本领域熟练技术人员来说显而易见的是,在没有这些特定细节或者等同安排的情况下仍可以实施本发明的实施例。在其他实例中,为了避免不必要地模糊本发明的实施例,熟知的结构和设备以框图的形式示出。
Linux中的访问控制是基于多用户模型的。POSIX能力未被完全利用。
存在用于处理等级访问控制的需求,特别是当提供灵活性和粒度时需要最小化对当前模型的更改。有一些现有和当前可用的安全扩展,但由于多种原因它们没有满足前述的条件。
本发明的示例性实施例应用和扩展UNIX AC的方面来满足前述条件,并应用多用户模型来提供应用级AC。
本发明的示例性实施例遵循访问控制的“最小权限原则”,其中应用程序应仅能够访问该应用程序实际需要的有限资源组。特定的资源可能被认为是受保护的资源,诸如(但不局限于)蜂窝通信功能性和位置/映射功能性。应用程序必须声明它需要的资源。所需资源的声明可以以清单(manifest)文件的形式。
应当指出,在优选的实施例中,没有缺省的安全API。
图1示出了根据一个实施例的设备10,它使用Linux并概念性地包含用户模式12和内核模式14。一个或多个应用程序从(受信的)源1被加载。
根据其源码和清单文件,给定SW(例如用户应用程序)获取它的权限。这必须在软件开发阶段创建清单文件来指定SW所需要的资源,并将SW和相关清单文件置于适当的库或源中。根据一个实施例,图1示出了(受信的)源包含一个或多个应用程序(APP1,APP2…APPN)。可以假定有与源1相关的质量保证检查。在一个实施例中,安全策略文件仅可由构成用户模式12的一部分的安装器12A访问,而在另一些实施例中,安全策略文件本身可由不在用户模式中的安装器读取。还包含有设备策略12B,其可用于标识和验证受信源1,D-Bus后台进程(daemon)12C和D-Bus策略12D。根据本发明示例性实施例的一个方面,D-Bus后台进程包含D-Bus扩展12E。还根据本发明示例性实施例的一个方面,内核模式14包括资源拥有列表14A和过程证书分配器14B。还包括Linux内核参考监控器14C和文件的AC列表14D。
图2以更详细的方式示出了前述部件并提供了根据一个实施例的最小权限原则执行的概览。
如上所述,安全结构的重要目标是“最小权限原则”的执行。为了帮助解释,代表计算机系统的最通用抽象是将它分成对象和主体。主体是主动实体,其代表计算机系统中的系统用户或系统过程。作为主体,其指代系统中的过程,这意味着访问控制是基于过程的。对象是被动实体,其代表文件、系统资源或甚至是主体。后者意味着例如可执行文件是计算机系统的对象,但当它开始执行时,它变成这个系统的主体。术语“资源”被用于指代系统中的对象。
第三个通用的抽象是访问类型:主体能够在对象上执行的操作。访问类型的具体含义取决于计算机系统。对于文件服务器来说,它可以是读取对象(文件),写它,执行它等等的能力。对于数据库系统来说,访问类型可以是在表中插入新的纪录,在数据库中搜索数据等等的能力。
最小权限原则因而可以被定义为“每个主体必须仅能够访问对它的合法目的来说是必须的对象”。
现在转向图2,安装器12A可以被认为是用于新应用程序,应用程序更新,设备策略更新和密钥更新的“入口门”。
软件源排名和资源利用策略(SSRRU策略)被嵌入图1的设备策略块12B中。SSRRU策略定义了用于设备10的SW的可能已知的源,它们的层级和用于它们每个的已允许资源。例如,SSRRU策略可以指定有两个已知源:源1和源2,其中源1被认为比源2更可信;而来自源1的SW被允许使用任何可能资源,而来自源2的SW仅使用资源1和资源2。最初,SSRRU策略可由设备的制造商来定义或由例如当设备旨在通过专门升级来被分发时由运营商来定义。例如,运营商可以以便宜的价格将设备卖给终端用户,但在一个实施例中,用户被期望仅使用由制造商/运营商定义的SW资源组,而在另一个实施例中,用户被允许仅使用例如是SW库的制造商/运营商的SW资源组。这种策略在以后可以通过授权的策略更新来改变。若设备上未施加限制,则用户能够添加新的SW源并将已允许资源的列表分配给它们。然而,用户不能够改变设备预定源的层级;并且不能将一些敏感资源授权给新的SW源。
D-Bus是用于软件应用程序彼此进行通信的处理器间通信(IPC)系统。D-Bus允许程序注册并向其他程序提供服务,并且还允许为这些服务定义访问控制权限。每个D-Bus服务的访问控制权限可以在D-Bus策略文件12D中被声明。从而,有可能定义哪个主体(过程)被允许访问特定的D-Bus服务。
D-Bus参考监控器是D-Bus后台进程12C的一部分,并基于D-Bus策略、过程证书和所请求的服务而做出访问控制判定。例如,过程1想要向服务1发送消息。D-Bus参考监控器将在D-Bus策略12D中检查过程1是否被允许向服务1发送消息。根据适当的该策略,消息将被发送或拒绝。根据本发明的一个方面,D-Bus参考监控器被扩展为包含扩展12E。
内核模式14的部件包括对象访问控制列表14D。访问控制列表(ACL)将系统的主体(其针对所涉及的对象具有至少一个访问权限)的列表关联于计算机系统中的每个对象。ACL通常和对象一起被保存。对于文件系统AC,优选地使用现有Unix ACL,其能够针对所有者,所有者组和其他人指定访问类型。访问类型是“读”、“写”和“执行”。
内核模式14还包括过程证书分配器14B,其根据本发明一个方面而能够在过程开始执行时修改过程证书。
Linux内核参考监控器14C是一个分布式实体,其基于过程证书和对象的ACL做出AC判定。根据一个实施例,下面描述的图4提供有关Linux内核参考监控器功能的附加细节。
资源拥有列表14A定义哪些资源可以被允许由系统中的过程访问。针对每个这种应用程序,该列表包括应用程序标识符和已允许资源之间的映射。
应用程序标识符满足下面的要求:它不可能被伪造;它应当是唯一的(唯一地标识应用程序);并且对于应用程序更新,启动间,同一应用程序的不同实例和应用程序重启后,它都应当保持相同。应用程序标识符可由下面的三元组来表示:
AppID={SourceID,Packagename,AppName},
其中SourceID是应用程序源的唯一标识符。尽管它应当与这个源所使用的密钥紧密相连,但它不应当直接地取决于该密钥(因为密钥会因密钥折衷而改变)。例子可以是库的当前域名(例如:Nokia、Maemo),或者是从密钥证书中导出的唯一标识符。Packagename是不带版本号的数据包名称。AppName由开发者定义,假定同一二进制数据包中有若干应用程序,并且这些应用程序需要不同的访问权限。AppName被定义在Aegismanifest文件中。假定没有这种定义,则相同数据包中的所有应用程序得到如下形式的相同应用程序身份:AppID={SourceID,PackageName,none}。
在当前考虑的结构中,资源是代表一些功能性的虚拟对象。它可以是文件系统中的文件,D-Bus服务等等。使用资源令牌字符串来描述资源。例如:“Location”,“Network-costly”等。在系统中有一种特别的服务,其为每种敏感系统资源定义应当保护这种资源的资源令牌。例如,考虑“Network-costly”资源令牌。它代表对所有通信信道的访问,其可能给用户带来费用。收到这种资源保护的真实系统对象是文件系统对象(诸如网络配置文件),执行“Connect”和“Bind”命令的可能性。
最初的受保护资源组可包括较小的预定资源组(诸如对用户数据,位置信息,网络服务等等的访问)。另外,每个应用程序还可能定义该应用程序自身提供的新的资源。在这种情况下,例如通过验证SW的授权来确保在已经完成的资源命名空间中没有冲突是很重要的。
图1和3示出了在新的应用程序安装的情况下各种不同的部件之间的示例性交互。
在图1中,应用程序到达安装器12A(标号为1的箭头)。安装器12A检查设备策略12B来查找有关源1的信息,其中该应用程序从源1到达(标号为2的箭头)。安装器12A为应用程序相应地修改资源拥有列表14A(标号为3的箭头)。安装器12A也相应地修改D-Bus策略12D。
现在,更详细地描述图3中的安装过程,当新的应用程序安装时(例如在3A中由用户请求),安装器14A在3B检查SSRRU策略12B中的软件源排名和资源利用策略来确定源1是否是已知的,以及从这个源中SW被允许哪些类型的资源。在3C,安装器12A从数据包中析取资源声明,并将所析取的资源声明和从SSRRU策略12B中获得的资源组做交集。于是数据包被安装。一些用户相关的资源,诸如读取用户数据,网络通信等的能力,也可以被用户授权。成功安装后,在3D,安装器12A通过为新数据包的添加新规则来修改资源拥有列表14A,其中已允许资源组是数据包请求的资源和SSRRU 12B为SW的源1定义的资源组的交集。构成已允许资源的结果组的过程在图4中示出。如果新应用程序定义新D-Bus服务则在3F安装器12A也修改D-Bus策略12D。
图5,6,7和8示出了根据本发明一个实施例的在应用程序运行期间的部件的交互。首先考虑图5,过程证书分配器14B从资源拥有列表14A获取已允许资源组(标记为1的箭头),并且过程证书分配器14B修改过程证书14B′(过程任务结构)(标记为2的箭头)。在3a,基于过程证书14B'和文件系统AC列表14D,Linux参考监控器14C做出AC判定。在3b,基于过程证书14B'和D-Bus策略12D,D-Bus后台进程12C做出AC判定。应用程序调用库来获取过程证书,并基于过程证书14B'和它自己的策略做出判定。
现在参照图6,其更详细地描述了根据一个实施例的当应用程序开始执行时所执行的操作。根据应用程序试图执行的动作(例如文件访问或发送D-Bus消息)和AC判定委派的实际等级,运行时间访问控制可在不同的等级实现。后者意味着应用程序可以依赖操作系统或D-Bus来保护它提供的资源,或提供它自己的保护。
图6示出了用于文件系统访问的非限定情形的MSC,这时,对文件的访问受它自己文件许可的约束。在这个例子中,访问权限检查被委派给Linux内核参考监控器14C。当过程开始执行时,sys_execve内核功能被调用。这个功能被增强从而使得它调用(在6A)过程证书分配器14B,该分配器其查找资源拥有列表14A并将相应的过程证书分配给过程(6B)。这是通过修改任务内核结构来完成的(在6C,根据已允许资源组,过程证书分配器14B修改应用程序证书)。于是,控制被切换到应用程序并且应用程序在6D执行。当过程想要访问系统对象时(在图6中它是文件系统16中的文件),Linux内核参考监控器14C获取它的证书,对象的ACL(对于文件系统对象,在这种情况下是文件许可18),并基于这种信息做出访问控制判定(6E)。在Linux中,这是在系统调用内部完成的,例如在图6所示的情形中是在sys_open调用内部。标号为6F的交互通常示出在访问控制被允许或拒绝的情形下的操作。
现在参照图7,其是D-Bus访问控制情形下的MSC运行时间。对于其中在D-Bus上完成的IPC的情形,访问控制判定由D-Bus参考监控器(D-Bus后台进程12C)来做出,其考虑了过程证书、该过程想要访问的服务以及D-Bus策略。根据一个实施例,在图7中有两个应用程序:D-Bus客户端20A和D-Bus服务器20B。以图6中所描述的应用程序相同的方式,D-Bus客户端20A启动(通常示为7A)。D-Bus服务器被假定也以相同的方式启动(这在图7中被省略)。在成功地启动后,D-Bus客户端20A试图通过D-Bus后台进程12C连接到D-Bus(7B)。在7C,D-Bus后台进程12C获得D-Bus客户端证书(或者从它的进程任务结构中,或者在简单情况下,它使用来自系统配置文件的静态映射)并从D-Bus策略文件12D获得D-Bus策略规则。基于所获得的信息,D-Bus后台进程12C创建用于客户端20A的策略的存储器代表(在7D示出的D-Bus连接策略12D)。当D-Bus客户端20A向D-Bus服务器20B发送消息时(7E),它首先将它发送到D-Bus后台进程12C。D-Bus后台进程12检查连接策略12D并根据它做出访问控制判定(7F)。结果,消息或者被传递到它想要去的接收器(在这种情况下是D-Bus服务器20B),或者D-Bus客户端20A接收一个错误消息(7F)。
尽管图7示出了策略12D与后台进程12C是分开的,但在一个实施例中,策略并不是物理分开的组件,而是托管所允许的规则组的运行D-Bus后台进程的一部分。作为例子,想要利用D-Bus连接到服务器的客户端意味着客户端向D-Bus后台进程进行套接字(socket)连接,其基于1)分配给客户端的证书;2)D-Bus策略而做出访问控制判定,并当访问被许可时,D-Bus后台进程进行到服务器的套接字连接。
为了完整性,图8示出了其中应用程序通过它自己做出访问控制判定的情形。例如,假定特定的应用程序(应用程序服务器28)为其他应用程序提供数据库30。数据库30保存在文件系统中,并且仅有应用程序服务器28能够访问这个文件。这可以例如通过以传统的UXIX方式(例如通过将该文件设置为仅对所有者是可读的和可写的)指定文件许可来完成。为了做出访问控制判定,应用程序服务器28需要有可信赖的方式来获取想要访问数据库30的另一应用程序的证书(应用程序客户端34)。这是通过提供证书库(libcred)32来实现的,该库为应用程序客户端34提供从应用程序服务器28获取所需信息的能力。在图8中,假定如之前所述来启动应用程序客户端(在8A示出)。在8B,应用程序客户端34做出对来自应用服务器28的数据库信息的读请求。在8C,应用程序服务器28访问库32来获取应用程序客户端34的证书,并做出是否授权访问数据库30的判定。8D指示在访问被授权或访问被拒绝的情形下的动作。
图9是根据本发明一个实施例的逻辑流程图,其示出了各种硬件使能和引导过程(引导被加载的操作)。图9假定出现具有两个主密钥的TrEE(例如出现ARMTrust Zone):根公共密钥,和根设备专用密钥。在9A,检查根ROM完整性。若完整性未得到验证,则发生重启操作(9B)并且处理被停止。若根ROM完整性得到验证,则检查加载器的完整性(9C)。若该完整性得到验证,则签名的SW图像被假定存在(9D)并能够被执行。若该完整性未得到验证,则在9E做出检查来确定设备10是否是SIM锁定的(或者更叙述性地说,确定是否存在适当的策略来阻止访问特定的未经许可的应用程序)。若是这种情形,则重启分支被采用(9F),而所请求的应用程序不被加载/执行。若设备10不是SIM锁定的,则根据本发明的一个示例性实施例,特定的安全功能性被限制(9G)。安全功能性的限制通过TrEE来实现,并可以包含禁用特定的DRM密钥,并防止来自之前的模式的内容被解密。一旦它被执行,未签名的SW图像就被加载并且被执行而对SW图像能够做的没有任何限制。设备上仅有的限制是由TrEE提供的受限安全功能性所施加的那些限制。
引导过程的一个技术效果是控制引导什么和如何引导,并允许通过移除在过去使得使用拥有它们自己内核的应用程序不安全的线程,在正常关闭的平台上启动应用程序自己的内核。在一个实施例中,这是通过根据策略和状态信息对引导未知内核条件做出判定来被启动的,其中在示例性实施例中状态信息是SIM锁定信息。通过使用运营商解锁码,这个条件引导可以被撤销,其在一个实施例中可以在预设的时间周期(例如2年)过后被自动地撤销。注意,在引导时禁用特定的功能性与其中无论是否签名失败都没有引导的“安全引导”并不相同。它是“可信引导”,其中尽管由于信息而受到限制,但引导确实发生,所述信息例如是TrEE,其中在例如远程证据的情况下而导致被阻止(诸如阻止对VPN网络的网络访问)。
图10A示出了进一步根据本发明的示例性实施例的利用验证器功能40进行完整性保护的操作。验证器功能40确保响应于离线攻击的运行时间的可执行部件的完整性(例如二进制和库)。验证器功能40可以是内核14的一个模块,并且它可用于计算文件的加密哈希(例如通过使用SHA-1)。参考哈希被保存在受保护存储器42中,并用于将应用程序身份(路径名)绑定到可执行文件上。当新的应用程序出现时,验证器功能40计算该应用程序的参考哈希,利用验证器的私有密钥对它进行签名并且将它保存在存储器42中。在应用程序运行之前,从存储器42中取回签名的参考哈希,验证器功能40计算应用程序二进制46的哈希,并将该结果与从受保护存储器42中取回的参考哈希相比较。若检测到完整性保护冲突(例如部件已经被修改),则特定的动作被执行。这种动作取决于设备的完整性保护策略44。阻止对修改的部件的典型加载,但也有其他选项可用,诸如从过程中剥夺所有附加权限,或更简单地仅将该冲突记入日志。若哈希匹配,则应用程序得到执行的授权,否则应用程序被拒绝执行。
这种方法优于OS完整性保护的传统方法,在该传统方法中整个固件图像被签名并在引导期间验证整个图像。然而,固件图像包含只读和可写文件二者,并且不同于安装新的图像,固件图像通过安装新的数据包而被更新。至少出于这些原因,加载时间完整性保护方法是优选的。不同于一次性地验证整个固件图像,在代码加载期间仅有将被执行的那些部件被验证。对象的验证状态被缓存,从而使得每次引导后文件仅需要被验证一次。通过使用Linux安全模块钩(LSM),任何文件修改尝试都是可检测的。
完整性保护框架的一个技术效果在于它创建了建立受信环境的基础,其中对其消费电子行为负责的实体/公司能够为设备/硬件要递送的服务(例如紧急电话呼叫)的可用性做出任何保证。简单的数字签名保护框架不是动态的,不是灵活的,并且没有提供至访问控制策略的连接。这里所公开的完整性保护框架(例如保护验证器(aegis validator))针对每个二进制而言将哈希与能够被映射到特定源所具有的权限的源标识符保存起来。在一个实施例中,完整性保护框架还可以使用具有安全扩展环境秘密密钥的本地数字签名来签名参考哈希的存储器。
还参照图10B,验证器40内核模块钩住所有应用程序和共享库加载尝试。文件对象46由索引节点(inode)结构来标识。索引节点号被用作哈希存储器(图10A中的42)的密钥以请求该索引节点的参考哈希值。验证器40重新计算哈希值,并当存在匹配时,索引节点号被保存在验证器缓存器48中。当所计算哈希值不匹配时,接下来的动作取决于完整性保护策略44。利用参考哈希列表文件,哈希存储器42在系统引导时被初始化,其包含路径名-加密哈希对。路径名-加密哈希对被转换为索引节点-加密哈希对。利用RSA签名(初始文件)或本地签名HMAC机制(本地更新),原始存储得到完整性保护。可能仅有一个参考哈希列表文件,尽管这可以扩展为每个文件系统具有一个参考哈希列表文件,和将哈希列表文件的加载绑定到文件系统安装事件上。
图11示出了根据一个实施例的利用图10所示的受保护存储器42进行的私有保护操作。实施例确保安装后数据和配置文件(保存在受保护存储器42中)的完整性。附加特征包括受保护存储器42中的数据加密,和使用私有、共享和全局或外部签名存储器。有一个到TrEE的接口,其被用于签名/验证,加密/解密数据。对受保护存储器的访问由应用程序标识符或应用程序组来定义。
策略保护框架的一个技术效果在于它使得访问控制判定能够从任何应用程序被动态地绑定到设备中的任何接口上。这创建了一种鲁棒和防攻击平台,其中存在“最小权限”原则,例如在应用程序仅能够访问它们需要的内容的情况下。例如,通过创建称为“DRM”的资源令牌并将这个令牌仅授权给来自运营商的SW库的所选应用程序,DRM可以被完成。拥有DRM证书信息(例如秘密内容密钥)的服务将仅与具有“DRM”资源令牌的应用程序通信。
同样,策略保护框架的实施例使用在安装时根据应用程序数据包中的抽象声明所创建的动态映射。在一个实施例中,主机设备本身创建和维持本地唯一的从资源令牌到用户标识符UID和组标识符GID的映射。当安装新SW时在运行中(on the fly)创建这种新令牌并未在现有技术中出现,也并未将它们绑定到应用程序源。另外,在一个实施例中,有限访问服务可以被创建而无需得到设备运营商/制造商的支持。
图12是根据一个实施例的安全策略文件的一个非限定性例子。图13示出了根据一个实施例的非限定性AC控制例子,其说明了用于服务器和客户端的清单文件(后者给出用于令牌服务器的许可)。图14A,14B和14C分别提供了根据本发明一个实施例的用于D-Bus服务器20B和D-Bus客户端20A的非限定性例子(例如再次参照图7),更具体地说是用于D-Bus服务器20B的清单文件,用于D-Bus客户端20A的清单文件,和D-Bus配置文件。这些图中以及本说明书其他地方的标记“Aegis”(保护)可以被认为是对由本发明示例性实施例提供的整个安全结构的名称的描述。
图15以平面图(左)和剖面图(右)的形式示出了示例性设备10,而本发明可以体现为所示出的功能特定的部件的一个或一些组合。在图15中,设备10具有图形显示接口120和用户接口122,其被显示为键盘,但应当理解其还可包含图形显示接口120上的触摸屏技术以及麦克风125处接收的语音识别技术。功率致动器126控制由用户进行开启和关闭的设备。示例性设备10可具有摄像机128,其被示出在前面板(例如用于视频呼叫),但可选地或另外被置于后面板(例如用于为本地存储器捕获图像和视频)。摄像机128通过快门致动器130或者可选择地由变焦致动器来控制。
在图15的剖视图中可以看到多个发射/接收天线136,其通常用于蜂窝通信。天线136可以是多带宽天线。功率芯片138控制频道上的功率放大,其被发送到和/或穿过在使用空间分集的情况下同时进行发送的天线,并且放大接收到的信号。功率芯片138将放大后的接收信号输出给射频(RF)芯片140,该芯片解调和下变频信号以用于基带处理。基带(BB)芯片142检测信号,该信号接着被转换为比特流并最终被解码。对设备10中生成并从它发送的的信号进行类似地反向处理。
去往和来自摄像机128的信号通过图像/视频处理器144,其编码和解码各种图像帧。分离的音频处理器146还可以被提供来控制去往和来自扬声器134和麦克风124的信号。当由用户接口芯片150控制时,图形显示接口120根据帧存储器148而被刷新,该用户接口芯片可以处理去往和来自显示接口120的信号和/或另外处理来自键区122和其它地方的用户输入。
所有装置是各种存储器,诸如随机访问存储器RAM 143,只读存储器ROM 145,而且在一些实施例中,存在可移除的存储器,诸如示例性的存储器卡147。各种程序110C被保存于一个或多个存储器中。程序110C包含软件,根据上述的本发明的各种实施例,该软件被配置为与至少一个数据处理器相配合地操作。程序110C被假定为包含合适的操作系统,诸如Linux,并被配置为实现上述的用户模式12和内核模式14功能性。各种应用程序可通过无线通信从源1下载,或通过到设备10的线路来下载。
设备10中的所有部件通常由诸如电池149的便携式电源供电。
上述处理器138,140,142,144,146和150,当其在设备10中体现为分离的实体时,可作为主处理器110A的从关系进行操作,因此主处理器110A相对它们是主关系。图5的各种处理器中的任一个或全部都可以访问一个或多个各种处理器,其可以与处理器在一个芯片上或与处理器相分离。
注意,上述的各种芯片(例如138,140,142等)可以被结合成比所述的更少数量的芯片,并且在最紧凑的情况下可以全部物理地包含在单个芯片中。
设备10的各种实施例可以包括(但不局限于)蜂窝电话,具有无线通信能力的个人数字助理(PDA),具有无线通信能力的便携式计算机,具有无线通信能力的图像捕获设备,诸如数码相机,具有无线通信能力的游戏设备,具有无线通信能力的音乐存储和播放装置,允许无线无联网访问和浏览的互联网装置,以及结合这些功能的组合的便携式单元或终端。注意,在一些实施例中,设备10可以不包含无线通信能力,或者至少可以不包含蜂窝无线通信能力。
基于上面的内容,应当清楚,本发明的示例性实施例提供了一种方法、装置和计算机程序来为用户设备提供增强的安全结构。
根据本发明第一示例性实施例,并参照图16,一种方法包括从源接收包含有二进制文件的数据包,该文件代表应用程序软件和指示该应用程序软件所需要资源的相关资源声明(模块16A)。该方法还包括从数据包中析取资源声明(模块16B),并构成所析取资源声明和从软件源排名和资源利用策略获取的用于该数据包的源的可允许资源组的交集(模块16C)。该方法还包括根据所构成交集的结果,为该应用程序软件授权资源(模块16D),安装该应用程序软件(16E),和在资源拥有列表中保存已授权资源的指示。
根据本发明另一个示例性实施例,并参照图17,一种方法包括通过调用过程证书分配器来初始化应用程序软件执行以在资源拥有列表中针对软件应用程序进行查找(模块17A),根据用于该软件应用程序的可允许资源组来分配相应的过程证书(模块17B);将控制切换至该软件应用程序(模块17C),并且响应于应用程序软件请求访问系统对象,基于所分配的过程证书和有关该系统对象的访问控制列表来做出访问控制判定。
根据本发明的另一个示例性实施例,并参照图18,一种方法包括计算可执行文件的加密哈希(在模块18A),和在块18B,签名该加密哈希并在受保护存储器中保存所产生的参考签名的加密哈希。该方法还包括,在执行该可执行文件之前,计算该可执行文件的加密哈希(模块18C),和将结果与从受保护存储器中获取的参考加密哈希相比较(模块18D)。当完整性保护冲突被检测到时,该方法还包括根据完整性保护策略采取特定的动作(模块18E)。
图16,17和18中示出的各种块可以被看作是方法步骤,和/或由计算机程序代码操作中产生的操作,和/或被构造成执行相关功能的多个耦合的逻辑电路单元。
根据本发明的一个示例性方面,存在至少一种方法,装置和可执行计算机程序来执行动作,包括在设备上从源接收包含二进制文件的数据包,该文件代表应用程序软件和指示该应用程序软件所需资源的相关资源声明,从数据包中析取资源声明,并构成所析取资源声明和从软件源排名和资源利用策略获取的用于该数据包的源的可允许资源组的交集,基于所构成交集的结果而为该应用程序软件授权资源,安装该应用程序软件,和在资源拥有列表中保存已授权资源的指示。
另外,根据上面的段落,资源拥有列表定义哪些资源被许可由应用程序软件访问,并且该资源拥有列表包括该应用程序软件的应用程序标识符和已允许资源之间的映射。
另外,根据上面的段落,应用程序标识符唯一地标识了一个应用程序,并且应用程序标识符至少在引导,同一应用程序的不同实例和应用程序重启后保持不变。
其中,根据上面两段,应用程序标识符被表示为AppID={SourceID,PackageNname,AppName},其中SourceID是应用程序源的唯一标识符,PackageName是不带版本号的数据包名称,并且AppName由应用程序开发者定义。
另外,根据上面的任一段落,对于二进制文件,保存具有该二进制文件的源标识符的加密哈希,所述源标识符被映射到源的权限,其中利用具有秘密密钥的本地数字签名来签名加密哈希的存储器。
另外,根据上面的任一段落,为应用程序软件修改总线策略文件,其中该总线策略文件为应用程序软件提供与其他资源通信的访问控制权限。
另外,根据上面的任一段落,发起应用程序软件的执行包括访问资源拥有列表,根据在资源拥有列表中为该应用程序软件定义的已允许资源来分配相应的过程证书,将控制切换至该应用程序软件,和执行该应用程序软件。
另外,根据上面的段落,响应于应用程序软件访问系统对象的请求,基于所分配的过程证书和有关该系统对象的访问控制列表来确定该应用程序软件的访问控制。
另外,根据上面的任一段落,创建资源令牌,并且将该资源令牌仅授权给来自与设备的至少一个运营商关联的软件库的所选应用程序软件。
另外,根据上面的段落,在设备上维持资源令牌和该设备至少一个运营商的身份之间的本地唯一映射,其中该本地唯一映射使得访问控制判定能够从所选应用程序软件被动态地绑定到该设备的接口,其中处理该资源令牌的服务将仅与已经被授权有该资源令牌的应用程序进行通信。
根据本发明示例性实施例,至少有一种方法、装置和可执行计算机程序用于实现在设备上计算可执行文件的加密哈希,签名该加密哈希并将所产生的参考签名的加密哈希保存在受保护存储器中,在执行该可执行文件之前计算该可执行文件的加密哈希,和将结果与从该受保护存储器中取回的参考加密哈希相比较。
另外,根据上面的段落,若该结果与参考加密哈希匹配,则执行该可执行文件。
另外,根据上面的段落,若检测到完整性保护冲突,则根据完整性保护策略采取动作。
另外,根据上面的段落,其中该动作包括防止加载该可执行文件、剥夺可执行文件的附加权限和将该冲突记入日志中的至少一个。
根据本发明示例性实施例,至少有一种方法、装置和可执行计算机程序用于实现在引导过程期间在设备上验证应用程序内核的完整性,其中验证完整性包括验证该设备的引导只读存储器的完整性,基于所验证的引导只读存储器而验证设备的加载器的完整性,其中加载器的完整性验证指示了存在用于该应用程序内核的签名的软件图像,并在加载器完整性未得到验证的情况下,确定是否有适当的策略来防止对该应用程序内核的访问,其中当没有适当策略防止访问该应用程序内核时,限制该设备的安全功能性并利用受限的功能性来引导该设备。
另外,根据上面的段落,当引导只读存储器的完整性未得到验证时,执行该设备的重启操作。
另外,根据上面的段落,限制包括禁用特定的数字权限管理密钥、防止特定内容被解密和利用受限安全功能性来执行应用程序内核中的至少一个。
另外,根据上面的段落,若加载器完整性未得到验证,则确定设备的用户身份模块是否被锁定,其中对于用户身份模块被锁定的情况下,执行该设备的重启操作,并且对于用户身份模块未锁定的情况下,限制该设备的安全功能性,其中限制包括禁用特定的数字权限管理密钥、防止特定的内容被解密和利用受限安全功能性来执行应用程序内核中的至少一个。
通常,各种示例性实施例可以实现在硬件或专用电路,软件,逻辑或它们的任何组合中。例如,一些方面可以实现在硬件中,而其他方面可以被实现在可由控制器、微处理器或其他计算设备执行的固件或软件中,尽管本发明并不限于此。
尽管作为框图,流程图或是使用一些其它图解表示来说明和描述本发明的示例性实施例的各个方面,然而应当理解,作为非限定性例子,这里所述的这些块、装置、系统、技术或方法可以被实现在硬件,软件,固件,专用电路或逻辑,通用硬件或控制器或其他计算设备或它们的一些组合中。
应当认识到,本发明的示例性实施例的至少一些方面可以在各种部件中实施,诸如集成电路芯片和模块。因此,应当认识到,本发明的示例性实施例可以实现在体现为集成电路的装置中,其中集成电路包括可包括电路(以及可能地固件),以体现数据处理器、数字信号处理器、基带电路和射频电路中的一个或多个,其可被配置为根据本发明的示例性实施例来操作。另外,应当指出,根据示例性实施例,术语应用程序软件和软件应用程序是非限定性的并可以被互换地使用。
当结合附图进行阅读时,通过前面的描述,对本发明的前述示例性实施的各种修改和改编对相关领域的技术人员来说是显而易见的。然而,所有修改都落入本发明非限定性和示例性实施例的范围内。例如,这些示例性实施的使用并不局限于诸如Linux的仅一种类型的操作系统。另外,受益于这些示例性实施的用户设备也不局限于手持或便携式设备,而是作为非限定性的例子可包括台式计算机和工作站,以及服务器和主计算机。
应当指出,术语“连接”,“耦合”或其任何变型,意味着两个或更多单元之间的任何直接的或间接的连接或耦合,并且可以包括在彼此“连接”或“耦合”在一起的两个单元之间出现一个或多个中间单元。单元之间的连接或耦合可以是物理的,逻辑的,或者它们的组合。如这里所使用的那样,作为几个非限制性和非详尽的例子,两个单元可以被认为是通过使用一个或多个线路,电缆和/或印刷电路连接以及通过使用电磁能量(诸如具有在射频范围,微波范围和光波(可见和不可见光)范围内的波长的电磁能量)彼此“连接”或“耦合”。
另外,本发明的各种非限定示例性实施例的一些特征可以被用来获得益处而无需使用其他相应的特征。同样,前面的描述应当被认为仅是对本发明的原理,教导和示例性实施例的说明,而不是对它们的限制。
Claims (49)
1.一种方法,包括:
在设备上从源上接收包含二进制文件的数据包,该文件代表应用程序软件和指示所述应用程序软件所需要的资源的相关资源声明;
从所述数据包中析取所述资源声明;
构成所析取资源声明和可允许资源组的交集,其中用于所述数据包的所述源的可允许资源组是从软件源排名和资源利用策略中获取的;
基于所构成交集的结果,将资源授权给所述应用程序软件;
安装所述应用程序软件;和
在资源拥有列表中保存所授权资源的指示。
2.如权利要求1所述的方法,其中,所述资源拥有列表定义哪些资源被许可由所述应用程序软件访问,并且所述资源拥有列表包含所述应用程序软件的应用程序标识符和所许可资源之间的映射。
3.如权利要求2所述的方法,其中,所述应用程序标识符唯一地标识了应用程序,并且所述应用程序标识符至少在引导、同一应用程序的不同实例以及应用程序重启后之间保持不变。
4.如权利要求2或2所述的方法,其中,所述应用程序标识符表示为AppID={SourceID,PackageName,AppName},其中所述SourceID是应用程序源的唯一标识符,PackageName是不带版本号的数据包名称,并且其中所述AppName由应用程序开发者定义。
5.如权利要求1所述的方法,还包括:
对于所述二进制文件,利用被映射到所述源的权限的所述二进制文件的源标识符来保存加密哈希。
6.如权利要求5所述的方法,其中,使用具有秘密密钥的本地数字签名来签署所加密哈希的存储器。
7.如权利要求1所述的方法,还包括:
针对所述应用程序软件修改总线策略,其中所述总线策略为所述应用程序软件提供与其它资源进行通信的访问控制权限。
8.如权利要求1、5或7所述的方法,还包括:
发起所述应用程序软件的执行包括访问所述资源拥有列表;
根据在所述资源拥有列表中为所述应用程序软件定义的已允许资源,分配相应的过程证书;
将控制切换至所述应用程序软件;和
执行所述应用程序软件。
9.如权利要求8所述的方法,还包括:
响应于所述应用程序软件访问系统对象的请求,基于所分配的过程证书和有关所述系统对象的访问控制列表,确定所述应用程序软件的访问控制。
10.如权利要求1、5或7所述的方法,还包括:
创建资源令牌;和
将所述资源令牌仅授权给来自有关所述设备的至少一个运营商的软件库中的所选应用程序软件。
11.如权利要求10所述的方法,还包括:
在所述设备上维持所述资源令牌和所述设备至少一个运营商的身份之间的本地唯一映射,其中所述本地唯一映射使得访问控制判定能够从所选应用程序软件被动态地绑定到所述设备的接口。
12.如权利要求10所述的方法,其中,处理所述资源令牌的服务仅与已经被授权所述资源令牌的应用程序进行通信。
13.一种非临时性的计算机可读介质,其包含软件程序指令,其中当所述软件程序指令由至少一个数据处理器执行时导致执行包含根据上述任一权利要求的方法的执行的操作。
14.一种装置,其包括:
至少一个处理器;和
包含计算机程序代码的至少一个存储器,其中所述至少一个存储器和所述计算机程序代码被配置为利用所述至少一个处理器而致使所述装置至少:
从源接收包含二进制文件的数据包,该二进制文件代表应用程序软件和指示所述应用程序软件所需要的资源的相关资源声明;
从所述数据包中析取所述资源声明;
构成所析取资源声明和可允许资源组的交集,其中用于所述数据包的所述源的可允许资源组是从软件源排名和资源利用策略中获取的;
基于所构成交集的结果,将资源授权给所述应用程序软件;
安装所述应用程序软件;和
在资源拥有列表中保存所授权资源的指示。
15.如权利要求14所述的装置,其中,所述资源拥有列表定义哪些资源被许可由所述应用程序软件访问,并且所述资源拥有列表包含所述应用程序软件的应用程序标识符和已允许资源之间的映射。
16.如权利要求15所述的装置,其中,所述应用程序标识符唯一地标识了应用程序,并且所述应用程序标识符至少在引导、同一应用程序的不同实例以及应用程序重启后之间保持不变。
17.如权利要求15或16所述的装置,其中,所述应用程序标识符表示为AppID={SourceID,PackageName,AppName},其中所述SourceID是应用程序源的唯一标识符,PackageName是不带版本号的数据包名称,并且所述AppName由应用程序开发者定义。
18.如权利要求14所述的装置,其中,包含计算机程序代码的所述至少一个存储器被配置为利用所述至少一个处理器而致使所述装置对于所述二进制文件,利用被映射到所述源的权限的所述二进制文件的源标识符来保存加密哈希。
19.如权利要求18所述的装置,其中,使用具有秘密密钥的本地数字签名签署所加密哈希的存储器。
20.如权利要求14所述的装置,其中,包含计算机程序代码的所述至少一个存储器被配置为利用所述至少一个处理器而致使所述装置:
针对所述应用程序软件修改总线策略,其中所述总线策略为所述应用程序软件提供与其它资源进行通信的访问控制权限。
21.如权利要求14、18或20所述的装置,还包括包含计算机程序代码的所述至少一个存储器被配置为利用所述至少一个处理器而致使所述装置:
发起所述应用程序软件的执行,其包括访问所述资源拥有列表;
根据在所述资源拥有列表中为所述应用程序软件定义的已允许资源,分配相应的过程证书;
将控制切换至所述应用程序软件;和
执行所述应用程序软件。
22.如权利要求21所述的装置,还包括包含计算机程序代码的所述至少一个存储器被配置为利用所述至少一个处理器而致使所述装置:
响应于所述应用程序软件访问系统对象的请求,基于所分配的过程证书和有关所述系统对象的访问控制列表来确定所述应用程序软件的访问控制。
23.如权利要求14、18或20所述的装置,还包括包含计算机程序代码的所述至少一个存储器被配置为利用所述至少一个处理器而致使所述装置:
创建资源令牌;和
将所述资源令牌仅授权给来自有关所述设备的至少一个运营商的软件库中的应用程序软件。
24.如权利要求23所述的装置,还包括包含计算机程序代码的所述至少一个存储器被配置为利用所述至少一个处理器而致使所述装置:
维持所述资源令牌和所述设备至少一个运营商的身份之间的本地唯一映射,其中所述本地唯一映射使得访问控制判定能够从所选应用程序软件被动态地绑定到所述设备的接口。
25.如权利要求23所述的装置,其中,处理所述资源令牌的服务仅与已经被授权所述资源令牌的应用程序进行通信。
26.一种装置,包括:
用于从源接收包含二进制文件的数据包的装置,该文件代表应用程序软件和指示所述应用程序软件所需要的资源的相关资源声明;
用于从所述数据包中析取所述资源声明的装置;
用于构成所析取资源声明和已允许资源组的交集的装置,其中用于所述数据包的所述源的已允许资源组是从软件源排名和资源利用策略中获取的;
用于安装所述应用程序软件的装置。
27.如权利要求26所述的装置,其中,用于析取的装置、用于构成的装置和用于安装的装置包含至少一个存储器和至少一个处理器。
28.一种方法,包括:
在设备上计算可执行文件的加密哈希,签名所述加密哈希,并且在受保护存储器中保存所产生的参考签名的加密哈希;
在执行所述可执行文件之前,计算所述可执行文件的加密哈希;和
将结果与从所述受保护存储器中获取的所述参考加密哈希相比较。
29.如权利要求28所述的方法,所述方法还包括,若所述结果和所述参考加密哈希匹配则执行所述可执行文件。
30.如权利要求28所述的方法,所述方法还包括若检测到完整性保护冲突则根据完整性保护策略采取动作。
31.如权利要求28所述的方法,其中,所述动作包括阻止加载所述可执行文件、剥夺所述可执行文件的附加权限和将所述冲突记入日志中的至少一个。
32.一种非临时性的计算机可读介质,其包含有软件程序指令,其中当所述软件程序指令由至少一个数据处理器执行时导致执行包含根据权利要求28、29、30或31中任一个的方法的执行的操作。
33.一种装置,包括:
至少一个处理器;和
包含计算机程序代码的至少一个存储器,其中所述至少一个存储器和所述计算机程序代码被配置为利用所述至少一个处理器而致使所述装置至少:
计算可执行文件的加密哈希,签名所述加密哈希并且在受保护存储器中保存所产生的参考签名的加密哈希;
在执行所述可执行文件之前,计算所述可执行文件所述加密哈希;和
将结果与从所述受保护存储器中获取的所述参考加密哈希相比较。
34.如权利要求33所述的装置,其中,包含计算机程序代码的所述至少一个存储器被配置为利用所述至少一个处理器而在所述结果和所述参考加密哈希匹配的情况下致使所述装置执行所述可执行文件。
35.如权利要求33所述的装置,其中,包含计算机程序代码的所述至少一个存储器被配置为利用所述至少一个处理器而在检测到完整性保护冲突的情况下致使所述装置根据完整性保护策略采取特定的动作。
36.如权利要求35所述的装置,其中,所述动作包括阻止加载所述可执行文件、剥夺所述可执行文件的附加权限和将所述冲突记入日志中的至少一个。
37.一种装置,包括:
用于计算可执行文件的加密哈希、签名所述加密哈希并且在受保护存储器中保存所产生的参考签名的加密哈希的装置;
用于在执行所述可执行文件之前计算所述可执行文件的加密哈希的装置;和
用于将结果与从所述受保护存储器中获取的所述参考加密哈希相比较的装置。
38.如权利要求37所述的装置,其中,用于计算的装置和用于计算的装置包括至少一个存储器和至少一个处理器。
39.一种方法,包括:
在引导过程中,在设备上验证应用程序内核的完整性,其中验证所述完整性包括验证所述设备的引导只读存储器的完整性;和
基于验证后的引导只读存储器,验证所述设备的加载器的完整性,其中所述加载器的完整性验证指示存在用于所述应用程序内核的签名软件图像,并且在所述加载器的完整性未得到验证的情况下,所述方法还包括:
确定是否有适当的策略来阻止访问所述应用程序内核,并且基于确定没有适当策略时而限制所述设备的安全功能性,并且利用受限的功能性来引导所述设备,或者在于有适当策略的情况下执行所述设备的重启操作。
40.如权利要求39所述方法,还包括在引导只读存储器的完整性未得到验证的情况下执行所述设备的重启操作。
41.如权利要求39所述方法,其中,限制所述安全功能性包括禁用特定的数字权限管理密钥、防止特定的内容被解密以及利用受限的安全功能性执行所述应用程序内核中至少一个。
42.如权利要求39所述方法,还包括在所述加载器的完整性未得到验证的情况下确定所述设备的用户身份模块是否被锁定,
其中,如果所述用户身份模块被锁定则执行所述设备的重启操作,和
其中,如果所述用户身份模块未被锁定则限制所述设备的安全功能性,其中所述限制包括禁用特定的数字权限管理密钥、防止特定的内容被解密以及利用受限的安全功能性执行所述应用程序内核中的至少一个。
43.一种非临时性的计算机可读介质,其包含软件程序指令,其中当所述软件程序指令由至少一个数据处理器执行时导致执行包含根据权利要求39、40、41或42中任一个的方法的执行的操作。
44.一种装置,包括:
至少一个处理器;和
包含计算机程序代码的至少一个存储器,其中所述至少一个存储器和所述计算机程序代码被配置为利用所述至少一个处理器而致使所述装置至少:
在引导过程中,验证设备上的应用程序内核的完整性,其中验证所述完整性包括验证所述设备的引导只读存储器的完整性;和
基于验证后的引导只读存储器,验证所述设备的加载器的完整性,其中所述加载器的完整性验证指示了存在用于所述应用程序内核的签名软件图像,并且在所述加载器的完整性未得到验证的情况下,包含计算机程序代码的所述至少一个存储器还被配置为利用所述至少一个处理器而致使所述装置:
确定是否有适当的策略来阻止访问所述应用程序内核,并且基于确定没有适当策略而限制所述设备的安全功能性,并且利用受限的功能性引导所述设备,或者在有适当策略的情况下而执行所述设备的重启操作。
45.如权利要求44所述的装置,还包括包含计算机程序代码的所述至少一个存储器被配置为利用所述至少一个处理器而在引导只读存储器的完整性未得到验证的情况下致使所述装置执行所述设备的重启操作。
46.如权利要求44所述的装置,还包括包含计算机程序代码的所述至少一个存储器被配置为利用所述至少一个处理器而在所述加载器的完整性未得到验证的情况下致使所述装置至少判断所述设备的用户身份模块是否被锁定,
其中,在所述用户身份模块被锁定的情况下执行所述设备的重启操作,和
其中,在所述用户身份模块未被锁定的情况下,限制所述设备的安全功能性,其中所述限制包括禁用特定的数字权限管理密钥、防止特定的内容被解密以及用受限的安全功能性执行所述应用程序内核中的至少一个。
47.如权利要求44所述的装置,其中,所述限制包括禁用特定的数字权限管理密钥、防止特定的内容被解密以及用受限的安全功能性执行所述应用程序内核中的至少一个。
48.一种装置,包括:
用于在引导过程中在设备上验证应用程序内核的完整性的装置,其中验证所述完整性包括验证所述设备的引导只读存储器的完整性;和
用于基于验证后的引导只读存储器而验证所述设备的加载器的完整性的装置,其中所述加载器的完整性验证指示存在用于所述应用程序内核的签名软件图像,和
用于在所述加载器的完整性未得到验证的情况下执行以下操作的装置:
确定是否有适当的策略来阻止访问所述应用程序内核,并且基于确定没有适当策略而限制所述设备的安全功能性,并且利用受限的功能性来引导所述设备,或者在有适当策略的情况下执行所述设备的重启操作。
49.如权利要求48所述的装置,其中,用于验证的装置、用于确定的装置、用于限制的装置和用于重启的装置包括至少一个存储器和至少一个处理器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US25012609P | 2009-10-09 | 2009-10-09 | |
US61/250,126 | 2009-10-09 | ||
PCT/IB2010/054572 WO2011042892A1 (en) | 2009-10-09 | 2010-10-09 | Platform security |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102640160A true CN102640160A (zh) | 2012-08-15 |
CN102640160B CN102640160B (zh) | 2015-02-11 |
Family
ID=43856421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080055440.7A Active CN102640160B (zh) | 2009-10-09 | 2010-10-09 | 用于控制资源访问的方法和装置 |
Country Status (3)
Country | Link |
---|---|
EP (2) | EP4191453A1 (zh) |
CN (1) | CN102640160B (zh) |
WO (1) | WO2011042892A1 (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102538A (zh) * | 2013-04-09 | 2014-10-15 | 联想(北京)有限公司 | 信息处理的方法及电子设备 |
CN104376273A (zh) * | 2014-11-18 | 2015-02-25 | 乐视致新电子科技(天津)有限公司 | 一种数据访问控制方法和装置 |
CN104408371A (zh) * | 2014-10-14 | 2015-03-11 | 中国科学院信息工程研究所 | 一种基于可信执行环境高安全应用系统的实现方法 |
CN104778410A (zh) * | 2015-04-16 | 2015-07-15 | 电子科技大学 | 一种应用程序完整性验证方法 |
CN104918116A (zh) * | 2015-05-28 | 2015-09-16 | 北京视博数字电视科技有限公司 | 用于智能终端的资源播放方法及系统 |
CN105162586A (zh) * | 2015-09-21 | 2015-12-16 | 北京元心科技有限公司 | 一种在使用D-Bus的智能设备中进行安全通讯的方法和系统 |
CN105306447A (zh) * | 2015-09-21 | 2016-02-03 | 北京元心科技有限公司 | 一种在使用D-Bus的智能设备中进行安全访问的方法和系统 |
WO2016095566A1 (zh) * | 2014-12-18 | 2016-06-23 | 中兴通讯股份有限公司 | 一种可执行模块的提供、加载方法及终端 |
CN107924431A (zh) * | 2015-07-21 | 2018-04-17 | 思杰系统有限公司 | 匿名应用程序包装 |
CN111221629A (zh) * | 2020-01-09 | 2020-06-02 | 上海沄界信息科技有限公司 | 计算资源使用量量化方法及装置 |
CN111666557A (zh) * | 2014-02-25 | 2020-09-15 | 马维尔亚洲私人有限公司 | 用于对受保护的硬件资源的软件启用接入的装置和方法 |
CN112131597A (zh) * | 2019-10-22 | 2020-12-25 | 刘高峰 | 一种生成加密信息的方法、装置和智能设备 |
CN113168476A (zh) * | 2018-11-30 | 2021-07-23 | 百可德罗德公司 | 操作系统中个性化密码学安全的访问控制 |
CN113424188A (zh) * | 2019-08-13 | 2021-09-21 | 谷歌有限责任公司 | 保护浏览器cookie |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309768B (zh) * | 2012-03-16 | 2015-03-11 | 腾讯科技(深圳)有限公司 | 系统文件修复方法和装置 |
DE102014206006A1 (de) * | 2014-03-31 | 2015-10-01 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zum Manipulationsschutz einer Recheneinrichtung |
JP6141242B2 (ja) * | 2014-08-28 | 2017-06-07 | 三菱重工業株式会社 | 制御プログラム配信システム及びその方法 |
CN104507087A (zh) * | 2014-12-19 | 2015-04-08 | 上海斐讯数据通信技术有限公司 | 移动办公的安全服务系统及安全服务方法 |
US11119789B2 (en) | 2018-04-25 | 2021-09-14 | Hewlett Packard Enterprise Development Lp | Kernel space measurement |
EP3794477B1 (en) * | 2019-01-04 | 2023-05-10 | Baidu.com Times Technology (Beijing) Co., Ltd. | Method and system for validating kernel objects to be executed by a data processing accelerator of a host system |
US11907405B2 (en) | 2020-10-14 | 2024-02-20 | International Business Machines Corporation | Secure data storage device access control and sharing |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1194072A (zh) * | 1995-08-25 | 1998-09-23 | 英特尔公司 | 用于存取控制的参数化散列函数 |
US20030037327A1 (en) * | 2001-08-15 | 2003-02-20 | International Business Machines Corporation | Run-time rule-based topological installation suite |
US20050108181A1 (en) * | 2003-11-15 | 2005-05-19 | International Business Machines Corporation | Solution for a computer system |
WO2006101549A2 (en) * | 2004-12-03 | 2006-09-28 | Whitecell Software, Inc. | Secure system for allowing the execution of authorized computer program code |
EP1806656A2 (en) * | 2005-12-07 | 2007-07-11 | Seiko Epson Corporation | Information distribution apparatus |
JP2007277328A (ja) * | 2006-04-04 | 2007-10-25 | Bridgestone Corp | ゴム組成物及びそれを用いた空気入りタイヤ |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6567917B1 (en) * | 1999-02-01 | 2003-05-20 | Cisco Technology, Inc. | Method and system for providing tamper-resistant executable software |
US7073059B2 (en) * | 2001-06-08 | 2006-07-04 | Hewlett-Packard Development Company, L.P. | Secure machine platform that interfaces to operating systems and customized control programs |
US7743407B2 (en) * | 2001-08-13 | 2010-06-22 | Qualcomm Incorporated | Using permissions to allocate device resources to an application |
JP4164036B2 (ja) * | 2004-02-05 | 2008-10-08 | トレンドマイクロ株式会社 | ネットワークを介して提供されるプログラムに対する受信装置上でのセキュリティの確保 |
US20060236122A1 (en) * | 2005-04-15 | 2006-10-19 | Microsoft Corporation | Secure boot |
US8254568B2 (en) * | 2007-01-07 | 2012-08-28 | Apple Inc. | Secure booting a computing device |
US8856859B2 (en) * | 2007-02-06 | 2014-10-07 | Blackberry Limited | System and method for setting application permissions |
-
2010
- 2010-10-09 EP EP22204745.8A patent/EP4191453A1/en active Pending
- 2010-10-09 WO PCT/IB2010/054572 patent/WO2011042892A1/en active Application Filing
- 2010-10-09 CN CN201080055440.7A patent/CN102640160B/zh active Active
- 2010-10-09 EP EP10821668.0A patent/EP2486509B1/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1194072A (zh) * | 1995-08-25 | 1998-09-23 | 英特尔公司 | 用于存取控制的参数化散列函数 |
US5940513A (en) * | 1995-08-25 | 1999-08-17 | Intel Corporation | Parameterized hash functions for access control |
US20030037327A1 (en) * | 2001-08-15 | 2003-02-20 | International Business Machines Corporation | Run-time rule-based topological installation suite |
US20050108181A1 (en) * | 2003-11-15 | 2005-05-19 | International Business Machines Corporation | Solution for a computer system |
WO2006101549A2 (en) * | 2004-12-03 | 2006-09-28 | Whitecell Software, Inc. | Secure system for allowing the execution of authorized computer program code |
EP1806656A2 (en) * | 2005-12-07 | 2007-07-11 | Seiko Epson Corporation | Information distribution apparatus |
JP2007277328A (ja) * | 2006-04-04 | 2007-10-25 | Bridgestone Corp | ゴム組成物及びそれを用いた空気入りタイヤ |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102538B (zh) * | 2013-04-09 | 2018-02-27 | 联想(北京)有限公司 | 信息处理的方法及电子设备 |
CN104102538A (zh) * | 2013-04-09 | 2014-10-15 | 联想(北京)有限公司 | 信息处理的方法及电子设备 |
CN111666557B (zh) * | 2014-02-25 | 2024-05-31 | 马维尔亚洲私人有限公司 | 用于对受保护的硬件资源的软件启用接入的装置和方法 |
CN111666557A (zh) * | 2014-02-25 | 2020-09-15 | 马维尔亚洲私人有限公司 | 用于对受保护的硬件资源的软件启用接入的装置和方法 |
CN104408371A (zh) * | 2014-10-14 | 2015-03-11 | 中国科学院信息工程研究所 | 一种基于可信执行环境高安全应用系统的实现方法 |
CN104408371B (zh) * | 2014-10-14 | 2017-12-19 | 中国科学院信息工程研究所 | 一种基于可信执行环境高安全应用系统的实现方法 |
CN104376273A (zh) * | 2014-11-18 | 2015-02-25 | 乐视致新电子科技(天津)有限公司 | 一种数据访问控制方法和装置 |
WO2016095566A1 (zh) * | 2014-12-18 | 2016-06-23 | 中兴通讯股份有限公司 | 一种可执行模块的提供、加载方法及终端 |
CN104778410A (zh) * | 2015-04-16 | 2015-07-15 | 电子科技大学 | 一种应用程序完整性验证方法 |
CN104778410B (zh) * | 2015-04-16 | 2017-07-11 | 电子科技大学 | 一种应用程序完整性验证方法 |
CN104918116B (zh) * | 2015-05-28 | 2018-10-23 | 北京视博数字电视科技有限公司 | 用于智能终端的资源播放方法及系统 |
CN104918116A (zh) * | 2015-05-28 | 2015-09-16 | 北京视博数字电视科技有限公司 | 用于智能终端的资源播放方法及系统 |
CN107924431B (zh) * | 2015-07-21 | 2019-07-26 | 思杰系统有限公司 | 匿名应用程序包装 |
US10277606B2 (en) | 2015-07-21 | 2019-04-30 | Citrix Systems, Inc. | Anonymous application wrapping |
CN107924431A (zh) * | 2015-07-21 | 2018-04-17 | 思杰系统有限公司 | 匿名应用程序包装 |
CN105306447B (zh) * | 2015-09-21 | 2019-05-31 | 北京元心科技有限公司 | 一种在使用D-Bus的智能设备中进行安全访问的方法和系统 |
CN105306447A (zh) * | 2015-09-21 | 2016-02-03 | 北京元心科技有限公司 | 一种在使用D-Bus的智能设备中进行安全访问的方法和系统 |
CN105162586A (zh) * | 2015-09-21 | 2015-12-16 | 北京元心科技有限公司 | 一种在使用D-Bus的智能设备中进行安全通讯的方法和系统 |
CN113168476A (zh) * | 2018-11-30 | 2021-07-23 | 百可德罗德公司 | 操作系统中个性化密码学安全的访问控制 |
CN113424188A (zh) * | 2019-08-13 | 2021-09-21 | 谷歌有限责任公司 | 保护浏览器cookie |
CN112131597A (zh) * | 2019-10-22 | 2020-12-25 | 刘高峰 | 一种生成加密信息的方法、装置和智能设备 |
CN111221629A (zh) * | 2020-01-09 | 2020-06-02 | 上海沄界信息科技有限公司 | 计算资源使用量量化方法及装置 |
CN111221629B (zh) * | 2020-01-09 | 2023-09-05 | 上海沄界信息科技有限公司 | 计算资源使用量量化方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP2486509A4 (en) | 2016-11-30 |
CN102640160B (zh) | 2015-02-11 |
EP4191453A1 (en) | 2023-06-07 |
WO2011042892A1 (en) | 2011-04-14 |
EP2486509B1 (en) | 2022-11-02 |
EP2486509A1 (en) | 2012-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102640160B (zh) | 用于控制资源访问的方法和装置 | |
CN107533609B (zh) | 用于对系统中的多个可信执行环境进行控制的系统、设备和方法 | |
CN109074466B (zh) | 用于服务器的平台证明和注册 | |
Ekberg et al. | The untapped potential of trusted execution environments on mobile devices | |
CN101300583B (zh) | 用于可信赖移动电话的简单可伸缩和可配置安全启动 | |
Shepherd et al. | Secure and trusted execution: Past, present, and future-a critical review in the context of the internet of things and cyber-physical systems | |
US9871821B2 (en) | Securely operating a process using user-specific and device-specific security constraints | |
US8201239B2 (en) | Extensible pre-boot authentication | |
ES2802265T3 (es) | Método de autorización de una operación que va a realizarse en un dispositivo informático objetivo | |
JP6880691B2 (ja) | 位置設定可能な電子ロック制御方法、プログラム及びシステム | |
US8694795B1 (en) | Method and apparatus for secure application execution | |
US9779232B1 (en) | Trusted code generation and verification to prevent fraud from maleficent external devices that capture data | |
US9520994B2 (en) | System and method for deriving secrets from a master key bound to an application on a device | |
US20180091315A1 (en) | Revocation and updating of compromised root of trust (rot) | |
KR101281678B1 (ko) | 이동 저장 장치에서 호스트 인증 방법, 호스트 인증을 위한정보 제공 방법, 장치, 및 기록매체 | |
US20140189880A1 (en) | System and method for administrating access control rules on a secure element | |
US20080109903A1 (en) | Secure co-processing memory controller integrated into an embedded memory subsystem | |
KR20160055208A (ko) | 모바일 통신 디바이스 및 그 작동 방법 | |
US20150268952A1 (en) | System and method for updating a trusted application (ta) on a device | |
GB2454792A (en) | Controlling user access to multiple domains on a terminal using a removable storage means | |
CN112528288A (zh) | 可信应用的运行方法、信息处理和内存分配方法及装置 | |
US10019577B2 (en) | Hardware hardened advanced threat protection | |
Anwar et al. | Redesigning secure element access control for NFC enabled Android smartphones using mobile trusted computing | |
US12019717B2 (en) | Method for the secure interaction of a user with a mobile terminal and a further entity | |
CN117453343A (zh) | 虚拟机度量、机密计算认证方法、设备、系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160125 Address after: Espoo, Finland Patentee after: Technology Co., Ltd. of Nokia Address before: Espoo, Finland Patentee before: Nokia Oyj |