首页> 中国专利> 使用域相关安全性沙盒来促进安全交易的系统和方法

使用域相关安全性沙盒来促进安全交易的系统和方法

摘要

本发明涉及使用域相关安全性沙盒来促进安全交易的系统和方法。提供用于促进安全交易的计算机系统、方法和计算机可读介质,其中在客户端计算机上执行客户端应用。该客户端应用发起对第一域的请求,该请求包含(i)该客户端应用的凭证,(ii)唯一地标识该请求的交易标识符,以及(iii)可选地,该客户端应用的用户的标识。响应于该请求,客户端从第一域接收已验证的交易模块。客户端应用将该已验证的交易模块加载到单独的域安全性沙盒中,该单独的域安全性沙盒与客户端应用运行所在的存储空间隔离开。该已验证的交易模块执行第二域与该已验证的交易模块之间的已验证交易。单独地,通过客户端应用借助于查询第一域就交易是否已完成作出确定。

著录项

  • 公开/公告号CN104281947A

    专利类型发明专利

  • 公开/公告日2015-01-14

    原文格式PDF

  • 申请/专利权人 谷歌公司;

    申请/专利号CN201410498182.X

  • 申请日2011-05-26

  • 分类号G06Q20/34(20120101);G06Q20/40(20120101);G07F7/08(20060101);

  • 代理机构11219 中原信达知识产权代理有限责任公司;

  • 代理人周亚荣;安翔

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 03:04:46

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-01-23

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06Q20/34 变更前: 变更后: 申请日:20110526

    专利权人的姓名或者名称、地址的变更

  • 2017-09-08

    授权

    授权

  • 2015-02-11

    实质审查的生效 IPC(主分类):G06Q20/34 申请日:20110526

    实质审查的生效

  • 2015-01-14

    公开

    公开

说明书

本申请属于申请日为2011年5月26日的中国专利申请 201180030292.8的分案申请。

1.技术领域

本申请大体上涉及使用域相关安全性沙盒来促进安全交易的系统 和方法。

2.背景技术

在客户端计算机上运行的可能不安全但仍需要安全的实时交易服 务的应用的数量不断增长。此类应用的一种非限制性示例是基于 FLASH的游戏应用,其需要虚拟货币的充值以便购买如级别解锁、虚 拟装备、虚拟特殊兵器和直接对游戏玩家作弊的游戏内升级。在本领 域中,需要对此类实时交易进行安全保护,以保护用户和应用开发者 免于欺诈性帐户信息获取、身份被盗和其他形式的欺诈。

用于确保此类交易的安全的一种公知方法是使用共享密码(密钥 加密)的概念。密钥加密包括使用一个密钥。给定消息和密钥的情况 下,加密产生需要密钥才能解密的不可理解的数据。参见例如Kaufman 的“Network Security”(Prentice-Hall,Inc.,Upper Saddle River,N.J.)的 2.4节,其通过引用并入本文。但是,共享密码方法在应用之一不安全 的情况下无效。例如,许多流行编程应用通过FLASH播放器来执行并 且不安全。通常,当使用共享密钥算法时,存在调用本地Web服务器 的远程Web服务器。在远程Web服务器和本地Web服务器上密钥是安 全的,且不在这两个服务器之间传送。当应用是以FLASH或下载到客 户端计算机且例如在客户端浏览器内运行的其它程序编写的时候,这 样会失败。在FLASH的情况中,当用户请求FLASH应用时,包含由 FLASH播放器解释的字节码的SWF文件被下载到客户端计算机,并由 FLASH播放器在客户端浏览器内来运行(解释)。SWF文件中的字节 码可以在客户端计算机处被检查以确定密钥。因此,密钥不能包含在 FLASH SWF文件中。

给定上文背景下,本领域中所需要的是用于对来自可能不安全的 应用的电子交易进行认证的改进的系统和方法。

3.发明内容

本发明公开通过创新性地使用服务器跨域策略以及域相关安全性 沙盒来应对本领域中的这些需求。公开了两个实施例。在第一实施例 中,客户端应用产生对来自具有非限制性跨域策略的第一域的交易模 块的请求。一旦客户端应用接收到,则该交易模块在它自己的域相关 安全性沙盒中执行,使得该交易模块的源URL即第一域的URL被保 留。该交易模块通过与第二域交互来完成交易,该第二域具有将交互 限制于其源URL是第一域的那些程序和进程的跨域策略。

第二实施例使过程更进一步。在第二实施例中,响应于进行应用 内安全交易的需求,客户端应用产生与应用内安全交易关联的第一请 求。该第一请求通过因特网或计算机网络被发送到具有非限制性跨域 策略的第一域。响应于此请求,第一域向该客户端应用发送请求模块。 一旦客户端应用接收到该请求模块,则该请求模块在它自己的域相关 安全性沙盒(第一沙盒)中执行,使得该请求模块的源URL即第一域 的URL被保留。在第一沙盒中运行的该请求模块产生对来自第二域的 交易模块的请求,该第二域具有将交互限制于其源URL是第一域的那 些程序和进程的跨域策略。第二域向该客户端应用发送交易模块。一 旦客户端应用接收到该交易模块,则该交易模块在它自己的域相关安 全性沙盒(第二沙盒)中执行,使得该交易模块的源URL即第二域的 URL被保留。该交易模块通过与第三域交互来完成交易,该第三域具 有将交互限制于其源URL是第二域的那些程序和进程的跨域策略。

通过利用跨域策略和固有地在其自己的域相关安全性沙盒中运行 程序而调用应用无权来检查的能力,本发明公开提供用于促进安全的 应用内交易的高度安全的系统、方法和计算机可读介质。

从客户端视角而言的第一实施例。从客户端视角而言,本发明公 开的第一实施例的一种实现包括一种用于促进安全交易的计算机系 统。该计算机系统包括一个或多个处理单元和耦合到该一个或多个处 理单元的至少其中之一的存储器。该存储器存储由一个或多个处理单 元的至少其中之一执行的指令。出于说明的目的,此计算机系统可以 被视为客户端计算机,其中直接从与该计算机系统关联的本地数据存 储或从远程客户端应用服务器执行客户端应用。在该实施例中,在客 户端应用执行时,通过客户端应用生成与安全应用内交易关联的请求。 该请求包含(i)该客户端应用的凭证,(ii)唯一地标识该请求的交易 标识符,以及(iii)可选地,该客户端应用的用户的标识。通过因特网 或计算机网络将对安全应用内交易的请求提交到具有非限制性第一跨 域策略的第一域。响应于此提交,从第一域接收已验证的交易模块。 相应地,将该交易模块的源URL识别为第一域。

该客户端应用执行已验证的交易模块,使得已验证的交易模块加 载到计算机系统的存储器内的单独的域相关安全性沙盒中。该单独的 域相关安全性沙盒与客户端应用运行所在的存储器中的存储空间隔离 开。该单独的域相关安全性沙盒与将其源URL识别为第一域的程序关 联且限制于这些程序。执行已验证的交易模块,使得已验证的交易模 块的源URL的身份不被改变或破坏。此外,已验证的交易模块不授权 客户端应用来检查该已验证的交易模块。

在已验证的交易模块在单独的域相关安全性沙盒中执行时,已验 证的交易模块发出对第二域的交易调用。第二域具有第二跨域策略, 该第二跨域策略将第二域与第二域外部的程序之间的交互限制于其源 URL是第一域的那些外部程序。在第二域与已验证的交易模块之间进 行已验证的交易。

这些指令还包括与上文标识的过程中的任一个或全部并发地运行 或在上文标识的过程全部已经运行之后运行的指令。此类指令包括用 于通过客户端应用借助于查询第一域确定交易是否完成从而促进安全 交易的指令。

在一些实例中,该计算机系统还包括具有屏幕区域的显示器。在 一些此类实例中,客户端应用显示在该屏幕区域的一部分上,且已验 证的交易模块显示在该屏幕区域的该部分的子集上。这有利地给予客 户端应用的用户该应用内交易是从客户端应用内运行的无缝交易的印 象。

在一些实例中,该安全应用内交易是使用与用户的身份关联的帐 户购买游戏内升级的游戏内交易。在一些实例中,该游戏内升级是级 别解锁、购买虚拟装备、购买虚拟特殊兵器、购买作弊器或购买虚拟 货币。在一些实例中,该客户端应用是社交网络应用、金融服务应用、 记账应用或税务申报应用。

在一些实例中,第一域和第二域由同一服务器托管,该服务器可 通过因特网或计算机网络被计算机系统访问。在其他实例中,第一域 和第二域各由单独的服务器托管,并且各可通过因特网或计算机网络 被计算机系统访问。

在一些实例中,客户端应用是FLASH应用,并且已验证的交易模 块是由客户端应用加载的FLASH SWF应用。

从服务器视角而言的第一实施例。本发明公开还从服务于客户端 的一个或多个服务器的视角设想上文标识的第一实施例。例如,此服 务器视角的一个此类实现提供一种计算机系统,其包括一个或多个处 理单元和耦合到该一个或多个处理单元的至少其中之一的存储器。该 存储器存储由一个或多个处理单元的至少其中之一执行的指令。该存 储器包括由非限制性的第一跨域策略表征的第一域、由将第二域与第 二域外部的程序之间的交互限制于其源URL是第一域的那些外部程序 的第二跨域策略表征的第二域、有效应用凭证的数据库、可从第一域 和第二域读取的交易数据库和未标记的交易模块。

在一些实例中,该计算机系统包括第一计算机和第二计算机,并 且上文标识的存储器包括驻留在第一计算机中的存储器和驻留在第二 计算机中的存储器。在此类实例中,第一跨域策略、有效应用凭证的 数据库和未标记的交易模块可以驻留在第一计算机的存储器中,而第 二跨域策略可以驻留在第二计算机的存储器中。此外,在此类实施例 中,从第一计算机和第二计算机对交易数据库的访问是可能的。在一 些替代实例中,该计算机系统是单个计算机。

存储器包括用于在第一域处通过因特网或计算机网络从在客户端 计算机上运行的客户端应用接收请求的指令。该请求与安全应用内交 易关联。该请求包含(i)该客户端应用的凭证,(ii)该客户端应用的 用户的标识,(ii)唯一地标识该请求的交易标识符,以及(iii)可选地, 该客户端应用的用户的标识。该存储器包括用于根据有效应用凭证的 数据库查证客户端应用的凭证的指令。该存储器还包括用于将请求输 入(keying)到交易数据库的指令。该存储器还包括用于动态地生成已 验证的交易模块的指令。在一个实施例中,将一个或多个凭证注入到 未标记的交易模块。此类注入(安全性)方法的示例参见例如2009年 10月27日提交的序列号为12/607,005、题为“用于认证电子交易的系 统和方法”的美国专利申请,其通过引用方式全部并入本文。在本文 公开的其他实施例中,使用其他方法从提供交易模块的域获取参数且 这些参数用于验证该交易模块。

该存储器还包括用于将已验证的交易模块从第一域提供到客户端 计算机的指令。该存储器还包括用于在第二域处接收来自在客户端计 算机上执行的已验证的交易模块的交易调用的指令,其中已验证的交 易模块的源URL与第二跨域策略相符。该存储器还包括用于执行第二 域与在客户端计算机上运行的已验证的交易模块之间的已验证的交易 的指令。该存储器还包括用于在第二域处将已完成交易的记录存储在 交易数据库中的指令。

与上文提到的一些或所有过程并发地或在上文提到的过程完成之 后,运行附加的过程。这些过程包括在第一域处从在客户端计算机上 运行的客户端应用接收有关交易是否已完成的查询。该查询包含唯一 地标识请求的交易标识符。这些过程还包括在第一域处通过在交易数 据库中查找交易标识符来确定交易是否已完成。这些过程还包括响应 于该接收和确定,向在客户端计算机上运行的客户端应用通知交易的 状态。

在计算机系统分成第一服务器和第二服务器的实施例中,在第一 域处或由第一域执行的上文标识的过程由第一服务器完成,而在第二 域处或由第二域执行的上文标识的过程由第二服务器完成。本领域技 术人员将认识到第一域可以包括第一多个计算机且第二域可以包括第 二多个计算机。例如,一个服务器可以是域内的另一个服务器的镜像 站点。在另一个示例中,一个服务器可以是域内的另一个服务器的后 备服务器。在再一个示例中,一个域可以包括通过常规负载平衡技术 处理公共负载的多个服务器。本领域技术人员将认识到本发明公开充 分地设想到所有这些不同情况。

从客户端视角而言的第二实施例。此客户端视角的本发明公开的 第二实施例的一个实现包括一种计算机系统,该计算机系统包括一个 或多个处理单元和耦合到该一个或多个处理单元的至少其中之一的存 储器。该存储器存储由一个或多个处理单元的至少其中之一执行的指 令。这些指令包括用于执行客户端应用的指令,其中该客户端应用直 接从本地数据存储执行或从远程客户端应用服务器执行。这些指令包 括用于通过客户端应用在客户端应用执行时生成与安全应用内交易关 联的第一请求的指令。这些指令包括用于通过因特网或计算机网络将 对安全应用内交易的第一请求提交到具有非限制性第一跨域策略的第 一域的指令。这些指令还包括用于响应于此提交接收请求模块的指令, 其中将该请求模块的源URL识别为第一域。

这些指令还包括用于促使客户端应用执行该请求模块使得该请求 模块被加载到存储器内的第一域相关安全性沙盒中的指令。该第一域 相关安全性沙盒与客户端应用运行所在的存储器中的存储空间隔离 开。该第一域相关安全性沙盒与将其源URL识别为第一域的程序关联 且限制于这些程序。执行该请求模块,使得该请求模块的源URL的身 份不被改变或破坏。该请求模块不授权客户端应用来检查该请求模块。

这些指令包括用于通过该请求模块在请求应用执行时生成与安全 应用内交易关联的第二请求的指令。该第二请求包含(i)该客户端应 用的凭证,(ii)唯一地标识该第二请求的交易标识符,以及(iii)可选 地,该客户端应用的用户的标识。这些指令还包括用于通过因特网或 计算机网络将对安全应用内交易的第二请求提交到第二域的指令,该 第二域具有将第二域与第二域外部的程序之间的交互限制于其源URL 是第一域的那些外部程序的第二跨域策略。这些指令还包括用于响应 于该提交而从第二域接收交易模块的指令,其中将该交易模块的源 URL识别为第二域;

这些指令还包括用于促使客户端应用执行该交易模块使得该交易 模块被加载到存储器内的第二域相关安全性沙盒中的指令。该第二域 相关安全性沙盒与客户端应用运行所在的存储器中的存储空间隔离 开,该第二域相关安全性沙盒与将其源URL识别为第二域的程序关联 且限制于这些程序。通过促使执行该交易模块,使得该交易模块的源 URL的身份不被改变或破坏。该交易模块不授权客户端应用来检查该 已验证的交易模块;

这些指令还包括用于在该交易模块在第二域相关安全性沙盒中执 行时从该交易模块发出对第三域的交易调用的指令。第三域具有将第 三域与第三域外部的程序之间的交互限制于其源URL是第二域的那些 外部程序的跨域策略。这些指令包括用于执行第三域与交易模块之间 的已验证的交易的指令。

这些指令还包括与上文标识的过程中的任一个或全部并发地或在 上文标识的过程全部已经运行之后运行的指令。此类指令包括用于通 过客户端应用借助于查询第一域来确定交易是否完成从而促进安全交 易的指令。

在一些实例中,该计算机系统还包括具有屏幕区域的显示器,其 中当客户端应用执行时,客户端应用显示在该屏幕区域的一部分上。 在此类实例中,将已验证的交易模块显示在该屏幕区域的该部分的子 集上。

在一些实例中,该安全应用内交易是使用与用户的身份关联的帐 户购买游戏内升级的游戏内交易。在一些实例中,该游戏内升级是级 别解锁、购买虚拟装备、购买虚拟特殊兵器、购买作弊器或购买虚拟 货币。在一些实例中,该客户端应用是社交网络应用、金融服务应用、 记账应用或税务申报应用。

在一些实例中,第一域、第二域和第三域各由同一服务器托管, 该服务器可通过因特网或计算机网络被计算机系统访问。在一些实例 中,第一域、第二域和第三域各由单独的服务器托管,并且各可通过 因特网或计算机网络被该计算机系统访问。在一些实例中,客户端应 用是FLASH应用,并且已验证的交易模块是由客户端应用加载的 FLASH SWF应用。

从服务器视角而言的第二实施例。本发明公开还设想从服务于客 户端的一个或多个服务器的视角而言的上文标识的第二实施例。例如, 此服务器视角的一种此类实现提供一种用于促进安全交易的计算机系 统。该计算机系统包括一个或多个处理单元和耦合到该一个或多个处 理单元的至少其中之一的存储器。该存储器存储由一个或多个处理单 元的至少其中之一执行的指令。

该存储器包括第一域、第二域和第三域,其中第一域表征为非限 制性的第一跨域策略,第二域表征为第二跨域策略,该第二跨域策略 将第二域与第二域外部的程序之间的交互限制于其源URL是第一域的 那些程序,第三域表征为第三跨域策略,该第三跨域策略将第三域与 第三域外部的程序之间的交互限制于其源URL是第二域的那些外部程 序。该存储器还包括有效应用凭证的数据库、可从第一域、第二域和 第三域读取的交易数据库、未标记交易模块和请求模块。

在一些实例中,该计算机系统包括第一、第二和第三计算机并且 上文标识的存储器包括驻留在第一计算机中的存储器、驻留在第二计 算机中的存储器和驻留在第三计算机中的存储器。在此类实例中,第 一跨域策略和请求模块可以驻留在第一计算机的存储器中。第二跨域 策略、有效应用凭证的数据库和未标记的交易模块可以驻留在第二计 算机的存储器中。第三跨域策略可以驻留在第二计算机的存储器中。 此外,在此类实施例中,从第一计算机、第二计算机和第三计算机对 交易数据库的访问是可能的。在一些替代实例中,该计算机系统是单 个计算机。

该存储器包括用于在第一域处通过因特网或计算机网络从在客户 端计算机上运行的客户端应用接收第一请求的指令,其中该第一请求 与安全应用内交易关联。该存储器还包括用于将请求模块从第一域提 供到客户端计算机的指令。该存储器包括用于在第二域处通过因特网 或计算机网络从在客户端计算机上运行的请求模块接收第二请求的指 令,其中该第二请求与安全应用内交易关联并且其中该第二请求包含 (i)该客户端应用的凭证,(ii)唯一地标识该请求的交易标识符,以 及(iii)可选地,该客户端应用的用户的标识。在此类实例中,该请求 模块的源URL与第二跨域策略相符。

该存储器还包括用于根据有效应用凭证的数据库查证客户端应用 的凭证的指令。该存储器还包括用于将第二请求输入(keying)到交易 数据库的指令。该存储器还包括用于动态地生成已验证的交易模块的 指令。例如,在一些实施例中,通过将一个或多个凭证注入到未标记 的交易模块中来生成已验证的交易。此类注入(安全性)方法的示例 参见例如2009年10月27日提交的序列号为12/607,005、标题为“用 于认证电子交易的系统和方法”的美国专利申请,其通过引用方式全 部并入本文。在本文公开的其他实施例中,使用其他方法从提供交易 模块的域获取参数并且这些参数用于验证该交易模块。该存储器还包 括用于将已验证的交易模块从第二域提供到客户端计算机的指令。该 存储器还包括用于在第三域处接收来自在客户端计算机上执行的已验 证的交易模块的交易调用的指令,其中该已验证的交易模块的源URL 与第三跨域策略相符。该存储器还包括用于执行第三域与在客户端计 算机上运行的已验证的交易模块之间的已验证的交易的指令。该存储 器还包括用于在第三域处将已完成交易的记录存储在交易数据库中的 指令。

与上文提到的一些或所有过程的并发地或在上文提到的过程完成 之后,运行附加的过程。这些过程包括在第一域处从在客户端计算机 上运行的客户端应用接收有关交易是否已完成的查询。该查询包含唯 一地标识请求的交易标识符。这些过程还包括在第一域处通过在交易 数据库中查找交易标识符来确定交易是否已完成。这些过程还包括响 应于该接收和确定,向在客户端计算机上运行的客户端应用通知交易 的状态。

在一些实例中,该安全应用内交易是使用与用户的身份关联的帐 户购买游戏内升级的游戏内交易。在一些实例中,该游戏内升级是级 别解锁、购买虚拟装备、购买虚拟特殊兵器、购买作弊器或购买虚拟 货币。在一些实例中,该客户端应用是社交网络应用、金融服务应用、 记账应用或税务申报应用。

在一些实例中,第一域、第二域和第三域由同一服务器托管,该 服务器可通过因特网或计算机网络被客户端计算机访问。

在一些实例中,第一域由第一服务器托管、第二域由第二服务器 托管,且第三域由第三服务器托管。第一、第二和第三服务器各可通 过因特网或计算机网络被客户端计算机访问。在一些此类实例中,上 文标识的存储器包括驻留在第一服务器中的第一存储器、驻留在第二 服务器中的第二存储器和驻留在第三服务器中的第三存储器。在一些 此类实例中,第一跨域策略和请求模块驻留在第一服务器的第一存储 器中。在一些此类实例中,第二跨域策略、有效应用凭证的数据库和 未标记的交易模块驻留在第二服务器的第二存储器中。在一些此类实 例中,第三跨域策略驻留在第三服务器的存储器中。

在一些实施例中,客户端应用是FLASH应用,并且其中已验证的 交易模块是FLASH SWF应用。

在计算机系统分成第一服务器、第二服务器和第三服务器的实施 例中,在第一域处或由第一域执行的上文标识的过程由第一服务器完 成,在第二域处或由第二域执行的上文标识的过程由第二服务器完成, 且第三域处或由第三域执行的上文标识的过程由第三服务器完成。本 领域技术人员将认识到第一域可以包括第一多个计算机,第二域可以 包括第二多个计算机,且第三域可以包括第三多个计算机。例如,一 个服务器可以是域内的另一个服务器的镜像站点。在另一个示例中, 一个服务器可以是域内的另一个服务器的后备服务器。在再一个示例 中,一个域可以包括通过常规负载平衡技术处理公共负载的多个服务 器。本领域技术人员将认识到本发明公开充分地设想到所有这些不同 情况。

4.附图说明

图1图示根据本发明公开的第一实施例的系统。

图2A和图2B图示根据本发明公开的第一实施例的方法。

图3A和图3B图示根据本发明公开的第二实施例的系统。

图4A和图4B图示根据本发明公开的第二实施例的方法。

在这些附图的多个视图中,相同的参考数字指代对应的部分。

5.具体实施方式

本发明公开详细描述了在已知的用于认证通过可能不安全的应用 通信的电子交易的系统和方法基础之上的新颖改进。本发明公开利用 服务器跨域策略以及域相关安全性沙盒。公开了两个实施例。在图1 和图2所示的第一实施例中,客户端应用34产生对来自第一域180的 交易模块38的请求,第一域180具有非限制性跨域策略138。一旦客 户端应用34接收到该交易模块38,则该交易模块38在它自己的域相 关安全性沙盒中执行,使得该交易模块的源URL即第一域180的URL 被保留。交易模块38通过与第二域200交互来完成交易,第二域200 具有将交互限制于其源URL是第一域180的那些程序或进程的跨域策 略236。

图3和图4图示的第二实施例使过程更进一步。在第二实施例中, 响应于进行应用内安全交易的需求,客户端应用34B产生与应用内安 全交易关联的第一请求。该第一请求通过因特网或计算机网络302被 发送到具有非限制性跨域策略336的第一域300(图3B)。响应于此请 求,第一域300向客户端应用34B发送请求模块36。一旦客户端应用 34B接收到请求模块36,则请求模块36在其自己的域相关安全性沙盒 (第一沙盒)中执行,使得请求模块36的源URL即第一域300的URL 被保留。在第一沙盒中运行的请求模块36产生对第二域180B的交易 模块38的请求,第二域180B具有将交互限制于其源URL是第一域300 的那些程序或进程的跨域策略138B。

在一些实施例中,当从客户端应用34B接收到对交易模块的请求 时,第二域180B将安全性信息注入到交易模块136的未标记版本中, 从而形成安全的交易模块38,并向客户端应用34B发送安全的交易模 块38。一旦客户端应用34B接收到安全的交易模块38,则交易模块38 在其自己的域相关安全性沙盒(第二沙盒)中执行,使得安全的交易 模块38的源URL即第二域的URL被保留。交易模块38通过与第三 域200交互来完成交易,第三域200具有将交互限制于其源URL是第 二域180的那些程序或进程的跨域策略236。

在一些实施例中,第二域180B提供交易模块136的未标记版本, 而不修改交易模块136的内容。换言之,在一些实施例中,不一定将 凭证注入到交易模块136的未标记版本来形成安全的交易模块38。在 此类实施例中,一旦请求模块36接收到未标记交易模块136,则它能 够利用第二域180B提供的参数验证交易模块136。以此方式,请求模 块36能够验证交易模块136(从而使交易模块136能够被认为是交易 模块38而不将参数注入到交易模块136中)。然后,在交易模块38其 自己的域相关安全性沙盒(第二沙盒)中执行,使得安全的交易模块 38的源URL即第二域180B的URL被保留。交易模块38通过与第三 域200交互来完成交易,第三域200具有将交互限制于其源URL是第 二域180B的那些程序或进程的跨域策略236。

通过利用跨域策略和固有地在其(程序)自己的域相关安全性沙 盒中运行程序而调用应用无权检查的能力,本发明公开提供用于促进 安全应用内交易的高度安全的系统、方法和计算机可读介质。

现在已公开用于执行安全应用内交易的新颖系统和方法的概述, 结合图1描述根据本发明公开的第一实施例的系统的更详细描述。因 此,图1图示根据本发明公开的环境的拓扑。

在该拓扑中,有安全接口服务器180、客户端装置100和交易服 务器200。当然,其他拓扑也是可能的,例如安全接口服务器180可以 实际上包括若干个服务器。此外,通常有数百、数千、数十万个或更 多个客户端装置100。图1所示的示范拓扑仅用于以本领域技术人员将 容易理解的方式描述本发明公开的第一实施例的特征。

安全接口服务器180将通常具有一个或多个处理单元(CPU)102、 网络或其他通信接口110、存储器114、一个或多个控制器118可选地 访问的一个或多个磁盘存储和/或永久装置120、用于将前述组件互连 的一个或多个通信总线112和用于对前述组件供电的电源124。可以使 用如高速缓存的公知计算技术与非易失性存储器120无缝地共享存储 器114中的数据。存储器114和/或存储器120可以包括相对于中央处 理单元102位于远程位置的海量存储装置。换言之,存储器114和/或 存储器120中存储的一些数据实际可以托管在安全接口服务器180外 部但是能够被安全接口服务器180通过因特网、内联网或其他形式的 网络或电缆(如图1中元件126所示)使用网络接口110以电子方式 访问的计算机上。

存储器114优选地存储:

●操作系统130,其包括用于处理各种基本系统服务和用于执 行硬件相关任务的过程;

●网络通信模块132,其用于经由一个或多个通信网络(如因 特网、其他广域网、局域网(例如无线局域网可以将客户端装置100 连接到安全接口服务器180)、城域网等)将安全接口服务器180连接 到如客户端装置100(图1)的各种客户端计算机以及可能地连接到其 他服务器或计算机(例如,交易服务器200);

●交易模块服务应用134,其用于接收来自客户端计算机的请 求;

●未标记交易模块136,其用于在用户请求时向客户端装置100 分发;

●跨域策略138,其指定安全接口服务器180可以与哪些计算 机/域交互;

●交易数据库140/240,其用于存储安全应用内交易的记录; 以及

●有效应用凭证的数据库142。

安全接口服务器180经由因特网/网络126连接到一个或多个客户 端装置100。图1图示至仅一个此类客户端装置100的连接。客户端装 置100可能是个人计算机(例如,桌上型或膝上型计算机)或任何形 式的移动计算装置(例如,I-phone、Blackberry等)。

在典型的实施例中,客户端装置100包括:

●一个或多个处理单元(CPU)2;

●网络或其他通信接口10;

●存储器14;

●可选地,一个或多个可选控制器18访问的一个或多个磁盘 存储和/或永久性存储装置20;

●用户接口4,用户接口4包括显示器6和键盘或小键盘8;

●一个或多个通信总线12,其用于将前述组件互连;以及

●电源24,其用于对前述组件供电,电源可以是例如电池。

在一些实施例中,可以使用如高速缓存的公知计算技术与可选的 非易失性存储器20无缝地共享存储器14中的数据。在一些实施例中, 客户端装置100没有磁盘存储装置。例如,在一些实施例中,客户端 装置100是便携式手持计算装置,且网络接口10通过无线方式与因特 网/网络126通信。

存储器14优选地存储:

●操作系统30,其包括用于处理各种基本系统服务和用于执行 硬件相关任务的过程;

●网络通信模块32,其用于将客户端装置100连接到如安全接 口服务器180和交易服务器200的其他计算机,在一些实施例中,网 络通信模块32包括可选的Web浏览器,如Microsoft Internet Explorer 第6.0版本或更新版本、Firefox 2.x、Firefox 3.x、AOL 9、Opera 9.5或 更新版本、Safari 3.x、Chrome 2.0或更高版本,并且在一些实施例中, 该可选Web浏览器包括如FLASH播放器的模块;

●客户端应用36,其能够请求应用内交易且能够查证应用内交 易已完成;

●请求模块36,其用于发起应用内交易;以及

●交易模块38,其用于执行应用内交易。

交易服务器200将通常具有一个或多个处理单元(CPU)202、网 络或其他通信接口210、存储器214、一个或多个可选控制器218可选 地访问的一个或多个磁盘存储和/或非易失性装置220、用于将前述组 件互连的一个或多个通信总线212和用于对前述组件供电的电源224。 可以使用如高速缓存的公知计算技术与非易失性存储器220无缝地共 享存储器214中的数据。存储器214和/或存储器220可以包括相对于 中央处理单元202处于远程位置的海量存储装置。换言之,存储器214 和/或存储器220中存储的一些数据可实际上托管在交易服务器200外 部但是能够被交易服务器200通过因特网、内联网或其他形式的网络 或电缆(如图1中元件126所示)使用网络接口210以电子方式访问 的计算机上。

存储器214优选地存储:

●操作系统230,其包括用于处理各种基本系统服务和用于执 行硬件相关任务的过程;

●网络通信模块232,其用于经由一个或多个通信网络(如因 特网、其他广域网、局域网(例如,无线局域网能够将客户端装置100 连接到安全接口服务器180)、城域网等)将交易服务器200连接到各 种客户端计算机(如客户端装置100(图1))以及可能地连接到其他 服务器或计算机(如安全接口服务器180);

●交易模块234,其用于查证来自在客户端装置100上运行的 交易模块38的请求的有效性;

●跨域策略236,其指定交易服务器200可以与哪些计算机/ 域交互;

●应用编程接口“API”238,其用于执行与在客户端装置100 上运行的交易模块38的应用内交易;以及

●交易数据库140/240,其用于存储安全应用内交易的状态。

参考图2,描述了根据本发明公开的第一实施例的示范方法。该 方法详述根据本发明公开的安全接口服务器180、客户端装置100和交 易服务器200交互地服务于交易时所采取的步骤。

步骤202。在步骤202中,客户端装置100运行来自本地数据存 储(例如,图1的存储器14或存储器20)的客户端应用34或通过因 特网或计算机网络获取并运行来自远程应用服务器(未示出)的客户 端应用34。在一些实例中,客户端应用34是社交网络应用(例如, FACEBOOK、MYSPACE)、金融服务应用、记账应用或税务申报应用。

步骤204。在客户端应用34在客户端装置100上运行时的某个时 间点,客户端应用34调用请求模块36以产生对安全应用内交易的请 求。在一些实例中,该安全应用内交易是使用与客户端应用的用户的 身份关联的帐户购买游戏内升级的游戏内交易。游戏内升级的示例包 括但不限于级别解锁、购买虚拟装备、购买虚拟特殊兵器、购买作弊 器或购买虚拟货币。

通常,该安全应用内请求包含应用凭证、标识客户端应用34用户 的信息和唯一交易标识符。该应用凭证是标识应用开发者的与客户端 应用34关联的凭证。例如,在一些实施例中,客户端应用34是游戏 应用且应用凭证标识游戏应用开发者。可以使用应用凭证来确定为应 用内交易向谁付款。例如,如果应用内交易涉及客户端应用34用户的 资金支付,则该应用凭证用于识别将这些资金付给谁。通常,应用凭 证用于来标识该应用内交易的甲方。相似地,标识客户端应用34用户 的信息可以用于确定该应用内交易的乙方。例如,通常乙方是期望执 行由客户端应用34托管的安全应用内交易以便促进在完成应用内交易 的情况下变得可能的目标(例如,附加的游戏级别、更多用户特征等) 的客户端应用34的用户。唯一交易标识符用于跟踪应用内交易的状态。 在典型实施例中,应用凭证、标识客户端应用34的用户的信息和唯一 交易标识符的格式根据安全接口服务器180和/或交易服务器200的需 求来预先确定。例如,应用凭证可以是提供给应用开发者供在所有应 用内交易中使用的序列号。此外,标识客户端应用34的用户的信息可 以是在用户创建针对应用开发者的帐户时和/或用户创建针对安全接口 服务器180或交易服务器200的帐户时和/或应用开发者将用户与安全 接口服务器180或交易服务器200一起注册时创建的唯一地与用户关 联的注册信息。不管如何实现,标识客户端应用34的用户的信息向安 全接口服务器180和/或交易服务器200唯一地标识用户。相似地,在 优选实施例中,唯一交易标识符唯一地标识由客户端应用34的用户执 行的单个应用内交易。

因此,概括地来说,当步骤204完成时,存在通过客户端应用34 和关联的请求模块36在客户端应用34在客户端装置100上执行时生 成的与安全应用内交易关联的请求,其中该请求包含(i)该客户端应 用的凭证,(ii)该客户端应用的用户的标识,以及(iii)唯一地标识该 请求的交易标识符。通过因特网或计算机网络将对安全应用内交易的 该请求提交到具有非限制性第一跨域策略138的安全接口服务器180 (第一域)。

步骤206。在步骤206中,交易模块服务应用134通过因特网或 计算机网络接收对安全应用内交易的请求,交易模块服务应用134运 行于安全接口服务器180上,该请求附带标识应用用户的信息、唯一 交易标识符和应用凭证。在一些实施例中,在步骤206接收的请求不 包含用户的身份。在此类实施例中,用户的身份仅由交易模块38传送 到交易服务器200的交易服务器模块234。

步骤208。在步骤208中,根据有效应用凭证的数据库142查证 客户端应用34的应用凭证。在一些实施例中,有效应用凭证的数据库 142包含可以使用安全接口服务器180和交易服务器200来执行安全交 易的每个合法的应用开发者的标识。

步骤210。如果在步骤206中随接收的应用请求提供的应用凭证 未通过查证210-否,意味着有效应用凭证的数据库142中不存在该应 用凭证或该数据库指示该凭证是无效的或未激活,则交易结束212。在 未示出的一些实施例中,向客户端应用34通知此失败。在未示出的一 些实施例中,向应用开发者通知此失败。如果在步骤206中随接收的 应用请求提供的应用凭证通过查证210-是,意味着有效应用凭证的数 据库142中存在该应用凭证,则过程控制传递到步骤214。

步骤214。在步骤214中,将请求输入到交易数据库140/240中。 在一些实施例中,这包括将唯一项添加到交易数据库140/240中以对应 于该披露的一个交易。在请求包含客户端应用34用户的身份的一些实 施例中,将交易项添加到与此用户关联的帐户。在步骤214中不执行 交易。例如,在步骤214期间对于在交易中标识的用户不会进行任何 金额的贷记或借记。如果实在要发生的话,此类借记或贷记在公开的 方法中的稍后阶段发生。交易数据库140/240可被安全接口服务器180 和交易服务器200访问。在一些实施例中,安全接口服务器180和交 易服务器200是不同的服务器。在一些实施例中,安全接口服务器180 和交易服务器200是具有单独的跨域策略和域的同一服务器。

步骤216。在步骤216中,交易模块服务应用134利用建立用于 所请求的交易的交易模块的有效性的足够信息动态地标记未标记的交 易模块(例如,采用SWF文件格式)136,并将已标记的交易模块发 送到客户端装置100作为交易模块38。在一些实施例中,这通过使交 易模块服务应用134通过将一个或多个凭证注入到未标记的交易模块 136来动态地生成已验证的交易模块38来实现。此类注入(安全性) 方法的示例参见例如2009年10月27日提交的序列号为12/607,005、 标题为“用于认证电子交易的系统和方法”的美国专利申请,其通过 引用方式全部并入本文。

在一些实施例中,第二域180将安全交易模块38提供到客户端装 置100上的请求模块36和/或客户端应用34而不修改未标记的交易模 块136的内容。在一些此类实施例中,通过提供未标记的交易模块136 连同未标记的交易模块136外部的用于验证该交易模块的参数来服务 于从客户端装置100发送到安全接口服务器180的对交易模块的请求。 请求模块36能够验证交易模块136(从而使交易模块136能够被认为 是交易模块38而不将参数注入到交易模块136中)。在一些实施例中, 注入到交易模块38中或作为交易模块外部的一个或多个参数来提供的 凭证是用户标识符密钥。在一些实施例中,应用用户标识符密钥与来 自客户端装置100的、在步骤206中接收的请求一起提供。在一些实 施例中,应用用户标识符密钥与用户拥有的针对应用开发者的帐户关 联,并且此帐户由安全接口服务器180和交易服务器200来提供服务。 在一些实施例中,应用用户标识符密钥由如FACEBOOK或MYSPACE 的第三方来提供。

在一些实施例中,注入到交易模块38中或作为交易模块外部的一 个或多个参数来提供的凭证是基于基准时间的调和(salting)值146。 在一些实施例中,此调和值是与请求关联的协调世界时(UTC)。例如, 调和值146可以是步骤202、步骤204、步骤206、步骤208、步骤210、 步骤214或步骤216的执行期间的某个时间(例如,在步骤开始、结 束或执行过程中的某个时间时)的UTC或客户端装置100产生或安全 接口服务器180接收到请求时的时间的某个其他预定函数。UTC是基 于国际原子时间(TAI)的时间标准,其具有以不规则时间间隔加入的 闰秒来补偿地球正在减慢的旋转。使用闰秒以使UTC能够紧密地跟踪 UT1,UT1是格林威治皇家天文台处的平均太阳时间。在一些实施例中, 调和值146是UTC和某个时间增量(如1个小时、8个小时、12个小 时等)的整除。

在一些实施例中,注入到交易模块38中或作为交易模块外部的一 个或多个参数来提供的凭证是由安全接口服务器180和交易服务器200 所共享的秘密密钥。秘密密钥148的一个特征在于,它不会通过因特 网/网络126被传送,并且仅应用开发者、交易服务器200的主机和安 全接口服务器180的主机知道其身份。参见例如Kaufman的“Network  Security”(Prentice-Hall,Inc.,Upper Saddle River,N.J.)的2.4节,其通 过引用方式并入本文。

在一些实施例中,注入到交易模块38中或作为交易模块外部的一 个或多个参数来提供的凭证是与在步骤206接收的请求一起提供的应 用用户标识符。在一些实施例中,将前述凭证的任何组合注入到交易 模块38中,然后才将其发送到客户端应用34或作为交易模块外部的 一个或多个参数来提供。在一些实施例中,使用前述凭证的任何组合 来生成临时签名密钥。例如,在一些实施例中,将这些凭证一起截断 或以其他方式组合,然后将其单向散列处理以生成签名密钥,该签名 密钥被注入到交易模块38中,以代替注入前述凭证和/或提供交易模块 外部的凭证或另外还注入前述凭证和/或提供交易模块外部的凭证。在 一些实施例中,除了前述凭证外或替代前述凭证,将其他凭证注入到 交易模块38中。

步骤218。在步骤218中,客户端应用34在与将安全接口服务器 180识别为其源URL的程序关联并限制于这些程序的单独的域相关安 全性沙盒中执行交易模块38。例如,在一些实施例中,客户端应用34 是FLASH程序,并且交易模块38采用由客户端应用34在步骤218期 间加载并执行的SWF文件的形式。在此类实施例中,客户端应用34 查询交易模块38以确定其源URL。在本实例中,交易模块38的源URL 是安全接口服务器180的URL。因此,客户端应用34在专用于来自安 全接口服务器180的域中的程序的域相关安全性沙盒中加载并执行交 易模块38。换言之,在步骤218期间,客户端应用34执行已验证的交 易模块38,使得该已验证的交易模块被加载到存储器内的单独的域相 关安全性沙盒中,其中(i)该单独的域相关安全性沙盒与客户端应用 运行所在的所述存储器中的存储空间隔离开,(ii)该单独的域相关安 全性沙盒与将其源URL识别为安全接口服务器180的域的程序关联且 限制于这些程序,(iii)由客户端应用34执行已验证的交易模块38, 使得已验证的交易模块38的源URL的身份不被改变或破坏,并且(iv) 已验证的交易模块38不授权客户端应用34来检查已验证的交易模块 38。因此,有利地,即使被客户端应用34加载,交易模块38仍能够 以安全方式在客户端装置100上运行。客户端应用34不能检查交易模 块38。换言之,客户端应用34不能读取由交易模块38存储的任何值。 这是非常有利的,因为客户端应用的用户能够将敏感信息输入到交易 模块38中而不会存在让客户端应用34获得此类敏感信息的任何风险。

步骤220。在步骤220中,在交易模块38在单独的域相关安全性 沙盒中执行时,交易模块38发出交易调用。交易调用被发送到第二域, 即交易服务器200的域。交易服务器200具有第二跨域策略236,第二 跨域策略236将交易服务器200与交易服务器200(第二域)外部的程 序之间的交互限制于其源URL是安全接口服务器180(第一域)的URL 的那些外部程序。

步骤222和224。在步骤222中,就调用交易模块38是否将安全 接口服务器180指定为其源URL作出确定。如上文的步骤220中所述, 这是用于与交易服务器200交互的必要条件,因为交易服务器200的 跨域策略236将外部交互限制于仅其源URL是安全接口服务器180的 URL的那些程序。因为交易模块38由安全接口服务器180向客户端装 置100提供服务,并以保留交易模块38的源URL的方式被客户端应 用34加载,所以交易模块38应该满足条件222(222-是),并由此过 程控制应该移到步骤226。如果客户端应用34尝试以不保留交易模块 38的源URL的方式加载交易模块38(例如通过使用FLASH loadBytes 调用),则条件222将不会被满足(222-否),并且过程控制将进行到步 骤224,在步骤224交易将失败。在此类实例中,交易的记录将从交易 数据库140/240中被移除。

步骤226。如果过程控制到达步骤226,则在交易服务器200上运 行的交易服务器模块234允许API 238与交易模块38交互,以便执行 请求的交易。在一些实施例中,在交易开始之前采取附加的安全措施。 在2009年10月27日提交的序列号为12/607,005、标题为“用于认证 电子交易的系统和方法”的美国专利申请中公开了此类安全措施的示 例,该申请据此通过引用方式全部并入本文。参见例如该美国专利申 请(序列号为12/607,005)中公开的步骤214至218。

步骤228。在步骤228中,用户使用交易模块38和API 238来执 行交易。在此交易期间,用户可以输入金融信息或其他形式的信息, 如信用卡(贷记卡)信息、借记卡信息、ATM信息(例如,个人识别 号)、PAYPAL帐户信息、自动清算所(ACH)转账信息、银行业务信 息、账单地址信息、邮寄地址信息、个人信息(例如,社保号码、生 日、个人问题的答案等)、优惠券信息、折扣信息、会员信息、订阅信 息、登录信息、密码信息、安全令牌(例如,RSA挑战号码)等。有 利地,因为交易模块38在客户端装置100上其自己的域相关安全性沙 盒中运行,所以客户端应用34和请求模块36无法获得用户在步骤228 中输入的信息。

步骤230。用户在步骤228中输入的信息由API 238处理以便向用 户贷记或借记。将认识到,步骤228和230可以重复执行多次,以便 完成交易。例如,API 238可以发出向用户的一个或多个挑战或请求。 用户使用交易模块38输入此信息。如果用户输入了正确的挑战信息, 则API 238通过从用户请求更多信息来进行到交易的后续阶段。此外, 使用指定给交易的唯一交易标识符将交易的状态存储在交易数据库 140/240中。注意,在典型实施例中,交易服务器200和安全接口服务 器180均有权访问交易数据库140/240。在步骤230期间,交易服务器 200记录交易的状态(例如,已完成、已失败、贷记金额、借记金额等) 时,安全接口服务器180在步骤214使用指定给交易的唯一交易标识 符来创建对应于该交易的项。

步骤232-234。在优选实施例中,将API 238的实例用于单个交易。 因此,在此类优选实施例中,用于促进交易的API 238的实例终止。在 其他实施例中,API 238是跨多个交易永久性的。无论使用哪种形式的 实施例,交易服务器模块234均不再将它在步骤226和步骤230中交 互的对象即交易模块38的实例视为有效的。这样有利地增强了所公开 的系统和方法的安全性,因为在更差的情况下,交易模块38只能用于 单个用户进行单个的唯一交易。在步骤234中,交易模块38被终止。

步骤236-242。如上文提到的,交易模块38在客户端装置100上 的其自己的域相关安全性沙盒中运行,并且交易模块38不授权客户端 应用34来检查。因此,客户端应用34不直接从交易模块38来查明应 用内交易是否已完成,更不用说查明应用内交易是否已成功完成了, 使得用户将被赋予与应用内交易关联的任何特权(例如,更多游戏点 数等)。因此,与前文提到的步骤的其中一些或全部并发地或在所有前 文提到的步骤已完成之后,客户端应用34使用安全接口服务器180轮 询交易数据库140/240以确定交易的状态。要认识到,虽然安全接口服 务器180和交易服务器200均有权访问交易数据库140/240,但是安全 接口服务器180具有宽容性跨域策略138,而交易服务器200具有限制 性跨域策略236。因此,除非客户端应用34的源URL是安全接口服务 器180的URL,否则客户端应用34将无法直接与交易服务器200交互。 因此,客户端应用34将无法使用交易服务器200轮询交易数据库 140/240。

在典型实施例中,客户端应用34定期(例如,每分钟、每五分钟、 每半小时等)轮询安全接口服务器180上的交易数据库140/240,直到 交易数据库140/240指示交易完成为止。在典型实施例中,此查询非常 有限。在典型实施例中,客户端应用34提供唯一交易标识符和应用凭 证。如果根据有效应用凭证的数据库142该应用凭证是有效的,则通 过因特网或计算机网络将与客户端应用34提供的交易标识符唯一地关 联的交易的状态发送回在客户端上运行的客户端应用34。在典型实施 例中,客户端应用34不被允许从交易数据库140/240获取个人信息。

现在已公开与第一实施例的实例关联的处理步骤的细节,可以强 调本申请的优点。可以使用客户端应用来执行安全交易,其中客户端 应用无法获知执行交易所需的安全信息。尽管如此,客户端应用使用 交易的唯一交易标识符能够确定交易是否成功。由此,使用所公开的 系统,客户端应用能够以安全的方式支持应用内交易,而无需建立公 开的安全平台(例如,安全因特网服务器180和交易服务器200)。例 如,安全平台可由单独的实体来运行。这减少了开发客户端应用的成 本。

交易内用户界面。在一些实施例中,通过创建由客户端应用34控 制交易模块38的外观来增强应用内交易的观感和体验。在一些实施例 中,这通过与请求模块36关联的应用编程接口来实现。客户端应用34 使用应用编程接口来分配客户端应用34正在使用的屏幕区域的一部分 来开启交易模块38。在一个示例中,交易模块38是300×400像素界 面,并且当产生交易请求时,客户端应用34指定屏幕上可以开启此300 ×400像素界面的地方的坐标。因此,有利地,在此类实施例中,即使 交易模块38在其自己的域相关安全性沙盒中运行,客户端应用34和 交易模块38仍看上去是同一个应用。在一些实施例中,与请求模块36 关联的API接口还包括用于指定在交易模块38中使用的字体和颜色的 参数。此类参数增强客户端应用和交易模块38是同一个应用的外观。 在典型实施例中,客户端应用34在其自己的窗口中运行,并且通过请 求模块36的API提供到交易模块38的所有像素坐标均与此窗口有关。

安全接口服务器180/交易服务器200。在典型实施例中,如图1 所示,安全接口服务器180和交易服务器200各是单独的物理服务器。 在一些替代实施例中,安全接口服务器180和交易服务器200由同一 物理服务器托管。在此类实施例中,此物理服务器可通过因特网或计 算机网络126被客户端装置100访问。

第二实施例。图3和图4图示了本发明公开的第二实施例。具体 来说,结合图3描述了根据本发明公开的第二实施例的系统。因此, 图3图示根据本发明公开的环境的拓扑。在该拓扑中,有安全接口服 务器180B、客户端装置100B、交易服务器200和请求模块服务器300。 当然,其他拓扑也是可能的,例如安全接口服务器180B可以实际上包 括若干个服务器。此外,通常有数百、数千、数十万个或更多个客户 端装置100B。图3所示的示范拓扑仅用于以本领域技术人员将容易理 解的方式描述本发明公开的第二实施例的特征。

图3A的客户端装置100B和由客户端装置100B托管的每个模块 与图1A的客户端装置100中的同名对应部分完全相同,除了在客户端 装置100B的客户端应用34B被客户端装置100B调用时,客户端应用 34B不包括请求模块36的整体。

图3A的交易服务器200和由图3A的交易服务器200托管的每个 模块与图1A的交易服务器200中的同名对应部分完全相同。

图3B的安全接口服务器180B和由安全接口服务器180B托管的 每个模块与图1A的安全接口服务器180中的同名对应部分完全相同, 除了安全接口服务器180B(图3B)的跨域策略138B限制安全接口服 务器180B与其源URL是请求模块服务器300的域的那些程序之间的 交互。

如图3B所示,请求模块服务器300将通常具有一个或多个处理 单元(CPU)302、网络或其他通信接口310、存储器314、一个或多个 控制器318可选地访问的一个或多个磁盘存储和/或永久性装置320、 用于将前述组件互连的一个或多个通信总线312和用于对前述组件供 电的电源324。可以使用如高速缓存的公知计算技术与非易失性存储器 320无缝地共享存储器314中的数据。存储器314和/或存储器320可 以包括相对于中央处理单元302处于远程位置的海量存储装置。换言 之,存储器314和/或存储器320中存储的一些数据实际可以托管在请 求模块服务器300外部但是能够被请求模块服务器300通过因特网、 内联网或其他形式的网络或电缆(如图3B中的元件126所示)使用网 络接口310以电子方式访问的计算机上。

存储器314优选地存储:

●操作系统330,其包括用于处理各种基本系统服务和用于执 行硬件相关任务的过程;

●网络通信模块332,其用于经由一个或多个通信网络(如因 特网、其他广域网、局域网(例如,无线局域网能够将客户端装置100 连接到请求模块服务器300)、城域网等)将请求模块服务器300连接 到如客户端装置100(图3A)的各种客户端计算机以及可能地连接到 其他服务器或计算机(如交易服务器200和安全接口服务器180);

●交易请求模块服务应用334,其用于从客户端装置100接收 请求并响应于此而提供请求模块36;

●跨域策略336,其指定请求模块服务器300可以与哪些计算 机/域交互;

●交易数据库140/240,其用于存储安全应用内交易的记录; 以及

●有效应用凭证的数据库142。

参考图4,描述根据本发明公开的第二实施例的示范方法。该方 法详述根据本发明公开的第二实施例安全接口服务器180B、客户端装 置100、交易服务器200和请求模块服务器300交互地服务于交易时所 采取的步骤。

步骤402-406。图4中公开的方法(实施例2)通过要求在客户端 应用34B被调用时客户端应用34B从请求模块服务器300获取请求模 块36来使图2的方法(实施例1)更进一步。在图1中公开的实施例 中,客户端应用34B已经具有此请求模块36的副本。在客户端应用 34/34B是FLASH应用的一些实施例中,在实施例1(图1)中,请求 模块36是已编译的SWC文件,而在实施例2中,请求模块36是SWF 文件。

在步骤402中,客户端装置100B从本地数据存储或从远程应用 服务器调用客户端应用34B。在客户端应用34B被调用时,客户端应 用34B不包括用于促进应用内安全交易的请求模块36。在步骤404中, 客户端应用34B通过请求来自请求模块服务器300的请求模块36来发 起交易。在步骤406中,响应于步骤404的请求,交易请求模块服务 应用334处理该请求,并将请求模块36发送到客户端装置100。在步 骤406的一些实施例中,交易请求模块服务应用334仅在客户端应用 34B提供交易请求模块服务应用334根据有效应用凭证的数据库142 查证的应用凭证的情况下才向客户端应用34B提供请求模块36。

步骤408。在步骤408中,客户端应用34B在与将请求模块服务 器300识别为其源URL的程序关联并限制于这些程序的单独的域相关 安全性沙盒(第一沙盒)中执行请求模块36。例如,在一些实施例中, 客户端应用34B是FLASH程序,并且请求模块36采用由客户端应用 34B在步骤408期间加载并执行的SWF文件的形式。在此类实施例中, 客户端应用34B查询请求模块36以确定其源URL。在本实例中,请求 模块36的源URL是请求模块服务器300的URL。因此,客户端应用 34B在专用于来自请求模块服务器300的域中的程序的域相关安全性 沙盒中加载并执行请求模块36。换言之,在步骤408期间,客户端应 用34B执行请求模块36,使得请求模块36被加载到存储器内的单独的 域相关安全性沙盒中,其中(i)该单独的域相关安全性沙盒与客户端 应用34B运行所在的存储器中的存储空间隔离开,(ii)该单独的域相 关安全性沙盒与将其源URL识别为请求模块服务器300的域的程序关 联且限制于这些程序,(iii)由客户端应用34B执行请求模块36,使得 请求模块36的源URL的身份不被改变或破坏,并且(iv)该请求模块 不授权客户端应用34B来检查请求模块36。因此,有利地,即使请求 模块36被客户端应用34B加载,请求模块36仍能够以安全方式在客 户端装置100B上运行。客户端应用34B不能检查请求模块36。换言 之,客户端应用34B不能读取由请求模块36存储的任何值。

步骤410。在客户端应用34B在客户端装置100B上运行时的某个 时间点,客户端应用34B调用请求模块36以产生对安全应用内交易的 请求。通常,该安全应用内请求包含应用凭证、标识客户端应用34B 用户的信息和唯一交易标识符。在典型实施例中,应用凭证、标识客 户端应用34B的用户的信息和唯一交易标识符的格式根据安全接口服 务器180B和/或交易服务器200的需求来预先确定。不管如何实现,标 识客户端应用34B的用户的信息向安全接口服务器180B和/或交易服 务器200和/或请求模块服务器300唯一地标识用户。相似地,在优选 实施例中,唯一交易标识符唯一地标识由客户端应用34B的用户执行 的一个应用内交易。

因此,概括地来说,当步骤410完成时,存在通过客户端应用34B 和关联的请求模块36在客户端应用34B在客户端装置100B上执行时 生成与安全应用内交易关联的请求,其中该请求包含(i)该客户端应 用34B的凭证,(ii)该客户端应用34B的用户的标识,以及(iii)唯 一地标识该请求的交易标识符。通过因特网或计算机网络将对安全应 用内交易的请求提交到安全接口服务器180B。这里,不同于第一实施 例,安全接口服务器180B具有限制性跨域策略138B,其要求与安全 接口服务器180B交互的应用具有为请求模块服务器300的域的源 URL。在一些实施例中,尤其是在步骤404中已将应用凭证呈交到请 求模块服务器300的实施例中,在步骤410中发送并且在步骤412中 处理的请求可没有应用凭证。在一些实施例中,在步骤410中发送并 且在步骤412中处理的请求可没有客户端应用34B的用户的身份。

步骤412。正如上文参考步骤410所论述的,在安全接口服务器 180B上运行的交易模块服务应用134通过因特网或计算机网络接收带 有标识应用用户的信息(可选)、唯一交易标识符和应用凭证(可选) 的对安全应用内交易的请求。在一些实施例中,在步骤412接收的请 求不包含用户的身份。在此类实施例中,用户的身份仅由交易模块38B 传送到交易服务器200的交易服务器模块234。

步骤414。在步骤414的一些实施例中,根据有效应用凭证的数 据库142查证客户端应用34B的应用凭证。在一些实施例中,此查证 已在步骤406中执行。在一些实施例中,此查证在步骤414和步骤406 中均执行。在一些实施例中,有效应用凭证的数据库142包含可以使 用安全接口服务器180B和交易服务器200来执行安全交易的每个合法 的应用开发者的标识。在步骤414中,进行附加的检查以确保请求模 块36的源URL根据安全接口服务器180B的跨域策略138B被查证。

步骤416。如果在步骤412中随接收的应用请求提供的应用凭证 未通过查证和/或请求模块36的源URL不是请求模块服务器300的域 的URL(416-否),则交易结束418于失败。在未示出的一些实施例中, 向客户端应用34B通知此失败。在未示出的一些实施例中,向应用开 发者通知此失败。如果步骤412中随接收的应用请求提供的应用凭证 通过查证且请求应用36的源URL是请求模块服务器300的域的URL (416-是),则过程控制传递到图2A的步骤214。换言之,第二实施例 包括第一实施例的步骤214至步骤234。

步骤460至步骤466。交易模块38在客户端装置100B上的其自 己的域相关安全性沙盒中运行,并且交易模块38不授权客户端应用 34B来检查。因此,客户端应用34B不直接从交易模块38来查明应用 内交易是否已完成,更不用说查明应用内交易是否已成功完成了,使 得用户将被赋予与应用内交易关联的任何特权(例如,更多游戏点数 等)。因此,与前文提到的步骤的其中一些或全部并发地或在所有前文 提到的步骤已完成之后,客户端应用34B使用请求模块服务器300轮 询交易数据库140/240以确定交易的状态。

要认识到,虽然安全接口服务器180B、交易服务器200和请求模 块服务器300各有权访问交易数据库140/240,但是在实施例2中,请 求模块服务器300具有宽容性跨域策略336,而交易服务器200具有限 制性跨域策略236且安全接口服务器180B具有限制性跨域策略138B。 因此,除非客户端应用34的源URL是安全接口服务器180B的URL, 否则客户端应用34B将无法直接与交易服务器200交互。此外,除非 客户端应用34的源URL是请求模块服务器300的URL,否则客户端 应用34B将无法直接与安全接口服务器180B交互。因此,在此类实例 中,客户端应用34B将无法使用交易服务器200或安全接口服务器180B 轮询交易数据库140/240。

在典型实施例中,客户端应用34B定期(例如,每分钟、每五分 钟、每半小时等)轮询请求模块服务器300上的交易数据库140/240, 直到交易数据库140/240指示交易完成为止。在典型实施例中,此查询 非常有限。在典型实施例中,客户端应用34B提供唯一交易标识符和 应用凭证。如果根据有效应用凭证的数据库142,该应用凭证是有效的, 则通过因特网或计算机网络将与客户端应用34B提供的交易标识符唯 一地关联的交易的状态发送回在客户端装置100B上运行的客户端应用 34B。在典型实施例中,客户端应用34B不被允许从交易数据库140/240 获取个人信息。

引用的参考文献和替代实施例

本文引用的所有参考文献通过引用方式全部且为了所有目的并入 本文,与专门且个别地指示通过引用方式将每个个体出版物或专利或 专利申请全部且为了所有目的并入本文的情形的程度相同。

本发明可以作为计算机程序产品来实现,该计算机程序产品包括 嵌入计算机可读存储介质中的计算机程序机构。例如,该计算机程序 产品可以包括图1和/或图3所示的程序模块。这些程序模块可以存储 在CD-ROM、DVD、磁盘存储产品或任何其他有形计算机可读数据或 程序存储产品上。

在不背离本发明的精神和范围的前提下,可以实现本发明的多种 修改和变化,正如本领域技术人员将显见到的。本文描述的特定实施 例是仅作为示例来提供的。选择和描述这些实施例是为了最佳地解释 本发明的原理及其实际应用,以便使本领域技术人员能够通过适于所 设想的具体用途的各种修改来最佳地利用本发明及各种实施例。本发 明将仅依据权利要求书连同此权利要求书授权的等效物的全部范围来 被限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号