In order to realize the function of private security sensitive part to prevent malicious code access in the application of the secure session establishment between the private sector and the public part of the same application within the application to perform on the part of the private visit. An authorization key may be shared between the public portion and the private portion. When the function of the public part of the implementation in the attempt to call the private sector, the establishment of a secure session through the following way: the session ID is generated, the combination of ID in the session key derivation function and the authorization key to generate the session key, and using the session key encryption from the public part of the function call. The private section can then decrypt the properly encrypted function call and call the appropriate function.
【技术实现步骤摘要】
【国外来华专利技术】对应用程序库的授权访问相关申请交叉引用本申请要求于2014年12月29日提交的美国临时申请号62/097,267的优先权,该临时申请的整个内容据此出于所有目的以引用方式并入。
技术介绍
黑客可以利用软件应用程序的一种方式是将恶意代码嵌入应用程序中。如果该应用程序可以访问诸如账户凭证的安全敏感信息,则恶意代码可以调用该应用程序中的函数来获得对敏感信息的访问。然后,恶意代码可以通过将敏感信息发送到未经授权的远程站点来实施中继攻击。本专利技术的实施例单独地或共同地解决了这个和其他问题。
技术实现思路
本专利技术的实施例提供了用于增强计算装置(例如,便携式通信装置)的安全性,特别地用于增强安装在计算装置上的应用程序的安全性的技术。在一些实施例中,应用程序可以被划分为公共部分和私有部分。私有部分可以是用于实现安全敏感函数(例如,诸如令牌请求、账户参数补充等的函数)的本地库。公共部分可以是用于实现非安全敏感函数(例如,用户界面相关函数、网络函数等)以及调用私有部分的安全敏感函数的函数的一组公共应用程序接口(API)。为了防止恶意代码访问在应用程序的私有部分中实现的安全敏感函数,使用在应用程序内在公共部分和私有部分之间建立的安全会话来执行对私有部分的访问。公共部分和私有部分之间可以共享授权密钥。当公共部分尝试调用在私有部分中实现的函数时,通过以下方式建立安全会话:生成会话ID,在密钥派生函数中组合会话ID和授权密钥以生成会话密钥,以及使用会话密钥加密来自公共部分的函数调用。私有部分然后可以解密被正确加密的函数调用并调用合适的函数。在一些实施例中,便携式通信装置可以包括一个或多个处 ...
【技术保护点】
一种便携式通信装置,包括:一个或多个处理器;以及耦接到所述一个或多个处理器并存储计算机可读代码的存储器,所述计算机可读代码当由所述一个或多个处理器执行时,实现具有公共部分和私有部分的应用程序;其中所述公共部分被配置为:向所述私有部分发送开始会话请求;从所述私有部分接收会话标识符(ID);使用所述会话ID和密钥派生函数生成会话密钥;使用所述会话密钥加密函数调用请求的有效负载,所述有效负载表示对在所述私有部分中实现的函数的函数调用;以及将包括加密的有效负载的所述函数调用请求发送到所述私有部分;并且其中所述私有部分被配置为:执行正在所述函数调用请求中调用的所述函数。
【技术特征摘要】
【国外来华专利技术】2014.12.29 US 62/097,2671.一种便携式通信装置,包括:一个或多个处理器;以及耦接到所述一个或多个处理器并存储计算机可读代码的存储器,所述计算机可读代码当由所述一个或多个处理器执行时,实现具有公共部分和私有部分的应用程序;其中所述公共部分被配置为:向所述私有部分发送开始会话请求;从所述私有部分接收会话标识符(ID);使用所述会话ID和密钥派生函数生成会话密钥;使用所述会话密钥加密函数调用请求的有效负载,所述有效负载表示对在所述私有部分中实现的函数的函数调用;以及将包括加密的有效负载的所述函数调用请求发送到所述私有部分;并且其中所述私有部分被配置为:执行正在所述函数调用请求中调用的所述函数。2.根据权利要求1所述的便携式通信装置,其中所述私有部分还被配置为:响应于从所述公共部分接收到所述开始会话请求而生成所述会话ID。3.根据权利要求2所述的便携式通信装置,其中所述私有部分还被配置为:使用所述会话ID和所述密钥派生函数生成所述会话密钥;以及使用所述会话密钥解密所述加密的有效负载以取回所述函数调用。4.根据权利要求1所述的便携式通信装置,其中所述会话密钥还基于在所述公共部分和所述私有部分之间共享的授权密钥生成。5.根据权利要求1所述的便携式通信装置,其中所述公共部分被配置为在每次启动所述应用程序时将所述开始会话请求发送到所述私有部分。6.根据权利要求1所述的便携式通信装置,其中所述公共部分被配置为在每次所述应用程序被用于启动交易时将所述开始会话请求发送到所述私有部分。7.根据权利要求1所述的便携式通信装置,其中在所述私有部分中实现的所述函数是令牌请求函数、账户参数补充请求函数或密码生成函数中的一个。8.根据权利要求1所述的便携式通信装置,其中所述私有部分被配置为忽略来自所述公共部分的不是开始会话请求、且不是函数调用请求的任何请求。9.根据权利要求1所述的便携式通信装置,其中所述公共部分以第一编程语言编写,并且所述私有部分以与所述第一编程语言不同的第二编程语言编写。10.一种在具有公共部分和私有部分的应用程序中控制访问的方法,所述方法包括:由所述应用程序的所述公...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。