掌桥专利:专业的专利平台
掌桥专利
首页

由非接触式卡生成的统一资源定位符的服务器端重定向

文献发布时间:2024-04-18 20:01:23


由非接触式卡生成的统一资源定位符的服务器端重定向

相关申请

本申请要求于2021年6月25日提交的题为“SERVER-SIDE REDIRECT OF UNIFORMRESOURCE LOCATOR GENERATED BY CONTACTLESS CARD(由非接触式卡生成的统一资源定位符的服务器端重定向)”的美国专利申请序列号17/359,220的优先权。前述申请的内容通过引用整体并入本文。

背景技术

非接触式卡可以包括生成和/或存储统一资源定位符(URL)的逻辑。然而,非接触式卡与其他计算设备相比可能具有有限的资源。因此,对给定的非接触式卡可生成和/或存储的不同URL的数量可能存在限制。此外,非接触式卡的逻辑可能需要定期地被更新。这可能会带来挑战,因为非接触式卡的数量可能数千、数百万甚至更多。

发明内容

公开了用于由非接触式卡生成的统一资源定位符(URL)的服务器端重定向的系统、方法、装置和计算机可读介质。在一个方面,服务器可以从客户端设备接收包括统一资源定位符(URL)的第一超文本传输协议(HTTP)请求,其中URL的第一参数包括由非接触式卡生成的密码,并且URL的第二参数包括与非接触式卡相关联的账户的客户标识符。服务器可以解密密码并基于账户的一个或多个属性确定账户的上下文。服务器可以基于对密码的解密和所确定的账户的上下文选择多个重定向URL中的第一重定向URL。服务器可以将包括重定向URL的HTTP响应传送到客户端设备。服务器可以从客户端设备接收包括重定向URL的第二HTTP请求。服务器可以将包括重定向URL处的资源的HTTP响应传送到客户端设备。

附图说明

为了容易识别任何特定元件或行为的讨论,参考数字中的一个或多个最高有效数字称为该元件首次引入的图号。

图1A示出了根据一个实施例的主题的一方面。

图1B示出了根据一个实施例的主题的一方面。

图1C示出了根据一个实施例的主题的一方面。

图1D示出了根据一个实施例的主题的一方面。

图1E示出了根据一个实施例的主题的一方面。

图2A示出了根据一个实施例的主题的一方面。

图2B示出了根据一个实施例的主题的一方面。

图2C示出了根据一个实施例的主题的一方面。

图3示出了根据一个实施例的例程300。

图4示出了根据一个实施例的例程400。

图5示出了根据一个实施例的例程500。

图6A示出了根据一个实施例的非接触式卡。

图6B示出了根据一个实施例的非接触式卡。

图7示出了根据一个实施例的数据结构。

图8示出了根据一个实施例的计算机架构。

具体实施方式

本文中公开的实施例提供了用于由非接触式卡生成的URL的安全的服务器端重定向的技术。一般地,用户可以将非接触式卡轻拍到计算设备,从而将卡带入计算设备的无线通信范围内。作为响应,非接触式卡可以生成统一资源定位符(uniform resourcelocator,URL),该统一资源定位符包括作为第一参数的密码和作为第二参数的客户标识符。计算设备102可以接收URL,其可以致使计算设备打开应用。应用可以将URL传送到认证服务器用于处理。服务器可以尝试解密密码。如果服务器能够解密密码,则服务器可以基于与卡相关联的账户的上下文确定重定向URL。可以至少部分地基于与卡相关联的账户的一个或多个属性确定上下文。服务器可以基于URL中指定的客户ID确定一个或多个属性。服务器可以将该重定向URL传送到计算设备,其致使应用请求并加载在重定向URL处指定的资源。

在一些实施例中,机器学习(machine learning,ML)模型可以被用于选择重定向URL和/或确定账户的上下文。一般地,可以基于训练数据来训练ML模型。训练数据可以描述基于不同账户的上下文和/或账户属性来为由多个非接触式卡104生成的接收到的URL选择的重定向URL。这样做相对于在不使用机器学习的情况下选择重定向URL可以提高选择重定向URL的准确性。

有利地,本文中公开的实施例提供了由非接触式卡生成的URL的安全的服务器端重定向。通过利用由非接触式卡生成的密码,本公开的实施例可以以最小的欺诈活动风险安全地验证用户的身份。此外,这样做确保了仅当用户能够访问促进了服务器进行密码验证的非接触式卡时才执行重定向操作。此外,通过提供服务器端重定向逻辑,非接触式卡中需要更少的资源,从而提高非接触式卡的性能并且减少非接触式卡的成本。例如,非接触式卡可能没有足够的存储和/或处理资源以在URL和可用web资源之间具有一对一关系。然而,通过将非接触式卡配置为生成可由服务器基于上下文来重定向的有限数量的URL,非接触式卡可以支持URL和可用web资源之间的一对多关系。此外,这样做可以消除定期地更新非接触式卡中的逻辑以支持新URL(例如,当添加、消除和/或修改新的web资源时)的需要。

总体参照本文中使用的符号和命名,后续详细描述的一个或多个部分可以在计算机或计算机网络上执行的程序过程方面呈现。这些过程性描述和表示由本领域技术人员使用,以将他们工作的实质最有效地传达给本领域其他技术人员。过程在这里总体上被构思为导致所需结果的自洽序列的操作。这些操作是那些要求对物理量进行物理操控的操作。通常,虽然不是必须的,但是这些量采取能够进行存储、传输、结合、比较和以其他方式操控的电、磁或光信号的形式。主要是出于习惯用语的原因,有时将这些信号称为比特、值、元素、符号、字符、项、数字或诸如此类经证明是方便的。然而,应该注意,所有这些和相似的术语都要与适当的物理量相关联,并且仅仅是应用于那些量的方便标记。

此外,这些操控经常以诸如添加或比较的术语指代,这通常与由人工操作员执行的脑力操作相关联。然而,在构成一个或多个示例的一部分的本文所描述的任何操作中,人类操作员的这种能力不是必须的,或者在大多数情况下不是可取的。相反,这些操作是机器操作。用于执行各种实施例的操作的有用机器包括由存储在其中的计算机程序选择性地激活或配置的数字计算机,该计算机程序根据本文中的教导来编写,和/或包括为所需的目的而专门构造的装置或数字计算机。各种实施例还涉及用于执行这些操作的装置或系统。这些装置可以为所需的目的而专门构造。针对各种这些机器所需的结构从给出的描述中将是显而易见的。

现在参照附图,其中相同的附图标记始终用于指代相同的元件。在下面的描述中,出于解释的目的,阐述了许多具体细节以便提供对其的透彻理解。然而,显然,可以在没有这些具体细节的情况下实践新颖的实施例。在其他实例中,公知的结构和设备以框图形式显示以便促进对其的描述。旨在覆盖权利要求范围内的所有修改、等同物和替代物。

图1A描绘了与所公开的实施例一致的示例性计算架构100,也被称为系统。虽然图1A-图1E所示的计算架构100在特定拓扑中具有有限数量的元件,但是可以认识到,该计算架构100可以在按照给定实施方式所期望的替代拓扑中包括更多或更少的元件。

计算架构100包括一个或多个计算设备102、一个或多个服务器106和一个或多个非接触式卡104。非接触式卡104代表任何类型的卡,诸如信用卡、借记卡、ATM卡、礼品卡、支付卡、智能卡,和诸如此类。该非接触式卡104可以包括一个或多个通信接口122,诸如射频识别(radio frequency identification,RFID)芯片,其被配置为在无线通信中经由NFC、EMV标准或其他短程协议与计算设备102的通信接口122(本文中也被称为“卡读取器”、“无线卡读取器”和/或“无线通信接口”)通信。虽然NFC在本文中被用作示例通信协议,但是本公开同样适用于其他类型的无线通信,诸如EMV标准、蓝牙和/或Wi-Fi。

计算设备102代表任何数量和类型的计算设备,诸如智能手机、平板电脑、可穿戴设备、膝上型电脑、便携式游戏设备、虚拟化计算系统、商家终端、销售点系统、服务器、桌上型计算机,和诸如此类。移动设备可以被用作计算设备102的示例,但是不应被视为对本公开的限制。服务器106代表任何类型的计算设备,诸如服务器、工作站、计算集群、云计算平台、虚拟化计算系统,和诸如此类。虽然出于清楚起见没有描绘,但计算设备102、非接触式卡104和服务器106各自包括一个或多个处理器电路以执行程序、代码和/或指令。

如所示出的,该非接触式卡104的存储器108包括小应用程序110、计数器112、主密钥114、多样化密钥116、唯一客户标识符(identifier,ID)118和一个或多个URL 120。小应用程序110是被配置为执行本文中描述的操作的可执行代码。计数器112、主密钥114、多样化密钥116和客户ID 118被用于在系统100中提供安全性,如下面更详细地描述的。

如所示出的,计算设备102的存储器132包括操作系统134的实例。示例操作系统包括

如所示出的,服务器106的存储器124包括认证应用142、机器学习(machinelearning,ML)模型150、和web服务器144。虽然被描绘为服务器106的单独部件,但是在一些实施例中,认证应用142、ML模型150和/或web服务器144可以被集成到单个部件中。此外,认证应用142、ML模型150和/或web服务器144可以在硬件、软件和/或硬件与软件的组合中实施。存储器124还包括账户数据库126、web服务器数据库146和训练数据152的数据存储。账户数据库126通常包括与账户持有人(例如,一个或多个用户)、账户持有人的一个或多个账户和账户的一个或多个非接触式卡104相关的信息。

在一些实施例中,用户可能需要执行操作和/或访问web服务器数据库146中的资源。例如,用户可能需要将非接触式卡104从非活动支付状态激活为活动支付状态,使得非接触式卡104可以被用于处理支付。又例如,用户可能需要客户支持,例如,当不能经由账户应用136访问他们的账户时,当使用非接触式卡104的购买被拒绝时,等等。通常地,web服务器数据库146中的许多资源可以帮助用户执行任何所请求的操作和/或接收帮助。然而,因为web服务器数据库146中可能存在任何数量的资源,所以非接触式卡104可能没有足够的资源来在web服务器数据库146中为每个资源存储URL 120。又例如,非接触式卡104可能还没有被更新以反映web服务器数据库146中的资源的最新状态。有利地,系统100实施由非接触式卡104生成的URL 120的安全的服务器端重定向。

在图1A所描绘的实施例中,用户可以将非接触式卡104轻拍到计算设备102(或以其他方式将非接触式卡104带入设备102的通信接口122的通信范围内)。非接触式卡104的小应用程序110然后可以生成URL 120,该URL 120被定向到诸如服务器106、认证应用142、web服务器144的资源和/或web服务器数据库146中的资源。在一些实施例中,URL 120是可以由服务器106解释以确定web服务器数据库146中的特定资源的通用URL。换句话说,服务器106可能需要识别通用URL 120的重定向URL,并将该重定向URL返回给计算设备102,使得计算设备102可以访问该重定向URL处的资源。因此,在这样的实施例中,URL 120可以被定向到服务器106的重定向部件,例如,如本文中所描述的处理重定向的页面和/或应用。在一些实施例中,小应用程序110根据一个或多个规则来构造URL 120。在一些实施例中,非接触式卡104存储多个通用URL 120,并且小应用程序103基于一个或多个规则从多个URL 120中选择URL 120。在一些实施例中,小应用程序110可以通过选择URL 120并添加动态数据诸如密码130作为URL的一个或多个参数来生成URL 120。

密码130可以基于非接触式卡104的客户ID 118。密码130可以基于任何合适的密码技术生成。在一些实施例中,小应用程序110可以包括URL 120、密码130和未加密的标识符(例如,客户ID 118、非接触式卡104的标识符、和/或任何其他唯一标识符)作为数据包的一部分。在至少一些实施例中,数据包是NDEF文件。

如所描述的,计算架构100被配置为实施密钥多样化以保护数据,这可以在本文中被称为密钥多样化技术。一般地,服务器106(或另一计算设备)和非接触式卡104可以配备有相同的主密钥114(也被称为主对称密钥)。更具体地,每个非接触式卡104被编程有不同的主密钥114,该主密钥114在服务器106中具有相应的配对。例如,当制造非接触式卡104时,唯一的主密钥114可以被编程到非接触式卡104的存储器108中。相似地,唯一的主密钥114可以被存储在服务器106的账户数据库126中的与非接触式卡104相关联的客户的记录中(和/或存储在不同的安全位置中,诸如硬件安全模块(HSM)128中)。主密钥114可以对除了非接触式卡104和服务器106以外的各方保密,从而提高系统100的安全性。在一些实施例中,非接触式卡104的小应用程序110可以使用主密钥114来加密和/或解密数据(例如,客户ID 118),并且该数据作为密码算法的输入。例如,利用主密钥114对客户ID 118进行加密可以产生密码130。相似地,服务器106可以使用相应的主密钥114来加密和/或解密与非接触式卡104相关联的数据.

在其他实施例中,非接触式卡104和服务器106的主密钥114可以与计数器112结合使用以使用密钥多样化来提高安全性。计数器112包括在非接触式卡104与服务器106之间同步的值。计数器112可以包括每次数据在非接触式卡104与服务器106(和/或非接触式卡104与计算设备102)之间交换时改变的数字。当准备(例如向服务器106和/或设备102)发送数据时,非接触式卡104的小应用程序110可以递增计数器112。非接触式卡104的小应用程序110然后可以提供主密钥114和计数器112作为密码算法的输入,该密码算法产生多样化密钥116作为输出。该密码算法可以包括加密算法、基于散列的消息认证码(hash-basedmessage authentication code,HMAC)算法、基于密文的消息认证码(cipher-basedmessage authentication code,CMAC)算法,和诸如此类。密码算法的非限制性示例可以包括对称加密算法,诸如3DES或AES107;对称HMAC算法,诸如HMAC-SHA-256算法;以及对称CMAC算法,诸如AES-CMAC。密钥多样化技术的示例在2018年11月29日提交的美国专利申请16/205,119中更详细地描述。前述专利申请通过引用整体并入本文。

继续密钥多样化示例,小应用程序110然后可以使用多样化密钥116和数据作为密码算法的输入来加密数据(例如客户ID 118和/或任何其他数据)。例如,利用多样化密钥116对客户ID 118进行加密可以产生已加密的客户ID(例如密码130)。在一些实施例中,密码130被包括在内作为URL 120的参数。在其他实施例中,密码130不是URL 120的参数,但是利用数据包诸如NDEF文件中的URL 120进行传送。认证应用142然后可以经由计算设备102的通信接口122读取包括URL 120和密码130的数据包。

如所描述的,密码130和客户ID 118可以是URL 120的参数。例如,URL 120可以是“http://www.example.com/redirect?param=ABC123&custID=123”。在这样的示例中,该密码130可以对应于参数“ABC123”,并且客户ID 118可以对应于参数“custID”。一旦被操作系统134接收到,操作系统134就可以打开应用来处理URL 120。在一些实施例中,URL 120可以利用账户应用136注册,这致使操作系统134启动账户应用136并且将URL 120作为输入提供给账户应用136。然而,在其他示例中,操作系统134可以启动web浏览器138并将URL 120作为输入提供给web浏览器138。不管由操作系统134启动的实体是什么,账户应用136和/或web浏览器138都可以生成包括URL 120的超文本传输协议(HTTP)请求。出于清楚起见,使用账户应用136作为参考示例来讨论图1A-图1E的实施例。然而,该实施例同样地适用于web浏览器138,并且账户应用136的使用不应被认为是本公开的限制。

图1B描绘了其中账户应用136将包括密码130和未加密的客户ID 118的HTTP请求140传送到服务器106的实施例。web服务器144通常可以接收HTTP请求140并将密码130提供给认证应用142用于验证。例如,认证应用142可以尝试使用由服务器106存储的主密钥114的副本来对密码130进行解密。在一些实施例中,认证应用142可以使用由账户应用136提供给服务器106的未加密的客户ID 118(或其他标识符)来识别主密钥114和计数器112。在一些示例中,认证应用142可以提供主密钥114和计数器112作为密码算法的输入,该密码算法产生多样化密钥116作为输出。所得到的多样化密钥116可以对应于非接触式卡104的多样化密钥116,其可以被用于对密码130进行解密。

不管使用何种解密技术,认证应用142都可以成功地对密码130进行解密,从而验证或认证请求140中的密码130(例如,通过将对密码130解密所产生的客户ID 118与存储在账户数据库126中的已知客户ID进行比较,和/或基于使用主密钥114和/或多样化密钥116的解密成功的指示)。尽管密钥114、116被描绘为存储在存储器124中,但是该密钥可以被存储在其他地方,诸如在安全元件和/或HSM 128中。在这样的实施例中,安全元件和/或HSM128可以使用主密钥114和/或多样化密钥116以及密码函数来解密密码130。相似地,如上所述,安全元件和/或HSM 128可以基于主密钥114和计数器112来生成多样化密钥116。

如果解密成功,则认证应用142、web服务器144和/或ML模型150可以确定与非接触式卡104相关联的账户的上下文。账户的上下文可以基于账户的一个或多个属性。一个或多个属性可以包括账户数据库126中的针对账户持有人、账户和/或非接触式卡104的任何元数据。示例属性包括但不限于,账户已经被打开的时间量、非接触式卡104的支付状态、非接触式卡104的使用年限、账户余额、非接触式卡104的余额以及与账户和/或非接触式卡104相关联的最近事件。该事件可以包括任何类型的事件,诸如被拒绝的交易、被准许的交易、交易历史、非接触式卡的激活、将非接触式卡104给客户的邮寄(但不是激活)等。上下文可以进一步基于请求140的分析来确定,例如,传送了请求的应用、请求的元数据等。例如,如果账户应用136生成请求140,则账户应用136可以包括允许服务器106确定上下文的一些元数据。元数据可以包括当非接触式卡104被轻拍到计算设备102时在计算设备102上所显示的账户应用136的当前页面。实施例不限于此上下文中。

基于上下文,可以为URL 120的服务器端重定向选择来自web服务器数据库146的资源。例如,如所描述的,URL 120可以是被定向到服务器106的重定向资源的通用URL。通过确定上下文,可以识别出web服务器数据库146中的特定资源,并且可以将被定向到识别出的资源的重定向URL返回给计算设备102。例如,如果用户不能激活他们的非接触式卡104,则服务器106可以确定从web服务器数据库146选择卡激活web页面,并且将卡激活web页面的URL传送到计算设备102。

在一些实施例中,ML模型150可以确定上下文和/或从web服务器数据库146中选择用于重定向的资源。一般地,ML模型150代表任何类型的计算模型。ML模型150可以基于训练数据152被训练以确定上下文并选择用于重定向的资源。训练数据152包括用于训练ML模型150的数据。例如,训练数据152可以包括以下数据,其描述多个账户、每个账户的属性、与每个账户相关联的一个或多个非接触式卡104的属性、账户的上下文、以及基于接收到来自与每个账户相关联的客户端设备的请求而为账户选择的一个或多个重定向URL,其中该请求指定URL诸如URL 120,例如由非接触式卡104生成的需要由服务器106解释和重定向的通用URL。该重定向包括确定帐户的上下文和选择被定向到特定资源的重定向URL。换句话说,训练数据152包括要基于多个URL 120、账户的一个或多个属性、非接触式卡104的属性、以及/或者账户和/或非接触式卡104的上下文来选择的多个重定向URL。在一些实施例中,训练数据152通常包括反映账户(和/或非接触式卡104)的生命周期中发生某些账户相关操作的不同时间的数据。因此,基于训练,ML模型150可以基于账户(和/或非接触式卡104)的生命周期的阶段而准确地确定账户的上下文和/或准确地选择web服务器数据库146中的资源作为重定向操作的资源。换句话说,经训练的ML模型150可以预测当将他们的非接触式卡104轻拍到计算设备102时客户正在试图做什么。一旦经训练,ML模型150就基于对客户正在试图做什么的预测来为由非接触式卡104生成的URL 120选择重定向URL。

返回到解密,如果认证应用142不能解密密码130以产生预期结果(例如,与非接触式卡104相关联的账户的客户ID 118),则认证应用142不验证密码130。在这样的示例中,认证应用142确定要制止确定帐户的上下文和/或选择重定向URL。认证应用142可以将解密失败的指示传送到计算设备102。

图1C描绘了其中认证应用142基于成功地解密密码130并确定帐户的上下文来选择重定向URL 158并将其传送到计算设备102的实施例。例如,如果上下文指示用户不能激活非接触式卡104,则重定向URL 158可以被定向到web服务器数据库146中的帮助网页,以协助用户尝试激活非接触式卡104。重定向URL 158可以被包括在HTTP响应中(未图示)。在一些实施例中,HTTP响应包括具有位置头字段的HTTP响应状态码,其中重定向URL 158被指定为位置头字段的至少一部分。HTTP响应可以包括含有位置头字段的任何合适的HTTP状态码。包括位置头字段的HTTP状态码的示例包括但不限于HTTP 301状态码、HTTP 302状态码、HTTP 303状态码、HTTP 307状态码、HTTP 308状态码,和诸如此类。然而,在其他实施例中,重定向URL 158根据不同的格式和/或协议被传送。在一些实施例中,重定向URL 158包括一个或多个附加参数,诸如认证令牌和/或响应于接收到重定向URL 158而要被打开的账户应用136的页面的标识符。

如所描述的,认证应用142可以生成要被包括作为重定向URL 158的参数的认证令牌。可以响应于对密码130的解密来生成认证令牌。在一些实施例中,认证应用142还基于与非接触式卡104相关联的账户活动了超过时间阈值(例如,1个月、3个月等)的时间段的确定来生成认证令牌。又例如,认证应用142还可以基于从账户应用136和/或web浏览器138接收到的计算设备102的设备标识符与账户数据库126中与该账户相关联的设备标识符相匹配,来生成认证令牌。设备标识符可以是任何唯一的标识符,诸如计算设备102的媒体访问控制(media access control,MAC)地址、唯一的字母数字串和诸如此类。换句话说,如果设备标识符与帐户数据库126中所存储的标识符匹配,则计算设备102可以是“受信”设备,并且认证应用142可以基于计算设备102是受信设备来生成认证令牌。

认证令牌通常可以允许账户应用136登录到账户数据库126中与非接触式卡104相关联的账户。在一些实施例中,认证令牌包括散列值和账户的一个或多个属性。例如,账户应用136可以提取认证令牌。账户应用136然后可以使用令牌来访问账户,例如,通过本地验证令牌和/或将认证令牌传送到服务器106。例如,服务器106可以将从账户应用136接收到的认证令牌与由认证应用142生成的账户令牌进行比较。如果比较结果匹配,则服务器106可以将账户数据库126中的账户的一个或多个属性传送到账户应用136,其可以处理和/或以其他方式在计算设备102上显示一个或多个属性。

如所示出的,认证应用142可以进一步将解密结果148传送到计算设备102。解密结果148通常反映密码130是否被解密,例如,利用标志、比特或任何其他合适的指示。在图1C所描绘的示例中,解密结果148可以指示服务器106所解密的密码130。这样做可以允许帐户应用136确定在跟随重定向URL 158之前密码130被成功地解密,从而提高安全性。账户应用136和/或web浏览器138可以接收重定向URL 158和/或解密结果148。在至少一个实施例中,账户应用136和/或web浏览器138在接收时自动跟随重定向URL 158,例如通过生成包括重定向URL 158的新请求。

图1D描述了其中帐户应用136将包括重定向URL 158的请求154传送到服务器106的实施例。一旦接收到,web服务器144可以识别web服务器数据库146中与重定向URL 158相关联的资源。例如,web服务器数据库146中的资源可以包括用于激活非接触式卡的帮助页面。实施例不限于此上下文中。如果重定向URL 158包括认证令牌和/或页面标识符,则账户应用136可以出于账户认证的目的提取该令牌,和/或打开与该页面标识符相关联的账户应用136的页面。在一些实施例中,账户应用136可以解码认证令牌以识别账户数据库126中的账户的一个或多个属性。

图1E描绘了其中web服务器144识别与重定向URL 158相关联的资源160的实施例。web服务器144然后可以将资源160传送到计算设备102。资源160可以作为HTTP响应的一部分被传送。如所示出的,账户应用136然后可以访问资源160,从而在计算设备102的显示器上显示资源160。如所描述的,在一些实施例中,web浏览器138可以接收并呈现资源160。

有利地,系统100提供由非接触式卡104生成的URL 120的服务器端重定向。这样做提高了系统100的性能。例如,可以通过减少生成和/或存储URL 120所需的处理资源和/或存储器资源的量来提高非接触式卡104的性能。此外,通过将非接触式卡配置为生成能由服务器106基于上下文而重定向的有限数量的URL 120,非接触式卡104可以支持URL和web服务器数据库146中的可用资源之间的一对多关系。此外,这样做可以消除周期性地更新非接触式卡104中的逻辑以支持新URL(例如,当添加、移除和/或修改新的web资源时)的需要。类似地,通过利用由非接触式卡在URL 120中所包括的密码130,系统100可以用最小的欺诈活动风险安全地验证用户的身份。此外,系统100确保了仅当用户能够访问生成了有效密码以供服务器106验证的非接触式卡时才执行重定向操作。

图2A是示出其中非接触式卡104被轻拍到计算设备102的实施例的示意图200a。虽然计算设备102被描绘为输出操作系统134的屏幕(例如主屏幕),但是计算设备102通常可以处于任何状态。例如,当将非接触式卡104轻拍到计算设备102时,用户可以正在使用另一个应用,诸如账户应用136和/或web浏览器138。

如所描述的,当非接触式卡104被轻拍到计算设备102时,小应用程序110可以生成密码130和URL 120。在一些实施例中,密码130是URL 120的参数。小应用程序110可以进一步包括标识符,诸如未加密的客户ID 118、非接触式卡104的标识符和诸如此类,作为URL120的参数。不管密码130和/或未加密的标识符是否是URL 120的参数,密码130、未加密的标识符和URL 120都可以被包括在由计算设备102读取的数据包(诸如NDEF文件)中。如所示出的,响应于接收的数据包,操作系统134可以启动应用,因为URL 120(或其一部分)可以向账户应用136和/或web浏览器138注册。

图2B是示出其中响应于操作系统134从非接触式卡104接收到URL 120而打开账户应用136的实施例的示意图200b。如所示出的,账户应用136将URL 120、密码130和未加密的客户ID 118传送到服务器106。在至少一个实施例中,账户应用136将URL 120、密码130和客户ID 118作为第一HTTP请求的至少一部分传送到服务器106。如上面更详细描述的,认证应用142然后可以尝试解密密码130。如果解密成功,则认证应用142可以指示ML模型150确定与客户ID 118相关联的账户的上下文,并输出重定向URL,该重定向URL被定向到web服务器数据库146中的资源160。服务器106然后可以将重定向URL 158传送到计算设备102。

在其他实施例中,ML模型150可以输出资源160,并且web服务器144确定与资源160相关联的重定向URL,例如,这基于URL到web服务器144所存储的资源(未图示)的映射。在另一个实施例中,ML模型150可以输出上下文,诸如“账户激活”、“交易被拒绝”等。web浏览器138然后可以识别web服务器数据库146中与上下文相关联的一个或多个资源160,例如,这基于上下文到web服务器144所存储的资源(未示出)的映射。例如,多个资源160可以与由ML模型150生成的“交易被拒绝”上下文相关联。在这样的示例中,web服务器144可以选择多个资源中的一个,并将定向到所选资源的重定向URL 158返回给计算设备102。

图2C是示出其中账户应用136显示页面202的实施例的示意图200c。如上文参考图2B所述,页面202可以对应于与从服务器106接收到的重定向URL 158相关联的资源160。一旦接收到,账户应用136就可以生成指定重定向URL 158的新请求,并将该新请求传送到服务器106。服务器106可以利用资源160(例如,页面202)进行响应。然而,在一些实施例中,账户应用136可以本地存储页面202。在这样的实施例中,账户应用136不需要生成对页面202的新请求。相反地,重定向URL 158可以包括页面202的标识符,并且账户应用136可以基于识别出重定向URL 158中的页面202的标识符来打开页面202。说明性地,如所示出的,页面202对应于账户详情页面,其中一个或多个账户的一个或多个属性被显示在计算设备102上。

用于所公开的实施例的操作可以参照以下图进一步描述。一些图可以包括逻辑流程。尽管本文中呈现的这些图可以包括特定的逻辑流程,但是可以认识到,该逻辑流程仅提供了能够如何实施本文中描述的一般功能的示例。此外,除非另有说明,否则给定的逻辑流程并不一定必须按照所呈现的顺序执行。另外,给定的逻辑流程可以由硬件元素、由处理器执行的软件元素、或其任何组合实施。实施例不限于该上下文。

图3示出了逻辑流程或例程300的实施例。逻辑流程300可以代表由本文所描述的一个或多个实施例执行的一些或所有操作。例如,逻辑流程300可以包括用于由非接触式卡104生成的URL的服务器端重定向的一些或所有操作。实施例不限于该上下文。

在框302中,例程300由服务器106从客户端计算设备102接收包括URL 120的第一超文本传输协议(hypertext transfer protocol,HTTP)请求,其中URL 120的第一参数包括由非接触式卡104生成的密码130并且URL 120的第二参数包括与非接触式卡104相关联的账户的客户ID 118。在框304中,例程300由服务器106来解密密码130。在框306中,例程300由服务器106基于账户的一个或多个属性来确定账户的上下文。在至少一个实施例中,ML模型150确定上下文。在框308中,例程300由服务器106基于对密码的解密和所确定的账户的上下文来选择多个重定向URL的第一重定向URL 158。在框310中,例程300由服务器106将包括重定向URL 158的HTTP响应传送到计算设备102。在框312中,例程300由服务器106从计算设备102接收包括重定向URL 158的第二HTTP请求。在框314中,例程300由服务器106将包括重定向URL 158处的资源160传送到计算设备102。

图4示出了逻辑流程或例程400的实施例。逻辑流程400可以代表由本文所描述的一个或多个实施例执行的一些或所有操作。例如,逻辑流程400可以包括用于由非接触式卡104生成的URL的服务器端重定向的一些或所有操作。实施例不限于该上下文。

在框402中,例程400由服务器106分析请求中所指定的URL。例如,URL可以是包括在图3的框302处接收到的密码130的URL 120。在框404中,例程400由服务器106基于分析确定生成了请求的应用。例如,账户应用136和/或web浏览器138可以传送该请求,并且服务器106可以确定账户应用136或web浏览器138传送了请求。在框406中,例程400由服务器106确定与该请求相关联的账户的一个或多个属性,例如基于该请求中的客户ID 118。在框410中,例程400基于分析、生成请求的应用以及帐户的一个或多个属性来选择重定向URL 158。重定向URL 158可以被传送到计算设备102,该计算设备102可以跟随重定向URL 158来加载对应的资源160。

图5示出了逻辑流程或例程500的实施例。逻辑流程500可以代表由本文所描述的一个或多个实施例执行的一些或所有操作。例如,逻辑流程500可以包括用于使用机器学习的URL的服务器端重定向的一些或所有操作,其中URL由非接触式卡104生成。实施例不限于该上下文。

在框502中,例程500由ML模型150接收指定URL的请求和与该请求相关联的账户的一个或多个属性。在框504中,例程500由ML模型150确定账户的上下文。在框506处,例程500由ML模型150处理URL、账户的一个或多个属性、和账户的上下文。在框508中,例程500由ML模型基于该处理而生成多个重定向URL的第一重定向URL 158。重定向URL 158可以被传送到计算设备102,该计算设备可以跟随重定向URL 158来加载对应的资源160。

图6A是示出非接触式卡104的示例构造的示意图600,该非接触式卡104可以包括由作为服务提供商标记602在非接触式卡104的正面或背面显示的服务提供商发行的支付卡,诸如信用卡、借记卡或礼品卡。在一些示例中,非接触式卡104与支付卡无关,并且可以包括但不限于身份证。在一些示例中,非接触式卡可以包括双界面非接触式支付卡、奖励卡等。非接触式卡104可以包括基板604,其可以包括由塑料、金属和其他材料组成的单层或一个或多个层压层。示例性基板材料包括聚氯乙烯、聚氯乙烯醋酸酯、丙烯腈丁二烯苯乙烯、聚碳酸酯、聚酯、阳极化钛、钯、金、碳、纸、以及可生物降解材料。在一些示例中,非接触式卡104可能具备符合ISO/IEC 7816标准的ID-1格式的物理特性,并且非接触式卡可能另外符合ISO/IEC 14443标准。然而,可以理解,根据本公开的非接触式卡104可以具备不同的特性,并且本公开并不要求在支付卡中实现非接触式卡。

非接触式卡104还可以包括显示在该卡的正面和/或背面的识别信息606,以及接触垫608。接触垫608可以包括一个或多个垫,并且被配置为经由交易卡与另一个客户端设备(诸如ATM、用户设备、智能手机、膝上型电脑、桌上型电脑或平板电脑)建立接触。该接触垫可以根据诸如ISO/IEC 7816标准的一个或多个标准来设计,并且使能根据EMV协议进行通信。非接触式卡104还可以包括处理电路、天线和其他部件,这将在图6B中进一步讨论。这些部件可以位于接触垫608后面或基板604上的其他地方,例如,基板604的不同层内,并且可以与接触垫608电耦合和物理耦合。非接触式卡104还可以包括磁条或磁带,其可以位于该卡的背面(图6A中未显示)。非接触式卡104还可以包括与能够经由NFC协议进行通信的天线耦合的近场通信(Near-Field Communication,NFC)设备。实施例不限于这种方式。

如图2所示,非接触式卡104的接触垫608可以包括用于存储、处理和传递信息的处理电路610,包括处理器612、存储器108以及一个或多个通信接口122。可以理解,处理电路610可以包含附加部件,包括处理器、存储器、错误和奇偶校验/CRC校验器、数据编码器、防冲突算法、控制器、命令解码器、安全原语和防篡改硬件,如执行本文中描述的功能所必需的。

存储器108可以是只读存储器、一次写入多次读取存储器或读/写存储器,例如,RAM、ROM和EEPROM,并且非接触式卡104可以包括这些存储器中的一个或多个。只读存储器可以被厂商可编程为只读或一次性可编程。一次性可编程性提供一次写入然后多次读取的机会。一次写入/多次读取存储器可以在存储器芯片已出厂后的某个时间点进行编程。一旦存储器被编程,它就可能不会被重写,但可以被多次读取。读/写存储器可以在出厂后被多次编程和重新编程。读/写存储器也可以在出厂后被多次读取。在一些实例中,存储器108可以是已加密的存储器,其利用由处理器612执行加密算法对数据进行加密。

存储器108可以被配置为存储一个或多个小应用程序110、一个或多个计数器112、客户ID 118、主密钥114、多样化密钥116和重定向URL 120。一个或多个小应用程序110可以包括被配置为在一个或多个非接触式卡上执行的一个或多个软件应用,诸如

前述示例性实施例的处理器612和存储器元件参照接触垫608进行描述,但是本公开不限于此。可以理解,这些元件可以被实施在接触垫608之外或与其完全分离,或者作为除了位于接触垫608内的处理器612和存储器108元件以外的进一步元件。

在一些示例中,非接触式卡104可以包括一个或多个天线614。一个或多个天线614可以被放置在非接触式卡104内并且在接触垫608的处理电路610周围。例如,一个或多个天线614可以与处理电路610构成一体,并且一个或多个天线614可以与外部升压线圈一起使用。又例如,一个或多个天线614可以在接触垫608和处理电路610的外部。

在实施例中,非接触式卡104的线圈可以充当空芯变压器的次级。终端可以通过切断功率或振幅调制与非接触式卡104进行通信。非接触式卡104可以使用非接触式卡104的功率连接中的间隙来推断出从终端传送的数据,这可以通过一个或多个电容器在功能上维持。非接触式卡104可以通过切换非接触式卡104的线圈上的负载或负载调制向回通信。负载调制可以通过干扰在终端线圈中检测到。更一般地,使用(一个或多个)天线614、处理器612和/或存储器108,非接触式卡104提供通信接口以经由NFC、蓝牙、和/或Wi-Fi通信进行通信。

如上面解释的,非接触式卡104可以被构建在可在智能卡或具有有限存储器的其他设备诸如JavaCard上操作的软件平台上,并且一个或多个应用或小应用程序可以被安全地执行。小应用程序110可以被添加到非接触式卡以在各种基于移动应用的用例中提供用于多因素认证(multifactor authentication,MFA)的一次性口令(one-time password,OTP)。小应用程序110可以被配置为:响应来自读取器诸如(例如,移动计算设备102或销售点终端的)移动NFC读取器的一个或多个请求诸如近场数据交换请求,并且产生包括被编码为NDEF文本标签的密码安全OTP的NDEF消息。该NDEF消息可以包括URL 120、密码130以及任何其他数据。

NDEF OTP的一个示例是NDEF短记录布局(SR=1)。在这样的示例中,一个或多个小应用程序110可以被配置为将OTP编码为NDEF类型4公知类型的文本标签。在一些示例中,NDEF消息可以包括一个或多个记录。除了OTP记录以外,小应用程序110可以被配置为还添加一个或多个静态标签记录。

在一些示例中,一个或多个小应用程序110可以被配置为仿真RFID标签。该RFID标签可以包括一个或多个多态标签。在一些示例中,每次读取标签时都呈现不同的密码数据,这些数据可以指示非接触式卡的真实性。基于一个或多个小应用程序110,对标签的NFC读取可以被处理,数据可以被传送到服务器诸如银行系统的服务器,并且该数据可以在服务器处被验证。

在一些示例中,非接触式卡104和服务器可以包括某些数据,使得该卡可以被正确识别。非接触式卡104可以包括一个或多个唯一标识符(未图示)。每次发生读取操作时,计数器112可以被配置为递增。在一些示例中,每次(例如,由移动设备)读取来自非接触式卡104的数据时,计数器112被传送到服务器以进行验证,并且确定计数器112是否等于(作为验证的一部分)服务器的计数器。

一个或多个计数器112可以被配置为阻止重放攻击。例如,如果密码已经被获得并重放,则该密码立即被拒绝,如果已经读取或使用或以其他方式忽略了计数器112的话。如果计数器112尚未被使用,则它可以被重放。在一些示例中,在非接触式卡104上递增的计数器不同于针对交易而递增的计数器。非接触式卡104不能确定应用交易计数器112,因为在非接触式卡104上的小应用程序110之间不存在通信。在一些示例中,非接触式卡104可以包括第一小应用程序440-1,其可以是交易小应用程序,以及第二小应用程序440-2。每个小应用程序440-1和440-2可以包括相应的计数器112。

在一些示例中,计数器112可能会变得不同步。在一些示例中,为了解释发起交易的意外读取,诸如以某一角度读取,计数器112可以递增,但该应用不会处理计数器112。在一些示例中,当移动设备10被唤醒时,NFC可以被启用,并且该计算设备102可以被配置为读取可用的标签,但是不响应于读取而采取动作。

为了保持计数器112同步,可以执行应用诸如后台应用,该应用将被配置为:检测计算设备102何时唤醒,并与银行系统的服务器同步以指示由于检测而发生的读取,然后将计数器112向前移动。在其他示例中,可以利用散列的一次性口令使得可以接受不同步的窗口。例如,如果在阈值10内,计数器112可以被配置为向前移动。但是如果在不同的阈值数内,例如在10或1000内,则可以处理用于执行重同步的请求,其经由一个或多个应用请求用户经由用户设备轻拍、打手势或以其他方式指示一次或多次。如果计数器112以适当的顺序增加,则有可能获知用户已经这样做了。

本文中参照计数器112、主密钥和多样化密钥描述的密钥多样化技术是加密和/或解密密钥多样化技术的一则示例。这种示例密钥多样化技术不应被视为对本公开的限制,因为本公开同样适用于其他类型的密钥多样化技术。

在非接触式卡104的创建过程期间,两个密码密钥可以被唯一地分配给每张卡。密码密钥可以包括对称密钥,该对称密钥可以在数据的加密和解密两者中使用。三重DES(Triple DES,3DES)算法可以由EMV使用,并且它由非接触式卡104中的硬件实施。通过使用密钥多样化过程,一个或多个密钥可以基于用于要求密钥的每个实体的唯一可识别信息从主密钥中导出。

在一些示例中,为了克服3DES算法可能易受漏洞影响的缺陷,可以导出会话密钥(诸如每个会话的唯一密钥)而不是使用主密钥,唯一卡导出的密钥和计数器可以用作多样化数据。例如,每次非接触式卡104在操作中使用时,不同的密钥可用于创建消息认证码(message authentication code,MAC)和执行加密。这会导致三层密码。该会话密钥可以由一个或多个小应用程序生成,并通过使用具有一个或多个算法的应用交易计数器导出(如EMV 4.3Book 2A1.3.1公共会话密钥导出中定义的那样)。

此外,用于每张卡的增量可以是唯一的,并且通过个性化分配,或者通过一些识别信息在算法上分配。例如,奇数卡可以递增2,偶数卡可以递增5。在一些示例中,增量也可以在顺序读取方面上变化,使得一张卡可以按1、3、5、2、2……重复的顺序递增。具体序列或算法序列可以在个性化的时候定义,或者从唯一标识符导出的一个或多个过程中定义。这能够使得重放攻击者更难从少量的卡情况下进行归纳。

认证消息可以作为十六进制ASCII格式的文本NDEF记录的内容递送。在另一个示例中,NDEF记录可以以十六进制格式编码。

图7示出了根据示例实施例的NDEF短记录布局(SR=1)数据结构700。一个或多个小应用程序可以被配置为:将OTP编码为NDEF类型4公知类型的文本标签。在一些示例中,NDEF消息可以包括一个或多个记录。小应用程序可以被配置为除了OTP记录以外,还添加一个或多个静态标签记录。示例性标签包括但不限于:标签类型:公知类型、文本、编码英语(encoding English,en);小应用程序ID:D2760000850101;能力:只读访问;编码:认证消息可被编码为ASCII十六进制;类型-长度-值(type-length-value,TLV)数据可以被提供作为可用来生成NDEF消息的个性化参数。在实施例中,认证模板可以包括第一记录,具有用于提供实际动态认证数据的公知索引。该数据结构700可以包括URL 120、密码130和由小应用程序110提供的任何其他数据。

图8示出了适合于实施如前描述的各种实施例的示例性计算机架构800的实施例。在一个实施例中,计算机架构800可以包括或被实施为计算架构100的一部分。

如本申请中使用的,术语“系统(system)”和“部件(component)”旨在是指计算机相关的实体,硬件、硬件与软件的组合、软件、或执行中的软件,其示例由示例性计算计算机架构800提供。例如,部件可以是但不限于在处理器上运行的进程、处理器、硬盘驱动器、(光和/或磁存储介质的)多个存储驱动器、对象、可执行文件、执行线程、程序和/或计算机。举例说明,在服务器上运行的应用和服务器两者都可以是部件。一个或多个部件可以驻留在进程和/或执行线程内,并且部件可以定位在一台计算机上和/或分布在两台或多台计算机之间。此外,部件可以由各种类型的通信介质彼此通信地耦合以协调操作。该协调可以涉及单向或双向信息交换。例如,部件可以以通过通信介质传递的信号形式传递信息。该信息可以被实施为分配给各种信号线的信号。在这样的分配中,每条消息都是信号。然而,可替选地,进一步的实施例也可以采用数据消息。这样的数据消息可以跨各种连接被发送。示例性连接包括并行接口、串行接口和总线接口。

计算机架构800包括各种常见的计算元件,诸如一个或多个处理器、多核处理器、协处理器、存储器单元、芯片组、控制器、外围设备、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(input/output,I/O)部件、电源等。然而,实施例不限于由计算架构800进行的实施方式。

如图8所示,计算机架构800包括包含处理器802的计算机812、系统存储器804和系统总线806。处理器802可以是各种可商购获得的处理器中的任何一种。计算机812可以代表计算设备102和/或服务器106。

系统总线806提供用于系统部件的接口,包括但不限于系统存储器804到处理器802。系统总线806可以是几种类型的总线结构中的任何一种,其进一步可以使用各种可商购获得的总线架构中的任何一种与存储器总线(具有或不具有存储器控制器)、外围总线和本地总线互连。接口适配器可以经由插槽架构连接到系统总线608。示例插槽架构可以包括但不限于加速图形端口(Accelerated Graphics Port,AGP)、卡总线、(扩展的)工业标准架构((Extended))Industry Standard Architecture,(E)ISA)、微通道架构(Micro ChannelArchitecture,MCA)、网络用户总线(NuBus)、外围部件互联(扩展)(Peripheral ComponentInterconnect(Extended),PCI(X))、PCI高速(PCI Express)、个人计算机存储卡国际协会(Personal Computer Memory Card International Association,PCMCIA)和诸如此类。

计算机架构800可以包括或实施各种制品。制品可以包括用以存储逻辑的计算机可读存储介质。计算机可读存储介质的示例可以包括能够存储电子数据的任何有形介质,包括易失性存储器或非易失性存储器、可移动存储器或不可移动存储器、可擦除存储器或不可擦除存储器、可写存储器或可重写存储器等。逻辑的示例可以包括使用任何合适类型的代码实施的可执行计算机程序指令,诸如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码、面向对象代码、可视代码等。实施例也可以至少部分地被实施为包含在非暂时性计算机可读介质中或其上的指令,这些指令可以由一个或多个处理器读取和执行,以使能执行本文中描述的操作。

系统存储器804可以包括以一个或多个高速存储器单元形式的各种类型的计算机可读存储介质,诸如只读存储器(read-only memory,ROM)、随机存取存储器(random-access memory,RAM)、动态RAM(dynamic RAM,DRAM)、双数据速率DRAM(Double-Data-RateDRAM,DDRAM)、同步DRAM(synchronous DRAM,SDRAM)、静态RAM(static RAM,SRAM)、可编程ROM(programmable ROM,PROM)、可擦除可编程ROM(erasable programmable ROM,EPROM)、电可擦除可编程ROM(electrically erasable programmable ROM,EEPROM)、闪存、聚合物存储器诸如铁电聚合物存储器、双向存储器、相变或铁电存储器、硅-氧化硅-氮化硅-氧化硅-硅(silicon-oxide-nitride-oxide-silicon,SONOS)存储器、磁卡或光卡、诸如独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID)驱动器的设备阵列、固态存储设备(例如,USB存储器、固态驱动器(solid state drives,SSD))以及适合于存储信息的任何其他类型的存储介质。在图8所示的说明性实施例中,系统存储器804可以包括非易失性808和/或易失性810。基本输入/输出系统(basic input/output system,BIOS)可以被存储在非易失性808中。

计算机812可以包括以一个或多个低速存储器单元形式的各种类型的计算机可读存储介质,包括内部(或外部)硬盘驱动器814、从可移动磁盘818读取或向其写入的磁盘驱动器816和从可移动光盘822(例如CD-ROM或DVD)读取或向其写入的光盘驱动器820。硬盘驱动器814、磁盘驱动器816和光盘驱动器820可以分别通过HDD接口824、FDD接口826和光盘驱动器接口828连接到系统总线806。用于外部驱动器实施方式的HDD接口824可以包括通用串行总线(Universal Serial Bus,USB)和IEEE 1394接口技术中的至少一种或两种。

驱动器及相关联的计算机可读介质提供数据、数据结构、计算机可执行指令等的易失性和/或非易失性存储。例如,许多程序模块可以被存储在驱动器以及非易失性808和易失性810中,包括操作系统830、一个或多个应用832、其他程序模块834和程序数据836。在一个实施例中,一个或多个应用832、其他程序模块834和程序数据836可以包括例如系统100的各种应用和/或部件。

用户可以通过一个或多个有线/无线输入设备(例如,键盘838和定点设备诸如鼠标840)将命令和信息键入计算机812。其他输入设备可以包括麦克风、红外(infra-red,IR)遥控器、射频(radio-frequency,RF)遥控器、游戏垫、触笔、卡读取器、加密狗(dongle)、指纹读取器、手套、图形输入板、操纵杆、键盘、视网膜读取器、触摸屏(例如,电容式、电阻式等)、轨迹球、触控板、传感器、手写笔和诸如此类。这些和其他输入设备通常通过被耦合到系统总线806的输入设备接口842而被连接到处理器802,但是也可以通过其他接口被连接,诸如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口等。

监视器844或其他类型的显示设备也经由诸如视频适配器846的接口被连接到系统总线806。监视器844可以在计算机812的内部或外部。除了监视器844以外,计算机典型地还包括其他外围输出设备,诸如扬声器、打印机等。

计算机812可以使用经由与一台或多台远程计算机诸如(一台或多台)远程计算机848的有线和/或无线通信的逻辑连接在网络化环境中操作。(一台或多台)远程计算机848可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或其他公共网络节点,并且典型地包括相对于计算机812描述的许多或所有元素,尽管出于简洁的目的,只有存储器和/或存储设备850被示出。所描绘的逻辑连接包括与局域网852和/或更大的网络例如广域网854的有线/无线连接。这样的LAN和WAN联网环境在办公室和公司中很常见,并且便于企业范围的计算机网络,诸如内部网,所有这些可以连接到全球通信网络,例如互联网。

当在局域网852联网环境中使用时,计算机812通过有线和/或无线通信网络接口或网络适配器856被连接到局域网852。网络适配器856可以促进到局域网852的有线和/或无线通信,该局域网852还可以包括设置在其上的无线接入点,以用于与网络适配器856的无线功能进行通信。

当在广域网854联网环境中使用时,计算机812可以包括调制解调器858,或者被连接到广域网854上的通信服务器,或者具有用于诸如通过互联网的方式在广域网854上建立通信的其他装置。调制解调器858可以是内置或外置的有线和/或无线设备,经由输入设备接口842连接到系统总线806。在网络化环境中,相对于计算机812所描绘的程序模块或其部分可以被存储在远程存储器和/或存储设备850中。将认识到,所示的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他装置。

计算机812可操作为使用IEEE 802标准族与有线和无线的设备或实体(诸如,可操作地设置在无线通信(例如,IEEE 802.11空中调制技术)中的无线设备)通信。除了别的以外,这至少还包括Wi-Fi(或无线保真度)、WiMax和Bluetooth

如先前参照图1-图7描述的设备的各种元素可以包括各种硬件元素、软件元素或两者的组合。硬件元素的示例可以包括设备、逻辑设备、部件、处理器、微处理器、电路、处理器、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(application specific integrated circuits,ASIC)、可编程逻辑设备(programmablelogic devices,PLD)、数字信号处理器(digital signal processors,DSP)、现场可编程门阵列(field programmable gate array,FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件元素的示例可以包括软件部件、程序、应用、计算机程序、应用程序、系统程序、软件开发程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、功能、方法、过程、软件接口、应用程序接口(application program interfaces,API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或其任何组合。然而,确定实施例是否使用硬件元素和/或软件元素来实施可能根据许多因素而变化,诸如期望的计算速率、功率水平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和按照给定的实施方式期望的其他设计或性能约束。

至少一个实施例的一个或多个方面可以由存储在机器可读介质上的代表性指令实施,该指令表示处理器内的各种逻辑,当由机器读取时该指令致使机器制造逻辑以执行本文所描述的技术。这样的被称为“IP核”的表示可以被存储在有形的机器可读介质上,并且被供应给各种客户或制造设施,以加载到制造逻辑或处理器的制造机器中。一些实施例可以例如使用机器可读介质或物品来实施,该机器可读介质或物品可以存储指令或指令集,如果由机器执行该指令或指令集可以致使机器执行根据实施例的方法和/或操作。这样的机器可以包括例如任何合适的处理平台、计算平台、计算设备、处理设备、计算系统、处理系统、计算机、处理器等,并且可以使用硬件和/或软件的任何合适的组合来实施。机器可读介质或物品可以包括例如任何合适类型的存储器单元、存储器设备、存储器物品、存储器介质、存储设备、存储物品、存储介质和/或存储单元,例如,存储器、可移动介质或不可移动介质、可擦除介质或不可擦除介质、可写介质或可重写介质、数字介质或模拟介质、硬盘、软盘、光盘只读存储器(Compact Disk Read Only Memory,CD-ROM)、可记录光盘(CompactDisk Recordable,CD-R)、可重写光盘(Compact Disk Rewriteable,CD-RW)、光盘、磁介质、磁光介质、可移动存储卡或盘、各种类型的数字通用盘(Digital Versatile Disk,DVD)、磁带、盒式磁带等。指令可以包括任何合适类型的代码,诸如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码、加密代码等,使用任何合适的高级、低级、面向对象、可视化、编译和/或解释的编程语言来实施。

出于说明和描述的目的,已经呈现了示例实施例的前述描述。它并不旨在穷举或将本公开限制于所公开的精确形式。根据本公开,许多修改和变化是可能的。意图是本公开的范围不受该详细描述的限制,而是受所附权利要求的限制。要求本申请的优先权的未来提交的申请可以用不同的方式要求所公开的主题,并且通常可以包括如本文所公开的或以其他方式证明的一个或多个限制的任何集合。

相关技术
  • 光纤生物传感器、生物检测装置及其检测方法
  • 使用磁性纳米粒子的生物传感器,以及使用生物传感器的检测装置和检测方法
技术分类

06120116547086