对秘密内容的透明执行的制作方法

文档序号:11236551阅读:218来源:国知局
对秘密内容的透明执行的制造方法与工艺

本公开涉及内容安全性,并且更具体地涉及允许以对用户而言透明的方式在用户设备中执行内容的秘密部分的系统。



背景技术:

现代通信技术中的不断进步增加了用户消耗的在线内容的量。例如,在线内容可以包括经由web浏览器通过专有应用等传送的文本、音频和/或视频。用户可能能够通过他们的移动设备访问他们的住所、他们的工作场所、以及所有点之间的在线内容。从几乎任何位置随时访问在线内容的能力已经对内容提供商产生了巨大的需求。虽然许多传统的内容提供商(例如印刷媒体、电视制作者、电影制作者、游戏开发者)等正在转向提供数字传送和流媒体,但仍然存在的至少有一个问题是保护专有内容。例如,专有内容可以包括置于最终用户设备上用于支持在线内容的呈现的代码和/或其他程序化构造。虽然内容提供商可能需要或至少希望将专有内容置于最终用户设备上,但他们也希望保护内容,使其不能被别人篡夺。

传统上,内容提供商依靠法律协议或加密来保护他们的专有信息。在不加强警觉的情况下法律协议不提供任何保护,这可能会大大增加业务成本。加密可以提供保护,但是对于享受克服加密的用户(例如,黑客)而言,这具有充当诱惑的无意副作用。因此,任何类型的加密将成为黑客智胜的目标,最终导致加密无用,并且专有数据暴露。由于此漏洞,内容提供商必须冒险将其专有内容暴露给最终用户或者必须阻止在终端用户的设备上放置任何有价值的数据。完全由远程资源执行的解决方案(例如,不在最终用户的设备上放置任何数据)可能对内容提供商的设备(例如,网络、服务器等)施加相当高的处理负担,这可能导致较高的运营成本和较差的用户体验质量。

附图说明

所要求保护的主题的各个实施例的特征和优点将随着以下具体实施方式进行并且通过参照附图变得明显,其中,相同的数字指代相同的部件,并且在附图中:

图1示出了根据本公开的至少一个实施例的用于秘密内容的透明执行的示例性系统;

图2示出了根据本公开的至少一个实施例的用于用户设备和构成远程资源的至少一个设备的示例性配置;并且

图3示出了根据本公开的至少一个实施例的用于秘密内容的透明执行的示例性操作。

虽然以下具体实施方式将参考说明性实施例进行,但是许多替代方案、修改及其变化将对本领域的技术人员而言是明显的。

具体实施方式

本申请涉及秘密内容的透明执行。在至少一个实施例中,一种设备可以能够下载可包括至少一个秘密部分的内容,其中所述内容的任何秘密部分可以被引导到所述设备中的安全工作空间,设备操作系统组件、应用、用户等不可访问所述安全工作空间。所述设备能够以执行所述内容的秘密部分而不直接访问的方式将所下载的内容呈现给用户。例如,所述设备可以下载内容,并且所述设备中的引导器模块(directormodule)可以将所述内容的任何秘密部分引导到安全工作空间。当内容呈现模块呈现所述内容时,可以将所述内容的秘密部分所需的任何输入提供给所述安全工作空间。所述内容的秘密部分可以在所述安全工作空间的保护内执行,并且然后可以将由所述内容的秘密部分的执行所产生的任何输出返回到所述内容呈现模块。

在至少一个实施例中,例如,用于透明地执行内容的秘密部分的设备可以包括通信模块、内容呈现模块、安全工作空间以及引导器模块。所述通信模块可以用于至少与远程资源进行交互。所述内容呈现模块可以用于至少使经由所述通信模块从所述远程资源接收到的内容由所述设备呈现。所述安全工作空间可以用于执行所述内容的至少一个秘密部分。所述引导器模块可以用于引导将所述内容的所述至少一个秘密部分加载到所述安全工作空间中。

在至少一个实施例中,所述内容呈现模块可以进一步用于使所述通信模块从所述远程资源中请求所述内容。示例性内容呈现模块可以包括web浏览器。所述引导器模块可以用于基于与所述内容的所述至少一个秘密部分相关联的名称、类型或属性中的至少一者来引导将所述内容的所述至少一个秘密部分加载到所述安全工作空间中。例如,与所述内容的所述秘密部分相关联的所述属性可以是如以超文本标记语言(html)定义的元素属性。

在相同和不同的实施例中,所述引导器模块可以进一步用于向所述内容呈现模块指示所述内容的所述至少一个秘密部分被加载在所述安全工作空间中。所述内容呈现模块可以不可访问所述内容的被加载在所述安全工作空间中的所述至少一个秘密部分。当执行所述内容的所述至少一个秘密部分时,所述安全工作空间可以用于:从所述内容呈现模块接收至少一个输入;通过使用所述至少一个输入在所述安全工作空间中执行所述内容的所述至少一个秘密部分来生成至少一个输出;以及将所述至少一个输出提供给所述内容呈现模块。与本公开一致,一种用于透明得执行内容的秘密部分的示例性方法可以包括:将来自远程资源的内容接收到设备中;判定所述内容的任何部分是否是秘密的;将内容的被确定为秘密的任何部分引导到所述设备中的安全工作空间中;以及在所述设备中执行所述内容,其中在所述安全工作空间内执行所述内容的任何秘密部分。

图1示出了根据本公开的至少一个实施例的用于秘密内容的透明执行的示例性系统100。例如,系统100可以至少包括用户设备102和远程资源104。用户设备102的多个示例可以包括但是不限于:基于来自谷歌公司的os、来自苹果公司的和/或os、来自微软公司的os、来自linux基金会的tizentmos、来自mozilla项目的os、来自黑莓公司的os、来自hewlett-packard公司的os、来自symbian基金会等的os等的移动通信设备,诸如蜂窝手机或智能电话等;移动计算设备,诸如来自苹果公司的谷歌公司的微软公司的三星公司的galaxy亚马逊公司的kindle等的平板电脑;包括由英特尔公司制造的低功耗芯片组的上网本、膝上型轻便电脑、掌上电脑等;通常固定的计算设备,诸如台式计算机、智能电视、小形状因子计算解决方案(例如,适用于空间有限的应用、电视机顶盒等),如英特尔公司的nextunitofcomputing(nuc)平台等。远程资源104可以包括经由网络连接可被用户设备102访问的至少一个计算设备。示例性网络可以包括但不限于:局域网(lan)、广域网(wan)(如互联网)、全球域网(gan)等。在至少一个实施例中,远程资源104可以包括作为云计算架构的一部分运行的至少一个数据服务器。例如,云计算架构可以包括多个数据服务器,所述数据服务器单独地或一致地操作以向用户设备102提供各种数据处理相关的服务。

例如,用户设备102可以至少包括内容呈现(cp)模块106、安全工作空间(sw)108以及引导器模块110。cp模块106可以被配置为用于使用户设备102呈现内容。如本文所提及的,“内容”可以包括数据指令和/或其他编程对象/元素,以及可以通过执行诸如多媒体源文件(例如,文本、音频、视频文件)的编程元素而作为目标的任何外部文件。一般地,内容的“呈现”可以包括内容内的各种可执行程序的启动,所述可执行程序可以例如导致将多媒体数据视觉和/或听觉呈现给用户设备102的用户。在至少一个实施例中,cp模块106可以至少包括web浏览器应用,所述web浏览器应用可以允许用户浏览web、查看网页、下载内容等。web浏览器的示例可以包括但不限于:来自microsoft公司的internetexplorer、来自mozilla项目的firefox和opera、来自apple公司的safari等。可以能够通过例如执行专门设计用于传送在线内容的编程语言(例如,超文本标记语言(html))的指令来呈现cp模块106。web浏览器可以解释以html格式编码的指令,以使用户设备102呈现包括各种视觉对象、接口、嵌入式音频和/或视频媒体等的网页。

例如,sw108可以包括至少一个可信执行环境(tee),在所述可信执行环境中可以执行已知良好程序,机密信息可以以安全的方式存储等。一般地,sw108可以包括一组计算资源,所述一组计算资源是安全的,使得在sw108内执行的程序以及与这些执行程序相关联的任何数据与用户设备102的其余部分隔离。在程序执行期间,外部参与者不能干扰或观察sw108内的程序/数据,除了该程序可以被启动或停止以及可以插入或删除相关联的数据之外。能够以受控的方式释放离开sw108的任何数据。在一个示例性实施方式中,sw108可以采用由英特尔公司开发的软件保护扩展(sgx)技术。sgx可以在系统存储器内提供安全的硬件加密的计算和存储区域,其内容不能被特权代码甚至通过将硬件探头应用到存储器总线而破译。当sw108被sgx保护时,与本公开一致的实施例使得入侵者不可能破译sw108的内容。受保护的数据在sgx之外不能被观察到,并且因此在sgx之外是不可访问的。

在其中sw108采用sgx来实现的示例性实施方式中,程序的身份(例如,基于每个程序的内容的加密哈希测量)可以被签名并存储在每个程序内。当所述程序被加载到sw108中时,处理器可以验证程序的测量(例如,由处理器计算)与先前嵌入在所述程序内的测量相同。用于签署嵌入式测量的签名也是可验证的,因为处理器可以提供有用于在程序加载时刻对签名进行验证的公钥。恶意软件不能篡改所述程序,因为其可验证的测量也会被更改。恶意软件也不能假冒签名,因为签名密钥与程序的作者是安全的。因此,软件可以不被任何恶意软件读取、写入或更改。还可以在sw108中保护数据。例如,sw108中执行的已知良好程序可以对诸如密钥、密码、许可证等的各种数据进行加密,使得只有验证好的程序可以对该数据进行解密。在至少一个实施例中,sw108可以包括至少一个安全存储器空间,在所述安全存储器空间中可以执行内容的秘密部分。内容的所有秘密部分可以驻留在相同的sw108中,或者多于一个的分开的sw108实例可以各自容纳所述内容的一个不同的秘密部分。利用多个分开的sw108实例可以利用用户设备102中更多的资源,但是也可以为内容的秘密部分提供更好的安全性,因为一个sw108示例被损坏(例如被破坏)可以不影响另一sw108实例的完整性,从而允许剩余的实例保持完整、功能和安全。

引导器模块110可以与cp模块106和sw108一起工作,以在用户设备102中建立用于呈现的内容。首先,引导器模块110可以指示应被加载到sw108中的内容的部分。例如,引导器模块110可以包括应被引导到sw108的内容的列表或表。该信息在被加载到用户设备102中时可以被编码到引导器模块110中,可以在其他程序被加载到用户设备102时(例如,当cp模块106被加载到用户设备102中时)可以被提供给引导器模块110,或者可以在加载内容时提供。例如,远程资源104可以包括用于向用户设备102提供内容的内容提供商112。例如,内容提供商112可以包括用于分发由内容创建者、内容分发者等拥有的内容的至少一个服务器。在至少一个实施例中,内容提供商112可以指示引导器模块110(例如,作为所下载内容的一部分)所述内容的哪些部分是秘密的、并且因此需要被引导到sw108。例如,来自内容提供商112的指令可以使用分配在引导器模块110与内容提供商112之间的密钥集进行加密,以避免在由引导器模块110接收之前拦截和改变指令。

在用户设备102中接收的内容的秘密部分可以基于诸如例如姓名、类型、属性等的标准被引导到sw108。使用html作为示例,html版本5(html5)可以包括以下属性,例如但不限于:指定媒体资源类型的“媒体”,指定所述媒体文件的url的“src”,以及指定媒体资源的媒体类型的“类型”。在至少一个实施例中,有待与最终用户保密的内容的部分可以编码有引导器模块110知道的多个特定属性,以被引导至sw108。引导器模块110还可以被配置为向cp模块106告知代码的哪些部分被存储在sw108中。虽然cp模块106无法直接访问sw108的内容,但是当以允许“透明执行”所述内容(例如,允许将所述内容完全呈现给用户,但仍保护内容的秘密部分免遭暴露)的方式呈现内容时,所述两个模块需要进行交互。在至少一个实施例中,cp模块106可以将sw108作为“黑箱”组件进行处理。更具体地,cp模块106无法查看sw108的内容、但可以简单地以名称调用所述内容的秘密部分,这然后可以使sw108至少执行所述内容的秘密部分。作为调用的一部分,cp模块106还可以向sw108提交输入、并且然后从sw108接收输出。当从cp模块106接收到输入时,sw108然后可以执行内容中对应于所述输入的至少一个秘密部分,并且然后可以将来自代码的所述至少一个秘密部分的执行的输出返回到cp模块106。例如,内容的秘密部分可以是视频解码器,所述输入可以是经编码的视频,并且所述输出可以是用于在用户设备102上呈现的视频的解码版本。

可替代地,sw108可以包括专有数据处理算法(例如,数据挖掘算法、web结果过滤算法、密钥生成和/或验证算法等),其中到sw108的输入可以包括原始数据,并且所述输出可以包括经处理的数据。在操作示例中,cp模块106可以最初向远程资源104中的内容提供商112传输对内容的请求。内容提供商112可以向用户设备102传输所请求的内容,引导器模块110可以引导到各个目的地。“标准”内容(例如,所接收的内容中确定不是秘密的任何部分)可以被引导到cp模块106。所述内容中引导器模块110确定(例如,基于名称、类型、属性等)是秘密的任何部分可以被引导至sw108。引导器模块110可以进一步提供多个执行指示,所述执行指示例如向cp模块106指示内容的哪些部分驻留在sw108。cp模块106然后可以与sw108结合地操作来呈现所述内容。虽然图1未示出,但在至少一个实施例中,引导器模块110的功能可以被集成到cp模块106中。考虑到此配置,cp模块106可以处理将所述内容的任何秘密部分引导至sw108,并且因此当需要时在所述内容的执行过程中已经知道在sw108中所述内容的哪些部分是可访问的。

图2示出了根据本公开的至少一个实施例的用于用户设备102和构成远程资源104的至少一个设备的示例性配置。具体地,用户设备102’和远程资源104’可以能够执行诸如在图1中所公开的示例性功能。然而,用户设备102’和远程资源104’仅意指作为在与本公开一致的实施例中可用的装置的示例,并且并不意在将这些各个实施例限制在任何特定方式的实现方式。

用户设备102’可以包括例如被配置成用于管理设备操作的系统模块200。系统模块200可以包括例如处理模块202、存储器模块204、电源模块206、用户接口模块208以及通信接口模块210。用户设备102’还可以包括通信模块212和引导器模块110’。虽然通信模块212和引导器模块110’已经被展示为与系统模块200分离,但是为了解释的目的,仅仅提供了图2中所示的示例实现方式。与通信模块212和/或引导器模块110’相关联的一些或全部功能可以并入系统模块200。

在用户设备102’中,处理模块202可以包括位于分离部件中的一个或多个处理器、或者替代性地,在单个部件中(例如,在片上系统(soc)配置中)具体化的一个或多个处理核以及任何处理器相关的支持电路(例如,桥接接口等)。示例性处理器可以包括但不限于:可从英特尔公司获得的各种基于x86的微处理器,包括pentium、xeon、itanium、celeron、atom、corei系列产品族的微处理器;高级risc(例如,精简指令集计算)机器或“arm”处理器等。支持电路的示例可以包括芯片组(例如,可从英特尔公司获得的北桥、南桥等),该芯片组被配置为提供接口,处理模块202可以通过该接口与用户设备102’中的不同总线等上以不同速度操作的其他系统组件相互作用。通常与支持电路相关联的功能的部分或全部还可以包括在与处理器一样的物理封装体中(例如,诸如在可从英特尔公司获得的处理器的沙桥(sandybridge)族中)。

处理模块202可以被配置成用于执行用户设备102’中的各个指令。指令可以包括程序代码,所述程序代码被配置成用于使处理模块202执行与读数据、写数据、处理数据、制定数据、转换数据、变换数据等相关的活动。信息(例如,指令、数据等)可以被存储在存储器模块204中。存储器模块204可以包括固定或可移除格式的随机存取存储器(ram)或只读存储器(rom)。ram可以包括被配置成用于在用户设备102’的操作过程中保持信息的易失性存储器,诸如例如静态ram(sram)或动态ram(dram)。rom可以包括基于bios、uefi等配置的用于在设备102’被激活时提供指令的非易失性(nv)存储器模块、诸如电子可编程rom(eproms)的可编程存储器、闪存等。其他固定/可移除存储器可以包括但不限于:磁存储器(诸如例如,软盘、硬盘驱动器等)、电子存储器(诸如固态闪存(例如,嵌入式多媒体卡(emmc))等)、可移除存储卡或可移除存储棒(例如,微型存储卡(usd)、usb等)、光存储器(诸如基于致密盘的rom(cd-rom))、数字视频盘(dvd)、蓝光碟等。

电源模块206可以包括内部电源(例如,电池、燃料电池等)和/或外部电源(例如,机电或太阳能发电机、电网、外部燃料电池等)、以及相关电路(被配置成用于为用户设备102’供应操作所需的电源)。用户接口模块208可以包括硬件和/或软件以便允许用户与设备102’(诸如例如,各种输入机构(例如,麦克风,开关,按钮,旋钮,键盘,扬声器,触敏表面,被配置成用于捕获图像和/或感测接近度、距离、运动、姿势、取向、生物测定数据的一个或多个传感器等)以及各种输出机构(例如,扬声器,显示器,发光/闪烁指示器,针对振动、运动的机电部件等)进行交互。支持用户接口模块208的硬件可以并入用户设备102’内和/或可以经由有线或无线通信介质耦合至用户设备102’。

通信接口模块210可以被配置成用于对分组路由以及通信模块212的其他控制功能进行管理,所述通信模块可以包括被配置成用于支持有线和/或无线通信的资源。在某些实例中,用户设备102’可以包括由集中通信接口模块210管理的多于一个的通信模块212(例如,包括针对有线协议和/或无线电台的分离物理接口模块)。有线通信可以包括串行和并行有线介质,例如以太网、通用串行总线(usb)、火线、霹雳、数字视频接口(dvi)、高清晰度多媒体接口(hdmi)等。例如,无线通信可以包括近距离无线介质(例如基于rf识别(rfid)或近场通信(nfc)标准、红外(ir)等)的射频(rf))、短程无线介质(例如,蓝牙、wlan、wi-fi等)、远程无线介质(例如,蜂窝广域无线电通信技术、基于卫星的通信等)、通过声波的电子通信等。在一个实施例中,通信接口模块210可以被配置为防止在通信模块212中活动的无线通信彼此干扰。在执行此功能时,通信接口模块210可以基于例如消息等待传输的相对优先级为通信模块212安排活动。虽然图2中所公开的实施例展示了通信接口模块210与通信模块212分离,但是将通信接口模块210和通信模块212的功能并入同一模块内还可以是可能的。

与本公开一致,引导器模块110’可以至少与用户接口模块212和通信模块212进行交互。在操作示例中,驻留在用户接口模块208中的cp模块106’的至少一部分(例如,包括在用户设备102’中的显示器上呈现的web浏览器)可以从有待下载的用户接收指示内容接收输入。cp模块106’和/或引导器模块110’然后可以使通信模块212将对所述内容的请求经由通信模块212发送到远程资源104’发送。远程资源104’可以包括基本上类似于用户设备102’的计算资源,所述用户设备例如包括系统模块200’、处理模块202’、存储器模块204’、电源模块206’、用户接口模块208’、通信接口模块210’以及通信模块212’。模块200’至212’的加法或减法可以基于远程资源104’的特定实施方式。例如,假定远程资源104’包括机架服务器(例如,在云计算架构中实现),则可以省略部分或全部用户接口模块208’以节省用于处理器、存储装置等的空间,在需要时由远程客户端提供用户接口功能。

然后,远程资源104’可以然后经由通信模块212’继续向用户设备102’传输所希望的内容。在至少一个实施例中,引导器模块110’可以引导通信模块212将所接收的内容的任何秘密部分提供给驻留在存储器模块204中的sw108’。任何标准内容可以被引导到至少部分地驻留在用户接口模块208中的cp模块106’。在呈现所述内容时,cp模块106’可以至少与sw108’相互交互,以从内容的秘密部分获得所需的功能。在cp模块106’与sw108’之间进行的协作执行对用户来说可以是透明的,用户只能观察所述内容的结果呈现。

图3示出了根据本公开的至少一个实施例的用于秘密内容的透明执行的示例性操作。最初,在操作300中,可以触发对下载内容的请求。例如,可以由与用户设备中的用户接口/内容呈现模块进行交互的用户、所述用户设备中正被激活和/或操纵的应用、推送内容的内容提供商处的服务等触发请求。可以在操作302中请求所述内容,并且然后在操作304中接收所述内容。然后可以在操作306中判定所述内容的任何部分是否是秘密的。例如,所述判定可以基于例如存储在用户设备中的信息、由内容提供商提供的信息、或设备/提供商信息的组合。

如果在操作306中确定所述内容不包括至少一个秘密部分,则在操作308中,可以呈现所述内容(例如,可以在用户设备中的内容呈现模块中完全执行)。如果在操作306确定所述内容包括至少一个秘密部分,则在操作310中,可以引导所述内容的任何秘密部分存储在所述用户设备中的安全工作空间中。在操作312中,所述内容呈现模块可以被配置成用于利用所述安全工作空间进行执行。例如,所述内容呈现模块可以被告知存储在所述安全工作空间中的内容的秘密部分,使得在操作308中在所述内容的内容过程中可以适当地调用代码的这些部分。例如,所述内容的秘密部分的调用可以包括:当所述内容的至少一个安全部分需要执行时,向所述安全工作空间提供至少一个输入;以接收由所述内容的所述至少一个安全部分的执行而产生的至少一个输出。

虽然图3示出了根据实施例的操作,但是将理解的是,对于其他实施例来说,图3中所描绘的所有操作并非都是必需的。确实,在此完全可以设想,在本公开的其他实施例中,可以采用任何附图中未具体地示出、但仍然完全符合本公开的方式将图3中所描绘的操作和/或本文中所描述的其他操作进行组合。因而,对未在一个附图中正确示出的特征和/或操作有所涉及的权利要求被视为落入本公开的范围和内容内。

如在本申请和权利要求书中所使用的,由术语“和/或”接合的一系列项目可意指所列项目的任何组合。例如,短语“a、b和/或c”可意指a;b;c;a和b;a和c;b和c;或a、b和c。如在本申请和权利要求书中所使用的,由术语“中的至少一项”接合的一系列项目可意指所列术语的任何组合。例如,短语“a、b或c中的至少一项”可意指a;b;c;a和b;a和c;b和c;或a、b和c。

如本文中任何实施例所使用的,术语“模块”可以指被配置成用于执行前述操作中任一操作的软件、固件和/或电路。软件可以具体化为非瞬态计算机可读存储介质上所记录的软件包、代码、指令、指令集和/或数据。固件可以具体化为存储器设备中硬编码(例如,非易失性的)的代码、指令或指令集和/或数据。如本文中任何实施例所使用的,“电路”可以例如单一地或以任何组合形式包括硬接线电路、可编程电路(诸如包括一个或多个个体指令处理核的计算机处理器)、状态机电路、和/或存储有可由可编程电路执行的指令的固件。这些模块可以统一地或单独地具体化为形成例如,集成电路(ic)、片上系统(soc)、台式计算机、膝上计算机、平板计算机、服务器、智能电话等的较大系统的一部分的电路。

在此描述的任何操作可以在系统中实现,所述系统包括具有单独地或组合地存储在其上的多条指令的一个或多个存储介质(诸如,非瞬态存储介质),当这些指令由一个或多个处理器执行时执行这些方法。此处,处理器可以包括例如:服务器cpu、移动装置cpu、和/或其他可编程电路。而且,旨在使得在此描述的操作可以跨多个物理设备(诸如在多于一个的不同物理位置处的处理结构)分布。存储介质可以包括任何类型的有形介质,例如包括以下各项的任何类型的磁盘:硬盘、软盘、光盘、压缩盘-只读存储器(cd-rom)、可复写致密盘(cd-rw)、和磁光盘、如只读存储器(rom)的半导体器件、如动态和静态ram的随机存取存储器(ram)、可擦可编程只读存储器(eprom)、电可擦可编程只读存储器(eeprom)、闪存、固态盘(ssd)、嵌入式多媒体卡(emmc)、安全数字输入/输出(sdio)卡、磁卡或光卡、或者适合于存储电子指令的任何类型的介质。其他实施例可以实现为由可编程控制设备执行的软件模块。

因此,本申请涉及对秘密内容的透明执行。一种设备可以能够下载可包括至少一个秘密部分的内容,其中所述内容的任何秘密部分可以被引导到所述设备中的安全工作空间,设备操作系统组件、应用、用户等不可访问所述安全工作空间。然后,所述设备能够以允许执行所述内容的秘密部分而无需直接访问的方式呈现所述内容。例如,所述设备可以下载内容,并且所述设备中的引导器模块可以将所述下载的内容的任何秘密部分引导到安全工作空间。在执行所述内容的过程中,所述秘密部分所需的任何输入可以被提供给所述安全工作空间,并且然后可以在内容呈现过程中使用来自所述秘密部分的任何结果输出。

以下示例涉及进一步的实施例。如以下所提供的,本公开的以下示例可以包括主题材料,诸如一种装置、一种方法、至少一种用于存储指令(当被执行时使机器基于所述方法执行动作)的机器可读介质、用于基于所述方法执行动作的装置、和/或一种用于对秘密内容进行透明执行的系统。

根据示例1,提供了一种用于透明地执行内容的秘密部分的设备。所述设备可以包括:通信模块,所述通信模块用于至少与远程资源进行交互;内容呈现模块,所述内容呈现模块用于至少使经由所述通信模块从所述远程资源接收到的内容由所述设备呈现;安全工作空间,所述安全工作空间用于执行所述内容的至少一个秘密部分;以及引导器模块,所述引导器模块用于引导将所述内容的所述至少一个秘密部分加载到所述安全工作空间中。

示例2可以包括示例1的要素,其中所述内容呈现模块进一步用于使所述通信模块从所述远程资源中请求所述内容。

示例3可以包括如示例1和2中任一项的要素,其中所述内容呈现模块包括web浏览器。

示例4可以包括如示例1至3中任一项的要素,其中所述引导器模块用于基于与所述内容的所述至少一个秘密部分相关联的名称、类型或属性中的至少一者来引导将所述内容的所述至少一个秘密部分加载到所述安全工作空间中。

示例5可以包括示例4的要素,其中与所述内容的所述秘密部分相关联的所述属性是如以超文本标记语言(html)定义的元素属性。

示例6可以包括示例5的要素,其中所述元素属性是“src”html元素属性。

示例7可以包括如示例1至6中任一项的要素,其中所述引导器模块进一步用于向所述内容呈现模块指示所述内容的所述至少一个秘密部分被加载在所述安全工作空间中。

示例8可以包括如示例1至7中任一项的要素,其中所述内容呈现模块不可访问所述内容的被加载在所述安全工作空间中的所述至少一个秘密部分。

示例9可以包括如示例1至8中任一项的要素,其中在执行所述内容的所述至少一个秘密部分时,所述安全工作空间用于:从所述内容呈现模块接收至少一个输入;通过使用所述至少一个输入在所述安全工作空间中执行所述内容的所述至少一个秘密部分来生成至少一个输出;以及将所述至少一个输出提供给所述内容呈现模块。

示例10可以包括示例1至9中任一项的要素,其中所述安全工作空间是基于软件防护扩展(sgx)技术。

根据示例11,提供了一种用于透明地执行内容的秘密部分的方法。所述方法可以包括:将来自远程资源的内容接收到设备中;判定所述内容的任何部分是否是秘密的;将内容的被确定为秘密的任何部分引导到所述设备中的安全工作空间中;以及在所述设备中执行所述内容,其中在所述安全工作空间内执行所述内容的任何秘密部分。

示例12可以包括示例11的要素,并且可以进一步包括从所述远程资源中请求所述内容。

示例13可以包括如示例11和12中任一项的要素,其中在所述设备中使用web浏览器来执行所述内容。

示例14可以包括如示例11至13中任一项的要素,其中基于与所述内容的所述至少一个秘密部分相关联的名称、类型或属性中的至少一者来引导将所述内容的所述至少一个秘密部分加载到所述安全工作空间中。

示例15可以包括示例14的要素,其中与所述内容的所述秘密部分相关联的所述属性是如以超文本标记语言(html)定义的元素属性。

示例16可以包括示例15的要素,其中所述元素属性是“src”html元素属性。

示例17可以包括如示例11至16中任一项的要素,并且可以进一步包括向所述设备中的内容呈现模块指示所述内容的任何秘密部分被加载在所述安全工作空间中。

示例18可以包括示例17的要素,其中所述内容呈现模块不可访问所述内容的被加载在所述安全工作空间中的任何秘密部分。

示例19可以包括如示例17和18中任一项的要素,其中在所述安全工作空间内执行所述内容的任何秘密部分包括:从所述内容呈现模块接收至少一个输入;通过使用所述至少一个输入在所述安全工作空间中执行所述内容的所述至少一个秘密部分来生成至少一个输出;以及将所述至少一个输出提供给所述内容呈现模块。

示例20可以包括示例11至19中任一项的要素,其中所述安全工作空间基于软件防护扩展(sgx)技术。

根据示例21,提供了一种至少包括设备和远程资源的系统,所述系统被安排成用于执行如以上示例11至20中任一项所述的方法。

根据示例22,提供了一种被安排成用于执行如以上示例11至20中任一项所述的方法的芯片组。

根据示例23,提供了至少一种机器可读介质,所述至少一种机器可读介质包括多条指令,所述多条指令响应于正在计算设备上被执行而使所述计算设备实施根据以上示例11至20中任一项所述的方法。

根据示例24,提供了一种被配置成用于透明地执行内容的秘密部分的设备,所述设备被安排成用于执行如以上示例11至20中任一项所述的方法。

根据示例25,提供了一种用于透明地执行内容的秘密部分的系统。所述系统可以包括:用于将来自远程资源的内容接收到设备中的装置;用于判定所述内容的任何部分是否是秘密的装置;用于将内容的被确定为秘密的任何部分引导到所述设备中的安全工作空间中的装置;以及用于在所述设备中执行所述内容的装置,其中在所述安全工作空间内执行所述内容的任何秘密部分。

示例26可以包括示例25的要素,并且可以进一步包括用于从所述远程资源中请求所述内容的装置。

示例27可以包括如示例25和26中任一项的要素,其中在所述设备中使用web浏览器来执行所述内容。

示例28可以包括如示例25至27中任一项的要素,其中基于与所述内容的所述至少一个秘密部分相关联的名称、类型或属性中的至少一者来引导将所述内容的所述至少一个秘密部分加载到所述安全工作空间中。

示例29可以包括示例28的要素,其中与所述内容的所述秘密部分相关联的所述属性是如以超文本标记语言(html)定义的元素属性。

示例30可以包括示例29的要素,其中所述元素属性是“src”html元素属性。

示例31可以包括如示例25至30中任一项的要素,并且可以进一步包括用于向所述设备中的内容呈现模块指示所述内容的任何秘密部分被加载在所述安全工作空间中的装置。

示例32可以包括示例31的要素,其中所述内容呈现模块不可访问所述内容的被加载在所述安全工作空间中的任何秘密部分。

示例33可以包括如示例31和32中任一项的要素,其中用于在所述安全工作空间内执行所述内容的任何秘密部分的装置包括:用于从所述内容呈现模块接收至少一个输入的装置;用于通过使用所述至少一个输入在所述安全工作空间中执行所述内容的所述至少一个秘密部分来生成至少一个输出的装置;以及用于将所述至少一个输出提供给所述内容呈现模块的装置。

示例34可以包括示例25至33中任一项的要素,其中所述安全工作空间基于软件防护扩展(sgx)技术。

本文已采用的术语和表达用作对术语进行描述而非进行限制,并且在使用这种术语和表达时不旨在排除所示且所描述的特征(或其部分)的任何等效物,并且认识到在权利要求书范围内的各种修改是有可能的。从而,权利要求书意在涵盖所有这类等效方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1