CN118119958A - 利用非接触式卡执行认证和支付操作以提供物品和服务的技术和系统 - Google Patents
利用非接触式卡执行认证和支付操作以提供物品和服务的技术和系统 Download PDFInfo
- Publication number
- CN118119958A CN118119958A CN202280070220.4A CN202280070220A CN118119958A CN 118119958 A CN118119958 A CN 118119958A CN 202280070220 A CN202280070220 A CN 202280070220A CN 118119958 A CN118119958 A CN 118119958A
- Authority
- CN
- China
- Prior art keywords
- rental
- data
- computing device
- item
- contactless card
- 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 74
- 238000004891 communication Methods 0.000 claims description 57
- 238000004422 calculation algorithm Methods 0.000 claims description 52
- 230000015654 memory Effects 0.000 claims description 47
- 238000012545 processing Methods 0.000 claims description 34
- 230000004044 response Effects 0.000 claims description 16
- 230000009471 action Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 description 40
- 238000012795 verification Methods 0.000 description 12
- 239000008186 active pharmaceutical agent Substances 0.000 description 11
- 238000012546 transfer Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 8
- 230000001413 cellular effect Effects 0.000 description 6
- 239000013307 optical fiber Substances 0.000 description 6
- 230000004913 activation Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 239000000758 substrate Substances 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 4
- VIEYMVWPECAOCY-UHFFFAOYSA-N 7-amino-4-(chloromethyl)chromen-2-one Chemical compound ClCC1=CC(=O)OC2=CC(N)=CC=C21 VIEYMVWPECAOCY-UHFFFAOYSA-N 0.000 description 3
- 238000009795 derivation Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000010410 layer Substances 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- KDLHZDBZIXYQEI-UHFFFAOYSA-N Palladium Chemical compound [Pd] KDLHZDBZIXYQEI-UHFFFAOYSA-N 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000004417 polycarbonate Substances 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 238000010079 rubber tapping Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- IRLPACMLTUPBCL-KQYNXXCUSA-N 5'-adenylyl sulfate Chemical compound C1=NC=2C(N)=NC=NC=2N1[C@@H]1O[C@H](COP(O)(=O)OS(O)(=O)=O)[C@@H](O)[C@H]1O IRLPACMLTUPBCL-KQYNXXCUSA-N 0.000 description 1
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- RTAQQCXQSZGOHL-UHFFFAOYSA-N Titanium Chemical compound [Ti] RTAQQCXQSZGOHL-UHFFFAOYSA-N 0.000 description 1
- XECAHXYUAAWDEL-UHFFFAOYSA-N acrylonitrile butadiene styrene Chemical compound C=CC=C.C=CC#N.C=CC1=CC=CC=C1 XECAHXYUAAWDEL-UHFFFAOYSA-N 0.000 description 1
- 229920000122 acrylonitrile butadiene styrene Polymers 0.000 description 1
- 239000004676 acrylonitrile butadiene styrene Substances 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005184 irreversible process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 229910052763 palladium Inorganic materials 0.000 description 1
- 239000004033 plastic Substances 0.000 description 1
- 229920003023 plastic Polymers 0.000 description 1
- 229920000515 polycarbonate Polymers 0.000 description 1
- 229920000728 polyester Polymers 0.000 description 1
- 229920002689 polyvinyl acetate Polymers 0.000 description 1
- 239000011118 polyvinyl acetate Substances 0.000 description 1
- 239000004800 polyvinyl chloride Substances 0.000 description 1
- 229920000915 polyvinyl chloride Polymers 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 229910052719 titanium Inorganic materials 0.000 description 1
- 239000010936 titanium Substances 0.000 description 1
- 230000000007 visual effect 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/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
-
- 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/12—Payment architectures specially adapted for electronic shopping systems
- G06Q20/127—Shopping or accessing services according to a time-limitation
-
- 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/14—Payment architectures specially adapted for billing systems
- G06Q20/145—Payments according to the detected use or quantity
-
- 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
- G06Q20/352—Contactless payments by 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/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
- G06Q20/353—Payments by cards read by M-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/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/409—Device specific authentication in transaction processing
- G06Q20/4097—Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
- G06Q20/40975—Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
-
- 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
- G06Q30/0645—Rental transactions; Leasing transactions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- 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/3825—Use of electronic signatures
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Control Of Vending Devices And Auxiliary Devices For Vending Devices (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本文所讨论的实施例一般地涉及用非接触式卡执行认证和支付操作以提供物品和服务的系统、装置、方法和技术。
Description
背景技术
如今,越来越多的活动正在实现自动化,包括执行诸如租赁像踏板车、车辆和其他设备之类的物品的任务。例如,许多城市在整个城市中都部署了一排排的踏板车。在不与人互动的情况下就可对这些踏板车进行租赁。然而,该过程相当麻烦和高摩擦,尤其是对于第一次租赁。可能要求用户执行若干任务,包括将与踏板车相关联的特定应用下载到移动装置。然后可能要求用户在踏板车公司建立账户以使用该应用来租赁踏板车。在实际租赁过程中,可能进一步要求用户识别用于租赁的踏板车、登录/访问他们的账户、确认支付以及经过若干附加步骤来租赁踏板车。本文讨论的实施例旨在安全地简化该过程。
发明内容
本文所讨论的实施例一般地涉及利用非接触式卡执行认证和支付操作以提供物品和服务的系统、装置、方法和技术。例如,实施例可以包括一种系统,其被配置成基于存储在非接触式卡中的数据来执行认证和支付操作。所述系统可以包括一个或多个服务器,所述一个或多个服务器包括一个或多个处理器和存储器,所述存储器与所述一个或多个处理器耦合并且被配置成存储指令。所述指令当由所述一个或多个处理器执行时,使得所述一个或多个处理器:从租赁系统接收由非接触式卡生成的对应于物品租赁的加密数据;从所述加密数据提取认证信息;对所述认证信息执行认证操作以认证所述非接触式卡;向所述租赁系统发送指示所述非接触式卡可信的认证操作的结果;响应于所述非接触式卡可信,从所述租赁系统接收对所述物品租赁进行支付的支付请求;基于所述加密数据中的信息来处理所述支付请求;以及向所述租赁系统发送指示对所述物品租赁的支付成功的所述支付请求的处理的第二结果。
在另一示例中,实施例可以包括一种服务器,其被配置成基于利用存储在非接触式卡中的数据执行的认证操作来实现物品租赁。所述服务器可以包括一个或多个处理器以及与所述一个或多个处理器耦合的存储器,所述存储器用于存储指令。所述指令当由所述一个或多个处理器执行时,使得所述一个或多个处理器:从计算装置接收和处理存储在非接触式卡上的加密数据以及对应于物品租赁的租赁数据;将所述加密数据发送到一个或多个服务器以利用所述加密数据执行认证操作;从所述一个或多个服务器接收指示所述非接触式卡可信的认证操作的结果;以及响应于对所述非接触式卡、用户或其组合的认证来执行一个或多个操作以使得能够租赁物品。
在另一示例中,实施例可以包括一种计算装置,所述计算装置包括处理电路系统以及与所述处理电路系统耦合的存储器,所述存储器用于存储指令。所述指令在由所述处理电路系统执行时使得所述处理电路系统:检测在近场通信(NFC)范围内的非接触式卡;经由一次或多次NFC交换从所述非接触式卡接收加密数据,所述加密数据包括用于认证用户的认证信息;向一个或多个服务器发送所述加密数据和租赁数据,所述租赁数据对应于物品租赁;从所述一个或多个服务器接收用于使得能够租赁物品的指示;以及基于所述指示引起允许所述物品租赁的动作。
附图中的多个视图的说明
为了容易地识别对任何特定元件或动作的讨论,附图标记中的一个或多个最高有效数字指的是该元素首次介绍的图号。
附图说明
图1示出根据本文所讨论的实施例的系统100的示例。
图2A示出根据本文所讨论的实施例的计算装置上的示例显示。
图2B示出根据本文所讨论的实施例的计算装置上的示例显示。
图3A示出根据本文所讨论的实施例的系统300a的第一示例配置。
图3B示出根据本文所讨论的实施例的系统300a的第二示例配置。
图4示出根据实施例的例程400。
图5示出根据实施例的例程500。
图6示出根据实施例的例程600。
图7示出根据实施例的系统700的示例。
图8示出根据实施例的系统800的示例。
图9示出根据一个实施例的非接触式卡102。
图10示出根据一个实施例的交易卡部件1000。
图11示出根据一个实施例的序列流1100。
图12示出根据一个实施例的数据结构1200。
图13是根据示例实施例的密钥系统的示图。
图14是根据示例实施例的生成密码的方法的流程图。
图15示出根据一个实施例的主题的一个方面。
图16示出根据一个实施例的主题的一个方面。
具体实施方式
实施例可以一般地涉及被配置成使用令牌(诸如非接触式卡)提供改进的对物品的一键式租赁服务的系统。例如,所讨论的实施例可以被配置成使得用户能够通过在与物品相关联的计算装置上轻击他们的非接触式卡来租赁物品,诸如踏板车、自行车、椅子、汽车、皮划艇、桨板或任何其他类型的设备。计算装置可以被配置成处理卡上的信息并且与一个或多个服务器通信以提供用于物品租赁的认证和支付服务。在本文讨论的实施例中,还可以使用户能够购买服务,诸如计算机上的租赁时间、对流媒体服务或物品的访问、云计算装置上的处理时间等。实施例不限于该方式。
本文讨论的系统包括被配置成能够验证令牌和用户并租赁物品的计算装置,诸如移动装置、计算机、服务器、网络设备等。本文讨论的解决方案提供了优于先前的租赁物品的解决方案的优点。先前的系统通常要求用户经过许多步骤或操作来租赁物品。可能要求用户在他们的移动装置上下载和/或配置应用,为该物品建立账户,包括提供支付信息以及与应用交互以租赁物品。本文讨论的实施例通过使用户能够通过向可以用于验证用户并提供对租赁的支付的计算装置呈现非接触式卡来执行单个操作以租赁物品,来提供对先前技术的改进。如将更详细地讨论的,非接触式卡和计算装置被配置成执行交换。该信息可以被进一步传送到一个或多个服务器,以认证卡和用户,并提供对租赁的支付。该操作还可以用作用户签署或接受物品租赁的条款和条件的签名。这些操作可以在无需用户建立账户并且向应用和应用的第三方提供商提供安全信息的情况下执行。
在一个示例中,与租赁物品相关联的计算装置可以被配置成以由非接触式卡生成的加密格式向服务器提供信息。服务器可以被配置成接收和处理由非接触式卡生成的加密数据以及对应于物品租赁的租赁数据。例如,系统可以被配置成从加密数据中提取可以用于认证或验证非接触式卡和用户的认证信息。具体地,系统可以对认证信息执行认证例程以认证用户。认证例程可以包括确保可以以正确密钥成功地将加密数据解密,并且加密数据(例如共享秘密)与存储在系统上的真实共享秘密匹配。响应于对卡和用户的认证,系统还可以执行一个或多个操作以使得能够租赁物品,诸如为物品提供支付和接受任何条款或条件。
在实施例中,被配置成与非接触式卡和服务器通信的计算装置可以与租赁物品附连和/或相关联。计算装置可以被配置成根据一种或多种无线技术进行无线通信。例如,当卡在无线短距离通信范围内时,计算装置可以与非接触式卡交换数据。具体地,计算装置可以被配置成根据近场通信(NFC)协议周期性地发射信号以激励和检测非接触式卡。该装置可以经由一个或多个通信交换来接收加密数据,该加密数据可以包括用于认证卡和用户的认证信息以及用于对物品进行支付的信息。该装置可以被配置成根据不同的无线技术(例如蜂窝或WiFi通信)将至系统的加密数据和与物品租赁相关联的数据发送到一个或多个服务器。计算装置还可以被配置成接收来自一个或多个服务器的使得能够租赁物品的指示并处理该指示。例如,该装置可以基于正被认证的用户和物品的成功支付来接收指示。在一些情况下,例如当用户未被认证和/或未接收到支付时,计算装置可以接收拒绝租赁时间的指示。如果用户被认证并且支付被接收,则该装置还可以被配置成基于指示引起允许租赁物品的动作。更多详情在以下描述中提供。
图1示出根据本文所讨论的实施例的系统100的示例。系统100可以被配置成提供一键式认证和支付服务以使得用户能够租赁或购买物品。为了简化讨论的目的,所示系统100包括有限数量的系统、装置、部件等。在一个实施方式中,系统100可以包括任何数量的系统、装置、部件等以提供本文所讨论的功能性。
在实施例中,系统100被配置成使得用户能够租赁或购买物品,诸如物品104。在图示的示例中,物品104是踏板车;然而,实施例不限于该方式。物品104可以是用户可以租赁或购买的任何类型的物品或服务。例如,物品104可以是任何类型的车辆,包括踏板车、自行车、轿车等。物品可以是沙滩椅、雨伞、诸如皮划艇、帐篷、桨板的户外设备等。在一些情况下,物品104可以是服务,诸如计算机的租赁时间、处理时间、基于云的存储等。实施例不限于这些示例。
在实施例中,物品104可以包括或具有计算装置106,计算装置106可以由用户用来租赁物品104。在一些情况下,计算装置106可以是被配置成仅为用户提供租赁服务的专用计算机。计算装置106可以包括一个或多个处理部件,诸如中央处理单元、处理器、图形处理单元、控制器等。计算装置还包括易失性存储器、非易失性存储器、输入/输出(I/O)装置、有线和无线通信接口、使得用户能够与计算装置106交互的显示器(触摸屏)等。在一个示例中,计算装置106可以是单板计算机,包括具有(多个)处理器、存储器、I/O装置、以及被配置成提供本文所讨论功能性的其他特征的电路板。在实施例中,物品104和/或计算装置106可以包括一个或多个位置确定装置,诸如全球定位系统(GPS)装置、使用蜂窝或WiFi站和信号的位置定位系统(LPS)、使用三角测量的系统等。位置确定装置可以用于确定计算装置106和物品104的位置。在一些情况下,计算装置106可以基于从位置确定装置接收的信号(例如,基于时钟或时间信号)来确定时间。
在实施例中,计算装置106处在被附连或集成到物品104的主体中的壳体中。可以利用任何类型的附接机构或紧固件将计算装置106附接到物品104。在一些情况下,计算装置106可以集成到物品104中,例如,位于踏板车的把横或把立的模制部分中,使得计算装置106不能从物品104分离。在其他示例中,计算装置106可以集成或附连到用于物品104的锁定机构。例如,计算装置106可以用于锁定的存储系统(储物柜),一旦用户被认证,该锁定的存储系统就使得能够访问物品104。如将更详细地讨论的,计算装置106可以被配置成基于正被认证的卡和用户来控制(锁定/解锁)锁定机构。
在实施例中,计算装置106包括被配置成与系统100的其他装置通信的一个或多个无线接口。例如,计算装置106可以包括被配置成根据诸如NFC、蓝牙、任何其它短距离RF协议或红外(IF)协议之类的短距离通信协议进行通信的短距离无线通信接口。
在实施例中,非接触式卡102和计算装置106被配置成当它们被带入彼此的短距离无线通信范围(例如,对于NFC为10厘米)内时进行通信。例如,包括短距离无线通信接口的计算装置106周期性地激励以使一个或多个信号被发射,该一个或多个信号进一步激励非接触式卡102上的电路系统以进行通信。例如,非接触式卡102和计算装置106可以被配置成发起诸如NFC通信交换之类的通信交换,以在彼此之间建立连接并传送数据。在一些情况下,用户可以将非接触式卡102轻击或触碰到计算装置106以确保非接触式卡102处在与计算装置106的通信范围内以交换数据。数据可以包括可以用于认证卡和/或用户的共享秘密、客户标识符、一个或多个账号、一个或多个计数器值等。图9和图10示出并讨论了关于非接触式卡102的更多细节。在一些情况下,非接触式卡102可以被配置成对数据加密以与计算装置106通信。图11示出可以在非接触式卡102与计算装置106之间执行以交换用于认证操作的数据的一个可能的序列1100,并且图12至图16示出并讨论了用于利用多样化密钥以安全方式传送数据的附加细节。
在实施例中,非接触式卡102可以生成加密数据并将该数据传送到计算装置106。计算装置106转而又可以将加密数据传送到一个或多个其他系统、装置、服务器等,以认证用户并提供支付信息。例如,计算装置106可以利用诸如网络108之类的一个或多个有线和无线网络来与(多个)系统110通信。
网络108可以是无线网络、有线网络或无线网络和有线网络的任意组合中的一个或多个,并且可以被配置成将计算装置106连接到(多个)系统110。例如,网络108可以包括以下中的一个或多个:光纤网络、无源光学网络、电缆网络、因特网、卫星网络、无线局域网(LAN)、全球移动通信系统、个人通信服务、个人局域网、无线应用协议、多媒体消息传递服务、增强型消息传递服务、短消息服务、基于时分复用的系统、基于码分多址的系统、D-AMPS、Wi-Fi、固定无线数据、IEEE 802.11系列标准、IEEE 902.15.x(无线PAN系列)、蓝牙、NFC、射频识别(RFID)、Wi-Fi等等。此外,网络108可以包括硬件和基础设施,但不限于,电话线、光纤、IEEE以太网802.3、广域网、无线个域网、LAN或诸如因特网的全球网络。另外,网络108可以支持因特网协议(IP)网络、无线通信网络、蜂窝网络等或其任意组合。尽管网络108被描绘为单个网络,但是应当理解,根据一个或多个示例,网络108可以包括多个互连网络。
在实施例中,计算装置106可以经由网络108将数据传送到(多个)系统110来认证用户,提供支付信息,并且使得用户能够租赁物品104。在实施例中,(多个)系统110可以由物品104的所有者或提供商和/或银行操作,以提供认证和支付服务。例如,(多个)系统110可以并入到踏板车租赁系统中以在市场(例如在城市中)中提供租赁踏板车。(多个)系统110可以包括在由物品提供商操作和维护的位置中的物理服务器,或者可以是按需向物品提供商提供服务的基于云计算的(多个)计算服务器系统110。
在一些情况下,一个或多个系统110可以包括由银行系统维护和操作的服务器,以提供用于租赁物品104的认证服务和支付服务。另外,由银行系统控制的(多个)系统110可以与非接触式卡102相关联。如将在图2A和图2B中更详细讨论的,(多个)系统110可以包括租赁服务器、认证服务器和支付服务器。租赁服务器可以由租赁公司控制和操作,认证服务器和支付服务器可以由银行控制和操作。租赁服务器可以提供租赁服务,并且认证服务器和支付服务器可以提供用于物品104的租赁的认证和支付服务。
图2A示出可以由计算装置106显示的示例显示,包括用于用户利用令牌(诸如非接触式卡102)执行单击操作以租赁物品的指令。
在实施例中,计算装置106可以包括能够显示文本和图像的显示装置,诸如触摸屏显示器。在图2A所示的示例中,计算装置106被配置成在显示装置上显示诸如“在此处轻击卡以租赁物品”的指示和非接触式卡的图像。显示装置上呈现的指示和图像确保用户使非接触式卡102足够靠近计算装置106以执行通信交换,如本文所述。
在一些实施例中,计算装置106配置有任何类型的显示装置,包括液晶显示器(LCD)、发光二极管(LED)显示器、等离子体显示器、或任何其他类型的平板系统。在一些情况下,为了保持电池电力,显示装置可以是配置成显示指示的电子墨水(e-ink)显示器。例如,即使在未向显示装置施加电力时e-ink显示器也可以保持状态并显示指示,从而节省了电力和电池使用量。在一些情况下,计算装置106可以将显示装置维持在关闭或待机状态,并且可以被配置成例如经由一个或多个传感器来检测计算装置106附近的诸如人之类的对象。例如,计算装置106可以包括被配置成检测人的接近传感器,并且计算装置106可以被配置成基于检测来点亮显示装置并显示指示。
在实施例中,如本文所讨论的,计算装置106可以在非接触式卡102被带入接口和计算装置106的通信范围内时检测到非接触式卡102并与该卡交换信息。
图2B示出了可以在显示装置上呈现给用户以租赁物品的另一示例显示。在所示示例中,显示器可以呈现用于查看租赁物品的条款和条件的指示,例如,诸如“点击此处查看条款和条件”的文本以及按钮。包括显示装置的计算装置106可以被配置成检测显示装置上的按钮的用户选择,并且显示条款和条件以供用户查看。条款和条件可以存储在存储器中或者由计算装置106经由因特网服务器来取得。
在实施例中,计算装置106可以包括用于用户接受条款和条件并且通过非接触式卡102的单击来发起物品租赁的指示。例如,图2B中的显示装置还可以被配置成呈现诸如“在此处轻击卡以租赁物品并接受条款和条件”的文本以及非接触式卡的图像。如在图2A中类似地讨论的,计算装置106可以检测非接触式卡102并且执行与非接触式卡的数据交换,如在本文所讨论的。
图3A示出用于执行本文所讨论的操作(包括使得用户能够通过非接触式卡的单击来租赁物品104)的系统300a的第一示例配置。在所示示例中,计算装置106与物品104耦合,并且被配置成与包括租赁服务器304的租赁系统310通信。在所示示例中,租赁服务器304被配置成提供多种服务,包括对卡进行认证、确认支付以及提供租赁管理服务,例如,监视和跟踪一个或多个物品、与物品通信、处理对物品租赁的支付等。
在实施例中,用户可能希望租赁物品104,该物品104可以是任何类型的租赁物品,如先前所讨论的。物品104可以与计算装置106耦合,计算装置106可以物理地附连到物品104、模制到物品104中、或者位于与物品104相关联的另一壳体中。在一些实施例中,计算装置106可以实现在与物品104相关联的存储设施(例如储物柜)中和/或控制物品104的锁定机构。
在一些实施例中,计算装置106被配置成使得用户可以通过令牌(例如非接触式卡102)的单击来租赁物品104。例如,计算装置106可以被配置成周期性地扫描或尝试检测令牌或非接触式卡102(例如,通过激励短距离无线通信接口)以探测非接触式卡并且检测非接触式卡102何时处于计算装置106的通信范围内。计算装置106和/或物品104可以附连有贴纸或标牌,该贴纸或标牌具有对用户的使非接触式卡102靠近计算装置106以确保非接触式卡在通信范围内的指令。在一些实施例中,指令可以指示用户在计算装置106上轻击非接触式卡102。计算装置106还可以包括被配置成显示指令的显示装置,诸如平板显示器、发光二极管(LED)显示器、液晶显示器(LCD)等。在一个示例中,显示器可以显示对该显示器轻击卡的指令以及指示用于轻击卡的位置的卡的图形表示。
在其它情况下,计算装置106可以包括一个或多个界面,诸如触摸屏显示器,并且用户可以经由触摸屏显示器与计算装置106交互以发起物品104的租赁。例如,计算装置106可以呈现一个或多个GUI以供用户做出选择,诸如租赁物品104的指示、租赁物品104的时间量、租赁物品104的支付方法、接受租赁的条款和条件等。在这些情况下,计算装置106可以接收和处理与物品104的租赁的参数相对应的用户选择,并且指示用户使非接触式卡102靠近计算装置106或放到计算装置106上以发起与非接触式卡102的交换。在一些情况下,计算装置106可以不包括显示器。在这些情况下,用户可以经由一旦非接触式卡102激活就同意的通用条款和条件、或者先前已经通过银行系统激活的用于卡的轻击即租赁(tap-to-rent)特征来接受条款和条件。
计算装置106被配置成当非接触式卡102在计算装置106的无线通信范围中时基于用于通信的通信协议发起与非接触式卡102的通信交换。例如,计算装置106可以被配置成根据NFC协议进行通信,并且可以在非接触式卡102处在NFC通信范围内(例如~10厘米(cm))时发起与非接触式卡102的NFC交换。在实施例中,计算装置106发起与非接触式卡102的交换,并且非接触式卡102向计算装置106发送数据。该数据可以包括认证信息,诸如共享秘密、客户标识符或其它唯一标识符。该数据还可以包括使得能够对租赁进行支付的信息,诸如账号或与客户账户相关联的可以用于识别账户的信息。在一些情况下,非接触式卡102可以发送加密数据。
例如,为了将数据发送到计算装置106,非接触式卡102可以生成消息认证码(MAC)密码。在一些示例中,这可以在计算装置106读取非接触式卡102时发生。特别地,这可以在近场数据交换(NDEF)标签(其可以根据NFC数据交换格式来创建)的读取(诸如NFC读取)之时发生。例如,计算装置106可以包括读取器应用,该读取器应用被配置成执行读取操作以从非接触式卡102读取数据。非接触式卡102可以生成包括密码的消息,该消息可以包括报头和共享秘密、客户标识符或其他识别信息、账户信息、或其组合。非接触式卡102可以从该消息生成MAC密码(加密数据),并且如图11中进一步讨论的,例如可以通过利用了多样化密钥或会话密钥的随机数据来对MAC密码进一步加密。响应于从计算装置106接收的“读取NDEF文件”消息,非接触式卡102可以以NDEF消息格式传送MAC密码。
在一些情况下,计算装置106和非接触式卡102可以根据不同的协议交换数据。例如,可以经由蓝牙、Wi-Fi或无线数据通信的其它手段发生通信。实施例不限于该方式。
在实施例中,计算装置106可以从非接触式卡102接收数据并将数据存储在存储器中。在一些情况下,计算装置106可以向用户提供从非接触式卡102成功接收了数据或未接收数据的指示。例如,计算装置106可以在GUI中的显示上呈现该指示。在其它情况下,计算装置106可以通过点亮与是否接收到数据相对应的一个或多个发光二极管(LED)来提供指示。
计算装置106还可以发起与一个或多个系统的通信,以处理物品104的租赁。在所示示例中,计算装置106可以向包括租赁服务器304的租赁系统310发送一个或多个消息。计算装置106可以经由诸如网络108之类的网络来发送这一个或多个消息。在实施例中,计算装置106被配置成根据一个或多个蜂窝通信协议进行通信,包括但不限于全球移动通信系统(GSM)、通用分组无线业务(GPRS)、cdmaOne、CDMA2000、演进数据优化(EV-DO)、用于GSM演进的增强数据速率(EDGE)、通用移动电信系统(UMTS)、数字增强无绳电信(DECT)、数字AMPS(IS-136/TDMA)、长期演进(LTE)、第五代(5G)和集成数字增强网络(iDEN)。
在一些情况下,计算装置106可以被配置成操作电池。在实施例中,电池可以专用于计算装置106,或者可以是还被配置成向物品104供电的电池。计算装置106可以被配置成减少功耗以延长电池寿命。作为一个示例,计算装置106可以被配置成利用低功率蜂窝技术与网络108通信。例如,计算装置106可以被配置成利用低功率广域网(LPWAN)协议、低功率广域(LPWA)网络协议或低功率网络(LPN)协议、或者被设计为允许以低比特率进行远距离通信的任何其它类型的无线电信广域网进行通信。
在实施例中,计算装置106被配置成根据消息传递通信协议来传送消息。例如,计算装置106可以被配置成根据发布订阅协议与租赁服务器304通信,所述发布订阅协议诸如为被配置成在传输控制协议(TCP)/因特网协议(IP)或提供有序、无损、双向连接的任何其他网络协议上操作的消息队列遥测传输(message queuing telemetry transport,MQTT)协议。MQTT可以用于需要较小代码占用空间(存储器可用性降低)的实施方式和/或低带宽实施方式中。在一个示例中,计算装置106可以被配置成发布数据,并且租赁服务器304可以根据MQTT协议订阅数据。该数据可以包括租赁数据或信息。租赁数据可以包括物品标识符、租赁的日期/时间、租赁的地点和租赁的其他参数。该数据还可以包括来自非接触式卡102的加密数据。例如,计算装置106可以发布密码以将密码传送到租赁服务器304。在实施例中,可以使用一种或多种安全/加密技术来保证计算装置106与租赁服务器304之间的通信。
在实施例中,计算装置106和租赁服务器304可以利用其他消息协议来传送数据。在一些实施方式中,可以根据表述性状态转移(representational state transfer,RESTful)JavaScript对象标记(JavaScript Object Notation,JSON)通信协议来传送数据的至少一部分。例如,计算装置106被配置成利用PUT命令来将数据发送到租赁服务器304的位置或地址,例如https://rentalserver.com/parameters,其中参数可以包括租赁数据(物品标识符)、日期/时间、地点等。在一些情况下,计算装置106可以被配置成将来自非接触式卡102的信息作为一个或多个参数(例如,密码、令牌、账号、客户姓名、CVV等)发送到租赁服务器304。在一些实施方式中,租赁服务器304可以被配置成从计算装置106取得数据。例如,租赁服务器304可以被配置成执行GET命令以从计算装置106取得数据的至少一部分。实施例不限于这些示例。在一些实施方式中,计算装置106和租赁服务器304可以利用MQTT和RESTful JSON消息传递协议和/或附加/不同协议(例如,可扩展标记语言(XML)和/或超文本传输协议(HTTP)或安全HTTP(HTTPs))的组合在相互之间传送数据。
租赁服务器304被配置成接收和处理数据以使得能够租赁物品104。例如,租赁服务器304可以将租赁数据存储在数据库或数据存储中以跟踪物品104的租赁。具体地,租赁服务器304可以利用物品租赁的开始日期/时间来存储物品的标识符。对于基于时间的租赁,租赁服务器304还可以从计算装置106接收结束日期/时间,并且计算租赁的费用以向与非接触式卡102相关联的账户收费。具体地,租赁服务器304可以使用开始日期/时间和结束日期/时间来计算租赁时间并确定用于租赁物品104的费用。
租赁服务器304还可以处理来自非接触式卡102的数据以验证该卡并且处理对物品104的租赁的支付。在一些情况下,租赁服务器304可以利用包括认证服务器302的银行系统308来认证非接触式卡102。例如,租赁服务器304可以将来自非接触式卡102的密码传送到认证服务器302以认证非接触式卡。在一些实施例中,租赁服务器304可以被配置成使用(多个)RESTful JSON消息传递协议API与认证服务器302通信。例如,租赁服务器304可以执行命令,该命令包括调用在认证服务器302的位置或地址(例如,https://authenticationserver.com/authenticatemethod/parameters)处的以密码作为参数(或来自密码的信息作为(多个)参数)的认证方法。认证服务器302可以认证卡和/或用户并返回结果。实施例不限于该示例实施方式,并且可以使用其他消息协议/格式来将数据从非接触式卡102传送到认证服务器302。
在实施例中,认证服务器302可以是银行系统308的一部分,例如由银行拥有和操作,并且被配置成执行认证操作以认证卡和用户。具体地,认证服务器302确保来自非接触式卡102的数据是有效的并且用户是可信的。在实施例中,认证服务器302可以被配置成接收数据并执行一个或多个认证操作,例如,确保加密数据以正确的密钥被加密,并且来自非接触式卡102的数据与存储的/认证的数据匹配。
例如并且如图15中更详细讨论的,当满足以下条件时,认证服务器302可以确认何时确定成功认证。首先,验证MAC的能力表明派生的会话密钥对于非接触式卡102是适当的。仅当认证服务器302解密成功并产生适当的MAC值时,MAC才是正确的。成功的解密可以表明正确派生的加密密钥被用于对加密MAC进行解密。由于派生的会话密钥是使用仅为发送方(例如非接触式卡102)和接收方(例如认证服务器302)所知的主密钥来创建的,因此可以相信最初创建MAC并对MAC进行加密的非接触式卡确实是可信的。此外,用于派生第一和第二会话密钥的计数器值可以被示出为有效的并且可以被用于执行认证操作。类似地,认证服务器302可以使用来自非接触式卡102的数据中的其他信息来认证非接触式卡102,例如,通过将存储在非接触式卡102上的共享秘密、客户标识符或其他信息与存储在认证服务器302上的认证信息进行比较。例如,认证服务器302可以从存储器或数据库取得真实共享秘密,将真实共享秘密与来自非接触式卡102的共享秘密进行比较,并且确认它们可以认证非接触式卡102。
在实施例中,认证服务器302认证卡并且向租赁服务器304提供指示。具体地,认证服务器302可以向租赁服务器304传送一个或多个消息,包括基于来自非接触式卡102的数据的关于卡是可信还是不可信的指示。如果该卡是不可信的,则计算装置106和/或租赁服务器304例如通过维持对物品104的锁定、经由接口向用户提供指示等来防止物品104被租赁。如果该卡是可信的,则包括计算装置106和租赁服务器304的系统300a可以继续处理数据以使用户能够租赁物品104。
在一些情况下,系统300a可以要求用户执行双因素或多因素认证,使得与非接触式卡102相关联的用户也可以被认证。认证服务器302可以执行任意数量的附加认证。例如,系统300a可以要求用户经由一个或多个接口向106提供可以被提供给认证服务器302的一条附加信息,例如,录入PIN、口令、地址、电话号码等。认证服务器302可以确认一条附加信息被认证并且与非接触式卡102相关联。在另一示例中,认证服务器302可以通过向诸如移动装置的另一装置发送一次性验证代码并且使用户回应该代码和/或将该代码录入计算装置106、将该代码录入银行App、回应该消息等来要求和/或确定用户拥有该另一装置。可以使用附加的认证方法(例如认证应用)来认证用户。
在实施例中,认证服务器302可以根据消息协议将执行的认证操作的结果作为一个或多个消息返回给租赁服务器304。租赁服务器304被配置成处理该结果并确定是否继续进行物品104的租赁。例如,如果租赁服务器304接收到卡和/或用户被认证的指示,则租赁服务器304可以向计算装置106发送一个或多个消息以使得能够租赁物品104。(多个)消息可以包括允许租赁的指示。如果卡和/或用户不能被认证,则租赁服务器304可以通过向计算装置106发送指示拒绝租赁的一个或多个消息来不允许物品104的租赁。
在实施例中,计算装置106可以接收指示租赁是否被允许的指示,并相应地处理该指示。例如,计算装置106可以向锁定机构发送一个或多个信号,以在允许租赁的情况下使锁解锁。其它示例可以包括向电动机发送一个或多个信号以启用物品104。如果拒绝物品104的租赁,则计算装置106防止该物品104被租赁,并且可以向用户提供指示,例如在显示器中呈现指示。示例可以包括发送信号以维持或释放物品的制动器、启用或禁用物品的电动机、维持或释放物品的锁定机构等。
在实施例中,租赁服务器304被配置成处理对物品104的租赁的支付。例如,租赁服务器304可以利用支付服务器306基于从非接触式卡102收集的数据和租赁数据来收取用于租赁的支付款项。在实施例中,租赁服务器304可以在租赁时或在租赁完成之时(例如,基于开始时间/日期和结束时间/日期)确定租赁的金额,并且与支付服务器306通信以从与非接触式卡102和用户相关联的账户收取支付款项。在一个示例中,租赁服务器304被配置成经由API与支付服务器306对接以收取支付款项,例如发送支付请求。API还可以是RESTfulJSON API,并且包括例如可以由租赁服务器304使用GET命令调用的支付方法。租赁服务器304可以利用支付服务器306的地址调用GET命令以调用支付方法,并且包括一个或多个参数以使得支付服务器306能够处理支付,例如,https://paymentserver.com/paymentmethod/parameters。这些参数可以包括来自计算装置106的数据(诸如密码),包括账号。支付服务器306可以通过将资金从用户的账户转移到与租赁系统310相关联的账户来处理支付,并且向租赁服务器304提供指示。该指示可以指示支付成功或不成功。
尽管被示为两个单独的服务器,但认证服务器302和支付服务器306可以在同一服务器中或在基于云的计算系统中实现。每个服务器可以包括诸如一个或多个处理器、存储器、接口、显示器、I/O装置等的部件,如先前所讨论的。
图3B示出被配置成执行本文所讨论的操作的系统300b的第二示例。在所示示例中,计算装置106可以被配置成直接与银行系统308通信以使用户能够租赁物品104。
在实施例中,计算装置106被配置成检测对租赁物品104的尝试,并处理与非接触式卡102的通信,如上面在图3A中所讨论的。例如,计算装置106可以执行一个或多个NFC交换以接收来自非接触式卡102的加密数据。加密数据可以是密码或MAC密码,并且包括可以用于认证卡(并且在一些情况下可以用于认证用户)的数据。可以从非接触式卡102接收数据并将其存储在计算装置106的存储器中,以用于传送到银行系统308。
在实施例中,计算装置106还被配置成以与图3A中所讨论的相同的方式确定系统300b中的租赁数据。例如,计算装置106可以基于诸如GPS之类的定位装置来确定诸如租赁的时间/日期之类的租赁数据。计算装置106还被配置成基于物品104的一个或多个传感器(例如电池传感器)来确定物品104的状态。在一些情况下,计算装置106可以基于经由触摸屏界面或另一输入装置录入的用户输入来确定用于租赁的时间量。实施例不限于该方式。
在实施例中,计算装置106被配置成与银行系统308通信以使得能够租赁物品104。例如,计算装置106可以通过诸如网络108之类的网络进行通信,以向银行系统308发送加密数据、租赁数据、支付请求或其组合。在实施例中,计算装置106可以被配置成以与租赁系统310与银行系统308通信类似或相同的方式(例如,通过基于银行系统308的位置或地址发出一个或多个API命令)使用一个或多个API(诸如配置的MQTT和/或(多个)RESTful JSONAPI)直接与银行系统308通信。例如,为了认证卡/用户,计算装置106可以经由命令调用例如地址https://authenticationserver.com/authenticatemethod/parameters处的认证服务器302,其中参数包括密码。类似地,为了获得对租赁的支付,计算装置106可以经由命令调用诸如https://paymentserver.com/payment method/parameters的地址处的支付服务器306,其中参数包括租赁数据。
在实施例中,银行系统308(包括认证服务器302)可以例如基于加密数据是否能够被正确地解密以及卡上的信息是否与存储的真实信息匹配来执行认证操作以认证卡。在该配置中,银行系统308还可以被配置成实现双因素或多因素认证以认证用户。
银行系统308被配置成将(多个)认证操作的结果返回到计算装置106,例如作为对API调用的返回。该结果可以指示卡和/或用户是否是可信的。如果卡和/或用户不是可信的,则计算装置106防止物品104被租赁,例如,维持对物品104的锁定。如果卡被认证,并且在一些情况下用户被认证,则计算装置106使得用户能够使用物品104,例如,通过向锁定机构发送一个或多个信号以解锁物品104。
在一些情况下,计算装置106可以知道或已经确定用于租赁的时间量,并且计算用于租赁的价格。计算装置106可以将支付请求传送到包括支付服务器306的银行系统308以处理支付。银行系统308可以返回指示成功或不成功的结果。如果支付不成功,则计算装置106被配置成防止物品104的租赁。如果支付成功,则计算装置106被配置成使得能够租赁物品104。
在一些情况下,计算装置106可以基于用户使用物品104的时间量来确定向用户收费的金额。例如,包括位置确定装置的计算装置106可以确定租赁的开始时间和租赁的结束时间,并且计算装置106可以计算总租赁时间和租赁时间的金额。计算装置106可以向银行系统308发送支付请求以处理支付。
在这些情况下,计算装置106可以基于时间段期满或用户录入的指示来确定结束时间。当直到完成租赁才接收到支付时,计算装置106可以向银行系统308发送一个或多个测试支付以确保将成功地处理租赁的支付。测试支付可以包括任意的名义金额,该金额可能以租赁结束时收费的总金额为准。实施例不限于该方式。
图4示出可以由本文所讨论的系统执行以认证和处理非接触式卡的示例例程400。在实施例中,例程400可以由银行系统(诸如图2A/图2B中所示的银行系统308)的一个或多个服务器来执行。
在框402中,例程400包括接收由非接触式卡生成的对应于物品租赁的加密数据。例如,银行系统可以经由一个或多个有线或无线网络从租赁系统或计算装置接收密码。如本文所述,密码可以由非接触式卡利用通过主密钥生成的多样化密钥来加密。加密数据可以包括共享秘密、唯一标识符、账号、CVV等。在一个示例中,银行系统可以配置有一个或多个API,其用于租赁系统和/或计算装置以用来调用包括认证服务器的银行系统以传送加密数据。
在框404中,例程400包括从加密数据中提取认证信息。例如,银行系统可以使用与客户和/或非接触式卡相关联并存储在数据存储器中的所存储的主密钥来生成多样化密钥。银行系统可以验证认证信息被成功提取,指示非接触式卡使用了正确的多样化密钥来生成加密数据。在一些情况下,系统可以应用附加的解密算法来提取数据。例如,加密数据可以是MAC密码,并且系统可以应用消息认证码解密操作。
在框406中,例程400包括对认证信息执行认证操作以认证非接触式卡。除了确定使用了正确的多样化密钥来加密数据之外,系统还可以将数据的一个或多个部分与存储的验证后的数据进行比较。例如,系统可以确定共享秘密、唯一标识符、账号或其组合与所存储和验证后的共享秘密、唯一标识符和/或账号等匹配。
在框408中,例程400包括发送认证操作的结果,该结果指示非接触式卡是可信的(或不可信的)。在实施例中,系统可以基于请求装置将该结果发送到与物品相关联的租赁系统和/或计算装置。在一些情况下,当认证操作失败时,该结果指示不能成功地认证非接触式卡。
在框410中,例程400包括接收对物品租赁进行支付的支付请求。例如,包括支付服务器的银行系统可以响应于该卡被成功地从与该物品相关联的租赁系统或计算装置认证而接收支付请求。该支付请求可以包括用于支付的金额。在一些情况下,支付请求可以包括来自非接触式卡的加密数据或与来自非接触式卡的加密数据通信,以供银行系统用于识别用于对物品租赁进行支付的账户。在一些情况下,支付请求可以包括该请求与在框402处传送的加密数据相对应的指示。在一些实施例中,可以例如在卡被认证之前传送的一个或多个消息中,将支付请求与在框402处的加密数据通信。实施例不限于该方式。该请求可以包括用于处理支付的附加信息,该附加信息包括用于识别账户以接收支付的标识符、银行名称、路由号码、账号、交易的日期/时间、位置、描述等。在实施例中,包括支付服务器的银行系统可以配置有可以由租赁系统和/或计算装置用来传送支付的一个或多个API,如先前所讨论的。
在框412中,例程400包括基于加密数据中的信息来处理支付请求。在实施例中,银行系统基于支付请求中的信息发起资金从用户的账户到与物品相关联的账户的电子转账。实施例不限于该方式。
在框414中,例程400包括发送支付请求的处理的第二结果,该第二结果指示对物品租赁的支付是成功的。例如,银行系统可以向租赁系统或计算装置返回指示支付处理得成功或不成功的指示。
图5示出可以由本文讨论的系统执行的例程500的示例。在一些实施例中,例程500可以由包括租赁服务器的租赁系统执行,如图3A所示。
在框502中,例程500包括从计算装置接收存储在非接触式卡上的加密数据和对应于物品租赁的租赁数据。例如,租赁系统可以从附连在用于租赁的物品上和/或与用于租赁的物品相关联的计算装置接收加密数据和租赁数据。在实施例中,加密数据可以是密码/MAC密码,并且租赁数据可以包括对应于物品租赁的数据,如本文所讨论的。
在框504中,例程500包括将加密数据发送到一个或多个服务器以利用加密数据执行认证例程。例如,租赁系统可以将加密数据发送到银行系统以执行一个或多个操作来认证卡和用户。在示例实施例中,租赁系统可以利用由银行系统托管的一个或多个API来调用用于对加密数据执行的(多个)认证方法/操作并将加密数据传递给银行系统。
在框506中,例程500包括接收认证例程的指示非接触式卡可信(或不可信)的结果。例如,租赁系统可以从银行系统接收结果。在一些情况下,该结果可以指示卡和/或用户的认证不成功并且其中的一个或两者都是不可信的。
在框508中,例程500包括响应于用户的认证,执行一个或多个操作以使得能够租赁物品。例如,租赁系统可以向与物品相关联的计算装置发送指示以允许租赁物品。在一些情况下,租赁系统可以请求从银行系统对物品租赁进行支付。在一些实施例中,当卡和/或用户未被认证时,租赁系统可以例如通过向计算装置发送指示来防止物品租赁。实施例不限于该方式。
图6示出可以根据所讨论的实施例执行的例程600的示例。在一些情况下,例程600可以由计算装置执行,诸如由与用于租赁的物品附连和/或耦合的计算装置106执行。计算装置可以被配置成为用户提供租赁特征;并且如本文所讨论的,一键式租赁特征使得用户可以容易地在计算装置上或附近轻击他们的非接触式卡并且继续进行使用物品,减少了租赁物品所需的时间量和步骤,为用户提供了更多的便利。
在框602中,例程600包括检测近场通信(NFC)范围内的非接触式卡。例如,被配置成提供物品租赁服务的计算装置可以根据ISO/IEC 14443标准周期性地扫描射频识别标签或装置,诸如非接触式卡。如所讨论的,计算装置可以配置有显示器,该显示器可以指示期望的用户在定义的距离(例如10cm)内向计算装置呈现他们的非接触式卡。在一些情况下,指令可以指示用户在计算装置上轻击卡,例如,在显示器或者装置的主体或壳体的其他部分上轻击卡。在一些情况下,指令可以指示用户轻击物品本身的一部分,例如,容纳计算装置的物品的主体或壳体。注意,实施例不限于利用NFC提供租赁服务,并且可以利用其他无线技术,例如蓝牙、802.11标准、ZigBee等。
在一些情况下,可以使用单击来租赁物品。在其它情况下,计算装置可以在显示装置上向用户呈现信息和数据。例如,计算装置可以被配置成在显示器上显示的GUI中呈现供用户选择用于租赁物品的选项,例如用于租赁的时间量。显示器还可以呈现用于物品租赁的其他法律责任。例如,物品租赁可能要求在计算装置的显示器上的GUI中向用户呈现租赁的条款和条件和/或租赁的使用指令。包括显示器的计算装置可以使用户能够通读显示装置上的这些条款和条件以及指令。一旦用户已经通读了它们,计算装置就可以指示用户在计算装置上或附近轻击非接触式卡或将非接触式卡放到计算装置上或者使非接触式卡靠近计算装置,并且可以使用一键式操作来接受条款和条件以及发起本文所讨论的认证和支付操作。
在框604中,例程600包括从非接触式卡接收加密数据,该加密数据包括用于认证用户的认证信息。计算装置被配置成响应于非接触式卡被带入通信范围中来发起与非接触式卡的交换。非接触式卡可以被配置成将数据传送到计算装置以用于认证卡和提供支付。如本文所讨论的,非接触式卡被配置成生成密码或MAC密码,其包括用于认证和/或支付的数据。在实施例中,该数据包括一个或多个共享秘密、唯一标识符、客户标识符、计数器值或其组合。在一些情况下,该数据可以包括可以用于支付的账号或其他令牌。计算装置可以请求数据作为NFC读取操作的一部分,并且在一个或多个NFC消息中从非接触式卡接收密码。
在实施例中,计算装置可以从卡接收数据并将数据存储在存储器中。在实施例中,计算装置被配置成将数据临时存储在存储器中,以确保机密数据不会永久存储在计算装置上。存储器可以是易失性存储器或非易失性存储器,并且被配置成存储数据,直到数据被传送到某个装置或者系统才被计算装置删除。
在框606中,例程600包括将加密数据和/或租赁数据发送到系统,租赁数据对应于物品租赁。在一些实施例中,如图3A中所讨论的,计算装置被配置成将加密数据和租赁数据发送到租赁系统,该租赁系统可以处理数据以使用户能够租赁物品。如本文所讨论的,计算装置可以在一个或多个安全消息中通过诸如网络108之类的网络来发送数据。加密数据可以包括从非接触式卡接收的未改变的MAC密码,并且租赁数据可以包括与租赁相对应的数据,例如,租赁的日期/时间、租赁的地点、物品的标识符、物品的状态等。
在一些情况下,租赁数据可以包括用于租赁的期望持续时间,例如两小时,并且租赁系统可以计算在期望时间内租赁物品的费用,并且如本文所讨论的预先从银行系统取得支付款项。一旦持续时间结束,计算装置可以禁用物品租赁,或者确定物品仍然被使用并且向用户收取额外费用。在其它情况下,包括计算装置和租赁系统的系统可以被配置成直到用户完成使用物品才向用户收费。在这些情况下,计算装置被配置成确定物品租赁何时结束。例如,计算装置可以经由触摸屏显示器上的GUI接收用户选择。在另一示例中,计算装置可以检测超时或者物品在特定或设置的时间量内未被使用。在完成租赁之时,计算装置被配置成向租赁系统发送结束日期/时间以确定租赁的费用以请求支付。
在一些实施例中,如图3B中所讨论的,计算装置可以被配置成直接与银行系统通信以认证非接触式卡,并且在一些情况下认证用户。在这些情况下,计算装置可以将加密数据和租赁数据发送到银行系统的一个或多个服务器。在该配置中,计算装置可以基于一个或多个计算来确定物品租赁的金额,并且可以向银行系统发送支付请求。在这些情况下,计算装置可以无需向银行系统发送租赁数据,并且可以仅向银行系统发送加密数据以执行认证操作和支付请求。
在框608中,例程600包括接收使得能够租赁物品的指示。例如,计算装置可以从租赁系统接收允许租赁物品的信息。计算装置可以响应于对非接触式卡的成功认证(并且在一些情况下响应于对租赁的支付)而从租赁系统接收指示。注意,在一些情况下,计算装置可以从租赁系统接收拒绝租赁物品的指示。
在一些情况下,计算装置可以从银行系统接收指示。来自银行系统的指示可以指示卡被成功(或未被)认证。其指示用户是否被认证。当在租赁物品之前收取支付款项时,计算装置还可以从银行系统接收对租赁的支付成功与否的指示。
在框610中,例程600包括基于指示引起允许租赁物品的动作。例如,计算装置可以向锁定机构发送信号以解锁物品的锁。其他示例可以包括发送一个或多个信号以向物品施加电力、启用物品的电动机、在显示器上向用户提供指示等。在实施例中,当卡和/或用户未被认证或支付款项不能被收取时,计算装置可以防止用户租赁物品。例如,计算装置可以维持对物品的锁定、防止电力被施加等。实施例不限于这些示例。
图7示出根据示例实施例的数据传输系统700。如下面进一步讨论的,系统700可以包括非接触式卡102、计算装置106、网络702和服务器704。尽管图7示出了部件的单个实例,但系统700可以包括任何数量的部件。
系统700可以包括一个或多个非接触式卡102,这将在下面进一步解释。在一些实施例中,非接触式卡102可以与计算装置106进行无线通信,在示例中使用NFC。
系统700可以包括计算装置106,计算装置106可以是支持网络的计算机。如本文所述,支持网络的计算机可以包括但不限于计算机装置或通信装置,包括例如服务器、网络设备、个人计算机、工作站、电话、手持PC、个人数字助理、瘦客户机(thin client)、胖客户机(fat client)、因特网浏览器、或其他装置。客户机装置106还可以是移动装置;例如,移动装置可以包括来自的iPhone、iPod、iPad或运行Apple的/>操作系统的任何其他移动装置、运行Microsoft的/>Mobile操作系统的任何装置、运行Google的操作系统的任何装置、和/或任何其他智能电话、平板电脑或类似可穿戴移动装置。
计算装置106可以包括处理器和存储器,并且应当理解,处理电路系统可以包含如执行本文所描述的功能所必需的额外的部件,包括处理器、存储器、错误和奇偶/CRC校验器、数据编码器、防冲突算法、控制器、命令解码器、安全原语和防篡改硬件(securityprimitives and tamper proofing hardware)。客户机装置104还可以包括显示和输入装置。显示器可以是用于呈现视觉信息的任何类型的装置,诸如计算机监视器、平板显示器和移动装置屏幕,包括液晶显示器、发光二极管显示器、等离子体面板和阴极射线管显示器。输入装置可以包括用于向用户装置录入用户装置可用并支持的信息的任何装置,诸如触摸屏、键盘、鼠标、光标控制装置、触摸屏、麦克风、数码相机、录像机或便携式摄像机。这些装置可以用于录入信息并与本文所描述的软件和其他装置交互。
在一些示例中,系统700的计算装置106可以执行一个或多个应用,诸如软件应用,其例如启用与系统700的一个或多个部件的网络通信并且发送和/或接收数据。
计算装置106可以经由一个或多个网络702与一个或多个服务器704通信,并且可以作为与服务器704的相应前端到后端对来操作。计算装置106可以例如从在计算装置106上执行的移动装置应用向服务器704发送一个或多个请求。该一个或多个请求可以与从服务器704取得数据相关联。服务器704可以从计算装置106接收该一个或多个请求。基于来自计算装置106的该一个或多个请求,服务器704可以被配置成从一个或多个数据库(未示出)取得所请求的数据。基于从一个或多个数据库接收到所请求的数据,服务器704可以被配置成向计算装置106发送所接收的数据,所接收的数据响应于一个或多个请求。
系统700可以包括一个或多个网络702。在一些示例中,网络702可以是无线网络、有线网络、或无线网络和有线网络的任意组合中的一个或多个,并且可以被配置成将计算装置106连接到服务器704。例如,网络702可以包括以下中的一个或多个:光纤网络、无源光学网络、电缆网络、因特网、卫星网络、无线局域网(LAN)、全球移动通信系统、个人通信服务、个人局域网、无线应用协议、多媒体消息传递服务、增强型消息传递服务、短消息服务、基于时分复用的系统、基于码分多址的系统、D-AMPS、Wi-Fi、固定无线数据、IEEE 802.11系列、802.15系列或其它IEEE 802通信协议、蓝牙、NFC、射频识别(RFID)、Wi-Fi等等。
另外,网络702可以包括但不限于电话线、光纤、IEEE以太网802.3、广域网、无线个人局域网、LAN或诸如因特网的全球网络。另外,网络702可以支持因特网网络、无线通信网络、蜂窝网络等或其任意组合。网络702还可以包括作为独立网络操作或彼此协作操作的一个网络或上述任何数量的示例性类型的网络。网络702可以利用它们通信地耦合到的一个或多个网元的一个或多个协议。网络702可以将其他协议转换为网络装置的一个或多个协议,或者将网络装置的一个或多个协议转换到其他协议。尽管网络702被描绘为单个网络,但是应当理解,根据一个或多个示例,网络702可以包括多个互连网络,诸如例如因特网、服务提供商的网络、有线电视网、诸如信用卡关联网络的公司网络、和家庭网络。
系统700可以包括一个或多个服务器704。在一些示例中,服务器704可以包括耦合到存储器的一个或多个处理器。服务器704可以被配置成在不同时间控制和调用各种数据以执行多个工作流程动作的中央系统、服务器或平台。服务器704可以被配置成连接到所述一个或多个数据库。服务器704可以被连接到至少一个计算装置106。
图8示出根据示例实施例的数据传输系统。系统800可以包括例如经由网络806与一个或多个服务器802通信的发送或发送装置804、接收或接收装置808。发送或发送装置804可以与以上参照图1A讨论的客户机装置106相同或类似。接收或接收装置808可以与以上参照图1A讨论的客户机装置110相同或类似。网络806可以与以上参照图1A讨论的网络115类似。服务器802可以与以上参照图1A讨论的服务器120类似。尽管图8示出了系统800的部件的单个实例,但系统800可以包括任何数量的所示部件。
当使用对称密码算法(诸如加密算法、基于散列的消息认证码(hash-basedmessage authentication code,HMAC)算法和基于密文的消息认证码(cipher-basedmessage authentication code,CMAC)算法时,重要的是密钥在对使用对称算法和密钥保护的数据进行最初处理的一方与使用相同密码算法和相同密钥对数据进行接收和处理的一方之间保持秘密。
同样重要的是,同一个密钥不能使用太多次。如果密钥使用或重复使用太频繁,该密钥可能会被攻陷。每次使用密钥时,它都会向攻击者提供由密码算法使用相同密钥处理的额外数据样本。攻击者具有的利用同一密钥处理的数据越多,则攻击者可以发现密钥值的可能性就越大。频繁使用的密钥可能包含在各种不同的攻击中。
此外,每当对称密码算法被执行时,它都可能展示关于在对称密码操作期间使用的密钥的信息,诸如侧信道(side-channel)数据。侧信道数据可以包括在使用密钥的同时执行密码算法时出现的微小功率波动。可以对侧信道数据进行足够的测量,以展示关于密钥的足够信息,从而允许攻击者恢复密钥。使用相同密钥交换数据将重复地展示由相同密钥处理的数据。
然而,通过限制特定密钥将被使用的次数,攻击者能够收集的侧信道数据的量受到限制,从而减少了对这种和其他类型攻击的暴露。如本文中进一步描述的,密码信息交换中涉及的各方(例如发送方和接收方)可以从初始共享的主对称密钥结合计数器值来独立地生成密钥,并从而在需要借助于任何形式的密钥交换来保持各方同步的情况下周期性地替换正在使用的共享对称密钥。通过周期性地改变发送方和接收方使用的共享秘密对称密钥,上述攻击将不可能发生。
返回参考图8,系统800可以被配置成实现密钥多样化。例如,发送方和接收方可能期望经由相应的装置804和808交换数据(例如,原始敏感数据)。如上所述,尽管可以包括发送装置804和接收装置808的单个实例,但应当理解,只要每一方共享相同的共享秘密对称密钥,就可以涉及一个或多个发送装置804和一个或多个接收装置808。在一些示例中,发送装置804和接收装置808可以被供给相同的主对称密钥。此外,应当理解,持有相同秘密对称密钥的任何一方或装置都可以执行发射装置804的功能,并且类似地,持有相同秘密对称密钥的任何一方都可以执行接收装置808的功能。在一些示例中,对称密钥可以包括共享秘密对称密钥,该共享秘密对称密钥对除了在交换安全数据中涉及的发送装置804和接收装置808之外的所有各方保持秘密。还应当理解,发射装置804和接收装置808两者都可以被提供有相同的主对称密钥,并且在发射装置804与接收装置808之间交换的数据的部分还包括可以被称为计数器值的数据的至少一部分。计数器值可以包括每当在发送装置804与接收装置808之间交换数据时改变的数字。
系统800可以包括一个或多个网络806。在一些示例中,网络806可以是无线网络、有线网络、或无线网络和有线网络的任意组合中的一个或多个,并且可以被配置成将一个或多个发送装置804和一个或多个接收装置808连接到服务器802。例如,网络806可以包括以下中的一个或多个:光纤网络、无源光学网络、电缆网络、因特网、卫星网络、无线LAN、全球移动通信系统、个人通信服务、个人局域网、无线应用协议、多媒体消息传递服务、增强型消息传递服务、短消息服务、基于时分复用的系统、基于码分多址的系统、D-AMPS、Wi-Fi、固定无线数据、IEEE 802.11系列、802.15系列、蓝牙、NFC、RFID、Wi-Fi等等。
另外,网络806可以包括但不限于电话线、光纤、IEEE以太网802.3、广域网、无线个人局域网、LAN或诸如因特网的全球网络。另外,网络806可以支持因特网网络、无线通信网络、蜂窝网络等或其任意组合。网络806还可以包括作为独立网络操作或彼此协作操作的一个网络或上述任何数量的示例性类型的网络。网络806可以利用它们通信地耦合到的一个或多个网元的一个或多个协议。网络806可以将其他协议转换为网络装置的一个或多个协议,或者将网络装置的一个或多个协议转换到其他协议。尽管网络806被描绘为单个网络,但是应当理解,根据一个或多个示例,网络806可以包括多个互连网络,诸如例如因特网、服务提供商的网络、有线电视网、诸如信用卡关联网络的公司网络、和家庭网络。
在一些示例中,一个或多个发送装置804和一个或多个接收装置808可以被配置成在彼此之间通信以及发送和接收数据而不经过网络806。举例来说,一个或多个发送装置804与一个或多个接收装置808之间的通信可以经由NFC、蓝牙、RFID、Wi-Fi等中的至少一个发生。
在框810处,当发送装置804准备利用对称密码操作来处理敏感数据时,发送方可以更新计数器。另外,发送装置804可以选择合适的对称密码算法,其可以包括对称加密算法、HMAC算法和CMAC算法中的至少一个。在一些示例中,用于处理多样化值的对称算法可以包括根据需要用于生成期望长度的多样化对称密钥的任何对称密码算法。对称算法的非限制性示例可以包括:对称加密算法,诸如3DES或AES128;对称HMAC算法,诸如HMAC-SHA-256;以及对称CMAC算法,诸如AES-CMAC。应当理解,如果所选择的对称算法的输出没有生成足够长的密钥,则诸如处理具有不同输入数据和相同主密钥的对称算法的多次迭代的技术可以产生多个输出,这些输出可以根据需要被组合以产生足够长的密钥。
在框812处,发送装置804可以采用所选择的密码算法并且使用主对称密钥来处理计数器值。例如,发送方可以选择对称加密算法,并且使用随着发送装置804与接收装置808之间的每一次对话而更新的计数器。然后,发送装置804可以利用所选择的对称加密算法使用主对称密钥来加密计数器值,从而创建多样化的对称密钥。
在一些示例中,可以不加密计数器值。在这些示例中,可以在框812处在发送装置804与接收装置808之间发送计数器值而不加密。
在框814处,可以使用多样化对称密钥在将结果发送到接收装置808之前处理敏感数据。例如,发送装置804可以使用对称加密算法使用多样化对称密钥来加密敏感数据,其中输出包括受保护的加密数据。然后,发送装置804可以将受保护的加密数据连同计数器值一起发送到接收装置808以进行处理。
在框816处,接收装置808可以首先获取计数器值,然后使用计数器值作为加密的输入,并且使用主对称密钥作为用于加密的密钥,来执行相同的对称加密。加密的输出可以是由发送方创建的相同的多样化对称密钥值。
在框818处,接收装置808然后可以获取受保护的加密数据,并且使用对称解密算法连同多样化对称密钥仪器来解密受保护的加密数据。
在框820处,作为对受保护的加密数据进行解密的结果,可以展示原始敏感数据。
当下一次敏感数据需要经由相应的发送装置804和接收装置808从发送方发送到接收方时,可以选择不同的计数器值来产生不同的多样化对称密钥。通过利用主对称密钥和相同的对称密码算法来处理计数器值,发送装置804和接收装置808两者都可以独立地产生相同的多样化对称密钥。这种多样化对称密钥(而不是主对称密钥)用于保护敏感数据。
如上所述,发送装置804和接收装置808两者都初始地拥有共享主对称密钥。共享主对称密钥不用于加密原始敏感数据。因为多样化对称密钥由发送装置804和接收装置808两者独立地创建,所以它从不在双方之间发送。因此,攻击者无法拦截多样化对称密钥,并且攻击者永远看不到利用主对称密钥处理的任何数据。仅利用主对称密钥而不利用敏感数据来处理计数器值。结果,展示了减少的关于主对称密钥的侧信道数据。此外,可以通过关于有多频繁地创建新多样化值(并因此,有多频繁地创建新的多样化对称密钥)的对称要求来支配发送装置804和接收装置808的操作。在一个实施例中,可以为发送装置804与接收装置808之间的每次交换创建新的多样化值(并因此创建新的多样化对称密钥)。
在一些示例中,密钥多样化值可以包括计数器值。密钥多样化值的其他非限制性示例包括:每次需要新的多样化密钥时生成的一次性随机数(random nonce)、从发送装置804发送到接收装置808的一次性随机数、从发送装置804和接收装置808发送的计数器值的全值、从发送装置804和接收装置808发送的计数器值的一部分、由发送装置804和接收装置808独立维护但不在这两个装置之间发送的计数器、在发送装置804与接收装置808之间交换的一次性验证代码;以及敏感数据的密码散列。在一些示例中,密钥多样化值的一个或多个部分可以由各方用来创建多个多样化密钥。例如,可以使用计数器作为密钥多样化值。此外,可以使用上述示例性密钥多样化值中的一个或多个的组合。
在另一示例中,计数器的一部分可以用作密钥多样化值。如果多方之间共享多个主密钥值,则可以通过本文描述的系统和过程来获得多个多样化密钥值。可以每当需要时就创建新的多样化值,从而创建新的多样化对称密钥。在最安全的情况下,可以为发送装置804与接收装置808之间的敏感数据的每次交换创建新的多样化值。实际上,这可以创建一次性使用密钥,诸如单次使用的会话密钥。
图9示出非接触式卡102的示例配置,其可以包括由服务提供商发行的非接触式卡、支付卡(诸如信用卡、借记卡或礼品卡),服务提供商如在非接触式卡102的正面或背面上显示为服务提供商标记902。在一些示例中,非接触式卡102不涉及支付卡,并且可以包括但不限于身份证。在一些示例中,交易卡可以包括双接口非接触式支付卡、回馈卡等。非接触式卡102可包括基板908,基板908可以包括由塑料、金属和其它材料构成的单层或一个或多个层压层。示例性的基板材料包括聚氯乙烯、聚氯乙烯乙酸酯、丙烯腈-丁二烯-苯乙烯、聚碳酸酯、聚酯、阳极化钛、钯、金、碳、纸和可生物降解材料。在一些示例中,非接触式卡102可以具有符合ISO/IEC 7816标准的ID-1格式的物理特性,并且交易卡可以另外符合ISO/IEC 14443标准。然而,应当理解,根据本公开的非接触式卡102可以具有不同的特性,并且本公开不需要在支付卡中实现交易卡。
非接触式卡102还可以包括显示在卡的正面和/或背面上的识别信息906以及触片904。触片904可以包括一个或多个触垫,并且被配置成经由交易卡建立与另一客户机装置(诸如ATM、用户装置、智能电话、膝上型计算机、台式计算机或平板计算机)的接触。触片可以根据一个或多个标准(诸如ISO/IEC 7816标准)来设计,并且使得能够根据EMV协议进行通信。非接触式卡102还可以包括处理电路系统、天线和其他部件,如将在图10中进一步讨论的。这些部件可以位于触片904后面或基板908上的其它地方,例如在基板908的不同层内,并且可以与触片904电耦合和物理耦合。非接触式卡102还可以包括磁条或磁带,其可以位于卡的背面(图9中未示出)。非接触式卡102还可以包括与能够经由NFC协议通信的天线耦合的近场通信(NFC)装置。实施例不限于该方式。
如图2所示,非接触式卡102的触片904可以包括用于存储、处理和传送信息的处理电路系统1016,其包括处理器1002、存储器1004和一个或多个接口1006。应当理解,处理电路系统1016可以包含额外的部件,包括执行本文所述功能所必需的处理器、存储器、错误和奇偶/CRC校验器、数据编码器、防冲突算法、控制器、命令解码器、安全原语和防篡改硬件。
存储器1004可以是只读存储器、一次写入多次读取存储器或读/写存储器(例如RAM、ROM和EEPROM),并且非接触式卡102可以包括这些存储器中的一个或多个。只读存储器可以在工厂可编程为只读或一次性可编程。一次性可编程性提供了一次写入然后多次读取的机会。一次写入/多次读取存储器可以在存储器芯片出厂后的时间点被编程。一旦存储器被编程,它可能不被重写,但它可能被读取多次。读/写存储器可以在出厂后编程和重新编程多次。读/写存储器也可以在出厂后多次读取。在一些情况下,存储器1004可以是利用由处理器1002对加密数据执行的加密算法的加密存储器。
存储器1004可以被配置成存储一个或多个小应用程序1008、一个或多个计数器1010、客户标识符1014、和(多个)账号1012(其可以是虚拟账号)。一个或多个小应用程序1008可以包括被配置成在一个或多个非接触式卡上执行的一个或多个软件应用,诸如卡小应用程序。然而,应当理解,(多个)小应用程序1008不限于Java卡小应用程序,而是可以是可在非接触式卡或具有有限存储器的其他装置上操作的任何软件应用。一个或多个计数器1010可以包括足以存储整数的数字计数器。客户标识符1014可以包括分配给非接触式卡102的用户的唯一字母数字标识符,并且该标识符可以将非接触式卡的用户与其他非接触式卡用户区分开来。在一些示例中,客户标识符1014可以识别客户和分配给该客户的账户两者,并且可以进一步识别与客户的账户相关联的非接触式卡102。如所陈述的,(多个)账号1012可以包括与非接触式卡102相关联的数千个一次性使用的虚拟账号。非接触式卡102的(多个)小应用程序1008可以被配置成管理(多个)账号1012,例如选择(多个)账号1012、将所选择的(多个)账号1012标记为已使用、并且将(多个)账号1012发送到移动装置以通过自动填充服务进行自动填充。
参考触片904描述了前述示例性实施例的处理器1002和存储器元件,但是本公开不限于此。应当理解,这些元件可以实施于触片904外部或与触片904完全分离,或者作为除了位于触片904内的处理器1002和存储器1004元件之外附加的元件。
在一些示例中,非接触式卡102可以包括一个或多个天线1018。一个或多个天线1018可以放置在非接触式卡102内并且在触片904的处理电路系统1016周围。例如,该一个或多个天线1018可以与处理电路系统1016集成,并且该一个或多个天线1018可以与外部升压线圈一起使用。作为另一示例,该一个或多个天线1018可以在触片904和处理电路系统1016的外部。
在一个实施例中,非接触式卡102的线圈可以充当空芯变压器的次级。终端可以通过切断电力或幅度调制来与非接触式卡102通信。非接触式卡101可以使用非接触式卡的电力连接中的间隙来推断从终端发送的数据,该电力连接可以通过一个或多个电容器来在功能上维持。非接触式卡102可以通过切换非接触式卡的线圈上的负载或负载调制来进行回传。可以通过干扰在终端的线圈中检测负载调制。更一般地,通过使用(多个)天线1018、处理器1002和/或存储器1004,非接触式卡101提供通信接口以经由NFC、蓝牙和/或Wi-Fi通信进行通信。
如上所述,非接触式卡102可以被构建在可在智能卡或具有有限存储器的其他装置(诸如JavaCard)上操作的软件平台上,并且可以安全地执行一个或多个或多个应用或小应用程序。(多个)小应用程序1008可以被添加到非接触式卡以在各种基于移动应用的使用情形中提供用于多因素认证(MFA)的一次性口令(OTP)。(多个)小应用程序1008可以被配置成响应于来自(例如移动装置或销售点终端的)诸如NFC读取器之类的读取器的一个或多个请求(诸如近场数据交换请求),并且产生包括被编码为NDEF文本标签的加密安全OTP的NDEF消息。
NDEF OTP的一个示例是NDEF短记录布局(SR=1)。在这样的示例中,一个或多个小应用程序1008可以被配置成将OTP编码为NDEF类型4的已知类型文本标签。在一些示例中,NDEF消息可以包括一个或多个记录。(多个)小应用程序1008可以被配置成除了OTP记录之外还添加一个或多个静态标签记录。
在一些示例中,该一个或多个小应用程序1008可以被配置来模拟RFID标签。RFID标签可以包括一个或多个多态标签。在一些示例中,每次读取标签时,都呈现可以指示非接触式卡的真实性的不同加密数据。基于该一个或多个小应用程序1008,可以处理标签的NFC读取,可以将数据发送到服务器,诸如银行系统的服务器,并且可以在服务器处验证数据。
在一些示例中,非接触式卡102和服务器可以包括某些数据,使得可以适当地识别卡。非接触式卡102可以包括一个或多个唯一标识符(未示出)。每当发生读取操作时,(多个)计数器1010可以被配置成递增。在一些示例中,每次(例如通过移动装置)读取来自非接触式卡102的数据时,(多个)计数器1010就被发送到服务器以进行验证,并且确定(多个)计数器1010是否(作为验证的一部分)等于服务器的计数器。
一个或多个计数器1010可以被配置成防止重放攻击。例如,如果已获得并重放密码,则如果(多个)计数器1010已被读取或使用或以其他方式被略过,则立即拒绝该密码。如果(多个)计数器1010没有被使用,则可以重放。在一些示例中,在卡上递增的计数器不同于针对交易递增的计数器。由于非接触式卡102上的小应用程序1008之间没有通信,因此非接触式卡101不能确定(多个)应用交易计数器1010。
在一些示例中,(多个)计数器1010可能不同步。在一些示例中,为了考虑发起交易的意外读取,诸如成一定角度地读取,(多个)计数器1010可以递增,但是应用不处理(多个)计数器1010。在一些示例中,当移动装置10被唤醒时,NFC可以被启用,并且装置110可以被配置成读取可用标签,但是不响应于读取而采取任何动作。
为了使(多个)计数器1010保持同步,可以执行诸如后台应用之类的应用,其可以被配置成检测何时移动装置110唤醒并与银行系统的服务器同步,从而指示由于检测而发生的读取,然后向前移动计数器1010。在其他示例中,可以利用散列化一次性口令(HashedOne Time Password),使得可以接受误同步的窗口。例如,如果在阈值10内,则(多个)计数器1010可以被配置成向前移动。但是如果在不同的阈值数量内,例如在10或1400内,则可以处理用于执行重新同步的请求,该请求经由一个或多个应用来请求用户经由用户的装置轻击、手势或以其他方式指示一次或多次。如果(多个)计数器1010以合适的顺序增加,则可以知道用户已经这样做了。
本文参考(多个)计数器1010、主密钥和多样化密钥描述的密钥多样化技术是密钥多样化技术的加密和/或解密的一个示例。该示例密钥多样化技术不应被认为是对本公开的限制,因为本公开同等地适用于其他类型的密钥多样化技术。
在非接触式卡102的创建过程期间,可以为每个卡唯一地分配两个密码密钥。密码密钥可以包括对称密钥,其可以用于数据的加密和解密两者。三重DES(3DES)算法可以由EMV使用,并且由非接触式卡102中的硬件来实现。通过使用密钥多样化过程,可以基于需要密钥的每个实体的唯一可识别信息从主密钥派生一个或多个密钥。
在一些示例中,为了克服3DES算法的可能易受漏洞影响的缺陷,可以派生出会话密钥(诸如每个会话的唯一密钥),而不是使用主密钥,可以将唯一的卡派生密钥和计数器用作多样化数据。例如,每次在操作中使用非接触式卡102时,可以使用不同的密钥来创建消息认证码(MAC)并用于执行加密。这引起了三层加密。会话密钥可以由一个或多个小应用程序生成,并通过使用应用交易计数器和一个或多个算法(如EMV 4.3第2册A1.3.1通用会话密钥派生中所定义)来派生。
此外,每个卡的增量可以是唯一的,并且或者通过个性化来分配、或者通过一些识别信息来按算法分配。例如,奇数编号的卡可以递增2,偶数编号的卡可以递增5。在一些示例中,增量还可以在顺序读取中变化,使得一个卡可以依次递增1、3、5、2、2、……这样重复。特定序列或算法序列可以在个性化时定义,或者根据从唯一标识符导出的一个或多个过程来定义。这使得重放攻击者很难从少量的卡实例中进行归纳。
认证消息可以作为十六进制ASCII格式的文本NDEF记录的内容来递送。在另一示例中,NDEF记录可以以十六进制格式编码。
图11是示出根据本公开的一个或多个实施例的用于提供认证接入的示例序列的时序图。序列流1100可以包括非接触式卡102和计算装置106,计算装置106可以包括应用1102和处理器1104。
在线1108处,应用1102与非接触式卡102通信(例如,在被带到非接触式卡102附近之后)。应用1102与非接触式卡102之间的通信可以涉及非接触式卡102足够靠近计算装置106的读卡器(未示出)以启用应用1102与非接触式卡102之间的NFC数据传输。
在线1106处,在计算装置106与非接触式卡102之间建立通信之后,非接触式卡102生成消息认证码(MAC)密码。在一些示例中,这可以在应用1102读取非接触式卡102时发生。特别地,这可以发生在近场数据交换(NDEF)标签的读取(诸如NFC读取)之时,近场数据交换(NDEF)标签可以根据NFC数据交换格式来创建。例如,诸如应用1102的读取器应用可以发送具有NDEF产生小应用程序的小应用程序ID的消息,诸如小应用程序选择消息。一旦确认了选择,就可以发送选择文件消息的序列以及随后的读取文件消息。例如,序列可以包括“选择能力文件”、“读取能力文件”和“选择NDEF文件”。此时,由非接触式卡102维持的计数器值可以被更新或递增,接着可以是“读取NDEF文件”。此时,可以生成可以包括报头和共享秘密的消息。然后可以生成会话密钥。可以从该消息创建可以包括报头和共享秘密的MAC密码。该MAC密码然后可以与一个或多个随机数据块级联,并且可以利用会话密钥对MAC密码和随机数(RND)加密。此后,密码和报头可被级联,并被编码为ASCII十六进制并且以NDEF消息格式返回(响应于“读取NDEF文件”消息)。
在一些示例中,MAC密码可以作为NDEF标签来发送,并且在其他示例中,MAC密码可以与统一资源指示符(例如作为格式化字符串)一起被包括。在一些示例中,应用1102可以被配置成向非接触式卡102发送请求,该请求包括生成MAC密码的指令。
在线1110处,非接触式卡102向应用1102发送MAC密码。在一些示例中,MAC密码的传输经由NFC发生,然而,本公开不限于此。在其他示例中,该通信可以经由蓝牙、Wi-Fi或无线数据通信的其他手段发生。在线1112处,应用1102将MAC密码传送到处理器1104。
在线1114处,处理器1104按照来自应用122的指令验证MAC密码。例如,如下所述,可以验证MAC密码。在一些示例中,验证MAC密码可以由除计算装置106之外的装置执行,诸如由与计算装置106进行数据通信的银行系统的服务器执行。例如,处理器1104可以输出MAC密码以传输到银行系统的服务器,银行系统的服务器可以验证MAC密码。在一些示例中,MAC密码可以用作用于验证目的的数字签名。可以使用其他数字签名算法(诸如公钥不对称算法,例如数字签名算法和RSA算法,或者零知识协议)来执行该验证。
图12示出根据示例实施例的NDEF短记录布局(SR=1)数据结构1200。一个或多个小应用程序可以被配置成将OTP编码为NDEF类型4的已知类型文本标签。在一些示例中,NDEF消息可以包括一个或多个记录。小应用程序可以被配置成除了OTP记录之外还添加一个或多个静态标签记录。示例性标签包括但不限于如下标签类型:已知的类型、文本、编码英语(en);小应用程序ID:D2760000850101;能力:只读访问;编码:认证消息可以被编码为ASCII十六进制;类型-长度-值(TLV)数据可以被提供为可以用于生成NDEF消息的个性化参数。在一个实施例中,认证模板可以包括具有用于提供实际动态认证数据的已知索引的第一记录。
图13示出被配置成实现本公开的一个或多个实施例的系统1300的示图。如下所述,在非接触式卡创建过程期间,可以为每个卡唯一地分配两个密码密钥。密码密钥可以包括对称密钥,其可以用于数据的加密和解密两者。三重DES(3DES)算法可以由EMV使用,并在非接触式卡中通过硬件实现。通过使用密钥多样化过程,可以基于需要密钥的每个实体的唯一可识别信息从主密钥派生一个或多个密钥。
关于主密钥管理,对于在其上发行一个或多个小应用程序的系列产品(portfolio)的每个部分,可能需要两个发行者主密钥1302、1326。例如,第一主密钥1302可以包括发行者密码生成/认证密钥(Iss-Key-Auth),并且第二主密钥1326可以包括发行者数据加密密钥(Iss-Key-DEK)。如在此进一步解释的,两个发行者主密钥1302、1326被多样化为卡主密钥1308、1320,其对于每一张卡是唯一的。在一些示例中,作为后端办公数据的网络配置文件记录ID(pNPR)522和派生密钥索引(pDKI)1324可以用来识别在用于认证的加密过程中使用哪个发行者主密钥1302、1326。执行认证的系统可以被配置成在认证时取得非接触式卡的pNPR 1322和pDKI 1324的值。
在一些示例中,为了增加解决方案的安全性,可以派生会话密钥(诸如每个会话的唯一密钥),而不是使用主密钥,可以将唯一卡派生密钥和计数器用作多样化数据,如上所述。例如,每次在操作中使用卡时,可以使用不同的密钥来创建消息认证码(MAC)和执行加密。关于会话密钥生成,用于生成密码并对一个或多个小应用程序中的数据进行加密的密钥可以包括基于卡唯一密钥的会话密钥(Card-Key-Auth 1308和Card-Key-Dek 1320)。会话密钥(Aut-Session-Key 1332和DEK-Session-Key 1310)可以由一个或多个小应用程序生成并且通过使用应用交易计数器(pATC)1304利用一个或多个算法来派生。为了使数据适合于一个或多个算法,仅使用4字节pATC 1304的2个低位字节。在一些示例中,四字节会话密钥派生方法可以包括:F1:=PATC(低2字节)||'F0'||'00'||PATC(四字节)F1:=PATC(低2字节)||'0F'||'00'||PATC(4字节)SK:={(ALG(MK)[F1])||ALG(MK)[F2]},其中ALG可以包括3DES ECB,MK可以包括卡唯一派生的主密钥。
如本文所述,可以使用pATC 1304计数器的较低的两个字节来派生一个或多个MAC会话密钥。在每次轻击非接触式卡时,pATC 1304被配置成被更新,并且卡主密钥Card-Key-AUTH 908和Card-Key-DEK 1320被进一步多样化为会话密钥Aut-Session-Key 1332和DEK-Session-Key 1310。pATC 1304可以在个性化或小应用程序初始化时被初始化为零。在一些情况下,pATC计数器1304可在个性化时或之前初始化,并且可以被配置成在每次NDEF读取时递增1。
此外,每个卡的更新可以是唯一的,并且或者通过个性化来分配、或者通过pUID或其他识别信息来按算法分配。例如,奇数编号的卡可以递增或递减2,偶数编号的卡可以递增或递减5。在一些示例中,更新还可以在顺序读取中变化,使得一个卡可以依次递增1、3、5、2、2、……这样重复。特定序列或算法序列可以在个性化时定义,或者根据从唯一标识符导出的一个或多个过程来定义。这使得重放攻击者很难从少量的卡实例中进行归纳。
认证消息可以作为十六进制ASCII格式的文本NDEF记录的内容来递送。在一些示例中,可以仅包括认证数据和8字节随机数以及接在其后的认证数据的MAC。在一些示例中,随机数可以在密码A之前并且可以是一个块长。在其他示例中,可以对随机数的长度不作限制。在其他示例中,总数据(即,随机数加密码)可以是块大小的倍数。在这些示例中,可以添加额外的8字节块以匹配由MAC算法产生的块。作为另一示例,如果所采用的算法使用了16字节块,则甚至可以使用该块大小的倍数,或者可以自动地或手动地将输出填充到该块大小的倍数。
可以通过功能键(AUT-Session-Key)1332来执行MAC。密码中指定的数据可以利用javacard.signature方法:ALG_DES_MAC8_ISO9797_1_M2_ALG3进行处理,以与EMV ARQC验证方法相关联。如上所述,用于该计算的密钥可以包括会话密钥AUT-Session-Key 1332。如上所述,计数器的两个低位字节可以用于多样化一个或多个MAC会话密钥。如下文所述,AUT-Session-Key 1332可以用于MAC数据1306,并且所得数据或密码A 1314以及随机数RND可以使用DEK-Session-Key 1310来加密以创建在消息中发送的密码B或输出1318。
在一些示例中,可以处理一个或多个HSM命令以进行解密,使得最后16个(二进制,32个十六进制)字节可以包括使用CBC模式的3DES对称加密,其中接在随机数的零IV之后是MAC认证数据。用于该加密的密钥可以包括从Card-Key-DEK 1320派生的会话密钥DEK-Session-Key 1310。在这种情况下,用于会话密钥派生的ATC值是计数器pATC 1304的最低有效字节。
下面的格式表示二进制版本的示例实施例,此外,在一些示例中,第一字节可以被设置为ASCII‘A’。
/>
另一示例性格式示出如下。在该示例中,标签可以以十六进制格式编码。
/>
可以提取所接收消息的UID字段,以从主密钥Iss-Key-AUTH 902和Iss-Key-DEK1326派生用于该特定卡的卡主密钥(Card-Key-Auth 908和Card-Key-DEK 1320)。通过使用卡主密钥(Card-Key-Auth 908和Card-Key-DEK 1320),可以使用所接收消息的计数器(PATC)字段来派生用于该特定卡的会话密钥(Aut-Session-Key 1332和DEK-Session-Key1310)。可以使用DEK-Session-KEY来解密密码B 1318,其产生密码A 1314和RND,并且可以丢弃RND。可以使用UID字段来查找非接触式卡的共享秘密,该UID字段与消息的Ver、UID和pATC字段一起可以通过使用重新创建的Aut-Session-Key的加密MAC来处理,以创建MAC输出,诸如MAC’。如果MAC’与密码A 1314相同,则这表示消息解密和MAC检查全部通过。则可以读取pATC以确定其是否有效。
在认证会话期间,可以由一个或多个应用生成一个或多个密码。例如,可以使用ISO 9797-1算法3经由一个或多个会话密钥(诸如Aut-Session-Key 1332)利用方法2填充将一个或多个密码生成为3DES MAC。输入数据1306可以采用以下形式:版本(2),pUID(8),pATC(4),共享密钥(4)。在一些示例中,括号中的数字可以包括以字节为单位的长度。在一些示例中,共享秘密可以由一个或多个随机数生成器生成,所述一个或多个随机数生成器可以被配置成通过一个或多个安全过程来确保随机数是不可预测的。在一些示例中,共享秘密可以包括由认证服务所知的在个性化时注入卡中的随机4字节二进制数。在认证会话期间,可以不将共享秘密从一个或多个小应用程序提供给移动应用。方法2填充可以包括将强制性的0x’80’字节添加到输入数据的末尾,并且可以将0x’00’字节添加到所得数据的末尾,直至达到8字节边界。所得密码可以包括8字节的长度。
在一些示例中,利用MAC密码将非共享随机数加密为第一块的一个好处是,当使用对称加密算法的CBC(块链)模式时,它充当初始化向量。这允许在不必预先建立固定的或动态的IV的情况下从块到块的“加扰”。
通过包括应用交易计数器(pATC)作为MAC密码中包括的数据的一部分,认证服务可以被配置成确定在明文数据(clear data)中传送的值是否已被篡改。此外,通过将该版本包括在一个或多个密码中,攻击者很难有目的地歪曲应用版本以试图降低密码解决方案的强度。在一些示例中,pATC可以从零开始并且每次该一个或多个应用生成认证数据时被更新1。认证服务可以被配置成跟踪在认证会话期间使用的pATC。在一些示例中,当认证数据使用等于或低于认证服务接收的先前值的pATC时,这可以被解释为重放旧消息的尝试,并且该认证可以被拒绝。在一些示例中,在pATC大于接收的先前值的情况下,可以对其进行评估以确定其是否在可接受的范围或阈值内,并且如果其超过范围或阈值、或者在范围或阈值之外,则可以认为验证失败或不可靠。在MAC操作1312中,通过使用Aut-Session-Key1332的MAC来处理数据1306,以产生被加密的MAC输出(密码A)1314。
为了提供额外的保护以防止暴露卡上的密钥的暴力攻击,期望的是MAC密码1314被加密。在一些示例中,要被包括在密文中的数据或密码A 1314可以包括:随机数(8),密码(8)。在一些示例中,括号中的数字可以包括以字节为单位的长度。在一些示例中,随机数可以由一个或多个随机数生成器生成,所述一个或多个随机数生成器可以被配置成通过一个或多个安全过程确保随机数是不可预测的。用于加密该数据的密钥可以包括会话密钥。例如,会话密钥可以包括DEK-Session-Key 1310。在加密操作1316中,使用DEK-Session-Key610处理数据或密码A 1314和RND,以产生加密数据,密码B 1318。可以在密码块链模式下使用3DES将数据1314加密,以确保攻击者必须对所有密文运行任何攻击。作为非限制性示例,可以使用诸如高级加密标准(AES)之类的其它算法。在一些示例中,可以使用0x’0000000000000000’的初始化向量。任何试图对用于加密此数据的密钥施加暴力的攻击者将无法确定何时使用了正确的密钥,这是因为正确解密的数据由于其随机外观而无法与错误解密的数据区分开来。
为了使认证服务验证由该一个或多个小应用程序提供的该一个或多个密码,必须在认证会话期间以明文形式从该一个或多个小应用程序向移动装置传送以下数据:版本号,以确定所使用的加密方法和验证密码的消息格式,这使得该方法能够在将来改变;pUID,以取得加密资产,并派生卡密钥;以及pATC,以派生用于密码的会话密钥。
图14示出用于生成密码的方法1400。例如,在框1402处,网络配置文件记录ID(pNPR)和派生密钥索引(PDKI)可以用于识别在用于认证的加密过程中使用哪些发行者主密钥。在一些示例中,该方法可以包括执行认证以在认证时取得非接触式卡的pNPR和pDKI的值。
在框1404处,可以通过将发行者主密钥与卡的唯一ID号(pUID)和一个或多个小应用程序(例如支付小应用程序)的PAN序列号(PSN)进行组合来使发行者主密钥多样化。
在框1406处,可以通过使发行者主密钥多样化来创建Card-Key-Auth和Card-Key-DEK(唯一卡密钥),以生成可以用于生成MAC密码的会话密钥。
在框1408处,用于生成密码并对该一个或多个小应用程序中的数据进行加密的密钥可以包括基于卡唯一密钥(Card-Key-Auth和Card-Key-DEK)的块1030的会话密钥。在一些示例中,这些会话密钥可以由该一个或多个小应用程序生成并且通过使用pATC而派生,从而得到会话密钥Aut-Session-Key和DEK-Session-Key。
图15描绘了根据一个示例的示出了密钥多样化的示例性过程1500。初始地,可以向发送方和接收方提供两个不同的主密钥。例如,第一主密钥可以包括数据加密主密钥,第二主密钥可以包括数据完整性主密钥。发送方具有计数器值(其可以在框1502处被更新)以及其它数据(诸如要保护的数据,其可以与接收方安全共享)。
在框1504处,可以由发送方使用数据加密主密钥对计数器值加密以产生数据加密派生的会话密钥,并且还可以由发送方使用数据完整性主密钥对计数器值加密以产生数据完整性派生的会话密钥。在一些示例中,可以在两个加密期间都使用整个计数器值或计数器值的一部分。
在一些示例中,可以不加密计数器值。在这些示例中,计数器可以在发送方与接收方之间以明文方式(即,不加密)传输。
在框1506处,由发送方使用数据完整性会话密钥和加密MAC算法利用加密MAC操作来处理要保护的数据。包括明文和共享秘密的受保护数据可以用于产生使用会话密钥中的一个(AUT-Session-Key)的MAC。
在框1508处,发送方可以结合对称加密算法使用数据加密派生的会话密钥来加密要保护的数据。在一些示例中,MAC与相等量的随机数据(例如,每8字节长)组合,然后使用第二会话密钥(DEK-Session-Key)被加密。
在框1510处,将加密的MAC与足够的信息一起从发送方发送到接收方,以识别附加的秘密信息(诸如共享秘密、主密钥等),用于验证密码。
在框1512处,如上所述,接收方使用接收到的计数器值从两个主密钥独立地派生两个派生的会话密钥。
在框1514处,结合对称解密操作使用数据加密派生的会话密钥来解密受保护数据。随后将发生对交换后的数据的附加处理。在一些示例中,在提取MAC之后,期望再现和匹配MAC。例如,当验证密码时,可以使用合适地生成的会话密钥对其进行解密。可以重构受保护数据以用于验证。可以使用合适地生成的会话密钥来执行MAC操作,以确定其是否与解密的MAC匹配。由于MAC操作是一个不可逆的过程,因此验证的唯一方法是尝试从源数据重新创建MAC操作。
在框1516处,结合加密MAC操作使用数据完整性派生的会话密钥,以验证受保护数据未被修改。
本文描述的方法的一些示例可以有利地确认当满足以下条件时何时确定成功认证。首先,验证MAC的能力表明派生的会话密钥是适当的。仅当解密成功并产生适当的MAC值时,MAC才可能是正确的。成功的解密可以表明正确派生的加密密钥被用于解密加密的MAC。由于派生的会话密钥是使用仅对发送方(例如发送装置)和接收方(例如接收装置)已知的主密钥来创建的,因此可以相信最初创建MAC并对MAC进行加密的非接触式卡确实是可信的。此外,用于派生第一和第二会话密钥的计数器值可以被表明为有效的并且可以被用于执行认证操作。
此后,可以丢弃两个派生的会话密钥,并且数据交换的下一次迭代将更新计数器值(返回到框1502),并且可以创建一组新的会话密钥(在框1510处)。在一些示例中,组合的随机数据可以被丢弃。
图16示出根据示例实施例的用于卡激活的方法1600。例如,可以通过包括卡、装置、以及一个或多个服务器的系统来完成卡激活。非接触式卡、装置、以及一个或多个服务器可以引用先前说明的相同或相似的部件,诸如非接触式卡102、计算装置106和服务器。
在框1602中,卡可以被配置成动态地生成数据。在一些示例中,该数据可以包括诸如账号、卡标识符、卡验证值或电话号码之类的信息,这些信息可以从卡发送给装置。在一些示例中,数据的一个或多个部分可以经由本文公开的系统和方法来加密。
在框1604中,可以经由NFC或其他无线通信将动态生成的数据的一个或多个部分传送到装置的应用。例如,卡接近装置的轻击可以允许装置的应用读取与非接触式卡相关联的数据的一个或多个部分。在一些示例中,如果装置不包括帮助激活卡的应用,则卡的轻击可以引导装置或提示客户到软件应用商店下载相关联的应用以激活卡。在一些示例中,可以提示用户朝向装置的表面充分地示意、放置或定向卡,诸如以一定角度或平坦地放置在装置的表面上、靠近或接近装置的表面。响应于卡的充分的示意、放置和/或定向,该装置可以继续将从卡接收的数据的该一个或多个加密部分发送到一个或多个服务器。
在框1606中,可以将数据的该一个或多个部分传送到一个或多个服务器,诸如卡发行者服务器。例如,可以将数据的一个或多个加密部分从装置发送到卡发行者服务器以用于激活卡。
在框1608中,该一个或多个服务器可以经由本文公开的系统和方法来解密数据的一个或多个加密部分。例如,该一个或多个服务器可以从该装置接收加密数据,并且可以对其解密,以便将接收的数据与该一个或多个服务器可访问的记录数据进行比较。如果该一个或多个服务器对数据的该一个或多个解密部分的所得比较结果产生成功匹配,则可以激活该卡。如果该一个或多个服务器对数据的该一个或多个解密部分的所得比较结果产生不成功的匹配,则可以发生一个或多个过程。例如,响应于对不成功匹配的确定,可以提示用户再次轻击、划动或挥动示意该卡。在这种情况下,可以存在包括允许用户激活卡的尝试次数的预定阈值。替代地,用户可以接收到通知(诸如在他或她的装置上指示卡验证尝试不成功的消息)并且呼叫、通过电子邮件发送或通过文本发送相关联的服务以帮助激活卡,或者接收到另一通知(诸如在他或她的装置上指示卡验证尝试不成功的电话呼叫)并且呼叫、通过电子邮件发送或通过文本发送相关联的服务以帮助激活卡,或者接收到另一通知(诸如指示卡验证尝试不成功的电子邮件)并且呼叫、通过电子邮件发送或通过文本发送相关服务以帮助激活卡。
在框1610中,该一个或多个服务器可以基于卡的成功激活来发送返回消息。例如,该装置可以被配置成从该一个或多个服务器接收指示该一个或多个服务器成功激活卡的输出。该装置可以被配置成显示指示成功激活卡的消息。一旦该卡被激活,该卡就可以被配置成停止动态地生成数据以避免欺诈性使用。通过这种方式,此后可以不激活卡,并且通知该一个或多个服务器该卡已经被激活。
Claims (20)
1.一种系统,其被配置成基于存储在非接触式卡中的数据来执行认证和支付操作,所述系统包括:
一个或多个服务器,其包括一个或多个处理器和存储器,所述存储器与所述一个或多个处理器耦合并且被配置成存储指令,所述指令在由所述一个或多个处理器执行时使得所述一个或多个处理器:
从租赁系统接收由非接触式卡生成的对应于物品租赁的支付请求和加密数据;
对所述加密数据执行一个或多个认证操作以认证所述非接触式卡;
基于所述加密数据中的信息来处理所述支付请求;以及
向所述租赁系统发送所述非接触式卡被认证并且对所述物品租赁的支付成功的指示。
2.根据权利要求1所述的系统,其中,所述加密数据包括认证信息,所述认证信息还包括用于识别所述非接触式卡的唯一标识符,并且所述认证信息由所述非接触式卡利用多样化密钥和一个或多个密码算法加密以生成所述加密数据。
3.根据权利要求2所述的系统,其中,所述认证信息还包括计数器值,所述一个或多个处理器用于执行所述一个或多个认证操作以基于所存储的计数器值来验证所述计数器值。
4.根据权利要求2所述的系统,其中,所述认证信息包括共享秘密,并且所述一个或多个处理器用于执行所述一个或多个认证操作以利用所存储的共享秘密来验证所述共享秘密。
5.根据权利要求1所述的系统,其中,所述加密数据由所述非接触式卡利用从主密钥生成的多样化密钥来加密,并且所述一个或多个处理器用于执行所述认证操作以:
使用所存储的主密钥生成第二多样化密钥;
利用所述第二多样化密钥解密所述加密数据;以及
验证利用所述第二多样化密钥成功解密了所述加密数据。
6.根据权利要求1所述的系统,其中,发送所述一个或多个认证操作的指示表明了接受所述物品租赁的条款和条件。
7.根据权利要求1所述的系统,其中所述一个或多个处理器用于基于由所述租赁系统的调用认证方法的租赁服务器所调用的应用编程接口(API)的命令来接收所述加密数据。
8.根据权利要求1所述的系统,其中所述一个或多个处理器用于基于由所述租赁系统上的调用支付方法的租赁服务器所调用的应用编程接口(API)的命令来接收所述支付请求。
9.一种服务器,其被配置成基于利用存储在非接触式卡中的数据执行的认证操作来使得能够租赁物品,所述服务器包括:
一个或多个处理器;
与所述一个或多个处理器耦合的存储器,所述存储器用于存储指令,所述指令在由所述一个或多个处理器执行时使得所述一个或多个处理器:
从计算装置接收存储在非接触式卡中的加密数据和对应于物品租赁的租赁数据;
将所述加密数据发送到一个或多个服务器以利用所述加密数据执行认证操作;
从所述一个或多个服务器接收指示所述非接触式卡可信的所述认证操作的结果;
响应于所述非接触式卡、用户或其组合的认证,执行一个或多个操作以使得能够租赁物品。
10.根据权利要求9所述的服务器,其中所述加密数据包括共享秘密、唯一标识符或其组合,并且所述加密数据利用多样化密钥和一个或多个密码算法来加密。
11.根据权利要求9所述的服务器,其中所述租赁数据包括以下中的一个或多个:用于识别所述物品的标识符、与所述物品租赁相关联的价格、与所述物品租赁相关联的条款和条件、或其组合。
12.根据权利要求9所述的服务器,所述一个或多个处理器用于:
将所述加密数据的至少一部分、所述租赁数据或其组合发送到所述一个或多个服务器;以及
响应于发送所述租赁数据的一部分,接收对所述物品租赁的支付。
13.根据权利要求9所述的服务器,所述一个或多个处理器用于:
将所述加密数据的至少一部分、租赁数据或其组合发送到所述一个或多个服务器;以及
响应于发送所述租赁数据的所述一部分,接收接受了所述物品租赁的条款和条件的指示。
14.根据权利要求9所述的服务器,所述一个或多个处理器用于向与所述物品相关联的计算装置发送所述物品租赁被批准的指示。
15.根据权利要求9所述的服务器,所述一个或多个处理器用于向所述计算装置发送所述物品租赁不被批准的指示。
16.一种计算装置,包括:
处理电路系统;
与所述处理电路系统耦合的存储器,所述存储器存储指令,所述指令在由所述处理电路系统执行时使得所述处理电路系统:
检测近场通信(NFC)范围内的非接触式卡;
经由一次或多次NFC交换从所述非接触式卡接收加密数据,所述加密数据包括用于对用户认证的认证信息;
向一个或多个服务器发送所述加密数据和租赁数据,所述租赁数据对应于物品租赁;
从所述一个或多个服务器接收用于使得能够租赁物品的指示;以及
基于所述指示,引起允许所述物品租赁的动作。
17.根据权利要求16所述的计算装置,其中,所述计算装置被附连到所述物品。
18.根据权利要求16所述的计算装置,其中,物品是车辆,并且所述动作是发送信号以释放所述车辆的制动器。
19.根据权利要求16所述的计算装置,其中,所述物品是车辆,并且所述动作是发送信号以启用所述车辆的电动机。
20.根据权利要求16所述的计算装置,其中,所述物品是椅子,并且所述动作是发送信号以释放与所述椅子相关联的锁。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/405,625 US20230065163A1 (en) | 2021-08-18 | 2021-08-18 | Techniques and systems to perform authentication and payment operations with a contactless card to provide items and services |
US17/405,625 | 2021-08-18 | ||
PCT/US2022/040144 WO2023022927A1 (en) | 2021-08-18 | 2022-08-12 | Techniques and systems to perform authentication and payment operations with a contactless card to provide items and services |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118119958A true CN118119958A (zh) | 2024-05-31 |
Family
ID=83228726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280070220.4A Pending CN118119958A (zh) | 2021-08-18 | 2022-08-12 | 利用非接触式卡执行认证和支付操作以提供物品和服务的技术和系统 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20230065163A1 (zh) |
EP (1) | EP4388479A1 (zh) |
KR (1) | KR20240050342A (zh) |
CN (1) | CN118119958A (zh) |
AU (1) | AU2022331499A1 (zh) |
CA (1) | CA3227615A1 (zh) |
WO (1) | WO2023022927A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10778435B1 (en) * | 2015-12-30 | 2020-09-15 | Jpmorgan Chase Bank, N.A. | Systems and methods for enhanced mobile device authentication |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007145687A1 (en) * | 2006-02-21 | 2007-12-21 | Weiss Kenneth P | Method and apparatus for secure access payment and identification |
WO2011043560A2 (ko) * | 2009-10-08 | 2011-04-14 | Choi Unho | 생체인식 카드를 활용한 공용시설물에 대한 대여 서비스 방법 및 시스템 |
GB2516412A (en) * | 2013-05-03 | 2015-01-28 | Vodafone Ip Licensing Ltd | Access control |
US20150317630A1 (en) * | 2014-04-30 | 2015-11-05 | MasterCard Incorporated International | Method and system for authentication token generation |
WO2018228252A1 (en) * | 2017-06-16 | 2018-12-20 | Imusic Things Limited | A system for facilitating a renting of an object |
US11509475B2 (en) * | 2018-06-15 | 2022-11-22 | Proxy, Inc. | Method and apparatus for obtaining multiple user credentials |
US10581611B1 (en) * | 2018-10-02 | 2020-03-03 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
US10565587B1 (en) * | 2018-10-02 | 2020-02-18 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
US10984416B2 (en) * | 2019-03-20 | 2021-04-20 | Capital One Services, Llc | NFC mobile currency transfer |
US10657754B1 (en) * | 2019-12-23 | 2020-05-19 | Capital One Services, Llc | Contactless card and personal identification system |
US11200565B2 (en) * | 2019-12-30 | 2021-12-14 | Visa International Service Association | Low cost method and system to enable an unattended device to accept card present transactions |
-
2021
- 2021-08-18 US US17/405,625 patent/US20230065163A1/en active Pending
-
2022
- 2022-08-12 WO PCT/US2022/040144 patent/WO2023022927A1/en active Application Filing
- 2022-08-12 CA CA3227615A patent/CA3227615A1/en active Pending
- 2022-08-12 CN CN202280070220.4A patent/CN118119958A/zh active Pending
- 2022-08-12 KR KR1020247006396A patent/KR20240050342A/ko unknown
- 2022-08-12 AU AU2022331499A patent/AU2022331499A1/en active Pending
- 2022-08-12 EP EP22765656.8A patent/EP4388479A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CA3227615A1 (en) | 2023-02-23 |
KR20240050342A (ko) | 2024-04-18 |
US20230065163A1 (en) | 2023-03-02 |
WO2023022927A1 (en) | 2023-02-23 |
AU2022331499A1 (en) | 2024-03-28 |
EP4388479A1 (en) | 2024-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113168747B (zh) | 用于非接触式卡的密码认证的系统和方法 | |
US11557164B2 (en) | Contactless card personal identification system | |
CN113168635A (zh) | 用于非接触式卡的密码认证的系统和方法 | |
CN112789643A (zh) | 用于非接触式卡的密码认证的系统和方法 | |
CN112602104A (zh) | 用于非接触卡的密码认证的系统和方法 | |
CN112889046A (zh) | 用于非接触卡的密码认证的系统和方法 | |
CN113168631A (zh) | 用于非接触卡的密码认证的系统和方法 | |
CN112639854A (zh) | 非接触式卡的密码认证的系统和方法 | |
CN112639785A (zh) | 用于发信号通知非接触式卡上的潜在攻击的系统和方法 | |
CN118119958A (zh) | 利用非接触式卡执行认证和支付操作以提供物品和服务的技术和系统 | |
US20220335412A1 (en) | Techniques to utilize resource locators by a contactless card to perform a sequence of operations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |