CN117043802A - 用于安全交易的系统和方法 - Google Patents
用于安全交易的系统和方法 Download PDFInfo
- Publication number
- CN117043802A CN117043802A CN202280023175.7A CN202280023175A CN117043802A CN 117043802 A CN117043802 A CN 117043802A CN 202280023175 A CN202280023175 A CN 202280023175A CN 117043802 A CN117043802 A CN 117043802A
- Authority
- CN
- China
- Prior art keywords
- transaction
- client
- merchant
- application
- key
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 94
- 238000012795 verification Methods 0.000 claims abstract description 61
- 230000000007 visual effect Effects 0.000 claims abstract description 35
- 230000004044 response Effects 0.000 claims abstract description 11
- 238000012544 monitoring process Methods 0.000 claims description 66
- 230000006870 function Effects 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 25
- 230000000977 initiatory effect Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 230000010354 integration Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012502 risk assessment Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000003339 best practice Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004900 laundering Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/32—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
- G06Q20/322—Aspects of commerce using mobile devices [M-devices]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06018—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding
- G06K19/06028—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding using bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06037—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/32—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
- G06Q20/326—Payment applications installed on the mobile devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/32—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
- G06Q20/327—Short range or proximity payments by means of M-devices
- G06Q20/3276—Short range or proximity payments by means of M-devices using a pictured code, e.g. barcode or QR-code, being read by the M-device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4012—Verifying personal identification numbers [PIN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/409—Device specific authentication in transaction processing
- G06Q20/4097—Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/20—Point-of-sale [POS] network systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Finance (AREA)
- Signal Processing (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Hardware Redundancy (AREA)
- Preparation Of Compounds By Using Micro-Organisms (AREA)
Abstract
本文描述的是用于进行安全交易的系统和方法。在一个实施例中,提供了在商家与客户之间进行安全交易的方法(300)。方法(300)包括:通过在商家终端(104)处捕获客户的主账号和交易金额发起在客户与商家之间的交易。基于主账号和交易金额生成对交易是唯一的交易标识符。然后将交易标识符编码在视觉表示中并呈现在显示器上,使得其可以被客户设备上的相机捕获。作为响应,在客户设备(106)上启动客户应用程序。客户应用程序被配置为:控制客户设备(106)向客户呈现用户界面,以输入与客户的主账号相关联的PIN码;以及为PIN码生成PIN块,并将PIN块传输到交易服务器(102)进行验证。然后从与客户账户相关联的金融机构生成交易的验证或拒绝。最后,将交易的验证或拒绝传输到商家终端(104)以完成交易。
Description
技术领域
本申请涉及支付系统,并且更具体地涉及用于在商家与客户之间进行安全交易的系统、方法和软件应用程序。
本发明的实施例尤其适用于进行交易,其中,用于读取客户卡的设备是独立于用于输入PIN的设备的。优选地,PIN输入设备是客户拥有的设备,诸如智能电话或平板电脑。然而,将明白,本发明在更广泛的背景和其它应用中是能够应用的。
背景技术
接受信用/借记卡的设备的类型正在扩展超出为处理此类卡专门地设计的传统的多处理器安全销售点电子资金转账(Electronic Funds Transfer at Point Of Sale,EFTPOS)设备。目前存在被称为PCI-CPoC的支付卡行业(Payment Card Industry,PCI)标准,以支持商用现货(Commercial Off-The-Shelf,COTS)设备,诸如智能电话和平板,读取信用/借记EMV非接触式卡。还存在被称为PCI-SPoC的另一种PCI标准,PCI-SPoC支持COTS设备在被连接到经批准的PIN安全读卡器(Secure Card Reader for PIN,SCRP)设备时接受个人识别码(Personal Identification Number,PIN)输入。然而,目前还没有针对仅使用COTS设备进行卡读取和PIN输入两者的经批准的标准。
由于将卡数据(包括卡号和到期日)和PIN两者的处理组合在相同设备上的安全风险,全球支付标准目前不允许在与读卡器相同的COTS设备上输入PIN。风险与有人破解捕获了卡数据和卡数据的关联PIN两者的处理器的内存的能力相关。这种风险远远大于仅仅捕获卡号。为了满足这个标准,安全的EFTPOS设备具有两个处理器;一个用于一般的处理,并且另一个用于敏感的安全功能,诸如在与主处理器隔离的情况下安全地捕获PIN,然后在将PIN传递到主处理器之前将PIN变换为加密的PIN块。此外,通过要求客户在商家PCI-CPoC批准的设备上输入他们的PIN,客户可能不愿意在不熟悉的设备处输入他们的PIN。
贯穿说明书的背景技术的任何讨论不应被认为是承认这种技术是众所周知或形成本领域公知常识的一部分。
发明内容
根据本发明的第一方面,提供了一种在商家与客户之间进行安全交易的方法,该方法包括:
在商家终端与交易服务器之间发起第一安全监控会话;
在第一安全监控会话期间,在商家终端处捕获客户主账号(Primary AccountNumber,PAN),客户PAN与在金融机构处的客户账户相关联;
将对交易的请求从商家终端发送到交易服务器,请求包括客户PAN和交易金额;
在交易服务器处生成对该交易是唯一的交易标识符(TRANS-ID),并且将TRANS-ID发送到商家终端;
将TRANS-ID编码在视觉表示中,并且在显示器上呈现视觉表示;
允许由在客户设备上的相机捕获视觉表示;
响应于视觉表示的捕获,启动在客户设备上的客户应用程序,其中,客户应用程序被配置为:
在客户设备与交易服务器之间发起第二安全监控会话;
控制客户设备向客户呈现用户界面,以输入与客户PAN相关联的PIN码;
使用从服务器下载的随机主账号为PIN码生成PIN块,并且将PIN块传输到交易服务器以进行验证;
在交易服务器处,从与客户账户相关联的金融机构获得交易的验证或拒绝;以及
将交易的验证或拒绝传输到商家终端,以完成交易。
在一些实施例中,商家终端被授权经由商家应用程序与交易服务器通信,商家应用程序使用第一统计上唯一的随机数(MA-RAND1)作为临时商家标识符来被存储在商家终端上。临时商家标识符是唯一地标识用于交易的商家的临时识别码。临时商家标识符不是固定的、并且针对所有交易被注册到特定的商家的常规商家ID。
在一些实施例中,发起第一安全监控会话的步骤包括:
i)在商家应用程序处创建第二统计上唯一的随机数(MA-RAND2);
ii)使用MA-RAND2和用于商家应用程序版本的唯一种子值作为密钥参数来生成会话密钥(MA-SESSION-KEY);
iii)计算MA-SESSION-KEY的密钥校验值(Key Check Value,KCV);
iv)将MA-RAND1 XOR MA-RAND2和KCV从商家应用程序发送到交易服务器,其中,XOR表示按位异或函数;
v)在交易服务器处计算MA-SESSION-KEY,并且对照从商家应用程序接收的KCV验证KCV;
vi)将白盒密码表从交易服务器发送到商家应用程序,其中,白盒密码表使用MA-SESSION-KEY来加密;
vii)在商家应用程序处使用MA-SESSION-KEY解密白盒密码表,并且用新解密的表替换当前的白盒密码表;
viii)用MA-RAND2替换MA-RAND1;以及
ix)在第一安全监控会话期间以预定义的时间间隔重复步骤vi)至viii)。
在一些实施例中,MA-SESSION-KEY通过将单向函数应用于MA-RAND2和唯一种子值两者来生成。
在一些实施例中,在在交易服务器处计算的KCV与从商家应用程序接收的KCV不匹配的情况下,交易服务器将用备用的统计上唯一的随机数(MA-RAND1-BAK)替换MA-RAND1。优选地,在在交易服务器处计算的KCV与从商家应用程序接收的KCV不匹配的情况下,引发错误条件。在预定义的数量的错误条件之后,商家应用程序可以请求服务器生成替代的第一统计上随机数MA-RAND1。
在一些实施例中,白盒密码表包括嵌入式单次使用密钥。在一些实施例中,单次使用密钥是AES-256对称式单次使用密钥。
在一些实施例中,白盒密码表以在1至5秒的范围内的时间间隔被替换。在一些实施例中,白盒密码表以每2秒的时间间隔被替换。
在一些实施例中,在第一安全监控会话期间,商家应用程序执行校验例程,以通过检查商家终端的操作系统、存储器和/或存储的代码和文件的完整性来校验篡改的迹象。
优选地,商家应用程序在商家终端的可信执行环境内执行。
在一些实施例中,在第一安全监控会话期间,商家应用程序每秒至少一次向交易服务器报告来自校验例程的数据,并且交易服务器将报告的数据与商家应用程序的预期结果以及商家应用程序正在其上执行的设备类型相比较。
在一些实施例中,视觉表示包括QR码。在其它实施例中,视觉表示包括条形码。
在一些实施例中,商家终端是个人移动设备。个人移动设备可以是智能电话或平板电脑。
在一些实施例中,在客户设备与交易服务器之间发起第二安全监控会话的步骤包括:
a)在客户应用程序处创建统计上唯一的随机数(CA-RAND);
b)使用CA-RAND和用于客户应用程序版本的第二唯一种子值作为密钥参数来生成会话密钥(CA-SESSION-KEY);
c)在客户应用程序处计算CA-SESSION-KEY的第二密钥校验值(KCV2),并且将KCV2和将TRANS-ID与TIMESTAMP1 XOR CA-RAND组合的函数结果的散列发送到交易服务器;
d)在交易服务器处计算CA-SESSION-KEY,并且对照从客户应用程序获得的KCV2验证KCV2;
e)将白盒密码表、第二交易时间戳(TIMESTAMP2)和随机PAN从交易服务器发送到客户应用程序,其中,白盒密码表使用CA-SESSION-KEY来加密;
f)在交易服务器处,用CA-RAND替换TRANS-ID并且用TIMESTAMP2替换TIMESTAMP1;
g)在客户应用程序处使用CA-SESSION-KEY解密白盒密码表,并且用新解密的表替换当前的白盒密码表;
h)在客户应用程序处,用CA-RAND替换TRANS-ID并且用TIMESTAMP2替换TIMESTAMP1;
i)在第二安全监控会话期间以预定的时间间隔重复步骤f)至h)。
在一些实施例中,通过将单向函数应用于CA-RAND和第二唯一种子值在交易服务器处计算CA-SESSION-KEY。在一些实施例中,通过从将TRANS-ID与TIMESTAMP1 XOR CA-RAND组合的函数结果的散列中提取CA-RAND,在交易服务器处计算CA-SESSION-KEY。
在一些实施例中,在在交易服务器处计算的KCV2与从客户应用程序接收的KCV2不匹配的情况下,交易服务器用较旧的备份值替换TRANS-ID和TIMESTAMP1。
在一些实施例中,白盒密码表以在1至5秒的范围内的时间间隔被替换。在一些实施例中,白盒密码表以每2秒的时间间隔被替换。优选地,白盒密码表在结束第一安全监控会话和第二安全监控会话的情况下被删除。
在一些实施例中,在第二安全监控会话期间,客户应用程序执行校验例程,以通过检查客户设备的操作系统、存储器和/或存储的代码和文件的完整性来校验篡改的迹象。优选地,客户应用程序在客户设备的可信执行环境内执行。
在一些实施例中,在第二安全监控会话期间,客户应用程序每秒至少一次向交易服务器报告来自校验例程的数据,并且交易服务器将报告的数据与客户应用程序的预期结果以及客户应用程序正在其上执行的设备类型相比较。
根据本发明的第二方面,提供了一种在商家与客户之间进行安全交易的方法,该方法包括:
通过在商家终端处捕获客户的主账号(PAN)和交易金额来发起在客户与商家之间的交易;
基于PAN和交易金额生成对该交易是唯一的交易标识符(TRANS-ID);
将TRANS-ID编码在视觉表示中,并且在显示器上呈现视觉表示;
允许由在客户设备上的相机捕获视觉表示;
响应于在客户设备上的视觉表示的捕获,启动在客户设备上的客户应用程序,其中,客户应用程序被配置为:
控制客户设备向客户呈现用户界面,以输入与客户的PAN相关联的PIN码;
为PIN码生成PIN块,并且将PIN块传输到交易服务器以进行验证;
从与客户账户相关联的金融机构获得交易的验证或拒绝;以及
将交易的验证或拒绝传输到商家终端,以完成交易。
根据本发明的第三方面,提供了一种计算机系统,计算机系统被配置为执行根据第一方面或第二方面的方法。
根据本发明的第四方面,提供了一种非瞬态载体介质,非瞬态载体介质具有被存储在非瞬态载体介质上的指令,使得在指令被执行在计算机上的情况下,计算机被配置为执行根据第一方面或第二方面的方法。
根据本发明的第五方面,提供了一种软件应用程序,软件应用程序能够在客户移动设备上执行,并且被配置为促进在客户移动设备与商家终端之间进行安全交易的方法,该方法包括:
响应于由商家终端接收的请求,客户移动设备的处理器处理客户移动设备的相机捕获的数字图像,该图像包括对该交易是唯一的编码的交易标识符(TRANS-ID);
在客户移动设备与交易服务器之间发起安全监控会话;
控制在客户移动设备上的用户界面向客户呈现界面,以输入与客户的客户主账号(PAN)相关联的PIN码;
在在界面处接收到PIN码的情况下,为PIN码生成PIN块并且将PIN块传输到交易服务器以进行验证,以从与客户账户相关联的金融机构获得交易的验证或拒绝。
在一些实施例中,软件应用程序还被配置为在客户移动设备处接收交易的验证或拒绝,并且在客户移动设备的显示器上向客户显示验证或拒绝。
根据本发明的第六方面,提供了一种服务器,服务器被配置为促进在客户移动设备与商家终端之间进行安全交易的方法,该方法包括:
与商家终端进行第一安全监控会话,其中,在第一安全监控会话期间,在商家终端处捕获客户主账号(PAN),客户PAN与在金融机构处的客户账户相关联;
从商家终端接收对交易的请求,请求包括客户PAN和交易金额;
生成对该交易是唯一的交易标识符(TRANS-ID),并且将TRANS-ID发送到商家终端,其中,TRANS-ID被编码在视觉表示中,并且被呈现在显示器上以由在客户设备上的相机捕获;
与客户设备进行第二安全监控会话,其中,在第二安全监控会话期间,客户设备被控制为:
向客户呈现用户界面,以输入与客户PAN相关联的PIN码;以及使用从服务器下载的随机主账号为PIN码生成PIN块,并且将PIN块传输到服务器以进行验证;
接收PIN块,并且从与客户账户相关联的金融机构获得交易的验证或拒绝;以及
将交易的验证或拒绝传输到商家终端,以完成交易。
根据本发明的第七方面,提供了一种服务器,服务器被配置为促进在客户移动设备与商家终端之间的安全交易,其中,商家终端被控制为捕获客户主账号(PAN),并且客户移动设备被控制为允许输入与客户PAN相关联的PIN码,以完成交易。
在一些实施例中,客户移动设备被授权用于在销售点处的交易。在一些实施例中,通过由客户移动设备的相机捕获QR码来提供授权。
本发明的实施例允许捕获PIN的设备独立于读取卡的设备。具体地,本发明允许PIN输入设备是客户设备。客户卡可以是被存储在移动电话数字钱包中的,或者是物理卡。
平常情况下,客户仅需要向EFTPOS保护的设备或CPoC批准的设备呈现信用/借记卡(或等效物)。除非支付交易金额超过交易下限,否则平常情况下不要求输入PIN。在本发明中,商家终端显示QR码(或其它视觉表示),以将从交易服务器获得的唯一交易ID传输到客户设备(电话或平板),而不是提示输入PIN。
客户设备具有能够扫描QR码或其它视觉表示并且自动地将小型应用程序,诸如即时应用程序,下载到客户设备的相机。该小型应用程序的主要目的是安全地提示输入客户的PIN,然后将加密的PIN块连同交易ID一起安全地传输到交易服务器。唯一交易ID允许监控/处理服务器将卡号与关联的PIN组合。为了安全地操作,小型应用程序不断地校验其完整性和客户设备的底层操作系统的完整性,并且不断地或周期性地向负责监控应用程序以及在PIN输入期间证实应用程序的安全性的服务器报告。这包括使用统计上唯一的密钥来进行加密,并且在不能访问在客户设备内的安全元件或可信安全环境的情况下,使用白盒密码来进行加密。服务器将来自商家终端的卡号与来自客户设备的PIN块组合,并处理支付交易。
在应用程序已经被下载到客户的设备中的情况下,扫描QR码将立即启动/激活应用程序。否则,可以下载并然后执行较小版本的应用程序,诸如即时应用程序或应用程序剪辑。
此外,COTS设备诸如移动电话和平板缺乏传统的独立EFTPOS设备具有的打印机。如果要求的话,商家可以具有外部收据打印机,以履行商家的、向客户提供支付收据的义务。替代地,数字收据可以经由客户应用程序传送到客户设备。替代地或附加地,商家设备可以提示输入客户电子邮件地址或移动电话号码,以发送收据的URL链接。
即使交易不要求PIN输入,商家终端仍然可以显示客户可以可选地扫描以下载完整的应用程序并获得电子交易收据的QR码或其它视觉表示。相同的应用程序然后可以用于查看客户的过去交易,并且处理服务器能够向客户提供忠诚度奖励。还可以通过应用程序通知客户使用相同的信用/借记卡进行未来的交易。
附图说明
现在将仅通过示例的方式,参考附图描述本公开的示例实施例,其中:
图1是用于进行安全交易的系统的示意图,示出了在交易过程中的步骤;
图2是智能电话的系统示意图,示出了智能电话的主要功能组件;
图3是示出了在进行安全交易的方法中的主要步骤的过程流程图;
图4是示出了在商家登录中的示例性子步骤的过程流程图;
图5是示出了在商家终端与交易服务器之间发起安全监控会话中的示例性子步骤的过程流程图;以及
图6是示出了在客户设备与交易服务器之间发起安全监控会话中的示例性子步骤的过程流程图。
具体实施方式
系统概述
首先参考图1,示意性地示出了用于进行安全交易的系统100。系统100包括交易服务器102,交易服务器102用于促进在客户、商家、金融机构与支付提供商之间的交易。
交易服务器102可以是符合支付卡行业数据安全标准(Payment Card IndustryData Security Standard,PCI-DSS)的服务器,符合PCI-DSS的服务器保护敏感的卡数据,诸如主账号(Primary Account Number,PAN)和PIN块。服务器利用硬件安全模块(HardwareSecurity Module,HSM)进行加密功能,加密功能包括转换(即,重新加密)PIN块、校验设备请求的完整性、添加消息认证码(Message Authentication Code,MAC)以允许设备校验服务器消息和响应的完整性,以及加密/解密敏感的持卡者数据。
交易服务器102可以是具有多个防火墙层和安全访问控制规则的前端。外围防火墙通常是网页应用防火墙(Web Application Firewall,WAF),网页应用防火墙还可以检测分布式拒绝服务攻击。
与交易服务器102的通信优选地使用TLSv1.2或更高版本来完全地加密,并且与交易服务器102的通信通常使用网页套接字,但是可以使用HTTPS RESTful消息。
交易服务器102的主要目的为三个方面;1)在卡出示期间监控商家设备,并且在PIN输入期间监控客户设备;2)证实商家和客户设备的完整性;以及3)处理与收单机构(例如,银行)和/或体系(例如,VISA、万事达卡或美国运通)的金融交易。
交易服务器102可以是具有微服务或服务器的后端,微服务和服务器用于按照独立的金融支付处理实体的委任/要求,以安全加密的结构向金融网络转发请求和从金融网络接收响应。
交易服务器102可以由支付交易收单机构诸如银行(支付交易收单机构还可以是账户发行方)托管,或者可以由第三方诸如支付交换提供商或支付网关提供商托管。交易服务器102可以被实施为单独的计算机处理器的分布式资源诸如内部部署或云计算资源,或者可以被实施在单个内部部署或云硬件设备上。
系统100还包括商家终端104,商家终端104由商家诸如与客户进行交易的企业托管和操作。在一些实施例中,商家终端104呈移动设备诸如智能电话或平板电脑的形式,智能电话或平板电脑具有关联的处理器、显示器和内部读卡器设备。呈移动设备的形式的商家终端104还可以包括其它连接的设备,诸如外部读卡器,外部读卡器用于经由近场通信(Near Field Communication,NFC)协议读取来自信用卡、借记卡或其它移动设备的信息。呈移动设备的形式的商家终端104经由蜂窝网络诸如3G、4G或5G或者经由WIFI与互联网无线地通信,以将数据通信到交易服务器102以及从交易服务器102通信数据。
在其它实施例中,商家终端104呈销售点电子资金转账(Electronic FundsTransfer at Point Of Sale,EFTPOS)终端的形式,销售点电子资金转账终端被电地或无线地连接到互联网接入点,并且继而,经由互联网与交易服务器102通信。EFTPOS终端可以包括其它关联的设备,诸如读卡器设备(例如,刷、接触或非接触)和一个或多个显示设备,读卡器设备用于读取来自信用卡或移动设备的信息,一个或多个显示设备用于向商家或客户显示关于交易的信息。这些设备可以独立于EFTPOS终端,但是与EFTPOS终端通信。因此,商家终端104可以包括单个设备或彼此协同工作的多个设备。
系统100还包括客户设备106,客户设备106通常采取移动设备诸如智能电话或平板电脑的形式。然而,客户设备106还可以包括其它设备,诸如能够穿戴的设备(例如,智能手表)和数字媒体播放器。
现在参考图2,示意性地示出了常规的智能电话200,常规的智能电话200可以被用作客户设备106或者被用作商家终端104。智能电话200包括处理器202,处理器202用于处理被存储在存储器204中的数据。处理器202和存储器204形成智能电话200的中央处理器(Central Processing Unit,CPU)206。
智能电话200还包括无线收发器模块208,无线收发器模块208用于无线地发送和接收信号,以允许智能电话200与其它设备和系统通信。无线收发器模块208可以包括各种常规的设备,各种常规的设备用于通过数个不同的传输协议诸如Wi-FITM芯片,蓝牙TM芯片,3G、4G或5G蜂窝网络天线无线地通信。NFC设备210被配置为经由射频识别(RadioFrequency IDentification,RFID)和关联的数据传输协议在智能电话200与其它设备之间建立连接。
智能电话200还包括:显示器212,诸如触摸屏显示器,用于向用户显示信息;麦克风/扬声器212,用于接收音频输入并且用于向用户输出音频信息;GPS设备216,用于接收GPS位置信号;以及加速度计218或其它惯性测量单元(Inertial Measurement Unit,IMU),用于检测移动设备200的运动。
最后,智能电话200包括一个或多个相机220,一个或多个相机220用于从智能电话200捕获数字图像。处理器202包括硬件和/或软件,硬件和/或软件被配置为处理从相机220捕获的图像,诸如解码快速响应(Quick Response,QR)码、条形码和其它图像。智能电话200还可以包括一个或多个照明设备,诸如LED,一个或多个照明设备用于在相机220捕获图像期间照明场景。处理器202充当用于控制智能电话200的各种组件的设备控制器,各种组件包括相机220、无线收发器208和显示器212。
进行安全交易的方法
现在参考图3,系统100能够促进在商家与客户之间进行安全交易的方法300。方法300包括初始登录设置步骤301和主要交易步骤302至308。由于仅需要在最初执行初始登录步骤301以在商家终端104与交易服务器102之间建立授权的连接,初始登录步骤301以虚线示出。由于常规的EFTPOS终端遵循常规的最佳实践登录技术,该登录过程通常被保留用于商家终端104是移动设备的场景。步骤302至308表示针对每个单独的交易执行的步骤。
在初始步骤301处,开始登录过程,在登录过程中,商家被授权经由交易服务器102进行交易。步骤301包括数个子步骤,如图4所示。在子步骤301a处,商家在商家终端104上下载并安装商家软件应用程序(在下文为“商家应用程序”)。在商家终端104是常规的移动设备诸如智能电话的情况下,商家应用程序可以表示从应用程序商店或数据库诸如苹果应用程序商店数据库或谷歌播放数据库下载的应用程序。在商家终端104表示EFTPOS终端等的情况下,商家应用程序可以是预先下载的应用程序,或者是经由互联网从支付提供商或金融机构下载到终端的应用程序。
在子步骤301b处,商家使用商家应用程序通过提供足够的数据来创建商家贸易账户来完成注册过程。该过程可以包括识别商家、执行商家的风险评估,以及联系商家的代表以获得进一步信息。在该子步骤处搜集的典型信息包括:
·商家名称;
·商家移动/蜂窝电话号码;
·商家电子邮件地址;
·商家结算银行名称和分行;
·包括分行号码的商家结算银行账号;
·待与其创建商家贸易账户的银行收单机构的列表;
·出于后端识别目的而识别商家所需的任何附加项目。
执行商家的风险评估可以包括执行常规的风险校验,诸如了解你的客户(KnowYour Customer,KYC),反洗钱(Anti Money Laundering,AML)和/或反恐怖融资(CounterTerrorism Financing,CTF)校验。
在子步骤301c处,商家应用程序将上面的信息连同统计上唯一的随机数诸如全球唯一标识符(Globally Unique IDentifier,GUID)一起发送到交易服务器102。该统计上唯一的随机数变成商家应用程序标识,并被命名为S-ID。
在子步骤301d处,还可以要求商家激活到其它可信的实体/组织的链接,其它可信的实体/组织将识别商家并将确认发送到服务器。出于隐私目的,输入的商家详情通常不会被记录在服务器中。详情仅发送给商家信任的实体,诸如政府机关。
在子步骤301e处,一旦评估并确认了商家标识和风险水平,交易服务器102就生成随机代码(在本文中被命名为“S-RC”以供参考)。
在子步骤301f处,交易服务器102将S-RC发送到商家终端104或能够接收SMS或电子邮件数据的关联的移动设备。S-RC不被直接地发送到商家应用程序。优选地,在交易服务器102与商家应用程序之间的所有通信使用传输层安全性(Transport Layer Security,TLS)v1.2或更高版本加密所有内容并认证交易服务器102。
在子步骤301g处,商家应用程序创建统计上唯一的随机数(被命名为“MA-RAND1”以供参考)。将S-ID与MA-RAND1连接起来。然后使用可逆函数诸如按位异或(eXclusive-OR,XOR)或对称加密将结果与来自服务器(S-RC)的随机代码组合。商家应用程序向交易服务器102发送结果:(S-RC’XOR(S-ID|MA-RAND1)),或(eS-RC’(S-ID|MA-RAND1))。注意,S-RC’是S-RC的变体,并且“e”表示加密。因此,在该步骤中,商家应用程序使用S-RC’加密S-ID和MA-RAND1的串接。S-RC’充当加密密钥。举例来说,生成S-RC’的一种方式是将S-RC与交易服务器102和商家应用程序版本两者都已知的固定的种子值按位异或。另一个示例是使用单向函数来变换S-RC,然后使用密钥加密密钥(Key Encrypting Key,KEK)散列或加密结果,单向函数包括使用一些方法组合的种子值。变体的选择由交易服务器102和商家应用程序版本确定,并且用于在未来S-RC用于其它目的的情况下提供额外的安全级别并强制功能密钥分离。
在子步骤301h处,商家应用程序安全地删除S-RC。商家应用程序仅安全地存储MA-RAND1。在完成子步骤301a-301h后,商家已登录并被授权为与商家终端104进行交易。
随着商家的登录,现在可以在商家与客户之间实行安全交易。返回到图3,在步骤302处,在检测到交易时,在商家终端104与交易服务器102之间建立连接。可以通过由商家在商家终端104或关联的结账设备处开始结账过程来触发该连接。这可以例如激活在商家终端104内的NFC设备。如果交易是由商家仅使用商家应用程序发起的,那么一旦商家选择交易类型(例如,销售或退款)并输入总额和可选的金额,就会触发交易请求。只有当交易请求被商家应用程序认证和确认时,NFC设备才会被激活以允许随后读取客户的卡(见下面)。
驻留在商家终端104上的商家应用程序可以以三种不同的模式运行:独立模式、应用程序集成模式,或服务器集成模式。该三种模式不是相互排斥的,使得商家应用程序可以通过根据需要使请求排队来同时以多于一种模式操作。
在独立模式中,商家选择金融交易类型,诸如购买(销售)、提现、退款、授权、作废或完成。然后,商家输入请求的金额,请求的金额可以包括可选的返现部分和可选的小费金额。
在应用程序集成模式中,驻留在相同的商家终端104上的第三方商家软件应用程序收集交易类型、交易金额和其它交易数据,诸如购物篮数据(售出的项目:项目价格、项目数量和项目折扣等)。然后,将交易详情作为交易请求经由应用程序到应用程序界面诸如在基于安卓的平台中的“意图”传递到商家应用程序。在一些情况下,第三方商家软件应用程序经由通用串行总线(Universal Serial Bus,USB)、蓝牙或以太网电缆从被物理地连接到商家终端104的个人计算机(Personal Computer,PC)获得交易类型和交易金额。
在服务器集成模式中:服务器从在PC、门户网站或外部平板应用程序等上运行的外部销售点系统获得交易详情。服务器将交易请求中继到在商家COTS设备上运行的商家应用程序。
在步骤303处,在检测到交易时,在商家终端104与交易服务器102之间发起第一安全监控会话。该第一安全监控会话提供安全窗口,商家终端104可以在安全窗口中读取并加密敏感的持卡者数据,诸如PAN。安全监控会话是指与交易服务器102建立的相互认证(例如TLS1.3)连接,其中应用级数据由已建立的白盒密码过程(下面所描述的)使用AES-256进一步加密。在该会话期间,设备(在这种情况下为商家终端104)通过寻找根访问以及利用运行时应用程序安全保护来周期性地证实。在一些实施例中,用于保护交易数据的密钥在1至5秒的时间段内被刷新。
在第一安全监控会话期间,商家应用程序优选地执行校验例程,以通过检查商家终端的操作系统、存储器和/或存储的代码和文件的完整性来校验篡改的迹象。该校验例程可以包括在会话期间对一个或多个数据块执行总和检查或散列值。可以校验操作系统,以确定商家终端104是否是根用户(以允许超级用户或管理员级别访问)、被越狱过的,或者具有被存储的在其上的未经批准的应用程序。校验还可以确定是否安装了操作系统的适当版本或更新,和/或处理器是否正在超频或欠频。
包括执行校验例程的监控的过程优选地以2秒的间隔周期性地执行。在一些实施例中,商家应用程序每秒至少一次向交易服务器报告来自校验例程的数据,并且交易服务器将报告的数据与商家应用程序的预期结果和商家应用程序正在其上执行的设备类型相比较。这些校验的频率和持续时间需要足够快,以确保在敏感的数据可以被泄露之前可以捕获到篡改/破解事件。然而,这个过程的频率受数据传输成本、应用程序性能和在服务器上的负载限制。优选地,在可能且能用的情况下,商家应用程序在商家终端104的可信执行环境内执行。
在一些实施例中,第一安全监控会话在预定义的持续时间诸如30秒、45秒或1分钟之后终止。第一安全监控会话的持续时间可以是能够配置的,但是应当足以允许客户有时间在商家终端104上呈现他们的信用/借记卡或数字钱包。在持续时间已经到期之后,会话被关闭,并且出于安全目的,需要重新发起交易。
下面参考图5描述了在商家终端104与交易服务器106之间发起该第一安全监控会话的示例性子步骤。
在子步骤303a处,商家应用程序控制商家终端104的处理器创建第二统计上唯一的随机数(被命名为“MA-RAND2”以供参考)。
在子步骤303b处,使用MA-RAND2和唯一种子值作为密钥参数来生成会话密钥(被命名为“MA-SESSION-KEY”以供参考)。该唯一种子值可以与商家应用程序版本相对应。在一些实施例中,通过将单向函数应用于MA-RAND2和唯一种子值两者来生成MA-SESSION-KEY。
在子步骤303c处,商家应用程序计算MA-SESSION-KEY的密钥校验值(被命名为“KCV”以供参考)。KCV通常是6位十六进制值。KCV通常是通过用密钥加密零块来计算的。在该实例中的密钥是MA-SESSION-KEY。结果的前6个十六进制数位等于KCV。
在子步骤303d处,商家应用程序将函数(MA-RAND1 XOR MA-RAND2)和KCV从商家应用程序发送到交易服务器102。这里XOR表示按位异或函数,使得(MA-RAND1 XOR MA-RAND2)表示被发送到交易服务器102的第一数据项目,并且KCV表示被发送到交易服务器102的第二数据项目。
在子步骤303e处,交易服务器102通过从在步骤303d中接收的函数中提取会话密钥MA-SESSION-KEY来计算会话密钥MA-SESSION-KEY及其KCV。然后,交易服务器102将对照从商家应用程序接收的KCV验证交易服务器102计算的KCV。如果在交易服务器102处计算的密钥校验值KCV与从商家应用程序接收的密钥校验值KCV不匹配,则如果能用的话,交易服务器102用备用的统计上唯一的随机数(被命名为“MA-RAND1-BAK”以供参考)替换MA-RAND1。如果在交易服务器102处计算的密钥校验值KCV仍然与从商家应用程序接收的密钥校验值KCV不匹配,那么就引发错误条件,并且可以向商家和/或客户发出警报。在一些实施例中,在预定义的数量的错误条件之后,商家应用程序可以向交易服务器102发送生成替代的第一统计上的随机数MA-RAND1的请求。
在子步骤303f处,生成白盒密码表,并将白盒密码表从交易服务器102传输到商家终端104,并由商家应用程序处理白盒密码表。白盒密码表表示用于获取白盒密码会话的字节。在一些实施例中,AES-256密钥由交易服务器使用一些已建立的过程嵌入,然后由商家应用程序利用白盒密码过程导出。白盒密码技术组合了加密和模糊处理的方法,以将秘密密钥嵌入在应用程序代码和密码表内。对称加密方法基于连续移位、旋转和替换操作,连续移位、旋转和替换操作基于正在被加密/解密的数据。密钥和固定值被存储在密码表内。在白盒密码中,密钥被嵌入在密码表内。目标是以代码和密钥对于攻击者是无法区分的方式组合代码和密钥,并且新的“白盒”程序可以在无保障的环境中安全地运行。白盒密码表的大小和长度取决于加密算法。
优选地使用MA-SESSION-KEY加密白盒密码表。在一些实施例中,白盒密码表包括嵌入式单次使用密钥。在一个实施例中,单次使用密钥是AES-256对称式单次使用密钥。
如果交易服务器102使用MA-RAND1计算MA-SESSION-KEY,那么交易服务器102设置MA-RAND1-BAK等于MA-RAND1,然后用MA-RAND2替换MA-RAND1。
在子步骤303g处,商家应用程序执行解密算法,以使用MA-SESSION-KEY解密白盒密码表。用新解密的表替换当前的白盒密码表。
在子步骤303h处,商家应用程序用MA-RAND2替换MA-RAND1。
在步骤303i处,在第一安全监控会话期间以预定义的时间间隔重复步骤303f至303h。在一些实施例中,以在1至5秒的范围内的时间间隔替换白盒密码表。在一个实施例中,以每2秒的时间间隔替换白盒密码表。替换密码表的时间优选地短于破解攻击尝试能够揭露S-KSU密钥的时间。在其它实施例中,在步骤303f至303h中,可以采用黑盒密码代替白盒密码。
重要的是,只有当第一安全监控会话第一次到达步骤303i时,才执行商家终端104的NFC设备的激活。如果NFC设备由于安全违规或通信故障而退出第一安全监控会话,则该NFC设备被停用。一旦已经捕获到敏感的持卡者数据诸如PAN并且不再要求在商家终端104与持卡者的信用/借记卡或令牌之间的通信,NFC设备就也被停用。
返回到图3,在步骤304处,在第一安全监控会话期间,在商家终端102处捕获客户主账号(PAN)。客户PAN可以表示与在金融机构诸如银行处的客户账户相关联的借记或信用卡号、借记或信用卡号的令牌化版本,或借记或信用卡号的加密版本。通过使信用卡、借记卡或具有关联的数字钱包功能的客户设备106与商家终端104接近,可以将这种客户PAN的捕获执行为NFC非接触式支付过程的一部分。这可以触发NFC接口发起与客户的信用/借记卡或运行在客户设备106或另一个支持NFC设备上的数字卡钱包的欧陆卡、万事达卡和Visa(Europay,Mastercard and Visa,EMV)应用协议数据单元(Application Protocol DataUnit,APDU)包交换。然而,该读取过程不会尝试读取客户PAN或客户PAN的令牌以及PAN/令牌到期日期,除非该读取过程具有有效的白盒密码表。替代地,在商家终端104是EFTPOS终端的情况下,可以借助于通过关联的读卡器刷信用或借记卡来捕获PAN。
EMV包交换致使商家应用程序获得以下信息:
·PAN或PAN的令牌号;
·PAN/令牌到期日期;
·提供与卡/令牌发行商的点对点加密的卡或数字钱包密码;
·设备、卡和可变的交易详情;以及
·脱机认证结果。
从商家应用程序捕获数据的时间直到商家应用程序使用S-KSU加密数据的时间,商家应用程序都会保护上面的数据项目。之后立即删除白盒密码表。
在步骤305处,将对交易的请求从商家终端104传输到交易服务器102。该请求包括客户PAN、或客户PAN的加密版本,以及用于交易的交易金额(例如,$250)。
在步骤306处,交易服务器102生成交易标识符(被命名为“TRANS-ID”以供参考),交易标识符对正在被请求的交易是唯一的。交易标识符优选地是显著长的值,以便被认为是统计上唯一的。举例来说,TRANS-ID可以是60位十六进制值。该交易标识符被发送到商家终端104以用于商家应用程序后续使用。交易服务器102还可以生成与请求或发起交易的时间相对应的第一时间戳(被命名为“TIMESTAMP1”以供参考)。
如果交易金额小于预定义的阈值金额,诸如$100,则交易可以在不需要客户输入PIN的情况下继续进行。在这种不要求PIN的情况下,交易从交易服务器102通过金融网络到达发行商以获得金融结果(批准或拒绝)。
在步骤307处,交易标识符被编码在视觉表示诸如QR码、条形码或具有数据点的一维、二维或三维分布的其它数字图像中。第一时间戳还可以被编码到QR码或视觉表示中。在一些实施例中,交易标识符被编码到在一系列图像帧上变化的视觉数据点的序列中。编码的视觉表示被呈现在对客户可见的商家终端104的显示器上。在商家终端104是移动设备的情况下,该显示器可以是那个移动设备的显示器。通过处理器202控制显示器212以显示QR码或其它图像的常规方式在显示器212上视觉地显示该编码的视觉表示,将该表示呈现给用户。
在步骤308处,被呈现在显示器上的视觉表示可以由在客户设备106上的相机220捕获。这可以通过打开被专用于控制相机220的主要软件应用程序或具有控制相机220的权限的第三方应用程序来执行。
QR码或其它视觉表示包括编码的信息,当由客户设备106的处理器202处理时,编码的信息执行一个或多个功能。特别地,在步骤309处,响应于QR码的捕获,执行在客户设备106上的客户应用程序。如果客户应用程序已经被下载到客户设备106中,则扫描QR码将以常规的方式启动应用程序。所谓“启动”旨在于意指发起和执行在客户设备106上的软件应用程序的功能。这可以包括由处理器202执行算法、在显示器212上渲染图形,以及发起其它设备诸如相机220的控制。取决于客户设备106的权限,即使当在客户设备106上处于非激活状态时,也可以启动应用程序。然而,如果客户应用程序尚未被下载到客户设备106上,在一些实施例中,客户应用程序可以被即时下载,然后作为“即时应用程序”或“应用程序剪辑”在客户设备上执行。这些是能够在移动设备上执行、而无需在设备上安装完整的应用程序的较大的应用程序的小版本。即时应用程序或应用程序剪辑将通常包括完整应用程序功能的子集。在本发明中,客户应用程序(下面描述的)足够小,使得客户应用程序可以在小型应用程序、功能齐全的客户应用程序的即时应用程序或应用程序剪辑版本中执行。然而,在一些实施例中,将提示或鼓励客户下载完整应用程序以获得附加功能。
在步骤310处,客户应用程序被配置为发起第二安全监控会话。该会话在客户设备与交易服务器之间。该第二安全监控会话提供了安全窗口,可以在安全窗口中输入客户的PIN码。在第二安全监控会话期间,客户应用程序优选地执行与在上面描述的第一监控会话中执行的校验例程类似的校验例程。该校验例程通过检查客户设备106的操作系统、存储器和/或存储的代码和文件的完整性来校验篡改的迹象。该校验例程可以包括在会话期间对一个或多个数据块执行总和检查或散列值。可以校验操作系统,以确定客户设备106是否是根用户(以允许超级用户或管理员级别访问)、被越狱过的,或者具有被存储在其上的未经批准的应用程序。校验还可以确定是否安装了操作系统的适当版本或更新,和/或处理器是否正在超频或欠频。在一些实施例中,在第二安全监控会话期间,客户应用程序每秒至少一次向交易服务器报告来自校验例程的数据,并且交易服务器将报告的数据与客户应用程序的预期结果以及客户应用程序正在其上执行的设备类型相比较。
与第一安全监控会话相似,执行校验例程的过程优选地以2秒的间隔周期性地执行。在一些实施例中,客户应用程序每秒至少一次向交易服务器报告来自校验例程的数据,并且交易服务器将报告的数据与客户应用程序的预期结果以及客户应用程序正在其上执行的设备类型相比较。这些校验的频率和持续时间需要足够快,以确保在敏感的数据可以被泄露之前可以捕获到篡改/破解事件。然而,这些校验的频率受数据传输成本、应用程序性能和在客户设备106上的负载限制。优选地,在可能且能用的情况下,客户应用程序在客户设备106的可信执行环境内执行。
在一些实施例中,第二安全监控会话在预定义的持续时间诸如30秒、45秒或1分钟之后终止。第二安全监控会话的持续时间可以是能够配置的,但是应当足以允许客户有时间在客户设备104上输入他们的PIN。在持续时间已经到期之后,会话被关闭,并且出于安全目的,需要重新发起交易。
第二安全监控会话以与上面的第一安全监控会话类似的方式执行。在客户设备106与交易服务器102之间发起安全监控会话的示例性子步骤在图6中示出。
在子步骤310a处,客户应用程序控制客户设备106的处理器202生成统计上唯一的随机数(被命名为“CA-RAND”以供参考)。CA-RAND被指定为具有足够的长度,以便被认为是统计上随机的。举例来说,CA-RAND可以是32位十六进制值。
在子步骤310b处,由客户应用程序使用CA-RAND和第二唯一种子值作为密钥参数来生成会话密钥(被命名为“CA-SESSION-KEY”以供参考)。该第二唯一种子值可以与客户应用程序的版本相对应。可以通过将单向函数应用于CA-RAND和第二唯一种子值来生成CA-SESSION-KEY。
在子步骤310c处,在客户设备106处计算CA-SESSION-KEY的第二密钥校验值(被命名为“KCV2”以供参考)。
作为子步骤310c的一部分,客户应用程序基于TRANS-ID、TIMESTAMP1和CA-RAND执行函数,并将结果和KCV2发送到交易服务器102,诸如:
(Hash(func(TRANS-ID,TIMESTAMP1))XOR CA-RAND)。
这里XOR表示按位异或函数。该函数必须是与TRANS-ID和TIMESTAMP两者有关的一些已知的(即,在交易服务器102与客户设备106之间达成一致的)无损函数。然后将该函数的结果散列,以使该函数的结果的大小与CA_RAND相同,并且在统计上对该大小是唯一的。散列将在统计上使TRANS-ID和TIMESTAMP的唯一组合尽可能唯一,在这种情况下即使在微小的变化之后结果也会显著地变化。
在子步骤310d处,在交易服务器102处计算CA-SESSION-KEY,并且计算KCV2,然后对照从客户应用程序获得的KCV2验证KCV2。如果在交易服务器102处计算的KCV2与从客户应用程序接收的KCV2不匹配,则交易服务器102用替换值TRANS-ID-BAK/TIMESTAMP-BAK替换TRANS-ID和TIMESTAMP1。如果KCV2值仍然不匹配,则需要重新发起金融交易。
在子步骤310e处,生成白盒密码表、指示目前交易时间的第二交易时间戳(被命名为“TIMESTAMP2”以供参考)和统计上唯一的PAN(PAN-RAND),并且将白盒密码表、第二交易时间戳和统计上唯一的PAN从交易服务器102传输到在客户设备106上的客户应用程序。优选地使用CA-SESSION-KEY加密白盒密码表。在一些实施例中,单次使用AES-256对称密钥(S-KSU2)被嵌入在表中。
在子步骤310f处,如果交易服务器102使用TRANS-ID计算CA-SESSION-KEY,则服务器设置TRANS-ID-BAK等于TRANS-ID,并且设置TIMESTAMP-BAK等于TIMESTAMP1。然后在交易服务器102处,用CA-RAND替换TRANS-ID并且用TIMESTAMP2替换TIMESTAMP1。
在子步骤310g处,客户应用程序执行解密算法,以使用CA-SESSION-KEY解密白盒密码表。用新解密的表替换当前的白盒密码表。
在子步骤310h处,客户应用程序用CA-RAND替换TRANS-ID,并且用TIMESTAMP2替换TIMESTAMP1。
在子步骤310i处,过程返回到步骤310f。然后在第二安全监控会话期间以预定的时间间隔重复步骤310f至310h。在一些实施例中,以在1至5秒的范围内的时间间隔替换白盒密码表。在一个实施例中,以每2秒的时间间隔替换白盒密码表。替换密码表的时间优选地短于破解攻击尝试能够揭露S-KSU密钥的时间。
在一些实施例中,在结束第二安全监控会话时删除白盒密码表。
在步骤311处,客户应用程序控制客户设备106在显示器212上向客户呈现用户界面,以输入与客户的客户账户相关联的PIN码。这在图1中被示意性地示出为可见的密码键盘。界面被配置为接收客户的PIN码。
在步骤312处,在接收到客户的PIN码之后,客户应用程序为PIN码生成PIN块,并将白盒加密的PIN块传输到交易服务器102以进行转换。一旦被转换,PIN块就会被发送到卡/令牌发行商以进行验证。PIN块是号码或代码,该号码或代码具有在号码或代码中加密的客户的PIN码,并且PIN块用于安全地传输PIN码。PIN块有许多不同的格式。在一种格式中,PIN块通过将两个64位字段异或来构建,两个64位字段为:纯文本PIN码字段和PAN-RAND,纯文本PIN码字段和PAN-RAND两者都包括16个四位半字节(数据的四位聚合)。纯文本PIN字段由以下内容定义:
具有0值的一个半字节,该一个半字节将此标识为格式0块;
编码PIN的长度N的一个半字节;
N个半字节,每个半字节编码一个PIN数位;以及
14-N个半字节,每个半字节保持“填充”值15(即11112)。
账号字段可以由以下内容定义:
具有零值的四个半字节;以及
12个半字节,包含主账号(PAN-RAND)的最右边的12个数位,不包括校验位。
在步骤313处,交易服务器从与客户账户相关联的金融机构获得交易的验证或拒绝。在该验证过程期间,交易服务器102将PIN块从在S-KSU2下的加密转换为在针对该交易序列的收单机构或体系的PIN加密密钥下的加密。在该过程中,用从商家设备104获得的实际PAN替换PAN-RAND。收单机构或体系通过将加密的PIN块从在收单机构或体系的PIN加密密钥下的加密转换为发行商PIN加密密钥来将加密的PIN块转发给发行商。发行商具有PIN,并且可以验证输入的PIN值。在金融交易流中可以存在多个跃点。如果是这样,则会发生多次转换。如果收单机构是卡/令牌发行商,则不会发生进一步的转换,并且收单机构/发行商可以验证PIN。
最后,在步骤314处,将交易的验证或拒绝从交易服务器102传输到商家终端104,以完成交易。验证还可以通过在显示器121上的视觉警报和/或经由扬声器214的听觉警报的方式传输到客户设备106。
在一些实施例中,即使交易不要求PIN输入,商家终端104仍然可以显示QR码,客户可以可选地扫描QR码以下载完整的客户应用程序并获得交易的电子收据。客户应用程序然后可以用于查看客户的过去交易,并且交易服务器102或另一个第三方设备能够向客户提供忠诚度奖励。还可以通过应用程序通知客户使用相同的信用/借记卡进行未来的交易。
将明白,上面描述的系统和方法允许发生在其中客户移动设备是PIN捕获设备的安全交易。重要的是,这允许PIN输入设备独立于读取客户的卡或数字钱包的商家终端设备。这种卡读取和PIN输入设备的物理分离在进行交易中提供了附加的安全性。在一些实施例中,客户移动设备可以用于输入PIN,而无需具有移动设备或帐户的任何先前注册。可以在销售点(Point Of Sale,POS)处授权客户移动设备,以使用用于PIN输入的移动设备进行交易。这允许在没有在商家处的PIN输入设备的情况下或在没有在商家终端处输入PIN的情况下,进行需要PIN的交易。
一般地,本发明的实施例提供了一种与在COTS设备上的基于软件的PIN输入(Software Based PIN Entry on COTS device,SPOC)相关的替代方法,以在客户自己的设备而不是商家的设备上安全地捕获客户的PIN。
说明
贯穿本说明书,使用了术语“统计上唯一的随机数”。当个体的数字或标识符可以与在群体或样本中的所有其它数字/标识符区分开时,就实现了统计上的唯一性。在限定的置信度或误差范围内,每个统计上唯一的数字可以被唯一地识别。如此,统计上唯一的随机数是可以由随机数生成器以随机或伪随机的方式生成的数字,以在较大的样本群体中产生是统计上唯一的数字。
除非另有明确规定,如从以下的讨论中显而易见的,应当明白,贯穿说明书讨论,利用术语诸如“处理”、“计算”、“运算”、“确定”、“分析”等指的是计算机或计算系统、或类似的电子计算设备的动作和/或过程,这些动作和/或过程将表示为物理量,诸如电子量,的数据操纵为类似地表示为物理量的其它数据,和/或将表示为物理量,诸如电子量,的数据变换为类似地表示为物理数量的其它数据。
以类似的方式,术语“控制器”、“服务器”或“处理器”可以指的是处理例如来自缓存器和/或存储器的电子数据的任何设备或设备的一部分,以将该电子数据变换为其它电子数据,例如,其它电子数据可以被存储在缓存器和/或存储器中。“计算机”或“计算机器”或“计算平台”可以包括一个或多个处理器,一个或多个处理器诸如在云计算环境中被本地分组或跨网络分布。
贯穿说明书,对“一个实施例”、“一些实施例”或“实施例”的引用意指与实施例结合描述的特定特征、结构或特性被包括在本公开的至少一个实施例中。因此,在贯穿本说明书的各个地方中的短语“在一个实施例中”、“在一些实施例中”、或“在实施例中”的出现不一定都指的是相同的实施例。此外,在一个或多个实施例中,如本领域普通技术人员将从本公开中显而易见的,特定特征、结构或特性可以以任何合适的方式组合。
如本文所用的,除非另有规定,使用序数形容词“第一”、“第二”、“第三”等描述共同的对象,仅指示指的是相似对象的不同实例,并不旨在于暗示如此描述的对象必须时间上、空间上、在排序上或者以任何其它方式处于给定的序列中。
在下面的权利要求和本文的描述中,术语包括、由……组成或其包括中的任何一个是开放术语,该开放术语意指至少包括以下的元素/特征,但不排除其它元素/特征。因此,当在权利要求中使用时,术语包括不应被解释为限于此后列出的装置或元件或步骤。例如,表达包括A和B的设备的范围不应限于仅由元件A和B构成的设备。如本文使用的术语包含、其包含或该包含中的任何一个也是开放术语,该开放术语也意指至少包含遵循该术语的元素/特征,但不排除其它元素/特征。因此,包含与包括同义,并且意指包括。
应当明白,在本公开的示例性实施例的上面的描述中,出于精简本公开并有助于各种创造性方面中的一个或多个的理解的目的,本公开的各种特征有时被一起组合在本公开的单个实施例、图或描述中。然而,公开的这种方法不应被解释为反映权利要求要求比在每个权利要求中明确列举的特征更多的意图。相反,如以下权利要求所反映的,创造性方面在于少于单个前述公开的实施例的所有特征。因此,在详细的描述之后的权利要求在此被明确地并入到本详细的描述中,且每个权利要求独立地作为本公开的单独的实施例。
此外,虽然本文描述的一些实施例包括一些但不包括在其它实施例中包括的其他特征,但是不同的实施例的特征的组合意指在本公开的范围内,并且形成不同的实施例,如本领域普通技术人员将理解的。例如,在以下权利要求中,所要求保护的实施例中的任何一个可以以任何组合使用。
在本文提供的描述中,阐述了很多具体细节。然而,应当理解,可以在没有这些具体细节的情况下实践本公开的实施例。在其它情况下,为了不模糊本描述的理解,未详细地显示公知的方法、结构和技术。
类似地,值得注意的是,当在权利要求中使用时,术语耦合的不应被解释为仅限于直接连接。可以使用术语“耦合的”和“连接的”,以及它们的衍生物。应当理解,这些术语并不旨在为彼此的同义词。因此,表达耦合到设备B的设备A的范围不应限于在设备或系统中设备A的输出被直接连接到设备B的输入的设备或系统。这意指在A的输出与B的输入之间存在路径,该路径可以是包括其它设备或装置的路径。“耦合的”可以意指两个或更多个元件处于直接物理、电气或光学接触,或者意指两个或更多个元件彼此不直接接触,但仍彼此相互合作或相互作用。
本文描述的实施例旨在于涵盖本发明的任何改编或变体。尽管已经依据特定的示例性实施例描述和解释了本发明,但是本领域普通技术人员将认识到,可以容易地设想在本发明的范围内的附加实施例。
Claims (36)
1.一种在商家和客户之间进行安全交易的方法,所述方法包括:
在商家终端与交易服务器之间发起第一安全监控会话;
在所述第一安全监控会话期间,在所述商家终端处捕获客户主账号PAN,所述客户主账号与在金融机构处的客户账户相关联;
将对交易的请求从所述商家终端发送到所述交易服务器,所述请求包括所述客户PAN和交易金额;
在所述交易服务器处生成对所述交易是唯一的交易标识符TRANS-ID,并且将TRANS-ID发送到所述商家终端;
将TRANS-ID编码在视觉表示中,并且在显示器上呈现所述视觉表示;
允许由在客户设备上的相机捕获所述视觉表示;
响应于在所述客户设备上的所述视觉表示的捕获,启动在所述客户设备上的客户应用程序,其中,所述客户应用程序被配置为:
在所述客户设备与所述交易服务器之间发起第二安全监控会话;
控制所述客户设备向所述客户呈现用户界面,以输入与所述客户PAN相关联的PIN码;
使用从所述服务器下载的随机主账号为所述PIN码生成PIN块,
并且将所述PIN块传输到所述交易服务器以进行验证;
在所述交易服务器处,从与所述客户账户相关联的所述金融机构获得所述交易的验证或拒绝;以及
将所述交易的验证或拒绝传输到所述商家终端,以完成所述交易。
2.根据权利要求1所述的方法,其中,所述商家终端被授权经由商家应用程序与所述交易服务器通信,所述商家应用程序使用第一统计上唯一的随机数MA-RAND1作为临时商家标识符来被存储在所述商家终端上。
3.根据权利要求2所述的方法,其中,发起所述第一安全监控会话的步骤包括:
i)在所述商家应用程序处创建第二统计上唯一的随机数MA-RAND2;
ii)使用MA-RAND2和用于商家应用程序版本的唯一种子值作为密钥参数来生成会话密钥MA-SESSION-KEY;
iii)计算MA-SESSION-KEY的密钥校验值KCV;
iv)将MA-RAND1 XOR MA-RAND2和KCV从所述商家应用程序发送到所述交易服务器,其中,XOR表示按位异或函数;
v)在所述交易服务器处计算MA-SESSION-KEY,并且对照从所述商家应用程序接收的KCV验证KCV;
vi)将白盒密码表从所述交易服务器发送到所述商家应用程序,其中,所述白盒密码表使用MA-SESSION-KEY来加密;
vii)在所述商家应用程序处使用MA-SESSION-KEY解密所述白盒密码表,并且用新解密的表替换当前的白盒密码表;
viii)用MA-RAND2替换MA-RAND1;以及
ix)在所述第一安全监控会话期间以预定义的时间间隔重复步骤vi)至viii)。
4.根据权利要求3所述的方法,其中,所述MA-SESSION-KEY通过将单向函数应用于MA-RAND2和所述唯一种子值两者来生成。
5.根据权利要求3或4所述的方法,其中,在在所述交易服务器处计算的KCV与从所述商家应用程序接收的KCV不匹配的情况下,所述交易服务器将用备用的统计上唯一的随机数MA-RAND1-BAK替换MA-RAND1。
6.根据权利要求5所述的方法,其中,在在所述交易服务器处计算的KCV与从所述商家应用程序接收的KCV不匹配的情况下,引发错误条件。
7.根据权利要求6所述的方法,其中,在预定义的数量的错误条件之后,所述商家应用程序请求所述服务器生成替代的第一统计上随机数MA-RAND1。
8.根据权利要求3至7中任一项所述的方法,其中,所述白盒密码表包括嵌入式单次使用密钥。
9.根据权利要求8所述的方法,其中,所述单次使用密钥是AES-256对称式单次使用密钥。
10.根据权利要求3至9中任一项所述的方法,其中,所述白盒密码表以在1至5秒的范围内的时间间隔被替换。
11.根据权利要求10所述的方法,其中,所述白盒密码表以每2秒的时间间隔被替换。
12.根据权利要求2至11中任一项所述的方法,其中,在所述第一安全监控会话期间,所述商家应用程序执行校验例程,以通过检查所述商家终端的操作系统、存储器和/或存储的代码和文件的完整性来校验篡改的迹象。
13.根据权利要求12所述的方法,其中,所述商家应用程序在所述商家终端的可信执行环境内执行。
14.根据权利要求12或13所述的方法,其中,在所述第一安全监控会话期间,所述商家应用程序每秒至少一次向所述交易服务器报告来自所述校验例程的数据,并且所述交易服务器将所述报告的数据与所述商家应用程序的预期结果以及所述商家应用程序正在其上执行的设备类型相比较。
15.根据前述权利要求中任一项所述的方法,其中,所述视觉表示包括QR码。
16.根据权利要求1至14中任一项所述的方法,其中,所述视觉表示包括条形码。
17.根据前述权利要求中任一项所述的方法,其中,所述商家终端是个人移动设备。
18.根据权利要求17所述的方法,其中,所述个人移动设备是智能电话或平板电脑。
19.根据权利要求2至18中任一项所述的方法,其中,在所述客户设备与所述交易服务器之间发起所述第二安全监控会话的步骤包括:
a)在所述客户应用程序处创建统计上唯一的随机数CA-RAND;
b)使用CA-RAND和用于客户应用程序版本的第二唯一种子值作为密钥参数来生成会话密钥CA-SESSION-KEY;
c)在所述客户应用程序处计算CA-SESSION-KEY的第二密钥校验值KCV2,并且将KCV2和将TRANS-ID与TIMESTAMP1 XOR CA-RAND组合的函数结果的散列发送到所述交易服务器;
d)在所述交易服务器处计算所述CA-SESSION-KEY,并且对照从所述客户应用程序获得的KCV2验证KCV2;
e)将白盒密码表、第二交易时间戳TIMESTAMP2和随机PAN从所述交易服务器发送到所述客户应用程序,其中,所述白盒密码表使用所述CA-SESSION-KEY来加密;
f)在所述交易服务器处,用CA-RAND替换TRANS-ID并且用TIMESTAMP2替换TIMESTAMP1;
g)在所述客户应用程序处使用CA-SESSION-KEY解密所述白盒密码表,并且用新解密的表替换当前的白盒密码表;
h)在所述客户应用程序处,用CA-RAND替换TRANS-ID并且用TIMESTAMP2替换TIMESTAMP1;
i)在所述第二安全监控会话期间以预定的时间间隔重复步骤f)至h)。
20.根据权利要求19所述的方法,其中,通过从将TRANS-ID与TIMESTAMP1 XOR CA-RAND组合的函数结果的散列中提取CA-RAND,在所述交易服务器处计算所述CA-SESSION-KEY。
21.根据权利要求19或20所述的方法,其中,通过将单向函数应用于CA-RAND和所述第二唯一种子值生成所述CA-SESSION-KEY。
22.根据权利要求19至21中任一项所述的方法,其中,在在所述交易服务器处计算的KCV2与从所述客户应用程序接收的KCV2不匹配的情况下,所述交易服务器用替换值替换TRANS-ID和TIMESTAMP1。
23.根据权利要求19至22中任一项所述的方法,其中,所述白盒密码表以在1至5秒的范围内的时间间隔被替换。
24.根据权利要求23所述的方法,其中,所述白盒密码表以每2秒的时间间隔被替换。
25.根据权利要求19所述的方法,其中,所述白盒密码表在结束所述第一安全监控会话和/或所述第二安全监控会话的情况下被删除。
26.根据权利要求19至25中任一项所述的方法,其中,在所述第二安全监控会话期间,所述客户应用程序执行校验例程,以通过检查所述客户设备的操作系统、存储器和/或存储的代码和文件的完整性来校验篡改的迹象。
27.根据权利要求26所述的方法,其中,所述客户应用程序在所述客户设备的可信执行环境内执行。
28.根据权利要求26或27所述的方法,其中,在所述第二安全监控会话期间,所述客户应用程序每秒至少一次向所述交易服务器报告来自所述校验例程的数据,并且所述交易服务器将所述报告的数据与所述客户应用程序的预期结果以及所述客户应用程序正在其上执行的设备类型相比较。
29.一种在商家与客户之间进行安全交易的方法,所述方法包括:
通过在商家终端处捕获客户主账号PAN和交易金额来发起在所述客户与所述商家之间的交易;
基于所述PAN和所述交易金额生成对所述交易是唯一的交易标识符TRANS-ID;
将TRANS-ID编码在视觉表示中,并且在显示器上呈现所述视觉表示;
允许由在客户设备上的相机捕获所述视觉表示;
响应于在所述客户设备上的所述视觉表示的捕获,启动在所述客户设备上的客户应用程序,其中,所述客户应用程序被配置为:
控制所述客户设备向所述客户呈现用户界面,以输入与所述客户的所述PAN相关联的PIN码;
为所述PIN码生成PIN块,并且将所述PIN块传输到交易服务器以进行验证;
从与所述客户账户相关联的金融机构获得所述交易的验证或拒绝;以及
将所述交易的验证或拒绝传输到所述商家终端,以完成所述交易。
30.一种计算机系统,被配置为执行根据前述权利要求中任一项所述的方法。
31.一种非瞬态载体介质,具有被存储在所述非瞬态载体介质上的指令,使得在所述指令被执行在计算机上的情况下,所述计算机被配置为执行根据权利要求1至29中任一项所述的方法。
32.一种软件应用程序,所述软件应用程序能够在客户移动设备上执行,并且被配置为促进在所述客户移动设备与商家终端之间进行安全交易的方法,所述方法包括:
响应于由所述商家终端接收的请求,所述客户移动设备的处理器处理所述客户移动设备的相机捕获的数字表示,图像包括对所述交易是唯一的编码的交易标识符TRANS-ID;
在所述客户移动设备与交易服务器之间发起安全监控会话;
控制在所述客户移动设备上的用户界面向客户呈现界面,以输入与所述客户的客户主账号PAN相关联的PIN码;
在在所述界面处接收到所述PIN码的情况下,为所述PIN码生成PIN块并且将所述PIN块传输到所述交易服务器以进行验证,以从与所述客户账户相关联的金融机构获得所述交易的验证或拒绝。
33.根据权利要求32所述的软件应用程序,其中,所述软件应用程序还被配置为在所述客户移动设备处接收所述交易的验证或拒绝,并且在所述客户移动设备的显示器上向所述客户显示所述验证或拒绝。
34.一种服务器,被配置为促进在客户移动设备与商家终端之间进行安全交易的方法,所述方法包括:
与所述商家终端进行第一安全监控会话,其中,在所述第一安全监控会话期间,在所述商家终端处捕获客户主账号PAN,所述客户PAN与在金融机构处的客户账户相关联;
从所述商家终端接收对交易的请求,所述请求包括所述客户PAN和交易金额;
生成对所述交易是唯一的交易标识符TRANS-ID,并且将TRANS-ID发送到所述商家终端,其中,TRANS-ID被编码在视觉表示中,并且被呈现在显示器上以由在所述客户设备上的相机捕获;
与所述客户设备进行第二安全监控会话,其中,在所述第二安全监控会话期间,所述客户设备被控制为:
向所述客户呈现用户界面,以输入与所述客户PAN相关联的PIN码;以及
使用从所述服务器下载的随机主账号为所述PIN码生成PIN块,
并且将所述PIN块传输到所述服务器以进行验证;
接收所述PIN块,并且从与所述客户账户相关联的金融机构获得所述交易的验证或拒绝;以及
将所述交易的验证或拒绝传输到所述商家终端,以完成所述交易。
35.一种服务器,被配置为促进在客户移动设备与商家终端之间的安全交易,其中,所述商家终端被控制为捕获客户主账号PAN,并且所述客户移动设备被控制为允许输入与所述客户PAN相关联的PIN码,以完成所述交易。
36.根据权利要求35所述的服务器,其中,所述客户移动设备被授权用于在销售点处的所述交易。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2021901044A AU2021901044A0 (en) | 2021-04-09 | A system and method for secure transactions | |
AU2021901044 | 2021-04-09 | ||
PCT/AU2022/050306 WO2022213150A1 (en) | 2021-04-09 | 2022-04-06 | A system and method for secure transactions |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117043802A true CN117043802A (zh) | 2023-11-10 |
Family
ID=83544902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280023175.7A Pending CN117043802A (zh) | 2021-04-09 | 2022-04-06 | 用于安全交易的系统和方法 |
Country Status (9)
Country | Link |
---|---|
US (1) | US20240152914A1 (zh) |
EP (1) | EP4298579A1 (zh) |
JP (1) | JP2024516925A (zh) |
KR (1) | KR20230171427A (zh) |
CN (1) | CN117043802A (zh) |
AU (1) | AU2022252857A1 (zh) |
BR (1) | BR112023020339A2 (zh) |
CA (1) | CA3208679A1 (zh) |
WO (1) | WO2022213150A1 (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8769305B2 (en) * | 2011-03-21 | 2014-07-01 | Moncana Corporation | Secure execution of unsecured apps on a device |
US9721243B2 (en) * | 2011-05-11 | 2017-08-01 | Riavera Corp. | Mobile payment system using subaccounts of account holder |
ES2807547T3 (es) * | 2013-10-14 | 2021-02-23 | Cryptomathic Ltd | Núcleo de seguridad CRM |
EP3084701B1 (en) * | 2013-12-19 | 2022-05-04 | Visa International Service Association | Cloud-based transactions methods and systems |
WO2016014784A1 (en) * | 2014-07-23 | 2016-01-28 | Diebold Self-Service Systems, Division Of Diebold, Inc. | Encrypting pin receiver |
EP3360116A1 (en) * | 2015-10-09 | 2018-08-15 | Diebold Nixdorf, Incorporated | Cash access with automatic transaction machine with mobile phone |
US10546119B2 (en) * | 2016-11-14 | 2020-01-28 | Mastercard International Incorporated | Methods for securely storing sensitive data on mobile device |
EP3588414A1 (en) * | 2018-06-28 | 2020-01-01 | Mastercard Asia/Pacific Pte. Ltd. | Aggregated transaction processing |
EP3696698A1 (en) * | 2019-02-18 | 2020-08-19 | Verimatrix | Method of protecting a software program against tampering |
SG11202109040UA (en) * | 2019-02-28 | 2021-09-29 | Nat Payments Corporation Of India | An electronic payment system and method thereof |
-
2022
- 2022-04-06 EP EP22783694.7A patent/EP4298579A1/en active Pending
- 2022-04-06 JP JP2023552248A patent/JP2024516925A/ja active Pending
- 2022-04-06 BR BR112023020339A patent/BR112023020339A2/pt unknown
- 2022-04-06 CA CA3208679A patent/CA3208679A1/en active Pending
- 2022-04-06 AU AU2022252857A patent/AU2022252857A1/en active Pending
- 2022-04-06 CN CN202280023175.7A patent/CN117043802A/zh active Pending
- 2022-04-06 US US18/281,895 patent/US20240152914A1/en active Pending
- 2022-04-06 KR KR1020237032441A patent/KR20230171427A/ko unknown
- 2022-04-06 WO PCT/AU2022/050306 patent/WO2022213150A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
BR112023020339A2 (pt) | 2023-11-21 |
KR20230171427A (ko) | 2023-12-20 |
JP2024516925A (ja) | 2024-04-18 |
EP4298579A1 (en) | 2024-01-03 |
CA3208679A1 (en) | 2022-10-13 |
AU2022252857A1 (en) | 2023-09-21 |
US20240152914A1 (en) | 2024-05-09 |
WO2022213150A1 (en) | 2022-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2021203184B2 (en) | Transaction messaging | |
CN108027926B (zh) | 基于服务的支付的认证系统和方法 | |
CN113014400B (zh) | 用户和移动装置的安全认证 | |
US9665867B2 (en) | Establishment of a secure session between a card reader and a mobile device | |
US10135614B2 (en) | Integrated contactless MPOS implementation | |
DK2622585T5 (en) | PIN verification for hubs and spokes | |
CA2948481C (en) | Establishment of a secure session between a card reader and a mobile device | |
EP2733654A1 (en) | Electronic payment method, system and device for securely exchanging payment information | |
CN111742314B (zh) | 便携式装置上的生物计量传感器 | |
WO2010002541A1 (en) | Trusted service manager (tsm) architectures and methods | |
Jayasinghe et al. | Extending emv tokenised payments to offline-environments | |
US20240152914A1 (en) | A system and method for secure transactions | |
WO2022040762A1 (en) | Electronic payments systems, methods and apparatus |
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: 40101870 Country of ref document: HK |