安全扩展距离的应用程序数据交换的制作方法

未命名 07-23 阅读:274 评论:0

安全扩展距离的应用程序数据交换
1.本发明申请是国际申请号为pct/us2019/063251,国际申请日为2019年11月26日,进入中国国家阶段的申请号为201980079470.2,名称为“安全扩展距离的应用程序数据交换”的发明专利申请的分案申请。
2.相关申请交叉引用
3.本技术主张2018年12月6日提交的第16/211,771号美国非临时申请的优先权,所述美国非临时申请的内容出于所有目的以全文引用的方式并入本文中。


背景技术:

4.近场通信(nfc)是一种允许近距离数据交换的无线通信技术。因为nfc要求将装置放置在彼此之间几英寸的范围内,所以nfc数据交换是相当安全的,不会被某一距离处的作案者拦截。nfc的近距离要求也意味着它不太可能会经受由沿着通信路径的对象引起的干扰。因此,只要装置保持彼此接近,就可以实现稳定连接,并且可以通过一系列不间断的来回传输进行数据交换。然而,nfc的通信距离有限,并且可能例如因为要求用户从他/她的口袋中拿出支持nfc的通信装置并将其放置在支持nfc的读取器装置旁边而使用户感到不悦。
5.本发明的实施例单独地以及共同地解决了这些问题和其它问题。


技术实现要素:

6.根据一些实施例,一种用于应用程序数据交换的技术可以包括:用户的通信装置与访问装置建立通信信道、接收所述访问装置的访问装置配置文件,以及基于所述访问装置配置文件在所述通信装置上模拟虚拟访问装置。在所述通信装置上执行的所述虚拟访问装置可以向在所述通信装置上执行的交易小程序发出一组应用程序命令,并且响应于所述一组应用程序命令从所述交易小程序接收一组应用程序数据响应。然后,所述通信装置可以通过串接包含在所述一组应用程序数据响应中的应用程序数据来生成数据包,并且通过所述通信信道向所述访问装置发送所述数据包。
7.根据一些实施例,一种通信装置可以包括处理器和存储器,所述存储器耦合到所述处理器并且存储可由所述处理器执行以使得所述通信装置执行以上用于应用程序数据交换的技术的代码。
附图说明
8.图1示出根据一些实施例的用于安全扩展距离的应用程序数据交换的系统的框图。
9.图2示出根据一些实施例的与访问装置进行交易的用户的通信装置的通信流程图。
10.图3示出根据一些实施例的在同一通信装置上执行的交易应用程序与虚拟访问装置之间的示例通信流程图。
11.图4示出根据一些实施例的由通信装置执行的用于与访问装置交换应用程序数据
的过程的流程图。
12.图5示出根据一些实施例的通信装置的框图。
具体实施方式
13.描述了安全扩展距离的应用程序数据交换的技术。扩展距离的应用程序数据交换可以使用较长距离的无线通信技术,例如包括蓝牙低功耗(ble)的蓝牙协议系列来执行。与例如nfc之类的近距离实施方案进行比较,采取额外的小心措施以确保以可靠且安全的方式进行较长距离的数据交换。在一些实施例中,彼此通信的装置可以使用数字证书来实现相互认证并且为数据交换提供加密。为了缓解连接中断,与目标装置(例如,访问装置)通信的发起装置(例如,用户的通信装置)可以在发起装置上本地模拟虚拟目标装置。模拟虚拟目标装置可以在发起装置内与发起装置本地交互,并且通常通过一系列传送提供的应用程序数据可以本地缓存在发起装置上,并且以单个或减少的传送次数传送到目标装置。
14.在论述各种实施例的细节之前,下文提供了对各个术语的解释。
[0015]“无线通信协议”可以指允许两个或更多个装置彼此交换数据而不需要装置之间的物理有线连接的指定技术。无线通信协议可以是标准化通信协议或者是专有通信协议。无线通信协议的实例可以包括蓝牙、蓝牙低功耗(ble)、wifi、wifi直连(wifi-direct)、紫蜂(zigbee)、z-wave、nfc、rfid等。
[0016]“通信装置”可以指包括一个或多个电子组件(例如,集成芯片)的装置,所述一个或多个电子组件可以与另一装置或实体进行通信。例如,通信装置可以是计算装置,其包括耦合到存储供处理器执行的指令或代码的存储器的至少一个处理器,并且所述通信装置可以包括例如允许通信装置与其它实体交互的收发器之类的通信接口。通信装置可以是可由用户运输和操作的便携式通信装置。便携式通信装置可提供与网络的远程通信能力。便携式通信装置可被配置成将数据或通信发送给其它装置以及从其它装置接收数据或通信。便携式通信装置可呈例如移动电话(例如,智能电话、蜂窝电话等)的移动装置、平板计算机、便携式介质播放器、个人数字助理装置(pda)、可穿戴式装置(例如,手表、手镯、戒指、眼镜、例如健身跟踪器的健康监测装置等)、电子读取器装置等形式,或呈卡(例如,智能卡)或挂件等形式。便携式通信装置的示例还可包括便携式计算装置(例如,笔记本电脑、上网本、超级本等)。便携式通信装置还可呈车辆(例如,汽车)的形式,或集成为车辆的部分(例如,车辆的信息系统)。通信装置的其它实例可包括物联网(iot)装置、智能设备和电子装置、游戏机等。通信装置还可包括多个装置或组件(例如,当装置通过系链到另一装置而能远程访问网络时—两个装置在一起可被视为通信装置)。可在装置网络内彼此通信地耦合的通信装置可被称为“对等装置”。
[0017]“服务器计算机”可以包括功能强大的计算机或计算机集群。例如,服务器计算机可以是大型主机、小型计算机集群或像单元一样工作的一组服务器。在一个实例中,服务器计算机可以是耦合到网络服务器的数据库服务器。服务器计算机可以耦合到数据库,并且可包括用于服务于来自一个或多个客户端计算机的请求的任何硬件、软件、其它逻辑或前述内容的组合。服务器计算机可以包括一个或多个计算设备,且可使用各种计算结构、布置和编译中的任一种来服务来自一个或多个客户端计算机的请求。在一些实施例中,服务器计算机可以相对于与所述服务器计算机通信的装置处于远程位置,并且所述远程服务器计
算机可以被称为“云”。
[0018]“访问装置”可以指用于与资源提供商通信的合适装置。访问装置一般可位于任何合适位置中,例如位于服务提供商或商家的位置处,或可在远程位置处(例如,在云中)。访问装置的实例可以包括销售点(pos)装置、个人计算机(pc)、平板pc、手持式专用读取器、机顶盒、电子收款机(ecr)、自动取款机(atm)、虚拟收款机(vcr)、查询一体机(kiosk)、安全系统、访问系统等。访问装置还可以是可以与用户的通信装置交互的网络服务器、商家计算机或交易处理网络。例如用户的移动装置之类的用户的通信装置也可以用作访问装置。访问装置可使用任何合适的接触或非接触式操作模式以运用通信装置发送或接收数据。访问装置可以包括处理器、计算机可读介质和装置读取器。装置读取器可以包括接触式和/或非接触式操作模式。例如,读卡器可以包括与通信装置交互的一个或多个射频(rf)天线、光扫描器条形码读取器或磁条读取器。
[0019]“令牌”可以是敏感信息的替代。令牌可以指能够代替敏感信息传送或使用的信息。例如,令牌可以是如实际账户标识符的敏感信息的替代,并且可以采用令牌代替实际账户标识符来进行对账户的访问。在支付背景下,支付令牌可以是支付账户的标识符,并且可以充当实际账户标识符(例如,主账号(pan))的替代。令牌可以包括可以用作原始账户标识符的替代的一连串字母数字字符。例如,令牌“4900 0000 0000 0001”可以代替主账号(pan)“4147 0900 0000 1234”使用。在一些实施例中,令牌可以是“保留格式的”,并且可以具有与现有的支付处理网络中使用的账户标识符一致的数字格式(例如,iso 8583金融交易消息格式)。在一些实施例中,令牌可以代替pan用来发起、授权、处理或解决支付交易,或者在通常将提供原始凭证的其它系统中表示原始凭证。在一些实施例中,令牌可以是按照不可以通过算法或计算方式导出原始敏感信息(例如,pan)的复原的方式生成的。例如,令牌可以包括随机数,从而使得与所述令牌相关联的pan是不可通过计算方式从所述令牌导出的。可以采用查找表格使pan和对应的令牌相关联。在一些实施例中,令牌可以是被用作其它类型的敏感信息的替代的非支付令牌。
[0020]“发行方”通常可以指维持用户账户(例如,金融账户)的商业实体(例如,银行)。所述账户可以是在安装于用户的通信装置上的应用当中注册的,从而允许用户通过所述通信装置进行针对所述账户的交易。“商家”通常可以是参与交易且可以出售商品或服务或提供对商品或服务的取用的实体。“收单方”通常可以是与特定商家或其它实体具有业务关系的业务实体(例如,商业银行)。一些实体可以执行发行方功能和收单方功能两者。一些实施例可以涵盖此类单个实体发行方-收单方。
[0021]“访问装置”可以是用于与商家计算机或交易处理网络(例如,支付处理网络)通信以及用于与消费者通信装置交互的任何合适装置。访问装置通常可位于任何合适位置处,例如位于商家所在位置处。访问装置可呈任何合适的形式。访问装置的一些实例包括pos装置、蜂窝电话、pda、个人计算机(pc)、平板电脑、手持式专用读取器、机顶盒、电子收款机(ecr)、自动取款机(atm)、虚拟收款机(vcr)、查询一体机、安全系统、访问系统、网站等。访问装置可以使用任何合适的接触或非接触操作模式,以发送或接收来自消费者通信装置的或者与消费者通信装置相关联的数据。在访问装置可以包括销售点(pos)终端的一些实施例中,可以使用任何适当的pos终端,其可以包括读取器、处理器和计算机可读介质。例如,示例性读取器可以包括射频(rf)天线、光学扫描器、条形码读取器或磁条读取器,以与消费
者通信装置交互。
[0022]“授权请求消息”可以是发送来请求授权交易的电子消息。可将授权请求消息发送到支付处理网络和/或支付卡的发行方。根据一些实施例的授权请求消息可符合iso8583,这是针对交换与用户使用支付装置或支付账户进行的支付相关联的电子交易信息的系统的标准。授权请求消息可包括可用于标识账户的信息。授权请求消息还可包括额外数据元素,例如,服务代码、到期日期等中的一个或多个。授权请求消息还可包括交易信息,例如与当前交易相关联的任何信息,例如交易金额、商家标识符、商家位置等,以及可用于确定是否标识和/或授权交易的任何其它信息。授权请求消息还可包括其它信息,例如,标识生成授权请求消息的访问装置的信息、关于访问装置的位置的信息等。
[0023]“授权响应消息”可以是对授权请求消息的电子消息应答。授权响应消息可由发行金融机构或支付处理网络生成。仅作为示例,授权响应消息可以包括以下状态指示符中的一个或多个:批准-交易被批准;拒绝-交易未被批准;或呼叫中心-响应未决的更多信息,商家必须呼叫免费授权电话号码。授权响应消息还可包括授权代码,所述授权代码可以是信用卡发行银行响应于电子消息中的授权请求消息(直接或者通过支付处理网络)传回给商家计算机的指示批准交易的代码。所述代码可充当授权的证明。如上所述,在一些实施例中,支付处理网络可向商家生成或转发授权响应消息。
[0024]“预配”可以包括提供数据以供使用的过程。例如,预配可以包括在通信装置上提供、传递或启用令牌和/或受限使用密钥(luk)。可以由交易系统内或者交易系统外的实体完成预配。例如,在一些实施例中,可以由发行方或者交易处理网络将令牌预配到移动装置上。预配的令牌可以具有存储并保持在令牌库或者令牌注册档内的对应令牌数据。在一些实施例中,令牌库或者令牌注册档可以生成之后可以被预配或者递交给装置的令牌。在一些实施例中,发行方可以指定令牌范围,令牌生成和预配可以从所述令牌范围发生。此外,在一些实施例中,发行方可以生成令牌值并将其通知给令牌库,并提供令牌记录信息(例如,令牌属性)以供存储到所述令牌库当中。
[0025]“用户”可以指实体,例如人、组织或与出于某一目的利用资源的人或组织相关联或由其操作的装置或系统。用户可具有可用于访问资源的一个或多个账户。用户还可被称为账户持有人、消费者、订购者或持卡人等。
[0026]“资源”可以指服务、项目、位置、数据、信息,或帮助用户实现某一目的的有价值的物品。一些资源可能受限,且可能需要用户具有访问资源的账户。资源的实例可包括:软件应用程序和相关功能;包括云服务的在线服务;与交易有关的商品(虚拟和/或物理对象)或服务;可兑换其它资源的积分、分数和/或货币;电子装置,例如服务器、计算机、移动装置、游戏系统等等;例如运输工具或运送服务的运输,例如无线服务的通信能力;受限区域;介质内容;等。
[0027]“账户参数”可以指与账户相关的可以用来在所述账户上进行交易的信息。账户参数的示例可包括可用来标识用户的账户的信息(例如,实账户标识符、替代账户标识符、令牌等)、与账户的状态相关的数据或信息、用来生成密码信息的一个或多个密钥、与一个或多个密钥相关的数据或信息等。账户参数可为半静态或动态的。动态账户参数可为具有有限寿命的账户参数,一旦过期便不再可用来进行交易,直到所述账户参数被补充、刷新或更新为止。动态账户参数可在账户的使用期限期间被频繁地补充。半静态账户参数可为具有
比动态账户参数长的延长寿命的账户参数,可能不像动态账户参数那样被频繁地补充,或者在账户的使用期期间根本不补充。动态账户参数的示例可以包括受限使用密钥,其可以用作生成交易密码的加密密钥。半静态账户参数的示例可以包括作为实际账户标识符的替代的令牌。
[0028]“密钥”可以指在密码算法中用于将输入数据变换成另一表示的一条信息。密码算法可以是将原始数据变换成替代表示的加密算法,或将加密信息变换回原始数据的解密算法。密码算法的示例可包括三重数据加密标准(tdes)、数据加密标准(des)、高级加密标准(aes)等。在一些实施例中,密钥可以是受限使用密钥(luk),其受制于一个或多个受限使用阈值,以限制luk的使用,一旦超过所述阈值,luk将不再有效,并且对luk的进一步使用可能需要对所述luk进行补充或更新。
[0029]“密码”可以指一些信息的加密表示。密码可由接收方例如通过利用有效密钥对基础信息进行加密并将结果与接收到的密码进行比较而用来确定密码生成器是否具有正确的密钥。
[0030]“受限使用阈值”可以指限制一条信息的使用的条件。当满足基础条件时,可超出或耗尽受限使用阈值。例如,受限使用阈值可包括生存时间,其指示一条信息有效的时间量,而一旦经过所述时间量,便超出或耗尽所述受限使用阈值,并且这条信息可变得无效而且不可再被使用。作为另一示例,受限使用阈值可包括一条信息可使用的次数,而一旦这条信息已经用了所述次数,便超出或耗尽受限使用阈值,并且这条信息可变得无效而且不可再被使用。
[0031]
术语“认证”和其派生词可以指可验证端点(包括但不限于应用程序、人、装置、过程和系统)的凭证以确保端点是它们宣称的对象的过程。
[0032]“交易处理网络”可以包括可对交易请求和/或响应消息进行处理和路由的一个或多个装置的网络。交易处理网络可以包括数据处理子系统和用于支持和递送授权服务、异常文件服务、交易评分服务以及清算与结算服务的操作。示例性交易处理网络可以包括visanet
tm
。例如visanet
tm
之类的交易处理网络能够处理信用卡交易、借记卡交易和其它类型的商业交易。具体来说,visanet
tm
可以包括处理授权请求的vip系统(visa集成支付系统)以及执行清算与结算服务的base ii系统。
[0033]“数字证书”可以指用于证明所有权的电子文档。数字证书可包括公钥或关于公钥的信息,连同公钥的所有者的身份,以及数字签名(例如,指示验证了所列举的所有者实际上拥有公钥的实体的数据)。此数字签名可以是使用验证实体的专用密钥加密的消息。实体可使用验证实体的公钥对消息进行解密,以标识验证实体。
[0034]“证书授权中心”可以指向其它实体发行证书以证明身份的可信实体。例如,证书授权中心可发行数字证书,其包括关于密码密钥的信息和关于密钥所有者的身份的信息。数字证书可由证书授权中心签名以证明证书的内容的有效性。证书授权中心的实例可包括网络运营商、网络域提供商、交易处理器或处理网络等。
[0035]“签名”可以指消息或一些数据的电子签名。数字签名可以是数字数据值、字母数字数据值或包括图形表示的任何其它类型的数据。数字签名可以是使用加密算法从消息和私钥生成的唯一数据值。在一些实施例中,可以使用使用公钥的验证算法来验证签名。
[0036]
nfc技术已使得用户的通信装置能够与访问装置交换应用程序数据,以进行近距
离交易。用户的通信装置与经由nfc通信的访问装置之间的距离可以是4cm或更短,这实际上阻止了某一距离处的作案者拦截数据交换。在装置之间进行某些信息交换之后,授权交易。这些交换可以是一系列应用程序协议数据单元(apdu)命令和响应。处理交易的来回nfc通信可能耗费不到500毫秒的时间来完成。然而,尽管有这些优点,但例如nfc之类的近距离解决方案仍要求用户在物理上靠近访问装置,从而限制了此类解决方案的通用性和用户体验。
[0037]
为了实现更多的免提和无缝交易机制,可以使用较长距离无线通信协议,例如包括ble的蓝牙协议系列。通过采用较长距离无线通信协议,用户的通信装置可以与位于一定距离之外的访问装置进行通信。然而,与nfc不同的是,较长的通信距离会招致恶意方拦截数据流量并且引起中间人攻击。较长的通信距离还会引发配对和可靠性问题,并且当许多装置彼此靠近时,很容易出现连接断开的情况。到目前为止,这些缺点阻止了广泛采用这种较长距离无线通信协议来进行交易或更普遍地用于交换敏感数据。然而,本文所描述的技术可以增强此类较长距离无线通信协议的安全性和可靠性,从而使此类协议适合于进行交易和交换敏感数据。
[0038]
图1示出根据一些实施例的用于安全扩展距离的应用程序数据交换的系统100的框图。系统100可以包括用户的通信装置102、访问装置104以及由证书授权中心操作的证书授权中心服务器110。通信装置102和访问装置104可存在于同一位置(例如,商家商店位置),并且可以与由附近的其它用户和/或其它访问装置使用例如ble的无线通信协议或其它合适的协议操作的通信装置形成对等网络150。证书授权中心服务器110可以远程定位或处于与对等网络150相同的位置处。如果处于同一位置,则证书授权中心服务器110可以使用与对等网络150(例如,ble)相同的无线通信协议与通信装置102和/或访问装置104通信,或者如果远程定位,则使用例如wifi或蜂窝网络协议之类的一些其它互联网可访问的无线协议。
[0039]
通信装置102可以是例如移动或可穿戴装置、物联网装置、车辆的信息系统或其它通信装置,其可以具有安装到通信装置上的交易应用程序以提供使用无线通信协议与访问装置进行交易的功能。交易应用程序可以提供安全获取和存储账户凭证的功能并且生成例如交易密码之类的交易数据,以进行交易。交易应用程序还可以访问联网堆栈,以促进使用例如ble或其它合适协议之类的无线通信协议的通信,以及存储对等网络150的网络状态信息,使得通信装置102可以适当地与附近的可用访问装置配对以交换应用程序数据(例如,以进行交易)。
[0040]
在一些实施例中,由通信装置102上的交易应用程序获得和存储的账户凭证可以包括充当真实账户标识符的替代的令牌。例如,交易应用程序可以通过手动输入或通过使用光学字符识别从图像(例如,由通信装置102的相机捕获的信用卡的图像)检取账户标识符来收取账户标识符。然后,交易应用程序可以使用账户标识符来从远程令牌服务提供商请求令牌。在对用户和/或通信装置102进行认证之后,远程令牌服务提供商可以生成或以其它方式检取映射到账户标识符的令牌,并且将所述令牌传送到通信装置102。在一些实施例中,远程令牌服务提供商还可以提供密码密钥,例如通信装置102的受限使用密钥。可以使用例如不透明性之类的加密方案对涉及令牌化过程的通信进行加密,以防止在通信装置102上执行的其它过程拦截或观察令牌请求和响应。
[0041]
一旦由交易应用程序接收了令牌和/或密码密钥,所述令牌和/或密码密钥就可以存储在例如硬件安全元件(例如,sim卡)之类的通信装置102上的安全环境中,或例如通过在通信装置上创建虚拟机实施的那些环境之类的可信执行环境(tee)中。在一些实施例中,例如白盒密码之类的软件密码方法可以用来对令牌和/或密码密钥进行加密以将其安全地存储在通信装置102上。为了进行交易,通信装置102可以使用例如ble之类的无线通信协议与访问装置104配对,并且在通信装置102上执行的交易应用程序可以检取令牌并且将其传送到访问装置104以请求交易授权。在一些实施例中,交易应用程序还可以使用密码密钥生成交易密码,并且将生成的密码与令牌一起传送到访问装置104。
[0042]
使用例如ble之类的扩展距离无线通信协议来进行交易的一个优点在于,较长距离可以帮助减少商家位置处的队列和物理终端的数量。例如,通过消除在nfc的情况下使用户在物理上靠近访问装置的要求,单个访问装置可以支持定位在遍及商家位置的不同位置处的多个用户。对于支持蓝牙的访问装置,所述访问装置最多可以同时允许七个连接。因此,最多七个用户可以同时与同一访问装置潜在地进行交易。这在例如餐馆(快速服务和全面服务)和/或购物中心之类的环境中是有用的。其它情况可能需要每用户一个访问装置。例如,如果车辆尝试与燃油泵或停车计时器配对,则每个访问装置应仅与一个用户配对。
[0043]
为了允许通信装置102在任何情境下恰当地与访问装置配对,安装在通信装置102上的交易应用程序可以包括冲突解决器,以获得对等网络150的网络状态信息并且确定对等网络150中的哪个访问装置可用。网络状态信息可以包括例如对等网络150中的访问装置和用户通信装置的数量,以及哪些装置彼此连接以进行数据交换之类的信息。例如,在每访问装置多个用户的环境中,冲突解决器可以确定对等网络150中的哪个访问装置已与最大数量的用户装置连接,以及对等网络150中的哪个访问装置与小于最大数量的用户装置连接。然后,冲突解决器可以指示通信装置102与访问装置连接,所述访问装置与小于最大数量的用户装置连接。在每访问装置一个用户的情境下,冲突解决器可以确定对等网络150中的哪个访问装置正在使用,并且指示通信装置102与当前未与用户装置配对的访问装置连接。
[0044]
使用扩展距离无线通信协议还可能使系统由于干扰和胭脂配对而受到可靠性问题的影响。因此,安装在通信装置102上的交易应用程序还可以包括完整性检查器,以验证用户通信装置102和访问装置104已成功交换数据,并且如果存在任何差异,则可以对消息中继重试预定的或可配置的次数。例如,可以将数据交换进行分包,并且校验和以及包长度信息可以包括在包标头和/或包尾中。包的接收方可以验证长度和校验和,并且如果验证长度或校验和失败,则请求重新发送包。为了改善数据传输速度,安装在通信装置102上的交易应用程序还可以包括消息格式器,所述消息格式器可以基于数据大小动态调整联网堆栈中的消息或包大小,以改变传输速度并且减少开销。
[0045]
访问装置104可以是例如独立访问装置(例如,销售寄存器、销售点终端等)、集成在另一系统(例如,燃料泵、停车计时器、查询一体机等)内的嵌入式访问装置,或例如移动或平板装置之类的通信装置,其可以具有安装在装置上的接受应用程序,以提供与使用无线通信协议的用户的通信装置进行交易并且与商家系统和/或交易处理网络进行通信的功能。安装在访问装置104上的接受应用程序可以提供与通信装置102配对,从通信装置102获得例如账户标识符、令牌和/或密码之类的账户凭证,并且(例如,经由商家系统)将账户凭
证传送到交易处理网络以获得交易授权的功能。
[0046]
在一些实施例中,安装在访问装置104上的接受应用程序可以包括连接处理器,以促进与通信装置102建立无线连接。例如,如果使用的无线通信协议是ble,则连接处理器可以将访问装置104配置成通用属性(gatt)配置文件客户端,针对多个用户用例的情况,所述gatt配置文件客户端可以同时潜在地接受多达七个连接,并且配置成gatt外围装置,针对每访问装置用例单个用户的情况,所述gatt外围装置仅可以与一个通信装置连接。连接处理器还可以从对等网络150获得网络状态信息,以了解当前配对状态,从而做出关于接受或拒绝新连接的决定。在一些实施例中,安装在访问装置104上的接受应用程序还可以包括广播器,以播发由访问装置104提供的交易服务。例如,当通信装置102接近对等网络150时,通信装置102可以检测由访问装置104广播的信号(例如,信标),以指示对无线交易服务的支持,并且在与访问装置104建立用于数据交换的安全连接之前,通信装置102可以同意使用服务。广播器可以用于处理广播和同意功能。
[0047]
使用例如ble之类的扩展距离无线通信协议的一个问题是,较长的通信距离更容易发生对例如账户凭证之类的敏感数据的拦截。为了确保例如账户凭证之类的敏感数据得到保护,安装在访问装置104上的接受应用程序可以包括证书处理器,以管理从证书授权中心获得的安全数字证书。当通信装置102连接到访问装置104时,访问装置104可以与通信装置102交换证书,并且验证合法证书授权中心(ca)从通信装置102发行证书,并且验证证书是有效的。通信装置102与访问装置104之间的通信可以使用包括在证书中的公钥进行加密,并且由在ca的帮助下建立相互信任的接收方进行解密。证书处理器可以用于促进证书信息的接收和传播,并且确保证书存储在安全密钥库执行环境中的装置上,使得证书无法被恶意过程或实体提取或重复使用。
[0048]
如上文所描述,对等网络150可以包括使用例如ble或其它合适协议之类的无线通信协议彼此通信地耦合的通信装置(包括通信装置102)和访问装置(包括访问装置104)。对等网络150中的每个装置可以提供平台服务,以在新装置加入网络、现有装置离开网络、当装置配对以进行交易和/或当装置在完成交易后断开连接时维护网络状态信息。例如,通信装置102的冲突解决器可以依靠平台服务来获得装置连接时的状态并且将其进行本地存储。这些连接表示用户通信装置连接到对等网络150中的访问装置。对等网络150中的每个装置可以将它们的配对状态广播到所有其它装置,使得每个装置可以获得与哪个访问装置连接以及要丢弃哪个访问装置的最新状态。对等网络150中的装置还可以维护握手注册器用于在系统中记录保存装置配对,并且可以使用同步模块将数据从注册装置散播到所有其它装置。
[0049]
证书授权中心(ca)110可以是例如发行方或交易处理器之类的可信实体,其可以将证书提供到由商家和用户通信装置托管的访问装置。ca 110可以提供验证证书有效性并且维护证书撤销列表(crls)的服务。在一些实施例中,为了促进离线交易,可以定期或在与交易不同的时间执行证书验证过程,使得每次发起交易时不需要在线过程。例如,ca 110可以向通信装置102发行通信装置数字证书。类似地,ca 110可以向访问装置104发行访问装置数字证书。通信装置102第一次与访问装置104连接以进行交易时,装置可以交换数字证书,并且每个装置可以用ca 110验证接收到的数字证书。此后,可以将这些装置放置在彼此可信的装置列表(例如,白名单)中,使得在下次两个装置交易时不需要执行数字证书验证
过程。在一些实施例中,可信装置列表上指示特定装置可信的条目可能在预定时间段之后到期,之后可能需要再次执行数字证书验证过程以维持相互信任。在一些实施例中,条目列表可能与数字证书同时到期,或者在数字证书到期之前到期。
[0050]
图2示出根据一些实施例的与访问装置204(例如,充当目标装置)交易的用户的通信装置202(例如,充当发起装置)的通信流程图。在交易之前,通信装置202和访问装置204中的每一个可以从证书授权中心(ca)210获得数字证书。例如,在安装或发起通信装置202上的交易应用程序期间,通信装置202可以将数字证书的请求发送到ca 210。请求可以包括用于认证用户和/或通信装置202的用户信息。在认证用户和/或通信装置202时,ca 210可以发行通信装置数字证书并且将其传送到通信装置202,所述通信装置数字证书可以存储在通信装置202上的安全存储装置(例如,安全元件、tee等)中。通信装置数字证书可以包括可以由通信装置202分配的通信装置公钥,并且通过通信装置公钥进行加密的数据可以通过存储在通信装置202上的通信装置私钥进行解密。通信装置数字证书也可以具有到期日期,并且通信装置202可以在通信装置数字证书到期时或之前用ca 210更新通信装置数字证书。
[0051]
类似地,在安装或发起访问装置204上的接受应用程序的期间,访问装置204可以将数字证书的请求发送到ca 210。请求可以包括商家操作访问装置204的商家信息。在认证商家时,ca 210可以发行访问装置数字证书并且将其传送到访问装置204。访问装置数字证书可以包括可以由访问装置204分配的访问装置公钥,并且通过访问装置公钥进行加密的数据可以通过存储在访问装置204上的访问装置私钥进行解密。访问装置数字证书也可以具有到期日期,并且访问装置204可以在访问装置数字证书到期时或之前用ca 210更新访问装置数字证书。在一些实施例中,访问装置数字证书可以具有比通信装置数字证书长的使用寿命。
[0052]
当操作通信装置202的用户首先进入商家位置并且接近对等网络250时,通信装置202可以检测对等网络250中例如访问装置204之类的其它装置的存在,这些装置能够使用无线通信协议(例如,ble或其它合适的协议)与通信装置202进行交易。例如,商家位置处的装置可以定期对播发由商家位置支持的无线交易服务的信号或信标进行广播。通信装置202可以检测信号,并且识别出通信装置202上的交易应用程序支持正在播发的无线交易服务。然后,通信装置202可以从对等网络150中的一个或多个装置获得网络状态信息,以允许通信装置202加入对等网络150。例如,通信装置202可以接收网络状态信息,所述网络状态信息指示哪些装置在对等网络150中以及哪些装置在装置集群中分组在一起。通信装置202可以在通信装置202上本地存储网络状态信息的副本,更新网络状态信息以将通信装置202添加到对等网络150,并且将更新的信息传送到对等网络150中的一个或多个装置以加入对等网络150。由对等网络150中的任何装置发起的对网络状态信息的任何更改可以传播到对等网络150中的所有装置,使得这些装置可以更新其网络状态信息的本地副本。
[0053]
当通信装置202准备好进行交易时,通信装置202可以基于当前网络状态信息确定访问装置204是可用的。通信装置202可以在操作252处将包括通信装置数字证书的连接请求传送到访问装置204,以请求与访问装置204建立安全连接。通信装置数字证书可以包括通信装置202的公钥,并且由ca 210进行数字签名以确定通信装置数字证书是真实的。在接收到连接请求时,充当目标装置的访问装置204可以在操作254处将向证书验证请求发送到
ca 210,以请求ca 210来验证通信装置数字证书。例如,ca 210可以验证通信装置数字证书先前是由ca 210发行的、尚未过期,并且包含由ca 210进行签名的有效数字签名。在验证通信装置数字证书时,ca 210可以在操作256处将证书验证响应发送回到访问装置204,以指示通信装置数字证书是否有效且真实。在一些实施例中,访问装置204能够本地验证通信装置数字证书。例如,访问装置204可以配备ca 210的公钥来验证通信装置数字证书的数字签名。在一些实施例中,为了促进离线交易,证书验证过程还可以是周期性过程,或者在其它时间而不是在进行交易时执行。
[0054]
一旦通信装置202的通信装置数字证书已经被ca 210和/或访问装置204验证,访问装置204可以将通信装置202作为认证装置列入白名单。通信装置202的白名单可以在预定时间段内或在通信装置数字证书到期之前保持有效,并且访问装置204可以省略验证通信装置202的通信装置数字证书以在白名单期间进行进一步的交易。如果通信装置数字证书的验证失败,则访问装置204可以将通信装置202作为未授权装置列入黑名单,并且防止通信装置202建立安全连接以与访问装置204进行交易。通信装置202的黑名单可以在预定时间段内或在来自通信装置202的新通信装置数字证书被验证之前保持有效。在一些实施例中,通信装置202的列表可以包括为本地存储在访问装置204上的网络状态信息的一部分,并且访问装置204可以在操作258处将装置列表更新推送到对等网络250中的其它装置。当对等网络250中的其它装置接收装置列表更新时,所述其它装置可以更新其本地列表以指示是否可以省略对通信装置202的验证(例如,是否列入白名单),或者是否应该阻止通信装置202(例如,是否列入黑名单)。
[0055]
在操作262处,响应于通信装置202的验证,访问装置204可以将其访问装置数字证书和交易金额提供到通信装置202。访问装置数字证书可以包括访问装置204的公钥,并且由ca 210进行数字签名以确定访问装置数字证书是真实的。在一些实施例中,可以使用在操作252中接收的通信装置202的公钥对交易金额和访问装置数字证书进行加密,并且通信装置202可以使用通信装置202的对应私钥对信息进行解密。在接收访问装置数字证书并对其进行解密时,通信装置202可以在操作264处发送证书验证请求以请求ca210来验证访问装置数字证书。例如,ca 210可以验证访问装置数字证书先前是由ca210发行的、尚未过期,并且包含由ca 210进行签名的有效数字签名。在验证访问装置数字证书时,ca210可以在操作266处将证书验证响应发送回到通信装置202,以指示访问装置数字证书是否有效且真实。在一些实施例中,通信装置202能够本地验证访问装置数字证书。例如,通信装置202可以配备ca210的公钥来验证访问装置数字证书的数字签名。然后,通信装置202可以取决于是否验证访问装置数字证书而将访问装置204列入白名单或黑名单,这类似于上文所论述的关于通信装置数字证书的过程。在操作268处,通信装置202可以推送装置列表更新以在操作268处将访问装置204的列表更新到对等网络250中的其它装置。
[0056]
在验证通信装置数字证书和访问装置数字证书之后,通信装置202与访问装置202之间可以建立相互信任。通信装置202的用户可以确认在操作262中接收的交易金额,并且在操作272处发送确认消息以安全地连接访问装置204。在一些实施例中,可以使用在操作262中接收到的访问装置204的公钥对确认消息进行加密。响应于接收到确认消息,访问装置204可以更新其本地网络状态信息以指示访问装置204现在安全地连接到通信装置202以进行交易,并且在操作274处将网络状态信息更新推送到对等网络250,以使对等网络250中
的其它装置知道访问装置204现在正在使用中。
[0057]
在操作276处,访问装置204可以将访问装置配置文件提供到通信装置202,以使通信装置202能够模拟虚拟访问装置。访问装置配置文件可以使用通信装置202的公钥来进行加密,并且可以包括例如通信装置202完成交易所需的来自访问装置204的终端交易数据之类的信息。例如,访问装置配置文件可以包括用于标识由访问装置204支持的交易环境的交易环境标识符(例如,接近支付系统环境(ppse)名称)、由访问装置204支持的应用程序标识符的优先排序列表、指示由访问装置204支持的交易类型(例如,芯片卡交易)的终端交易标识符(ttq)、针对所述交易由访问装置204生成的不可预测的数字和/或通信装置202在通信装置202上本地模拟访问装置204所需的其它信息。
[0058]
在操作278处,通信装置202可以使用通信装置202的私钥对访问装置配置文件进行解密,并且使用访问装置配置文件在通信装置202上本地模拟访问装置204。通过在通信装置202上本地模拟访问装置204,在通信装置202上执行的交易应用程序可以在通信装置202本地上使用一系列应用程序命令和应用程序数据响应(例如,apdu命令和响应)与虚拟访问装置交换应用程序数据。然后,在操作282处,应用程序数据响应可以由虚拟访问装置串接成数据包,可以使用访问装置204的公钥对所述应用程序数据响应进行加密,并且在单个消息中将所述应用程序数据响应传送到实际访问装置204。这可以减少通信装置202与访问装置204之间发送的消息的数量,以使用例如ble之类的扩展距离无线通信协议时提高可靠性。在一些实施例中,可以在多个消息中将串接的应用程序数据响应传送到访问装置204,并且只要消息的数量小于在通信装置202直接向访问装置204发送应用程序数据响应的情况下原本需要的应用程序数据响应的数目,则仍然可以提高可靠性。
[0059]
当访问装置204接收到串接应用程序数据响应的数据包时,访问装置204可以解析数据包并且生成交易的授权请求消息,并且向发行方发送授权请求消息以请求交易授权。然后,访问装置204可以解除与通信装置202的安全连接,更新访问装置本地网络状态信息以指示通信信道现在已打开以与其它装置进行交易,并且在操作284处将网络状态信息更新推送到对等网络250以使对等网络250中的其它装置知道访问装置204的可用性。
[0060]
图3示出根据一些实施例的在通信装置330上执行的交易应用程序332与在通信装置330上进行本地模拟的虚拟访问装置334之间的示例通信流程。例如,可以基于从通信装置330正在与其进行交易的实际访问装置获得的访问装置配置文件来模拟虚拟访问装置334。通信可以是从虚拟访问装置334发送的应用程序命令的形式和响应于应用程序命令从交易应用程序332发送的应用程序数据响应的形式。在一些实施例中,应用程序命令和数据响应可以是apdu命令和响应的形式。然而,应理解,其它消息、消息收发协议或格式可用来交换进行交易的应用程序数据。
[0061]
为了发起应用程序数据交换,虚拟访问装置334可以通过将可用应用程序请求302发送到交易应用程序332来发起交易,以请求关于哪些支付应用程序标识符(aid)可用的信息。每个aid可以与用户的账户和/或与账户相关联的处理选项相对应。在一些实施例中,可用应用程序请求302可以是选择ppse命令的形式。可用应用程序请求302可以包括支付环境标识符(例如,ppse名称),以标识由虚拟访问装置334支持的支付环境。
[0062]
在接收到可用应用程序请求302时,交易应用程序332可以通过识别包括在请求中的支付环境标识符(例如,ppse名称)来标识和处理请求,并且通过将可用应用程序响应304
发送回到虚拟访问装置334来进行响应。可用应用程序响应304可以包括可用aid的列表,并且可以包括支付环境标识符(例如,ppse名称)作为专用文件名。在一些实施例中,可用应用程序响应304可以是选择ppse响应的形式,并且可以包括ppse文件控制信息(fci)。例如,可用应用程序响应304可以包括每个可用aid的目录条目。如果交易应用程序332仅支持一个aid,则交易应用程序332可能用所支持的aid的单个目录条目做出响应。如果交易应用程序332支持具有多个aid的账户,则交易应用程序可能用每个所支持的aid的目录条目做出响应。每个目录条目可包括例如以下信息:aid、与aid相关联的应用程序标签(例如,与aid相关联的助记符)、指示aid的优先级的应用程序优先级指示符、指示应用程序的内核偏好的内核标识符,和/或与特定aid有关的额外信息。可用应用程序响应304还可以包括例如fci发行方自由裁量数据之类的其它数据。
[0063]
当虚拟访问装置334接收到可用应用程序响应304时,虚拟访问装置334可以从可用应用程序响应304中接收到的应用程序列表中选择合适的应用程序(例如,通过从可用应用程序响应304中接收到的可用aid中选择aid)。在一些实施例中,所选择的aid可以是由虚拟访问装置334模拟的访问装置支持的应用程序标识符的优先排序列表上的最高优先级aid。应用程序标识符的优先排序列表可以作为由实际访问装置提供到通信装置300的访问装置配置文件的一部分来获得。虚拟访问装置334可以将具有所选择的aid的应用程序选择306发送到交易应用程序332,以继续进行交易。在一些实施例中,应用程序选择306可以是选择aid命令的形式。
[0064]
在接收到应用程序选择306时,交易应用程序332可以发送终端交易数据请求308,以从虚拟访问装置334请求交易数据,以使用所选择的应用程序/aid执行交易。在一些实施例中,终端交易数据请求308可以是选择aid响应的形式,并且可以包括具有所选择的aid作为专用文件名的aid文件控制信息(fci)。终端交易数据请求308可以包括从虚拟访问装置334请求适当数据的交易数据标识符的列表,并且交易数据标识符的列表可以是处理选项数据对象列表(pdol)的形式。由交易应用程序332针对交易请求的交易数据可以包括终端交易限定符(ttq)、授权金额、其它金额、终端国家代码、终端验证结果、交易货币代码、交易数据、交易类型和/或不可预测的数字。终端交易数据请求308还可以包括其它数据,例如fci发行方自由裁量数据、应用程序标识符以及语言偏好。
[0065]
在接收到终端交易数据请求308之后,虚拟访问装置334可以将由交易应用程序332请求的终端交易数据310发送到交易应用程序332。由虚拟访问装置334提供的终端交易数据310可以从访问装置配置文件获得,所述访问装置配置文件通过通信装置300从由虚拟访问装置334模拟的实际访问装置获得。在一些实施例中,终端交易数据310可以获取处理选项(gpo)命令的形式发送,并且可以包括在处理选项数据对象列表(pdol)中所请求的终端交易数据。在一些实施例中,终端交易数据310(例如,终端交易限定符(ttq))可以包括指示由访问装置支持的交易类型的交易类型指示符。在一些实施例中,终端交易数据310(例如,终端交易限定符ttq))还可包括指示是否需要消费者验证方法(cvm)来由访问装置进行交易的cvm要求指示符,并且还包括指示由访问装置支持的cvm类型的一个或多个cvm类型指示符。可由访问装置支持的cvm的实例可以包括在线pin、签名,和/或例如在通信装置300上使用的密码之类的消费者装置cvm(cdcvm),以解锁屏幕或交易应用程序332。
[0066]
一旦交易应用程序332接收到终端交易数据310,交易应用程序332可以增加其应
用交易计数器(atc),使用所接收的终端交易数据310中的至少一些生成动态交易处理信息,并且将包括所生成的动态交易处理信息的一组交易处理信息312发送到虚拟访问装置334。在一些实施例中,交易处理信息312可以gpo响应的形式发送。在一些实施例中,交易处理信息312可以包括可由虚拟访问装置334用作文件地址以读取存储在通信装置300上的账户数据的一个或多个应用程序文件定位符(afl),以及可用于指示交易应用程序332的能力的应用程序交换特征(aip)。
[0067]
在一些实施例中,包括在交易处理信息312中的afl可以包括用于读取账户数据的文件地址,所述账户数据例如使用受限使用密钥(luk)和/或不可预测的数字从访问装置动态生成的交易密码、包括令牌或pan的磁道-2等效数据,以及例如发行方应用程序数据(iad)、形状因子指示符(ffi)、卡交易限定符(ctq)、密码信息数据(cid)、更新的atc和/或应用程序pan序列号(psn)的额外数据。在一些实施例中,发行方应用程序数据(iad)可包括指示iad长度的长度指示符、指示交易密码的版本的密码版本号(cvn)、可用于标识主密钥(例如,与生成luk时使用的发行方相关联的主密钥)的导出密钥指示符(dki)、卡验证结果(cvr)、钱包提供商id和/或导出数据,例如在生成luk时使用的密钥索引。在一些实施例中,交易处理信息312可以包括上述账户数据本身,而不是其对应的afl或其组合。还应理解,在一些实施例中,从交易应用程序332发送到虚拟访问装置334的交易处理信息312可以包括上文所描述的部分或全部信息,并且在一些实施例中,可以包括未具体描述的额外信息。
[0068]
在虚拟访问装置334接收到交易处理信息312之后,虚拟访问装置334可以将账户数据请求314发送交易应用程序332,以读取可以存储在通信装置300上的额外账户数据。在一些实施例中,账户数据请求314可以是读取记录命令的形式,并且可以包括指示虚拟访问装置334尝试读取的账户数据的地址或位置的应用程序文件定位符(afl)。包括在账户数据请求314中的afl可以与从交易应用程序332提供到虚拟访问装置334的交易处理信息312中的afl相对应。
[0069]
响应于从虚拟访问装置334接收账户数据请求314,交易应用程序332可以将存储在由afl指示的位置处的账户数据316发送到虚拟访问装置334。在一些实施例中,账户数据316可以读取记录响应的形式发送。账户数据316可以包括例如指示发行方对应用程序所允许的使用和服务的限制的上文所论述的账户数据元素和/或应用程序使用控制、持卡人的姓名、消费者专有数据、发行方国家代码、令牌请求者id(例如,是否使用令牌),和/或可在afl位置访问的其它账户相关数据。应理解,在一些实施例中,从交易应用程序332发送到虚拟访问装置334的账户数据316可以包括上文所描述的部分或全部信息,并且在一些实施例中,可以包括未具体描述的额外信息。
[0070]
在一些实施例中,可以存在多于一对的账户数据请求314和在虚拟访问装置334与交易应用程序332之间进行的账户数据316通信交换。一旦虚拟访问装置334已经从交易处理信息312和/或一个或多个账户数据316传送接收到所需的数据,交易处理信息312和/或一个或多个账户数据316传送中的一些或全部数据元素可以由虚拟访问装置334串接以形成数据包。数据包可以包括校验和以及包长度指示符,以指示数据包的长度。数据包可以从通信装置300传送到实际访问装置,以允许访问装置生成交易授权请求消息,以从发行方请求交易授权。例如,在一些实施例中,交易授权请求消息可以至少包括包括令牌或pan的磁道-2等效数据以及使用luk生成的交易密码,并且可以至少基于正确生成验证交易密码并
且用于生成交易密码的luk尚未耗尽一个或多个受限使用阈值的luk集来授权交易。
[0071]
图4示出根据一些实施例的由通信装置执行的用于与访问装置交换应用程序数据的过程400的流程图。通信装置和访问装置可以是使用例如ble之类的无线通信协议的装置的对等网络的一部分,所述ble具有比nfc更长的通信距离。在建立通信信道以交换应用程序数据之前,通信装置和访问装置可以交换由证书授权中心发行的数字证书以在两个装置之间建立相互信任。例如,为了发起安全连接以执行数据交换,通信装置可以将通信装置数字证书传送到访问装置。在将例如访问装置的访问装置配置文件之类的关于访问装置的额外信息传送到通信装置之前,访问装置可以验证通信装置数字证书。通信装置还可以从访问装置接收访问装置数字证书,并且在执行进一步功能之前验证访问装置数字证书,以促进数据交换,例如对访问装置的模拟。
[0072]
在操作402处,响应于数字证书的验证,通信装置可以与访问装置建立安全通信信道,例如,通过将确认消息发送到访问装置以指示数字证书交换成功并且证书有效。在一些实施例中,可以使用包括在传送到通信装置的访问装置数字证书中的访问装置公钥对确认消息进行加密。在接收到确认消息时,访问装置可以使用访问装置的私钥对其进行解密,并且如果确认消息可以正确地进行解密,则允许与通信装置的安全连接。
[0073]
在操作404处,通信装置可以从访问装置接收访问装置的访问装置配置文件。访问装置配置文件可以包括访问装置参数,以使通信装置能够在通信装置本身上本地模拟虚拟访问装置,以减少在装置之间交换应用程序数据所需的外部传送的数量。例如,访问装置配置文件可以包括由访问装置支持的应用程序标识符的优先排序列表、由访问装置生成的不可预测的数字和/或访问装置可以使用或提供到通信装置以获得完成交易的应用程序数据的其它终端交易数据/参数。在一些实施例中,可以使用包括在提供到访问装置的通信装置数字证书中的通信装置公钥对访问装置配置文件进行加密。
[0074]
在操作406处,通信装置可以基于访问装置配置文件在通信装置本身上本地模拟虚拟访问装置。例如,通信装置可以实例化虚拟机,并且执行提供访问装置功能的编程代码,例如将应用程序命令(例如,apdu命令)发出到交易小程序以获得交易的账户数据的功能。访问装置配置文件中的信息可以允许模拟虚拟访问装置基于实际访问装置的特性生成适当的命令。在一些实施例中,如果对接收到的访问装置配置文件进行加密,则通信装置可以使用通信装置私钥对访问装置配置文件进行解密。
[0075]
在操作408处,在通信装置上执行的虚拟访问装置可以向在通信装置上执行的交易小程序发出一组应用程序命令,并且在操作410处响应于所述一组应用程序命令而从交易小程序接收一组应用程序数据响应。在一些实施例中,应用程序命令和数据响应可以是apdu命令和响应的形式。在一些实施例中,虚拟访问装置可以在发送下一个应用程序命令之前,在每个应用程序命令之后等待来自交易小程序的应用程序数据响应。
[0076]
举例来说,作为操作408的一部分,虚拟访问装置可以将请求交易小程序可用的应用程序标识符的列表的命令发送到交易小程序,其中每个应用程序标识符可以与账户或账户的一组处理选项相对应。作为响应,作为操作410的一部分,交易小程序可以提供可用应用程序标识符的列表。然后,作为操作408的一部分,虚拟访问装置可以发送选择应用程序标识符命令,以从与交易小程序相关联的可用应用程序标识符的列表中选择应用程序标识符。选择应用程序标识符命令可以由虚拟访问装置基于包括在访问装置配置文件中的应用
程序标识符的优先排序列表来生成。应用程序命令和数据响应交换可以根据关于图3描述的通信交换继续进行。例如,通信交换还可以包括虚拟访问装置将具有不可预测的数字的应用程序命令发送到交易小程序。不可预测的数字可以是由实际访问装置生成的数字,并且包括在访问装置配置文件中。交易小程序可以通过发送应用程序数据响应来做出响应,所述应用程序数据响应包括由交易小程序使用不可预测的数字生成的交易密码(例如,通过使用受限使用密钥至少对不可预测的数字进行加密)。在一些实施例中,一组应用程序数据响应可以包括包含账户信息的存储器地址的一组应用程序文件定位符,并且一组应用程序命令可以包括一组读取记录命令,以使用应用程序文件定位符读取账户信息。每个读取记录命令可以包括应用程序文件定位符。一组应用程序数据响应还可以包括来自包含与afl相对应的账户信息的交易小程序的一组读取记录响应。
[0077]
在操作412处,在虚拟访问装置获得来自交易小程序的必要应用程序数据之后,通信装置可以通过串接包含在一组应用程序数据响应(例如,读取记录响应)中的多个应用程序数据元素来生成数据包。例如,应用程序数据响应可以包括例如令牌或pan的应用程序数据、交易密码、账户到期信息和参考图3描述的其它数据元素,并且这些数据元素可以串接到数据包中。可以对所述数据元素计算校验和,并且校验和以及数据包的长度可以添加到数据包的标头。
[0078]
在操作414处,通信装置可以使用建立的安全通信信道将数据包传送到外部访问装置。在一些实施例中,可以使用包括在提供到通信装置的访问装置数字证书中的访问装置公钥对数据包进行加密。然后,访问装置使用访问装置私钥对数据包进行解密,检查数据包的完整性,以通过重新计算校验和并且验证数据包的长度来确保不存在传送错误,解析数据包,并且生成授权请求消息以获得交易授权。在一些实施例中,如果检测到传送错误,则访问装置可以将重发请求发送到通信装置,以请求通信装置重新发送数据包。
[0079]
图5示出根据一些实施例的通信装置500的框图。在一些实施例中,通信装置500可以是由用户操作的移动装置。通信装置500可以包括耦合到存储器520的装置硬件510。装置硬件510可以包括处理器512、具有一个或多个收发器515的通信子系统514,所述通信子系统能够使用例如ble、用户接口516之类的无线通信协议与外部装置进行通信。在一些实施例中,装置硬件510可以包括显示器518(其可以是用户接口516的一部分)。处理器512可以实施为一个或多个集成电路(例如,一个或多个单核或多核微处理器和/或微控制器),并且用于控制通信装置500的操作。处理器512可以响应于存储在存储器520中的程序代码或计算机可读代码而执行各种程序,并且可以保持多个同时执行的程序或过程。用户接口516可以包括输入和输出元件的任何组合,以允许用户与通信装置500相互联系并且所述调用通信装置的功能。在一些实施例中,用户接口516可以包括可用于输入和输出功能的组件,例如显示器518。
[0080]
可以使用任何数量的非易失性存储器(例如,闪存存储器)和易失性存储器(例如,dram、sram)的任何组合或任何其它非瞬态存储介质或存储计算机可执行代码的介质的组合来实施存储器520。存储器520可以存储操作系统(os)525和应用程序环境530,在所述应用程序环境可以驻留由处理器512执行的一个或多个小程序和/或应用程序。应用程序环境530可以包括交易小程序532、模拟虚拟访问装置534的模拟器和联网小程序536。在一些实施例中,交易小程序532、虚拟访问装置534和/或联网小程序536可以集成为例如交易应用
程序(例如,钱包或支付应用程序、商家应用程序等)之类的一个或多个应用程序的一部分。
[0081]
交易小程序532可以是使用、访问和/或存储例如账户凭证533(例如,账户标识符、令牌等)之类的敏感信息的小程序。交易小程序532可以支持多个账户和多个应用程序标识符,以支持不同的交易处理选项。在一些实施例中,用户交易小程序532的访问可受例如口令、密码、pin等之类的用户认证数据保护。例如,当用户尝试启动或执行交易小程序532时,可以在用户可访问交易小程序532之前请求用户输入有效的用户认证数据。账户凭证533可以存储例如账户凭证(例如,pan、令牌)和例如用于进行交易的受限使用密钥的其它账户参数之类的敏感信息,并且交易小程序532可以提供从远程服务器检取令牌和/或受限使用密钥的功能。交易小程序532可以包括密码模块,以为交易小程序提供密码功能,例如对通信进行加密和解密和/或生成交易密码。例如,密码模块可以使用例如des、aes、tdes/tdea等加密算法和/或例如sha等散列函数来实施和执行交易小程序532的加密/解密操作。当交易小程序532访问例如存储以进行交易的令牌或受限使用密钥之类的账户凭证533时,交易应用程序533可以调用密码模块以基于受限使用密钥和/或令牌生成交易密码。
[0082]
虚拟访问装置534可以是在通信装置500上执行的模拟访问装置的实例。虚拟访问装置534可以包括或有权访问从由通信装置500模拟的外部访问装置获得的访问装置配置文件535。虚拟访问装置534可以提供访问装置功能,例如选择应用程序标识符以处理交易、发出例如apdu命令之类的应用程序命令以为交易小程序532提供交易参数(交易限定符、交易金额、不可预测的数字等),以完成交易、从交易小程序532接收应用程序数据响应以及基于从交易小程序532传送到外部访问装置的响应生成一个或多个数据包。
[0083]
通信装置900可以使用网络小程序536来加入装置网络,并且与访问装置建立安全信道以进行交易。例如,联网小程序536可以支持例如ble之类的无线通信协议。联网小程序536可以检测附近采用同一无线通信协议的装置,并且使用协议支持交易服务。联网小程序536可以从网络中的其它装置获得网络状态信息并且将其本地存储为网络状态信息537。网络状态信息537可以包括在装置集群中将网络中的哪些装置分组在一起、装置网络中的哪个通信装置当前与哪个访问装置配对以进行交易、以及装置网络中的哪个访问装置可用的映射。通信装置500还可以使用网络状态信息537将其指示到可用的访问装置,以执行应用程序数据交换以进行交易。
[0084]
虽然已经使用ble作为示例性无线通信协议来描述本文所公开的技术的某些方面,但应理解,本文所描述的技术可以应用于其它无线通信协议,包括使用一个或多个射频作为传输介质的协议。此外,虽然已经在进行交易的上下文中描述了某些方面,但是本文所公开的安全数据交换技术可以应用于其它类型的敏感数据的传输。
[0085]
本文中所描述的技术可涉及实施一个或多个功能、过程、操作或方法步骤。在一些实施例中,所述功能、过程、操作或方法步骤可以实施为由适当地被编程的计算装置、微处理器、数据处理器等执行指令集或软件代码的结果。指令集或软件代码可以存储在由计算装置、微处理器等存取的存储器或其它形式的数据存储元件中。在其它实施例中,功能、过程、操作或方法步骤可以由固件或专用处理器、集成电路等实施。
[0086]
本文中所描述的方法和过程本质上是示例性的,并且根据一些实施例的方法和过程可按与本文中所描述的次序不同的次序执行步骤中的一个或多个、包括没有具体描述的一个或多个额外步骤、省略一个或多个步骤、将一个或多个步骤组合成单个步骤、将一个或
多个步骤分割成多个步骤,和/或其任何组合。
[0087]
本技术中描述的任何软件组件或功能可使用例如常规的或面向对象的技术并使用任何合适的计算机语言,例如java、c++或perl实施为要由处理器执行的软件代码。软件代码可以存储为例如随机存取存储器(ram)、只读存储器(rom)、例如硬盘驱动器或软盘的磁性介质或例如cd-rom的光学介质的计算机可读介质上的一系列指令或命令。任何这样的计算机可读介质可以驻留在单个计算设备上或内部,并且可以存在于系统或网络内的不同计算设备上或内部。
[0088]
在不脱离本发明的范围的情况下,任何实施例的一个或多个特征可以与任何其它实施例的一个或多个特征组合。
[0089]
除非明确指示为相反情况,否则“一”或“所述”的叙述旨在表示“一个或多个”。

技术特征:
1.一种用于安全的扩展范围应用程序数据交换的方法,所述方法包括:由访问装置与通信设备建立通信信道;由所述访问装置向所述通信设备提供所述访问装置的访问装置配置文件,其中所述通信设备基于所述访问装置配置文件模拟虚拟访问装置,并且其中所述虚拟访问装置向在所述通信设备上执行的交易小程序发出应用程序命令集,并且响应于所述应用程序命令集从所述交易小程序接收应用程序数据响应集,并且其中所述通信设备基于所述应用程序数据响应集生成数据包;由所述访问装置经由所述通信信道从所述通信设备接收所述数据包;由所述访问装置生成包含所述数据包中的数据的授权请求消息;以及将所述授权请求消息发送到对所述授权请求消息进行授权的授权实体。2.如权利要求1所述的方法,所述方法还包括:由所述访问装置向所述通信设备提供访问装置数字证书,其中所述通信设备在模拟所述虚拟访问装置之前验证所述访问装置数字证书。3.如权利要求2所述的方法,其中所述访问装置数字证书包括访问装置公钥,并且所述数据包由所述通信设备使用所述访问装置公钥加密,所述数据包由所述访问装置接收。4.如权利要求1所述的方法,其中所述通信设备是移动电话。5.如权利要求1所述的方法,其中所述访问装置配置文件包括由所述访问装置支持的应用程序标识符的优先列表。6.如权利要求5所述的方法,其中所述应用程序命令集包括选择应用程序标识符命令,所述选择应用程序标识符命令由所述虚拟访问装置基于应用程序标识符的所述优先列表生成,以从与所述交易小程序相关联的可用应用程序标识符的列表中选择应用程序标识符。7.如权利要求1所述的方法,其中所述访问装置配置文件包括由所述访问装置生成的不可预测的数字。8.如权利要求7所述的方法,其中所述应用程序数据响应集包括由所述交易小程序使用所述不可预测的数字生成的交易密码文,所述不可预测的数字由所述虚拟访问装置向所述交易小程序提供。9.如权利要求1所述的方法,其中所述数据包包括来自所述交易小程序的多个读取记录响应中的应用程序数据。10.如权利要求1所述的方法,其中所述通信信道是无线通信信道,所述无线通信信道具有比近场通信(nfc)更长的通信范围。11.一种访问装置,所述访问装置包括:处理器;以及存储器,所述存储器存储能够由所述处理器执行的代码以实现包括以下各项的操作:与通信设备建立通信信道;向所述通信设备提供所述访问装置的访问装置配置文件,其中所述通信设备基于所述访问装置配置文件模拟虚拟访问装置,并且其中所述虚拟访问装置向在所述通信设备上执行的交易小程序发出应用程序命令集,并且响应于所述应用程序命令集从所述交易小程序接收应用程序数据响应集,并且其中所述通信设备基于所述应用程序数据响应集生成数据
包;经由所述通信信道从所述通信设备接收所述数据包;生成包含所述数据包中的数据的授权请求消息;以及将所述授权请求消息发送到对所述授权请求消息进行授权的授权实体。12.如权利要求11所述的访问装置,其中所述操作还包括:向所述通信设备提供访问装置数字证书,其中所述通信设备在模拟所述虚拟访问装置之前验证所述访问装置数字证书。13.如权利要求12所述的访问装置,其中所述访问装置数字证书包括访问装置公钥,并且所述数据包由所述通信设备使用所述访问装置公钥加密。14.如权利要求11所述的访问装置,其中所述通信设备是移动电话。15.如权利要求11所述的访问装置,其中所述访问装置配置文件包括由所述访问装置支持的应用程序标识符的优先列表。16.如权利要求15所述的访问装置,其中所述应用程序命令集包括选择应用程序标识符命令,所述选择应用程序标识符命令由所述虚拟访问装置基于应用程序标识符的所述优先列表生成,以从与所述交易小程序相关联的可用应用程序标识符的列表中选择应用程序标识符。17.如权利要求11所述的访问装置,其中所述访问装置配置文件包括由所述访问装置生成的不可预测的数字。18.如权利要求17所述的访问装置,其中所述应用程序数据响应集包括由所述交易小程序使用所述不可预测的数字生成的交易密码文,所述不可预测的数字由所述虚拟访问装置向所述交易小程序提供。19.如权利要求11所述的访问装置,其中所述数据包包括来自所述交易小程序的多个读取记录响应中的应用程序数据。20.如权利要求11所述的访问装置,其中所建立的所述通信信道是无线通信信道,所述无线通信信道具有比近场通信(nfc)更长的通信范围。

技术总结
一种应用程序数据交换技术可以包括:通信装置与访问装置建立通信信道、接收所述访问装置的访问装置配置文件,以及基于所述访问装置配置文件在所述通信装置上模拟的虚拟访问装置。在所述通信装置上执行的所述虚拟访问装置可以向在所述通信装置上执行的交易小程序发出一组应用程序命令,并且响应于所述一组应用程序命令从所述交易小程序接收一组应用程序数据响应。然后,所述通信装置可以通过串接包含在所述一组应用程序数据响应中的应用程序数据来生成数据包,并且通过所述通信信道向所述访问装置发送所述数据包。述访问装置发送所述数据包。述访问装置发送所述数据包。


技术研发人员:S
受保护的技术使用者:维萨国际服务协会
技术研发日:2019.11.26
技术公布日:2023/7/22
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐