软件篡改检测和报告过程的制作方法

文档序号:11450633阅读:385来源:国知局
软件篡改检测和报告过程的制造方法与工艺

相关申请交叉引用

本申请要求于2014年12月22日提交的美国临时申请号62/095,310的优先权,其通过引用全部被并入本文中。



背景技术:

移动应用提供者面临着传统的网络应用不会面临的威胁。攻击者可能反编译移动应用以揭示整个源代码。

在一些情况下,可以使用二进制保护来模糊化源代码,可以使用元件识别对源代码的攻击。这些元件由arxan技术公司提供。当元件识别到对源代码的攻击时,元件可以在空中(例如通过蜂窝网络)通知远程服务器已经发生攻击。尽管此技术有用,但攻击者可能关闭通过蜂窝网络针对电话的数据连接,从而防止攻击的报告。

本发明的实施例单独地以及共同解决了此问题和其它问题。



技术实现要素:

本发明的实施例涉及软件篡改检测过程和系统。

本发明的一个实施例涉及一种方法,包括:(a)由通信装置上的安全软件应用确定所述通信装置已经被未授权用户访问,其中,所述通信装置被配置成在空中通过第一通信信道与电信网络通信;(b)响应于步骤(a)由所述通信装置生成安全通知数据;以及(c)由所述通信装置将所述安全通知数据或所述安全通知数据的衍生物经由第二通信信道提供至主机计算机。

本发明的另一实施例涉及一种通信装置,包括:处理器;以及耦连至所述处理器的计算机可读介质,所述计算机可读介质包括能够由所述处理器执行的代码以实现一种方法,所述方法包括:(a)确定所述通信装置已经被未授权用户访问,其中,所述通信装置被配置成在空中通过第一通信信道与电信网络通信;(b)响应于步骤(a)生成安全通知数据;以及(c)将所述安全通知数据或所述安全通知数据的衍生物经由第二通信信道提供至主机计算机。

下面更详细地描述本发明的这些和其它实施例。

附图说明

图1示出根据本发明的实施例的系统的框图。

图2是图解说明根据本发明的实施例的远程安全服务器计算机的一些部件的框图。

图3a示出对根据本发明的实施例的便携式通信装置的一些部件进行图解说明的框图。

图3b示出对根据本发明的实施例的安全元件模块的一些部件进行图解说明的框图。

图4是图解说明根据本发明的实施例的支付处理网络的一些部件的框图。

图5a是图解说明根据本发明的实施例的方法的流程图。

图5b是图解说明根据本发明的另一实施例的方法的流程图。

图6示出对根据本发明的实施例的便携式通信装置和访问装置之间的通信的系统和方法进行图解说明的框图。

图7示出根据本发明的实施例的构建访问系统的框图。

图8示出根据本发明的实施例的计算机设备的框图。

具体实施方式

在讨论本发明的一些实施例的细节之前,描述一些术语可能对理解各个实施例是有帮助的。

“通信装置”可以是能够通信并且为静止或便携的装置。

“便携式通信装置”可以是一种便携式装置,其可以由用户携带和操作,并且可以包括一个或多个电子部件(例如集成芯片)。便携式通信装置可以提供针对网络的远程通信能力。便携式通信装置可以被配置成与其它装置往返传送和接收数据或通信。便携式通信装置可以是移动装置的形式,诸如移动电话(例如智能手机、蜂窝电话等)、平板电脑、便携式媒体播放器、个人数字助理装置(pda)、可穿戴计算装置(例如手表)、电子阅读器装置等,或者是卡(例如智能卡)或表链、车辆(诸如汽车)等的形式。便携式通信装置的示例还可以包括便携式计算装置(例如膝上型计算机、上网本、超级本等)。

“服务器计算机”可以包括功能强大的计算机或计算机集群。例如,服务器计算机可以是大的主机、小型计算机集群或像一个单元一样工作的一组服务器。在一个示例中,服务器计算机可以是耦连至网络服务器的数据库服务器。服务器计算机可以耦连至数据库,并且可以包括任何硬件、软件、其它逻辑或前述的组合,以服务于来自一个或多个客户端计算机的请求。服务器计算机可以包括一个或多个计算设备,并且可以使用各种计算结构、布置和编译中的任何一种,以服务于来自一个或多个客户端计算机的请求。

“发行方(issuer)”通常可以指维护用户的账户的商业实体(例如银行)。例如,发行方可以是将信用卡发行至持卡人的银行。发行方还可以将与账户关联的账户参数发行至便携式通信装置。发行方可以与代表发行方执行发行方的一些或所有功能的主机系统关联。

“商家”通常可以是参与交易并且能够出售商品或服务或提供对商品或服务的访问的实体。

“收单方(acquirer)”通常可以是与特定商家或其它实体有商业关系的商业实体(例如商业银行)。一些实体能够既执行发行方功能也执行收单方功能。一些实施例可以包括这种单实体的发行方-收单方。

“访问装置”可以是用于与商家计算机或支付处理网络通信并且用于与支付装置、用户计算机设备和/或用户移动装置交互的任何适当的装置。访问装置通常可以位于任何适当的方位,诸如在商家的方位处。访问装置可以是任何适当的形式。访问装置的一些示例包括pos装置、蜂窝电话、pda、个人计算机(pc)、平板pc、手持专用阅读器、机顶盒、电子出纳机(ecr)、自动柜员机(atm)、虚拟出纳机(vcr)、营业厅、安全系统、访问系统、网站等等。访问装置可以使用任何适当的接触或非接触操作模式以将数据发送至便携式通信装置或从便携式通信装置接收数据,或者发送或接收与便携式通信装置关联的数据。在一些实施例中,在访问装置可以包括pos终端时,可以使用任何适当的pos终端,并且可以包括阅读器、处理器和计算机可读介质。阅读器可以包括任何适当的接触或非接触操作模式。例如,示例性的读卡器可以包括射频(rf)天线、光学扫描器、条形码阅读器或磁条阅读器以与便携式通信装置交互。

“授权请求消息”可以是被发送以请求对交易授权的电子消息。授权请求消息可以被发送至支付处理网络和/或支付卡的发行方。根据一些实施例的授权请求消息可以遵守iso8583,iso8583是交换与用户使用支付装置或支付账户进行的支付关联的电子交易信息的系统的标准。授权请求消息可以包括可以用来识别账户的信息。授权请求消息还可以包括附加数据元素,诸如以下的一个或多个:服务代码、到期日期等。授权请求消息还可以包括交易信息,诸如与当前交易关联的任何信息,诸如交易金额、商家标识符、商家方位等以及可以用来确定是否识别和/或授权交易的任何其它信息。授权请求消息还可以包括其它信息,诸如识别生成授权请求消息的访问装置的信息,关于访问装置的方位的信息等。

“授权响应消息”可以是针对授权请求消息的电子消息应答。授权响应消息可以由发行金融机构或支付处理网络生成。授权响应消息可以包括(只作为示例)以下状态指示符中的一个或多个:批准-交易被批准;拒绝-交易不被批准;或呼叫中心-响应未决的更多信息,商家必须呼叫免费授权电话号码。授权响应消息还可以包括授权代码,其可以是发行银行响应于电子消息中的授权请求消息(直接地或者通过支付处理网络)返回商家计算机的指示交易被批准的授权代码。代码可以用作授权的证据。如上文指出的,在一些实施例中,支付处理网络可以生成或将授权响应消息转发至商家。

术语“认证”和其衍生词可以指一种过程,通过该过程,端点(包括但不限于应用、人、装置、过程和系统)的凭证能够被验证以确保端点是声称的那个端点。

术语“验证”和其衍生词可以指利用信息确定在特定的一组情况下底层对象是否是有效的过程。验证可以包括信息的任何比较以确保一些数据或信息是正确、有效、准确、合法和/或良好存在的。

“令牌”可以包括一些信息的替代标识符。例如,支付令牌可以包括支付账户的标识符,其是账户标识符的替代,诸如主账号(pan)。例如,令牌可以包括可以用作原始账户标识符的替代的一连串字母数字字符。例如,令牌“4900000000000001”可以代替pan“4147090000001234”使用。在一些实施例中,令牌可以是“保留格式的”,可以有与现有的支付处理网络中使用的账户标识符一致的数字格式(例如,iso8583金融交易消息格式)。在一些实施例中,令牌可以代替pan使用,以发起、授权、结算或完成支付交易。在通常提供原始凭证的其它系统中,令牌还可以用来表示原始凭证。在一些实施例中,可以生成令牌值,使得由令牌值恢复原始pan或其它账户标识符不可以由计算得到。进一步地,在一些实施例中,令牌格式可以被配置成使接收令牌的实体将其识别为令牌,并识别发行令牌的实体。

“真实账户标识符”可以包括与支付账户关联的原始账户标识符。例如,真实账户标识符可以是由卡账户(例如信用卡、借记卡等)的发行方发行的主账号(pan)。例如,在一些实施例中,真实账户标识符可以包括16位数字值,诸如“4147090000001234”。真实账户标识符的前六位(例如“414709”)可以代表真实的发行方标识符(bin),其可以识别与真实账户标识符关联的发行方。

“账户参数”可以指与账户有关的可以用来对账户进行交易的信息。账户参数的示例可以包括可以用来识别用户的账户的信息(例如真实账户标识符、替代账户标识符、令牌等)、与账户的状态有关的数据或信息、用来生成加密信息的一个或多个密钥、与一个或多个密钥有关的数据或信息等。账户参数可以是半静态的或动态的。动态账户参数可以是具有有限寿命的账户参数,一旦到期,不再能够用来进行交易,直到账户参数被补充、刷新或更新。动态账户参数可以在账户的生命期中被经常补充。半静态账户参数可以是具有比动态账户参数更长的延长寿命的账户参数,并且在账户的寿命中可以不如动态账户参数那样频繁地补充或根本不补充。

“密钥”可以指用在加密算法中将输入数据转换成另一种表示的一条信息。密码算法可以是将原始数据转换成替代性表示的加密算法或将加密信息转换回原始数据的解码算法。密码算法的示例可以包括三重数据加密标准(tdes)、数据加密标准(des)、高级加密标准(aes)等。

“密码(cryptogram)”可以指一些信息的加密表示。密码可以由接受者使用以通过例如用有效密钥加密底层信息,将结果与接收的密码进行比较确定密码的发生器是否拥有适当密钥。还使用密码来验证接收的数据还没有被篡改或修改。如果数据的单个位被改变,则密码验证会失败。

“限制使用阈值”可以指限制一条信息的使用的条件。限制使用阈值在底层条件满足时,可以被超过或用尽。例如,限制使用阈值可以包括指示一条信息有效的时间量的生存时间,一旦该时间量逝去,限制使用阈值被超过或用尽,该条信息变成无效的,不再可以被使用。举另一示例,限制使用阈值可以包括一条信息可以被使用的次数,一旦该条信息已经被使用该次数,则限制使用阈值被超过或用尽,该条信息变成无效,不可以被使用。

“支付处理网络”可以包括能够处理和路由支付请求消息的网络。示例性支付处理网络可以包括数据处理子系统、网络和用来支持和传送授权服务、异常文件服务、交易评分服务和清算和结算服务的操作。示例性交易处理网络可以包括visanettm。诸如visanettm之类的交易处理网络能够处理信用卡交易、借记卡交易和其它类型的商业交易。visanettm具体可以包括处理授权请求的vip系统(visa集成支付系统)和执行清算和结算服务的baseii系统。

“安全元件模块”可以被编程以执行某些任务(例如对程序代码进行校验求和),并且可以在安全应用或程序中一起操作。安全元件模块的示例在图3b中并在本文中描述。在一个实施例中,安全元件模块是安全防护。

“安全通知数据”可以包括能够给一方通知通信装置上的潜在或实际的安全泄密的任何适当的信息。安全通知数据可以是任何适当形式,并且可以是任何适当的长度。例如,安全通知数据可以包括一个或多个标志,其指示潜在或实际的安全泄密,以及预期有或已经出现哪种类型的安全泄密。这些标志可以是例如设置成某个值的一位(例如设置成“1”而不是“0”的位可以指示安全泄密,字节内“1”的位置可以指示哪种类型的安全泄密)。在一个实施例中,安全通知数据的格式可以对安全软件应用的开发者是专有的,使得安全通知数据只可以由被授权的一方解释不可以被未授权用户解释。

安全通知数据的“衍生物(derivative)”可以包括从安全通知数据导出的任何数据。在一些实施例中,安全通知数据的衍生物可以是服务不同目的的数据的形式,诸如个人或装置的认证。在一些实施例中,安全通知数据的衍生物可以是密码。

在本发明的实施例中,关于便携式通信装置(例如电话已经被黑客攻击)上软件的更改的信息(信号)可以形成安全通知数据。安全通知数据可以出现在标准支付交易数据中或者用来导出标准支付交易数据(即成为在标准非接触支付交易中使用的数据)。例如,可以使用安全通知数据导出通常在典型的信用和借记卡交易中传递的密码(诸如cvv值)。以此方式,接收密码的支付处理器或发行方能够确定便携式通信装置已经被泄密(例如黑客攻击)。而且,由于安全通知数据嵌入标准支付交易数据中,攻击便携式通信装置的实体不会知道泄密的任何证据已经被传送至外部实体,诸如支付处理器或发行方。

在本发明的实施例中,安全服务器计算机和支付处理网络可以使用安全通知数据来进行交易决策;提供便携式通信装置上的安全元件模块已经被激活并且黑客或客户尝试进行非接触支付的报告;报告触发了哪种类型的安全元件模块;不管黑客/客户是否有数据覆盖,都记录这些类型的信息;使用安全通知数据用黑名单列出某些装置、扼制交易等。

图1示出根据本发明的实施例的系统。所述系统包括相互通信的远程安全服务器计算机20和便携式通信装置10(例如移动电话)。便携式通信装置10可以被配置成在空中通过第一通信信道与电信网络通信。第一通信信道可以包括例如蜂窝电话网络或wifi。便携式通信装置10可以与访问装置30交互,访问装置30可以由商家经由第二通信信道操作。访问装置30可以与收单方计算机40、支付处理网络50和发行方计算机60通信。安全服务器计算机20可以与支付处理网络50通信。

注意,图1中图示的块是出于图示目的,在本发明的其它实施例中,某些块可以被组合,或者功能可以被分隔到其它计算部件中。例如,在一些实施例中,安全服务器计算机20可以是支付处理网络50的一部分,他们不需要作为单独的实体存在。在本文中参照图5b进一步描述这种实施例。

在移动电话10和安全服务器计算机20之间以及在图1中的实体的任何其它适当组合之间可以存在任何适当数目或类型的通信网络。通信网络可以是以下的任何一个和/或组合:直接互连;互联网;局域网(lan);城域网(man)、作为互联网上的节点的操作任务(omni);安全定制连接;广域网(wan);无线网络(例如使用诸如但不限于无线应用协议(wap)、i-模式等等的协议);等等。

在图1中,第一通信信道16显示于在安全服务器计算机20和便携式通信装置10之间。第一通信信道16可以包括无线网络14。

还在图1中,示出与第一通信信道16分开的第二通信信道18。第二通信信道18可以由涉及以下中的至少一个或多个的通信路径形成:便携式通信装置10、访问装置20、收单方计算机40、支付处理网络50和安全服务器计算机20。注意,在第二通信信道18中不需要包括所有这些实体。例如,在本发明的一些实施例中,收单方计算机40可以从第二通信信道18中省略。为了执行支付交易,第二通信信道18必须是可用的。然而,在支付时间,第一通信信道16不需要被启用。

图2示出根据本发明的实施例的安全服务器计算机20中的一些部件的框图。安全服务器计算机20可以包括处理器20a,其操作耦连至存储器20b和无线通信i/o接口20c。存储器20b可以包括计算机可读介质,并且可以存储安全通知数据分析模块20b-1和报告模块20b-2。

处理器20a可以包括单核处理器、多个单核处理器、多核处理器、多个多核处理器或被配置成执行计算装置的算术、逻辑和/或输入/输出操作的硬件的任何其它适当组合。

存储器20b可以包括存储器装置(例如存储器芯片)的任何适当组合,其可以利用任何适当机制(例如电、光、电磁等)以用于数据存储。

安全通知数据分析模块20b-1可以作为计算机代码存储在存储器20b上。安全通知数据分析模块20b-1可以与处理器20a结合使远程安全服务器计算机20执行任何适当类型的安全数据分析。适当的安全数据分析的示例可以包括确定应用或应用逻辑代码是否已经被复制,确定应用是否已经被修改,确定恶意代码是否已经被插入到装置中,以及确定许可管理系统和数字权限介质控制是否已经被绕过。

报告模块20b-2可以与处理器20a结合使远程安全服务器计算机20执行任何适当的报告功能。例如,任何通信装置的报告包括针对任何适当的个体。这些报告可以通过无线通信网络i/o接口20c传送。这些报告可以包括任何适当内容,并且可以采用电子邮件、语音消息、针对网页的链接、sms消息等的形式。

无线通信网络i/o接口20c可以适于在空中经由通信网络与通信装置通信,通信网络可以利用任何适当的技术,包括cdma(码分多址)、gsm(全球移动系统)、4glte(长期演进)等。无线通信网络i/o接口20c可以允许远程安全服务器计算机20与通信装置10通过第一通信信道16通信(见图1),在一些实施例中,第一通信信道16可以包括蜂窝网络。

图3a示出对可以存在于便携式通信装置10中的一些部件进行图解说明的框图。这些部件包括可以耦连至存储器10b的处理器10a、非接触元件10c、天线10d和安全元件10e。存储器10b可以包括一个或多个安全元件模块10b-1(在本文中参照图3b进一步描述)、密码生成模块10b-2和支付模块10b-3。处理器10a和存储器10b可以具有与图1中在上文描述的处理器20a和存储器20b相同或不同的特性。

非接触元件10c可以是允许移动电话10在商家方位处将支付信息传送至访问装置(例如pos终端)的装置。非接触元件10c可以使用任何适当的通信模式操作,包括rf、ble(典型的低能量蓝牙)、nfc(近场通信)、ir等。在一些实施例中,非接触元件10c可以包括天线(例如短距离天线)和存储器装置。

天线10d可以允许移动电话10通过长距离通信信道通信并且与移动网络操作员通信。参照图1,在一些实施例中,天线10d可以允许便携式通信装置10与安全服务器计算机20通信,而非接触元件10c可以允许便携式通信装置10与访问装置30通信。

安全元件10e可以是能够根据可信机构的规则和安全要求安全地驻存应用和其凭证以及密码数据(例如密钥管理)的防篡改平台(通常是具有芯片安全微控制器的平台)。其可以包括是安全的可信执行环境,并且可以存储账户凭证(例如支付账户号、支付令牌、诸如cvv、cvv2、dcvv和密码(arqc)值等的验证值)或访问凭证。本发明的一些实施例可以不包括或不使用安全元件。本发明的其它实施例可以包括具有由密码保护的数据的非安全元件或常规存储元件。本发明的实施例可以用于基于云的支付平台,包括在于2014年12月19日提交的名称为“cloud-basedtransactionsmethodsandsystems”的美国专利申请号14/577,837中描述的那些平台,该申请转让给本申请的相同受让人。出于所有目的,此申请通过引用全部被并入本文中。

密码生成模块10b-2可以包括当由处理器10a执行时可以生成密码的代码。密码可以包括各种数据,并且可以由或者不由使用安全元件模块10b-1生成的安全通知数据导出。在一些实施例中,安全元件模块可以被称作“安全保卫模块”。还可以使用密码生成模块10b-2存储用来生成密码的密钥。

支付模块10b-3可以包括当由处理器10a执行时能够获得、格式化并且传送用于交易的支付数据的代码。在一些实施例中,支付模块10b-3可以检索存储在便携式通信装置10中的或者远程地从便携式通信装置10检索支付数据,诸如账号或支付令牌,到期日期,服务代码和其它数据,并且可以将其格式化,使得其可以传送至访问装置并由其处理。

图3b示出对可以存在于便携式通信装置10的存储器10b的安全元件模块10b-1中的检测由未授权用户进行的访问的一些部件进行图解说明的框图。这些部件包括反调试模块11a、根检测模块11b、校验和模块11c、基底模块11d、数据连接性模块11e和仿真器模块11f。这是可以用在本发明的实施例中的安全元件模块的列表,要理解,可以替代性地或者另外实现其它安全元件模块。要理解,这些安全元件模块的实现只是可以用来检测便携式通信装置10的安全性泄密的许多方法中的一种方法。

反调试模块11a与处理器10a结合检测在本地软件开发套件(sdk)代码处于使用中时调试器是否被附连。

根检测模块11b与处理器10a结合检测在服务已经被“寻根(root)”之后装置是否正试图使用sdk。换言之,根检测模块11b检测应用在其上运行的便携式通信装置10是否已经被修改以允许有特权的用户或应用访问操作系统。

校验和模块11c与处理器10a结合通过比较在保护时间计算的受保护范围的校验和与运行时计算的范围的校验和,检测攻击者是否已经修改sdk代码或者将断点增加至代码。如果两个校验和的值不匹配,则未授权用户已经篡改了代码。

基底(钩连(hooking))模块11d与处理器10a结合检测攻击者是否已经覆盖驻存在系统库中或应用内的被调用函数。

数据连接性模块11e与处理器10a结合检测便携式通信装置是否具有数据连接性,或者数据连接性是否已经被蓄意禁止(例如置于飞行模式)。

仿真器模块11f与处理器10a结合检测便携式通信装置是真实的还是仿真器。

可以以这样的方式实现安全元件模块10b-1,其对普遍用户是不易察觉的隐藏的,不必由用户显式激活或调用。而且,安全元件模块10b-1可以如本文中描述的配置,以便当攻击者可能停止“调用主页”请求、哄骗响应,从“调用主页”请求导出含义,或关闭互联网访问时不依赖“调用主页”请求(即通过互联连接来回发送至后台的安全通知消息)。

由安全元件模块10b-1提供的二进制保护可以对各种装置包括但不限于arm、intel和基于mip的android装置可用。在一个实施例中,二进制保护可以应用于本地支付处理网络sdk代码,而不是javasdk代码,使得发行方能够调试其自己的应用,但不能够调试本地支付处理网络sdk代码。

除了安全元件模块10b-1之外,可以使用实现安全措施的其它模块,以保护或防止便携式通信装置10被未授权用户泄密。例如,模糊化模块与处理器10a结合可以将sdk本地代码(例如c或c++)转换成低级虚拟机(llvm)位码指令。这确保代码难以理解。尽管模糊化,位码保持与原始sdk源代码相同的功能。

举另一示例,修复/损坏模块与处理器10a结合可以在运行时损坏和/或修复sdk内的代码。例如,修复/损坏模块可以将被损坏的一段代码修复成其原始形式,以允许其在适当时执行,然后再次损坏它。在另一示例中,修复/损坏模块可以检测未授权用户已经损坏或篡改一段代码,并且可以用存储在其它地方的代码的原始副本覆盖该段代码。这防止攻击者修改底层的sdk代码,并用来隐藏敏感密钥。另外,字符串文字模块与处理器10a结合可以在运行时加密并解密sdk字符串文字。

图4示出根据本发明的实施例的支付处理网络150的一些部件的框图。支付处理网络150可以由一个或多个计算机体现,其中的每一个可以包括处理器150a、网络接口150b、交易数据库150c和计算机可读介质150d。处理器150a和计算机可读介质150d可以分别具有与上文在图1中描述的处理器20a和存储器20b相同或不同的特性。

计算机可读介质150d可以存储交易处理模块150e、安全通知模块150f和任何其它适当的软件模块。计算机可读介质150d还可以包括可由处理器150a执行的用于实现在本文中关于图5a和5b描述的支付处理网络的功能。

交易处理模块150e可以包括使处理器150a处理交易的代码。例如,交易处理模块150e可以包含使处理器150a分析交易风险,转发、授权或拒绝用于支付交易的授权请求消息,做出关于授权/拒绝决策的推荐的逻辑。其还可以包含使处理器150a将授权请求消息转发至发行方,从发行方接收授权响应消息以及将授权响应消息转发至资源提供者诸如商家的逻辑。交易处理模块150e还可以包括使处理器150a生成预期的授权数据(例如密码)以与接收的授权数据比较以确定接收的授权数据是否是正确的代码。

交易处理模块150e与处理器150a结合还能够在交易数据库150c中存储交易记录。例如,交易数据库150c可以包括每个完成交易的记录,包括交易细节(例如购买的物品、金额、时间戳),资源提供者信息,用户信息(例如姓名、电话号码和/或其它联系信息、主账号、与主账号对应的支付令牌、到期日期等)和/或任何其它适当的信息。

尽管图1显示支付处理网络50与安全服务器计算机20分开并与其通信,但在其它实施例中,安全服务器计算机20可以被合并到支付处理网络50中,并且可以是支付处理网络50的一部分。

图5a示出对根据本发明的实施例的方法进行图解说明的流程图。该方法利用与安全服务器计算机20通信的支付处理网络50。可以参照图1描述图5a中的流程图。

在步骤s102,与安全软件应用关联的并与处理器10a结合工作的安全元件模块10b-1能够确定便携式通信装置10已经被未授权用户访问。例如,在便携式通信装置10上的软件可能已经以异常方式被改变,或者便携式通信装置10可能之前已经被黑客攻击。在一个实施例中,安全元件模块10b-1然后能够将攻击者移动到虚代码分支中,防止安全存储区域中的另外的信息被泄露。例如,安全元件模块10b-1能够将攻击者移动到不同的非安全代码分支中,该分支执行随机例程和长循环,不带来任何用处。安全元件模块可以不向被黑客攻击的软件的软件提供者报告特定的错误代码或错误消息,原因是攻击者可能正在阅读任何消息。

在步骤s104,在处理器10a确定在便携式通信装置上的软件已经被改动之后,与处理器10a结合工作的一个或多个安全软件应用然后可以生成安全通知数据。安全通知数据可以包括安全软件应用的类型或确定有异常改动的安全元件模块的指示。安全软件应用可以是能够提供二进制保护的安全元件模块的形式。在一个实施例中,可以提供并执行多个安全元件模块。这确保攻击者在能够访问任何信息之前必须破解多个安全元件模块。

安全通知数据可以采用不同形式。在一些实施例中,安全通知数据可以只是安全通知数据标志的形式,其指示移动装置的安全性已经被泄密。在其它实施例中,安全通知数据可以被合并作为交易中的认证数据的一部分。通常可以使用认证数据认证交易的任何适当的组成,包括消费者,执行交易使用的装置(例如账户、卡、电话等),或者交易本身(例如指示诸如发行方的一方已经认证了消费者的密码)。因此,可以从安全通知数据导出这些认证数据。

在一些实施例中,认证数据可以是应用密码或认证密码的形式,诸如可以用来认证便携式通信装置10(或替代性支付装置)的值的cvv(卡验证值)、cvv2、dcvv(动态卡验证值)或dcvv2。在又一些其它的实施例中,认证密码可以是arqc密码或授权请求密码。arqc密码通常用于要求在线授权的交易。它是卡、终端和用des密钥加密的交易数据的结果。发行方通常验证arqc以确保卡或其它支付装置是可信的。

作为示意,在特定时间点与支付卡关联的dcvv值可以是889,此dcvv值连同账号、到期日期和与底层账户关联的其它数据可以存储在便携式通信装置上,诸如移动电话上。dcvv值是动态值,其可以用于中继安全通知数据,这在本文中进一步描述。在正常情况下,在不发生便携式通信装置篡改的典型的支付交易中,支付卡的dcvv值会从便携式通信装置传送至访问装置(例如pos或服务点终端),访问装置然后生成授权请求消息,授权请求消息被发送至发行方(或其它方,诸如支付处理网络)以用于批准。发行方或支付处理网络然后能够验证接收的dcvv值是预期的dcvv值,并且能够使用此值来确认曾用来执行交易的便携式通信装置实际上是可信的装置。具体地,发行方或支付处理网络可以使用支付账号、到期日期、3位数的服务代码和一对des加密密钥,独立地生成dcvv值,并且可以确定此计算的数字是否与在授权请求消息中接收到的dcvv值匹配。用于生成动态值的方法可以在美国专利号7,761,374中找到,其通过引用被全部并入本文中。

如上面指出的,安全通知数据可以用作输入以创建密码,结果,创建的密码不是由验证密码的远程计算机预期的密码。例如,如在上文提到的美国专利中解释的,密码的输入可以是主账号、到期日期、服务代码或使用安全通知数据修改的填充。例如,在生成密码时,诸如主账号、到期日期、服务代码的值可以被级联、加密以及以其它方式处理以创建密码。填充(例如一连串的零)有时可以在加密过程中增加到数据字符串。在本发明的实施例中,安全通知数据会被用来改变填充值,以将密码改变成与其预期值不同的值,使得可以通知远程服务器计算机移动装置上已经出现了安全漏洞。在其它实施例中,诸如pan、到期日期和服务代码的值还可以或替代性地被安全通知数据修改。在这种情况下,只出于密码的生成目的,pan、到期日期和服务代码会被改变,在发送至支付处理器或发行方的任何授权请求消息中以明文(或加密的信道)传送此信息时,pan、到期日期和服务代码不会被改变。

在本发明的实施例的示例中,当一个或多个安全元件模块已经确定未授权个人已经篡改便携式通信装置或其上的软件时,一个或多个安全元件模块可以生成使用安全通知数据创建的新的dcvv。因为此新的dcvv不是发行方预期的值,所以交易会被拒绝。作为示意,代替生成常规的dcvv密码,在从安全元件模块10b-1接收便携式通信装置已经被篡改的指示之后,便携式通信装置10上的密码生成模块10b-2可以利用与常规的到期日期、常规的主账号、常规的服务代码或常规的填充字符不同的数字来生成dcvv。例如,如果常规的到期日期是08/2018,则到期日期可以改成08/0118,可以由该值计算dcvv。因此,如果常规的dcvv是898,改变的dcvv是125,则支付处理网络或发行方接收改变的dcvv125。发行方或支付处理网络然后尝试计算改变的dcvv,并将独立地计算常规的dcvv898,因为改变的dcvv与计算的常规dcvv不匹配,可以拒绝交易。在其它实施例中,改变的dcvv可以指示出现哪种类型的泄密。例如,如果恶意代码已经被并入到通信装置10中,则安全元件模块10b-1可以通知密码生成模块10b-2到期日期应当是08/0118,如果移动装置上的应用已经被修改,则应当是08/0218,如果移动装置上的应用已经被修改并且恶意代码已经被插入到便携式通信装置10中,则应当是08/0318。可以使用此修改的到期日期生成dcvv;不过,正确的到期日期可以连同改变的dcvv一起发送至发行方,使得由于改变的dcvv中包含的安全通知,而不是由于不正确的到期日期,拒绝交易。

在本发明的实施例中,(若干)安全元件模块可以在发行方应用数据(标签9f10)中建立位图,对于认为报告很重要的每个安全元件模块,提出曾激活特定的元件模块的相应的位信令。发行方应用数据(标签9f10)是被格式化以从支付装置传输至发行方的交易数据,并且能够在接触或非接触交易中在通信装置10和访问装置30之间传输。发行方应用数据(标签9f10)可以包括安全通知数据,诸如用于每个安全元件模块10b-1的相应位。

在一个示例中,(若干)安全元件模块可以在发行方应用数据的卡验证结果(cvr)中设置未使用字节,其通常针对每次交易设置。针对相同的短期支付数据的任何后续交易会保留cvr指示符。客户或攻击者然后必须成功地传递发行方认证和补充支付凭证,以对安全存储装置内保持的支付凭证去掉标记。

发行方应用数据是创建在线授权请求(arqc)密码时的部件。因此,如果攻击者检测支付处理网络正设置cvr中的指示符,并尝试去掉该指示符,则在支付处理网络上任何交易将会拒绝。这出现的原因是装置生成的arqc(无指示符)不会匹配支付处理网络生成的arqc(具有指示符)。支付处理网络现在能够另外将账户置于热列表(hot-list)和/或能够将情况报告给发行方。

在又一示例中,(若干)安全元件模块可以定义在支付处理网络中电话/密码验证上的密码生成中包括的单独的“隐藏”值。如果密码验证失败,则支付处理网络能够尝试不同的值,并且对于密码验证正确的组合,支付处理网络现在能够推断哪个元件模块曾被激活。交易会被拒绝(由于密码失败),支付处理网络现在能够另外地将账户置于热列表和/或能够将情况报告给发行方。这样,不需要在支付交易中传送特定的数据元件。此方法能够用于使用磁条数据以及非接触交易的磁条交易。

在一个实施例中,安全通知数据或其任何衍生物(例如dcvv值)可以以其原始或模糊(例如加密)形式被发送至远程安全服务器计算机。在一些实施例中,安全通知数据可以至少通过第二通信信道18被发送至安全服务器计算机,但其也可以通过图1中的第一通信信道16发送。

在其它实施例中,如步骤s106图示的,在形成安全通知数据之后,支付模块10b-3可以生成交易数据包,其会被传送至访问装置30。在一些实施例中,交易数据包可以是支付数据包。支付数据包可以包括验证便携式通信装置或其上驻存的软件、账户凭证(例如pan或支付令牌以及账户到期日期或任何其它适当的数据)的真实性的密码。如上文解释的,如果安全通知数据已经被篡改,则其可以由便携式通信装置生成,并包括于交易数据包中。

在步骤s108,将支付数据包从便携式通信装置10传递至访问装置30。这可以使用任何适当的接触或非接触通信模式完成。

在步骤s110,访问装置30可以接收交易数据包,生成授权请求消息,并将其传送至收单方计算机40。授权请求消息可以具有上文描述的特性,并且还可以包括安全通知数据或其衍生物。

在步骤s112,收单方计算机40可以将授权请求消息传送至支付处理网络50。

在步骤s114,支付处理网络50可以接收授权请求消息,并可以解析它(例如提取安全通知数据或来自它的衍生物)。支付处理网络50然后可以将安全通知数据或其衍生物发送至安全服务器计算机20。例如,支付处理网络50可以将接收的密码或原始安全通知数据发送至安全服务器计算机20。

在步骤s116,安全服务器计算机20然后可以接收此信息,并且可以分析它以确定便携式通信装置10是否已经被未授权用户访问或已经泄密。在一些实施例中,安全服务器计算机20可以将在授权请求消息中接收的密码与独立生成的预期的密码比较,以确定其是否匹配。如果不匹配,则便携式通信装置10很可能已经被未授权用户访问或已经泄密。安全服务器计算机还可以分析安全通知数据或安全通知数据的衍生物,以确定由未授权用户进行的访问的类型,诸如检测到未授权访问的安全元件模块的类型。安全服务器计算机可以提前知道如果某些类型的数据泄密出现会生成什么密码。

在步骤s120,安全服务器计算机20可以将关于便携式通信装置10是否已经被泄密的指示提供至支付处理网络50。在一个实施例中,支付处理网络50可以向例如便携式通信装置10的已知授权用户、向基于云的支付平台或者向任何其它各方诸如发行方60报告便携式通信装置10已经被未授权用户访问,支付交易已经被尝试。在又一些其它的实施例中,支付处理网络50可以代表发行方简单地生成拒绝交易的授权响应消息,并且可以将授权响应消息经由收单方计算机和支付处理网络50传送回访问装置30。在又一些其它的实施例中,支付处理网络50可以使用泄密的指示作为欺诈评分的输入,此欺诈评分可以在修改的授权请求消息中被传送至发行方计算机50。支付处理网络50还可以采取另外的措施,诸如自动地拒绝来自相同的便携式通信装置10的任何后续的交易。

在步骤s122,支付处理网络50然后可以将授权请求消息传送至发行方60以进行批准。在一些实施例中,如果便携式通信装置10已经被泄密,则泄密或安全通知数据或其衍生物的指示可以包括在授权请求消息中。

在步骤s124,在接收授权请求消息之后,发行方计算机可以分析授权请求消息,并且可以确定是否授权交易,然后可以将授权响应消息发送回支付处理网络。如果发行方计算机60确定便携式通信装置10已经被泄密,则其可以选择拒绝交易,或者其可以替代性地或者附加地通知操作便携式通信装置10的消费者便携式通信装置10已经被泄密。

在步骤s126,支付处理网络可以将授权响应消息发送至收单方计算机40。

在步骤s128,收单方计算机40将授权响应消息发送到访问装置128。

在步骤s130,在一些情况下,访问装置128可以将指示交易的完成的一些其它消息(例如收条)发送至便携式通信装置10。

在一天结束或者某个其它时间,如果支付交易实际有效,则可以在收单方计算机40、支付处理网络50和发行方计算机60之间进行清算和结算过程。如果交易被拒绝,则不进行任何清算和结算。

图5b示出对根据本发明的实施例的方法进行图解说明的流程图,其中,安全服务器计算机的功能被合并到支付处理网络中,但与参照图5a在上文描述的方法有某种相似。

参照图5b,在收单方计算机40将授权请求消息传送至支付处理网络50(在步骤s112)之后,在步骤s215,支付处理网络50执行各种功能。具体地,在步骤s215,支付处理网络50可以从授权请求消息中包括的支付包数据提取安全通知数据,并确定便携式通信装置10是否已经被泄密。它可以执行在图5a的步骤s116中在上文描述的功能。在步骤s122,支付处理网络50然后可以将授权请求消息传送至发行方60以进行批准。如果便携式通信装置10已经被泄密,则泄密或安全通知数据或其衍生物的指示可以包括在授权消息中。所述方法然后可以如参照图5a描述的继续。

本发明的实施例具有许多优点。例如,因为本发明的实施例能够通过与常规的蜂窝通信信道不同的数据信道将安全通知数据传送至安全服务器或支付处理网络,欺诈者和黑客不能通过关闭与通过蜂窝网络传送这些数据关联的电子器件来阻止装置泄密的通知。此外,因为安全通知数据可以被修改为衍生物,诸如密码,所以不需要任何架构改变来通过第二通信信道将泄密的指示传递至远程安全服务器。

图6示出根据本发明的实施例用于在便携式通信装置10和访问装置30之间通信的系统和方法进行图解说明的流程图。可以参照图1描述便携式通信装置10和访问装置30。

为了发起所述方法,用户可以选择在商家购买的一个或多个商品和/或服务,然后发起支付交易。用户可以选择经由便携式通信装置10支付。在一些实施例中,用户可以激活数字钱包应用,选择支付账户,并发起支付功能。在其它实施例中,支付功能可以是自动的。在任何一种情况下,用户可以保持使便携式通信装置10靠近访问装置30(例如在其通信接近度内)。

在一些实施例中,然后可以通过在便携式通信装置10和访问装置30之间交换消息(例如应用协议数据单元(apdu)消息)执行非接触交易。消息可以是从访问装置30发送至便携式通信装置10的apdu命令以及从便携式通信装置10发送至访问装置30的apdu响应的形式。如在本方法中描述的,nfc会被用于通信。然而,实施例同样允许使用其它通信手段(例如ble、rfid)。

在步骤s1,当访问装置30检测便携式通信装置10存在时,访问装置30可以通过以下发起交易:将可用的应用请求发送至便携式通信装置10,以请求关于哪个支付应用(例如应用标识符或“aid”的列表)的信息可以用于便携式通信装置10的数字钱包应用。在一些实施例中,可用的应用请求可以是选择ppse(接近支付系统环境)命令的形式。可用的应用请求可以包括支付环境标识符(例如ppse名称,诸如“2pay.sys.ddf01”)以标识由访问装置30和移动应用支持的支付环境。

在步骤s2,便携式通信装置10可以通过将可用的应用响应发送回访问装置30来进行响应。可用的应用响应可以包括可用的aid的列表,并且可以包括支付环境标识符(例如ppse名称)。在一些实施例中,可用的应用响应可以是选择ppse响应的形式。

在步骤s3,访问装置30可以从在可用的应用响应中接收的应用的列表中选择适当的应用(例如通过从可用的aid选择一个aid)。例如,访问装置30可以选择由访问装置30和便携式通信装置10都支持的接近支付应用。访问装置30还可以将具有选择的aid的应用选择消息发送至便携式通信装置10。在一些实施例中,应用选择可以是选择aid(或adf)命令的形式。

在步骤s4,便携式通信装置10可以将对于交易数据的请求发送至访问装置30,可能需要这些数据使用选择的应用/aid执行交易。在一些实施例中,请求可以是选择aid(或adf)响应的形式。请求可以包括交易数据标识符的列表,该列表可以是处理选择数据对象列表(pdol)的形式。请求的交易数据可以包括终端交易限定符(ttq)、授权金额、其它金额、终端国家代码、终端验证结果、交易货币代码、交易数据、交易类型和/或不可预测的数字。

在步骤s5,访问装置30可以发送请求的终端交易数据。在一些实施例中,终端交易数据可以以获得处理选择(gpo)命令的形式发送,并且可以包括在处理选择数据对象列表(pdol)中的请求的终端交易数据。

在步骤s6,便携式通信装置10可以使用接收的终端交易数据中的至少一些生成动态交易处理信息,并将一组交易处理信息发送至访问装置30。在一些实施例中,交易处理信息可以以gpo响应的形式发送。在一些实施例中,交易处理信息可以包括一个或多个应用文件定位符(afl),其可以被访问装置30用作文件地址以读存储在便携式通信装置10上的账户数据。

另外,便携式通信装置10可以识别如本文中讨论的安全通知数据。便携式通信装置10然后可以将安全通知数据或安全通知数据的衍生物增加到访问装置30,使得访问装置30能够与交易处理信息一起检索安全通知数据或安全通知数据的衍生物。尽管在此示例中,安全通知数据或其衍生物的传递在步骤s6中传递,但其可以在任何其它适当的消息中从便携式通信装置10传递至访问装置30。

在步骤s7,访问装置30可以将账户数据请求发送至便携式通信装置10,以读存储在便携式通信装置10处的账户数据。在一些实施例中,账户数据请求可以是读记录命令的形式,并且可以包括指示账户数据的方位的应用文件定位符(afl)。

在步骤s8,便携式通信装置10可以将账户数据发送至访问装置30。在一些实施例中,账户数据可以以读记录响应的形式发送。账户数据可以包括例如磁道-2等同数据和持卡人姓名和/或在afl方位可访问的其它账户有关数据。

已经获得必需数据后,访问装置30然后可以利用获得的数据元素的一些或全部(例如来自交易处理信息、安全通知数据或安全通知数据的衍生物和账户数据),以生成交易授权请求消息,如本文中进一步描述的。

注意,尽管上述的实施例具体涉及支付,但本发明的实施例还可以应用于其它领域。例如,可以使用便携式通信装置来访问建筑物、场馆或特定方位。装置篡改的证据还可以在从通信装置传递至访问装置以获得对特定方位的访问的密码中传递。以类似方式,与场馆或方位关联的计算机可以确定通信装置是否已经被泄密。

例如,图7示出根据本发明的实施例的建筑物访问系统的框图。图7示出由用户206操作的便携式通信装置210。已经确定便携式通信装置210上的软件已经如上面描述的以异常方式被修改,安全通知数据已经如上面描述的生成。便携式通信装置210能够与访问装置220交互,连同访问数据一起将安全通知数据传递至访问装置220。访问装置220可以本地分析安全通知数据和访问数据以确定是否批准对建筑物230的访问,或者其可以与位于远程的服务器计算机(未显示)通信。位于远程的服务器计算机可以分析安全通知数据以确定是否应当批准对建筑物230的访问,并且可以将指示此信息的信号传送回访问装置220。访问装置220然后可以继续以允许或拒绝由用户206对建筑物230进行的访问。

在本文中参照图1描述的各个参与方和元件可以操作一个或多个计算机设备以促进本文中描述的功能。图1中的任何元件包括任何服务器或数据库可以使用任何适当数目的子系统以促进本文中描述的功能。

这些子系统或部件的示例示于图8中。图8中所示的子系统经由系统总线445互连。示出了附加的子系统,诸如打印机444、键盘448、固定磁盘449(或包括计算机可读介质的其它存储器)、耦连至显示适配器482的监视器446和其它。耦连至i/o控制器441(其可以是处理器或其它适当的控制器)的外围设备和输入/输出(i/o)装置能够通过本领域已知的任何手段诸如串行端口484连接到计算机系统。例如,串行端口484或外部接口481能够用来将计算机设备连接到广域网(诸如互联网)、鼠标输入装置或扫描器。经由系统总线的互连允许中央处理器443与每个子系统通信,并控制来自系统存储器442或固定磁盘449的指令的执行以及信息在这些子系统之间的交换。系统存储器442和/或固定磁盘449可以体现计算机可读介质。

可以与基于云的支付平台结合实现本发明的实施例,基于云的支付平台通过花费的钱和交易量跟踪高级用户,使得知道任何潜在的较高风险的通信装置。此信息可以对软件提供者(诸如移动应用提供者)可用,以进行支付风险管理决策。

本申请中描述的任何软件组件或功能可以实现为使用任何适当计算机语言(比方说例如java、c++、或perl),使用例如传统的或面向对象的技术由处理器执行的软件代码。软件代码可以存储为计算机可读介质上的一系列指令或命令,计算机可读介质诸如随机存取存储器(ram)、只读存储器(rom)、磁介质(诸如硬盘或软盘)或光介质(诸如cd-rom)。任何这种计算机可读介质可以驻存在单个计算设备上或驻存在单个计算机设备内,可以位于系统或网络中的不同计算机设备或在系统或网络中的不同计算设备上。

上文的描述是示意性的不是限制性的。在查看本公开后本领域技术人员会明白本发明的许多变形。因此,本发明的范围不应当参照上文的描述确定,而应当参照未决的权利要求连同其全部范围或等同物确定。

在不偏离本发明的范围下,来自任一实施例的一个或多个特征可以与其它任何实施例的一个或多个特征组合。

除非明确指示有相反的意思,“一(a)”、“一(an)”、“所述(the)”的叙述旨在表示“一个或多个”。

本文提到的所有专利、专利申请、公开和描述出于所有目的通过引用被全部并入本文中。不承认他们为现有技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1