著录项信息
专利名称 | 用于安全跨站脚本的方法和装置 |
申请号 | CN201080063245.9 | 申请日期 | 2010-12-13 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2012-10-24 | 公开/公告号 | CN102754098A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F21/51 | IPC分类号 | G;0;6;F;2;1;/;5;1;;;H;0;4;L;2;9;/;0;8查看分类表>
|
申请人 | 诺基亚公司 | 申请人地址 | 芬兰埃斯波
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 诺基亚技术有限公司 | 当前权利人 | 诺基亚技术有限公司 |
发明人 | A·埃兰德尔;T·科斯基塔洛;J·劳里拉 |
代理机构 | 北京市金杜律师事务所 | 代理人 | 酆迅 |
摘要
提供了一种用于提供安全跨站脚本的方案。web服务器平台至少部分地促使接收来自至少一个web页面的至少第一内嵌框架的发起请求(501)。所述发起请求指定与所述至少一个web页面的域相关联的开发者标识符。web服务平台基于所述开发者标识符确定回调资源标识符(505)。web服务平台然后确定至少部分地促使向所述至少第一内嵌框架传输所述回调资源标识符,以用于创建与所述至少第一内嵌框架相关联的至少第二内嵌框架(511)。
用于安全跨站脚本的方法和装置\n背景技术\n[0001] 服务提供商(如无线的、蜂窝的等)和设备制造商不断地受到的挑战在于例如通过提供有吸引力的网络服务向消费者递送价值和便利性。一个研发领域已是将这些服务的一个或多个组合或者集成到web页面中以创建新的和独特的服务,或者简单地提供到这些服务的多种便利访问。例如,这种集成被普遍地实现为嵌入到web页面的源代码中的脚本以访问对应于服务的功能或应用程序接口(API)。然而,现代的浏览器通常限制对在不同域间执行脚本的web页面和应用程序的访问以例如对不同网站间的服务、应用和/或内容进行整合。这些限制的目的在于阻止恶意攻击者或黑客将客户端侧的脚本注入到由用户观看的web页面中,以阻止安全隐患。能够在web页面上执行脚本的恶意攻击者可能能够控制该web页面所能够控制的同样的功能,包括对cookie和其他个人信息的访问。然而,尽管符合现代浏览器的安全策略和限制,但是这些限制条件也对提供对这样的跨站(例如,多域)服务或者应用程序的访问造成了技术上的负担。\n发明内容\n[0002] 因此,需要用于用于安全跨站脚本的方案。\n[0003] 根据一个实施例,一种方法包括至少部分地促使接收来自至少一个web页面的至少第一内嵌框架的发起请求,所述发起请求指定与所述至少一个web页面的域相关联的开发者标识符。所述方法还包括基于所述开发者标识符确定回调资源标识符。所述方法进一步包括确定至少部分地促使向所述至少第一内嵌框架传输所述回调资源标识符,以用于创建与所述至少第一内嵌框架相关联的至少第二内嵌框架。\n[0004] 根据另一个实施例,一种装置包括至少一个处理器,和包含计算机程序代码的至少一个存储器,该至少一个存储器和计算机程序代码被配置为使用所述至少一个处理器至少部分地使得所述装置至少部分地促使接收来自至少一个web页面的至少第一内嵌框架的发起请求,所述发起请求指定与所述至少一个web页面的域相关联的开发者标识符。该装置还被使得基于所述开发者标识符确定回调资源标识符。该装置进一步被使得确定至少部分地促使向所述至少第一内嵌框架传输所述回调资源标识符以用于创建与所述至少第一内嵌框架相关联的至少第二内嵌框架。\n[0005] 根据另一个实施例,一种计算机可读存储介质承载一个或多个指令的一个或多个序列,该一个或多个序列被一个或多个处理器执行时,至少部分地使得装置至少部分地促使接收来自至少一个web页面的至少第一内嵌框架的发起请求,所述发起请求指定与所述至少一个web页面的域相关联的开发者标识符。该装置还被使得基于所述开发者标识符确定回调资源标识符。该装置进一步被使得确定至少部分地促使向所述至少第一内嵌框架传输所述回调资源标识符以用于创建与所述至少第一内嵌框架相关联的至少第二内嵌框架。\n[0006] 根据另一个实施例,一种装置包括用于至少部分地促使接收来自至少一个web页面的至少第一内嵌框架的发起请求的模块,所述发起请求指定与所述至少一个web页面的域相关联的开发者标识符。该装置还包括用于基于所述开发者标识符确定回调资源标识符的模块。该装置进一步包括用于确定至少部分地促使向所述至少第一内嵌框架传输所述回调资源标识符以用于创建与所述至少第一内嵌框架相关联的至少第二内嵌框架模块。\n[0007] 根据一个实施例,一种方法包括至少部分地促使在与开发者标识符相关联的第一域的web页面内创建内嵌框架。所述内嵌框架与第二域相关联。该方法还包括确定至少部分地促使向与所述第二域相关联的平台传输所述开发者标识符。该方法进一步包括至少部分地促使在所述内嵌框架处接收来自所述平台的回调资源标识符。所述回调资源标识符至少部分地基于所述开发者标识符而确定。该方法进一步包括至少部分地促使在所述内嵌框架内创建另一内嵌框架。所述另一个内嵌框架至少部分地基于所述回调资源标识符。\n[0008] 根据另一个实施例,一种装置包括至少一个处理器,和包含计算机程序代码的至少一个存储器,该至少一个存储器和计算机程序代码被配置为使用所述至少一个处理器至少部分地使得所述装置至少部分地促使在与开发者标识符相关联的第一域的web页面内创建内嵌框架。该装置还被使得确定至少部分地促使向与所述第二域相关联的平台传输所述开发者标识符。该装置进一步被使得至少部分地促使在所述内嵌框架处接收来自所述平台的回调资源标识符。所述回调资源标识符至少部分地基于所述开发者标识符而确定。该装置进一步被使得至少部分地促使在所述内嵌框架内创建另一内嵌框架。所述另一个内嵌框架至少部分地基于所述回调资源标识符。\n[0009] 根据另一个实施例,一种计算机可读存储介质承载一个或多个指令的一个或多个序列,该一个或多个序列当被一个或多个处理器执行时,至少部分地使得装置至少部分地促使装置以至少部分地促使在与开发者标识符相关联的第一域的web页面内创建内嵌框架。所述内嵌框架与第二域相关联。该装置还被使得确定至少部分地促使向与所述第二域相关联的平台传输所述开发者标识符。该装置进一步被使得至少部分地促使在所述内嵌框架处接收来自所述平台的回调资源标识符。所述回调资源标识符至少部分地基于所述开发者标识符而确定。该装置进一步被使得至少部分地促使在所述内嵌框架内创建另一内嵌框架。所述另一个内嵌框架至少部分地基于所述回调资源标识符。\n[0010] 根据另一个实施例,一种装置包括用于至少部分地促使在与开发者标识符相关联的第一域的web页面内创建内嵌框架的模块。所述内嵌框架与第二域相关联。该装置还包括用于确定至少部分地促使向与所述第二域相关联的平台传输所述开发者标识符的模块。\n该装置进一步包括用于至少部分地促使在所述内嵌框架处接收来自所述平台的回调资源标识符的模块。所述回调资源标识符至少部分地基于所述开发者标识符而确定。该装置进一步包括用于至少部分地促使在所述内嵌框架内创建另一内嵌框架的模块。所述另一个内嵌框架至少部分地基于所述回调资源标识符。\n[0011] 对于本发明的各种示例性实施例,以下是适用的:\n[0012] 一种方法,包括:\n[0013] 促进(1)数据和/或(2)信息和/或(3)至少一个信号的处理过程和/或处理;\n[0014] 所述(1)数据和/或(2)信息和/或(3)至少一个信号至少部分地基于(至少部分地源于)在本申请中所公开的与本发明的任意实施例相关的方法(或者处理)的任何一个或者任意组合。\n[0015] 对于本发明的各种示例性实施例,以下也是适用的:\n[0016] 一种方法,包括促进访问被配置为允许访问至少一个服务的至少一个接口,所述至少一个服务被配置为执行在本申请中所公开的网络或服务提供商方法(或处理)的任何一个或者任意组合。\n[0017] 对于本发明的各种示例性实施例,以下也是适用的:\n[0018] 一种方法,包括促进创建和/或促进修改:(1)至少一个设备用户接口单元和/或(2)至少一个设备用户接口功能;\n[0019] 所述(1)至少一个设备用户接口单元和/或(2)至少一个设备用户接口功能至少部分地基于以下项:\n[0020] 产生自在本申请中所公开的与本发明的任意实施例相关的方法或者处理的一个或者任意组合的数据和/或信息,以及\n[0021] 产生自在本申请中所公开的与本发明的任意实施例相关的方法(或者处理)的一个或者任意组合的至少一个信号。\n[0022] 对于本发明的各种示例性实施例,以下也是适用的:\n[0023] 一种方法,包括创建和/或修改:(1)至少一个设备用户接口单元和/或(2)至少一个设备用户接口功能;\n[0024] 所述(1)至少一个设备用户接口单元和/或(2)至少一个设备用户接口功能至少部分地基于以下项:\n[0025] 产生自在本申请中所公开的与本发明的任意实施例相关的方法(或者处理)的一个或者任意组合的数据和/或信息,以及\n[0026] 产生自在本申请中所公开的与本发明的任意实施例相关的方法(或者处理)的一个或者任意组合的至少一个信号。\n[0027] 在各种示例性实施例中,所述方法(或者处理)能够在服务提供商侧或在移动设备侧实现,或者能够以任意共享的方式在服务提供商和移动设备之间使用在两侧都执行的动作而实现。\n[0028] 通过对包括预期实施本发明的最佳方式在内的多个特定实施例和实施方式进行简单说明,本发明的其它方面、特征和优势将由于以下详细描述而是清楚明了的。本发明还能够有其它不同的实施例,并且其若干细节能够在各个显然的方面进行修改,所有这些都并不背离本发明的精神和范围。因此,附图和文字描述其本质要被视为是说明性而非限制性的。\n附图说明\n[0029] 在附图的示图中通过示例而不是限制示出了本发明的实施例:\n[0030] 图1是根据一个实施例的能够提供安全跨站脚本的系统的示图;\n[0031] 图2是根据一个实施例的web服务平台的组件的示图;\n[0032] 图3是根据一个实施例的与web浏览器相关联的用于提供到web服务器平台111的安全跨站脚本的访问的选项卡和框架的示图。\n[0033] 图4是根据一个实施例的用于在web浏览器提供跨站脚本的处理的流程图;\n[0034] 图5是根据一个实施例的用于提供跨站脚本的处理的流程图;\n[0035] 图6是根据一个实施例的用于为web浏览器提供跨站脚本的处理的梯形图;\n[0036] 图7是能够被用来实施本发明实施例的硬件的示图;\n[0037] 图8是能够被用来实施本发明实施例的芯片组的示图;\n[0038] 图9是能够被用来实施本发明实施例的移动终端(例如,手持机)的示图。\n具体实施方式\n[0039] 公开了用于提供安全跨站脚本的方法、装置和计算机程序的示例。在以下描述中,出于解释的目的,给出了多个特定细节以便提供对于本发明实施例进行全面理解。然而,对于本领域技术人员显而易见的是,本发明可以在没有这些特定细节的情况下进行实践或者利用等同配置进行实践。在其它实例中,以框图的形式示出了公知的结构和设备以免对本发明的实施例造成不必要的混淆。\n[0040] 图1是根据一个实施例能够提供安全跨站脚本的系统的示图。如前所述,许多现代的web浏览器限制了一个域内的web页面的脚本(例如诸如用异步的JavaScript和可扩展标记语言(Ajax)编写的脚本)的使用对另一个域内的其他web页面或资源的可访问性。这一限制一般称作“同源策略”,并且只有脚本源于同一个域,通常才允许该脚本访问特定域内的内容或资源。同源策略的目标是保持域之间的严格分区,以防止潜在的恶意攻击和数据泄露。然而,同源策略也使得web服务开发者很难提供到不同域的web页面的web服务的应用程序接口(API)的访问以及能够与该web服务交互。作为示例,web页面开发者可能希望与该web服务进行交互,以便向另一个web服务(例如,在web页面的另一部分中,诸如内嵌框架或其他不同的段)提供从该web服务收集的信息。在特定实施例中,术语域是与行政自治范围、行政当局范围或互联网中的控制范围相关联的识别标签。此外,域可能包括诸如*.com、*.net、*.org等顶级域以及第二级(例如,根网站名)和第三级域名(例如,修饰符.[根])。\n[0041] 在一个样本用例下,web页面开发者生成使用由web服务提供商(例如,经由API)提供的应用的web页面,该web服务提供商与不同的域相关联。由于同源策略限制,该web页面可能不能直接使用或者允许使用发源于不同域的脚本。因此,web页面可能无法具有到与另一个域相关联的脚本的所有功能的直接访问。此外,因为web页面可能无法具有对与所述应用相关联的信息的访问权,因此web页面可能无法使用与所述应用相关联的信息以更新该web页面的其他部分。换句话说,可能依赖于所述信息(例如,从另一个域获得的用户登录凭据)的web页面(例如,被引用到相同的服务提供商或者另一个服务提供商)的任何其他部分可能不能够呈现或者以其他方式使用该信息。从历史上看,已利用了同源策略的其他解决方案,然而,许多这些解决方案提供很少的安全或有限的跨站消息传送。因此,服务提供商仅有有限的一组选项,用于停止向域提供的脚本或者用于阻止某些web页面使用跨站信息从脚本检索信息。\n[0042] 为了解决这一问题,图1中的系统100通过生成开发者密钥以绑定回调资源标识符(例如,回调统一资源定位符(URL))引入了提供安全跨站脚本(XSS)的能力,所述回调资源标识符用于在不同的域间传递数据、信息、资源等。在一个实施例中,UE 101(例如UE101a-101n的任意一个)能够经由通信网络105从web内容平台103检索web页面。在某些实施例中,UE 101经由无线连接(例如UE 101a)或者经由有线连接(例如UE 101n)连接到通信网络105。web内容平台103的全部或者一部分可以经由例如一个或多个域与特定的web开发者(例如诸如团体、公司、个人等实体)相关联。例如,web开发者可以开发内容、信息、服务、应用等以便作为web内容使用或访问。这种web内容可以被引用或包含在由web内容平台103提供的一个或多个web页面中,并且可以存储在web内容数据库\n107中。\n[0043] UE 101的web浏览器109被用于向用户呈现web内容。此外,web浏览器109可以被用于经由UE 101接收输入。web浏览器109能够检索、呈现和遍历万维网上的信息资源。作为示例,web浏览器109可以利用诸如统一资源标识符(URI)和统一资源定位符(URL)等资源标识符和资源定位符来导航万维网。此外,web浏览器109可以利用诸如超文本标记语言(HTML)等标记语言来导航和格式化web内容。web浏览器的例子包括Internet Explorer Mozilla Firefox Apple Safari 和Opera\n[0044] 在一个实施例中,web浏览器109可以包括前面讨论过的浏览器限制(例如,同源策略)。因此,如果web内容包括来自另一个域(例如web服务平台111)的信息,则web内容平台103的开发者向用户提供web内容可能具有困难。web服务平台111可以包括一个或多个服务API 113以向用户提供web内容。通过服务API 113所提供的服务和信息的例子可以包括购物、数字声音、歌曲、数字图像、数字游戏、数字地图、感兴趣的信息点、数字视频(诸如音乐视频、新闻剪辑和戏剧影片)、广告、程序文件或对象、任何其他数字媒体或内容、或者可以经由web内容平台103在应用、web页面或其他可用的内容中使用的它们的任何组合。与web浏览器109相关联的媒体或其他内容播放器可以被用于呈现经由服务API \n113来自web服务平台111的内容。服务API 113可以由与web服务平台111相关联的服务提供商提供给开发者的库来实现。此外,从web浏览器109到web服务平台的以及从web服务平台到web浏览器109的请求和响应能够经由通用接口(例如,可扩展标记语言超文本传输协议请求(XHR))。\n[0045] 为了向web浏览器109的用户提供到可能包含脚本的服务平台111的内容的访问,开发者可以包括经由内嵌框架(iframe)到服务API 113的调用。在某些实施例中,内嵌框架可以是web文档(例如web页面)的一部分,其可以从web文档的剩余部分中分割。\n内嵌框架可以包括另一个web文档(例如HTML文档),其可能起源于另一个域(例如web服务平台111)。另外,内嵌框架可以犹如它是web文档一样动作,从而,它可以另外地调用一个或多个另外的内嵌框架。为了提供内嵌框架的内容和web页面和/或其他内嵌框架之间的交互性,可以利用嵌套的内嵌框架。此外,在某些实施例中,当将内嵌框架单独地用于在内嵌框架和web页面间传送数据时,可以将一个或多个嵌套的内嵌框架以用户不可见的方式提供在web页面上(例如,作为透明的或小的内嵌框架)。以这种方式,用于传送数据的内嵌框架可以是用户不可见的。\n[0046] 在一个实施例中,每个web文档(例如,web页面及任何内嵌框架)可被称为窗口。\n窗口可以以树状的方式组织,也即,web页面可以调用与一个或多个域相关联的内嵌框架的多个分支,该内嵌框架能够各自包括其他的内嵌框架。因此,开发者可能希望向另一内嵌框架提供包括在一个内嵌框架中的信息的部分或全部。然而,如前所述,web浏览器109的性质(例如同源策略)可能指定如果窗口属于相同的域(例如web内容平台域)则窗口仅可以访问另一个窗口(例如web页面窗口或内嵌框架窗口)的内部状态。因此,一个内嵌框架的脚本可能无法与另一个内嵌框架的脚本直接通信。此外,任何窗口可能引用在其层次结构中的另一个窗口(例如,通过一个句柄)。例如,内嵌框架通过调用它的父亲可以引用它的父窗口(web页面)。此外,窗口(例如web页面)可以使用句柄window.frame[名称]来引用子窗口(例如,内嵌框架)。名称可能是到窗口的引用(例如,如果父窗口有3个内嵌框架孩子,则孩子可以被命名为1、2和3)。此外,为了引用兄弟,窗口可以使用句柄parent.frames[兄弟]。此外,web浏览器109的另一个性质可以指定层次结构中的任意窗口能够设置其他窗口的位置(例如URL)。然而,窗口可能无法读取另一个窗口的位置,除非该窗口与和其他窗口相同的域相关联。此外,在某些实施例中,窗口的另一个属性指定当窗口的URL改变时,重新加载与窗口关联的web内容。但是,窗口可以包括如果URL的变化仅改变了片段标识符则不重新加载窗口的性质。在某些实施例中,片段标识符包括放置在URL的哈希标记(例如,#)后面的数据。URL可以是可以被相同的域中的其他窗口访问的信息。因此,片段标识符可以用于在窗口之间传递信息。\n[0047] 由于浏览器限制的目的是提供额外的安全,在web页面上提供XSS可以实现安全措施。因此,web服务平台111包括密钥存储库115,用于将开发者标识符(例如开发者密钥)与和开发者关联的域相关联。开发者可以向web服务平台111的服务提供商注册以注册作为可信任的开发者(例如,可信的利用与web服务平台111相关联的XSS的开发者)。\n此外,开发者可以被分配开发者密钥,并且密钥存储库115可以包括开发者密钥到特定域(例如,与web内容平台103的网站相关联的域)的绑定。在某些实施例中,开发者密钥是开发者标识符,其被连接到密钥存储库115中的回调资源标识符。此外,所述绑定可以包括一个或多个回调资源标识符或者URL,其可以被用作用于在web内容平台103和web服务平台111之间进行通信的桥(bridge)。在某些实施例中,回调资源标识符是与开发者密钥相关联的修改的或未修改的URL。可选择地,所述绑定可以包括开发者的撤销状态。如果服务平台111接收到开发者密钥已经被泄露的信息或者对开发者的投诉,则撤销状态可以被设置以提供脚本不应在该开发者的网站上执行的信息。\n[0048] 在一个实施例中,web浏览器109从web内容平台103加载开发者的web页面。该web页面与第一域相关联。该web页面包括至少部分地促使web浏览器109创建内嵌框架以从与第二域相关联的web服务平台111访问包含脚本的内容的源代码。由于web页面和内嵌框架源于两个不同的域,内嵌框架不能直接与该web页面通信。web浏览器109可以使用内嵌框架建立与服务API 113的通信。建立过程可以包括给web服务平台111提供开发者密钥、用户标识符、或它们的组合。在某些实施例中,用户标识符可以是安全用户标识符(单点登录(SSO)的哈希值)。SSO的哈希值可以包括用户标识和登录密钥。在某些情况下,web内容平台103的用户可以与web服务平台111预先验证,以接收个性化服务。\n[0049] 为了安全地使得web服务平台111能够与web内容平台103的web页面通信,web服务平台111利用与开发者密钥相关联的回调资源标识符,以便促使web浏览器109使用回调资源标识符的域在所发源的内嵌框架内创建另一个内嵌框架。如上所述,如果开发者密钥的撤销状态规定不应在web页面上执行脚本,则该内嵌框架可以被促使停止脚本的执行。如果脚本是允许的,并且如果开发者密钥回调资源标识符域匹配web页面域,则另一个内嵌框架可以用于从服务API113向web页面发送信息。如上所述,如果两个窗口的脚本在同一个域中,则一个窗口的脚本可以能够和另一个窗口的脚本通信。以这种方式,可以生成服务API 113希望呈现给web页面的信息,并且提供在另一个内嵌框架中。一个示例性的通信方式可以包括在另一个内嵌框架中的伪码,包括“window.parent.parent.receivePackage”,其中receivePackage标识符包含所述信息。在某些实施例中,服务API \n113可以包括认证令牌。认证令牌可以利用作为web页面与服务API 113基于所创建的会话进行通信的方式。从web页面到服务API 113的进一步的通信可以以同样的方式执行,除了利用所述令牌作为开发者密钥。使用上述方案,未授权的web页面(例如,在与被绑定到开发者密钥的域不同的域中的web页面)不能访问认证令牌或者与receivePackage标识符相关联的信息,这是因为web浏览器109的安全限制(例如,同源策略)阻止与不同的域相关联的两个窗口间的直接通信。\n[0050] 一旦web页面具有信息(例如,用户生日),web页面可以利用所收集的信息以便用于其他应用(例如星座应用)、播放器等中。此外,web页面可以调用来自另一个域的另一个服务,并且提供信息作为服务的参数。在一个示例中,服务是星座服务,其需要用户的出生日期以提供服务。web页面可以经由如上提供的过程从服务API 113检索出生日期,并且传递出生日期作为在星座服务中的参数。此外,web页面可以使用如上提供的方法从星座服务中检索其他信息(例如,占星术的兼容性信息),并且向web页面另一部分上的约会应用传递该其他信息。\n[0051] 在一个实施例中,web内容平台103和web服务平台111可以经由共享的、部分共享的或者不同的计算机硬件(例如相对于图7所描述的硬件)来实现。例如,web服务平台111可以包括结合使用以提供服务的一个或多个服务。\n[0052] 如图1中所示,系统100包括用户设备(UE)101,用户设备具有经由通信网络105到web内容平台103和web服务平台111的连接。作为示例,系统100的通信网络105包括一个或多个网络,诸如数据网络(未示出)、无线网络(未示出)、电话网络(未示出)或者其任意组合。可以预见数据网络可以是任意的局域网(LAN)、城域网(MAN)、广域网(WAN)、公共数据网(例如互联网)或者任意其他适当的分组交换网,诸如商业上所有的、专用的分组交换网络,例如专用的线缆或光纤网络。此外,无线网络例如可以是蜂窝网络并且可以采用各种技术,包括增强型数据速率全球演进(EDGE)、通用分组无线业务(GPRS)、全球移动通信系统(GSM)、互联网协议多媒体子系统(IMS)、通用移动电信系统(UMTS)等,以及任意其他适当的无线介质,例如全球微波互联接入(WiMAX)、长期演进(LTE)网络,码分多址(CDMA)、宽带码分多址(WCDMA)、无线高保真(WiFi)、卫星、移动自组织网络(MANET)等。\n[0053] UE 101是任意类型的移动终端、固定终端或便携式终端,包括移动手持机、站、单元、设备、多媒体平板、多媒体计算机、互联网节点、通信器、台式计算机,笔记本计算机、个人数字助理(PDA)或者其任意组合。还预见到UE 101能够支持对用户的任意类型的接口(诸如“可佩带”电路等)。web浏览器109可以在UE 101的运行时模块117上运行,利用UE 101的存储器以存储浏览器指令和信息。UE 101可以包括用户界面以呈现web浏览器\n109(例如,经由图形用户界面GUI)并且接收信息以利用web浏览器109。用户界面可以包括各种通信方法。例如,用户界面可以具有包括可视化组件(例如屏幕)、音频组件、物理组件(例如振动)、以及其他通信方法的输出。用户输入可以包括触摸屏界面、滚动和点击界面、按钮界面、麦克风等。\n[0054] 作为示例,UE 101、web内容平台103和web服务平台111使用已知的、新的或还在研发中的协议彼此进行通信并且与通信网络105的其他组件进行通信。在这一上下文中,协议包括用于定义通信网络内的网络节点如何基于在通信链路上发送的信息而彼此进行交互的一组规则。协议在每个节点内的不同操作层起作用,从生成和接收各种类型的物理信号,到选择用于传输那些信号的链路,到那些信号所指示的信息格式,到识别计算机系统上执行的哪些软件应用发送或接收该信息。用于在网络上交换信息的概念上不同的协议层在开放式系统互连(OSI)参考模型中有所描述。\n[0055] 网络节点间的通信通常受到交换离散数据分组的影响。每个数据分组典型地包括(1)与特定协议相关联的报头信息,以及(2)跟在报头信息之后并且包含可以独立于该特定协议进行处理的信息的有效载荷信息。在一些协议中,分组包括(3)跟在有效载荷之后并且指示有效载荷信息结束的报尾信息。报头包括诸如分组来源、其目的地、有效载荷长度以及协议所使用的其它属性的信息。通常,针对特定协议的有效载荷中的数据包括针对与OSI参考模型的不同的更高层相关联的不同协议的报头和有效载荷。针对特定协议的报头典型地指示其有效载荷中所包含的下一个协议的类型。更高层的协议被认为封装在更底层的协议中。如OSI参考模型所定义的,包括在穿过多个异构网络(诸如互联网)的分组中的报头典型地包括物理(第1层)报头、数据链路(第2层)报头、互连网络(第3层)报头和传输(第4层)报头,以及各种应用报头(第5层、第6层、第7层)。\n[0056] 图2是根据一个实施例的web服务平台111的组件的示图。作为示例,web服务平台111包括用于给web页面提供安全跨站脚本的一个或多个组件。可以预期可以将这些组件的功能整合在一个或多个组件中,或者可以由等效功能的其他组件来执行这些组件的功能。在此实施例中,web服务平台111包括服务API 113、密钥存储库115、可以向用户提供web访问的服务门户201、监管用户账号的账号管理器203、在组件间进行协调的控制逻辑205、以及存储器207。\n[0057] 控制逻辑205可以利用服务门户201以向用户提供经由账号管理器203认证web服务平台111的方法。账号管理器203可以被用于存储和确定与用户相关联的认证参数。\n例如,用户账号管理器203通过跟踪那些服务共享登录凭据来管理登陆凭据的共享以及然后将该凭据连接到特定用户对各种服务的创建的用户账号。作为示例,用户账号管理器203可以将用于登录凭据的跟踪信息和用户账号信息存储到存储器207中。此外,存储器207可以包括一个或多个处理以及存储关于每个服务的注册用户的信息的一个或多个数据结构,这些信息包括与使用任何服务相关的登录凭据及相关信息、以及数据、配置、用户配置文件、变量、条件等。用户的web浏览器109可以访问与服务门户201相关联的web页面以向web服务平台111提供认证信息(例如用户名和密码)。控制逻辑205然后可以将认证信息提供给账号管理器203。账号管理器203然后可以将用户关联到账号,并且还经由web门户201向web浏览器109提供认证哈希作为在一定时间内有效的安全用户标识符。\n[0058] 如上所述,服务API 113可以被用来向web浏览器109提供服务,并且可以被用来发送和接收消息。在某些实施例中,服务API 113可以在一个或多个平台(例如,服务器、计算机、电子仪器等)上实现,并利用表述性状态转移(REST)、SOAP、可扩展通讯和表示协议(XMPP)、JavaScript API、其他类似的API、定制的API或它们的组合。在某些实施例中,可以向网站开发者提供使用服务API 113的功能、结构以及其他信息以便在他们的web页面中使用。可以将与由服务API 113所提供的服务相关联的数据存储到存储器207中。因此,存储器207可以可以包括易失性存储器、非易失性存储器、或其组合。此外,可利用多于一个的存储器207。\n[0059] 当收到利用服务API 113的请求时,请求可以包括开发者密钥、认证密钥、认证令牌、其他认证信息(例如,安全用户标识符或用户名和密码)或它们的组合。如前所述,服务API 113可以将开发者密钥和/或认证密钥与密钥存储库115相比以将要提供的服务与域相关联。因此,密钥存储库115可以包括到对于开发者密钥和/或认证密钥的域和/或URL的绑定。在某些实施例中,当开发者密钥被用于会话时,生成认证密钥以便在会话期间使用。可以将认证密钥存储到密钥存储库115中,并将其与被用于生成认证密钥的开发者密钥的开发者的域相关联。\n[0060] 图3是根据一个实施例的与web浏览器109相关联的用于向web服务器平台111提供到安全跨站脚本的访问的选项卡和框架的示图。web浏览器109的用户可以利用web浏览器109以访问web内容平台103的web页面。如图所示,web浏览器109的第一选项卡301包括来自第一域(例如,app.[root])的web页面,第一域与web内容平台103和/或一个或多个应用(例如,声音应用、邮件应用、游戏应用等)相关联。第一选项卡301包括第一内嵌框架303,其使用URL(例如,api.[root]/index.html?dev_key=948v6h)调用服务API 113的服务。如图所示,URL包括与web页面相关联的开发者密钥(948v6yh)。\n连接可以和第二域建立XSS。因此,第二域可以利用开发者密钥来确定桥URL以将信息发送回web页面。如上所述,web服务平台111可以使用数据库信息将开发者密钥连接到桥,并且使用修饰符309生成包括与开发者密钥相关联的域的URL。此外,修饰符109可以被分配到变量(例如,URL)或者经由open.iframe()调用被直接调用。例如,调用可以包括open.iframe(“[root]/path/bridge.html#”+数据)。直接调用方法提供更安全的修改URL的方法(例如,使用调试程序来修改会更困难)。然后,web服务平台111可以促使第一内嵌框架303使用生成的URL打开第二内嵌框架305。第二内嵌框架305和第一选项卡301在相同的域中,因此,可以将信息自由地从第二内嵌框架305传递到第一选项卡301。此外,该URL可以包括认证密钥,其被用于第一选项卡301和web服务平台111之间的进一步的通信。在进一步的通信中,认证密钥可以被用来代替第一内嵌框架303中的开发者密钥。\n[0061] 在另一个实施例中,进行同样的处理。但是,在第二选项卡web页面311中调用了与第一域不同的第三域(例如,hacker.[hacker root])的另一个网站。例如,如果攻击者向用户发送了带有web链接的e-mail并且用户点击了该链接,则这可能发生。在这一情形下,第一内嵌框架313可以被创建以与web服务平台111通信,并且第二内嵌框架315可以被web服务平台111创建以将信息提供回开发者网站。但是,在这一情形下,因为第二内嵌框架315基于开发者密钥并且不是第二选项卡web页面311调用的第一内嵌框架313,因此第二内嵌框架315的域和第二选项卡web页面311的域是不同的。因此,[hacker root]网站不能够访问认证密钥以及利用来自web服务平台111的更多服务。\n[0062] 图4是根据一个实施例用于在web浏览器提供跨站脚本的处理的流程图。在一个实施例中,web浏览器109执行处理400,并且将其实现在例如如图8所示的包括处理器和存储器的芯片组上。因此,web浏览器109可以提供用于实现处理400的任何一个步骤的方法。UE101的用户可以利用web浏览器109导航到网站。在步骤401,加载与开发者密钥相关联的第一域的web页面的web内容。如前所述,该web页面可以包括以下代码,该代码促使web浏览器109创建内嵌框架以从服务API 113加载内容,该内容可以包括脚本。\n[0063] 接着,在步骤403,web浏览器109至少部分地促使在与开发者标识符(例如,开发者密钥)相关联的第一域的web页面内创建内嵌框架。因此,web浏览器109提供用于实现步骤403的手段。该内嵌框架可以与第二域(例如,服务API 113的域)相关联。如前所述,内嵌框架可以被用于在web页面中提供来自服务API的内容。例如,web浏览器109可以执行内嵌框架上的脚本,并呈现内嵌框架的内容。然后,在步骤405,web浏览器109确定促使和至少部分地促使向与第二域相关联的web服务平台111传输开发者标识符。通信可以以利用来自web页面的web URL的形式进行,以与第二域通信。web URL可以在URL中包括附加信息,例如开发者标识符、用户信息等。这可以被用于向web服务平台111提供开发者标识符和/或用户信息。在一些实施例中,用户可以使用单点登录技术在与第二域相关联的web服务门户201被web服务平台111预先认证。该登录信息可以被存储到与web浏览器相关联的存储器中(例如,cookie)。因此,内嵌框架能够从web浏览器109检索登录信息,而不用重新认证用户。然后,web服务平台111利用该信息执行如在图5中将详细描述的处理。\n[0064] web浏览器109提供用于确定以的方法(步骤407)。如将在图5的处理中所描述的,回调资源标识符至少部分地基于开发者标识符而确定。此外,因为内嵌框架与第二域相关联,所以内嵌框架不能直接与使用脚本的web页面通信。因此,内嵌框架至少部分地促使创建该内嵌框架内的另一内嵌框架,以尝试和web页面通信(步骤409)。该另一个内嵌框架至少部分地基于所接收的回调资源标识符。因为该另一个内嵌框架的域基于开发者标识符,因此不能确保该另一个内嵌框架的域与web页面是相同的域。该另一个内嵌框架可以有来自第二域的指令以向web页面提供服务数据。如前所述,这提供了用于提供服务API \n113的安全措施,以向开发者提供服务数据。在尝试执行该指令时,web浏览器109确定与回调资源标识符相关联的域是否与第一域匹配(步骤411)。\n[0065] 如果另一个内嵌框架的内容与和第一域不同的第三域相关联,则第一域的web页面无法访问来自第二域的服务数据(步骤413)。以这种方式,web浏览器109可以检测到在web页面访问服务数据的尝试或向web页面提供服务数据的尝试。然后,基于域不相匹配的确定,web浏览器109可以返回与尝试相关联的错误消息。在某些实施例中,可以经由web浏览器109向用户显示该错误消息,以及可以进一步明显地通知用户:侵入用户的计算机以得到数据的尝试可能已经引起了错误。附加地或可替代地,可能无法给在第一域上执行的脚本提供来自第三域的内嵌框架的错误消息。在其他情形下,第一域的脚本可以使用超时信号或者确定到API的连接的检查来处理错误。因此,当时钟到期时,可以产生错误信号以触发将要在web页面上呈现的错误消息。\n[0066] 如果另一个内嵌框架的内容是与第一域相关联的,则该另一个域可以被web服务平台111用来向web浏览器109指示应当向web页提供服务数据。因此,服务数据可以在第一域的web页面处被访问(步骤415)。此外,web页面可以在web页面的其他部分利用这一服务数据(例如,通过调用与其他内容相关的再一个内嵌框架并提供服务数据或者通过在web页面上显示服务数据或以其他方式使用服务数据)。而且,如在图5中所详细描述的,所接收的服务数据可以包括web服务平台111生成的认证令牌。\n[0067] 认证令牌可以接着被用于至少部分地促使使用URL从第一域的web页面向第二域(例如,web服务平台111)发送数据,以创建包括认证令牌的第二域的桥(步骤417)。数据可以由web浏览器109根据来自web页面的指令来确定。在某些实施例中,基础URL与在内嵌框架的发起中所使用的以及基于认证令牌所增加的基础URL是相同的。在其他实施例中,URL可以作为服务数据的部分被传递。此外,基础URL可以被用于至少部分地基于认证令牌和要被发送的数据来生成另一个资源标识符。要被发送的数据可以是到web服务平台111的API的调用以及与该调用相关联的参数。因此,该URL可以包括调用作为URL的一部分。然后,web浏览器109至少部分地被web页面促使(例如,经由在web页面上执行的脚本)以使用所生成的另一个资源标识符来更新内嵌框架的位置标识符。接着,由于位置标识符被更新,因此自动促使web浏览器109重新加载内嵌框架,促使向第二域发送内容信息。\n[0068] 在另一个实施例中,内嵌框架可以接收来自第二域的指令以停止在内嵌框架中执行脚本。这可以包括在服务数据中和/或作为回调资源标识符的一部分。此外,这给web服务平台111提供了选项,以基于一个或多个理由(例如,与开发者相关联的web页面行为失当的信息)来停止与开发者标识符相关联的脚本。\n[0069] 图5是根据一个实施例用于提供跨站脚本的处理的流程图。在一个实施例中,控制逻辑205执行处理500,并且将其实现在例如如图8所示的包括处理器和存储器的芯片组上。附加地,web服务平台111的一个或多个组件可以提供用于实现处理500的步骤的手段。在步骤501,控制逻辑205至少部分地促使接收来自至少一个web页面的至少第一内嵌框架的发起请求。所述发起请求可以指定与所述至少一个web页面的域相关联的开发者标识符。附加地,发起请求可以进一步指定用户标识符(例如,与单点登录或者其他形式的认证相关联的安全用户标识符)。\n[0070] 控制逻辑205可以是基于安全用户标识符将发起请求与账号相关联的装置(步骤\n503)。如先前所述,账号管理器203可以提供用于将账号和请求相关联的方法。此外,与账号相关联的信息可以是要被提供给web页面的服务数据的一部分或者可以是使用脚本呈现的(例如,在内嵌框架中)。\n[0071] 附加地,控制逻辑205和密钥存储库115可以是用于基于开发者标识符确定回调资源标识符的装置(步骤505)。如前所述,回调资源标识符可以与密钥存储库115中的开发者标识符相关联。可选择地,在某些实施例中,将回调资源标识符与撤销状态相关联(步骤507)。撤销状态可以是与由API向web页面提供的脚本相关联的状态标识符,以指示内嵌框架停止所有脚本。\n[0072] 因此,web服务平台111保留撤销到脚本的访问的权利。web服务平台111的web服务API和/或服务门户201可以用于接收关于开发者的评论。因此,评论可以包括如下信息:在开发者标识符的域上执行的脚本是行为失当的,或者开发者以其他形式是不可信赖的。在某些实施例中,使用域作为标识符接收这些评论。然后,控制逻辑205可以基于该信息更新密钥存储库115。\n[0073] 此外,如先前所讨论的,控制逻辑205可以是基于安全用户标识符生成令牌的装置(步骤509)。可以将安全用户标识符和随机元素(例如时间戳)组合以生成令牌。令牌可以被保存(例如到密钥存储库115中)并且被连接到开发者标识符和与用户的当前会话中。在web页面和web服务平台111之间的以后的通信中,可以将令牌用作认证密钥的一部分以将通信连接到会话。在某些实施例中,可以使用令牌和/或撤销状态来更新回调资源标识符。附加地或可替换地,可以生成服务数据以包括令牌、撤销状态、其他信息(例如,账号信息、内容信息等)或其组合。在某些实施例中,控制逻辑205检查撤销状态,并确定对内嵌框架上脚本的访问。然后,控制逻辑205可以向内嵌框架发送指令以停止内嵌框架上的所有脚本。\n[0074] 接下来,在步骤511,控制逻辑205可以是确定以促使和至少部分地促使向内嵌框架传输回调资源标识符以在与内嵌框架相关联的另一个(例如,第二)内嵌框架的创建中使用的装置。如前所述,控制逻辑205生成给内嵌框架的指令以促使创建另一个内嵌框架,以向web页面传递信息。而且,如前所述,回调资源标识符可以包括令牌(例如,认证密钥)。此外,可以提供服务数据作为另一个内嵌框架的部分(例如,作为另一个内嵌框架的回调资源标识符的部分)。然后,从web页面到控制逻辑205的进一步的通信可以经由具有包括令牌的更新的位置标识符的内嵌框架。如上所述,更新的位置标识符可以是web服务平台111的域的URL,进一步包括令牌。\n[0075] 图6是根据一个实施例的用于为web浏览器提供跨站脚本的处理的梯形图。网络上的网络处理用带阴影的垂直框表示。从一个处理向另一个传递的消息用水平箭头表示。\n由处理执行的步骤由文本指出。图6中所表示的处理包括经由服务门户的用户认证以及web浏览器109中加载的web页面和与不同的域相关联的web服务平台111之间用于安全XSS的内嵌框架的使用。\n[0076] 在步骤601,web浏览器109的用户导航到包括web服务平台111的登录的服务门户web页面。服务门户web页面可以由服务门户201主控。服务门户201给用户提供静态内容(例如,向到达服务门户web页面的每个用户提供的内容)(步骤603)。静态内容可以在内容分发网络上提供。然后,在步骤605,web浏览器109向与用户关联的服务门户201提供认证信息。认证信息可以包括用户对于web服务平台111具有的用户名和密码。如果没有发现对于用户的账号,可以提示用户创建账号,然后认证到账号的访问。接着,服务门户201向账号管理器203提供认证信息,账号管理器203具有到包括用户的认证凭据、其他用户信息、以及用户具有访问权的服务的数据库的访问权。基于认证凭据,账号管理器203可以生成安全用户标识符(例如,用户认证信息和密钥的哈希(例如基于时间戳))并且向服务门户201提供安全用户标识符(步骤607)。接下来,web浏览器109接收用户已被认证的消息。在一个实施例中,消息包括安全用户标识符。\n[0077] 之后,用户可以从服务门户201导航到另一个域中的开发者的web页面。该web页面可以包括如下指令:访问来自web服务平台111的内容,以及在web页面上呈现该内容。\n在步骤611,web浏览器109使用开发者密钥(例如,开发者标识符)发起内嵌框架的创建。\nweb浏览器109接着在步骤613建立XSS。浏览器109中的用于API使用的XSS可以是与服务API 113的域相关联的内嵌框架。这可以通过从web服务平台111的服务API 113的发起信息而实现。接着,在步骤615,web浏览器109发送请求以使用开发者密钥发起和服务API113的通信。该请求可以是在内嵌框架中由web浏览器执行的webURL。此外,内嵌框架可以具有到安全用户标识符的访问权。接着,服务API 113访问安全用户标识符以将发起的会话和用户关联。这可以通过向账号管理器203发送安全用户标识符以检索关于用户的登录信息而实现(步骤617)。\n[0078] 接下来,在步骤619,服务API 113从密钥存储库115检索与开发者密钥关联的信息(步骤619)。所关联的信息可以包括一个或多个回调资源标识符。接着,在步骤621,服务API 113接收与开发者密钥相关联的回调资源标识符。回调资源标识符的示例可以是“[root domain 1]/bridge”。如之前所述,回调资源标识符可以与撤销状态相关联,以便禁用在内嵌框架上执行脚本。这可以被进一步附加作为附加信息。\n[0079] 进一步地,在步骤623,服务API 113生成令牌以关联开发者密钥、信息和/或发起的会话。这一令牌可以附加地包括随机元素(例如,基于时间戳或者其他选择的信息)以例如促进独特令牌的生成。令牌和回调资源标识符然后在内嵌框架被提供给web浏览器109(步骤625)。web浏览器109然后可以接收指令以创建到回调资源标识符的包括令牌的另一个内嵌框架(步骤627)。另一个内嵌框架可以被用作桥以从服务API 113向web浏览器109和web页面发送信息。在一个实施例中,资源标识符可以包括[root domain]、桥(bridge)、片段数据以提供通信信息。一个资源标识符的示例可以是[root domain 1]/bridge/#{JSONDATA}。在该示例中,JSONDATA可以包括服务数据、令牌、以及可以从服务API 113的域传输到web页面的域(第一域)的其他内容。此外,在一些实施例中,可以将JSONDATA分成多个片段,并且在多个数据传送中发送。这在数据传送中是有用的,是因为web浏览器可能具有URL长度的限制。在某些实施例中,将令牌提供给web浏览器作为服务数据的一部分。\n[0080] 使用上面的方案,web页面的开发者可以在他们的web页面上安全地提供内容,同时利用来自不同域的web服务。此外,web服务可以给web服务开发者安全地提供它们的内容。例如,集成在本文所描述的方案中的安全性特征包括基于开发者密钥创建来自第二域的内嵌框架以和web浏览器中的第一域通信。因为开发者密钥独立地连接到开发者域,因此在第一域处通过攻击不与开发者域相关联的实体以访问来自第二域的web服务的内容的尝试将失败。此外,没有认证令牌(在第一域中的web页面无法读取认证令牌),除了服务API 113的初始化之外的web页面和服务API 113之间的额外的通信不能发生,除非第一域也是开发者域。此外,web服务可以具有基于开发者密钥阻止与web服务相关联的脚本执行的选项。\n[0081] 本文所描述的提供安全跨站脚本的处理可以有利地经由软件、硬件(例如,通用处理器、数字信号处理(DSP)芯片、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等)、固件或者它们的组合来实现。以下对这种用于执行所描述的功能的示例性硬件进行详细描述。\n[0082] 图7示出了可以在其上实现本发明的实施例的计算机系统700。虽然针对特定的设备或装置对计算机系统700进行了描述,但是可以预期图7中的其他设备或装置(例如,网络元件、服务器等)也可以部署所示出的计算机系统700的硬件和组件。计算机系统700被编程(例如,经由计算机程序代码或指令)以如本文所述的那样提供安全跨站脚本,并且包括通信机制,诸如总线710,用于在计算机系统700的其它内部部件和外部部件之间传递信息。信息(也称为数据)被表示为可测量现象的物理表示,典型的为电压,但是在其他实施例中包括诸如磁的、电磁的、压力的、化学的、生物的、分子的、原子的、亚原子和量子的交互之类的现象。例如,北磁场和南磁场、或者零和非零电压表示二进制数位(比特)的两个状态(0、1)。其他现象可以表示更高基数的数位。在测量之前的多个同时量子状态的叠加表示量子比特(qubit)。一个或多个数位的序列构成用来表示字符数字或字符代码的数字数据。在一些实施例中,由特定范围内的接近连续的可测量值表示被称为模拟数据的信息。\n计算机系统700或者其一部分构成用来执行提供安全跨站脚本的一个或多个步骤的模块。\n[0083] 总线710包括一个或多个并行的信息导体,以便在耦合到总线710的设备之间快速地进行信息传递。用于处理信息的一个或多个处理器702与总线710耦合。\n[0084] 处理器702对计算机程序代码指定的信息执行与安全跨站脚本有关的一组操作。\n该计算机程序代码是一组指令或者语句,用于提供处理器和/或计算机系统的操作指令,以实现指定的功能。例如,该代码可以使用被编译为处理器的原生指令集的计算机编程语言来编写。该代码还可以直接使用原生指令集(例如机器语言)来编写。该组操作包括从总线710引入信息,以及将信息放到总线710上。该组操作通常还包括诸如通过相加或相乘或类似“或”(OR)、“异或”(XOR)和“与”(AND)之类的逻辑操作对两个或多个信息单元进行比较、对信息单元进行移位、以及将两个或更多信息单元组合。通过被称为指令的信息(例如一个或多个数位的操作代码)向处理器表示可由处理器执行的该组操作中的每个操作。将由处理器702执行的操作序列(例如操作代码序列)构成处理器指令,其也被称为计算机系统指令或者简单地被称为计算机指令。除了别的以外,处理器可以被实现为机械的、电的、磁的、光的、化学的或者量子的组件,其中所述组件为单独形式或者组合形式。\n[0085] 计算机系统700还包括耦合到总线710的存储器704。诸如随机存取存储器(RAM)或其他动态存储设备之类的存储器704对包括用于提供安全跨站脚本的处理器指令在内的信息进行存储。动态存储器允许计算机系统700改变存储在其中的信息。RAM允许存储在被称为存储器地址的位置处的信息单元独立于相邻地址处的信息而进行独立的存储和获取。存储器704还由处理器702使用以在处理器指令执行期间存储临时值。计算机系统\n700还包括只读存储器(ROM)706或耦合到总线710的其他静态存储器,用于存储不会被计算机系统700改变的包括指令在内的静态信息。一些存储器由当电源断电时其上存储的信息会丢失的易失性存储器组成。耦合到总线710的还有非易失性(永久性)存储设备\n708,例如磁盘、光盘或闪存卡等,用来存储包括指令在内的信息,这些信息即使在计算机系统700关闭或以其它方式断电后也仍然保留。\n[0086] 从外部输入设备712(诸如人类用户操作的包含字母数字键的键盘,或者传感器)向总线710提供包括安全跨站脚本指令在内的信息,以供处理器使用。传感器检测在其附近的状况并且将这些检测转换为与用于对计算机系统700中的信息进行表示的可测量现象兼容的物理表示。主要用于与人类交互的耦合到总线710的其它外部设备包括诸如阴极射线管(CRT)或液晶显示器(LCD)、或者用于呈现文字或图像的等离子屏幕或打印机之类的显示设备714,以及诸如鼠标或者轨迹球或光标方向键、或者运动传感器之类的指点设备\n716,用于控制呈现于显示器714上的小光标图像的位置以及发出与呈现于显示器714上的图形元素相关联的命令。在一些实施例中,例如在计算机系统700在没有人类输入的情况下而自动执行所有功能的实施例中,省略了外部输入设备712、显示设备714和指点设备\n716中的一个或多个。\n[0087] 在所例示的实施例中,诸如专用集成电路(ASIC)720之类的专用硬件耦合到总线\n710。该专用硬件被配置为执行出于特定目的处理器720不能快速地执行的操作。应用特定IC的示例包括用于为显示器714产生图像的图形加速卡、用于对通过网络发送的消息进行加密和解密的密码板、语言识别、以及到特殊外部设备的接口,该特殊外部设备例如为重复地执行某些复杂操作序列的、更有效地以硬件实现的机械手以及医疗扫描设备。\n[0088] 计算机系统700还包括耦合到总线710的通信接口770的一个或多个实例。通信接口770提供耦合到诸如打印机、扫描仪和外部磁盘之类的各种外部设备的单向或双向的通信,这些外部设备使用其自己的处理器来操作。通常而言,该耦合利用连接到本地网络\n780的网络链路778,其中具有其自己的处理器的各种外部设备连接到本地网络780。例如,通信接口770可以是个人计算机上的并行端口、串行端口或者通用串行总线(USB)端口。在一些实施例中,通信接口770为综合业务数字网(ISDN)卡、数字用户线(DSL)卡或者提供到相应类型的电话线的信息通信连接的电话调制解调器。在一些实施例中,通信接口770为用于将总线710上的信号转换为通过同轴电缆的通信连接的信号,或者转换为通过光纤线缆的通信连接的光信号的电缆调制解调器。作为另一个示例,通信接口770可以为局域网(LAN)卡,用于提供到诸如以太网之类的可兼容LAN的数据通信连接。也可以实现为无线链路。对于无线链路,通信接口770发送或接收或者既发送又接收承载诸如数字数据之类的信息流的包括红外和光信号在内的电的、声的或电磁信号。例如,在诸如类似于蜂窝电话的移动电话之类的无线手持设备中,通信接口770包括被称为无线电收发器的无线电波段的电磁发射机和接收机。在某些实施例中,通信接口770使得能够连接到通信网络105,以便到UE 101。\n[0089] 本文所使用的术语计算机可读介质是指参与向处理器702提供包括执行指令在内的信息的任意介质。这种介质可以采用许多形式,包括但不限于计算机可读存储介质(例如,非易失性介质、易失性介质)和传输介质。非暂态介质(例如非易失性介质)包括例如光或磁盘,如存储设备708。易失性介质包括例如动态存储器704。传输介质包括例如同轴电缆、铜线、光缆以及不利用电线或者电缆而是经过空间传输的诸如声波和电磁波(包括无线电波,光波和红外波)之类的载波。信号包括幅度、频率、相位、极化或通过传输介质传输的其它物理属性中人为的瞬态变化。通常形式的计算机可读介质包括例如软盘、软磁盘、硬盘、磁带、任何其他磁介质、CD-ROM、CDRW、DVD、任何其他光介质、穿孔卡、纸带、光学标记板、具有孔的模式或其他光学可识别标记的任何其它物理介质、RAM、PROM、EPROM、FLASH-EPROM、任何其他存储芯片或卡盘、载波或计算机可读的任何其他介质。这里所使用的术语计算机可读存储介质是指除了传输介质之外的任何计算机可读介质。\n[0090] 编码于一个或多个有形介质中的逻辑包括计算机可读介质和诸如ASIC 720之类的专用硬件两者中的一个或两者之上的处理器指令。\n[0091] 网络链路778典型地使用经过一个或多个网络的传输介质向使用或对信息进行处理的其它设备提供该信息通信。例如,网络链路778可以通过本地网络780向主机计算机782或者互联网服务提供商(ISP)操作的设备784提供连接。ISP设备784继而通过公共的世界范围的分组交换通信网网络(现在通常称作互联网790)来提供数据通信服务。\n[0092] 被称为服务器主机792、连接到互联网的计算机主控响应于通过互联网接收到的信息而提供服务的处理。例如,服务器主机792主控提供表示用于在显示器714上呈现的视频数据的信息的处理。可以预期可以将系统700的组件部署在其它计算机系统之内的多种配置(例如主机782和服务器792)中。\n[0093] 本发明的至少一些实施例涉及使用计算机系统700实现本文描述的一些或所有技术。基于本发明的一个实施例,计算机系统700响应于处理器702执行存储器704中包含的一个或多个处理器指令的一个或多个序列而执行这些技术。这些指令也被称为计算机指令、软件和程序代码,其可以从诸如存储设备708或者网络链路778之类的其它计算机可读介质读入存储器704中。存储器704中包含的指令序列的执行使得处理器702执行本文描述的一个或多个方法步骤。在可替换的实施例中,诸如ASIC 720之类的硬件可以代替软件或者与软件组合来实现本发明。因此,除非本文明确提出,否则本发明的实施例并不局限于硬件和软件的任何特定组合。\n[0094] 经由通信接口770通过网络链路778以及其它网络发送的信号承载去往和来自计算机系统700的信息。计算机系统700可以通过网络780和790以及其他网络,通过网络链路778和通信接口770发送和接收包括程序代码在内的信息。在使用互联网790的示例中,服务器主机792通过互联网790、ISP设备784、本地网络780和通信接口770发送由计算机700发送的消息所请求的用于特定应用的程序代码。所接收的代码可以在其被接收时由处理器702执行,或者可以将其存储在存储器704中,或者存储在存储设备708或其它非易失性存储器中以便以后执行,或者既存储于存储器704中又存储在存储设备708或其它非易失性存储器中。通过这种方式,计算机系统700可以获得载波上的信号形式的应用程序代码。\n[0095] 在将一个或多个指令序列以及数据两者或两者之一传送到处理器702以供其执行的过程中可以使用多种形式的计算机可读介质。例如,指令和数据可以在初始时承载于诸如主机782之类的远程计算机的磁盘上。远程计算机将该指令和数据加载到它的动态存储器中,并将使用调制解调器通过电话线发送该指令和数据。计算机系统700本地的调制解调器在电话线上接收该指令和数据,并且使用红外发射机将该指令和数据转换为作为网络链路778的红外载波上的信号。作为通信接口770的红外检测器接收到红外信号中承载的指令和数据,并且将表示指令和数据的信息置于总线710上。总线710将信息传送到存储器704上,处理器702使用随指令一起发送的数据中的一些数据从存储器704取回并执行指令。可选择地,可以将存储器704已接收的指令和数据在它们被处理器702执行之前或之后存储在存储设备708上。\n[0096] 图8示出了可以在其上实现本发明的实施例的芯片组800。芯片组800被编程为如本文所述的那样提供安全跨站脚本,并且包括例如参照图7描述的合并于一个或多个物理封装(例如芯片)中的处理器和存储器部件。举例来说,物理封装包括结构组合件(例如基板)上的一种或多种材料、部件和/或线路的布置,以便提供诸如物理强度、保留尺寸和/或电交互限制之类的一个或多个特性。可以预期在某些实施例中芯片组可以被实现于单个芯片之中。芯片组800或其一部分构成用于执行提供跨站脚本的一个或多个步骤的模块。\n[0097] 在一个实施方式中,芯片组800包括诸如总线801之类的通信机制,用于在芯片组\n800的部件间传递信息。处理器803连接到总线801,以执行指令并且处理存储在例如存储器805中的信息。处理器803可以包括一个或多个被配置为独立地运行的处理核。多核处理器能够在单个物理封装之内进行多重处理。多核处理器的示例包括两个、四个、八个或者更多个处理核。可替换地或者附加地,处理器803可以包括被配置为经由总线801串联的一个或多个微处理器,以便实现指令的独立执行、流水线处理以及多线程处理。处理器803还可以附带一个或多个专用部件(例如一个或多个数字信号处理器(DSP)807、或者一个或多个专用集成电路(ASIC)809),以便执行某些处理功能和任务。DSP 807典型地被配置为独立于处理器803对真实信号(例如声音)进行实时处理。类似地,ASIC 809可以被配置为执行通用处理器不容易执行的特定功能。辅助于执行本文描述的本发明的功能的其它专用部件包括一个或多个现场可编程门阵列(FPAG)(未显示),一个或多个控制器(未显示)或者一个或多个其它专用计算机芯片。\n[0098] 处理器803以及随附组件经由总线801连接到存储器805。存储器805既包括动态存储器(例如RAM、磁盘、可写光盘等)还包括静态存储器(例如ROM、CD-ROM等),用于存储可执行指令,当这些指令被执行时,它们执行本文所描述的创新性步骤,以提供安全跨站脚本。存储器805还对与执行创新性步骤相关联的或者由执行创新性步骤产生的数据进行存储。\n[0099] 图9是根据一个实施例的能在图1的系统中操作的用于通信的移动终端(例如,手持机)的示例性组件的示图。在某些实施例中,移动终端900或其中一部分构成执行用于提供安全跨站脚本的一个或多个步骤的装置。通常而言,无线电接收机经常按照前端和后端特性来定义。接收机的前端包括全部射频(RF)电路,而后端包括全部基带处理电路。\n如在本申请中使用的,术语“电路”是指如下两者:(1)仅硬件实现(例如仅以模拟和/或数字电路实现),以及(2)电路和软件(和/或固件)的组合(例如,如果应用于特殊环境,指一起工作的一个或多个处理器(包括一个或多个数字信号处理器)、软件和一个或多个存储器的组合,以使得诸如移动电话或服务器之类的装置执行各种功能)。这里定义的“电路”适用于本申请(包括权利要求)中对该术语的所有使用。作为另一个示例,如在本申请中使用的以及如果适用于特殊环境,术语“电路”还将涵盖仅一个(或多个)处理器及其所附软件和/或固件的实现。如果用于特殊的环境,术语“电路”还将涵盖例如移动电话中的基带集成电路或应用处理器集成电路、或者蜂窝网络设备或其它网络设备中的类似的集成电路。\n[0100] 电话的相关内部组件包括主控单元(MCU)903、数字信号处理器(DSP)905、以及包括麦克风增益控制单元和扬声器增益控制单元的接收机/发射机单元。主显示单元907为用户提供显示,以支持执行或支持提供安全跨站脚本的步骤的各种应用和移动终端功能。显示单元9包括被配置为用于显示移动终端(例如,移动电话)的至少一部分用户界面的显示电路。此外,显示单元907和显示电路被配置为辅助对移动终端的至少一些功能的用户控制。音频功能电路909包括麦克风911和对麦克风911的语音信号输出进行放大的麦克风放大器。经放大的来自麦克风911的语音信号输出被馈送至编码器/解码器(CODEC)913。\n[0101] 无线电部分915进行功率放大和频率转换,以便经由天线917与移动通信系统中包含的基站进行通信。功率放大器(PA)919和发射机/调制电路操作地响应于MCU 903,其中如所属领域已知的那样,PA 919的输出耦合到双工器921或者环行器或者天线开关。PA \n919还耦合到电池接口和电源控制单元920。\n[0102] 在使用中,移动终端901的用户对着麦克风911讲话,并且他或她的声音随着任意已检测的背景噪声一起被转换成模拟电压。所述模拟电压随后通过模数转换器(ADC)923被转换成数字信号。控制单元903将数字信号路由到DSP 905中,以便在其中进行诸如语音编码、信道编码、加密和交织之类的处理。在一个实施例中,由未单独示出的单元,使用诸如全球演进(EDGE)、通用分组无线业务(GPRS)、全球移动通信系统(GSM)、互联网协议多媒体子系统(IMS)、通用移动电信系统(UMTS)等之类的蜂窝传输协议,以及使用任何其他合适的无线介质(例如微波接入(WiMAX)、长期演进(LTE)网络、码分多址(CDMA)、宽带码分多址(WCDMA)、无线高保真(WiFi)、卫星等),对已处理的语音信号进行编码。\n[0103] 编码后的信号随后被路由到均衡器925,用来补偿通过空中传输期间产生的任意频率相关损失(例如相位和幅度失真)。在对比特流进行均衡后,调制器927将信号和RF接口929产生的RF信号组合。调制器927通过频率或相位调制的方式产生正弦波。为了准备用于传输的信号,上变频器931将调制器927正弦波输出和合成器产生的另一个正弦波进行结合,以实现所期望的传输频率。随后通过PA 919发送该信号,以便将信号提高到适当的功率水平。在实际系统中,PA919为可变增益放大器,其增益由DSP 905根据从网络基站接收的信息进行控制。随后在双工器921中对信号进行过滤,并且可选地将其发送到天线耦合器935以进行阻抗匹配,从而提供最大功率传输。最终,经由天线917将信号发送到本地基站。可以提供自动增益控制(AGC),以控制接收机最后阶段的增益。信号可以从那里转发到远程电话,该远程电话可以为另一个蜂窝电话、其他移动电话或连接到公共交换电信网络(PSTN)或者其他电信网络的座机。\n[0104] 向移动终端901发送的语音信号经由天线917接收,并且立即经由低噪声放大器(LNA)937放大。下变频器939降低载频,而解调器941除去RF仅保留数字比特流。随后信号经过均衡器925,并由DSP 905处理。数模转换器(DAC)943对信号进行转换,并且通过扬声器945将所得输出发送给用户,所有这些都在可以作为中央处理单元(CPU)(未示出)来实现的主控单元(MCU)903的控制之下。\n[0105] MCU 903接收包括从键盘947输入的信号在内的各种信号。键盘947和/或MCU \n903与其他用户输入组件(例如麦克风911)组合在一起包括管理用户输入的用户界面电路。MCU 903运行用户界面软件以辅助用户控制移动终端901的至少一些功能,从而提供安全跨站脚本。MCU 903还分别向显示器907和语音输出开关控制器传递显示命令和交换命令。进一步地,MCU 903与DSP 905交换信息,并且可以访问可选地结合的SIM卡949和存储器951。此外,MCU 903执行终端所需的各种控制功能。取决于实现方式,DSP 905可以对语音信号执行多种常规数字处理功能中的任意功能。此外,DSP 905根据麦克风911检测的信号确定本地环境的背景噪声水平,并且将麦克风911的增益设置为选定的水平,以便对移动终端901的用户的自然倾向进行补偿。\n[0106] CODEC 913包括ADC 923和DAC 943。存储器951存储包括呼入音调数据在内的各种数据,并且能够存储包括经由例如全球互联网接收的音乐数据在内的其他数据。软件模块可以驻留在RAM存储器、闪存、寄存器或者本领域已知的任意其它形式的可写存储介质中。存储设备951可以是但不限于单个存储器、CD、DVD、ROM、RAM、EEPROM、光存储器,或者能够存储数字数据的任何其他非易失性的存储介质。\n[0107] 例如,可选地结合的SIM卡949承载诸如蜂窝电话号码、运营商提供的服务、订阅详情以及安全信息之类的重要信息。SIM卡949主要服务于识别无线电网络上的移动终端\n901。SIM卡949还包括用来存储个人电话号码登记、文本消息以及用户特定移动终端设置的存储器。\n[0108] 虽然已经结合许多实施例和实施方式对本发明进行了描述,但是本发明并不局限于此,而是覆盖了落入所附权利要求的范围之内的各种明显的修改和等效设置。虽然本发明的特征被表达为权利要求之间的特定组合,但是可以预期这些特征可以以任意的组合和顺序来进行排列。
法律信息
- 2018-12-07
未缴年费专利权终止
IPC(主分类): G06F 21/51
专利号: ZL 201080063245.9
申请日: 2010.12.13
授权公告日: 2015.04.15
- 2016-02-10
专利权的转移
登记生效日: 2016.01.21
专利权人由诺基亚公司变更为诺基亚技术有限公司
地址由芬兰埃斯波变更为芬兰埃斯波
- 2015-04-15
- 2012-12-19
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201080063245.9
申请日: 2010.12.13
- 2012-10-24
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2006-11-22
|
2005-05-20
| | |
2
| |
2009-03-18
|
2007-09-14
| | |
3
| |
2002-08-28
|
2001-03-05
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |