使用非接触式卡的一次性口令的安全生成的制作方法
未命名
10-09
阅读:111
评论:0
使用非接触式卡的一次性口令的安全生成
1.相关申请
2.本技术要求于2021年1月4日提交的题为“secure generation of one-time passcodes using a contactless card(使用非接触式卡的一次性口令的安全生成)”的美国专利申请序列号17/140,698的优先权。前述申请的内容通过引用整体并入本文。
3.相关申请
4.本文中公开的实施例涉及计算系统。更具体地,本文中公开的实施例涉及提供用于使用非接触式卡的一次性口令的安全生成的计算系统。
背景技术:
5.一次性口令可以用作第二种形式的认证。然而,一次性口令容易受到许多安全风险的影响。例如,如果用户在公共场所未锁定他们的智能手机,则路人可以访问被发送到设备的任何口令。相似地,如果恶意用户获得对发送口令的设备和/或账户的访问,则恶意用户可以访问口令。这样做就可能允许恶意用户访问账户数据或其他敏感信息。
技术实现要素:
6.公开了用于使用非接触式卡安全生成一次性口令的系统、方法、装置和计算机可读介质。在一个示例中,在设备的处理器上执行的操作系统(os)可以从与账户相关联的非接触式卡接收统一资源定位符(url)和密码。该os可以启动与非接触式卡相关联的应用。该应用可以将密码传送到认证服务器。该应用可以从认证服务器接收指示认证服务器解密了密码的解密结果。基于解密结果,该应用可以将针对包括标识符在内的一次性口令(otp)的请求传送到url。处理器可以从url处的otp生成器接收otp。该应用可以接收输入值,并将该输入值与从otp生成器接收到的otp的副本进行比较。该应用可以确定出比较结果匹配,并且基于比较结果匹配的确定,在设备上显示账户的一个或多个属性。
附图说明
7.图1a示出了根据一个实施例的主题的一方面。
8.图1b示出了根据一个实施例的主题的一方面。
9.图1c示出了根据一个实施例的主题的一方面。
10.图2a示出了根据一个实施例的主题的一方面。
11.图2b示出了根据一个实施例的主题的一方面。
12.图2c示出了根据一个实施例的主题的一方面。
13.图2d示出了根据一个实施例的主题的一方面。
14.图3示出了根据一个实施例的例程300。
15.图4示出了根据一个实施例的例程400。
16.图5a示出了根据一个实施例的非接触式卡。
17.图5b示出了根据一个实施例的非接触式卡136。
18.图6示出了根据一个实施例的数据结构600。
19.图7示出了根据一个实施例的计算机架构700。
具体实施方式
20.本文中公开的实施例提供了安全地生成一次性口令(one-time passcode,otp)的技术,该一次性口令可以用作第二种形式的认证。一般地,用户可以期望认证到账户、完成购买或执行要求多因素认证(multi-factor authentication,mfa)的任何操作。在一个示例中,用户可以将非接触式卡轻拍到计算设备以发起认证。响应于进入与设备的通信范围,非接触式卡可以生成包括密码和统一资源定位符(uniform resource locator,url)的数据包。设备的操作系统可以读取数据包和/或url,并且启动设备上与url相关联的账户应用。在一个示例中,该账户应用与非接触式卡的发卡方相关联。账户应用可以将otp请求传送到url处的otp生成器。该otp请求可以包括密码。
21.然后,otp生成器和/或与otp生成器相关联的服务器可以尝试解密密码,如本文中更详细描述的。如果解密成功,则otp生成器可以识别用于相关联账户的联系信息,诸如电话号码、电子邮件等。otp生成器可以生成otp,并将该otp传送到识别出的联系信息。然后,用户可以从otp生成器接收otp,并将接收到的otp作为输入提供给账户应用。账户应用可以将该输入与从otp生成器接收到的otp的实例进行比较。如果比较结果匹配,则账户应用可以验证otp,并允许所请求的操作,例如,查看账户详情、进行购买等。如果比较结果不匹配,则验证可能失败,并且账户应用可以拒绝或以其他方式限制执行所请求的操作。
22.有利地,本文中公开的实施例提供了用于使用非接触式卡生成用于多因素认证的otp的安全技术。通过利用由非接触式卡生成的密码,本公开的实施例可以用最小的欺诈活动风险安全地验证请求执行操作的用户的身份。此外,这样做确保了仅当用户能够访问非接触式卡以及以用于促进与服务器进行密码验证的安全应用访问计算设备时才生成otp代码。此外,通过提供简化的otp生成过程,更多请求可以由服务器处理,从而提高系统性能。
23.总体参照本文中使用的符号和命名,后续详细描述的一个或多个部分可以在计算机或计算机网络上执行的程序过程方面呈现。这些过程性描述和表示由本领域技术人员使用,以将他们工作的实质最有效地传达给本领域其他技术人员。过程在这里总体上被构思为导致所需结果的自洽序列的操作。这些操作是那些要求对物理量进行物理操控的操作。通常,虽然不是必须的,但是这些量采取能够进行存储、传输、结合、比较和以其他方式操控的电、磁或光信号的形式。主要是出于习惯用语的原因,有时将这些信号称为比特、值、元素、符号、字符、项、数字等经证明是方便的。然而,应该注意,所有这些和相似的术语都要与适当的物理量相关联,并且仅仅是应用于那些量的方便标记。
24.此外,这些操控经常以诸如添加或比较的术语指代,这通常与由人工操作员执行的脑力操作相关联。然而,在构成一个或多个示例的一部分的本文所描述的任何操作中,人类操作员的这种能力不是必须的,或者在大多数情况下不是可取的。相反,这些操作是机器操作。用于执行各种实施例的操作的有用机器包括由存储在其中的计算机程序选择性地激活或配置的数字计算机,该计算机程序根据本文中的教导来编写,和/或包括为所需的目的而专门构造的装置或数字计算机。各种实施例还涉及用于执行这些操作的装置或系统。这些装置可以为所需的目的而专门构造。针对各种这些机器所需的结构从给出的描述中将是
显而易见的。
25.现在参照附图,其中相同的附图标记始终用于指代相同的元件。在下面的描述中,出于解释的目的,阐述了许多具体细节以便提供对其的透彻理解。然而,显然,可以在没有这些具体细节的情况下实践新颖的实施例。在其他实例中,公知的结构和设备以框图形式显示以便促进对其的描述。旨在覆盖权利要求范围内的所有修改、等同物和替代物。
26.图1a描绘了与所公开的实施例一致的示例性计算架构100,也被称为系统。虽然图1a-1c所示的计算架构100在特定拓扑中具有有限数量的元件,但是可以认识到,该计算架构100可以在按照给定实施方式所期望的替代拓扑中包括更多或更少的元件。
27.计算架构100包括计算设备102、服务器104和非接触式卡136。非接触式卡136代表任何类型的支付卡,诸如信用卡、借记卡、atm卡、礼品卡等。该非接触式卡136可以包括一个或多个通信接口122,诸如射频识别(radio frequency identification,rfid)芯片,其被配置为在无线通信中经由nfc、emv标准或其他短程协议与计算设备102(本文中也被称为“卡读取器”、“无线卡读取器”和/或“无线通信接口”)通信。虽然nfc在本文中用作示例通信协议,但是本公开同样适用于其他类型的无线通信,诸如emv标准、蓝牙和/或wi-fi。
28.计算设备102代表任何数量和类型的计算设备,诸如智能手机、平板电脑、可穿戴设备、膝上型电脑、便携式游戏设备、虚拟化计算系统、商家终端、销售点系统、服务器、桌上型计算机等。移动设备被用作计算设备102的示例,但是不应被视为对本公开的限制。服务器104代表任何类型的计算设备,诸如服务器、工作站、计算集群、云计算平台、虚拟化计算系统等。虽然出于清楚起见没有描绘,但计算设备102、非接触式卡136和服务器104各自包括一个或多个处理器电路以执行程序、代码和/或指令。
29.如图所示,该非接触式卡136的存储器106包括小应用程序108、计数器110、主密钥112、多样化密钥114和唯一客户标识符(identifier,id)116。小应用程序108是被配置为执行本文中描述的操作的可执行代码。计数器110、主密钥112、多样化密钥114和客户id 116被用于在系统100中提供安全性,如下面更详细地描述的。
30.如图所示,移动设备102的存储器144包括操作系统(os)138的实例。示例操作系统138包括os、和操作系统。如图所示,该os138包括账户应用118和web浏览器140。账户应用118允许用户执行各种账户相关的操作,诸如激活支付卡、查看账户余额、购买物品、处理付款等。在一些实施例中,用户可以使用认证凭证进行认证以访问账户应用118的某些特征部。例如,认证凭证可以包括用户名(或登录名)和口令、生物特征凭证(例如,指纹、面部id等)和诸如此类。web浏览器140是允许设备102经由网络124(例如,经由互联网)访问信息的应用。
31.如图所示,服务器104的存储器128包括认证应用123,该认证应用123包括otp生成器142。虽然被描绘为服务器104的集成部件,但是在一些实施例中,认证应用123和otp生成器142可以被分成不同的部件,此外,认证应用123和/或otp生成器142可以在硬件、软件和/或硬件与软件的组合中实施。
32.在一些实施例中,为了保护账户应用118和/或相关联的数据,例如,账户数据库130中用户账户的细节,系统100可以提供用于使用非接触式卡136的otp的安全生成。例如,用户可以向账户应用118提供认证凭证,诸如由账户应用118验证的用户名/口令(例如,通过使用账户数据库130的本地实例和/或将凭证传送到服务器104以进行验证)。一旦被验
证,账户应用118就可以指示用户将非接触式卡136轻拍到计算设备102。
33.在图1a所描绘的实施例中,用户可以将非接触式卡136轻拍到计算设备102(或以其他方式将非接触式卡136带入设备102的卡读取器122的通信范围内)。非接触式卡136的小应用程序108然后可以生成url 120,该url 120被定向到诸如服务器104、认证应用126和/或otp生成器142的资源。在一些实施例中,小应用程序108根据一个或多个规则来构造url 120。在一些实施例中,非接触式卡136存储多个url 120,并且小应用程序108基于一个或多个规则从多个url 120中选择url 120。在一些实施例中,小应用程序108可以通过选择url 120并添加动态数据诸如密码134作为url的一个或多个参数来生成url 120。
34.密码134可以基于非接触式卡136的客户id 116。密码134可以基于任何合适的密码技术生成。在一些实施例中,小应用程序108可以包括url 120、密码134和未加密的标识符(例如,客户id 116、非接触式卡136的标识符、和/或任何其他唯一标识符)作为数据包的一部分。在至少一些实施例中,数据包是ndef文件。
35.如上所述,计算架构100被配置为实施密钥多样化以保护数据,这可以在本文中被称为密钥多样化技术。一般地,服务器104(或另一计算设备)和非接触式卡136可以配备有相同的主密钥112(也被称为主对称密钥)。更具体地,每个非接触式卡136被编程有不同的主密钥112,该主密钥112在服务器104中具有相应的配对。例如,当制造非接触式卡136时,唯一的主密钥112可以被编程到非接触式卡136的存储器106中。相似地,唯一的主密钥112可以被存储在服务器104的账户数据130中的与非接触式卡136相关联的客户的记录中(和/或存储在不同的安全位置中,诸如硬件安全模块(hsm)132中)。主密钥112可以对除了非接触式卡136和服务器104以外的各方保密,由此提高系统100的安全性。在一些实施例中,非接触式卡136的小应用程序108可以使用主密钥112来加密和/或解密数据(例如,客户id 116),并且该数据作为密码算法的输入。例如,利用主密钥112对客户id 116进行加密可以产生密码134。相似地,服务器104可以使用相应的主密钥112来加密和/或解密与非接触式卡136相关联的数据。
36.在其他实施例中,非接触式卡136和服务器104的主密钥112可以与计数器110结合使用以使用密钥多样化来提高安全性。计数器110包括在非接触式卡136与服务器104之间同步的值。计数器110可以包括每次数据在非接触式卡136与服务器104(和/或非接触式卡136与计算设备102)之间交换时改变的数字。当准备(例如向服务器104和/或设备102)发送数据时,非接触式卡136的小应用程序108可以递增计数器110。非接触式卡136的小应用程序108然后可以提供主密钥112和计数器110作为密码算法的输入,该密码算法产生多样化密钥114作为输出。该密码算法可以包括加密算法、基于散列的消息认证码(hash-based message authentication code,hmac)算法、基于密文的消息认证码(cipher-based message authentication code,cmac)算法等。密码算法的非限制性示例可以包括对称加密算法,诸如3des或aes107;对称hmac算法,诸如hmac-sha-256算法;以及对称cmac算法,诸如aes-cmac。密钥多样化技术的示例在2018年11月29日提交的美国专利申请16/205,119中更详细地描述。前述专利申请通过引用整体并入本文。
37.继续密钥多样化示例,小应用程序108然后可以使用多样化密钥114和数据作为密码算法的输入来加密数据(例如客户id 116和/或任何其他数据)。例如,利用多样化密钥114对客户id 116进行加密可以产生已加密的客户id(例如密码134)。在一些实施例中,密
码134被包括在内作为url 120的参数。在其他实施例中,密码134不是url 120的参数,但是利用数据包诸如ndef文件中的url 120进行传送。操作系统138然后可以经由计算设备102的通信接口122读取包括url 120和密码134的数据包。
38.如前所述,密码134可以是url 120的参数。例如,url 120可以是“http://www.example.com/otpgenerator?param=abc123”。在这样的示例中,该密码134可以对应于参数“abc123”。然而,如果密码134不是url 120的参数,则url 120可以是“http://www.exmaple.com/otpgenerator”。不管url 120是否包括密码134作为参数,url 120都可以向账户应用118注册,这致使操作系统138启动账户应用118,并将url 120和密码134提供给账户应用118作为输入。
39.账户应用118然后可以将密码134与生成otp的请求传送到服务器104。在url 120包括密码134作为参数的实施例中,账户应用118从url 120中提取出密码134,并将带有密码134的请求传送到与otp生成器142相关联的地址,例如,url 120的至少一部分。在一些实施例中,账户应用118对otp生成器142进行应用编程接口(application programming interface,api)调用。此外,账户应用118可以包括另一个标识符,诸如由小应用程序108在数据包中提供的未加密的客户id 116。在一些实施例中,另一个标识符可以是非接触式卡136的标识符、和账户标识符等。在这样的实施例中,账户应用118可以包括账户数据库130的一个或多个部分的实例,以确定另一个标识符。
40.图1b描绘了其中账户应用将包括密码134和未加密的标识符的otp请求146传送到服务器104的实施例。一旦被接收到,服务器104就可以尝试认证密码134。例如,认证应用126可以尝试使用由服务器104存储的主密钥112的副本来对密码134进行解密。在一些实施例中,认证应用126可以使用由账户应用118提供给服务器104的未加密的客户id 116(或其他标识符)来识别主密钥112和计数器110。在一些示例中,认证应用126可以提供主密钥112和计数器110作为密码算法的输入,该密码算法产生多样化密钥114作为输出。所得到的多样化密钥114可以对应于非接触式卡136的多样化密钥114,其可以用于对密码134进行解密。
41.不管使用何种解密技术,认证应用126都可以成功地对密码134进行解密,从而验证或认证otp请求146中的密码134(例如,通过将对密码134解密所产生的客户id 116与存储在账户数据库130中的已知客户id进行比较,和/或基于使用主密钥112和/或多样化密钥114的解密成功的指示)。尽管密钥112、114被描绘为存储在存储器128中,但是该密钥可以存储在其他地方,诸如在安全元件和/或hsm 132中。在这样的实施例中,安全元件和/或hsm 132可以使用主密钥112和/或多样化密钥114以及密码函数来解密密码134。相似地,如上所述,安全元件和/或hsm 132可以基于主密钥112和计数器110来生成多样化密钥114。如果解密成功,则认证应用126可以识别被存储在账户数据库130中的用于用户的联系信息,例如,电子邮件地址、电话号码、注册到账户应用118的实例的设备标识符、计算设备102的设备标识符等。认证应用126可以基于被包括在otp请求146中的未加密的标识符来识别联系信息。认证应用126然后可以指示otp生成器142要生成otp并将otp传送到识别出的联系信息。
42.然而,如果认证应用126无法解密密码134以产生预期结果(例如,与非接触式卡136相关联的账户的客户id 116),则认证应用126不验证密码134。在这样的示例中,认证应用126确定要抑制生成otp。认证应用126可以将解密失败的指示传送到账户应用118。
43.图1c描绘了其中认证应用126将解密结果148传送到账户应用118的实施例。该解密结果148通常指示服务器104是解密了密码134还是没有解密密码134。在图1c所描绘的示例中,解密结果148指示服务器104解密了密码134。账户应用118可以使用解密结果148来确定密码134是否被解密。基于成功的解密,otp生成器142可以生成otp 150并基于所确定的联系信息将其传送到计算设备102。otp 150可以是任何长度的任何字母数字字符串。如果联系信息是电话号码,则otp生成器142可以经由短消息服务(short message service,sms)消息传送otp 150。如果联系信息是电子邮件地址,则otp生成器142可以经由电子邮件传送otp 150。如果联系信息是设备标识符,则otp生成器142可以将otp 150作为定向到计算设备102的推送通知的一部分来传送。
44.用户然后可以经由用户界面将接收到的otp作为输入提供给账户应用118。账户应用118然后可以将由用户提供的输入与从otp生成器142接收到的otp 150的实例进行比较。在另一个实施例中,账户应用118可以将用户输入传送到otp生成器142,该otp生成器142执行比较。如果otp生成器142执行比较,则otp生成器142将比较结果传送到账户应用118。在一些实施例中,用户可以将输入提供给另一个应用,诸如已经加载了与otp生成器142相关联的页面的web浏览器140。该web页面然后可以执行比较。如果比较结果匹配,则多因素认证可以完成,并且用户可以能够执行一个或多个所请求的操作。例如,用户可以查看账户属性、执行与账户相关联的操作、进行付款、转移资金、查看余额等。
45.图2a是示出其中非接触式卡136被轻拍到计算设备102的实施例的示意图200a。虽然计算设备102被描绘为输出操作系统138的屏幕(例如主屏幕),但是计算设备102通常可以处于任何状态。例如,当将非接触式卡136轻拍到计算设备102时,用户可以正在使用另一个应用,诸如web浏览器140。
46.如前所述,当将非接触式卡136轻拍到计算设备102时,小应用程序108可以生成密码134和url 120。在一些实施例中,密码134是url 120的参数。小应用程序108可以进一步包括标识符,诸如未加密的客户id 116、和非接触式卡136的标识符等。如果密码134是url 120的参数,则未加密的标识符也可以是url 120的参数。不管密码134和/或未加密的标识符是否是url 120的参数,密码134、未加密的标识符和url 120都可以被包括在由计算设备102读取的数据包(诸如ndef文件)中。如图所示,响应于接收到数据包,操作系统138可以启动账户应用118,因为url 120(或其一部分)可以向操作系统138中的账户应用118注册。
47.图2b是示出其中账户应用118响应于操作系统138读取从非接触式卡136接收到的url 120而被打开的实施例的示意图200b。如图所示,账户应用118指示用户提供第一认证因素,其可以是生物特征凭证。账户应用118可以验证生物特征凭证,并且基于该验证,从otp生成器142生成针对otp 150的otp请求146。如前所述,账户应用118可以将密码134和未加密的标识符传送到otp生成器142。在一些实施例中,该otp请求146可以是api调用。
48.然后,认证应用126可以尝试对密码134进行解密,如上面更详细地描述的。如果解密成功,则认证应用126可以在账户数据库130中识别用于用户账户的联系信息。在一些实施例中,基于未加密的标识符,例如,未加密的客户id 116、及设备id等,联系信息被识别出来。然后,认证应用126可以指示otp生成器142生成otp 150并将otp 150传送到联系信息。认证应用126还可以将解密结果148传送到账户应用118。
49.图2c是示出其中otp 150作为推送通知202被发送到计算设备102的实施例的示意
图200c。用户可以被指示在输入栏204中键入otp 150。如图所示,推送通知202允许用户选择推送通知202以将otp 150自动填充到栏204。例如,当被选择时,操作系统138的自动填充服务(未图示)可以拷贝otp 150并将otp 150填充到栏204中。在另一个示例中,otp 150可以被拷贝到操作系统138的剪贴板(未图示)。这样做允许用户将otp 150从剪贴板粘贴到栏204。
50.如图所示,otp 150可以作为输入被键入到栏204。账户应用118然后可以例如通过将该输入与从otp生成器142接收到的otp 150的实例进行比较来验证被键入到栏204中的otp 150。在另一个示例中,账户应用118将被键入到栏204中的输入提供给otp生成器142,该otp生成器142执行比较,并将比较的结果返回给账户应用118。如果比较结果匹配,则账户应用118可以确定多因素认证完成。
51.图2d是示出其中栏204中提供的输入与otp 150匹配的实施例的示意图200d。基于匹配和对密码134的解密,用户可以在账户应用118中登录到他们的账户。如图所示,账户应用118显示各种账户属性,例如账户余额。实施例不限于该上下文,因为使用otp 150的mfa可以用于授权任何所请求的操作。
52.用于所公开的实施例的操作可以参照以下图进一步描述。一些图可以包括逻辑流程。尽管本文中呈现的这些图可以包括特定的逻辑流程,但是可以认识到,该逻辑流程仅提供了能够如何实施本文中描述的一般功能的示例。此外,除非另有说明,否则给定的逻辑流程并不一定必须按照所呈现的顺序执行。此外,不是逻辑流程中示出的所有动作可能在一些实施例中都是必需的。另外,给定的逻辑流程可以由硬件元素、由处理器执行的软件元素、或其任何组合实施。实施例不限于该上下文。
53.图3示出了逻辑流程或例程300的实施例。逻辑流程300可以代表由本文所描述的一个或多个实施例执行的一些或所有操作。例如,逻辑流程300可以包括使能使用非接触式卡的otp的安全生成的一些或所有操作。实施例不限于该上下文。
54.在框302中,例程300由在计算设备102的处理器上执行的操作系统138从与账户相关联的非接触式卡136接收统一资源定位符(url)120和密码134。在框304中,例程300由操作系统138响应于接收到url 120,启动与非接触式卡136相关联的账户应用118。然而,在一些实施例中,账户应用118在操作系统138的前台执行,并且不需要启动。在这样的实施例中,用户可以请求执行操作,诸如查看账户余额、转移资金等。
55.在框306中,例程300由账户应用118将密码134传送到认证服务器104。账户应用118还可以包括未加密的标识符,例如,客户id 116和/或对认证应用126的设备标识符。在框308中,例程300由账户应用118从服务器104接收解密结果148,该解密结果148指示认证服务器104解密了密码134。
56.在框310中,例程300由账户应用118基于解密结果将针对包括标识符的一次性口令(otp)的请求传送到服务器104。该标识符可以是未加密的客户id 116、设备标识符和/或非接触式卡136的标识符。在框312中,例程300由服务器104基于标识符确定账户数据库130中的联系信息。该联系信息可以包括但不限于电话号码、电子邮件地址、设备标识符等。在框314中,例程300由计算设备102在所确定的联系信息处从otp生成器142接收otp 150。在框316中,例程300由账户应用118接收来自用户的输入值。在框318中,例程300由账户应用118将输入值与从otp生成器142接收到的otp的副本进行比较。在框320中,例程300由账户
应用118确定出比较结果匹配。在框322中,例程300由账户应用118基于解密结果148以及比较结果匹配的确定,在设备上显示账户的一个或多个属性。附加地和/或可替选地,账户应用118可以基于比较结果匹配的确定以及解密结果148来授权由用户所请求的操作的执行。
57.图4示出了逻辑流程或例程400的实施例。逻辑流程400可以代表由本文所描述的一个或多个实施例执行的一些或所有操作。例如,逻辑流程400可以包括使能使用非接触式卡的otp的安全生成的一些或所有操作。实施例不限于该上下文。
58.在框402中,例程400由在计算设备102的处理器上执行的操作系统138从与账户相关联的非接触式卡136接收统一资源定位符(url)120和密码134。如本文中更详细地描述,小应用程序108可以生成密码134。小应用程序108可以进一步将未加密的标识符(例如,客户id 116)传送到计算设备102。在框404中,例程400由操作系统138响应于接收到url 120,启动与非接触式卡136相关联的账户应用118。在框406中,例程400由账户应用118将密码134传送到认证服务器104。账户应用118可以进一步将未加密的标识符传送到服务器104。
59.在框408中,例程400由账户应用118从认证服务器104接收解密结果148,该解密结果148指示认证服务器104解密了密码134。在框410中,例程400由账户应用118基于解密结果148将针对包括标识符的一次性口令(otp)的请求传送到url。该标识符可以是未加密的客户id 116、设备标识符和/或非接触式卡136的标识符。在框412中,例程400由服务器104基于标识符确定账户数据库130中的联系信息。该联系信息可以包括但不限于电话号码、电子邮件地址、设备标识符等。在框414中,例程400由计算设备102在所确定的联系信息处从url 120处的otp生成器142接收otp 150。在框416中,例程400由账户应用118接收输入值。在框418中,例程400由账户应用118将输入值与从otp生成器142接收到的otp 150的副本进行比较。在框420中,例程400由应用确定出比较结果匹配。在框422中,例程400由账户应用118基于比较结果匹配的确定并基于解密结果148,在设备上显示账户的一个或多个属性。
60.图5a是示出非接触式卡136的示例构造的示意图500,该非接触式卡136可以包括由作为服务提供商标记502在非接触式卡136的正面或背面显示的服务提供商发行的支付卡,诸如信用卡、借记卡或礼品卡。在一些示例中,非接触式卡136与支付卡无关,并且可以包括但不限于身份证。在一些示例中,非接触式卡可以包括双界面非接触式支付卡、奖励卡等。非接触式卡136可以包括基板504,其可以包括由塑料、金属和其他材料组成的单层或一个或多个层压层。示例性基板材料包括聚氯乙烯、聚氯乙烯醋酸酯、丙烯腈丁二烯苯乙烯、聚碳酸酯、聚酯、阳极化钛、钯、金、碳、纸、以及可生物降解材料。在一些示例中,非接触式卡136可能具备符合iso/iec 7816标准的id-1格式的物理特性,并且非接触式卡可能另外符合iso/iec 14443标准。然而,可以理解,根据本公开的非接触式卡136可以具备不同的特性,并且本公开并不要求在支付卡中实现非接触式卡。
61.非接触式卡136还可以包括显示在该卡的正面和/或背面的识别信息506,以及接触垫508。接触垫508可以包括一个或多个垫,并且被配置为经由交易卡与另一个客户端设备(诸如atm、用户设备、智能手机、膝上型电脑、桌上型电脑或平板电脑)建立接触。该接触垫可以根据诸如iso/iec 7816标准的一个或多个标准来设计,并且使能根据emv协议进行通信。非接触式卡136还可以包括处理电路、天线和其他部件,这将在图5b中进一步讨论。这些部件可以位于接触垫508后面或基板504上的其他地方,例如,基板504的不同层内,并且可以与接触垫508电耦合和物理耦合。非接触式卡136还可以包括磁条或磁带,其可以位于
该卡的背面(图5a中未显示)。非接触式卡136还可以包括与能够经由nfc协议进行通信的天线耦合的近场通信(near-field communication,nfc)设备。实施例不限于这种方式。
62.如图2所示,非接触式卡136的接触垫508可以包括用于存储、处理和传递信息的处理电路510,包括处理器512、存储器106以及一个或多个通信接口122。可以理解,处理电路510可以包含附加部件,包括处理器、存储器、错误和奇偶校验/crc校验器、数据编码器、防冲突算法、控制器、命令解码器、安全原语和防篡改硬件,如执行本文中描述的功能所必需的。
63.存储器106可以是只读存储器、一次写入多次读取存储器或读/写存储器,例如,ram、rom和eeprom,并且非接触式卡136可以包括这些存储器中的一个或多个。只读存储器可以被厂商可编程为只读或一次性可编程。一次性可编程性提供一次写入然后多次读取的机会。一次写入/多次读取存储器可以在存储器芯片已出厂后的某个时间点进行编程。一旦存储器被编程,它就可能不会被重写,但可以被多次读取。读/写存储器可以在出厂后被多次编程和重新编程。读/写存储器也可以在出厂后被多次读取。在一些实例中,存储器106可以是已加密的存储器,其利用由处理器512执行加密算法对数据进行加密。
64.存储器106可以被配置为存储一个或多个小应用程序108、一个或多个计数器110、客户id 116、主密钥112、多样化密钥114和url 120。一个或多个小应用程序108可以包括被配置为在非接触式卡上执行的一个或多个软件应用,诸如卡小应用程序。然而,可以理解,小应用程序108不限于java卡小应用程序,而是可以是可在非接触式卡或具有有限存储器的其他设备上操作的任何软件应用。一个或多个计数器110可以包括足以存储整数的数字计数器。客户id 116可以包括被分配给非接触式卡136的用户的唯一字母数字标识符,并且该标识符可以将非接触式卡的用户与其他非接触式卡的用户区分开。在一些示例中,客户id 116可以识别客户和分配给该客户的账户两者,并且可以进一步识别与该客户的账户相关联的非接触式卡136。
65.前述示例性实施例的处理器512和存储器元件参照接触垫508进行描述,但是本公开不限于此。可以理解,这些元件可以被实施在接触垫508之外或与其完全分离,或者作为除了位于接触垫508内的处理器512和存储器106元件以外的进一步元件。
66.在一些示例中,非接触式卡136可以包括一个或多个天线514。一个或多个天线514可以被放置在非接触式卡136内并且在接触垫508的处理电路510周围。例如,一个或多个天线514可以与处理电路510构成一体,并且一个或多个天线514可以与外部升压线圈一起使用。又例如,一个或多个天线514可以在接触垫508和处理电路510的外部。
67.在实施例中,非接触式卡136的线圈可以充当空芯变压器的次级。终端可以通过切断功率或振幅调制与非接触式卡136进行通信。非接触式卡136可以使用非接触式卡136的功率连接中的间隙来推断出从终端传送的数据,这可以通过一个或多个电容器在功能上维持。非接触式卡136可以通过切换非接触式卡136的线圈上的负载或负载调制向回通信。负载调制可以通过干扰在终端线圈中检测到。更一般地,使用(一个或多个)天线514、处理器512和/或存储器106,非接触式卡136提供通信接口以经由nfc、蓝牙、和/或wi-fi通信进行通信。
68.如上面解释的,非接触式卡136可以被构建在可在智能卡或具有有限存储器的其他设备诸如javacard上操作的软件平台上,并且一个或多个应用或小应用程序可以被安全
地执行。小应用程序108可以被添加到非接触式卡以在各种基于移动应用的用例中提供用于多因素认证(mfa)的一次性口令(otp)。小应用程序108可以被配置为:响应来自读取器诸如(例如,移动设备或销售点终端的)移动nfc读取器的一个或多个请求诸如近场数据交换请求,并且产生包括被编码为ndef文本标签的密码安全otp的ndef消息。
69.ndef otp的一个示例是ndef短记录布局(sr=1)。在这样的示例中,一个或多个小应用程序108可以被配置为将otp编码为ndef类型4公知类型的文本标签。在一些示例中,ndef消息可以包括一个或多个记录。除了otp记录以外,小应用程序108可以被配置为还添加一个或多个静态标签记录。
70.在一些示例中,一个或多个小应用程序108可以被配置为仿真rfid标签。该rfid标签可以包括一个或多个多态标签。在一些示例中,每次读取标签时都呈现不同的密码数据,这些数据可以指示非接触式卡的真实性。基于一个或多个小应用程序108,对标签的nfc读取可以被处理,数据可以被传送到服务器诸如银行系统的服务器,并且该数据可以在服务器处被验证。
71.在一些示例中,非接触式卡136和服务器可以包括某些数据,使得该卡可以被正确识别。非接触式卡136可以包括一个或多个唯一标识符(未图示)。每次发生读取操作时,计数器110可以被配置为递增。在一些示例中,每次(例如,由移动设备)读取来自非接触式卡136的数据时,计数器110被传送到服务器以进行验证,并且确定计数器110是否等于(作为验证的一部分)服务器的计数器。
72.一个或多个计数器110可以被配置为阻止重放攻击。例如,如果密码已经被获得并重放,则该密码立即被拒绝,如果已经读取或使用或以其他方式忽略了计数器110的话。如果计数器110尚未被使用,则它可以被重放。在一些示例中,在非接触式卡136上递增的计数器不同于针对交易而递增的计数器。非接触式卡136不能确定应用交易计数器110,因为在非接触式卡136上的小应用程序108之间没有通信。在一些示例中,非接触式卡136可以包括第一小应用程序440-1,其可以是交易小应用程序,以及第二小应用程序440-2。每个小应用程序440-1和440-2可以包括相应的计数器110。
73.在一些示例中,计数器110可能会变得不同步。在一些示例中,为了解释发起交易的意外读取,诸如以某一角度读取,计数器110可以递增,但该应用不会处理计数器110。在一些示例中,当移动设备10被唤醒时,nfc可以被启用,并且该设备102可以被配置为读取可用的标签,但是不响应于读取而采取动作。
74.为了保持计数器110同步,可以执行应用诸如后台应用,该应用将被配置为:检测移动设备102何时唤醒,并与银行系统的服务器同步以指示由于检测而发生的读取,然后将计数器110向前移动。在其他示例中,可以利用散列的一次性口令使得可以接受不同步的窗口。例如,如果在阈值10内,计数器110可以被配置为向前移动。但是如果在不同的阈值数内,例如在10或1000内,则可以处理用于执行重同步的请求,其经由一个或多个应用请求用户经由用户设备轻拍、打手势或以其他方式指示一次或多次。如果计数器110以适当的顺序增加,则有可能获知用户已经这样做了。
75.本文中参照计数器110、主密钥和多样化密钥描述的密钥多样化技术是加密和/或解密密钥多样化技术的一则示例。这种示例密钥多样化技术不应被视为对本公开的限制,因为本公开同样适用于其他类型的密钥多样化技术。
76.在非接触式卡136的创建过程期间,两个密码密钥可以被唯一地分配给每张卡。密码密钥可以包括对称密钥,该对称密钥可以在数据的加密和解密两者中使用。三重des(triple des,3des)算法可以由emv使用,并且它由非接触式卡136中的硬件实施。通过使用密钥多样化过程,一个或多个密钥可以基于用于要求密钥的每个实体的唯一可识别信息从主密钥中导出。
77.在一些示例中,为了克服3des算法可能易受漏洞影响的缺陷,可以导出会话密钥(诸如每个会话的唯一密钥)而不是使用主密钥,唯一卡导出的密钥和计数器可以用作多样化数据。例如,每次非接触式卡136在操作中使用时,不同的密钥可用于创建消息认证码(message authentication code,mac)和执行加密。这会导致三层密码。该会话密钥可以由一个或多个小应用程序生成,并通过使用具有一个或多个算法的应用交易计数器导出(如emv 4.3book 2a1.3.1公共会话密钥导出中定义的那样)。
78.此外,用于每张卡的增量可以是唯一的,并且通过个性化分配,或者通过一些识别信息在算法上分配。例如,奇数卡可以递增2,偶数卡可以递增5。在一些示例中,增量也可以在顺序读取方面上变化,使得一张卡可以按1、3、5、2、2
……
重复的顺序递增。具体序列或算法序列可以在个性化的时候定义,或者从唯一标识符导出的一个或多个过程中定义。这能够使得重放攻击者更难从少量的卡情况下进行归纳。
79.认证消息可以作为十六进制ascii格式的文本ndef记录的内容递送。在另一个示例中,ndef记录可以以十六进制格式编码。
80.图6示出了根据示例实施例的ndef短记录布局(sr=1)数据结构600。一个或多个小应用程序可以被配置为:将otp编码为ndef类型4公知类型的文本标签。在一些示例中,ndef消息可以包括一个或多个记录。小应用程序可以被配置为除了otp记录以外,还添加一个或多个静态标签记录。示例性标签包括但不限于:标签类型:公知类型、文本、编码英语(encoding english,en);小应用程序id:d2760000850101;能力:只读访问;编码:认证消息可被编码为ascii十六进制;类型-长度-值(type-length-value,tlv)数据可以被提供作为可用来生成ndef消息的个性化参数。在实施例中,认证模板可以包括第一记录,具有用于提供实际动态认证数据的公知索引。该数据结构600可以包括url 120、密码134和由小应用程序108提供的任何其他数据。
81.图7示出了适合于实施如前描述的各种实施例的示例性计算机架构700的实施例。在一个实施例中,计算机架构700可以包括或被实施为计算架构100的一部分,如本文中讨论的那样。
82.如本技术中使用的,术语“系统(system)”和“部件(component)”旨在是指计算机相关的实体,硬件、硬件与软件的组合、软件、或执行中的软件,其示例由示例性计算计算机架构700提供。例如,部件可以是但不限于在处理器上运行的进程、处理器、硬盘驱动器、(光和/或磁存储介质的)多个存储驱动器、对象、可执行文件、执行线程、程序和/或计算机。举例说明,在服务器运行上的应用和服务器两者都可以是部件。一个或多个部件可以驻留在进程和/或执行线程内,并且部件可以定位在一台计算机上和/或分布在两台或更多台计算机之间。此外,部件可以由各种类型的通信介质彼此通信地耦合以协调操作。该协调可以涉及单向或双向信息交换。例如,部件可以以通过通信介质传递的信号形式传递信息。该信息可以被实施为分配给各种信号线的信号。在这样的分配中,每条消息都是信号。然而,可替
选地,进一步的实施例也可以采用数据消息。这样的数据消息可以跨各种连接被发送。示例性连接包括并行接口、串行接口和总线接口。
83.计算机架构700包括各种常见的计算元件,诸如一个或多个处理器、多核处理器、协处理器、存储器单元、芯片组、控制器、外围设备、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(input/output,i/o)部件、电源等。然而,实施例不限于由计算架构100进行的实施方式。
84.如图7所示,计算机架构700包括处理器702、系统存储器704和系统总线706。处理器702可以是各种可商购获得的处理器中的任何一种。
85.系统总线706提供用于系统部件的接口,包括但不限于系统存储器704到处理器702。系统总线706可以是几种类型的总线结构中的任何一种,其进一步可以使用各种可商购获得的总线架构中的任何一种与存储器总线(具有或不具有存储器控制器)、外围总线和本地总线互连。接口适配器可以经由插槽架构连接到系统总线706。示例插槽架构可以包括但不限于加速图形端口(agp)、卡总线、(扩展的)工业标准架构((e)isa)、微通道架构(mca)、网络用户总线(nubus)、外围部件互联(扩展)(pci(x))、pci高速(pci express)、个人计算机存储卡国际协会(pcmcia)等。
86.计算机架构700可以包括或实施各种制品。制品可以包括用以存储逻辑的计算机可读存储介质。计算机可读存储介质的示例可以包括能够存储电子数据的任何有形介质,包括易失性存储器或非易失性存储器、可移动或不可移动存储器、可擦除或不可擦除存储器、可写或可重写存储器等。逻辑的示例可以包括使用任何合适类型的代码实施的可执行计算机程序指令,诸如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码、面向对象代码、可视代码等。实施例也可以至少部分地被实施为包含在非暂时性计算机可读介质中或其上的指令,这些指令可以由一个或多个处理器读取和执行,以使能执行本文中描述的操作。
87.系统存储器704可以包括以一个或多个高速存储器单元形式的各种类型的计算机可读存储介质,诸如只读存储器(rom)、随机存取存储器(ram)、动态ram(dram)、双数据速率dram(ddram)、同步dram(sdram)、静态ram(sram)、可编程rom(prom)、可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪存、聚合物存储器诸如铁电聚合物存储器、双向存储器、相变或铁电存储器、硅-氧化硅-氮化硅-氧化硅-硅(sonos)存储器、磁卡或光卡、诸如独立磁盘冗余阵列(raid)驱动器的设备阵列、固态存储设备(例如,usb存储器、固态驱动器(ssd))以及适合于存储信息的任何其他类型的存储介质。在图7所示的说明性实施例中,系统存储器704可以包括非易失性708和/或易失性710。基本输入/输出系统(bios)可以被存储在非易失性708中。
88.计算机712可以包括以一个或多个低速存储器单元形式的各种类型的计算机可读存储介质,包括内部(或外部)硬盘驱动器714、从可移动磁盘718读取或向其写入的磁盘驱动器716和从可移动光盘722(例如cd-rom或dvd)读取或向其写入的光盘驱动器720。硬盘驱动器714、磁盘驱动器716和光盘驱动器720可以分别通过hdd接口724、fdd接口726和光盘驱动器接口728连接到系统总线706。用于外部驱动器实施方式的hdd接口724可以包括通用串行总线(universal serial bus,usb)和ieee 1394接口技术中的至少一种或两种。
89.驱动器及相关联的计算机可读介质提供数据、数据结构、计算机可执行指令等的
易失性和/或非易失性存储。例如,许多程序模块可以被存储在驱动器以及非易失性708和易失性710中,包括操作系统730、一个或多个应用732、其他程序模块734和程序数据736。在一个实施例中,一个或多个应用732、其他程序模块734和程序数据736可以包括例如系统100的各种应用和/或部件。
90.用户可以通过一个或多个有线/无线输入设备(例如,键盘738和定点设备诸如鼠标740)将命令和信息键入计算机712。其他输入设备可以包括麦克风、红外(infra-red,ir)遥控器、射频(radio-frequency,rf)遥控器、游戏垫、触笔、卡读取器、加密狗(dongle)、指纹读取器、手套、图形输入板、操纵杆、键盘、视网膜读取器、触摸屏(例如,电容式、电阻式等)、轨迹球、触控板、传感器、手写笔等。这些和其他输入设备通常通过被耦合到系统总线706的输入设备接口742而被连接到处理器702,但是也可以通过其他接口被连接,诸如并行端口、ieee 1394串行端口、游戏端口、usb端口、ir接口等。
91.监视器744或其他类型的显示设备也经由诸如视频适配器746的接口被连接到系统总线706。监视器744可以在计算机712的内部或外部。除了监视器744以外,计算机典型地还包括其他外围输出设备,诸如扬声器、打印机等。
92.计算机712可以使用经由与一台或多台远程计算机诸如(一台或多台)远程计算机748的有线和/或无线通信的逻辑连接在网络化环境中操作。(一台或多台)远程计算机748可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或其他公共网络节点,并且典型地包括相对于计算机712描述的许多或所有元素,尽管出于简洁的目的,只有存储器/存储设备750被示出。所描绘的逻辑连接包括与局域网752和/或更大的网络例如广域网754的有线/无线连接。这样的lan和wan联网环境在办公室和公司中很常见,并且便于企业范围的计算机网络,诸如内部网,所有这些可以连接到全球通信网络,例如互联网。
93.当在局域网752联网环境中使用时,计算机712通过有线和/或无线通信网络接口或网络适配器756被连接到局域网752。网络适配器756可以促进到局域网752的有线和/或无线通信,该局域网752还可以包括设置在其上的无线接入点,以用于与网络适配器756的无线功能进行通信。
94.当在广域网754联网环境中使用时,计算机712可以包括调制解调器758,或者被连接到广域网754上的通信服务器,或者具有用于诸如通过互联网的方式在广域网754上建立通信的其他装置。调制解调器758可以是内置或外置的有线和/或无线设备,经由输入设备接口742连接到系统总线706。在网络化环境中,相对于计算机712所描绘的程序模块或其部分可以被存储在远程存储器/存储设备750中。将认识到,所示的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他装置。
95.计算机712可操作为使用ieee 802标准族与有线和无线的设备或实体(诸如,可操作地设置在无线通信(例如,ieee 802.11空中调制技术)中的无线设备)通信。除了别的以外,这至少还包括wi-fi(或无线保真度)、wimax和bluetooth
tm
无线技术。因此,通信可以是与常规网络一样的预定义结构,或者只是在至少两个设备之间的自组织(ad hoc)通信。wi-fi网络使用称作ieee 802.118(a、b、g、n等)的无线电技术来提供安全、可靠、快速的无线连接。wi-fi网络可以用于将计算机彼此连接、连接到互联网以及连接到有线网络(其使用ieee 802.3相关的介质和功能)。
96.如先前参照图1a-6描述的设备的各种元素可以包括各种硬件元素、软件元素或两者的组合。硬件元素的示例可以包括设备、逻辑设备、部件、处理器、微处理器、电路、处理器、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(application specific integrated circuits,asic)、可编程逻辑设备(programmable logic devices,pld)、数字信号处理器(digital signal processors,dsp)、现场可编程门阵列(field programmable gate array,fpga)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件元素的示例可以包括软件部件、程序、应用、计算机程序、应用程序、系统程序、软件开发程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、功能、方法、过程、软件接口、应用程序接口(api)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或其任何组合。然而,确定实施例是否使用硬件元素和/或软件元素来实施可能根据许多因素而变化,诸如期望的计算速率、功率水平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和按照给定的实施方式期望的其他设计或性能约束。
97.至少一个实施例的一个或多个方面可以由存储在机器可读介质上的代表性指令实施,该指令表示处理器内的各种逻辑,当由机器读取时该指令致使机器制造逻辑以执行本文所描述的技术。这样的被称为“ip核”的表示可以被存储在有形的机器可读介质上,并且被供应给各种客户或制造设施,以加载到制造逻辑或处理器的制造机器中。一些实施例可以例如使用机器可读介质或物品来实施,该机器可读介质或物品可以存储指令或指令集,如果由机器执行该指令或指令集可以致使机器执行根据实施例的方法和/或操作。这样的机器可以包括例如任何合适的处理平台、计算平台、计算设备、处理设备、计算系统、处理系统、计算机、处理器等,并且可以使用硬件和/或软件的任何合适的组合来实施。机器可读介质或物品可以包括例如任何合适类型的存储器单元、存储器设备、存储器物品、存储器介质、存储设备、存储物品、存储介质和/或存储单元,例如,存储器、可移动或不可移动介质、可擦除或不可擦除介质、可写或可重写介质、数字或模拟介质、硬盘、软盘、光盘只读存储器(cd-rom)、可记录光盘(cd-r)、可重写光盘(cd-rw)、光盘、磁介质、磁光介质、可移动存储卡或盘、各种类型的数字通用盘(dvd)、磁带、盒式磁带等。指令可以包括任何合适类型的代码,诸如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码、加密代码等,使用任何合适的高级、低级、面向对象、可视化、编译和/或解释的编程语言来实施。
98.出于说明和描述的目的,已经呈现了示例实施例的前述描述。它并不旨在穷举或将本公开限制于所公开的精确形式。根据本公开,许多修改和变化是可能的。意图是本公开的范围不受该详细描述的限制,而是受所附权利要求的限制。要求本技术的优先权的未来提交的申请可以用不同的方式要求所公开的主题,并且通常可以包括如本文所公开的或以其他方式证明的一个或多个限制的任何集合。
技术特征:
1.一种方法,包括:由在设备的处理器上执行的操作系统从与账户相关联的非接触式卡接收统一资源定位符(url)和密码;由所述操作系统响应于接收到所述url,启动与所述非接触式卡相关联的应用;由所述应用将所述密码传送到认证服务器;由所述应用从所述认证服务器接收解密结果,所述解密结果指示所述认证服务器解密了所述密码;由所述应用基于所述解密结果将针对包括标识符的一次性口令(otp)的请求传送到所述url;由所述设备从所述url处的otp生成器接收所述otp;由所述应用接收输入值;由所述应用将所述输入值与从所述otp生成器接收到的所述otp的副本进行比较;由所述应用确定出比较结果匹配;以及由所述应用基于比较结果匹配的确定,在所述设备上显示账户的一个或多个属性。2.根据权利要求1所述的方法,进一步包括:由所述应用在所述设备上的账户数据库中确定所述标识符,其中,所述标识符包括所述非接触式卡的标识符或所述账户的标识符中的一个。3.根据权利要求2所述的方法,进一步包括:由所述设备经由以下至少一个接收所述otp:(i)与所述标识符相关联的电子邮件地址,(ii)与所述标识符相关联的电话号码处的短消息服务(sms)消息,以及(iii)由所述应用基于与所述标识符相关联的所述设备的设备标识符而接收到的推送通知。4.根据权利要求1所述的方法,进一步包括:在将所述密码传送到所述认证服务器前:由所述应用接收用于所述账户的认证凭证;以及由所述应用验证接收到的用于所述账户的认证凭证。5.根据权利要求4所述的方法,进一步包括:在验证用于所述账户的认证凭证后:由所述应用接收用以执行与所述账户相关联的操作的请求;由所述应用输出指定要轻拍所述非接触式卡到所述设备以授权所述操作的指示;以及由所述应用基于指示所述认证服务器解密了所述密码的解密结果以及比较结果匹配的确定来授权所请求的操作。6.根据权利要求1所述的方法,其中,所述os基于近场通信(nfc)从所述非接触式卡接收所述url和所述密码,所述方法进一步包括:由所述os将接收到的otp提供给所述os的自动填充服务;以及由所述自动填充服务将所述otp自动填充到所述应用的表单栏中。7.根据权利要求1所述的方法,其中,所述url被注册为启动所述os中的所述应用,其中,所述url被定向到用于所述otp生成器的应用编程接口(api)端点。8.一种系统,包括:处理器;和存储指令的存储器,所述指令当由所述处理器执行时致使所述处理器:由在所述处理器上执行的操作系统从与账户相关联的非接触式卡接收统一资源定位
符(url)和密码;由所述操作系统响应于接收到所述url,启动与所述非接触式卡相关联的应用;由所述应用将所述密码传送到认证服务器;由所述应用从所述认证服务器接收解密结果,所述解密结果指示所述认证服务器解密了所述密码;由所述应用基于所述解密结果将针对包括标识符的一次性口令(otp)的请求传送到所述url;以及由所述处理器从所述url处的otp生成器接收所述otp;由所述应用接收输入值;由所述应用将所述输入值与从所述otp生成器接收到的所述otp的副本进行比较;由所述应用确定出比较结果匹配;以及由所述应用基于比较结果匹配的确定,显示所述账户的一个或多个属性。9.根据权利要求8所述的系统,所述存储器存储指令,所述指令当由所述处理器执行时致使所述处理器:由所述应用在被存储在所述存储器中的账户数据库中确定所述标识符,其中,所述标识符包括所述非接触式卡的标识符或所述账户的标识符中的一个。10.根据权利要求8所述的系统,所述存储器存储指令,所述指令当由所述处理器执行时致使所述处理器:由所述处理器经由以下至少一个接收所述otp:(i)与所述标识符相关联的电子邮件地址,(ii)与所述标识符相关联的电话号码处的短消息服务(sms)消息,以及(iii)由所述应用基于与所述标识符相关联的所述设备的设备标识符而接收到的推送通知。11.根据权利要求8所述的系统,所述存储器存储指令,所述指令当由所述处理器执行时致使所述处理器,在将所述密码传送到所述认证服务器前:由所述应用接收用于所述账户的认证凭证;以及由所述应用验证接收到的用于所述账户的认证凭证。12.根据权利要求11所述的系统,所述存储器存储指令,所述指令当由所述处理器执行时致使所述处理器,在验证用于所述账户的认证凭证后:由所述应用接收用以执行与所述账户相关联的操作的请求;由所述应用输出指定要轻拍所述非接触式卡到所述系统以授权所述操作的指示;以及由所述应用基于指示所述认证服务器解密了所述密码的解密结果以及所述比较结果匹配的确定来授权所请求的操作。13.根据权利要求8所述的系统,其中,所述os基于近场通信(nfc)从所述非接触式卡接收所述url和所述密码,所述存储器存储指令,所述指令当由所述处理器执行时致使所述处理器:由所述os将接收到的otp提供给所述os的自动填充服务;以及由所述自动填充服务将所述otp自动填充到所述应用的表单栏中。14.根据权利要求8所述的系统,其中,所述url被注册为启动所述os中的所述应用,其中,所述url被定向到用于所述otp生成器的应用编程接口(api)端点。15.一种存储计算机可读指令的非暂时性计算机可读存储介质,当由处理器执行时,所
述指令致使处理器:由在所述处理器上执行的操作系统(os)从与账户相关联的非接触式卡接收统一资源定位符(url)和密码;由所述操作系统响应于接收到所述url,启动与所述非接触式卡相关联的应用;由所述应用将所述密码传送到认证服务器;由所述应用从所述认证服务器接收解密结果,所述解密结果指示所述认证服务器解密了所述密码;由所述应用基于所述解密结果将针对包括标识符的一次性口令(otp)的请求传送到所述url;以及从所述url处的otp生成器接收所述otp;由所述应用接收输入值;由所述应用将所述输入值与从所述otp生成器接收到的所述otp的副本进行比较;由所述应用确定比较结果匹配;以及由所述应用基于比较结果匹配的确定,在显示器上显示所述账户的一个或多个属性。16.根据权利要求15所述的非暂时性计算机可读存储介质,进一步包括指令,所述指令当由所述处理器执行时致使所述处理器:由所述应用在被存储在所述介质中的账户数据库中确定所述标识符,其中,所述标识符包括所述非接触式卡的标识符或所述账户的标识符中的一个。17.根据权利要求15所述的非暂时性计算机可读存储介质,进一步包括指令,所述指令当由所述处理器执行时致使所述处理器:经由以下至少一个接收所述otp:(i)与所述标识符相关联的电子邮件地址,(ii)与所述标识符相关联的电话号码处的短消息服务(sms)消息,以及(iii)由所述应用基于与所述标识符相关联的所述设备的设备标识符而接收到的推送通知。18.根据权利要求15所述的非暂时性计算机可读存储介质,进一步包括指令,所述指令当由所述处理器执行时致使所述处理器,在将所述密码传送到所述认证服务器前:由所述应用接收用于所述账户的认证凭证;以及由所述应用验证接收到的用于所述账户的认证凭证。19.根据权利要求18所述的非暂时性计算机可读存储介质,进一步包括指令,所述指令当由所述处理器执行时致使所述处理器,在验证用于所述账户的认证凭证后:由所述应用接收用以执行与所述账户相关联的操作的请求;由所述应用输出指定要轻拍所述非接触式卡到包括所述处理器的设备以授权所述操作的指示;以及由所述应用基于指示所述认证服务器解密了所述密码的解密结果以及比较结果匹配的确定来授权所请求的操作。20.根据权利要求15所述的非暂时性计算机可读存储介质,其中,os基于近场通信(nfc)从所述非接触式卡接收所述url和所述密码,其中所述url被注册为启动所述os中的所述应用,其中所述url被定向到用于所述otp生成器的应用编程接口(api)端点,所述介质进一步包括指令,所述指令当由所述处理器执行时致使所述处理器:由所述os将接收到的otp提供给所述os的自动填充服务;以及
由所述自动填充服务将所述otp自动填充到所述应用的表单栏中。
技术总结
公开了用于使用非接触式卡的一次性口令的安全生成的系统、方法、装置和计算机可读介质。在一个示例中,设备的操作系统(OS)可以从非接触式卡接收统一资源定位符(URL)和密码。该OS可以启动与URL相关联的应用。该应用可以将密码传送到认证服务器。该应用可以从认证服务器接收指示认证服务器解密了密码的解密结果。基于解密结果,该应用可以请求OTP。处理器可以从OTP生成器接收OTP。该应用可以接收输入值,并将该输入值与OTP的副本进行比较。该应用可以确定出比较结果匹配,并且基于该比较结果匹配的确定,显示账户的一个或多个属性。显示账户的一个或多个属性。显示账户的一个或多个属性。
技术研发人员:杰森
受保护的技术使用者:第一资本服务有限责任公司
技术研发日:2021.12.14
技术公布日:2023/10/7
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:用于宽温度范围的压敏胶粘剂的制作方法 下一篇:发光二极管器件的制作方法
