CN107111500B - 应用库的无线储备 - Google Patents

应用库的无线储备 Download PDF

Info

Publication number
CN107111500B
CN107111500B CN201580071469.7A CN201580071469A CN107111500B CN 107111500 B CN107111500 B CN 107111500B CN 201580071469 A CN201580071469 A CN 201580071469A CN 107111500 B CN107111500 B CN 107111500B
Authority
CN
China
Prior art keywords
communication device
updated
private
portable communication
server
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.)
Active
Application number
CN201580071469.7A
Other languages
English (en)
Other versions
CN107111500A (zh
Inventor
P·希拉尔
B·辛格
M·诺西埃
R·尤达勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Visa International Service Association
Original Assignee
Visa International Service Association
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Visa International Service Association filed Critical Visa International Service Association
Publication of CN107111500A publication Critical patent/CN107111500A/zh
Application granted granted Critical
Publication of CN107111500B publication Critical patent/CN107111500B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了用于更新安装在通信装置上的应用的技术,可以包括:确定用于所述应用的私用部分的更新在服务器处是可用的;将对所述更新的请求发送至所述服务器;从所述服务器接收所述私用部分的更新的版本;以及在所述便携式通信装置上安装所述私用部分的更新的版本,不更新公用部分。

Description

应用库的无线储备
相关申请的交叉引用
本申请要求于2014年12月29日提交的美国临时专利申请号62/097,234的优先权,其通过引用全部被并入本文中。
背景技术
黑客可能通过学习应用的底层功能开发恶意代码(例如恶意软件、病毒等)以利用软件应用的弱点。这可能涉及对编译的代码进行反向工程以获得应用的源代码。应对黑客的一种技术是监测任何恶意代码的发布,识别由恶意代码利用的安全缺陷,并部署应用的新版本以对安全缺陷打补丁。然而,这种技术采用被动的方法,在首先阻碍攻击免于成功发生做得很少。
本发明的实施例分开和一起解决了这个问题及其它问题。
发明内容
在一些实施例中,提供了一种便携式通信装置,所述便携式通信装置包括处理器;以及耦连至所述处理器的存储器。所述存储器存储指令,所述指令在由所述处理器执行时,使所述便携式通信装置执行操作,包括:确定用于安装在所述便携式通信装置上的移动应用的私用部分的更新在服务器处是可用的;将对所述更新的请求发送至所述服务器,所述请求包括与安装在所述便携式通信装置上的所述私用部分的当前的版本关联的当前的私用部分标识符;从所述服务器接收所述私用部分的更新的版本,所述更新的版本是使用嵌入安装在所述便携式通信装置上的所述私用部分的当前版本中的当前的传输密钥加密的;使用嵌入安装在所述便携式通信装置上的所述私用部分的当前的版本中的当前的传输密钥解密所述私用部分的更新的版本;以及安装所述私用部分的更新的版本,不更新所述移动应用的公用部分。
在一些实施例中,提供了一种用于更新安装在便携式通信装置上的移动应用的方法,其中,所述移动应用包括公用部分和私用部分。所述方法可以包括:由所述移动应用确定用于所述私用部分的更新在服务器处是可用的;将对所述更新的请求发送至所述服务器,所述请求包括与安装在所述便携式通信装置上的所述私用部分的当前的版本关联的当前的私用部分标识符;从所述服务器接收所述私用部分的更新的版本,所述更新的版本是使用嵌入安装在所述便携式通信装置上的所述私用部分的当前的版本中的当前的传输密钥加密的;使用嵌入安装在所述便携式通信装置上的所述私用部分的当前的版本中的当前的传输密钥解密所述私用部分的更新的版本;以及在所述便携式通信装置上安装所述私用部分的更新的版本,不更新所述公用部分。
在一些实施例中,提供了一种用于提供对安装在便携式通信装置上的移动应用的更新的服务器,其中,所述移动应用包括公用部分和私用部分。所述服务器包括处理器;以及耦连至所述处理器的存储器。所述存储器存储指令,所述指令在由所述处理器执行时,使所述服务器执行操作,包括:从所述便携式通信装置接收对所述移动应用的私用部分的更新的请求,所述请求包括与安装在所述便携式通信装置上的所述私用部分的当前的版本关联的当前的私用部分标识符;基于所述当前的私用部分标识符,确定与安装在所述便携式通信装置上的所述私用部分的当前的版本关联的当前的传输密钥;使用所述当前的传输密钥加密所述私用部分的更新的版本;以及将所述私用部分的加密的更新的版本传送至所述便携式通信装置,不传送对所述移动应用的公用部分的更新。
附图说明
图1图解说明根据一些实施例用于更新安装在便携式通信装置上的移动应用的系统。
图2图解说明根据一些实施例的通信装置的示例的框图。
图3图解说明根据一些实施例的移动应用服务器。
图4图解说明根据一些实施例用于更新安装在便携式通信装置上的移动应用的过程的流程图。
图5图解说明根据一些实施例的交易系统的示例的框图。
图6图解说明根据一些实施例的便携式通信装置。
图7图解说明根据一些实施例用于更新安装在便携式通信装置上的移动应用的过程的流程图。
图8图解说明根据一些实施例的软件环境的框图。
图9图解说明根据一些实施例用于更新应用的过程的流程图。
具体实施方式
本发明的实施例提供用于增强通信装置(例如便携式通信装置)的安全性、特别是用于增强安装在通信装置上的应用的安全性的技术。黑客可能通过对应用的编译的代码进行反向工程并通过学习应用的底层功能,开发恶意代码(例如恶意软件、病毒等)来利用软件应用的弱点。例如,黑客可能对使用并存储安全敏感信息(诸如账号)的交易应用进行反向工程,并将恶意代码嵌入交易应用中,以实现将账户凭证的副本发送至远程站点的中继攻击。然而,黑客进行反向工程并学习软件应用需要花费时间。因此,在这些攻击发生之前阻止攻击的一种方式是在黑客可能对应用的特定版本进行反向工程花费的时间内频繁地发布应用的新版本。例如,假设黑客对应用的版本进行反向工程要花费一个月。在这种情形中,应用提供者可以每三个星期发布应用的新版本,使得到黑客对一种版本进行反向工程的时间时,应用的较新版本已经被部署。调整为利用应用的旧版本的任何恶意代码可能变得对应用的新版本是无用的,原因是应用的每个版本使用不同的源代码基(code base)。
在更新安装在便携式通信装置(例如移动装置,诸如智能电话、平板电脑等)上的移动应用的背景下,更新移动应用的传统方式是应用提供者将整个应用的新版本上传至应用商店(例如Google Play Store、Apple App Store等)。用户然后可以在应用商店查看移动应用的新版本,下载,并将移动应用的更新的版本安装到便携式通信装置上。然而,由于需要无线(例如经由无线连接)下载的数据量,在便携式通信装置上更新整个移动应用可能是耗时的。此更新过程还可能要求用户手工地查看应用商店寻找更新,并在移动应用可以被更新之前,手工地提供用户批准。因此,例如,如果用户没能在新版本变得可用时立即查看应用商店,则安装在便携式通信装置上的移动应用可能不总是最新的。
在一些实施例中,为了降低每次更新移动应用时需要下载的数据量,移动应用可以被分割到多个软件层中。例如,移动应用可以被分割到两个软件层中,诸如公用部分和私用部分。私用部分可以是本地库,其用来执行安全敏感功能(例如诸如令牌请求、账户参数补充等的功能),并且可以用低级编程语言诸如C或C++编写。私用部分可以被频繁地更新以缓解黑客攻击。公用部分可以是软件开发套件(SDK),其提供用来执行非安全功能(例如用户接口相关功能,外部通信功能等)的一组公用API,并且可以用较高级编程语言诸如Java编写。因为在移动应用的公用部分中不执行安全敏感功能,所以破坏的公用部分可能对黑客价值不大。因此,公用部分可以不象私用部分那样频繁地更新,或者根本不更新。结果,可以通过只是下载并更新私用部分且不下载或修改公用部分,执行出现的大多数如果不是所有的频繁的移动应用更新。因此,可以降低用于每个更新需要下载的数据量。
在一些实施例中,为了帮助确保移动应用的私用部分是最新的,移动应用的SDK可以定期地或周期性地联系驻存移动应用更新的网络服务(例如服务器)。在适当时,网络服务可以无线地将移动应用的新的私用部分发布到便携式通信装置。如果网络服务确定是时候发布新私用部分了,则移动应用的SDK下载新的私用部分到便携式通信装置的本地存储器,并动态地加载新的私用部分以更新移动应用。以此方式,可以将移动应用的无线更新部署到便携式通信装置,不必等待用户手工地访问应用商店和/或手工地接受更新。
为了进一步增强更新过程的安全性,并防止恶意代码从服务器获得敏感信息,应用的私用部分的每个版本(例如本地库的每个版本)可以被绑定到唯一的私用部分标识符(ID)和与私用部分ID关联的传输密钥。当应用的私用部分与服务器通信时(例如以获得应用更新或执行安全敏感功能,诸如令牌请求或账户参数补充)时,应用可以给服务器提供私用部分ID。服务器然后可以验证接收的私用部分ID,查找与私用部分ID关联的传输密钥,并使用传输密钥加密发送至应用的信息。黑客攻击的应用不可能具有有效的私用部分ID,不可能具有对有效的传输密钥的访问以解密从服务器接收的信息。
在讨论本发明的一些实施例的细节之前,描述一些术语可能对理解各个实施例是有帮助的。
“通信装置”可以是包括能够与另一装置通信的一个或多个电子部件(例如集成芯片)的装置。例如,通信装置可以是包括至少一个处理器的计算装置,至少一个处理器耦连至存储用于由处理器执行的指令或代码的存储器。“便携式通信装置”可以是一种通信装置,其可以由用户携带和操作,并且可以包括一个或多个电子部件(例如集成芯片)。便携式通信装置可以提供对网络的远程通信能力。便携式通信装置可以被配置成与其它装置往返传送和接收数据或通信。便携式通信装置可以是移动装置的形式,诸如移动电话(例如智能手机、蜂窝电话等)、平板电脑、便携式媒体播放器、个人数字助理装置(PDA)、可穿戴计算装置(例如手表、健康监测装置,诸如健身跟踪器等)、电子阅读器装置、膝上型计算机、上网本、超级本等或者是卡(例如智能卡)或表链等的形式。便携式通信装置的示例还可以包括便携式计算装置(例如膝上型计算机、上网本、超级本等)。便携式通信装置还可以是车辆(例如汽车)的形式或者可以集成作为车辆的一部分(例如车辆的信息系统)。
“服务器计算机”可以包括功能强大的计算机或计算机集群。例如,服务器计算机可以是大的主机、小型计算机集群或像一个单元一样工作的一组服务器。在一个示例中,服务器计算机可以是耦连至网络服务器的数据库服务器。服务器计算机可以耦连至数据库,并且可以包括任何硬件、软件、其它逻辑或前述的组合,以服务于来自一个或多个客户端计算机的请求。服务器计算机可以包括一个或多个计算设备,并且可以使用各种计算结构、布置和编译中的任何一种,以服务于来自一个或多个客户端计算机的请求。
“发行方(issuer)”通常可以指维护用户的与便携式通信装置关联的账户(诸如在安装在便携式通信装置上的移动应用中注册的账户)的商业实体(例如银行)。发行方还可以将与账户关联的账户参数发行至便携式通信装置。发行方可以与代表发行方执行发行方的一些或所有功能的主机系统关联。
“商家”通常可以是参与交易并且能够出售商品或服务或者提供对商品或服务的访问的实体。
“收单方(acquirer)”通常可以是与特定商家或其它实体具有商业关系的商业实体(例如商业银行)。一些实体能够既执行发行方功能也执行收单方功能。一些实施例可以包括这种单实体的发行方-收单方。
“访问装置”可以是用于与商家计算机或交易处理网络通信并且用于与交易装置(例如支付装置)、用户计算机设备和/或用户移动装置交互的任何适当的装置。访问装置通常可以位于任何适当的方位,诸如在商家的方位处。访问装置可以是任何适当的形式。访问装置的一些示例包括POS装置、蜂窝电话、PDA、个人计算机(PC)、平板PC、手持专用阅读器、机顶盒、电子出纳机(ECR)、自动柜员机(ATM)、虚拟出纳机(VCR)、营业厅(kiosk)、安全系统、访问系统、网站等等。访问装置可以使用任何适当的接触或非接触操作模式以将数据发送至便携式通信装置或从便携式通信装置接收数据,或者发送或接收与便携式通信装置关联的数据。在一些实施例中,在访问装置可以包括POS终端时,可以使用任何适当的POS终端,并且可以包括阅读器、处理器和计算机可读介质。阅读器可以包括任何适当的接触或非接触操作模式。例如,示例性的读卡器可以包括射频(RF)天线、光学扫描器、条形码阅读器或磁条阅读器以与便携式通信装置交互。
“授权请求消息”可以是被发送以请求对交易授权的电子消息。授权请求消息可以被发送至交易处理网络和/或交易卡(例如支付卡)的发行方。根据一些实施例的授权请求消息可以遵守ISO 8583,ISO 8583是交换与用户使用交易装置或交易账户进行的交易关联的电子交易信息的系统的标准。授权请求消息可以包括可以用来识别账户的信息。授权请求消息还可以包括附加数据元素,诸如以下的一个或多个:服务代码、到期日期等。授权请求消息还可以包括交易信息,诸如与当前交易关联的任何信息,诸如交易金额、商家标识符、商家方位等以及可以用来确定是否识别和/或授权交易的任何其它信息。授权请求消息还可以包括其它信息,诸如识别生成授权请求消息的访问装置的信息,关于访问装置的方位的信息等。
“授权响应消息”可以是对于授权请求消息的电子消息应答。授权响应消息可以由发行金融机构或交易处理网络生成。授权响应消息可以包括(只作为示例)以下状态指示符中的一个或多个:批准-交易被批准;拒绝-交易不被批准;或呼叫中心-响应未决的更多信息,商家必须呼叫免费授权电话号码。授权响应消息还可以包括授权代码,其可以是信用卡发行银行响应于电子消息中的授权请求消息(直接地或者通过交易处理网络)返回商家计算机的指示交易被批准的代码。代码可以用作授权的证据。如上文指出的,在一些实施例中,交易处理网络可以生成授权响应消息或将授权响应消息转发至商家。
“令牌”可以包括用于一些信息的替代性标识符。例如,交易令牌可以包括用于交易账户的标识符,其是账户标识符的替代,诸如主账号(PAN)。例如,令牌可以包括可以用作用于原始账户标识符的替代的一连串字母数字字符。例如,令牌“4900 0000 0000 0001”可以代替PAN“4147 0900 0000 1234”使用。在一些实施例中,令牌可以是“保留格式的”,可以具有与现有的交易处理网络中使用的账户标识符一致的数字格式(例如,ISO 8583金融交易消息格式)。在一些实施例中,令牌可以代替PAN使用,以发起、授权、结算或完成支付交易。在通常提供原始凭证的其它系统中,令牌还可以用来表示原始凭证。在一些实施例中,可以生成令牌值,使得由令牌值恢复原始PAN或其它账户标识符不可以由计算导出。进一步地,在一些实施例中,令牌格式可以被配置成允许接收令牌的实体将其识别为令牌,并识别发行令牌的实体。
“真实账户标识符”可以包括与账户关联的原始账户标识符。例如,真实账户标识符可以是由发行方为卡账户(例如信用卡、借记卡等)发行的主账号(PAN)。例如,在一些实施例中,真实账户标识符可以包括16位数字值,诸如“4147 0900 0000 1234”。真实账户标识符的前六位(例如“414709”)可以代表真实的发行方标识符(BIN),其可以识别与真实账户标识符关联的发行方。
“账户参数”可以指与账户有关的可以用来对账户进行交易的信息。账户参数的示例可以包括可以用来识别用户的账户的信息(例如真实账户标识符、替代性账户标识符、令牌等)、与账户的状态有关的数据或信息、用来生成密码信息的一个或多个密钥、与一个或多个密钥有关的数据或信息等。账户参数可以是半静态的或动态的。动态账户参数可以是具有有限寿命的账户参数,一旦到期,不再能够用来进行交易,直到账户参数被补充、刷新或更新。动态账户参数可以在账户的生命期中被经常补充。半静态账户参数可以是具有比动态账户参数更长的延长的寿命的账户参数,并且在账户的寿命中可以不如动态账户参数那样频繁地补充或根本不补充。
“密钥”可以指用在密码算法中将输入数据转换成另一种表示的一条信息。密码算法可以是将原始数据转换成替代性表示的加密算法或将加密信息转换回原始数据的解密算法。密码算法的示例可以包括三重数据加密标准(TDES)、数据加密标准(DES)、高级加密标准(AES)等。
“限制使用密钥”或“LUK”可以指可以只用于有限次数或有限数目的交易的密钥,并且当限制使用已经被用尽时可能需要被续订或补充。LUK可以与限制LUK的使用的一个或多个限制使用阈值的集合关联,其中,一旦LUK的使用已经用尽或超过一个或多个限制使用阈值的集合,则即便底层的账户仍是良好状态,使用该LUK进行的另外的交易会被拒绝。一个或多个限制使用阈值的集合可以包括以下的至少一个:LUK可以用于的交易的数目,指示LUK有效的时间段的生存时间和/或指示对LUK有效的一个或多个交易求和的总交易金额的累积交易金额或其任意组合。
“限制使用阈值”可以指限制一条信息的使用的条件。限制使用阈值在底层条件满足时,可以被超过或用尽。例如,限制使用阈值可以包括指示一条信息有效的时间量的生存时间,一旦该时间量逝去,限制使用阈值被超过或用尽,该条信息可变成无效的,不再可以被使用。举另一示例,限制使用阈值可以包括一条信息可以被使用的次数,一旦该条信息已经被使用该次数,则限制使用阈值被超过或用尽,该条信息可变成无效,不再可以被使用。
“交易处理网络”可以包括能够处理和路由交易请求消息的网络。示例性交易处理网络可以包括数据处理子系统、网络和用来支持和传送授权服务、异常文件服务、交易评分服务以及清算和结算服务的操作。示例性交易处理网络可以包括VisaNetTM。诸如VisaNetTM之类的交易处理网络能够处理信用卡交易、借记卡交易和其它类型的商业交易。VisaNetTM具体可以包括处理授权请求的VIP系统(Visa集成支付系统)和执行清算和结算服务的BaseII系统。
现在来描述本发明的一些实施例的细节。
图1图解说明根据一些实施例用于更新安装在通信装置上的应用的系统100。系统100包括例如经由通信网络182相互通信的应用服务器102和便携式通信装置120(例如移动装置,诸如移动电话)。在本文中进一步参照图2和图6描述根据一些实施例的通信装置。在本文中进一步参照图3描述根据一些实施例的应用服务器。
任何适当数目或类型的通信网络可以存在于便携式通信装置120和应用服务器102之间,以及在图1中的实体的任何其它适当的组合之间。通信网络诸如通信网络182可以是以下的任何一个和/或组合:直接互连;互联网;局域网(LAN);城域网(MAN);作为互联网上的节点的操作任务(OMNI);安全定制连接;广域网(WAN);无线网络(例如使用诸如但不限于无线应用协议(WAP)、I-模式等等的协议);等等。
注意,图1中图示的部件或元件出于示意目的,在本发明的其它实施例中,某些块可以被组合或者功能可以分割到其它运算部件中。
图2图解说明根据一些实施例的通信装置200。通信装置200可以包括装置硬件204(诸如一个或多个处理器)、操作系统214和在通信装置200上运行的应用212。在一些实施例中,应用212可以在应用环境210(诸如虚拟机)内执行。
应用212可以包括多个软件层或软件库。例如,应用212可以包括公用部分220和私用部分230。公用部分220和私用部分230可以由相同的开发者提供或者由不同的实体提供。在一些实施例中,可以用相同的或不同的编程语言编写公用部分220和私用部分230。例如,可以用高级编程语言编写公用部分220。可以用低级编程语言编写私用部分230。在一些实施例中,私用部分230可以是本地库,其可以由在应用环境210中执行的各个应用之间共享。在一些实施例中,私用部分230可以绑定到公用部分220,并且只可由公用部分220访问。公用部分220可以与私用部分230经由两个软件层之间的接口通信以交换数据,并调用在私用部分230中实现的函数,反之亦然。
在一些实施例中,操作系统214可以是移动操作系统,诸如Android。公用部分220可以用Java编写,私用部分230可以用C或C++编写。在这些实施例中,公用部分220和私用部分230之间的接口可以是Java本地接口(JNI)。在应用212的编译期间,可以使用Java编译器,诸如Javac将公用部分220源代码编译成Java类文件。可以由头文件生成器,诸如Javah生成允许公用部分220调用私用部分230中的函数的C或C++代码头部。本地C或C++私用部分230源代码可以被编译并链接至头文件以形成共享对象(.so)动态库文件。Java类文件和动态库文件可以被打包并压缩成应用包文件(例如Android应用包(.apk)文件)。此应用包文件可以从应用商店下载到便携式通信装置200上,开始使用以将应用212安装到便携式通信装置200上。在一些实施例中,安装应用212将实例化应用212会执行的虚拟机实例,诸如Dalvik虚拟机实例。
在一些实施例中,应用212可以是使用或处理敏感数据的应用。例如,应用212可以使用某些敏感数据资产,诸如加密密钥,以执行密码操作,或者可以访问或使用敏感信息,诸如个人或金融信息(例如账户凭证)。可以在应用212的私用部分230中实现与敏感数据的处理有关的功能(可以称作安全敏感功能),而可以在应用212的公用部分220中实现基本功能,诸如用户接口和外部通信(例如联网)功能。由于应用212的模块化本质,不具有适当的防护,实现安全敏感功能的私用部分230可能易受寻求损坏底层的敏感信息的黑客攻击影响。例如,可以从应用包文件或者从装置上安装的应用212的版本直接地提取实现私用部分230的共享对象(.so)动态库文件。动态库文件然后可以被反汇编,以对代码进行反向工程,可能创建利用代码的弱点的恶意应用。例如,恶意应用可能部署在不令人怀疑的装置上,并且可以被执行以访问敏感数据并执行安全敏感功能,以将敏感信息发送至未授权方。
图3图解说明根据一些实施例的应用服务器370的一些部件的框图。应用服务器370可以包括处理器375,其操作耦连至存储器372和I/O接口379。存储器372可以存储代码验证模块395,并且还可以保存代码基380。应当注意,在一些实施例中,不是在存储器372内本地保存代码基380,应用服务器370可以耦连至保存这种代码基的单独的数据库。代码验证模块395可以被配置成例如通过比较从通信装置上安装的应用接收的私用部分ID与代码基380中最新发布的二进制文件的私用部分ID比较,验证安装在通信装置中的应用的私用部分是否是最新的。
代码基380可以包括与应用的私用部分的不同版本对应的一堆构建二进制文件390-1到390-n,并且可以包括已经发布的任何数目的二进制文件和等待发布的任何数目的二进制文件。与应用服务器370关联的应用提供者可以决定何时发布二进制文件的每个版本。在一些实施例中,可以周期性地执行不同版本的发布(例如,每两个星期、每个月、每季度等,或者以某时间间隔发布新版本,该时间间隔具有少于对应用的私用部分的二进制文件进行反向工程花费的估计时间量的持续时间)。
在一些实施例中,可以用不同的模糊化种子构建二进制文件390-1到390-n中的每一个,以模糊化源代码,使得即便黑客能够对一个二进制文件进行反向工程,在攻击不同的二进制文件时黑客必须再次启动反向工程过程。可以应用各种模糊化技术以模糊化源代码,使得即便由代码实现的底层功能是相同的也没有两个代码版本看上去是相同的。例如,可以用随机字符替代源代码中的变量名称,可以将空格加入到源代码中,以隐藏底层代码结构,代码部分可以被重新排列,可以引入虚代码,或者可以使用这些技术的任意组合。可以使用模糊化种子以指导用哪个随机字符代替哪个字符,其中,在源代码中在哪引入空格,代码部分如何重新排列,和/或在哪注入虚代码。还可以使用模糊化种子以指导模糊化方案的哪种组合用于特定的版本。通过对每个代码版本使用不同的模糊化种子,相同的底层源代码可以产生任何数目的不同的模糊化代码,其可以随时间发布以阻碍反向工程攻击。因此,在一些实施例中,可以使用第一模糊化种子模糊化当前安装在通信装置上的应用的私用部分的当前的版本,而可以使用与第一模糊化种子不同的第二模糊化种子模糊化私用部分的下一发布或更新的版本。这还可以阻止黑客对应用的私用部分进行反向工程。
二进制文件390-1到390-n中的每一个可以与其自己的唯一的私用部分ID 392和被绑定到二进制文件的特定版本的传输密钥393关联。私用部分ID 392和传输密钥393可以嵌入二进制文件中,并在通信装置下载二进制文件时提供至通信装置。在一些实施例中,不同的版本可以在二进制文件中的不同方位嵌入传输密钥393。类似地,不同的版本还可以在二进制文件中的不同方位嵌入私用部分ID 392。可以使用传输密钥393加密应用服务器370和安装在通信装置上的私用部分二进制文件的特定版本之间的通信。应用服务器370可以保存每个私用部分ID 392和其关联的传输密钥393之间的映射,使得应用服务器370可以在与安装在便携式通信装置上的应用通信时基于从通信装置接收的私用部分ID检索适当的传输密钥393。
图4图解说明根据一些实施例更新安装在通信装置420上的应用的可以在通信装置420和服务器402之间执行的过程的流程图。在可选的步骤401a,通信装置420可以联系服务器402以查询安装在通信装置420上的当前的应用是否是最新的。通信装置420例如可以周期性地联系服务器402。在步骤401b,服务器402将消息发送至通信装置420,通知通信装置420用于应用的私用部分的更新是可用的。在一些实施例中,步骤401b中的通知可以响应于接收步骤401a的查询发送。在一些实施例中,步骤401b中的通知可以是在更新变成可用的并准备好发布时发送的推送通知。在这些实施例中,可以在没有接收到来自通信装置420的查询的情况下发送推送通知。
在步骤404,响应于接收步骤401b中的通知,通信装置420将对更新的请求发送至服务器402。请求可以包括与安装在通信装置420上的私用部分的当前的版本关联的当前的私用部分标识符(ID)。在步骤407,服务器402基于从通信装置420接收的当前的私用部分ID确定与安装在通信装置420上的私用部分的当前的版本关联的当前的传输密钥,并使用当前的传输密钥加密私用部分的更新的版本。例如,服务器402可以查询在服务器的代码基中的接收的私用部分ID,以识别当前安装在通信装置420上的代码版本,并检索与该代码版本关联的传输密钥。在步骤410,服务器402将私用部分的加密的更新的版本传送至通信装置420。可以传送私用部分的更新的版本,不传送应用的公用部分。
在步骤413,通信装置420使用嵌入安装在通信装置420上的私用部分的当前的版本中的当前的传输密钥解密私用部分的更新的版本。在步骤416,通信装置420将私用部分的更新的版本安装在通信装置420上,不更新应用的公用部分。
在步骤419,在安装私用部分的更新的版本之后,通信装置420可以将对敏感数据的请求发送至服务器402。请求可以包括与安装在通信装置420上的私用部分的更新的版本关联的更新的私用部分标识符。在步骤422,服务器402可以基于接收的更新的私用部分标识符查询与安装在通信装置420上的私用部分的更新的版本关联的更新的传输密钥,并使用更新的传输密钥加密敏感数据。在步骤425,服务器402将加密的敏感数据传送至通信装置420。在步骤428,通信装置420使用嵌入安装在通信装置420上的应用的私用部分中的更新的传输密钥解密敏感数据。
在一些实施例中,不是用更新的传输密钥直接加密敏感数据,可以使用从传输密钥生成的一次性密钥加密敏感数据。例如,敏感数据可以在包括头部和包含敏感数据的有效载荷的消息中传送至通信装置420,敏感数据可以由服务器402使用一次性密钥加密,该一次性密钥是通过用更新的传输密钥加密头部或其一部分生成的。在这些实施例中,当通信装置420接收消息时,通信装置420可以通过用更新的传输密钥加密头部生成其自己的一次性密钥副本,然后用该一次性密钥解密敏感数据。
在一些实施例中,可以使用导出密钥加密敏感数据,导出密钥是从更新的传输密钥和密钥导出种子导出的。例如,在应用或更新的私用部分被下载到通信装置420时,服务器402可以将密钥导出种子提供至通信装置420。服务器402可以保存密钥导出种子的副本。当服务器402将敏感数据发送至通信装置420时,服务器402可以使用更新的传输密钥和密钥导出种子生成导出密钥。可以通过将密钥导出种子与密钥导出函数中的更新的传输密钥组合,生成导出密钥。例如,密钥导出函数可以是数学(例如加法、乘法等)或逻辑(例如XOR、XNOR等)运算,其取密钥导出种子和更新的传输密钥为算子,生成导出密钥。举另一示例,密钥导出函数可以是散列算法,其对作为输入数据的更新的传输密钥进行计算,密钥导出种子可以用作散列算法的混淆值(salt value)(或反之)以生成导出密钥。举又一示例,密钥导出函数可以是加密算法,其使用更新的传输密钥作为加密密钥(或反之)加密密钥导出种子以生成导出密钥。在一些实施例中,密钥导出函数可以是一个或多个数学或逻辑运算、散列算法和/或加密算法的组合。例如,密钥导出函数可以是加密算法,其被应用到将逻辑运算应用到密钥导出种子和更新的传输密钥的结果。当通信装置420接收加密的敏感数据时,通信装置420可以使用更新的传输密钥和之前从服务器402接收的密钥导出种子生成其自己的导出密钥的副本,然后用导出密钥解密敏感数据。
应当理解,有了私用部分的每个新的更新,可以使用嵌入私用部分的每个更新中的最新的传输密钥加密/解密服务器和通信装置之间的通信。以此方式,即便与私用部分的一个版本关联的传输密钥被破坏,一旦部署私用部分的新版本,则被破坏的传输密钥就不能够被使用。
还应当理解,尽管本文中提供的描述特别指更新应用的私用部分,但可以使用相同的技术更新应用的公用部分,或者可以被单独更新的应用的任何软件层(例如软件库)。
图5图解说明根据一些实施例的可以使用本文中描述的技术的示例性系统500的框图。系统500可以是例如用于执行基于云的交易的基于云的交易系统。系统500包括便携式通信装置510(例如移动装置)、基于云的交易平台(CBP)580和移动应用平台(MAP)570。可以使用一个或多个计算装置(例如计算机、服务器)实现CBP 580,并且CBP 580可以与发行方、交易处理器和/或其它适当的实体关联或由上述这些操作。CBP 580实现一组功能,包括账户管理以及账户参数生成和补充,以使得能够经由便携式通信装置510执行基于云的交易。使用MAP 570来促进在CBP 580和便携式通信装置510中的移动应用514(例如交易应用)之间的通信。可以使用一个或多个计算装置(例如计算机、服务器)实现MAP 570,并且可以将MAP 570与移动应用514(例如移动软件应用)的服务提供者,诸如发行方、移动钱包提供者、商家和/或其它适当实体关联或由上述这些操作。在一些实施例中,MAP 570可以与和CBP 580相同的实体关联,或由其操作,或者他们可以是分开的。使用MAP 570在移动应用514和CBP 580之间调解请求,并确保一旦经由例如通信网络582(例如互联网、移动或蜂窝网络等)建立与便携式通信装置510的连接,则实现由任一方发起的请求和响应。应当理解,在一些实施例中,CBP 580、MAP 570和/或发行方或主机处理系统572的一个或多个功能可以集成到同一计算装置或不同的计算装置中。
可以使用便携式通信装置510执行由CBP 580和/或MAP 570促进的基于云的交易。便携式通信装置510包括装置硬件532、移动操作系统(OS)522和应用环境512。装置硬件532包括非接触接口534,其能够将信息非接触地通信或者以其他方式呈现至另一装置,诸如访问装置560的非接触阅读器562。非接触接口534的示例可以包括近场通信(NFC)接口,其能够使用射频或其它无线通信协议(诸如蓝牙、蓝牙低能量(BLE)、Wi-Fi等)发送并接收通信。非接触接口534的示例还可以包括光学接口,诸如呈现信息(诸如快速响应(QR)代码、条形码等)的显示器。
便携式通信装置510的应用环境512可以包括移动应用514,诸如由服务提供者提供的交易应用。例如,如果移动应用514的服务提供者是发行方,则实现交易应用的移动应用514可以是移动银行应用或移动支付应用。如果服务提供者是移动钱包提供者,诸如支持多个发行方的移动网络运营商或第三方钱包提供者,则实现交易应用的移动应用514可以是移动钱包应用。对于商家,移动应用514可以是消费者可以从其执行电子商务或销售点交易的商家自己的交易应用,或者是支持多个商家的移动钱包应用。
在一些实施例中,移动应用514可以包括集成到移动应用514中的装置上基于云的交易逻辑,以支持基于云的交易。装置上基于云的交易逻辑执行促进基于云的交易的功能,诸如获取提供用在交易中的账户参数,并将账户参数传送至移动操作系统522以通过非接触接口534传送。例如,装置上基于云的交易逻辑可以使用从CBP 580储备的密码密钥(例如限制使用密钥)生成交易密码,交易密码通过非接触接口传送至访问装置560以执行交易。交易密码可以通过交易处理网络584发送以获得对交易的授权。装置上基于云的交易逻辑还管理在已经储备账户之后提供的初始服务资料参数,以确保发起对账户参数补充的请求和其它账户参数管理活动。
为了对于基于云的交易储备便携式通信装置510,可以使用CBP 580配置与发行方关联的账户组合,并给便携式通信装置510提供账户参数以在执行基于云的交易时使用。由CBP 580建立的账户组合可以包括诸如风险参数(例如速度控制)的特性,其管理被储备的装置上的账户参数何时需要对于每个组合中的账户被刷新的触发器。为了确保一致的性能和可用性,可以由CBP 580实现服务资料中可配置的一组最小参数。为了确保根据用于账户组合的服务资料中指定的规则处理基于云的交易,CBP 580在已经被启用的账户的生命周期中执行各种核心功能。这些功能可以包括储备、有效账户管理、针对交易的验证、交易处理、生命周期管理和交易后。
CBP 580可以在账户作为基于云的账户被储备之前为组合创建服务资料。储备可以包括获取注册账户,创建账户信息,诸如替代性主账号(PAN)或充当PAN替代的令牌,并且继承已经为组合建立的服务资料。一旦账户被储备,相关服务资料细节与交易处理和装置上基于云的交易逻辑共享,以便确保在交易处理时并且在由消费者的移动应用使用期间可以完成决策制定。
一旦账户被储备,可以由CBP 580执行有效账户管理。可以从交易处理活动或者从移动应用活动发起有效账户管理。在账户已经被储备之后,有效账户管理能力生成要部署到便携式通信装置510的账户参数的初始集合。账户参数可以包括在储备期间生成的账户信息(例如替代性PAN或令牌)以及动态信息以确保账户参数的集合一旦传送至装置,则只有有限的使用。动态信息可以包括限制使用密码密钥或取决于支持哪种类型的交易的动态数据。例如,动态信息可以包括计算密码的限制使用密码密钥,以及支持遗产动态卡验证值或基于代码的实现的限制使用动态数据。
在交易处理期间,如果由CBP 580保存的特定账户的服务资料参数指示需要代替便携式通信装置510上的账户参数,则CBP 580的有效账户管理能力可以经由MAP 570连接至便携式通信装置510以补充账户参数。同样,如果存储在便携式通信装置510上的装置上服务资料参数指示需要或将需要(即通过监测账户参数阈值)账户参数补充,则移动应用514可以对CBP 580做出对账户参数补充的请求。
一旦便携式通信装置510已经被储备以执行基于云的交易,可以经由便携式通信装置510通过与访问装置560(例如在商家方位处)的非接触阅读器562交互执行交易。访问装置560的部件可以包括销售点(POS)终端564和/或电子出纳机566。访问装置560可以耦连至收单方574(例如经由商家计算机,未显示)。收单方574可以经由交易处理网络584连接至发行方或主机处理系统572。交易处理网络584可以包括一个或多个服务器计算机。服务器计算机通常是功能强大的计算机或计算机集群。例如,服务器计算机可以是大的主机、小型计算机集群或像一个单元一样工作的一组服务器。在一个示例中,服务器计算机可以是耦连至网络服务器的数据库服务器。交易处理网络584可以使用任何适当的有线或无线网络,包括互联网。
交易处理网络584可以包括数据处理子系统、网络和用来支持和传送授权服务、异常文件服务、交易评分服务以及清算和结算服务的操作。示例性交易处理网络可以包括VisaNetTM。诸如VisaNetTM之类的交易处理网络能够处理信用卡交易、借记卡交易和其它类型的商业交易。VisaNetTM具体包括处理授权请求的VIP系统(Visa集成支付系统)以及执行清算和结算服务的Base II系统。
每个实体(例如收单方574、交易处理网络584、发行方或主机处理系统572)可以包括一个或多个计算机或服务器以实现通信,或者执行本文中描述的一个或多个功能。
为了执行基于云的交易,便携式通信装置510的用户可以对着访问装置560的非接触阅读器562(例如经由NFC)轻点便携式通信装置510,或者在便携式通信装置510的屏幕上显示能够由访问装置560的非接触阅读器562(例如光学扫描器或阅读器)扫描的图像,诸如条形码或QR代码。在一些实施例中,便携式通信装置510可以给访问装置560提供账户标识符(例如替代性PAN、令牌等)和附加信息,诸如限制使用账户参数或从限制使用账户参数导出的信息。例如,可以将账户标识符和/或附加信息(例如交易密码)编码在由访问装置560扫描的条形码或QR代码中,或者账户标识符和/或附加信息可以经由NFC传送至访问装置560。在一些实施例中,限制使用账户参数可以包括交易密码。
访问装置560或耦连至访问装置560的商家计算机可以生成包括账户标识符和附加信息(例如限制使用账户参数或从限制使用账户参数导出的信息)的授权请求消息,并将授权请求消息转发至收单方574。授权请求消息然后发送至交易处理网络584。交易处理网络584然后将授权请求消息转发至相应的发行方或与便携式通信装置510关联的账户的发行方所关联的主机处理系统572。
在发行方或主机处理系统572接收授权请求消息之后,授权请求消息可以被解析,授权请求消息中的信息可以被发送至CBP 580以用于验证。授权响应消息然后被发送回交易处理网络584以指示是否授权(或不授权)当前交易。交易处理网络584然后将授权响应消息转发回收单方574。在一些实施例中,即便发行方或主机处理系统572已经授权交易,交易处理网络584例如取决于欺诈风险分数的值或取决于CBP 580是否验证限制使用账户参数,可以拒绝交易。收单方574然后将授权响应消息发送至商家计算机和/或访问装置560。授权响应结果可以由访问装置560显示,或者可以在物理收条上打印出来。替代性地,如果交易是在线交易,则商家可以提供网页或授权响应消息的其它指示,作为虚拟收条。收条可以包括用于交易的交易数据。
在一天结束时,可以由交易处理网络584执行常规的结算和清算过程。清算过程是在收单方和发行方之间交换金融细节以促进发布到客户的交易账户以及用户的结算位置的对账的过程。
图6图解说明根据一些实施例的便携式通信装置601的框图。便携式通信装置601可以包括耦连至存储器602的装置硬件604。装置硬件604可以包括处理器605、通信子系统609、用户接口606、显示器607(其可以是用户接口606的一部分)以及非接触接口608。可以以一个或多个集成电路(例如一个或多个单核或多核微处理器和/或微控制器)实现处理器605,并使用处理器605控制便携式通信装置601的操作。处理器605可以响应于存储在存储器602中的程序代码或计算机可读代码执行各种程序,并且可以维持多个同时执行的程序或过程。通信子系统609可以包括一个或多个RF收发器和/或连接器,便携式通信装置601可以使用一个或多个RF收发器和/或连接器与其它装置通信和/或与外部网络(例如通信网络182)连接。用户接口606可以包括输入和输出元件的任何组合,以允许用户与便携式通信装置601的功能交互并调用这些功能。在一些实施例中,显示器607可以是用户接口606的一部分。
非接触接口608可以包括与访问装置的非接触阅读器交互以执行交易(例如支付交易、访问交易、信息交换等)的一个或多个RF收发器。在基于安全元件的实施方式中,只有安全元件(未显示)可以具有对非接触接口608的访问。在一些实施例中,非接触接口608可以由移动OS 614使用卡模拟API 616访问,不要求使用安全元件。在一些实施例中,显示器607还可以是非接触接口608的一部分,并用来例如使用QR代码、条形码等执行交易。
可以使用任何数量的非易失性存储器(例如闪存)和易失性存储器(例如DRAM、SRAM)的任何组合或任何其它非瞬态存储介质或之前介质的组合实现存储器602。存储器602可以存储移动OS 614和移动应用环境610,一个或多个移动应用驻存在此环境中,包括由处理器605执行的移动应用612(例如支付应用,诸如移动钱包应用、商家应用等)。在一些实施例中,移动OS 614可以实现一组卡模拟API 616,其能够由移动应用612调用以访问非接触接口608来与访问装置交互。
根据一些实施例,移动应用612可以被分割成频繁更新的私用部分630(例如本地或私用库)和相对私用部分不那么频繁更新或根本不更新的公用部分620(例如提供公用API的软件开发套件(SDK))。公用部分620可以包括一组公用API,其用来实现非安全敏感功能,诸如用户接口功能以及可以调用在私用部分630中实现的安全敏感功能的功能。可以用高级编程语言,诸如Java编写公用部分620。私用部分630可以包括实现安全敏感功能诸如令牌请求634、账户参数补充636等的本地库。可以用低级编程语言(诸如C或C++)编写私用部分630。私用部分630的源代码可以被模糊化以掩盖在私用部分630中实现的源代码和底层功能。
在一些实施例中,可以用移动应用612的私用部分630执行移动应用612和移动应用服务器之间的安全敏感通信(例如以获得软件更新、请求令牌、请求账户参数补充等)。为了进一步提高移动应用612的安全性,移动应用612的私用部分630可以包括绑定到私用部分630的特定版本的唯一的私用部分ID 632和与私用部分ID 632关联的传输密钥633。私用部分ID 632和传输密钥633可以嵌入私用部分630的二进制代码中。无论何时移动应用612与移动应用服务器通信时(例如以从移动应用服务器请求敏感信息,诸如令牌或账户参数),移动应用可以将私用部分ID 632从私用部分630发送至移动应用服务器以用于验证。私用部分ID 632可以由移动应用服务器验证,可以使用与私用部分ID 632关联的传输密钥633加密移动应用612和移动应用服务器之间的通信。
可以实现使用传输密钥633的各种类型的加密。在一些实施例中,可以由传输密钥633本身加密移动应用612和移动应用服务器之间的通信。在一些实施例中,在每个通信会话开始时,可以通过使用传输密钥633加密消息的第一字节(例如可以是消息的头部的一部分)生成一次性密钥,可以通过此一次性密钥加密消息的数据部分。在一些实施例中,密钥导出种子可以与传输密钥633组合,以生成导出密钥,可以由此生成的导出密钥加密通信。
图7图解说明根据一些实施例用于在交易背景中更新安装在便携式通信装置720上的移动应用的过程的流程图。在可选的步骤701a,便携式通信装置720联系服务器702以验证安装在便携式通信装置720上的当前的移动应用是否是最新的。便携式通信装置720可以例如周期性地联系服务器702。在步骤701b,服务器702将通知消息发送至便携式通信装置720,通知便携式通信装置720用于移动应用的本地库的更新是可用的。在一些实施例中,通知消息可以是当新的更新可用于下载时服务器702发送的推送通知。
在步骤704,便携式通信装置720将对更新的请求发送至服务器702。请求包括与安装在便携式通信装置720上的本地库的当前的版本关联的当前的私用部分标识符。在步骤707,服务器702基于当前的私用部分标识符确定与安装在便携式通信装置720上的本地库的当前的版本关联的当前的传输密钥,并使用当前的传输密钥加密本地库的更新的版本。在步骤710,服务器702将本地库的加密的更新的版本传送至便携式通信装置720,不传送对移动应用的SDK的更新。
在步骤713,便携式通信装置720使用嵌入安装在便携式通信装置720上的本地库的当前的版本中的当前的传输密钥解密本地库的更新的版本。在步骤716,便携式通信装置720在便携式通信装置720上安装本地库的更新的版本,不更新移动应用的SDK。
在步骤719,在安装本地库的更新的版本之后,便携式通信装置720可以将对令牌或限制使用密钥(LUK)的请求发送至服务器702。令牌和LUK由移动应用使用来执行交易。例如,令牌可以被用作账户标识符的替代,LUK可以用来加密从访问装置接收的交易数据,以生成交易密码。在一些实施例中,LUK只可以用于有限次的交易或者有限的时间量,一旦LUK到期或者即将到期,便携式通信装置720可以将补充LUK的请求发送至服务器702。可以在移动应用的储备期间或者当期望续订令牌时发送对令牌的请求。在步骤719的请求可以包括与本地库的更新的版本关联的更新的本地库标识符。在步骤722,服务器702使用嵌入本地库的更新的版本中的更新的传输密钥加密令牌或LUK。在步骤725,服务器702将加密的令牌或LUK数据传送至便携式通信装置720。在步骤728,便携式通信装置720使用更新的传输密钥解密令牌或LUK,并存储请求的令牌或LUK以在未来的交易中使用。
在一些实施例中,代替使用传输密钥直接地加密/解密令牌或LUK,可以代替使用如本文中描述的从传输密钥生成的一次性密钥或导出密钥。
在一些实施例中,可以使用将传输密钥与一件软件(例如软件库)绑定的构思来促进对生产前(pre-production)软件的测试。图8图解说明根据一些实施例的软件环境的框图。软件环境可以包括:基于云的交易平台876,其促进针对便携式通信装置的基于云的交易服务;以及与基于云的交易平台876关联的发行方或移动应用平台872。软件环境还可以包括非生产基于云的交易平台875(例如开发沙盒),其用于执行移动应用的生产前软件测试。
可以以Java库812实现生产前软件,Java库812被部署到选择数目的便携式通信装置,以用于测试目的。在一些实施例中,Java库812可能缺少二进制保护,允许调试Java库812。Java库812可以包括非生产传输密钥813,其用来加密Java库812和非生产基于云的交易平台875之间的通信,非生产基于云的交易平台875具有其自己的非生产传输密钥873。
当Java库812准备好生产时,可以部署实现与Java库812相同功能的生产本地库822。生产本地库822可以包括非生产传输密钥823以及用来加密与生产基于云的交易平台876的通信的生产传输密钥824。本地库822的二进制文件可以被完全保护,可以不允许本地库822的调试。在一些实施例中,发行方还可以保存具有与本地库822相同功能和特权的发行方库832。
在这种软件环境中,包含恶意代码的被破坏库842可能没有任何传输密钥(生产或非生产),因此被破坏库842不能够解密从发行方、移动应用平台或基于云的交易平台接收的加密信息。
图9图解说明根据一些实施例用于更新安装在通信装置上的应用的过程900的流程图。在一些实施例中,应用被分割成公用部分和私用部分。在块902,过程900确定对安装在计算装置(例如便携式通信装置)上的应用(例如移动应用)的私用部分的更新是可用的。这例如可以通过以下实现:由通信装置周期性地联系服务器(例如移动应用服务器)以验证安装在通信装置上的应用是否是最新的或者由服务器将通知消息推送至通信装置以通知应用的私用部分的新版本是可用的。
在块904,通信装置可以将应用更新请求发送至驻存应用更新的服务器。应用更新请求可以包括与当前安装在通信装置上的应用的私用部分关联的私用部分标识符。私用部分标识符可以由服务器使用以在将任何更新发送至通信装置之前,验证有效的应用目前安装在计算装置上。私用部分标识符还可以与传输密钥关联,服务器可以使用传输密钥加密发送至通信装置的信息。如果通信装置被恶意代码破坏,则恶意代码不可能具有有效的私用部分标识符或者具有对有效的传输密钥的访问以解密从服务器发送的信息。
在块906,通信装置从服务器接收应用的更新的私用部分。可以由服务器使用与私用部分标识符关联的传输密钥加密更新的私用部分。在块908,通信装置可以使用当前在通信装置处安装的应用的私用部分的传输密钥解密接收的应用的更新的私用部分。在一些实施例中,更新的私用部分可以在服务器处由传输密钥本身加密,通信装置可以使用其自己的传输密钥解密更新的私用部分。在一些实施例中,来自服务器的消息的头部可以由传输密钥加密以生成一次性密钥,可以由此一次性密钥加密应用的更新的私用部分。在一些实施例中,服务器可以将密钥导出种子与传输密钥组合生成导出密钥,应用的更新的私用部分可以由此生成的导出密钥加密。密钥导出种子可以与通信装置共享以允许通信装置生成其自己的导出密钥来解密接收的应用的更新的私用部分。
在块910,在通信装置已经适当地解密接收的更新的私用部分之后,通信装置可以将更新的私用部分安装到通信装置上。可以执行此安装,不更新应用的公用部分,因此,不必下载并更新整个应用,应用可以被更新。
在一些实施例中,当通信装置与服务器经由应用通信时,可以使用嵌入当前安装在通信装置上的应用的私用部分中的最新的传输密钥加密通信(例如以交换敏感数据,诸如令牌或LUK)。在更新私用部分时,传输密钥也可以被更新。以此方式,一旦对私用部分的新的更新发布,则被破坏的传输密钥会变成无用的。
应当注意,尽管参照更新应用的私用部分描述了本文中描述的技术,但也可以使用本文中描述的技术更新应用的任何部分(例如本地库、Java库等),不必更新整个应用。
可以使用耦连至存储代码或指令的存储器的一个或多个处理器实现本文中描述的计算装置、通信装置、计算机、服务器等中的任何,代码或指令在由一个或多个处理器执行时使装置执行本文中描述的一个或多个方法和过程。用于包含本文中描述的代码或代码部分的存储器、存储介质和计算机可读介质可以包括本领域已知或使用的任何适当的介质,包括存储介质和通信介质,诸如但不限于以用于存储和/或传输信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术实现的易失性和非易失性,可移动和不可移动介质,包括RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字通用盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁存储装置、数据信号、数据传输或可以用来存储或传送期望信息并且可以由计算机访问的任何其它介质。基于本公开和本文中提供的教导,本领域普通技术人员会认识到实现各个实施例的其它方式和/或方法。
本发明的实施例不局限于上述的实施例。例如,尽管针对发行方、交易处理网络和收单方示出了分开的功能块,但一些实体可以执行这些功能的组合或全部,并且可以包括在一些实施例中。
上面提供了关于上述的方面中的一些的特定细节。在不偏离本发明的实施例的精神和范围下可以以任何适当的方式组合特定方面的特定细节。例如,在本发明的一些实施例中,可以组合后端处理、数据分析、数据采集和其它交易全部。不过,本发明的其它实施例可以涉及关于每个个别方面的特定实施例或者这些个别方面的特定组合。
本文中描述的方法和过程本质上是示例性的,根据一些实施例的方法和过程可以以与本文中描述的次序不同的次序执行一个或多个步骤,包括没有明确描述的一个或多个附加步骤,省略一个或多个步骤,将一个或多个步骤组合成单个步骤,将一个或多个步骤分割成多个步骤,和/或其任意组合。
应当理解,可以以控制逻辑的形式使用计算机软件(存储在有形物理介质中的)以模块化或集成方式实现如上文描述的本发明。基于本公开和本文中提供的教导,本领域普通技术人员会知道并认识到使用硬件以及硬件和软件的组合实现本发明的其它方式和/或方法。
本申请中描述的任何软件组件或功能可以实现为使用任何适当计算机语言(比方说例如Java、C++或Perl),使用例如传统的或面向对象的技术由处理器执行的软件代码。软件代码可以存储为计算机可读介质上的一系列指令或命令,计算机可读介质诸如随机存取存储器(RAM)、只读存储器(ROM)、磁介质(诸如硬盘或软盘)或光介质(诸如CD-ROM)。任何这种计算机可读介质可以驻存在单个计算设备上或驻存在单个计算设备内,可以位于系统或网络内的不同计算设备上或不同计算设备内。
上文的描述是示意性的不是限制性的。在查看本公开后本领域技术人员会明白本发明的许多变形。因此,本发明的范围不应当参照上文的描述确定,而是应当参照未决的权利要求连同其全部范围或等同物确定。
在不偏离本发明的范围下,来自任何实施例的一个或多个特征可以与其它任何实施例的一个或多个特征组合。
除非明确指示有相反的意思,“一(a)”、“一(an)”、“所述/该(the)”的叙述旨在表示“一个或多个”。
上文提到的所有专利、专利申请、公开和描述出于所有目的通过引用被全部并入本文中。不承认他们为现有技术。

Claims (17)

1.一种便携式通信装置,包括:
处理器;以及
耦连至所述处理器的存储器,所述存储器存储指令,所述指令在由所述处理器执行时,使所述便携式通信装置执行操作,包括:
确定用于安装在所述便携式通信装置上的移动应用的私用部分的更新在服务器处是可用的;
将对所述更新的请求发送至所述服务器,所述请求包括与安装在所述便携式通信装置上的所述私用部分的当前的版本关联的当前的私用部分标识符;
从所述服务器接收所述私用部分的更新的版本,所述更新的版本是使用嵌入安装在所述便携式通信装置上的所述私用部分的当前的版本中的当前的传输密钥加密的;
使用嵌入安装在所述便携式通信装置上的所述私用部分的当前的版本中的当前的传输密钥解密所述私用部分的更新的版本;
安装所述私用部分的更新的版本,不更新所述移动应用的公用部分;以及
在安装所述更新的私用部分之后:
将对敏感数据的请求发送至所述服务器,所述请求包括与所述私用部分的更新的版本关联的更新的私用部分标识符;
接收使用嵌入所述私用部分的更新的版本中的更新的传输密钥加密的所述敏感数据;以及
使用所述更新的传输密钥解密所述敏感数据。
2.根据权利要求1所述的便携式通信装置,其中,在包括头部和有效载荷的消息中接收所述敏感数据,所述有效载荷包含所述敏感数据,并且其中,使用所述更新的传输密钥解密所述敏感数据的操作包括:
通过用所述更新的传输密钥加密所述头部,生成一次性密钥;以及
用所述一次性密钥解密所述敏感数据。
3.根据权利要求1所述的便携式通信装置,其中,使用所述更新的传输密钥解密所述敏感数据的操作包括:
使用所述更新的传输密钥和从所述服务器接收的密钥导出种子生成导出密钥;以及
用所述导出密钥解密所述敏感数据。
4.根据权利要求1所述的便携式通信装置,其中,确定用于所述私用部分的更新在所述服务器处是可用的操作包括:
联系所述服务器以验证所述移动应用是否是最新的。
5.根据权利要求1所述的便携式通信装置,其中,确定用于所述私用部分的更新在所述服务器处是可用的操作包括:
接收通知用于所述私用部分的更新是可用的消息。
6.根据权利要求1所述的便携式通信装置,其中,使用第一模糊化种子模糊化所述私用部分的当前的版本,并且使用与所述第一模糊化种子不同的第二模糊化种子模糊化所述私用部分的更新的版本。
7.根据权利要求1所述的便携式通信装置,其中,用第一编程语言编写所述公用部分,并且用与所述第一编程语言不同的第二编程语言编写所述私用部分。
8.一种用于更新安装在便携式通信装置上的移动应用的方法,其中,所述移动应用包括公用部分和私用部分,所述方法包括:
由所述移动应用确定用于所述私用部分的更新在服务器处是可用的;
将对所述更新的请求发送至所述服务器,所述请求包括与安装在所述便携式通信装置上的所述私用部分的当前的版本关联的当前的私用部分标识符;
从所述服务器接收所述私用部分的更新的版本,所述更新的版本是使用嵌入安装在所述便携式通信装置上的所述私用部分的当前的版本中的当前的传输密钥加密的;
使用嵌入安装在所述便携式通信装置上的所述私用部分的当前的版本中的当前的传输密钥解密所述私用部分的更新的版本;
在所述便携式通信装置上安装所述私用部分的更新的版本,不更新所述公用部分;以及
在安装所述私用部分的更新的版本之后:
将对敏感数据的请求发送至所述服务器,所述请求包括与所述私用部分的更新的版本关联的更新的私用部分标识符;
接收使用嵌入所述私用部分的更新的版本中的更新的传输密钥加密的所述敏感数据;以及
使用所述更新的传输密钥解密所述敏感数据。
9.根据权利要求8所述的方法,其中,在包括头部和有效载荷的消息中接收所述敏感数据,所述有效载荷包含所述敏感数据,并且,使用所述更新的传输密钥解密所述敏感数据包括:
通过用所述更新的传输密钥加密所述头部,生成一次性密钥;以及
用所述一次性密钥解密所述敏感数据。
10.根据权利要求8所述的方法,其中,使用所述更新的传输密钥解密所述敏感数据包括:
使用所述更新的传输密钥和从所述服务器接收的密钥导出种子生成导出密钥;以及
用所述导出密钥解密所述敏感数据。
11.根据权利要求8所述的方法,其中,由所述移动应用确定用于所述私用部分的更新在服务器处是可用的包括:
由所述移动应用联系所述服务器以验证所述移动应用是否是最新的。
12.根据权利要求8所述的方法,其中,由所述移动应用确定用于所述私用部分的更新在所述服务器处是可用的包括:
由所述移动应用接收通知用于所述私用部分的更新是可用的消息。
13.根据权利要求8所述的方法,其中,使用第一模糊化种子模糊化所述私用部分的当前的版本,并且使用与所述第一模糊化种子不同的第二模糊化种子模糊化所述私用部分的更新的版本。
14.根据权利要求8所述的方法,其中,用第一编程语言编写所述公用部分,并且用与所述第一编程语言不同的第二编程语言编写所述私用部分。
15.一种用于提供对安装在便携式通信装置上的移动应用的更新的服务器,其中,所述移动应用包括公用部分和私用部分,所述服务器包括:
处理器;以及
耦连至所述处理器的存储器,所述存储器存储指令,所述指令在由所述处理器执行时,使所述服务器执行操作,包括:
从所述便携式通信装置接收对所述移动应用的私用部分的更新的请求,所述请求包括与安装在所述便携式通信装置上的所述私用部分的当前的版本关联的当前的私用部分标识符;
基于所述当前的私用部分标识符,确定与安装在所述便携式通信装置上的所述私用部分的当前的版本关联的当前的传输密钥;
使用所述当前的传输密钥加密所述私用部分的更新的版本;
将所述私用部分的加密的更新的版本传送至所述便携式通信装置,不传送对所述移动应用的公用部分的更新;以及
在传送所述私用部分的更新的版本之后:
从所述便携式通信装置接收对敏感数据的请求,所述请求包括与所述私用部分的更新的版本关联的更新的私用部分标识符;
使用嵌入所述私用部分的更新的版本中的更新的传输密钥加密所述敏感数据;以及
将加密的所述敏感数据传送至所述便携式通信装置。
16.根据权利要求15所述的服务器,其中,在包括头部和有效载荷的消息中传送所述敏感数据,所述有效载荷包含所述敏感数据,并且,使用所述更新的传输密钥加密所述敏感数据的操作包括:
通过用所述更新的传输密钥加密所述头部,生成一次性密钥;以及
用所述一次性密钥加密所述敏感数据。
17.根据权利要求15所述的服务器,其中,使用所述更新的传输密钥加密所述敏感数据的操作包括:
使用所述更新的传输密钥和种子生成导出密钥;以及
用所述导出密钥加密所述敏感数据。
CN201580071469.7A 2014-12-29 2015-12-29 应用库的无线储备 Active CN107111500B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462097234P 2014-12-29 2014-12-29
US62/097,234 2014-12-29
PCT/US2015/067880 WO2016109547A1 (en) 2014-12-29 2015-12-29 Over-the-air provisioning of application library

Publications (2)

Publication Number Publication Date
CN107111500A CN107111500A (zh) 2017-08-29
CN107111500B true CN107111500B (zh) 2020-10-16

Family

ID=56164257

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580071469.7A Active CN107111500B (zh) 2014-12-29 2015-12-29 应用库的无线储备

Country Status (8)

Country Link
US (3) US9753719B2 (zh)
EP (2) EP3576436B1 (zh)
CN (1) CN107111500B (zh)
AU (1) AU2015374202B2 (zh)
BR (1) BR112017011524A2 (zh)
CA (1) CA2967471A1 (zh)
SG (2) SG11201703525SA (zh)
WO (1) WO2016109547A1 (zh)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10970688B2 (en) 2012-03-07 2021-04-06 Early Warning Services, Llc System and method for transferring funds
US20130238488A1 (en) 2012-03-07 2013-09-12 Clearxchange, Llc System and method for transferring funds
US11593800B2 (en) 2012-03-07 2023-02-28 Early Warning Services, Llc System and method for transferring funds
US10395247B2 (en) 2012-03-07 2019-08-27 Early Warning Services, Llc Systems and methods for facilitating a secure transaction at a non-financial institution system
US10395223B2 (en) 2012-03-07 2019-08-27 Early Warning Services, Llc System and method for transferring funds
AU2015374202B2 (en) * 2014-12-29 2019-02-14 Visa International Service Association Over-the-air provisioning of application library
US11176267B2 (en) * 2015-02-24 2021-11-16 International Business Machines Corporation Fine-grained user control over usages of sensitive system resources having private data with applications in privacy enforcement
US10248403B2 (en) * 2015-03-13 2019-04-02 Kony, Inc. Providing updates for natively rendered mobile applications
US10839359B2 (en) 2015-03-23 2020-11-17 Early Warning Services, Llc Payment real-time funds availability
US10769606B2 (en) 2015-03-23 2020-09-08 Early Warning Services, Llc Payment real-time funds availability
US10748127B2 (en) 2015-03-23 2020-08-18 Early Warning Services, Llc Payment real-time funds availability
US10832246B2 (en) 2015-03-23 2020-11-10 Early Warning Services, Llc Payment real-time funds availability
US10878387B2 (en) 2015-03-23 2020-12-29 Early Warning Services, Llc Real-time determination of funds availability for checks and ACH items
US10553111B2 (en) * 2015-05-29 2020-02-04 Huawei Technologies Co., Ltd. Traffic information update method and apparatus
US10963856B2 (en) 2015-07-21 2021-03-30 Early Warning Services, Llc Secure real-time transactions
US10438175B2 (en) 2015-07-21 2019-10-08 Early Warning Services, Llc Secure real-time payment transactions
US11151523B2 (en) 2015-07-21 2021-10-19 Early Warning Services, Llc Secure transactions with offline device
US11157884B2 (en) 2015-07-21 2021-10-26 Early Warning Services, Llc Secure transactions with offline device
US11386410B2 (en) 2015-07-21 2022-07-12 Early Warning Services, Llc Secure transactions with offline device
US11037122B2 (en) 2015-07-21 2021-06-15 Early Warning Services, Llc Secure real-time transactions
US11151522B2 (en) 2015-07-21 2021-10-19 Early Warning Services, Llc Secure transactions with offline device
US10956888B2 (en) 2015-07-21 2021-03-23 Early Warning Services, Llc Secure real-time transactions
US10970695B2 (en) 2015-07-21 2021-04-06 Early Warning Services, Llc Secure real-time transactions
US11037121B2 (en) 2015-07-21 2021-06-15 Early Warning Services, Llc Secure real-time transactions
US11062290B2 (en) 2015-07-21 2021-07-13 Early Warning Services, Llc Secure real-time transactions
US10698794B1 (en) * 2015-12-15 2020-06-30 EMC IP Holding Company LLC Application container and application service system
US9830149B2 (en) * 2016-01-14 2017-11-28 International Business Machines Corporation Automatic extraction of sensitive code fragments to be executed in a sandbox
US10776876B1 (en) 2016-04-13 2020-09-15 Wells Fargo Bank, N.A. Virtual wallet insurance
EP3482337B1 (en) 2016-07-11 2021-09-29 Visa International Service Association Encryption key exchange process using access device
CN108304158B (zh) * 2016-08-24 2021-12-10 北京顶象技术有限公司 一种动态库的代理方法及设备
WO2018050216A1 (en) * 2016-09-14 2018-03-22 U-Blox Ag Software update system, firmware over the air updating system and method of updating a client device
US11144928B2 (en) * 2016-09-19 2021-10-12 Early Warning Services, Llc Authentication and fraud prevention in provisioning a mobile wallet
US10873628B2 (en) * 2017-06-13 2020-12-22 Oracle International Corporation System and method for non-intrusive context correlation across cloud services
US10360010B1 (en) * 2017-07-21 2019-07-23 Jpmorgan Chase Bank, N.A. Method and system for implementing an ATM management and software policy tool
US10671758B2 (en) * 2017-08-30 2020-06-02 Micro Focus Llc Redacting core dumps by identifying modifiable parameters
CN107682538A (zh) * 2017-09-27 2018-02-09 北京小米移动软件有限公司 应用界面的显示方法及装置
TWI649694B (zh) * 2017-10-30 2019-02-01 國立臺灣大學 一種安卓動態框架及其方法
US11227041B2 (en) * 2018-08-24 2022-01-18 Baskaran Dharmarajan Identification service based authorization
US11556326B2 (en) * 2018-09-06 2023-01-17 Arm Limited Methods for performing a rollback-capable software update at a device
US10372440B1 (en) * 2018-11-09 2019-08-06 Capital One Services, Llc Tokenized mobile device update systems and methods
US10671375B1 (en) * 2018-11-09 2020-06-02 Capital One Services, Llc Tokenized mobile device update systems and methods
CN111435328B (zh) * 2019-01-14 2023-05-05 阿里巴巴集团控股有限公司 应用测试方法、装置、电子设备及可读存储介质
KR20200119601A (ko) * 2019-04-10 2020-10-20 현대모비스 주식회사 차량의 바이너리 데이터 처리 장치 및 방법
US11226983B2 (en) * 2019-06-18 2022-01-18 Microsoft Technology Licensing, Llc Sub-scope synchronization
US11366879B2 (en) * 2019-07-08 2022-06-21 Microsoft Technology Licensing, Llc Server-side audio rendering licensing
US11537381B2 (en) * 2019-07-15 2022-12-27 International Business Machines Corporation Quantum software developer kit and framework
US12056243B2 (en) 2019-08-27 2024-08-06 Comcast Cable Communications, Llc Methods and systems for verifying applications
US11238147B2 (en) * 2019-08-27 2022-02-01 Comcast Cable Communications, Llc Methods and systems for verifying applications
US11520572B2 (en) * 2019-09-13 2022-12-06 Oracle International Corporation Application of scheduled patches
WO2021102023A1 (en) * 2019-11-19 2021-05-27 Arris Enterprises Llc Transmission of secure information in a content distribution network
JP7433950B2 (ja) * 2020-02-07 2024-02-20 キヤノン株式会社 通信装置、アプリケーションプログラム、通信装置の制御方法、提供方法、およびサーバ
US11093236B1 (en) * 2020-03-26 2021-08-17 Atlassian Pty Ltd. Systems and methods for delivering updates to client devices
EP3913509A1 (en) * 2020-05-22 2021-11-24 Thales Dis France Sa Method to secure computer code
US12028345B2 (en) 2021-05-19 2024-07-02 Bank Of America Corporation Information security system and method for identifying trusted machines for machine-to-machine (M2M) security and validation
CN113434165A (zh) * 2021-06-02 2021-09-24 武汉天喻信息产业股份有限公司 一种嵌入式操作系统的补丁更新方法及系统
TWI774412B (zh) * 2021-06-08 2022-08-11 玉山商業銀行股份有限公司 切換系統中服務版本的方法、服務切換閘道與服務系統
CN115865662A (zh) * 2022-11-17 2023-03-28 四川启睿克科技有限公司 基于轻应用构架的智慧工厂app更新方法
CN117786622B (zh) * 2023-12-27 2024-06-18 江南大学 一种基于云智能合约编译的代码产权管理系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1346570A (zh) * 1999-02-04 2002-04-24 卡纳尔股份有限公司 用于已加密的传输的方法与设备
CN102163153A (zh) * 2010-02-12 2011-08-24 三星电子株式会社 用户终端、服务器及其控制方法
US20140351584A1 (en) * 2011-08-12 2014-11-27 Power-One Italy S.P.A. Method and system for protected transmission of files

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7185332B1 (en) 1998-03-25 2007-02-27 Symantec Corporation Multi-tiered incremental software updating
US7140012B2 (en) 2001-03-09 2006-11-21 Bea Systems, Inc. Method and apparatus for multi-version updates of application services
JP2004054834A (ja) * 2002-07-24 2004-02-19 Matsushita Electric Ind Co Ltd プログラム開発方法、プログラム開発支援装置およびプログラム実装方法
US7904706B2 (en) * 2004-12-01 2011-03-08 Innovation First, Inc. System and method for processing encrypted source code updates
CN101512487A (zh) 2006-07-13 2009-08-19 Nxp股份有限公司 以无线方式对具有独立升级软件的移动装置安全升级
US9124650B2 (en) * 2006-12-13 2015-09-01 Quickplay Media Inc. Digital rights management in a mobile environment
JP4903071B2 (ja) * 2007-03-15 2012-03-21 株式会社リコー 情報処理装置、ソフトウェア更新方法及び画像処理装置
US8560823B1 (en) * 2007-04-24 2013-10-15 Marvell International Ltd. Trusted modular firmware update using digital certificate
US8429643B2 (en) * 2007-09-05 2013-04-23 Microsoft Corporation Secure upgrade of firmware update in constrained memory
EP2259204A1 (en) * 2008-03-28 2010-12-08 Panasonic Corporation Software updating apparatus, software updating system, invalidation method, and invalidation program
JP2010086370A (ja) * 2008-10-01 2010-04-15 Canon Inc 画像形成装置、配信サーバーおよびファームウェアアップデート方法
US9652755B2 (en) * 2009-08-11 2017-05-16 Silver Spring Networks, Inc. Method and system for securely updating field upgradeable units
US8555059B2 (en) * 2010-04-16 2013-10-08 Microsoft Corporation Secure local update of content management software
US20120054734A1 (en) * 2010-08-31 2012-03-01 Apple Inc. Device software upgrade using a dynamically sized partition
JP5556895B2 (ja) * 2010-10-14 2014-07-23 富士通株式会社 コンテンツデータ再生装置、更新管理方法、及び更新管理プログラム
CA2847927C (en) * 2011-09-07 2019-08-27 Digital Rapids Corporation Systems and methods for computing applications
US8793337B2 (en) 2011-10-24 2014-07-29 Infosys Limited System and method for providing one or more updated files for a generated user personalized software application
US20140089202A1 (en) 2012-09-27 2014-03-27 Michael K. Bond CRM Security Core
US8763159B1 (en) * 2012-12-05 2014-06-24 Parallels IP Holdings GmbH System and method for application license management in virtual environments
KR101473656B1 (ko) 2013-01-07 2014-12-24 주식회사 안랩 모바일 데이터 보안 장치 및 방법
US11080035B2 (en) * 2013-02-13 2021-08-03 Vmware, Inc. Accessing a patch file in a system center configuration manager (SCCM) environment
US9154482B2 (en) * 2013-02-15 2015-10-06 Verizon Patent And Licensing Inc. Secure access credential updating
US20140372998A1 (en) 2013-06-14 2014-12-18 Microsoft Corporation App package deployment
US10108409B2 (en) 2014-01-03 2018-10-23 Visa International Service Association Systems and methods for updatable applets
US20160005042A1 (en) * 2014-07-02 2016-01-07 Mistral Mobile Host card emulation out-of-bound device binding verification
US10510071B2 (en) * 2014-09-29 2019-12-17 The Toronto-Dominion Bank Systems and methods for generating and administering mobile applications using pre-loaded tokens
US11234105B2 (en) * 2014-09-29 2022-01-25 Visa International Service Association Methods and systems for asset obfuscation
JP2017531873A (ja) * 2014-10-10 2017-10-26 ビザ インターナショナル サービス アソシエーション モバイルアプリケーションの更新中に部分パーソナライゼーションを行うための方法とシステム
AU2015374202B2 (en) * 2014-12-29 2019-02-14 Visa International Service Association Over-the-air provisioning of application library
US20160210612A1 (en) * 2015-01-20 2016-07-21 Mistral Mobile Rapid in Person Transactions Via Mobile Device
US10033534B2 (en) * 2015-12-01 2018-07-24 Intel Corporation Methods and apparatus to provide for efficient and secure software updates

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1346570A (zh) * 1999-02-04 2002-04-24 卡纳尔股份有限公司 用于已加密的传输的方法与设备
CN102163153A (zh) * 2010-02-12 2011-08-24 三星电子株式会社 用户终端、服务器及其控制方法
US20140351584A1 (en) * 2011-08-12 2014-11-27 Power-One Italy S.P.A. Method and system for protected transmission of files

Also Published As

Publication number Publication date
AU2015374202A1 (en) 2017-05-18
EP3241364A4 (en) 2018-07-25
BR112017011524A2 (pt) 2018-06-19
US9753719B2 (en) 2017-09-05
SG11201703525SA (en) 2017-05-30
EP3576436A1 (en) 2019-12-04
CN107111500A (zh) 2017-08-29
EP3241364A1 (en) 2017-11-08
SG10202012117WA (en) 2021-01-28
EP3576436B1 (en) 2021-02-17
AU2015374202B2 (en) 2019-02-14
US20190065174A1 (en) 2019-02-28
EP3241364B1 (en) 2019-08-28
CA2967471A1 (en) 2016-07-07
US20160188317A1 (en) 2016-06-30
US10146528B2 (en) 2018-12-04
US20180081672A1 (en) 2018-03-22
WO2016109547A1 (en) 2016-07-07
US10635430B2 (en) 2020-04-28

Similar Documents

Publication Publication Date Title
CN107111500B (zh) 应用库的无线储备
US11240219B2 (en) Hybrid integration of software development kit with secure execution environment
US11877213B2 (en) Methods and systems for asset obfuscation
US11068608B2 (en) Mutual authentication of software layers
CN107925572B (zh) 软件应用程序到通信装置的安全绑定
CN107210912B (zh) 对应用程序库的授权访问
CN110582774A (zh) 用于软件模块绑定的系统和方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1240347

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1240347

Country of ref document: HK