受限计算机环境中的交叉源通信制造技术

技术编号:39260012 阅读:27 留言:0更新日期:2023-10-30 12:11
本说明书公开了用于在计算系统上的第一执行上下文和计算系统上的第二执行上下文之间传送数据的技术。第一执行上下文可以执行来自第一源的内容,第二执行上下文可以执行来自与第一源不同的第二源的内容,并且作为计算系统实施的同源策略的结果,第一执行上下文和第二执行上下文中的每一个可以被限制访问另一个的数据。方法可以包括在第一执行上下文和第二执行上下文之间建立双向通信信道。二执行上下文之间建立双向通信信道。二执行上下文之间建立双向通信信道。

【技术实现步骤摘要】
受限计算机环境中的交叉源通信
[0001]本申请是申请日为2018年03月14日、申请号为201880003100.6、专利技术名称为“用于传送数据的方法以及计算系统”的专利技术专利申请的分案申请。


[0002]本文总体上涉及用于在计算系统上的分离的执行上下文之间(诸如web浏览器中的不同窗口之间)通信的技术。

技术介绍

[0003]服务器和计算设备等的硬件和软件能力的进步导致了越来越复杂的网页、应用界面和其他电子文档。例如,一些网页整合了来自多个源的内容以减少用户反复地导航到其他网站并返回原始网页的需要。举例来说,网页可以包括为网页提供主要内容的顶级文档和在顶级文档中嵌入其他内容(诸如来自地图服务器或导航服务器的内容)的一个或多个内嵌框架(iFrame)。在一些情况下,嵌入的文档从与其顶级文档从中获得的域不同的域获得,因而被称为具有不同的源。
[0004]来自不同的源的文档可能对计算系统造成威胁。例如,来自第一源的文档可能携带被设计为危害来自第二源的文档(例如,通过在其他文档中注入进一步的恶意代码,通过检测其他文档的文档对象模本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种用于在计算系统上的第一执行上下文和所述计算系统上的第二执行上下文之间传送数据的计算机实现的方法,其中,所述第一执行上下文执行来自第一源的内容,其中,所述第二执行上下文执行来自与所述第一源不同的第二源的内容,以及其中,所述计算系统实施安全策略,所述安全策略限制所述第一执行上下文和所述第二执行上下文之间的特定交互,所述方法包括:在所述第一执行上下文和所述第二执行上下文之间交换第一组消息以在所述第一执行上下文和所述第二执行上下文之间建立双向通信信道,其中,所述第一组消息不被所述安全策略限制;在建立所述双向通信信道之后:限制所述第一执行上下文内的第一服务或所述第二执行上下文内的第二服务对所述双向通信信道的使用;验证所述双向通信信道,所述验证包括:从所述第二执行上下文向所述第一执行上下文发送第一信道连接消息,所述第一信道连接消息指示所述第一执行上下文将所述双向通信信道设置为连接状态,在所述连接状态中,去除对所述第一执行上下文内的第一服务对所述双向通信信道的使用的限制;从所述第一执行上下文向所述第二执行上下文发送第二信道连接消息,所述第二信道连接消息指示所述第二执行上下文将所述双向通信信道设置为连接状态,在所述连接状态中,去除对所述第二执行上下文内的第二服务对所述双向通信信道的使用的限制;以及响应于验证所述双向通信信道,停止限制所述第一执行上下文内的第一服务或所述第二执行上下文内的第二服务对所述双向通信信道的使用。2.根据权利要求1所述的计算机实现的方法,其中,在所述第一执行上下文和所述第二执行上下文之间交换第一组消息以建立双向通信信道,包括:在所述第一执行上下文中接收从所述第二执行上下文发送的初始发现消息;以及在所述第一执行上下文中并且基于从所述第二执行上下文发送的所述初始发现消息确定所述第二执行上下文的标识符。3.根据权利要求2所述的计算机实现的方法,其中,在所述第一执行上下文和所述第二执行上下文之间交换第一组消息以建立双向通信信道,还包括:使用所述第二执行上下文的所述标识符建立所述双向通信信道的第一单向子信道,所述第一单向子信道被配置为将消息从所述第一执行上下文携带到所述第二执行上下文。4.根据权利要求3所述的计算机实现的方法,其中,在所述第一执行上下文和所述第二执行上下文之间交换第一组消息以建立双向通信信道,还包括:在所述第二执行上下文中接收通过所述第一单向子信道从所述第一执行上下文发送的连接广播消息;在所述第二执行上下文中并且基于通过所述第一单向子信道从所述第一执行上下文发送的连接广播消息确定所述第一执行上下文的标识符;以及使用所述第一执行上下文的所述标识符建立所述双向通信信道的第二单向子信道,所述第二单向子信道被配置为将消息从所述第二执行上下文携带到所述第一执行上下文。5.根据权利要求1所述的计算机实现的方法,其中,所述第一执行上下文包括被配置为
呈现来自所述第一源的内容的第一窗口对象,其中,所述第二执行上下文包括被配置为呈现来自所述第二源的内容的第二窗口对象。6.根据权利要求5所述的计算机实现的方法,其中:呈现在所述第一窗口对象中的内容包括由在与所述第一源关联的第一域处的一个或多个服务器托管的第一网页;呈现在所述第二窗口对象中的内容包括由在与所述第二源关联的第二域处的一个或多个服务器托管的第二网页;以及所述第二窗口对象是嵌入在所述第一网页中的内嵌框架(iFrame)。7.根据权利要求4所述的计算机实现的方法,还包括:用所述计算系统的web浏览应用生成所述第一执行上下文和所述第二执行上下文,其中,所述第一单向子信道被配置为使用所述web浏览应用的postMessage应用编程接口(API)来将消息从所述第一执行上下文携带到所述第二执行上下文,其中,所述第二单向子信道被配置为使用所述web浏览应用的postMessage API来将消息从所述第二执行上下文携带到所述第一执行上下文。8.根据权利要求1所述的计算机实现的方法,其中,在所述计算系统上的执行上下文的层次结构中,所述第二执行上下文是所述第一执行上下文的后代。9.根据权利要求1所述的计算机实现的方法,还包括:在第一执行上下文中设置针对第一信道连接消息的侦听器;以及当侦听器检测到第一信道连接消息的接收时,去除对所述第一执行上下文内的第一服务对所述双向通信信道的使用的限制。10.一个或多个非暂态计算机可读介质,其上存储有指令,所述指令在由计算系统的一个或多个处理器执行时使所述一个或多个处理器执行用于在所述计算系统上的第一执行上下文和所述计算系统上的第二执行上下文之间传送数据的操作,其中,所述第一执行上下文执行来自第一源的内容,其中,所述第二执行上下文执行来自与所述第一源不同的第二源的内容,其中,所述计算系统实施安全策略,所述安全策略限制所述第一执行上下文和所述第二执行上下文之间的特定交互,以及其中,所述操作包括:在所述第一执行上下文和所述第二执行上下文之间交换第一组消息以在所述第一执行上下文和所述第二执行上下文之间建立双向通信信道,其中,所述第一组消息不被所述安全策略限制;在建立所述双向通信信道之后:限制所述第一执行上下文内的第一服务或所述第二执行上下文内的第二服务对所述双向通信信道的使用;验证所述双向通信信道,所述验证包括:从所述第二执行上下文向所述第一执行上下文发送第一信道连接消息,所述第一信道连接消息指示所述第一执行上下文将所述双向通信信道设置为连接状态,在所述连接状态中,去除对所述第一执行上下文内的第一服务对所述双向通信信道的使用的限制;...

【专利技术属性】
技术研发人员:M
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1