用于保护私有数据的安全代理的制作方法_4

文档序号:9893858阅读:来源:国知局
理器可W将元件或制品(例如,数据)从一种状态或事 物变换为另一种状态或事物。在另一示例中,可利用固定逻辑或可编程逻辑(例如,由处理 器执行的软件/计算机指令)来实现本文中概述的活动,并且本文中标识的元件可W是某种 类型的可编程处理器、可编程数字逻辑(例如,现场可编程口阵列(FPGAKEPROM或邸PROM) 或可W包括数字逻辑的ASIC、软件、代码、电子指令或上述各项的任何合适的组合。本文中 描述的潜在的处理元件、模块和机器中的任何一个应当被解释为被涵盖在广义的术语"处 理器"中。
[0054] 转向图3,简化的交互图示出根据至少一个实施例的、可能在客户机设备130、代理 140与服务器120之间的网络环境100中发生的可能的交互。在至少一个实施例中,代理140 的修改模块141和响应模块142可W执行与代理140相关联的一个或多个交互和活动。浏览 器132可W执行与客户机设备130相关联的一个或多个交互和活动。服务122可W提供具有 对私有数据的请求的对象。一般而言,参照图3示出并描述的交互和活动也适用于图2的网 络环境200的交互和活动,图2示出了其中代理240集成在客户机设备230的受信任的执行环 境235中的实施例。图3仅是潜在的交互的示例,并且不限制权利要求书的范围。例如,模块 的数量可W改变,组件的数量可W改变,特定的交互可W改变,交互的顺序可W改变,等等。
[0055] 图3示出其中用户正在使用客户机设备130的浏览器132来浏览互联网的示例场 景。在此示例场景中,服务120是web服务器,并且网络通信设及HTML网页。此外,假设已经用 客户机设备130的用户的私有数据填充了数据存储145。
[0056] 最初,通过客户机设备130的浏览器,用户可W选择将访问的特定的web服务器(例 如,经由特定的域名、网络地址、URL)。在302处,客户机设备130将网络通信(诸如,超文本传 输协议化TTP)请求消息)发送至所选择的web服务器。代理140拦截此网络通信。由于此通信 不是对授权解锁私有数据的请求的响应,因此在304处,代理140将此通信转发到目的地web 服务器(服务器120)。
[0057] 在此示例场景中,服务器120仅允许已经在网站上创建了账户的用户访问其服务 (例如,服务122)。在306处,服务器120通过发送包括对用户的私有数据项(诸如,注册到服 务的账户的用户名和密码)的请求的HTML网页来对客户机设备130作出响应。如果HTML网页 由浏览器显示,则此HTML网页可W包括例如前方是"用户名:"和"密码:"的两个空方框,运 可W由用户识别为输入针对特定的服务的他的或她的用户名和密码的指令。HTML网页自身 还可W包括与HTML网页相关联的服务的标识符,运可W是例如金融机构的域名。
[005引代理140拦截来自服务器120的、具有HTML网页的网络流。代理140可W评估HTML网 页,并且确定正在请求什么私有数据项。随后,代理140可W捜索数据存储145W判定客户机 设备130(和/或用户)是否与用户名和密码相关联,所述用户名和密码也与服务器120的服 务相关联(例如,通过域名、网页的URL)。如果找到了用户名和密码,则在308处,代理140可 W创建具有对授权访问由服务器120请求的私有数据项的请求的经修改的HTML网页。在310 处,代理140可W将包含对授权的请求的经修改的HTML网页发送至客户机设备130。
[0化9] 客户机设备130的浏览器132可W显示从代理140接收到的经修改的HTML网页。此 网页可W提供指令,所述指令使用户授权代理140来访问由服务器120请求的私有数据项并 且将运些私有数据项提供给服务器120。在一个实施例中,可指示用户提供此用户在带外通 信中接收到的一次性密码。在312处,客户机设备130可W发送具有用户提供的授权信息的 响应。代理140拦截此响应,并且判定授权信息是否是有效的。如果确定了授权信息是有效 的,则代理140可W从数据存储145获取所请求的私有数据项。在314处,代理140可W直接将 私有数据项插入到来自服务器120的原始的HTML网页中。在316处,代理140可W将完成的 HTML网页上传到服务器120。因此,代理140保护由服务器120请求的私有数据的操作对服务 器120是透明的。
[0060]图4是可W与本文中描述的实施例相关联的操作的可能的流程400的流程图。在至 少一个实施例中,一组或多组操作对应于图4的活动。代理140、240或其部分可W利用运一 组或多组操作。代理140、240可W包括用于执行运些操作的装置(诸如,处理器149、239)。在 实施例中,可W由修改模块(例如,141)来执行流程400中的至少一些操作,并且可W由响应 模块(例如,142)来执行流程400中的至少一些其他操作。当已用与一个或多个服务W及网 络代理设备(即,用户、客户机设备、客户机应用、嵌入式控制器)相关联的私有数据填充了 数据存储145、245时,图4的流程400可W在网络环境100、200中发生。
[0061 ] 流程400可W在402处开始,在402处,代理从客户机设备接收网络通信(例如,HTTP 请求、FTP请求,等等)。此网络通信可W被定址到例如互联网上的特定的服务器,并且代理 可W拦截此通信。在404处,代理可W将此网络通信转发到适当的目的地服务器(例如,web 服务器、FTP服务器,等等)。在406处,代理可W拦截服务器的、去往客户机设备的网络流。月良 务器的网络流可W是对由客户机设备发送的W及由代理转发的网络通信的响应。
[0062] 在408处,代理可W判定在来自服务器的网络流的对象中是否请求了一个或多个 私有数据项。可W通过评估此对象的实际内容来进行此判定(例如,向HTML网页捜索私有数 据请求的指示,诸如,前方是私有数据描述(诸如,"用户名"、"密码"、"账号"等)的空方框)。 如果响应不包含私有数据请求,则在409处,代理可W将具有未经修改的对象的网络流转发 到客户机设备,并且流程400结束。
[0063] 如果在408处确定了此对象包含对一个或多个私有数据项的请求,则在410处,此 代理可W判定对应的私有数据项是否存储在数据存储中。代理可W确定正在被请求的私有 数据的类型(例如,用户名、密码等)W及与此对象相关联的服务的标识符(例如,服务的域 名、ML等)。如果代理处置多个用户的私有数据,则此代理还可W确定与来自服务器的网络 流相关联的目的地客户机设备的标识符。在一些实施例中,代理可W确定与网络流相关联 的用户或客户机应用的标识符。相应地,此代理可W捜索数据存储,并且至少部分地基于与 服务、私有数据的类型W及可能的客户机设备的关联来标识对应的私有数据项。在一些实 施例中,代理还可W基于与特定的用户或客户机应用的关联来标识对应的私有数据项。
[0064] 如果没有对应的私有数据项被找到,则在412处,代理可W采取适当的动作。代理 可W向用户提供有关用丢失的私有数据项来填充数据存储的流程的指令。在一个可能实施 例中,当对象是由客户机设备的用户请求的HTML网页时,代理可W发送具有指令的HTML文 档,所述HTML文档将由客户机设备的浏览器显示,所述指令用于指导用户用丢失的私有数 据项来填充数据存储。在另一实施例中,代理可W将适当的错误消息发送到客户机设备。在 又一实施例中,代理可W简单地将响应转发到客户机设备,而无需对包括对私有数据项的 请求的对象作出任何修改。当代理如在412处所指示采取动作之后,流程400可结束。
[0065] 在410处,如果在数据存储中找到了对应的私有数据项,则在414处,代理可W创建 具有授权访问所请求的私有数据项的请求的经修改的对象,并且将运些项提供给服务器。 能W任何数量的解锁机制(例如,一次性密码、生物计量授权、多因子认证等)来配置对授权 的请求。将用于私有数据项的特定的解锁机制可W由代理确定,并且可W基于与私有数据 项相关联的特定的网络代理设备。在416处,可将经修改的对象提供给客户机设备。在图1中 所示的实现方式中,可W在网络流中将此经修改的对象传输到客户机设备。在图2中所示的 实现方式中,可W从受信任的执行环境将此经修改的对象提供给客户机设备(例如,经由浏 览器、经由客户机应用)。
[0066] 在418处,代理可W从客户机设备接收包括授权信息(例如,一次性密码、生物计量 数据等)的响应。取决于特定的实现方式,可W由用户(例如,经由客户机设备的屏幕)、或由 客户机设备或客户机应用(例如,自动地向特定的服务认证的客户机设备或客户机应用)提 供此授权信息。在420处,代理尝试验证此授权信息(例如,判定一次性密码是否是有效的, 判定生物计量数据是否匹配预期的生物计量数据,等等)。验证此授权信息包括:判定此授 权信息是否是有效的。如果在420处此授权信息被确定为不是有效的,则在422处,代理可W 将错误消息发送至客户机设备,并且一旦接收到新授权信息,流程就可W返回到418。如果 接收到无效的授权信息达预定的次数(例如,1次或多次),则代理可W调用附加的机制来确 保经授权的用户(或客户机设备或客户机应用)正在尝试授权对相关的私有数据的访问。
[0067] 如果在420处此授权信息被确定为是有效的,则在424处,代理可W从数据存储中 获取对应于从服务器接收到的原始对象中的一个或多个所请求的私有数据项的一个或多 个私有数据项。在426处,此代理可W准备具有运一个或多个私有数据项的、对服务器的响 应。例如,如果经由HTML网页发送了私有数据请求,则代理可W在适当的位置(例如,数据输 入方框)直接将运些私有数据项插入到HTML网页中。在428处,可将包含运些私有数据项的 响应发送到服务器(例如,作为HTTP POST形式),并且流程400结束。
[0068] 图5是根据实施例的处理器的示例图解。处理器500分别是客户机设备130和230的 处理器139和239、W及代理140的处理器149中的一个或多个处理器的一个可能的实施例。 处理器500可W是任何类型的处理器,诸如,微处理器、嵌入式处理器、数字信号处理器 (DSP)、网络处理器、多核处理器、单核处理器或用于执行代码的其他设备。尽管在图5中示 出仅一个处理器500,但是处理元件可替代地包括多于一个的图5中示出的处理器500。处理 器500可W是单线程核,或者对于至少一个实施例,处理器500可W是多线程的,体现在它可 W包括对于每一个核的多于一个的硬件线程上下文(或"逻辑处理器")。
[0069] 图5还示出根据实施例的、与处理器500禪合的存储器502。存储器502是客户机设 备平台100的存储器元件114的一个实施例。存储器502可W是如本领域技术人员所知的或 者对本领域技术人员是W其他方式可获得的各种各样的存储器中的任一种(包括存储器层 级结构中的各个层)。此类存储器元件可W包括但不限于,随机存取存储器(RAM)、只读存储 器(ROM)、现场可编程口阵列(FPGA)的逻辑块、可擦可编程只读存储器化PROM)和电可擦可 编程ROM化EraOM)。
[0070] 代码504可存储在存储器502中,所述代码504可W是将由处理器500执行的一条或 多条指令。代码504可W包括可W在适当时并且基于特定的需要而存储在软件、硬件、固件、 或它们的任何合适的组合中、或存储在任何其他内部或外部的组件、设备、元件或对象中的 各种模块(例如,修改模块141、响应模块、受保护数据存储模块143等)的指令。在一个示例 中,处理器500可W遵循由代码504指示的指令的程序序列。每一条指令进入前端逻辑506, 并且由一个或多个解码器508处理。解码器可W生成微操作(诸如,按预定义的格式的固定 宽度微操作)作为其输出,或者可W生成反映原始的代码指令的其他指令、微指令或控制信 号。前端逻辑506还包括寄存器重命名逻辑510和调度逻辑512,所述寄存器重命名逻辑510 和调度逻辑512通常分配资源并且使对应于用于执行的指令的操作排队。
[0071 ] 处理器500还可W包括具有一组执行单元516-1至516-M的执行逻辑514。一些实施 例可W包括专用于特定的功能或功能集的多个执行单元。其他实施例可W包括仅一个执行 单元或可W执行特定功能的一个执行单元。执行逻辑514可W执行由代码指令指定的操作。
[0072] 在完成对由代码指令指定的操作的执行之后,后端逻辑518可W引退代码504的指 令。在一个实施例中,处理器500允许无序的执行,但要求有序的指令引退。引退逻辑520可 W采取各种已知的形式(例如,重排序缓冲器等)。^此方式,在对代码504的执行期间,至少 根据由解码器生成的输出、由寄存器重命名逻辑510利用的硬件寄存器和表W及由执行逻 辑514修改的任何寄存器(未示出)来转换处理器。
[0073] 尽管未在图5中示出,但是处理元件可W包括在处理器500的忍片上的其他元件。 例如,处理元件可W包括与处理器500-起的存储器控制逻辑。处理元件可W包括I/O控制 逻辑和/或可W包括与存储器控制逻辑器集成的I/O控制逻辑。处理元件还可W包括一个或 多个高速缓存。在一些实施例中,非易失性存储器(诸如,闪存或烙丝)也可W与处理器500 一起被包括在忍片上。在参照图2示出并描述的实施例中,存储器502的部分可W经加密,并 且不可W由除代理代理代码240之外的任何代理访问,从而保护受信任的执行环境235并保 护数据存储245。仅专口编写的代码(例如,经数字签名的代码)可W配置成用于在环境235 内部运行。
[0074] 图6示出根据实施例的计算系统600,此计算系统600是W点对点(P巧)配置来布置 的计算设备的一个可能的示例。具体而言,图6示出其中
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1