解耦和更新移动设备上的锁定证书

文档序号:1146510 发布日期:2020-09-11 浏览:16次 >En<

阅读说明:本技术 解耦和更新移动设备上的锁定证书 (Decoupling and updating locking credentials on a mobile device ) 是由 威尔·*** 于 2018-11-07 设计创作,主要内容包括:公开了用于解耦和更新用户设备上的锁定证书的系统。具有硬编码的锁定证书的移动应用程序可以安装在用户设备上。该锁定证书可以与该移动应用程序解耦,并存储在用户设备上。响应于移动应用程序试图与服务器建立安全连接,系统可以通过查询证书存储库来检查解耦的锁定证书是否为最新。响应于确定锁定证书已过期,系统可以将当前证书发送到用户设备以更新解耦的锁定证书。(A system for decoupling and updating locking credentials on a user device is disclosed. A mobile application having a hard-coded lock certificate may be installed on the user device. The locking credentials may be decoupled from the mobile application and stored on the user device. In response to the mobile application attempting to establish a secure connection with the server, the system may check whether the decoupled lock certificate is up-to-date by querying the certificate store. In response to determining that the locking credential has expired, the system may send the current credential to the user device to update the decoupled locking credential.)

解耦和更新移动设备上的锁定证书

相关申请的交叉引用

本申请要求2018年11月28日提交的、发明名称为“解耦和更新移动设备上的锁定证书”的美国申请号为15/824,846的优先权和权益,出于参考目的将其全部内容通过引用并入本文。

技术领域

本公开大体上涉及在不安全的网络上的安全通信,更具体地涉及用于解耦和更新移动设备上的锁定证书的系统和方法。

背景技术

通过计算机网络的通信可能是不安全的。例如,通过计算机网络在移动设备和服务器之间的通信可能容易被窃听者拦截通信。

然而,可以使用安全套接字层(SSL)协议或传输层安全性(TLS)协议来保护通信。SSL和TLS是通过使用数字证书提供身份验证和加密来提供在计算机网络上的通信安全性的加密协议。为了验证数字证书是真实有效的,可以用数字证书的层次结构(例如,链)对数字证书进行数字签名,例如根证书,然后是由根证书签名的中间证书。数字证书可以由受信任的证书颁发机构(CA)发布。移动设备和服务器可以维护受信任CA根证书的列表,以验证数字证书已由受信任CA发布并签名。依赖数字证书链验证的协议(例如,SSL和TLS)可能易受多种攻击(例如,中间人攻击),其中未经授权的一方能够查看和修改移动设备和服务器之间的通信。

证书锁定(certificate pinning)可以用于指定用于验证的证书,并且可以至少部分削弱数字证书链验证中的漏洞(vulnerability)。证书锁定可以指将证书硬编码(例如“锁定”)到移动设备上的应用程序或浏览器中的过程。硬编码的证书可以对应于存储在服务器中的数字证书,从而可以验证和确认数字证书以在移动设备和服务器之间建立安全通信。但是,响应于对证书的更新,必须更新应用程序或浏览器中的硬编码的证书以反映新证书(并与存储在服务器上的证书匹配)。另外,证书通常包括到期日期(例如,两年等),并且必须响应于证书到期而更新应用程序或浏览器中的硬编码的证书。因此,必须开发、编码和发布更新的应用程序或浏览器以对更新的证书做出解释。此外,在可以再次与服务器建立通信之前,可能迫使移动设备的用户更新和/或重新安装应用程序或浏览器。

发明内容

公开了用于解耦和更新锁定证书的系统、方法和制品(统称为“系统”)。所述系统可以从安装在用户设备上的移动应用程序接收连接请求。用户设备可以包括与移动应用程序解耦的锁定证书。所述系统可以确定锁定证书的证书版本。所述系统可以基于锁定证书查询证书存储库以定位存储的证书。所述系统可以确定锁定证书的证书版本是否与证书存储库中存储的证书的第二证书版本匹配。响应于锁定证书的证书版本与所存储的证书的第二证书版本不匹配,系统可以将所存储的证书发送至用户设备。所述系统可以在用户设备上更新锁定证书以包括来自所存储的证书的数据。

在各个实施例中,锁定证书可以包括由中间证书数字签名的叶证书(leafcertificate),其中,中间证书由根证书数字签名。响应于锁定证书的证书版本与存储的证书的第二证书版本不匹配,锁定证书中的叶证书可以不同于存储的证书中的第二叶证书。所述系统还可以通过解密根证书和中间证书来验证锁定证书。

在各个实施例中,所述系统还可以响应于更新用户设备上的锁定证书批准来自移动应用程序的连接请求。

在各个实施例中,所述系统还可以在用户设备上安装移动应用程序,其中,移动应用程序包括锁定证书。所述系统还可将锁定证书与移动应用程序解耦,并通过处理器将解耦的锁定证书存储在用户设备上。

除非本文另外明确指出,否则前述特征和要素可以以各种组合而没有排他性地结合。根据以下描述和附图,所公开的实施方案的这些特征和要素以及操作将变得更加明显。

附图说明

在说明书的结论部分中特别指出并明确要求保护本公开的主题。然而,当结合附图考虑时,可以通过参考详细描述和权利要求来获得对本公开的更完整的理解,其中,相同的附图标记表示相同的元素。

图1是示出了根据各种实施例的用于解耦和更新用户设备上的锁定证书的系统的各个系统组件的框图。

图2是示出了根据各种实施例的用于更新和发布具有锁定证书的应用程序的系统的各种系统组件的框图。

图3示出了根据各种实施例的用于锁定应用程序中证书的方法的处理流程。

图4示出了根据各种实施例的用于解耦和更新用户设备上的锁定证书的方法的处理流程。

图5示出了根据各种实施例的用于更新证书存储库中的证书的方法的处理流程。

具体实施方式

本文中示例性实施方案的详细描述参考了附图,这些附图通过说明示出了各个实施例。尽管足够详细地描述了这些各个实施例以使本领域技术人员能够实施本公开,但是应当理解,在不脱离本公开的精神和范围的情况下,可以实现其他实施方案并且可以进行逻辑改变和机械改变。因此,本文的详细描述仅出于说明目的而非限制的目的。例如,在任何方法或过程描述中叙述的步骤可以以任何顺序执行,并且不限于所描述的顺序。而且,任何功能或步骤都可以外包给一个或多个第三方或由一个或多个第三方执行。此外,提到的任何单数形式都包括复数形式的实施方案,并且任何提到的多于一个组件可包括单数的实施方案。

该系统可以允许锁定证书的部分或全部解耦,其中可以将锁定证书部分或全部硬编码到应用程序或浏览器中(例如,对于移动设备)。该系统还可以启用解耦的锁定证书的更新,而不需要或强制对相应的应用程序或浏览器进行部分或全部更新。在这方面,响应于先前锁定的证书需要更新,软件开发人员可能不需要至少部分地手动将新证书硬编码到更新的应用程序中。因此,可以在证书更新期间改善软件开发过程并减少停机时间。系统可以通过使用设备上的安全存储数据库(例如,通过白盒密码技术等)将应用程序和锁定数据紧密耦合到移动设备中,从而保持解耦后的锁定证书的完整性和真实性。因此,该系统可以通过增加锁定证书周围的安全性并使回滚锁定证书或检索锁定证书至少某些方面对攻击者而言更加困难,来改善移动设备中的计算机功能和计算机安全性。与现有技术中的典型系统相比,这样的系统还使得在移动设备和服务器之间的机密数据的传输更加安全。

该系统进一步改善了计算机(例如,用户设备110,简要参考图1)的运行。例如,通过使机密数据(例如,锁定证书)自动化解耦和更新,而不需要用户、开发人员等手动输入数据(例如,更新的锁定证书)或手动将更新的锁定证书编码到更新的应用程序,用户执行较少的计算机功能并提供较少的输入,从而节省了数据存储和内存,因此加快了计算机的处理速度。类似地,通过将锁定证书与应用程序解耦并启用对锁定证书的更新而无需重新安装或更新相应的应用程序,可以提高计算机(例如,智能手机、移动电话等)的电池寿命。另外,通过使用本文描述的进程解耦和更新锁定证书,计算机和服务器之间的通信安全性得到了改善,从而降低了计算机或网络(例如,网络105-1、105-2)的风险,或数据本身(包括机密数据,例如交易帐户数据)不被泄露。

如本文所用,“电子通信”是指具有物理耦合(例如,“电通信”或“电耦合”)和/或没有物理耦合并且经由电磁场(例如,“感应通信”或“感应耦合”或“感应耦合”)的电子信号的至少一部分电信号的通信。如本文所使用的,“传输”可以包括将电子数据的至少一部分从一个系统组件发送到另一系统组件(例如,通过网络连接)。另外,如本文中所使用的,“数据”可以包括以数字或任何其他形式的包含诸如命令、查询、文件、用于存储的数据等的信息。

如本文所使用的,“叶证书”可以指由应用程序的所有者或由服务器发布的数字证书。叶证书可以包括用于对发送到服务器(例如,发行方系统140)的握手消息(handshakemessage)进行部分或全部加密以在各方之间(例如,经由SSL/TLS连接等)建立安全通信的公钥、安全散列(hash)或其他加密机制。服务器(例如,发行方系统140)包括可以用于部分或全部解密握手消息的私钥。叶证书可以由中间证书签名,中间证书由根证书签名。中间证书和根证书可以由受信任的证书颁发机构(CA)发布。服务器(例如,发行方系统140)可以包括受信任的CA证书存储,其中它可以识别签署了根证书和/或中间证书的CA,在受信任的CA证书存储中找到相应的CA证书以检索公钥,和/或使用公钥来验证签名是真实的。如本文中进一步讨论的,可以在证书锁定过程中将证书链(例如,由根证书签名的中间证书签名的叶证书)嵌入(例如,锁定)在应用程序内。

在各个实施例中,参考图1,公开了用于解耦和更新锁定证书的系统100。系统100可以考虑与网络服务、效用计算、普适性和个性化计算、安全性和身份解决方案、自主计算、云计算、商品计算、移动性和无线解决方案、开放源代码、生物识别、网格计算和/或网式计算结合使用。系统100可以包括用户设备110、安全数据存储115、移动应用程序120、应用存储130、发行方系统140、帐户成员数据库145、证书管理系统150和/或证书存储库155中的一个或多个。系统100还可包括一个或多个网络105-1、105-2,如本文进一步所述。系统100中的各种设备、数据库、系统和模块可以经由总线、网络和/或通过任何其他合适的手段彼此直接逻辑通信,或者可以如本文进一步描述的那样被单独地连接。

在各个实施例中,网络105-1和网络105-2可以包括逻辑上不同的和/或物理上不同的网络,或者可以包括相同的网络。如本文中进一步讨论的,网络105-1可使得从用户设备110经由移动应用程序120到应用程序商店130进行通信。如本文中进一步讨论的,网络105-2可以使得能够经由移动应用程序120在用户设备110与发行方系统140之间进行安全通信。

如本文所使用的,术语“网络”可以包括任何云、云计算系统或电子通信系统或结合了硬件和/或软件组件的方法。各方之间的通信可以通过任何合适的通信渠道来完成,例如电话网络、外联网、内联网、互联网,交互点设备(销售点设备、个人数字助理(例如,)、蜂窝电话、信息亭(kiosk)等)、在线通信、卫星通信、离线通信、无线通信、应答器通信、局域网(LAN)、广域网(WAN)、虚拟专用网(VPN)、联网或链接的设备、键盘、鼠标和/或任何适当的通信或数据输入方式。此外,尽管本文中系统经常被描述为利用TCP/IP通信协议来实现,但是该系统也可以利用IPX、talk、IP-6、

Figure BDA0002599519070000043

OSI、任何隧道协议(例如,IPsec、SSH)、或任何数量的现有或将来的协议来实现。如果网络具有公共网络(例如互联网(Internet))的性质,则假定网络不安全并向窃听者开放可能是有利的。通常与互联网结合使用的协议、标准和应用软件有关的具体信息是本领域技术人员已知的,因此,这里不需要详细描述。

各个系统组件可以通过数据链路独立、分别或共同地适当地连接到网络,该数据链路包括例如通常与标准调制解调器通信、电缆调制解调器、ISDN、数字用户线(DSL)或各种无线通信方法结合使用的通过本地环路到互联网服务提供商(ISP)的连接。应当指出,该网络可以作为其他类型的网络来实施,例如交互式电视(ITV)网络。此外,该系统预期通过具有本文所述类似功能的任何网络使用、销售或分发任何商品、服务或信息。

“云”或“云计算”包括一种模型,该模型用于对可配置的计算资源(例如网络、服务器、存储、应用程序和服务)共享池根据需要进行方便的网络访问,可配置的计算资源共享池可通过最小化管理工作或服务提供商交互快速配置和释放。云计算可以包括与位置无关的计算,共享服务器可以根据需要为计算机和其他设备提供资源、软件和数据。有关云计算的更多信息,请参阅NIST(美国国家标准技术研究院)对云计算的定义。

在各个实施例中,用户设备110可以包括能够发送、接收和存储数据的任何合适的硬件、软件和/或数据库组件。例如,用户设备110可以包括个人计算机、个人数字助理、蜂窝电话、智能手机(例如,和/或类似物)、信息亭和/或类似物。用户设备110可以包括操作系统,操作系统例如

Figure BDA0002599519070000052

移动操作系统、

Figure BDA0002599519070000053

操作系统、操作系统等。用户设备110可以与移动应用程序120和/或安全数据存储115进行操作和/或电子通信。在各个实施例中,移动应用程序120和/或安全数据存储115还可包括安装在用户设备110上的软件和/或数据库组件。例如,如本文进一步讨论,移动应用程序120可以包括应用程序或微应用程序,应用程序或微应用程序被配置为通过管理各种操作系统和硬件资源的操作的一组预定规则来利用(leverage)用户设备110上的较大的操作系统和相关联的硬件的资源。在各个实施例中,移动应用程序120还可以包括网络浏览器。移动应用程序120可以包括硬编码到移动应用程序120中的锁定证书。锁定证书可以包括例如由中间证书数字签名的叶证书,其中中间证书进一步由根证书数字签名。

移动应用程序120可以允许用户经由用户设备110通过网络105-2与发行方系统140交互。在这方面,移动应用程序120可能需要安全登录才能授予用户对发行方系统140的访问权限。例如,用户可以通过输入安全登录信息(例如,用户名和密码、交易帐号、生物特征输入(例如,指纹)等),通过移动应用程序120访问发行方系统140。网络105-2可能不安全。因此,系统100还可能期望在要求安全登录之前在移动应用程序120和网络105-2之间建立安全连接。移动应用程序120可以包括任何合适的移动应用程序120,其中期望设备和服务器之间的安全通信。例如,移动应用程序120可以包括金融应用程序,其中用户可以查看和访问关于一个或多个交易账户的数据,例如账户余额、账户收费或支出等。

在各个实施例中,用户设备110可以通过网络105-1从应用程序商店130下载并安装移动应用程序120。在各个实施例中,移动应用程序120也可以预安装在用户设备110上。应用程序商店130可以包括应用服务器等,其包括各种公开的移动应用程序。例如,应用程序商店130可以包括Apple AppGoogleAmazon或任何其他类似的在线软件市场。应用程序商店130可以显示图形用户界面(GUI),以允许用户经由用户设备110选择移动应用程序以下载并安装到用户设备110上。响应于接收到下载移动应用程序的请求,应用程序商店可以经由网络105-1向用户设备110发送安装包。安装包可以下载并安装在用户设备110上。

如本文中进一步讨论的,响应于将移动应用程序120安装在用户设备110上,移动应用程序120可以被配置为提示用户设备110执行将锁定证书与移动应用程序120解耦的操作。例如,响应于移动应用程序120完成在用户设备110上的安装(或与安装时),用户设备110可以从安装的移动应用程序102提取指示锁定证书的数据。所提取的数据可以指示锁定证书(例如,解耦的锁定证书)的叶证书、中间证书和/或根证书和/或锁定证书的版本号。用户设备110可以将解耦的锁定证书发送到安全数据存储115。

在各个实施例中,安全数据存储115可以被配置为安全地存储和维护一个或多个解耦的锁定证书。安全数据存储115可以包括任何合适类型的数据库,并且可以使用本文描述的或本领域已知的任何合适的技术来存储数据。安全数据存储115可以位于用户设备110上和/或可以与用户设备110和移动应用程序120进行电子通信和/或逻辑通信。安全数据存储可以采用白盒密码技术(WBC)、和/或任何其他合适的加密来安全地存储解耦的锁定证书。

在各个实施例中,用户经由用户设备110和移动应用程序120可希望经由网络105-2与发行方系统140交互。如本文中所讨论的,为了确保双方之间的安全通信,移动应用程序120可以被配置为将连接请求发送到发行方系统140。

在各个实施例中,发行方系统140可以被配置为用于访问系统100的各种组件、数据库和模块的中央集线器。发行方系统140可以包括子网、基于计算机的系统、软件组件、和/或被配置为提供对各种系统、引擎和组件的接入点的类似物。在各个实施例中,发行方系统140、帐户成员数据库145、证书管理系统150、和/或证书存储库155可以包括后端服务器、网络等的逻辑分区,或者可以包括彼此电子和/或逻辑通信中物理上不同的组件。例如,发行方系统140、帐户成员数据库145、证书管理系统150、和/或证书存储库155可以是基于计算机的,并且可以包括处理器、有形的非暂时性计算机可读存储器和/或网络接口,以及其他合适的系统软件和硬件组件。如本文所述,存储在有形的非暂时性存储器上的指令可以允许组件执行各种功能。

发行方系统140可以被配置为允许用户设备110经由移动应用程序120和网络105-2访问账户成员数据库145中的各种数据。帐户成员数据库145可以包括任何适当类型的数据库,并且可以使用本文所述的或本领域已知的任何适当技术来存储数据。帐户成员数据库145可以位于发行方系统140中和/或可以与发行方系统140进行电子通信和/或逻辑通信。帐户成员数据库145可以包括与交易帐户有关的数据,例如交易帐户号码、用户帐户访问数据(例如用户名、密码等)、交易帐户标识信息(例如所有者地址、城市、州、邮政编码等)、卡安全码(CSC)或卡验证值(CVV)、交易帐户余额和/或其他类似数据。发行方系统140可以查询账户成员数据库145以检索交易账户数据,以经由网络105-2发送到移动应用程序120,以供用户经由用户设备110进行审查。

在各个实施例中,响应于从移动应用程序120(例如,经由网络105-2)接收到连接请求,如本文中进一步讨论的,发布者系统140可以被配置为执行一个或多个逻辑操作。例如,发行方系统140可以检索关于移动应用程序120和锁定证书的数据。例如,发行方系统140可以查询和检索应用程序版本号、锁定证书版本号以及关于锁定证书的数据(例如,指示锁定证书的叶证书、中间证书和根证书的数据)。发行方系统140可以将检索到的数据发送给证书管理系统150。

在各个实施例中,证书管理系统150可以包括硬件、软件、或被配置为管理、更新和验证证书的类似物。证书管理系统150可以包括子网、基于计算机的系统、软件组件、和/或被配置为提供对各种系统、引擎和组件的接入点的类似物。证书管理系统150可以与发行方系统140进行逻辑通信和/或电子通信。如本文中进一步讨论的,证书管理系统150可以包括一个或多个组件、模块、或被配置为帮助管理、更新和验证证书的类似物。例如,证书管理系统150可以包括证书验证模块153、受信任的CA证书存储154、证书更新模块157和/或证书存储库155中的一个或多个。如本文中进一步讨论的,证书验证模块153、受信任的CA证书存储154和/或证书更新模块157可以包括软件、硬件和/或数据库的任何合适的组合。

在各个实施例中,证书存储库155可以包括任何合适的软件、硬件或数据库,并且可以使用本文描述的或本领域已知的任何合适的技术来存储数据。证书存储库155可配置为存储和维护证书以及更新与最初硬编码到移动应用程序120中的锁定证书相对应的证书。如本文中进一步讨论的,证书存储库155可以存储由移动应用程序类型、证书版本号、最后更新日期等分组和/或分类的证书。

证书存储库155(例如,经由证书管理系统150)可以被配置为从应用程序开发环境和/或从对应用程序进行编码和开发以及对证书更新的任何其他合适的源接收证书和更新后的证书。例如,根据各个实施例并参考图2,系统200还可包括应用程序开发环境270。应用程序开发环境270可以包括子网、基于计算机的系统、软件组件等。如本文进一步讨论的,应用程序开发环境270可以配置为生成具有锁定证书的移动应用程序,将移动应用程序发布到应用程序商店130,更新证书并将更新后的证书发送到证书管理系统150等等。

再次参考图1,证书验证模块153可以被配置为验证从发行方系统140接收的锁定证书。证书验证模块153可以通过解密用于对锁定证书进行签名的中间证书和根证书来验证锁定证书。例如,证书验证模块153可以查询受信任的CA证书存储154以识别签署了相应的根证书和/或中间证书的CA。受信任的CA证书存储154可以包括任何合适的数据库、文件结构等,并且可以被配置为存储和维护受信任的证书以及与每个证书相关联的公钥。响应于识别CA,证书验证模块153可以被配置为从受信任的CA证书存储154中检索对应的CA证书,并且可以检索与根证书和/或中间证书相对应的公钥。证书验证模块153可以使用公钥来解密根证书和/或中间证书,以验证签名是真实的。

在各个实施例中,证书管理系统150还可被配置为基于应用程序版本号、锁定证书版本号、和/或关于锁定证书的数据中的至少一个来查询证书存储库155。如本文中进一步讨论的,响应于确定锁定证书是移动应用程序120的当前证书,证书管理系统150可以将数据(例如,非更新状态)发送到发行方系统140,以开始与用户设备110建立安全通信。响应于确定锁定证书不是移动应用程序120的当前证书,证书管理系统150可以检索更新的证书。证书管理系统150可以被配置为基于更新的证书来生成证书更新数据包。证书更新数据包可以包括关于更新的证书的数据,例如更新的证书版本号、以及由中间证书签名的新的叶证书,其中中间证书进一步由根证书签名。证书更新数据包可以包括任何合适的格式。如本文中进一步讨论的,例如,证书更新数据包可以被生成为二进制大对象(BLOB)。证书管理系统150可以经由发行方系统140、网络105-1和移动应用程序120将证书更新数据包发送到用户设备110。

在各个实施例中,证书更新模块157可以被配置为将更新的证书提供给证书存储库155。例如,证书更新模块157可以被配置为接收证书更新请求。证书管理系统150可以从任何合适的源(例如,从应用程序开发环境270)接收证书更新请求。可以响应于证书更新事件,例如先前证书到期、证书中发现漏洞等,来发送证书更新请求。证书更新请求可以包括指示所存储的要更新的证书(例如,基于证书版本号等)和更新的证书的数据。例如,新证书可以包括更新的叶证书,该更新的叶证书由中间证书进行数字签名,再由根证书进行数字签名。例如,证书更新模块157可以被配置为接收证书更新请求(例如,通过应用开发环境270,简要地参考图2),查询证书存储库155以定位要更新的证书,并更新所存储的证书以包含更新的证书数据。证书存储库155可以跟踪每个存储的证书的版本,使得在更新的证书中检测到漏洞、错误等情况下,可以重新运行证书。在各个实施例中,证书存储库155还可以为每个证书存储单个证书条目,并且可以响应于接收到更新来覆盖先前存储的证书。

现在参考图3至图5,所描绘的处理流程仅是实施方案,而无意于限制本公开的范围。例如,在任何方法或过程描述中叙述的步骤可以以任何顺序执行,并且不限于所呈现的顺序。将理解的是,以下描述不仅对图3至图5中描绘的步骤和元素进行了适当的引用,还涉及如上文参考图1和图2所述的各种系统组件。

在各个实施方案中,并且具体地参考图3,公开了一种用于在应用程序中锁定证书的方法301。例如,可以在软件开发过程等期间将证书锁定(例如嵌入)在应用程序中。方法301可以包括请求证书(步骤302)。应用程序开发环境270可以被配置为向证书管理系统150请求证书。证书可以包括证书链,其中叶证书由中间证书签名,中间证书进一步由根证书签名。叶证书可以由证书管理系统150生成。如本文进一步讨论,中间证书和根证书可以由一个或多个CA颁发。证书管理系统150可以将生成的证书发送到应用程序开发环境270。

在各个实施例中,方法301可以包括将证书锁定到应用程序(步骤304)。例如,在移动应用程序120的开发和编码期间,关于步骤302中接收的证书的数据可以在证书锁定过程中被硬编码并嵌入到移动应用程序120中。方法301可以包括将应用程序发布到应用程序商店(步骤306)。在这方面,应用程序开发环境270可以被配置为经由网络105-2将关于移动应用程序120的数据发送到应用程序商店130。例如,应用程序开发环境270可以发送用于下载移动应用程序120的网络链接、用于下载的安装包、以及用于下载的可执行文件等。

在各个实施例中,并且具体地参考图4,公开了一种用于解耦和更新用户设备上的锁定证书的方法401。例如,如本文中进一步讨论的,响应于在用户设备上安装移动应用程序而解耦锁定证书。如本文中进一步讨论的,响应于服务器在建立安全连接的同时确定锁定证书不是最新的,来更新锁定证书。

在各个实施例中,方法401可以包括在用户设备上安装应用程序(402)。用户设备110可以被配置为安装移动应用程序120。例如,用户设备110可以经由网络105-1向应用程序商店130请求安装包。应用程序商店130可以经由网络105-1将安装包发送到用户设备110。安装包可以包括可执行文件等,并且可以开始在用户设备110上安装移动应用程序120。移动应用程序120可以包括硬编码到移动应用程序120中的锁定证书。方法401可以包括将锁定证书与应用程序解耦(步骤404)。用户设备110可以被配置为将锁定证书与移动应用程序120解耦。例如,响应于移动应用程序120完成在用户设备110上的安装(或与安装同时),用户设备110可以从安装的移动应用程序102提取指示锁定证书的数据。所提取的数据可以指示锁定证书(例如,解耦的锁定证书)的叶证书、中间证书和根证书、和/或锁定证书版本号。用户设备110可以将解耦的锁定证书发送到安全数据存储115。

在各个实施例中,方法401可以包括将连接请求发送到发行方系统(步骤406)。移动应用程序120可以被配置为经由网络105-2将连接请求发送到发行方系统140。例如,响应于用户与用户设备110的交互,移动应用程序120可以发送连接请求。例如,用户可以在登录过程期间访问移动应用程序120。响应于接收到连接请求,发行方系统140可以查询用户设备110(例如,经由移动应用程序120和网络105-2)以检索关于移动应用程序120和锁定证书的数据。例如,发行方系统140可以查询和检索应用程序版本号、锁定证书版本号以及关于锁定证书的数据(例如,指示锁定证书的叶证书、中间证书和根证书的数据)。

在各个实施例中,方法401可以包括验证锁定证书(步骤408)。证书管理系统150可以被配置为验证锁定证书。例如,证书管理系统150中的证书验证模块153可以被配置为验证锁定证书。响应于从用户设备110检索应用程序版本号、锁定证书版本号以及与锁定证书有关的数据,发行方系统140可以将数据发送到证书管理系统150。证书验证模块153可以通过解密用于对锁定证书进行签名的中间证书和根证书来验证锁定证书。例如,证书验证模块153可以查询受信任的CA证书存储154以识别签署了相应的根证书和/或中间证书的CA。响应于识别CA,证书验证模块153可以从受信任的CA证书存储154中检索对应的CA证书,并且可以检索与根证书和/或中间证书相对应的公钥。证书验证模块153可以使用公钥来解密根证书和/或中间证书,以验证签名是真实的。

在各个实施例中,方法401可以包括查询证书存储库以确定锁定证书是否是当前证书(步骤410)。证书管理系统150可以被配置为查询证书存储库155。例如,证书管理系统150可以基于应用程序版本号、锁定证书版本号和/或关于锁定证书的数据中的至少一个来查询证书存储库155。例如,证书存储库155可以存储由移动应用程序类型、证书版本号、最后更新日期等分组和/或分类的证书。如本文中进一步讨论的,响应于确定锁定证书是移动应用程序120的当前证书,证书管理系统150可以将数据(例如,非更新状态)发送到发行方系统140,以开始与用户设备110建立安全通信。响应于确定锁定证书不是移动应用程序120的当前证书,证书管理系统150可以检索更新的证书。证书管理系统150可以被配置为基于更新的证书来生成证书更新数据包。证书更新数据包可以包括关于更新的证书的数据,例如更新的证书版本号、以及由中间证书签名的新叶证书,其中中间证书进一步由根证书签名。证书更新数据包可以包括任何合适的格式。如本文中进一步讨论的,例如,证书更新数据包可以被生成为二进制大对象(BLOB)。方法401可以包括发送证书更新数据包(步骤412)。证书管理系统150可以经由发行方系统140、网络105-1和移动应用程序120将证书更新数据包发送到用户设备110。

在各个实施例中,方法401可以包括验证和/或认证证书更新数据包(步骤414)。移动应用程序120可以被配置为响应于经由发行方系统140和网络105-1接收来自证书管理系统150的数据来验证和认证证书更新数据包。移动应用程序120可以使用任何适当的技术来验证和认证证书更新数据包。例如,移动应用程序120可以使用相应的公钥来验证和确认中间证书和根证书的数字签名。在其中证书更新数据包被加密的各个实施例中,移动应用程序120还可被配置为解密证书更新数据包。

方法401可以包括基于证书更新数据包来更新所存储的锁定证书(步骤416)。移动应用程序120可以配置为更新安全数据存储115中存储的锁定证书。例如,移动应用程序120可以向安全数据存储115查询要更新的存储的锁定证书。响应于定位到相应的存储的锁定证书,移动应用程序120可以更新安全数据存储器115以反映包含在证书更新数据包中的数据。

在各个实施例中,方法401可以包括与发行方系统建立安全连接(步骤418)。移动应用程序120可以被配置为与发行方系统140建立安全连接。响应于用更新的证书数据来更新锁定证书,移动应用程序120可以通过用户设备110提示用户输入安全登录信息(例如,用户名和密码、交易帐号、生物特征输入(例如,指纹)等)等。移动应用程序120可以经由网络105-2将安全登录信息发送到发行方系统140以建立安全连接。

在各个实施例中,具体地参考图5,公开了一种用于更新证书库中的证书的方法501。方法501可以包括接收证书更新请求(步骤502)。证书管理系统150可以被配置为接收证书更新请求。例如,证书更新模块157可以被配置为接收证书更新请求。证书管理系统150可以从任何合适的源(例如,从应用程序开发环境270)接收证书更新请求。可以响应于证书更新事件,例如先前证书到期、证书中发现漏洞等,来发送证书更新请求。证书更新请求可以包括指示所存储的要更新的证书(基于证书版本号等)和更新后的证书的数据。例如,新证书可以包括更新的叶证书,该更新的叶证书由中间证书进行数字签名,再由根证书进行数字签名。

在各个实施例中,方法501可以包括查询证书存储库以找到要更新的证书(步骤504)。证书管理系统150可以被配置为查询证书存储库155。例如,证书更新模块157可以被配置为查询证书存储库155。证书管理系统150可基于基于证书的版本号和/或可用于在证书存储库155中定位证书的任何其他标识数据来查询证书存储库155。方法501可以包括更新证书存储库(步骤506)。响应于在证书存储库155中定位证书,证书管理系统150可以更新所存储的证书以包括更新的证书数据。例如,证书存储库155可以跟踪每个存储的证书的版本,使得在更新的证书中检测到漏洞、错误等情况下,可以重新运行证书。在各个实施例中,证书存储库155还可以为每个证书存储单个证书条目,并且可以响应于接收到更新来覆盖先前存储的证书。

本公开和权利要求书不仅仅描述在用户设备上解耦和更新锁定证书的特定结果,而是本公开和权利要求书包括用于在用户设备上实现解耦和更新锁定证书的结果的特定规则,并使信息呈现随后被使用和应用的特定形式,以产生期望的结果,即在用户设备上解耦和更新锁定证书,如McRO,Inc.v.Bandai Namco Games America Inc.所述(Fed.Cir.case number 15-1080,2016年9月13日)。换句话说,可以通过许多不同类型的规则和规则组合来执行在用户设备上解耦和更新锁定证书的结果,并且本公开包括具有特定规则的各个实施例。虽然没有完全抢占可能无法保证所声称的权利是合格的,但本公开未充分抢占充满担保交易的领域。本公开起到缩小、限制和以其他方式约束本公开的作用,以不覆盖仅解耦和更新用户设备上的锁定证书的一般抽象思想。重要地,存在用于解耦和更新用户设备上的锁定证书的其他系统和方法,因此断言所要求保护的发明先占了该领域或垄断了解耦和更新用户设备上的锁定证书的基本工具是不合适的。换句话说,本公开将不会防止其他人在用户设备上解耦和更新锁定证书,因为其他系统已经以与要求保护的发明不同的方式执行功能。此外,要求保护的发明包括可以在与Bascom v.AT&T移动性,2015-1763(Fed.Cir.2016)一致的已知的常规零件的非常规和非通用布置中发现的发明构思。本公开和权利要求超出了任何一个系统的任何常规性,因为系统的相互作用和协同作用导致附加功能,而这些功能是任何独立运行的系统所不能提供的。本公开和权利要求还可以包括多个不同系统之间的交互,因此,本公开不能被认为是通用计算机的实现,或者仅被“应用于”抽象过程。本公开和权利要求书还可以针对软件领域的问题,使用解决方案的特定实施方式对软件进行改进。

在各个实施例中,该系统和方法可以包括在订阅者的计算机未联网时提醒订阅者。简要参考图1,系统100可以包括经由移动应用程序120生成定制的信息,以及提醒远程订阅者该信息可以从他们的计算机访问(例如,经由用户设备110)。这些提醒是通过过滤接收到的信息、构建信息提醒并将提醒格式化为基于订阅者偏好信息的数据块而生成的。数据块被发送到订阅者的无线设备(例如,用户设备110),当连接到计算机时,无线设备使计算机自动启动应用程序以显示信息提醒并提供对信息提醒的更详细信息的访问。更特别地,该方法可以包括:将查看器应用程序提供给订阅者以安装在远程订阅者计算机上;以及接收从因特网上的数据源发送的传输服务器上的信息,该传输服务器包括微处理器和存储器,该存储器存储远程订阅者对信息格式、目的地地址、指定信息和传输时间表的偏好,其中通过将接收到的信息与指定信息进行比较,微处理器对接收到的信息进行过滤;根据过滤后的信息生成信息提醒,该过滤后的信息包含名称、价格和统一资源定位符(URL),其指定数据源的位置;根据所述信息格式将信息提醒格式化为数据块;并基于目的地地址和传输时间表通过无线通信信道将格式化的信息提醒发送到与订阅者关联的无线设备,其中该提醒激活应用程序,以使信息提醒显示在远程订阅者计算机上,并当无线设备在本地连接到远程订阅者计算机并且远程订阅者计算机联机时,允许通过URL通过互联网连接到数据源。

在各个实施例中,该系统和方法可以包括在移动应用程序120上的图形用户界面(例如,经由用户设备110),用于动态地重新定位/重新缩放基础窗口的模糊文本信息以使对用户自动可见。通过允许根据重叠条件动态地重新定位文本信息,计算机的显示信息能力得到了提高。更具体地,用于在图形用户界面中显示的基础窗口内动态地重新定位文本信息的方法可以包括:在计算机屏幕上的图形用户界面内以第一格式显示包含文本信息的第一窗口;在图形用户界面内显示第二窗口;不断监视第一窗口和第二窗口的边界,以检测第二窗口与第一窗口重叠的重叠条件,从而使第一窗口中的文本信息从用户的视线中消失;如果将文本信息重新定位到第一个窗口的未遮盖部分,确定将无法完全看到文本信息;计算第一窗口的面积的第一度量和第一窗口的未遮盖部分的面积的第二度量;计算比例因子,该比例因子与第一度量和第二度量之间的差成比例;基于比例因子缩放文本信息;在重叠条件期间,由处理器以第二格式自动将缩放的文本信息重新定位到第一窗口的未遮盖部分,从而使整个缩放的文本信息可由用户在计算机屏幕上查看;当重叠条件不再存在时,由处理器自动将重定位的缩放后的文本信息返回到第一窗口内的第一格式。

在各个实施例中,该系统还可以包括从电子信息(例如,电子邮件)中隔离并去除恶意代码,以防止计算机(例如,用户设备110)受到例如被计算机病毒感染的威胁。系统可以扫描经由移动应用程序120例如电子通信中的恶意计算机代码,并且在其可以发起恶意行为之前清除电子通信。该系统通过在计算机存储器的“隔离”扇区中物理隔离接收到的电子通信来进行操作。隔离扇区是计算机操作系统创建的存储扇区,因此不允许存储在该扇区中的文件作用于该扇区以外的文件。当包含恶意代码的通信存储在隔离扇区中时,会将通信中包含的数据与签名数据库内存储的恶意代码指示模式进行比较。特定恶意代码指示模式的存在指示了恶意代码的性质。签名数据库还包括代表恶意代码的起点和终点的代码标记。然后,从包含恶意代码的通信中提取恶意代码。提取程序由处理单元的文件解析组件运行。文件解析程序执行以下操作:扫描通信以识别起始恶意代码标记;标识起始标记与连续的终止恶意代码标记之间每个扫描的字节;继续扫描,直到没有发现进一步的起始恶意代码标记为止;通过将所有未标识的数据字节依次复制到新文件中来创建一个新的数据文件,从而形成一个经过清理的通信文件。经过清理的新的通信将传输到计算机内存的非隔离扇区。随后,擦除隔离扇区中的所有数据。更具体地讲,该系统包括一种方法,该方法通过在具有引导扇区、隔离扇区和非隔离扇区的存储器的计算机中接收包含恶意代码的电子通信,来保护计算机免受包含恶意代码的电子通信的影响;将通信存储在计算机存储器的隔离扇区中,其中隔离扇区与计算机存储器中的引导扇区和非隔离扇区隔离,隔离扇区中的代码被阻止对其他存储扇区执行写操作;通过文件解析,从电子通信中提取恶意代码以创建经过清理的电子通信,其中,提取包括:扫描通信以识别起始恶意代码标记,标识起始标记与连续的终止恶意代码标记之间每个扫描的字节,继续扫描直到没有发现进一步的起始恶意代码标记为止,并通过将所有未标记的数据字节依次复制到新文件中来创建一个新的数据文件,该新文件形成一个经过清理的通信文件;将经过清理的电子通信传输到存储器的非隔离扇区;以及删除隔离扇区中剩余的所有数据。

在各个实施例中,系统100还可以使用用于将主机网页的“外观和感觉”与广告商网页(例如,通过移动应用程序120)的产品相关的内容信息共同营销的系统来解决在会员购买交易期间保持对客户的控制的问题。系统100可以由第三方外包提供商来操作,该第三方外包提供商充当多个主机和商家之间的经纪人。在实施之前,主机将指向商家网页的链接放置在主机的网页上。这些链接与商家网页上的与产品相关的内容相关联。此外,外包提供商系统将每个主机网页中的“外观和感觉”信息存储在与计算机服务器相连的计算机数据存储中。“外观和感觉”信息包括视觉上可感知的元素,例如徽标、颜色、页面布局、导航系统、框架、鼠标悬停效果或其他与每个主机各自网页中的某些或全部一致的元素。例如,经由用户设备110点击广告链接的客户没有从主机网页被传输到商家网页,而是被重定向到复合网页,该复合网页将与所选择项目相关的产品信息和主机网页的视觉上可感知的元素组合。外包提供商的服务器通过首先识别已选择链接的主机网页并检索相应的已存储“外观和感觉”信息来做出响应。服务器使用已检索到的主机网页的“外观和感觉”信息构建复合网页,并在其中嵌入与产品相关的内容,以便客户在视觉上将复合网页视为与主机网页相关。然后,服务器将该复合网页发送并呈现给客户,以便该客户有效地停留在主机网页上以购买商品,而无需被重定向到第三方商家会员(affiliate)。由于客户在视觉上将此类复合页面视为与主机网页相关联,因此它们给客户留下印象,即她正在查看主机提供的页面。此外,客户能够在不被重定向到第三方商家会员的情况下购买商品,从而允许主机保留对顾客的控制。该系统使主机可以接收与以前相同的广告收入流,但不会损失访问者流量和潜在客户。更特别地,该系统在服务于提供商业机会的网页的外包提供商中可能是有用的。该计算机存储器包含用于多个第一网页中的每一个的数据,该数据定义了多个视觉上可感知的元素,这些视觉上可感知的元素对应于多个第一网页;其中每个第一网页属于多个网页所有者之一;其中,每个第一网页显示至少一个与商业对象相关的活动链接,该商业对象与多个商家中的一个被选择的商家的购买机会相关联;其中,所选择的商家、外包提供商以及显示相关链接的第一网页的所有者是彼此相对的第三方;外包提供商处的计算机服务器,该计算机服务器与计算机存储器连接,并且被编程为:从计算机用户的网络浏览器接收信号,该信号指示对由第一网页之一显示的链接之一的激活;自动将激活链接的第一个网页之一识别为源页面;响应于对源页面的识别,自动检索与该源页面相对应的存储的数据;使用检索到的数据,自动生成第二个网页并将其传输到网络浏览器,该第二个网页显示:与商业对象(该商业对象与已激活的链接相关)相关的信息,以及与源页面在视觉上相对应的多个视觉上可感知的元素。

类似于“金融机构”或“交易帐户发行方”的短语和术语可以包括提供交易帐户服务的任何实体。尽管通常被称为“金融机构”,但该金融机构可以代表任何类型的银行、贷方或其他类型的帐户发行机构,例如***公司、卡赞助公司或与金融机构签订合同的第三方发行人。还应注意,其他参与者可能会参与交易的某些阶段,例如中介结算机构。

类似于“支付工具”、“金融交易工具”、“交易工具”或“交易卡”的短语和术语在全文中可以互换使用,以指代金融工具。如本文所使用的,账户代码可以与或不与实体金融工具相关联。

类似于“交易账户”的短语和术语可以包括可以用于促进金融交易的任何账户。例如,本文所使用的交易账户可以指的是与赊销账户(open account)系统或结清账户(closed account)系统(如本文所述)相关联的账户。交易账户可以存在于实体或非实体实施方案中。例如,交易账户可以分配在非实体实施方案中,例如帐号、常旅客账户、电话账户等。此外,交易账户的实体实施方案可以被分配为金融工具,例如***、借记卡等。

如本文中所使用的,“满足(satisfy)”、“符合(meet)”、“匹配(match)”,“与……相关(associated with)”或类似短语可以包括相同匹配、部分匹配、满足某些标准、匹配数据的子集、相关性、满足某些标准、对应关系、关联关系、算法关系等。类似地,如本文所使用的,“认证”或类似术语可以包括精确认证、部分认证、认证数据的子集、对应、满足某些标准、关联、算法关系等。

与“关联(associate)”和/或“关联的(associating)”相似的术语和短语可以包括标记(tagging)、标识(flagging)、关联(correlating)、使用查找表或任何其他方法或系统来指示或创建元素之间的关系,例如,(i)交易帐户和(ii)项目(例如,报价(offer)、奖励、折扣)和/或数字信道。此外,响应于任何适当的动作、事件或时间段,关联可以在任何点发生。关联可以以预定间隔、周期性、随机、一次、不止一次发生,或者响应于适当的请求或动作而发生。可以通过软件启用的链接来分配和/或访问任何信息,其中可以通过电子邮件、文本、帖子、社交网络输入和/或本领域已知的任何其他方法来发送链接。

该系统或任何组件可以与系统集成技术集成,例如开发的

Figure BDA0002599519070000142

系统。

Figure BDA0002599519070000143

是基于云的语音服务,可以帮助完成任务、娱乐、一般信息等。所有

Figure BDA0002599519070000144

设备(例如Echo,Dot,

Figure BDA0002599519070000147

Tap,Fire TV)都可以使用语音服务。该系统可以通过其语音激活技术接收语音命令,并激活其他功能,控制智能设备和/或收集信息。例如,音乐、电子邮件、短信、电话、已回答的问题、家庭装修信息、智能家居通信/激活、游戏、购物、制作待办事项列表、设置警报、流式播客、播放有声读物以及提供天气、交通状况和其他实时信息,例如新闻。该系统可以允许用户经由用户设备110访问关于在所有启用了

Figure BDA0002599519070000151

的设备上链接到在线账户的合格账户的信息。

消费者、客户、用户、帐户持有人、帐户会员、卡会员等短语应包括任何人、实体、公司、政府组织、企业、软件、硬件、与交易帐户相关联的机器,购买由一个或多个使用该账户的商家和/或合法指定在该账户上进行交易的商家提供的产品,而不管是否有实体卡与该帐户关联。例如,卡会员可以包括交易账户所有者、交易账户用户、账户会员、儿童账户用户、补助账户用户、账户的受益人、账户的托管人、和/或任何其他与交易帐户附属或关联的人或者实体。

如本文所使用的,类似于“帐户”、“帐号”、“帐户代码”、“消费者交易账户”、“消费者交易账户号”或“消费者账户”的短语和术语,可以包括任何设备、代码(例如,授权/访问代码、个人识别码(“PIN”)、互联网代码、其他标识代码等中的一个或多个)、数字、字母、符号、数字证书、智能芯片、数字信号、模拟信号、生物特征或其他适当配置为允许消费者访问系统、与系统交互或与系统通讯的标识符/标记。帐号可以选择位于或关联于奖励帐户、收费帐户、信用帐户、借记帐户、预付费帐户、电话卡、压纹卡、智能卡、磁条卡、条形码卡、应答器、射频卡或关联帐户。

帐号可以分配或存储在以任何形式的塑料、电子、磁性、射频、无线、音频和/或能够将数据从其自身传输或下载到第二设备的光学设备中。消费者交易帐号可以是例如十六位数的帐号,尽管每个信用提供者具有其自己的编号系统,例如,AMERICAN 使用的十五位数的编号系统。每个公司的帐号均符合该公司的标准格式,因此使用十五位数字格式的公司通常会使用隔开的三组数字,以数字“0000 000000 00000”表示。前五到七位数字用于处理目的,并标识发卡行、帐户类型等。在此示例中,最后一位(第十五位)用作该十五位数字的总和检查。中间的八到十一位数字用于唯一标识消费者。商家银行帐号可以是例如为了账户接受(acceptance)、账户对账、报告等目的识别特定商家的任何数字或字母数字字符。

在各个实施例中,帐号可以标识消费者。另外,在各个实施例中,可以通过各种标识符包括例如电子邮件地址、电话号码、识别号、射频标识符(RFID)、生物特征等等来识别消费者。

如本文所使用的,“标识符”可以是唯一地标识项目的任何合适的标识符。例如,标识符可以是全局唯一标识符(“GUID”)。GUID可以是在通用唯一标识符标准下创建和/或实现的标识符。而且,GUID可以存储为可以显示为32个十六进制数字的128位值。标识符还可以包括主设备号和次设备号。主设备号和次设备号可以分别是16位整数。

如本文中所使用的,大数据可以指包括数百万行和数十万列的部分或完全结构化、半结构或非结构化的数据集。例如,可以从一段时间内的购买交易历史、网络注册、社交媒体、费用记录(“ROC”)、费用汇总(“SOC”)、内部数据或其他合适的来源来汇编大数据集。大数据集可以在没有描述性元数据(例如列类型、计数、百分位数或其他解释性辅助数据点)的情况下进行编译。

费用记录(或“ROC”)可以包括任何交易或交易数据。ROC可以是与交易相关联的唯一标识符。费用记录(ROC)数据包括重要信息和增强数据。例如,ROC可以包含交易的详细信息,例如位置、商家名称或标识符、交易金额、交易日期、帐号、帐户安全密码或代码、帐户到期日期等。这种增强的数据提高了将交易数据与收到数据进行匹配的准确性。此类增强的ROC数据不等同于银行对帐单或交易帐户对帐单中的交易条目,其非常限于有关交易的基本数据。此外,ROC由不同的来源提供,即ROC由商家提供给交易处理器。在这方面,ROC是与特定交易关联的唯一标识符。ROC通常与费用汇总(SOC)相关联。ROC和SOC包括由商家提供给交易处理器的信息,并且ROC和SOC在与商家的结算过程中使用。在各个实施例中,交易可以由一个或多个成员使用交易账户来执行,例如与礼品卡、借记卡、***等相关联的交易账户。

分布式计算集群可以是例如配置为处理和存储大数据集的集群,其中一些节点包括分布式存储系统,而某些节点包括分布式处理系统。在这方面,分布式计算集群可以配置为支持Apache软件基金会在http://hadoop.apache.org/docs/上指定的

Figure BDA0002599519070000169

分布式文件系统(HDFS)。有关大数据管理系统的更多信息,请参阅2015年11月18日提交的发明名称为“用于多种存储类型的集成大数据接口”的美国专利申请号14/944,902;2015年11月18日提交的发明名称为“用于读和写大数据存储格式的系统和方法”的美国专利申请号14/944,979;2015年11月18日提交的发明名称为“用于创建、跟踪和维护大数据使用案例的系统和方法”的美国专利申请号14/945,032;2015年11月18日提交的、发明名称为“用于自动捕获并记录大数据记录的谱系数据的系统和方法”的美国专利申请号14/944,849;2015年11月18日提交的发明名称为“在大数据环境中跟踪敏感数据的系统和方法”的美国专利申请号14/944,898;以及2015年11月18日提交的发明名称为“大数据环境下将源数据转化为输出数据的系统和方法”的美国专利申请号14/944,961,其每个的内容通过引用整体地并入本文。

本文讨论的任何通信、传输和/或信道可以包括用于传递内容(例如,数据、信息、元数据等)和/或内容本身的任何系统或方法。内容可以以任何形式或介质来呈现,并且在各个实施例中,内容可以以电子方式传递和/或能够以电子方式呈现。例如,信道(channel)可以包括网站或设备(例如,Facebook、

Figure BDA0002599519070000161

)、统一资源定位符(“URL”)、文档(例如,文档、

Figure BDA0002599519070000164

文档、pdf文档等)、“电子书”、“电子杂志”、应用程序或微型应用程序(如本文所述)、SMS或其他类型的文本消息、电子邮件、消息、

Figure BDA0002599519070000167

推文和/或消息、MMS和/或其他类型的通信技术。在各个实施例中,信道可以由数据伙伴托管或提供。在各个实施例中,分配信道(distributionchannel)可以包括商家网站、社交媒体网站、会员网站或合作伙伴网站、外部供应商、移动设备通信、社交媒体网络和/或基于位置的服务中的至少一个。分配信道可以包括商家网站、社交媒体网站、会员网站或合作伙伴网站、外部供应商和移动设备通信中的至少一个。社交媒体网站的示例包括

Figure BDA0002599519070000172

等。会员网站或合作伙伴网站的示例包括AMERICAN等。此外,移动设备通信的示例包括短信、电子邮件和智能手机的移动应用程序。

“消费者简况”或“消费者简况数据”可以包括描述与消费者相关联的属性(例如,偏好、兴趣、人口统计信息、个人识别信息等)的关于消费者的任何信息或数据。

在各个实施例中,使用本文描述的各种特定机器来实现本文描述的方法。如本领域的技术人员将立即认识到的,本文描述的方法可以使用本文特定的机器以及此后开发的那些机器以任何合适的组合来实施。进一步地,如从本公开内容清楚的是,本文描述的方法可以导致某些物品的各种变换。

为简洁起见,本文可能不会详细描述系统的常规数据联网、应用程序开发和其他功能方面(以及系统的各个操作组件的组件)。此外,本文包含的各个附图中所示的连接线旨在代表各个元素之间的示例性功能关系和/或物理连接。应当注意的是,在实际系统中可能存在许多替代或附加的功能关系或物理连接。

本文讨论的各种系统组件可以包括以下一个或多个:主机服务器或其他计算系统,包括用于处理数字数据的处理器;与处理器连接的存储器,用于存储数字数据;与处理器连接的输入数字转换器,用于输入数字数据;存储在存储器中并且可由处理器访问的用于指导处理器对数字数据进行处理的应用程序;与处理器和存储器连接的显示设备,用于显示从处理器处理的数字数据得出的信息;以及多个数据库。本文使用的各种数据库可以包括:客户数据;商家数据;金融机构数据;和/或对系统运行有用的数据。如本领域技术人员将理解的,用户计算机可以包括操作系统(例如,

Figure BDA0002599519070000174

OS2、

Figure BDA0002599519070000175

MacOS等),以及通常与电脑关联的各种常规支持软件和驱动程序。

本系统或其任何部分或功能可以使用硬件、软件或其组合来实现,并且可以在一个或多个计算机系统或其他处理系统中实现。然而,由实施方案执行的操作通常是用术语来指代的,例如匹配或选择,这通常与人工操作员执行的智力操作相关联。在本文所述的任何操作中,人工操作员的这种能力在大多数情况下都不是必需的或不需要的。而是,这些操作可以是机器操作。用于执行各个实施例的有用的机器包括通用数字计算机或类似设备。

实际上,在各个实施例中,这些实施方案针对能够执行本文描述的功能的一个或多个计算机系统。该计算机系统包括一个或多个处理器,例如处理器。处理器连接到通信基础设施(例如,通信总线、交叉条(cross over bar)或网络)。根据该示例性计算机系统描述了各种软件实施方案。在阅读了该描述之后,对于相关领域的技术人员而言,如何使用其他计算机系统和/或架构来实现各个实施例将变得显而易见。计算机系统可以包括显示接口,该显示接口转发来自通信基础设施(或来自未示出的帧缓冲器)的图形、文本和其他数据,以在显示单元上显示。

计算机系统还可以包括主存储器,例如随机存取存储器(RAM),并且还可以包括辅助存储器。辅助存储器可以包括例如硬盘驱动器和/或可移动存储驱动器。将会理解,可移动存储单元包括其中存储有计算机软件和/或数据的计算机可用存储介质。

在各个实施方案中,辅助存储器可以包括用于允许将计算机程序或其他指令加载到计算机系统中的其他类似设备。这样的设备可以包括例如可移动存储单元和接口。这样的示例可以包括程序盒式存储器(program cartridge)和盒式接口(cartridgeinterface)(例如在视频游戏设备中的接口)、可移动存储芯片(例如可擦可编程只读存储器(EPROM)或可编程只读存储器(PROM))和与之相关插槽、以及其他可移动存储单元和接口,可将软件和数据从可移动存储单元传输到计算机系统。

计算机系统还可包括通信接口。通信接口允许软件和数据在计算机系统和外部设备之间传送。通信接口的示例可以包括调制解调器、网络接口(例如以太网卡)、通信端口、个人计算机存储卡国际协会(PCMCIA)插槽和卡等。通过通信接口传送的软件和数据采用信号形式,该信号可以是电子、电磁、光或其他能够被通信接口接收的信号。这些信号通过通信路径(例如,信道)被提供给通信接口。该信道承载信号,并且可以使用电线、电缆、光纤、电话线、蜂窝链路、射频(RF)链路、无线和其他通信信道来实现。

术语“计算机程序介质”和“计算机可用介质”以及“计算机可读介质”通常用于指代诸如可移动存储驱动器和安装在硬盘驱动器中的硬盘之类的介质。这些计算机程序产品向计算机系统提供软件。

计算机程序(也称为计算机控制逻辑)存储在主存储器和/或辅助存储器中。也可以经由通信接口来接收计算机程序。这样的计算机程序在被执行时使计算机系统能够执行本文所讨论的特征。特别地,计算机程序在被执行时使处理器能够执行各个实施例的特征。因此,这样的计算机程序代表计算机系统的控制器。

在各个实施例中,可以使用可移动存储驱动器、硬盘驱动器或通信接口将软件存储在计算机程序产品中并加载到计算机系统中。当由处理器执行时,控制逻辑(软件)使处理器执行如本文所述的各个实施例的功能。在各个实施例中,诸如专用集成电路(ASIC)的硬件组件。硬件状态机的执行以执行本文描述的功能对于相关领域的技术人员将是显而易见的。

在各个实施方案中,服务器可以包括应用服务器(例如,WEB SPHERE、WEB LOGIC、JBOSS、

Figure BDA0002599519070000181

Postgres Plus Advanced

Figure BDA0002599519070000182

(PPAS)等)。在各个实施方案中,服务器可以包括网络服务器(例如,APACHE、IIS、GWS、SUN

Figure BDA0002599519070000183

SYSTEM WEB SERVER)。

Web客户端包括经由任何网络进行通信的任何设备(例如,个人计算机),例如本文所讨论的那些。这样的浏览器应用程序包括安装在计算单元或系统内的Internet浏览软件,以进行在线交易和/或通信。尽管可以使用其他类型的计算单元或系统,包括膝上型计算机、笔记本电脑、平板电脑、手持式计算机、个人数字助理、机顶盒、工作站、计算机-服务器、主机计算机、微型计算机、PC服务器、普及型计算机、计算机网络集、个人计算机(例如

Figure BDA0002599519070000191

Figure BDA0002599519070000192

)、信息亭、终端机、销售点(“POS”)设备和/或终端机、电视或任何其他能够通过网络接收数据的设备,但是这些计算单元或系统可以采用计算机或计算机组的形式。Web-客户端可以运行INTERNETSafari或任何其他可用于浏览互联网的无数的软件包。

如本领域技术人员将理解的是,Web客户端可以与应用服务器直接接触或可以不与应用服务器直接接触。例如,Web客户端可以通过另一个服务器和/或硬件组件访问应用程序服务器的服务,该服务器和/或硬件组件可能与Internet服务器的直接或间接连接。例如,Web客户端可以通过负载平衡器与应用程序服务器进行通信。在各个实施例中,访问是通过网络或互联网通过商业上可用的网络浏览器软件包进行的。

如本领域技术人员将理解的是,Web客户端包括操作系统(例如,操作系统,

Figure BDA0002599519070000195

OS、OS2、

Figure BDA0002599519070000196

OS、OS、

Figure BDA0002599519070000198

MacOS等)以及各种常规支持软件和通常与计算机关联的驱动程序。Web客户端可以包括任何合适的个人计算机、网络计算机、工作站、个人数字助理、蜂窝电话、智能电话、微型计算机、主机等。Web客户端可以在具有网络访问权限的家庭或企业环境中。在各个实施例中,访问通过网络或互联网通过可商购的网络浏览器软件包进行。Web客户端可以实施安全协议,例如安全套接字层(SSL)和传输层安全性(“TLS”)。Web客户端可以实现几种应用程序层协议,包括http、https、ftp和sftp。

在各个实施例中,系统100的组件、模块和/或引擎可以被实现为微型应用程序(micro-applications)或微型应用程序(micro-apps)。微型应用程序通常部署在移动操作系统的环境中,包括,例如,

Figure BDA0002599519070000199

移动操作系统、操作系统、

Figure BDA00025995190700001912

操作系统等。可以将微型应用程序配置为通过一组预定规则来利用较大操作系统和相关硬件的资源,该预定规则管理各种操作系统和硬件资源的操作。例如,在微型应用程序希望与除移动设备或移动操作系统之外的设备或网络进行通信的情况下,微型应用程序可以在移动操作系统的预定规则下利用操作系统的通信协议和相关设备硬件。此外,在微型应用程序需要用户的输入的情况下,微型应用程序可以被配置为从操作系统请求响应,该操作系统监视各种硬件组件并将检测到的输入从硬件传送到微型应用程序。

如本文所使用的,“发布借方”、“借方(debit)”或“借记(debiting)”是指引起储值或预付卡式金融帐户的借记,或引起***或充卡式金融帐户按适用情况收取费用。

类似于“项目”的短语和术语可以包括任何商品、服务、信息、经验、娱乐、数据、要约、折扣、回扣、积分、虚拟货币、内容、访问权限、租金、租赁、出资、账户、信用、借方、利益、权利、奖励、积分、优惠券、信用、货币等价物、任何有价值的东西、最小或无价值的东西、货币价值、非货币价值和/或类似物。此外,本文讨论的“交易”或“购买”可以与项目相关联。此外,“奖励”可以是商品(item)。

该系统预期与网络服务、效用计算、普适性和个性化计算、安全性和身份解决方案、自主计算、云计算、商品计算、移动性和无线解决方案、开放源代码、生物识别、网格计算和/或网式计算结合使用。

本文讨论的任何数据库均可以包括关系式的、分层的、图解的、区块链或面向对象的结构和/或任何其他数据库配置。数据库还可以包括平面文件结构,其中数据可以以行和列的形式存储在单个文件中,没有用于索引的结构并且在记录之间没有结构关系。例如,平面文件结构可以包括带分隔符的文本文件、CSV(逗号分隔值)文件和/或任何其他合适的平面文件结构。可用于实现数据库的常见数据库产品包括

Figure BDA0002599519070000201

(纽约州阿蒙克)的DB2、

Figure BDA0002599519070000202

Corporation(加利福尼亚州红木海岸)可获得的各种数据库产品、微软公司(华盛顿州雷蒙德)的

Figure BDA0002599519070000204

SQL

Figure BDA0002599519070000205

MySQL AB(瑞典乌普萨拉)的MySQL、的HBase、MapR-DB或任何其他合适的数据库产品。此外,数据库可以以任何适当的方式来组织,例如,作为数据表或查找表。每个记录可以是单个文件、一系列文件、一系列链接的数据字段或任何其他数据结构。

区块链结构可以包括维护不断增长的数据记录列表的分布式数据库。区块链可以提供增强的安全性,因为每个区块都可以保存单独的交易和任何区块链可执行文件的结果。每个区块可以包含时间戳和到前一个区块的链接。区块可以被链接,因为每个区块可能包括区块链中先前区块的散列(hash)。链接的区块形成一条链,只允许一个后继区块链接到单个链的另一个前任区块。从先前统一的区块链建立分歧链的情况下,可能会产生叉形指令(forks),尽管通常只有一条分歧链会被维持为共识链。有关基于区块链的支付网络的更多信息,请参阅2016年9月15日提交的发明名称为“基于区块链的支付网络的系统和方法”的美国申请号15/266,350,2017年8月21日提交的发明名称为“区块链上数据文件传输平衡和控制的系统和方法”的美国申请号15/682,180,以及2017年10月9日提交的发明名称为“忠诚积分分配的系统和方法”的美国专利申请15/728,086,每个专利申请的全部内容通过引用并入本文。

某些数据的关联可以通过任何期望的数据关联技术来完成,例如本领域已知或实践的技术。例如,关联可以手动或自动完成。自动关联技术可以包括,例如,数据库搜索、数据库合并、GREP、AGREP、SQL、使用表中的关键字段来加快搜索速度、对所有表和文件进行顺序搜索、根据已知顺序对文件中的记录进行排序以简化查找等等。关联步骤可以通过数据库合并功能来完成,例如,使用预选数据库或数据扇区中的“关键字段”。考虑了各种数据库调整步骤以优化数据库性能。例如,可以将诸如索引之类的常用文件放置在单独的文件系统上,以减少输入/输出(“I/O”)瓶颈。

更具体地说,“关键字段”根据关键字段定义的高级对象类别对数据库进行分区。例如,然后可以将某些类型的数据指定为多个相关数据表中的关键字段,并且可以基于关键字段中的数据类型来链接数据表。与每个链接数据表中的关键字段相对应的数据优选地是相同或相同类型的。但是,例如,也可以通过使用AGREP链接关键字段中具有相似但不相同数据的数据表。根据一个实施方案,可以利用任何合适的数据存储技术来存储没有标准格式的数据。数据集可以使用任何适当的技术来存储,包括例如使用ISO/IEC7816-4文件结构存储单个文件;实现一个域,通过该域选择一个专用文件,该文件公开一个或多个包含一个或多个数据集的基本文件;使用分层归档系统使用存储在单个文件中的数据集;作为记录存储在单个文件中的数据集(包括压缩,可访问SQL,通过一个或多个键进行散列、数字、首元组按字母顺序等等的数据集);二进制大对象(BLOB);存储为使用ISO/IEC 7816-6数据元素编码的未分组数据元素;存储为使用ISO/IEC 8824和8825中的ISO/IEC抽象语法表示法(ASN.l)编码的未分组数据元素;和/或其他可能包括分形压缩方法、图像压缩方法等的专有技术。

在各个实施例中,通过将信息存储为BLOB来促进以不同格式存储各种信息的能力。因此,任何二进制信息都可以存储在与数据集关联的存储空间中。如上所述,二进制信息可以存储在与系统相关联的地方,也可以存储在与系统关联的外部。BLOB方法可以使用固定的存储分配、循环队列技术或有关内存管理(例如,分页的内存,最近最少使用的等)的最佳实践,通过固定的内存偏移量将数据集存储为未分组的数据元素,格式为二进制区块。通过使用BLOB方法,存储具有不同格式的各种数据集的能力方便数据集的多个和不相关的所有者将数据存储在数据库中或与系统关联的数据库中。例如,可以由第一方提供可以存储的第一数据集,可以由不相关的第二方提供可以存储的第二数据集,而可以由与第一方和第二方无关的第三方提供可以存储的第三数据集。这三个示例性数据集的每一个可以包含使用不同的数据存储格式和/或技术存储的不同的信息。此外,每个数据集可以包含不同于其他子集的数据子集。

如上所述,在各个实施例中,可以在不考虑通用格式的情况下存储数据。但是,当提供数据集(例如,BLOB)用于操纵数据库或系统中的数据时,可以使用标准方式对该数据集进行注释。注释可以包括与每个数据集有关的短信头、尾部或其他适当的指示符,该指示符与被配置为传达可用于管理各种数据集的信息。例如,注释在本文中可以被称为“条件信头(condition header)”,“信头”,“尾部”或“状态”,并且可以包括数据集的状态的指示或者可以包括与数据的特定发行方或所有者相关的标识符。在一个示例中,每个数据集BLOB的前三个字节可被配置为或可配置为指示该特定数据集的状态;例如,已加载、已初始化、已就绪、已阻止、可移动或已删除。随后的数据字节可用于指示例如发行方的身份、用户、交易/会员帐户标识符等。这些条件注释中的每一个都会在本文中进一步讨论。

数据集注释还可以用于其他类型的状态信息以及各种其他目的。例如,数据集注释可以包括建立访问级别的安全信息。例如,可以将访问级别配置为仅允许某些个人、各层员工、公司或其他实体访问数据集,或允许基于交易、商家、发行方、用户等访问特定数据集。此外,安全信息可以仅限制/允许某些动作,例如访问、修改和/或删除数据集。在一个示例中,数据集注释指示仅数据集所有者或用户被允许删除数据集,各种标识的用户可以被允许访问该数据集以进行读取,而其他用户则被完全排除在访问数据集之外。但是,也可以使用其他访问限制参数,以允许各种实体适当地访问具有各种许可级别的数据集。

包括信头或尾部的数据可以由独立交互设备接收,该独立交互设备配置为根据信头或尾部添加、删除、修改或扩充数据。这样,在一个实施方案中,信头或尾部没有与所关联的发行方拥有的数据一起存储在交易设备上,而是可以通过在独立设备处向用户提供要采取动作的适当选项来采取适当的动作。该系统可以考虑一种数据存储装置,其中数据的信头或尾部,或者数据的信头或尾部历史被存储在与适当的数据相关的系统、设备或交易工具上。

本领域技术人员还将意识到,出于安全原因,系统的任何数据库、系统、设备、服务器或其他组件可以在单个位置或多个位置由其任何组合组成,其中每个数据库或系统包括任何各种合适的安全功能,例如防火墙、访问代码、加密、解密、压缩、解压缩等。

加密可以通过本领域现在可用或可能可用的任何技术来执行,例如,Twofish、RSA、El Gamal、Schorr签名、DSA、PGP、PKI、GPG(GnuPG)、HPE格式保存加密(FPE)、电压以及对称和非对称密码系统。该系统和方法还可以并入SHA系列密码方法以及ECC(椭圆曲线密码术)和其他正在开发的量子可读密码算法。

Web客户端的计算单元可以进一步配备有使用标准拨号、电缆、DSL或本领域已知的任何其他互联网协议连接到互联网或内联网的互联网浏览器。源自Web客户端的交易可能会穿过防火墙,以防止其他网络用户的未经授权的访问。此外,可以在CMS的不同组件之间部署其他防火墙,以进一步增强安全性。

防火墙可以包括适当配置为保护CMS组件和/或企业计算资源免受其他网络用户攻击的任何硬件和/或软件。此外,防火墙可以配置为限制或约束对通过Web服务器连接的Web客户端对防火墙后面的各种系统和组件的访问。防火墙可能驻留在各种配置中,包括状态检测、代理方式、访问控制列表和数据包筛选等。防火墙可以集成在Web服务器或任何其他CMS组件中,也可以进一步作为单独的实体驻留。防火墙可以实施网络地址转换(“NAT”)和/或网络地址端口转换(“NAPT”)。防火墙可以容纳各种隧道协议以促进安全通信,例如虚拟专用网络中使用的那些协议。防火墙可以实现非军事区(“DMZ”),以促进与公共网络(例如Internet)的通信。防火墙可以作为软件集成在互联网服务器、任何其他应用程序服务器组件中,或者可以驻留在另一个计算设备中,或者可以采用独立硬件组件的形式。

本文讨论的计算机可以提供合适的网站或其他用户可以访问的基于互联网的图形用户界面。在一个实施方案中,将INTERNET INFORMATION(IIS)、Transaction Server(“MTS”)和SQL Server与

Figure BDA0002599519070000235

操作系统、Web服务器软件、

Figure BDA0002599519070000237

SQL Server数据库系统和

Figure BDA0002599519070000238

商务服务器结合。另外,诸如Access或SQLServer、Sybase、Informix MySQL、Interbase等的组件可用于提供兼容活动数据对象(“ADO”)的数据库管理系统。在一个实施方案中,Apache Web服务器与Linux操作系统、MySQL数据库以及Perl、PHP、Ruby和/或Python编程语言结合使用。

本文讨论的任何通信、输入、存储、数据库或显示可以通过具有网页的网站来促进。如本文中所使用的,术语“网页”并不意味着限制可能用于与用户交互的文档和应用程序的类型。例如,除了标准的HTML文档之外,典型的网站可能还包括各种形式的

Figure BDA00025995190700002311

applet、JAVASCRIPT、活动服务器页面(“ASP”)、通用网关界面脚本(“CGI”)、可扩展标记语言(“XML”)、动态HTML、级联样式表(“CSS”)、AJAX(异步JAVASCRIPT和XML)、帮助程序、插件等。服务器可以包括从Web服务器接收请求的Web服务,该请求包括URL和IP地址(123.56.789.234)。Web服务器检索适当的网页并将该网页的数据或应用程序发送到IP地址。Web服务器是能够通过通信手段例如互联网与其他应用程序进行交互的应用程序。Web服务通常基于标准或协议,例如XML、SOAP、AJAX、WSDL和UDDI。Web服务方法在本领域中是众所周知的,并且在许多标准文本中都有介绍。例如,代表性状态转移(REST)或RESTful、Web服务器可以提供一种启用应用程序之间互操作性的方法。

中间件可以包括适当地配置为促进异构计算系统之间的通信和/或处理交易的任何硬件和/或软件。中间件组件是可商购的并且是本领域已知的。中间件可以通过市售的硬件和/或软件,通过定制的硬件和/或软件组件,或通过其组合来实现。中间件可以驻留在各种配置中,并且可以作为独立系统存在,或者可以是驻留在互联网服务器上的软件组件。出于本文所公开的任何目的,中间件可以被配置为处理应用服务器的各种组件与任何数量的内部或外部系统之间的事务。

Figure BDA00025995190700002312

公司(纽约州阿蒙克)的WEBSPHERE MQTM(以前的MQSeries)是市售中间件产品的示例。企业服务总线(“ESB”)应用程序是中间件的另一个示例。

本领域技术人员还将理解到,存在多种用于在基于浏览器的文档中显示数据的方法。数据可以表示为标准文本,也可以表示为固定列表、可滚动列表、下拉列表、可编辑文本字段、固定文本字段、弹出窗口等。同样,有许多方法可用于修改网页中的数据,例如,使用键盘输入自由文本、选择菜单项、复选框、选项框等。

本文中可以根据功能块组件、屏幕截图、可选的选择和各种处理步骤来描述该系统和方法。应当理解,可以通过被配置为执行指定功能的任何数量的硬件和/或软件组件来实现这样的功能块。例如,系统可以采用各种集成电路组件,例如存储器元件、处理元件、逻辑元件、查找表等,该集成电路组件可以在一个或多个微处理器或其他控制设备的控制下执行各种功能。类似地,系统的软件元素可以使用任何编程或脚本语言(例如C、C++、C#、JAVASCRIPT、JAVASCRIPT对象表示法(“JSON”)、VBScript、Macromedia ColdFusion、COBOL、

Figure BDA0002599519070000242

Active服务器页面、程序集、PERL、PHP、awk、Python、Ruby、Visual Basic、SQL存储过程,PL/SQL、任何UNIX Shell脚本)以及可扩展标记语言(XML)实现,而各种算法则通过数据结构、对象、过程、例行程序或其他编程元素的任意组合实现。此外,应当注意的是,系统可以采用数据传输、信令、数据处理、网络控制等任何数量的常规技术。更进一步,该系统可以被用来检测或防止诸如JAVASCRIPT、VBScript之类的客户端脚本语言的安全问题。密码术和网络安全方法在本领域中是众所周知的,并且在许多标准文本中均有涉及。

在各个实施例中,系统的软件元素也可以使用实现。

Figure BDA0002599519070000244

可以实现几个模块来处理各种核心功能。例如,程序包管理模块例如

Figure BDA0002599519070000245

可以实现为开源库,以帮助组织第三方

Figure BDA0002599519070000246

程序的安装和管理。

Figure BDA0002599519070000247

还可以实现流程管理器,例如并行多线程机(“PM2”);资源和性能监视工具,例如节点应用程序度量(“appmetrics”);用于构建用户界面的库模块,例如

Figure BDA0002599519070000248

和/或任何其他合适和/或所需的模块。

银行可能是系统的一部分,但是银行可以代表其他类型的发卡机构,例如***公司、卡赞助公司或与金融机构签订合同的第三方发行人。还应注意到,其他参与者可能会参与交易的某些阶段,例如中介结算机构,但是未显示这些参与者。

每个参与者都配备有计算设备,以便与系统进行交互并促进在线商务交易。客户具有个人计算机形式的计算单元,尽管可以使用其他类型的计算单元,包括膝上型计算机、笔记本电脑、手持式计算机、机顶盒、蜂窝电话,按键式电话等。商家具有以计算机服务器的形式实现的计算单元,尽管该系统可以考虑其他实现方式。该银行具有呈现为主机电脑的计算中心。但是,银行计算中心可以以其他形式实现,例如小型计算机、PC服务器、位于相同或不同地理位置的计算机网络等。此外,该系统考虑通过具有本文所述类似功能的任何网络使用、销售或分配任何商品、服务或信息。

商家计算机和银行计算机可以通过第二网络互连,该第二网络称为支付网络。可以是某些交易的一部分的支付网络,代表了现有的专有网络,该专有网络目前适应***、借记卡和其他类型的金融/银行卡的交易。支付网络是一个封闭的网络,被认为可以防止窃听。示例***易网络可以包括American

Figure BDA0002599519070000249

Discover

Figure BDA00025995190700002410

专用网络(例如,百货商店网络)和/或任何其他支付网络。

电子商务系统可以在客户和发行银行处实现。在示例性实施方式中,电子商务系统被实现为加载到客户计算机和银行计算中心上的计算机软件模块。商家计算机不需要任何其他软件即可参与在线商务系统支持的在线商务交易。

如本领域的普通技术人员将理解的,该系统可以体现为对现有系统、附加产品、执行升级的软件的处理设备、独立系统、分布式系统、方法、数据处理系统、用于数据处理的设备和/或计算机程序产品的定制。因此,系统或模块的任何部分可以采用执行代码的处理设备、基于互联网的具体化、完全硬件的具体化、或结合互联网、软件和硬件的各方面的具体化的形式。此外,该系统可以采取计算机可读存储介质上的计算机程序产品的形式,该计算机可读存储介质具有体现在该存储介质中的计算机可读程序代码装置。可以利用任何合适的计算机可读存储介质,包括硬盘、CD-ROM、光学存储设备、磁性存储设备和/或类似物。

本文参考根据各个实施例的方法、装置(例如,系统)和计算机程序产品的屏幕截图、框图和流程图说明来描述该系统和方法。应当理解,框图和流程图的每个功能块以及框图和流程图的功能块的组合可以分别由计算机程序指令来实现。

这些计算机程序指令可以被加载到通用计算机、专用计算机或其他可编程数据处理设备上以产生机器,使得在计算机或其他可编程数据处理设备上执行的指令创建用于实现在流程图或方框中指定功能的装置。这些计算机程序指令也可以存储在计算机可读存储器中,该计算机可读存储器可以指导计算机或其他可编程数据处理装置以特定方式工作,从而使得存储在计算机可读存储器中的指令产生包括指令装置的制品,该指令装置执行流程图或方框中指定功能。也可以将计算机程序指令加载到计算机或其他可编程数据处理设备上,以使一系列操作步骤在计算机或其他可编程设备上执行以产生计算机实现的过程,从而使得在计算机上或其他可编程装置执行的指令提供用于实现在流程图或方框中指定功能的步骤。

因此,框图和流程图的功能块支持用于执行指定功能的装置的组合、用于执行指定功能的步骤的组合以及用于执行指定功能的程序指令装置。还将理解,框图和流程图的每个功能块,以及框图和流程图的功能块的组合,可以由执行指定功能或步骤的基于专用硬件的计算机系统来实现,或由专用硬件和计算机指令的适当组合来实现。此外,程序流程的图示及其描述可以参考用户网页、网站、Web表单、提示等。从业人员将理解,本文描述的所示步骤可以包括任何数量的配置,包括使用网页、Web表单、弹出窗口、提示等。还应当理解,图示和描述的多个步骤可以组合成单个网页和/或但是为了简单起见已进行扩展。在其他情况下,图示和描述为单个处理步骤的步骤可以分为多个网页和/或但为简单起见已合并在一起。

术语“非暂时性”应被理解为仅从权利要求范围中去除传播瞬态信号本身,而不放弃对本身并不只是传播瞬态信号的所有标准计算机可读介质的权利。换句话说,术语“非暂时性计算机可读介质”和“非暂时性计算机可读存储介质”的含义应解释为仅排除在In ReNuijten中发现的超出35U.S.C.§101规定的可授予专利的主题的范围的那些类型的暂时性计算机可读介质。

提供了系统、方法和计算机程序产品。在本文的详细描述中,对“各个实施例”,“一个实施方案”,“实施方案”,“示例实施方案”等的引用是指所描述的实施方案可以包括特定的特征、结构或特性,但是每个实施方案不一定包括特定特征、结构或特性。而且,这样的词语不一定指代相同的实施方案。此外,当结合实施方案描述特定的特征、结构或特性时,可以认为无论是否明确描述,结合其他实施方案影响该特征、结构或特性在本领域技术人员的知识范围内。在阅读了说明书之后,如何在替代实施例中实现本公开对于相关领域的技术人员来说将是显而易见。

关于特定实施方案,已经在本文中描述了益处、其他优点和问题的解决方案。然而,益处、优点、问题的解决方案以及可能导致任何益处,优点或解决方案出现或变得更加明显的任何要素均不应被解释为本公开的关键、必需或必要特征或要素。因此,本公开的范围仅受所附权利要求书的限制,在所附权利要求书中,除非明确地如此指出,单数形式提及的要素并不旨在表示“一个且仅一个”,而是表示“一个或多个”。此外,在权利要求书或说明书中使用与“A、B和C中的至少一个”或“A、B或C中的至少一个”类似的短语时,意图将该短语解释为,在一个实施方案中可以单独存在A,在一个实施方案中可以单独存在B,在一个实施方案中可以单独存在C,或者在单个实施方案中可以存在要素A、B和C的任意组合;例如,A和B、A和C、B和C、或A和B和C。尽管本公开包括一种方法,但是可以预期,它可以体现为有形的计算机可读载体上的计算机程序指令,例如磁存储器或光学存储器或磁盘或光盘。本领域普通技术人员已知的上述各个实施例的要素的所有结构、化学和功能等同物均通过引用明确地并入本文,并且意在被本权利要求所涵盖。此外,设备或方法不必解决本公开寻求解决的每个问题,因为其被本权利要求所涵盖。此外,无论在权利要求中是否明确列举了要素、组件或方法步骤,本公开中的任何要素、组件或方法步骤都不旨在专用于公众。除非明确使用“用于……的装置(means for)”一词来表述,否则本文中的任何权利要求要素均不得根据35U.S.C.112(f)的规定进行解释。如本文所用,术语“包括”、“包含”或其任何其他变体旨在覆盖非排他性包含,使得包括一系列要素的过程、方法、物品或装置不仅包括那些要素,但可以包括未明确列出或此类过程、方法、物品或设备所固有的其他要素。

31页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于加密选择机制的系统和方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!