本公开总体涉及互联网浏览器,并且更具体地,本公开涉及被配置为在区块链中存储用户的身份信息并对用户进行认证的浏览器。
背景技术:
越来越多的消费者正在通过电子网络(例如互联网)来购买物品和服务和/或以其他方式进行交易。消费者日常以相似方式从商家和个人购买产品和服务。可以在常规或在线商家或零售商与消费者之间直接进行交易,并且通常通过输入信用卡或其他金融信息来进行支付。交易还可以借助于在线或移动交易服务提供商(例如加州圣何塞的paypal公司)进行。此类电子交易服务提供商可使交易对所涉及的各方变得更容易且更安全。使用移动设备方便地在几乎任何地方进行交易是在线和移动交易正非常迅速地增长的一个主要原因。
然而,在一些情况下,在线和移动交易可能经受升高的欺诈风险。从消费者的角度来看,用户可能不期望在线上将她的个人和金融信息泄露给众多商家。例如,这些商家之一可能成为突破口,从而将消费者的个人和金融信息散布到非法市场。从商家的角度来看,可能难以验证在交易另一端的消费者正确地展示他自己的身份而未在进行欺诈。当资金卡被用于完成交易时,商家可能对欺诈损失承担责任,这为商家提供了至少试图使欺诈最小化的动机。此类问题是使用使得能够以电子方式传递和存储敏感用户数据的计算设备和计算机网络的结果,这导致盗用此类数据的机会增加。
将期望具有如下技术方案:该技术方案可以通过保护消费者信息并向商家提供用户合法的某种保证来为商家和消费者两者提供安全性。
附图说明
图1是根据一种实施例的适合于与身份存储浏览器一起使用的联网系统的框图。
图2是根据一种实施例的具有更多细节的图1的示例身份存储浏览器的图示。
图3a-3c是根据一种实施例的与图1的浏览器相关联的示例用户界面的图示。
图4是根据一种实施例的用于与身份存储浏览器一起使用的示例区块链的图示。
图5是示出了根据一种实施例的交易的利益相关方之间的示例通信的信号图。
图6是根据一种实施例的由身份存储浏览器执行的示例方法的图示。
图7是根据一种实施例的适合于实现图1中的一个或多个组件的计算机系统的框图。
通过参考下面的详细描述,本公开的实施例及其优点被最好地理解。应该领会,类似的附图标记用于标识一个或多个图中图示的类似的元件,其中本文所示是为了图示本公开的实施例,而不是为了限制本公开的实施例。
具体实施例
各种实施例提供了一种互联网浏览器,该互联网浏览器安全地存储消费者的个人和金融信息,对消费者进行认证,并且验证与商家或其他实体的交易的合法性(legitimacy)。
在一个示例中,浏览器被配置为使得它对安全用户数据(例如,消费者身份和金融信息)进行加密并将安全用户数据存储到移动设备或其他计算机设备。浏览器可以使用如下加密:该加密基于来自消费者的安全性信息或关于消费者的安全性信息,例如个人标识码(pin)、密码、或生物计量信息等。实际上,浏览器可以对于诸如姓名之类的不太敏感的信息使用较弱等级的加密(例如,仅使用pin),而对于诸如出生日期和银行账号之类的较敏感的信息使用更强等级的加密(例如,使用pin加生物计量信息)。
继续该示例,消费者可以通过提交安全性信息来对交易进行授权。例如,如果消费者期望向商家进行购买,则浏览器可以提示消费者输入pin并扫描指纹。一旦pin和指纹数据被输入,浏览器就可以使用该信息来对所存储的身份和金融信息进行解密。浏览器可以在允许与商家继续的交易之前,确认安全性信息正确地解密消费者的身份和金融信息,从而提供授权步骤。加密照存储的样子保护信息,并且该授权用于标识消费者并确保恶意行为者被拒绝访问交易。
此外,在此示例中,可以通过法律(例如,合同)关系并且还通过技术关系将浏览器链接到电子购物车,使得浏览器和购物车共享应用编程接口(api)和认证机制。因此,当浏览器发起与购物车的交易时,购物车知晓它正被与一定等级的安全性和用户认证相关联的特定类型的浏览器联系。
在一个示例用例中,消费者期望从电子商务网站购买物品。用户选择物品,然后前进到购物车。购物车本身是与商家的电子商务网站相关联的法律实体。购物车可以从商家网站接收指示要购买的特定物品的信息。当用户期望结账时,作为响应,浏览器可以提示用户在其移动设备的用户界面处输入用户认证数据(例如,pin和指纹)。浏览器接收用户认证数据并且对被存储到用户的移动设备的安全用户数据进行解密以对用户进行认证。响应于认证用户,浏览器从浏览器向电子购物车发送支付指示。支付指示的示例可以是指示根据先前商定的关系将进行支付的令牌或消息。浏览器然后可以通过例如使得从消费者的开证银行向商家的收单银行进行支付来处理交易。浏览器然后可以在区块链或其他安全账簿(secureledger)中把交易存储到计算设备。
此外,继续该示例,浏览器可以实现一个或多个区块链,用于安全地存储信息并提供用于审查各个利益相关方(例如,消费者、商家、购物车等)的交易的途径。在一个示例中,用户的个人和金融信息被以其加密形式存储到区块链的区块,并且后续交易被记录在区块链的后续区块中,其中用于特定交易的区块可以被一个或多个利益相关方根据系统生成的密钥签名。因此,系统的用户可以访问区块链以验证是否发生了交易,并且浏览器本身可以使用区块链中的信息来对各种交易的支付进行处理。此外,可以在侧链中实现未决交易和/或商家-消费者交互(到交易实际完成为止),直至交易完成,在这种情况下可以使相应的侧链成为主链的一部分。
在一个方面中,根据一种实施例的示例浏览器可以充当三个事物:1)安全保险库,存储消费者的金融和支付信息,2)支付提供商,使得消费者可前往购物车并提交支付,而不必选择支付方法或者提交任何其他支付信息,以及3)钱包,存储交易的列表和谁访问了信息的列表。在另一方面中,浏览器与购物车集成在一起,而购物车是与商家分开的实体。在此类示例中,在商家方的集成工作将很少或没有。在采用基于区块链的浏览器的实施例中,交易和访问可以记录在区块链中,从而向利益相关方提供透明性。例如,消费者可以从浏览器访问她的交易的列表并且查看谁访问了该信息并撤消/激活对所涉及的各方的访问。此外,各种基于区块链的实施例可以包括许可区块链,其中各个利益相关方可被添加到链,而已经不在系统中的各方可被排除在外而不能够访问该区块链。
各种实施例可以提供优于其他浏览器的一个或多个优点。例如,本文描述的一些实施例可以通过对数据进行加密来提供用户数据的增加的安全性,同时响应于用户认证数据的键入而允许数据被访问。另外,各种实施例与购物车相关联并给该购物车提供在另一端的用户是合法的的保证。此类特征可以为电子交易提供增加的安全性和较低的风险。此外,一些实施例可以将数据存储在区块链中,这允许利益相关方审查交易,从而进一步提高电子数据安全性。
图1是根据一种实施例的适合于实现身份存储浏览器的联网系统的框图。联网系统100可以包括或者实现用于执行各种支付交易或过程的多个服务器和/或软件组件。示例性服务器可以包括例如操作服务器os(例如,
系统100可以包括用户设备110、浏览器服务器130、商家服务器140、收单方主机165、开证方主机168和支付网络172,这些组件通过网络160进行通信。
用户设备110、浏览器服务器130、商家服务器140、收单方主机165、开证方主机168和支付网络172可以各自包括一个或多个处理器、存储器以及用于执行指令的其他适当的组件,所述指令为诸如存储在一个或多个计算机可读介质上以实现本文描述的各种应用、数据和步骤的程序代码和/或数据。例如,可以将此类指令存储在一个或多个计算机可读介质中,例如在系统100的各种组件内部和/或外部和/或可通过网络160访问的存储器或数据存储设备。
可以将网络160实现为单个网络或多个网络的组合。例如,在各种实施例中,网络160可以包括互联网或一个或多个内部网、陆线网络、无线网络和/或其他适当类型的网络。
可以使用被配置用于通过网络160进行的有线和/或无线通信的任何适当的硬件和软件来实现用户设备110。例如,在一种实施例中,可以将用户设备实现为:个人计算机(pc);智能手表;智能电话;具有诸如nfc芯片、ble硬件等的附加硬件的智能电话;具有诸如游戏设备、虚拟现实耳机之类的硬件配置或者与具有独特硬件配置并运行适当的软件的智能电话谈话的可穿戴设备;膝上型计算机;和/或能够发送和/或接收数据的其他类型的计算设备,例如来自appletm的ipadtm。
用户设备110可以包括收发器107。用户设备110采用收发器107来与网络160并与商家服务器140、收单方主机165、开证方主机168和支付网络172进行通信。用户设备110可以经由网络160或经由其他手段(例如,直接通过蓝牙或nfc)与商家服务器140、收单方主机165、开证方主机168和支付网络172进行通信。用户设备110与其他计算机系统之间的通信的示例如在下面在图5处更详细地描述的。
用户设备110可以包括浏览器客户端应用115,该浏览器客户端应用可以例如用于提供方便的界面以允许人类用户105浏览通过网络160可获得的信息。例如,在一种实施例中,可以将浏览器客户端应用115实现为被配置为查看通过互联网可获得的信息的web浏览器,所述信息诸如用于在线购物的用户账户和/或用于查看和购买商品和服务的商家站点。在此示例中,浏览器客户端应用115被配置为与作为身份存储浏览器的浏览器服务器130一起工作并且关于图2更详细地描述。简言之,此示例中的浏览器客户端应用115被配置为与浏览器服务器130一起工作以对用户身份和金融信息进行加密和存储,响应于用户105的用户认证数据而对用户身份和金融信息进行解密,并且与商家服务器140、购物车155、收单方主机165、开证方主机168和支付网络172处的应用进行通信以适当地促进交易和进行支付。在下面对此进行更详细的描述。
用户设备110还可以包括:用于执行诸如电子邮件、短信、语音之类的功能的其他应用;和允许用户105通过网络160发送和接收电子邮件、呼叫和短信的im应用;以及使得用户105能够通信、转移信息并进行支付的应用。
可以将浏览器服务器130实现为在计算机上运行的服务器应用,所述计算机例如是运行诸如linux之类的操作系统的商品服务器、或膝上型计算机等。关于图2更详细地描述浏览器服务器130。可以将浏览器客户端应用115和浏览器服务器130统称为“浏览器115、130”。
商家服务器140可以例如由提供各种产品和/或服务的商家或卖方维护。商家可以具有物理销售点(pos)店面。商家服务器140可以被用于pos及在线购买和交易。通常,商家服务器140可以由接收钱的任何人或任何实体维护,该任何人或任何实体包括慈善机构以及零售商和饭店。例如,购买交易可以是给个人的支付或礼物。商家服务器140可以包括标识可以供由用户105查看和购买的可用产品和/或服务(例如,统称为物品)的数据库。因此,商家服务器140还可以包括市场应用150,该市场应用可以被配置为通过网络160向浏览器服务器130和用户设备110的浏览器客户端应用115提供信息。在一种实施例中,人类用户105可以通过网络160经由浏览器应用与市场应用150交互,以查看数据库中标识的各种产品、食品物品或服务。例如,市场应用150可以包括使用http或其他适当的协议通过网络160在外部呈现给浏览器115、130的网站。
商家服务器140还可以包括购物车应用155,该购物车应用155可以被配置为促进用户105在线上或在实体pos或店面处购买商品或服务。购物车应用155可以被配置为通过将支付请求通过网络160传递给收单方主机165(并传递到开证方主机168和支付网络172)来从用户105或代表用户105接受支付信息。结账应用155可以被配置为通过包括现金、信用卡、借记卡、支票、汇票等的多种支付方法接收支付。
在此示例中,购物车155是和法律实体(该法律实体与商家服务器140及浏览器115、130分开)相关联的应用,并且它与商家服务器140和浏览器115、130具有预先建立的合同和技术关系。如上所述,购物车应用155可以通过将支付请求传递给收单方主机165并响应于从用户105接收到支付凭证来从用户105接收支付。然而,在此示例实施例中,购物车155和浏览器115、130在协议上达成一致,允许用户105付购买款,而不必直接键入支付信息,或者在一些示例中,而不必将用户账户数据从浏览器115、130传送到购物车应用155。例如,用户可以在使她自己被浏览器115、130认证之前或之后简单地点击支付按钮。浏览器115、130与购物车应用155之间的合同关系确保支付,同时减少安全用户数据至少在购物车应用155与浏览器115、130之间的转移。
支付网络172可以由诸如discover、visa、mastercard、americanexpress、rupay、中国银联之类的支付卡服务提供商或卡协会运营。支付卡服务提供商可以提供用于发行各种支付卡的服务、标准、规则和/或政策。还可以建立通信设备、服务器等的网络以在支付交易的不同方之间中继支付相关信息。
发行者主机168可以包括由支付卡的开证银行或发行组织运营的服务器。开证银行可以与各个商家达成协议以接受使用支付卡进行的支付。在用户已在开证银行建立了卡账户之后,开证银行可以发给用户支付卡。用户然后可以使用支付卡来在同意接受支付卡的各个商家处进行支付。在本示例中,可以由浏览器115、130安全地存储诸如账户号码、安全代码和到期日之类的关于支付卡的信息。例如,用户105可以使用浏览器115、130的图形用户界面来键入这种信息。
收单方主机165可以包括由收单银行运营的服务器。收单银行可以包括代表商家接受支付的金融机构。例如,商家可以在收单银行处建立账户以接收通过各种支付卡进行的支付。当用户将支付卡作为支付呈现给商家时,商家可以将交易提交给收单银行。收单银行可以向发卡银行验证支付卡号码、交易类型和金额并保留用户对商家的信用额度。授权会生成批准代码,商家将该批准代码与交易一起存储。
在各种实施例中,浏览器115、130可以代表用户105或商家服务器140向收单方主机165提交支付信息。例如,浏览器115、130可以向购物车应用155提供支付指示,从而向购物车应用并且向商家承诺支付,但是而不用直接向商家服务器140提供用户账户号码。在该时刻或稍后,浏览器115、130然后可以通过向收单方主机165发送消息来使得进行支付,其中该消息包括交易信息以及用户账户信息,从而使得从开证方主机168向商家进行支付。
图2是根据一种实施例的示例身份存储浏览器115、130的图示。在此示例中,浏览器客户端应用115包括用于与用户105交互的图形用户界面(gui)220。浏览器服务器130包括购物车交互模块210、加密和区块链模块214、支付服务模块216、以及客户端交互模块218。浏览器客户端应用115通过一种或多种商定的协议来与浏览器服务器130进行通信,所述协议包括用于提供本文描述的功能性的消息和/或api。浏览器服务器130包括特定地与浏览器客户端应用115进行通信的客户端交互模块218。在一个示例中,当用户105使用gui220来做出选择时,浏览器客户端应用115可以与浏览器服务器130进行通信以指示所做出的选择(例如,要进行购买的意图),并且浏览器服务器130可以将消息发送回到浏览器客户端应用115(例如,以使gui222显示要输入pin和生物计量数据的提示)。在下面的示例中对此进行进一步说明。
如以上所指出的,浏览器115、130与购物车应用155具有合同和技术关系。此示例中的购物车交互模块210通过使用商定的api和消息来遵照合同和技术关系以与购物车应用155接口连接,从而将浏览器115、130标识为已知浏览器。例如,当开始交易时,购物车交互模块210可以执行与购物车应用155的基于协议的握手操作,从而开始交易并向购物车应用155认证浏览器115、130(反之亦然)。
在一个示例用例中,浏览器115、130使用商定的握手来连接购物车应用155。握手让购物车应用155知道这是合法交易,而与底层用户的特定身份无关。握手向购物车应用155用信号通知浏览器115、130作为交易的后方保障并且任何支付指示是确实的对将被履行的支付的承诺。此外,在此示例中,实施例可以省略在浏览器115、130与购物车应用155之间传递敏感的消费者信息(例如,消费者的法律姓名和账户号码),因为可信任支付承诺,从而消除或减少将先前可能需要的这种敏感信息传递给购物车应用155的任何实用程序。这可以是优于需要并将敏感消费者信息传递给商家或购物车的当前电子交易技术的优点。
浏览器服务器130还包括加密和区块链模块214。加密和区块链模块214的功能是作为安全库,该安全库对用户的安全身份和支付信息进行加密和存储。示例包括用户的完整合法姓名、出生日期、与资金卡相关联的账户号以及资金卡的到期日和安全代码、银行账户号、以及可适用于安全存储的任何其他适当的信息。加密和区块链模块214然后可以使用来自用户的认证数据来对该数据进行加密。示例可以包括pin和指纹、虹膜扫描等。例如,pin可以被用作代码,并且生物计量数据可以包括本身也可以被用作代码的数据点。当pin和来自生物计量数据的数据点被组合,则可以用于对用户身份和支付信息进行加密。
在一个示例中,加密和区块链模块214将安全用户数据(经加密的身份和支付信息)存储在如由图7的存储驱动器717所图示的浏览器服务器130的非易失性存储器中。示例交易由图3a-3c图示。在图3a处,用户105正在访问商家网站以购买食品并与gui220交互。用户选择“添加”以选取$5.99的塔可饼。这将用户105带到图3b所示的屏幕,其指示塔可饼已被添加到购物车。用户105可以选择“结账”。当用户期望进行支付或者提供对安全用户数据的访问时,则加密和区块链模块214可以提示用户输入pin和生物计量数据。例如,图3c示出了响应于在图3b中用户105选择“结账”,浏览器客户端应用115的gui220提示用户105输入pin并在显示屏上扫描手指。当然,图3c的gui220是一种示例,并且在其他实施例中可以使用其他界面。类似地,在其他实施例中,诸如相机之类的其他生物计量扫描器可以用于捕获不同类型的生物计量数据。
一旦pin和生物计量数据被输入并被发送到浏览器服务器130,加密和区块链模块214就试图对经加密的安全用户数据进行解密。如果解密成功,则这指示来自用户的输入有效,这将作为由用户继续进行交易或者提供对安全用户数据的访问的授权。
不同的实施例可以为加密提供不同的方法和技术。例如,一些实施例可以允许实现分层安全性,该分层安全性向较敏感的数据提供较高的安全等级而向不太敏感的数据提供较低的安全等级。例如,如果仅对用户的姓名或地址(即,不太敏感的信息)做出特定访问,则加密和区块链模块214可以通过pin或生物计量信息中的一者或另一者来提供访问权限。另一方面,然后可以通过提供pin和生物计量信息两者来通过加密区块链模块214访问对诸如支付数据或出生日期之类的较敏感的数据。实际上,可以在各种实施例中实现适于不同场景的任何等级的安全性和任何安全性粒度。
在此示例实施例中,加密和区块链模块214还创建并存储区块链。例如,加密和区块链模块214可以将经加密的安全用户数据存储在第一区块中,然后随着交易被执行而将区块链的附加区块构建到该第一区块上,其中附加区块中的每一个表示相应的交易。此外,在此示例中,交易可以包括导致购买的电子交易,也可能是较简单事项(例如,第三方访问安全用户数据)。可以被存储在区块链的区块中以进行相应的交易的数据的示例包括交易id、日期和时间、购物车id、商家id、数据如何被访问的指示(例如,通过pin和生物计量)、商品或服务的标识、所使用的金融工具、以及访问用户信息的实体的id。当然,各种实施例可以将任何适当的信息存储到区块链的区块中,并且这样的信息仅仅是一个示例。
在图4中示出了根据一种实施例的示例区块链400。在此示例中,第一区块402包括经加密的安全用户数据。区块404是下一区块,并且它表示由浏览器115、130代表特定用户执行的交易。在此示例中,区块链400是许可区块链,使得它对不具有类似的合同和技术关系或者被以其他方式授权访问区块链400中的数据的实体是关闭的。例如,在此示例中,利益相关方可以为用户105、浏览器115、130、商家服务器140和购物车应用155。法律和合同关系还可以假定各方中的每一方被分配私钥和公钥对,从而允许给定利益相关方对区块链的区块签名并允许其他方验证区块的签名。
初始区块402可以包括经加密的安全用户数据,并且区块404表示交易a。具体地,在交易a中,利益相关方(例如,在交易a中使用的购物车应用)的公钥和先前交易(在这种情况下,区块402不表示交易,但是可被使用)的散列值由另一利益相关方(例如,用户105)使用私钥来签名。
类似地,在交易b中,利益相关方(例如,在交易b中使用的购物车应用)的公钥和区块404的散列值由利益相关方(例如,用户105)使用私钥来签名,以创建区块406。再次,在交易c中,利益相关方(例如,在交易c中使用的购物车)的公钥和区块406的散列值由利益相关方(例如,用户105)使用私钥来签名以创建区块408。当然,这只是一个示例,因为可以以任何适当的方式构造区块402-408,只要它符合由利益相关方之间的合同关系所定义的特定规则即可。此外,在此示例中,区块408表示到各区块的主链的侧链。在区块408中存在侧链表明一些交易可以具有多个步骤并且可能花费一些时间来完成。在本示例中,在交易c完成之前构造区块408。一旦交易c完成,就可以使区块408变成主链的永久部分。另一方面,如果交易c在完成之前被中止,则可以删除区块408。
在这种情况下,利益相关方中的任一个均可以通过检查区块链中的签名并从最新的区块(例如,区块408)向最旧的区块(例如,区块402)反向工作来执行审查(audit)。这说明了“许可”区块链的概念,其中利益相关方必须具有与区块链交互的许可,因此仅受信任或与交易相关的利益相关方才可以与区块链400交互。在此示例中,利益相关方由合同关系定义。
返回到图2,购物车交互模块210和支付服务模块216包括与商家服务器140、购物车应用155、收单方主机165和支付网络172接口连接以在交易的任何给定阶段期间促进交易的功能性。例如,当用户105选择“结账”按钮时,则购物车交互模块210向购物车应用155发送支付指示。
在此示例中,因为有支付指示就足够了,所以用户确实可以不输入任何支付信息或者向购物车应用155发送任何支付信息。支付服务模块216然后向用户的账户借记购买的金额并向购物车(或商家账户)贷记该购买的金额,从而充当支付提供商。支付服务模块216还可以将诸如用户的姓名、用户的电话号码、用户的位置之类的信息给到商家服务器140以然后促进递送或处置。
应该注意,浏览器客户端应用115与浏览器服务器130之间的功能的划分在其他实施例中可以是不同的。具体地,各种实施例可以根据任何适当的准则或应用需要或资源在客户端与服务器之间分配功能性。例如,随着手持设备处的存储、存储器、处理能力和网络带宽增加,可以在用户移动设备110处实现模块210、214、216和218中的一部分或全部。然而,在一些实施例中,与加密和区块链模块214相关联的处理和存储需要可以按有利于使至少区块链存储和处理保持在服务器中心的方式加权。
图5是根据一种实施例的用于图示交易各方之间的关系的示例信号图。在动作502处,用户105与浏览器115交互以开始交易。例如,用户选择超链接或者可以输入与商家140相关联的web地址以便开始与商家140的交易。在动作504处,浏览器115、130与商家140的市场应用交互以允许用户105查看供购买的物品和服务并标识要购买的物品。在动作506处,商家140的市场应用将所标识的物品传送到购物车应用155以开始支付过程。
在动作508处,购物车应用155和浏览器115、130执行安全握手,从而将彼此识别为可信实体。此时或在稍后的时间,浏览器115、130可以向购物车155发送“创建销售”消息。然后,在动作510处,浏览器115与用户105交互以通过移动设备的用户界面从用户接收用户认证数据。例如,用户可以使用移动设备的用户界面来输入pin并提交生物计量信息。利用该信息输入,浏览器115、130然后通过试图对被存储到计算设备的安全用户数据进行解密来对用户进行认证。在认证失败的示例中,图5的动作然后可以停止,或者可以给予用户一次或多次提供用户认证数据的尝试。
假定用户已被正确地认证,浏览器115、130然后向购物车应用155提供支付指示。支付指示可以包括任何适当的消息,例如交易本身的标识、日期和时间、以及交易的金额和消费者id。然而,各种实施例可以提供任何适当的支付指示。在此示例中值得注意的是,浏览器115、130可以省略向购物车155提供任何安全支付信息或甚至消费者的法律身份的指示。这样的实施例的优点是它可以利用购物车应用155与浏览器115、130之间的受信关系来通过避免在动作512处发送安全消费者数据来向消费者提供额外安全性。此外,购物车应用155也受到保护,因为商定的协议包括对用户105的认证和与浏览器115、130的合同关系,从而确保向购物车155的支付。
随着交易正在进行,浏览器115、130使用来自先前区块并由用户以及可能一个或多个其他利益相关方(诸如购物车应用155)签名的散列来在区块链上构建新区块。在交易完成之前,新区块可能在侧链中。一旦交易完成,就可以使新区块永久在主链上。
继续该示例,浏览器115,130然后贷记商家(或购物车155)并借记用户105。浏览器115然后可以通过许多方式中的任一种提供支付。例如,浏览器115、130可以把多个交易一起作为一批,然后立即处理它们。替代地,浏览器115、130可以连续地处理交易或在当前交易触发时处理。无论如何,可以进行支付的一个方式是浏览器115、130可以在动作514处向收单方主机165发送交易信息(例如,交易id、金额、日期和时间等)和支付信息(例如,商家id、用户105的支付信息等)。收单方主机165然后可以与开证方主机168协调,以向与商家相关联的账户进行支付。在另一实施例中,浏览器115、130可以向支付网络172发送交易和支付信息,其中支付网络172然后与收单方主机165和开证方主机168接口连接以进行支付。
图6是根据一种实施例的用于促进交易的示例方法600的图示。可以由浏览器(例如,例如浏览器115、130)并且具体地由浏览器服务器130或移动设备110的处理器随着它执行计算机代码以提供本文描述的功能性而执行方法600。
在动作602处,浏览器在交易期间与电子购物车进行通信。例如,动作602可以包括安全握手,其中浏览器和购物车应用识别彼此并且认识到它们都具有预先建立的合同和技术关系。例如,浏览器和购物车应用可以具有多个定义的api和消息,其中它们能够在握手中并进一步地在电子交易的后续动作期间使用这些定义的api和消息。此外,合同关系向购物车应用确保将进行支付并且浏览器对用户进行认证。在图5的动作508处示出了示例。
动作602还可以包括关于购物车的用户指导的动作,诸如标识供购买的物品或服务并将它们放置在购物车中。诸如以上关于图3b所描述的,还可以提示用户付交易款。然而,在此示例中,在进行支付或交易完成之前,浏览器对用户进行认证,如关于动作604、606所描述的。
在动作604处,浏览器从计算设备的用户界面接收用户认证数据。例如,在交易期间的某个时间,浏览器可以提示用户输入诸如pin、生物计量信息之类的用户认证数据以便对用户进行认证。上面关于图3a描述了一个示例。此外,如以上所指出的,可以使用分层认证,其中对于不太敏感的信息使用较少的验证,而对于较敏感的信息使用较多的验证。在图5的动作510处示出了一个示例。
在动作606处,浏览器对安全用户数据进行解密并基于用户认证数据来对用户进行认证。在一个示例实施例中,安全用户数据被存储在诸如图7的存储驱动器717(在下面进一步描述)之类的用户设备本身上并被加密。在继续该示例时,可以将经加密的用户数据存储在诸如图4的区块链400之类的区块链的区块中。
无论如何,浏览器至少部分地使用用户认证数据来对安全用户数据进行解密。例如,pin和生物计量数据可以提供可以被用作对安全用户数据进行解密和加密的密钥的数据。假定输入了有效的用户认证数据,则浏览器115、130然后将成功地对数据进行解密,从而对用户进行认证。如果用户认证数据是无效的或者被不正确地输入,则在此示例中不会发生解密,并且不会对用户进行认证。
在动作608处,浏览器响应于对用户进行认证而向电子购物车发送支付指示。如以上所讨论的,移动设备上的用户界面(例如,如在图3b中一样)可以在省略将用户账户信息输入到购物车中的同时允许用户选择支付选项。相反,各种实施例可以替代地从浏览器向购物车应用提供消息或令牌以指示将进行支付。消息或令牌可以包括任何适当的信息,例如购买价格、日期和时间、用户标识符、浏览器标识符等。这样的实施例的优点是在先的合同关系、用户验证、以及用于支付的消息或令牌的使用允许用户针对一部分或所有交易避免输入敏感的支付信息(例如,账户号)。这可以提高用户便利性以及用户安全性。此外,由于合同关系,即使未接收到用户账户号,购物车应用也可以确保支付。
在动作610处,浏览器在发送支付指示之后处理交易。例如,浏览器可以将此交易与其他交易一起作为一批用于在后面的时间处理,或者可以在任何适当的时间处理此交易。在一个示例中,动作610可以包括浏览器在浏览器的内部记录中向用户借记交易金额并向商家或购物车贷记该交易金额。在一个示例中,浏览器可以将交易和支付信息发送到诸如收单银行的金融实体以使收单银行向开证银行请求支付。上面在图5的动作514处示出了一个示例。在另一示例中,浏览器可以向诸如图1的支付网络172之类的支付网络提供支付信息以引起支付。
在动作612处,浏览器将交易记录在存储在计算设备上的区块链中。随着交易进行,浏览器可以在侧链中构建区块,并且随着交易完成,浏览器可以使该区块变成主链的永久部分。可以被存储在区块链中以表示特定交易的数据示例包括交易id、日期和时间、利益相关方的标识(购物车、商家、用户id)、数据如何被访问的指示(例如,生物计量数据加pin)、被购买的特定物品的标识、所使用的支付工具等。
实施例的范围不限于图6中描绘的动作的特定系列。相反,各种实施例可以添加、省略、重新布置或修改动作。例如,可以将用户认证的时间放置在任何适当的点,诸如在打开浏览器时、在交易开始时、在支付时或在其他适当的时间。
其他示例还可以包括审查区块链。例如,由系统认证的用户可以使用系统生成的公钥来验证区块中的签名和散列。此外,由于使用区块来存储交易数据,所以各种实施例可以包括从区块中提取数据以发送到金融实体以使资金转移,例如在图5的动作514和图6的动作610中。
图7是适合于实现例如以上讨论的图1的计算设备110、130、140、165、168和172的计算机系统700的实施例。应该领会,可以将在以上讨论的系统中利用的其他设备通过如下方式实现为计算机系统700。
依照本公开的各种实施例,诸如智能电话、计算机和/或网络服务器之类的计算机系统700包括总线702或用于传递信息的其他通信机制,其互连子系统和组件,诸如处理组件712(例如,处理器、微控制器、数字信号处理器(dsp)等)、系统存储器组件714(例如,ram)、存储驱动器组件717(例如,固态的、硬盘驱动器或光学的)、网络接口组件706(例如,无线卡、调制解调器或以太网卡)、显示组件711(例如,触摸屏、crt或lcd)、输入/输出组件704(例如,键盘、键区、触摸屏)、光标控制组件713(例如,鼠标、指针或轨迹球)和/或位置确定组件705(例如,如图示的全球定位系统(gps)设备、蜂窝塔三角测量设备和/或本领域中已知的各种其他位置确定设备)。在一个实现方式中,存储驱动器组件717可以包括具有一个或多个存储驱动器组件的数据库。
依照本公开的实施例,计算机系统700通过处理器712执行包含在存储器组件714中的一个或多个指令序列来执行具体操作,诸如本文关于以上讨论的图1-6所描述的。可以从诸如存储驱动器717的另一计算机可读介质将此类指令读入到系统存储器组件714中。在其他实施例中,可以使用硬连线电路代替软件指令或与软件指令相结合地用于实现本公开。
逻辑可以被编码在计算机可读介质中,该计算机可读介质可以是指参与向处理器712提供指令以供执行的任何有形和非暂时性介质。这样的介质可以采取许多形式,包括但不限于非易失性介质和易失性介质。在各种实现方式中,非易失性介质包括硬盘驱动器或固态驱动器,例如存储驱动器组件717,而易失性介质包括动态存储器,例如系统存储器组件714。计算机可读介质的一些常见形式包括例如软盘、柔性盘、硬盘、磁带、任何其他磁性介质、cd-rom、任何其他光学介质、打孔卡、纸带、带孔图案的任何其他物理介质、ram、prom、eprom、flash-eprom、任何其他存储器芯片或盒、或计算机被适配为从中读取的任何其他介质。
在本公开的各种实施例中,对用于实践本公开的指令序列的执行可以由计算机系统700执行。在本公开的各种其他实施例中,通过通信链路718耦合到网络160(例如,诸如lan、wlan、ptsn和/或各种其他有线或无线网络,包括电信、移动和蜂窝电话网络)的多个计算机系统700可以执行指令序列以彼此相结合地实践本公开。
计算机系统700可以通过通信链路718和网络接口组件706来传送和接收消息、数据、信息和指令,包括一个或多个程序(即,应用代码)。网络接口组件706可以包括天线,要么分开的要么集成的,以使得能够实现经由通信链路718传送和接收。接收到的程序代码可以由处理器712随着被接收和/或存储在存储驱动器组件717或某个其他非易失性存储组件中以供执行来执行。
可以使用硬件、软件或硬件和软件的组合来实现本公开。另外,在适用的情况下,在不脱离本公开的范围的情况下,可以将本文阐述的各种硬件组件和/或软件组件组合成包括软件、硬件和/或两者的复合组件。在适用的情况下,在不脱离本公开的范围的情况下,可以将本文阐述的各种硬件组件和/或软件组件分成包括软件、硬件或两者的子组件。另外,在适用的情况下,设想了可以将软件组件实现为硬件组件,并且反之亦然。
可以将依照本公开的诸如程序代码和/或数据的软件存储在一个或多个计算机可读介质上。还设想了可以使用联网和/或另外的一个或多个通用或专用计算机和/或计算机系统来实现本文标识的软件。在适用的情况下,本文描述的各个步骤的排序可以发生变化,被组合成复合步骤,和/或分成子步骤以提供本文描述的特征。
前面的公开内容不旨在将本公开限于所公开的精确形式或特定使用领域。因此,设想了无论是在本文中显式地描述还是暗示了,本公开的各种替代实施例和/或修改鉴于本公开是可能的。
在如此描述了本公开的实施例后,本领域的普通技术人员将认识到,可以在不脱离本公开的范围的情况下在形式和细节上做出变化。因此,本公开仅受到权利要求限制。