首页> 中国专利> 在网络环境中对加密的数据的检查

在网络环境中对加密的数据的检查

摘要

在示例实施例中提供了用于分析加密的网络流的技术。所述技术包括监测位于第一节点和第二节点之间的所述加密的网络流,该网络流是从所述第一节点发起的;复制所述加密的网络流以形成所述加密的网络流的副本;使用共享密钥对所述加密的网络流的所述副本进行解密,所述共享密钥与所述第一节点和所述第二节点相关联;并且针对目标数据而扫描该网络流副本。

著录项

  • 公开/公告号CN104662551A

    专利类型发明专利

  • 公开/公告日2015-05-27

    原文格式PDF

  • 申请/专利权人 英特尔公司;

    申请/专利号CN201380048778.3

  • 申请日2013-10-18

  • 分类号G06F21/50(20060101);G06F11/30(20060101);

  • 代理机构72002 永新专利商标代理有限公司;

  • 代理人邬少俊;王英

  • 地址 美国加利福尼亚

  • 入库时间 2023-12-18 09:04:05

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-09-15

    授权

    授权

  • 2015-06-24

    实质审查的生效 IPC(主分类):G06F21/50 申请日:20131018

    实质审查的生效

  • 2015-05-27

    公开

    公开

说明书

技术领域

本公开总体上涉及网络安全领域,并且更具体地涉及在网络环境中检 查加密数据。

背景技术

在当今社会中网络安全领域已变得越发重要。互联网使得全世界的不 同计算机网络能够互连。然而,互联网已为恶意操作者呈现了许多机会来 利用这些网络。某些类型的恶意软件(例如,bot病毒)可以被配置为一旦 该软件感染了主机计算机,则可以从远程操作者接收命令。该软件可以被 指示以执行任意数量的恶意行为,例如从主机计算机发送垃圾邮件或恶意 邮件、从与主机计算机相关联的公司或个人盗取敏感信息、传播给其它主 机计算机、和/或协助分布式拒绝服务攻击。另外,恶意操作者可以将访问 卖给或另外给出到其它恶意操作者,从而使对该主机计算机的了利用升级。 因此,有效地保护和维护稳定的计算机和系统的能力继续为组件制造商、 系统设计者、以及网络运营商呈现重大挑战。

企业环境采用许多网络管理工具,包括防火墙、网络入侵检测/防护 (NIDS/NIPS)系统、流量整形器(traffic shaper)、以及其它系统。多个这 些系统依靠对网络业务的检查,以便提供各种各样的服务(包括对恶意软 件传播的检测/防护)来确保公司的知识产权不被泄露到明确定义的企业边 界之外,以及一般审计和网络管理功能。还可以使用诸如安全套接层(SSL) /传输层安全(TLS)的协议来加密网络业务。

附图说明

为了提供对本公开和特征以及其优点的更完整的理解,对以下说明并 结合附图进行了参照,其中相似附图标记表示相似部件,在其中:

图1为根据实施例的在其中防火墙可以截获网络流的网络环境的简化 框图;

图2为根据实施例的网络环境200的示例示出;

图3为根据实施例的具有SSL/TLS握手通信的网络环境的示出;

图4为根据有利的实施例的针对SSL/TLS的网络环境400的框图;

图5为根据示例性实施例的作为代理的安全模块的示出;

图6为根据实施例的数据图的示出;

图7为根据实施例的示出了使用共享库提取共享密钥的过程的简化流 程图;

图8为根据实施例的示出了从存储空间提取共享密钥的过程的简化流 程图;

图9为根据实施例的示出了分析加密的网络流的过程的简化流程图;

图10还示出了根据实施例的耦合到处理器的存储器;以及

图11示出了根据实施例的被布置为点对点(PtP)配置的计算系统。

具体实施方式

示例实施例

转到图1,图1为根据实施例的在其中防火墙可以截获网络流的网络环 境的简化框图。在图1中示出的实施例中,网络环境100可以包括互联网 102、客户端104、防火墙106、策略服务器108、邮件服务器110、以及网 络服务器112。一般地,客户端104可以是网络连接中的任何类型的终端节 点,包括但不限于台式计算机、服务器、膝上型计算机、移动设备、移动 电话、或能够接收或与另一节点(例如,邮件服务器110或网络服务器112) 建立连接的任何其它类型的设备。防火墙106可以通过阻止未授权访问而 允许授权通信来控制客户端104与附接到互联网102或另一网络的其它节 点之间的通信。在一些实例中,防火墙106可以耦合到入侵防护系统、网 络访问控制设备、网络网关、邮件网关、移动设备、或互联网102与客户 端104之间任意其它类型的网关,或者防火墙106可以与之集成。另外, 在路由拓扑中防火墙106的位置与用户客户端104接近是任意的。

策略服务器108可以耦合到防火墙106或与防火墙106集成,并且可 以用于管理(manage)客户端104并且掌管(administer)和分发网络策略。 因此,在该示例实施例中,如果由在防火墙106中实现的并由策略服务器 108管理的策略所允许,则客户端104可以通过建立经由防火墙106的连接 而与附接到互联网102的服务器(例如,邮件服务器110或网络服务器112) 进行通信。

图1中的每个元件可以通过简单接口或通过任意其它适合的连接(有 线或无线)相互耦合,这提供了可行的通路以用于网络通信。另外,基于 特定的配置需求,这些元件中的任意一个或多个可以进行组合或从架构中 移除。网络环境100可以包括能够进行传输控制协议/互联网络协议 (TCP/IP)通信以在网络中发送或接收分组的配置。网络环境100还可以 结合用户数据报协议/IP(UDP/IP)或合适的并基于特定需求的任何其它适 合的协议而运行。

为了在示例实施例中示出用于提供网络安全的技术的目的,重要的是 要了解在给定网络中发生的活动。以下基础信息可以被视为可以适当地说 明本公开的基础。切实地提供这样的信息仅是为了说明的目的,并且由此 不应当以限制本公开及其潜在应用的广阔范围的方式而进行解释。

在组织中或由个人使用的典型网络环境包括使用互联网与其它网络电 通信来例如访问在连接到互联网的服务器上托管的网页、发送或接收电子 邮件(例如,email)消息、或交换文件的能力。然而,恶意用户继续开发 新的战术以使用互联网来扩散恶意软件并获得对机密信息的访问。恶意软 件通常包括被设计为访问和/或控制计算机而无需计算机拥有者的知情同意 的软件,并且最常用作对于任何有恶意的、侵入性的、或恼人的软件(例 如,计算机病毒、bot病毒、间谍软件、广告软件等)的标签。一旦被感染, 恶意软件可能颠覆(subvert)主机并且使用该主机以用于恶意活动,例如 发送垃圾邮件或盗取信息。恶意软件通常还包括一个或多个传播矢量,该 传播矢量使得该恶意软件能够在组织的网络内扩散或跨其它网络而扩散到 其它组织或个人。普通传播矢量包括利用本地网络内的主机的已知弱点, 以及发送附有恶意程序的电子邮件或在电子邮件内提供恶意链接。

为了示出安全模块和提取模块的一些示例技术的目的,重要的是要了 解中间人(MITM)技术。一个或多个实施例意识到并且考虑到用于在安全 设备中筛选SSL(或TLS)业务的一些实施例使用MITM技术:安全设备 终止使用欺骗目的地的证书的SSL连接,接着通过第二SSL连接将数据代 理到目的地。用户可以看到该欺骗,并且或明确地针对每个连接而忽略该 欺骗、或将他的机器设置为信任该安全设备从而使警告消失

对于安全设备来说,实施MITM是昂贵的,这是因为其需要解密并重 新加密所有业务。而且,MITM需要安全设备对每个正在被筛选的连接进 行昂贵的公钥加密操作。

MITM的额外问题在于用户并不得到目标网站(服务器)的真实SSL 认证。这是SSL安全的关键益处,但是用户仅知道到达了该安全设备而并 不知道已真正访问了网站。该缺陷可以被攻击者利用,攻击者使用钓鱼电 子邮件将用户导向看起来像是可信站点的站点,但实际上试图利用这些用 户。

另外,本公开的不同实施例意识到并且考虑到这样的情况,其中可信 客户端与不可信服务器通信;网络设备终止并重新建立两个通信端点之间 的SSL/TLS会话。这还经常被称为断-通(break-make)连接。可信客户端 被提供有网络设备/域的证书并且在安全会话设置过程中接受该证书,即使 该可信客户端正在与网络装置之外的端点(例如,银行网站)进行通信。 实际上,该会话在网络装置处终止,该网络装置代表客户端发起到最终端 点的第二个独立的会话。这个机制允许网络装置得到对TLS业务的可视性, 这是由于网络装置作为安全通信信道的“中间人”。该方法导致网络装置的 负担,真实由于网络装置需要针对每个客户端/会话的代理连接,因此需要 管理针对所有这些代理连接的资源。这种状况给网络装置添加了巨大的开 销。

另外,本公开的不同实施例意识到并且考虑到另一情况,其中不可信 客户端与可信服务器通信,网络装置得到对可信服务器的证书的访问(以 一些OOB方式),包括用于认证SSL/TLS会话的公钥/私钥对(例如,RSA 密钥)。由于使用服务器的公钥加密了SSL/TLS操作(其中客户端向服务器 发送预主密钥(pre-master secret)),因此网络装置能够捕获/解密在途中的 该信息并且监听SSL/TLS握手。这允许网络装置单独地计算SSL/TLS会话 密钥并在此后对两端点之间的加密通信进行解密。然而,这种情况依赖于 服务器密钥的拥有权,并且不适用于这样的通常情况:组织通过提供安全 设备(例如,入侵防护或防火墙)而寻求保护具有连接到互联网上的多个 服务器的客户端机器的多个用户。

本公开的不同实施例意识到并且考虑到:企业迫切需要扫描SSL/TLS 业务;恶意软件检查;数据丢失保护;已在使用的MITM技术;MITM仿 造认证和加密;用户看到伪造的证书,信任被破坏;当用户看到针对每个 连接的警告消息或从不知道信任是否是真实的时的恼人因素。

本公开的一个或多个实施例提供了新颖的方法,该方法将可视性简化 成加密的网络流,并且减轻网络设备上的大开销。

图2是根据实施例的网络环境200的示例示出。在本发明的方面,网 络环境200包括客户端202、防火墙204、和服务器206。网络环境200可 以是图1中所示的网络环境100的一个示例。在实施例中,网络环境200 可以包括在客户端202、防火墙204、和服务器206之间操作的加密协议会 话208。加密协议会话208还可以包括网络流210、目标数据211、和共享 密钥212。服务器206还可以包括权威证书(certificate of authority)214。 防火墙204还可以包括安全模块220,安全模块220进而可以包括网络流副 本222和未加密的网络流224。客户端202还可以包括信任列表216、提取 模块230、共享库232、和应用234。

在本公开的实施例中,服务器206包括权威证书214。权威证书214 可以是发出数字证书的实体。该数字证书通过所命名的证书的主题来证实 公钥的拥有权。这允许客户端202依赖于由与经证实的公钥对应的私钥所 进行的签名或声明。在该信任关系模型中,权威证书214是可信第三方, 其在证书的基础上被服务器206和客户端202所信任。在客户端202上, 可以持有信任列表216。信任列表216可以包括客户端202信任的数字证书。

在一个或多个实施例中,加密协议会话208在客户端202、防火墙204、 和服务器206之间操作。加密协议会话208包括网络流210。网络流210是 在客户端202与服务器206之间双方向中操作的数据的加密流。防火墙204 可以截获网络流以用于检查和分析。在实施例中,用于加密协议会话208 (安全通信)的协议可以是传输层安全(TLS)或其前身,安全套接层(SSL)。 这些协议为在互联网上提供通信安全性的加密协议。在本公开中,还可以 可交换地使用这些协议。使用针对密钥交换的非对称加密、针对保密性的 对称加密、以及针对消息完整性的消息认证码,TLS和SSL在应用层处加 密网络连接的区段以用于传输层。

客户端202和服务器206还可以持有共享密钥212(例如,密码、密钥 等)以用于认证网络流210中的数据。可以在加密协议会话208期间配置 共享密钥212。共享密钥212可以是在客户端202和服务器206之间共享并 且已知的值。例如,在实施例中,共享密钥212可以是在SSL/TLS中使用 的主密钥或会话密钥。会话密钥可以是会话上下文并且可以包括初始化矢 量、正在使用的加密算法等、以及仅该会话密钥。会话上下文可以包含必 要的加密信息以解封装有效载荷(例如,加密/完整性/压缩算法、相关联的 密钥、密钥尺寸、初始化矢量等)。相反,公开/私有非对称密钥结构并不在 客户端202和服务器206之间共享,这是因为每一方具有不同密钥。

提取模块230被配置为从客户端202提取共享密钥212。特别地,提取 模块230可以提取主密钥、预主密钥、基于哈希的消息认证代码(HMAC)、 和/或会话密钥。提取模块230可以被加载到客户端202上,或在其它实施 例中,提取模块230可以是具有对客户端202的访问的独立模块。

在实施例中,提取模块230可以将共享库232加载到应用234中。这 允许提取模块230通过应用234访问加密协议会话208以识别共享密钥212。 共享库232可以是共享的库或共享的对象,其为旨在由可执行文件和进一 步的共享对象文件所共享的文件。例如,共享库232可以是动态链接库 (DLL)。应用234可以是通过加密协议会话208而与服务器206通信的过 程。例如,应用234可以是网络浏览器。

在另一实施例中,提取模块230可以被配置为在网络层处监测网络流 并且检测网络握手(例如,SSL初始握手)的进展,并因此确定应用234 的存储空间在什么时间点可以包含用于正在协商的加密连接的共享密钥 212。提取模块230可以被配置为例如通过使用调试系统调用来对 的同一计算机系统上的目标过程的过程 存储器进行访问,以打开在运行应用234的过程的存储空间231。提取模块 230可以被配置为搜索存储空间231以识别共享密钥212。

提取模块230被配置为向安全模块220发送共享密钥212。向安全模块 220进行传输的路径也可以是安全信道。

利用共享密钥212,安全模块220可以能够使用与客户端202和服务器 206正在使用的相同的加密/解密过程来解密网络流210。安全模块220可以 在不同操作模式中操作。

在一个实施例中,安全模块220可以被配置为复制网络流210以创建 网络流副本222。接着,网络流副本222可以被解密而不影响网络流210创 建未加密的网络流224。在一些实施例中,安全模块220可以延迟网络流 210以:等待来自加密模块230的共享密钥212,有时间来解密网络流副本 222,修改网络流210,检查未加密的网络流224的安全问题,或任何其它 合适的延迟理由。在其它实施例中,安全模块220并不延迟网络流210并 且可以仅复制网络流210。

在实施例中,安全模块220可以被配置为针对目标数据211而扫描网 络流210和/或网络流副本222(一旦被解密并作为未加密的网络流224)。 目标数据211可以包含安全模块220所寻找的数据,诸如例如,恶意的、 侵入性的、或恼人的软件(例如,计算机病毒、bot病毒、间谍软件、广告 软件)。目标数据211可以是恶意软件。

在操作术语中,以及在一个特定实施例中,TLS或SSL连接的示出可 以如下而开始:在协商期间,客户端202发送消息以详细说明其支持的最 高TLS协议版本、随机数、建议的密码组列表、以及建议的压缩方法。密 码组是用于协商针对使用TLS或SSL网络协议的网络连接的安全设置的认 证、加密、和消息认证代码(MAC)算法的命名的组合。另外,如果客户 端202尝试执行恢复的握手,则客户端202可以发送会话ID。

作为响应,服务器206用包含所选择的协议版本、另一随机数、从客 户端提供的选择中所选定的密码组和所选定的压缩方式来进行回应。为了 确认或允许恢复的会话,服务器206可以发送相同的会话ID。为了开始新 的会话,服务器206可以发送新的会话ID。另外,客户端202可以用另一 消息进行回应,该另一消息可以包含预主密钥、公钥、或什么都不包含。 预主密钥是使用服务器证书的公钥加密的。接着,客户端202和服务器206 使用随机数和预主密钥来计算通用密钥(被称为“主密钥”)。用于该连接 的所有其它密钥数据是从该主密钥得到的。该主密钥可以用于为客户端202 和服务器206之间的每个通信会话制造会话密钥。预主密钥、主密钥、和 会话密钥都是共享密钥212的示例。

一个或多个实施例在监测SSL/TLS连接的客户端202上提供提取模块 230(也被称为可信代理),并且能够截获某些明确定义的应用程序接口 (API)以直接提取主密钥、预主密钥、和/或会话密钥。客户端202上的提 取模块230可以执行对共享密钥212的提取。将该信息通过安全带外(OOB) 信道而安全地共享给安全模块220(一种可信并授权的网络装置)。在其它 实施例中,通过非安全信道共享该信息。这允许安全模块220解密加密协 议会话208、SSL/TLS通信、并且得到对网络流210的可视性。

在操作术语中,并且特定地在一个实施例中,随着建立每个加密协议 会话208,在客户端202(用户工作站)上的提取模块208(特殊软件)找 出共享密钥212(SSL密钥)。接着,发现协议将共享密钥212安全地传输 到安全模块220。客户端202端到端地建立SSL连接(具有对目标站点的 完全认证),但是安全模块220仍可以扫描该连接以保护客户端202。

另外,仅在发生公钥握手之后,共享密钥212可以与安全模块230共 享,所以安全模块230可以使用每数据项的单个对称解密来解密该会话。

本公开的一个或多个实施例(1)保留端到端认证并且其可以用于到网 络的被动连接,(2)减轻安全模块上的开销以存储每个单个连接的状态, 其中必须构建第二个独立的SSL/TLS连接以便得到对加密业务流的可视 性,并且(3)可以与SSL中客户端侧证书的用户兼容(在MITM中不支 持)。

本公开的实施例提供基于客户端的方法来提取SSL/TLS主密钥和/或会 话密钥并且使用单独的安全信道与授权安全模块共享这些密钥。实施例还 使能扫描网络流而无需移除客户端执行端到端认证的能力,并且以对于安 全设备(IPS、防火墙、安全模块)非常高效的方式来实现。

本公开的实施例提供一种用于解密加密协议会话(SSL/TLS会话)而 不需要破坏客户端信任的系统。实施例提供:传递SSL握手而不改变;原 始证书、原始CA信任;提取模块与安全模块功效会话密钥;密钥是短暂的 证书,仅影响该会话;解密也可以比MITM块;解密也可以支持SSL相互 认证、客户端侧和服务器认证;并且可以支持对业务的被动模式检查。

实施例还提供:安全设备可以在代理环境中使用,其中代理可以需要 修改SSL明文;认证和信任仍然是端到端的;连接开始于“检查模式”中, 其中所有数据都经过;如果代理需要改变明文(例如,修改URL、移除附 件),则连接切换到“代理模式”。在实施例中的一个或多个中,在主机和 服务器之间划分加密状态。将客户端解密状态复制以成为初始的服务器加 密状态。将服务器解密状态复制以成为初始的客户端加密状态。安全设备 使用单独的状态来解密和重新加密SSL数据。在这些步骤之间可以修改SSL 明文。一旦代理修改了明文,代理内的加密状态可以在接收状态和重新加 密状态之间分开(diverge)。一旦重新加密开始,其继续直到连接终止。

安全模块可以使用SSL密钥信息以解密/验证SSL会话信息,并且在其 它恶意软件检测或数据丢失保护中检查SSL分组。

本公开的一个或多个实施例支持修改SSL/TLS握手以便改变可以进行 协商的SSL参数。在这样的实施例中,一定还得到初始化矢量(IV)以允 许对SSL/TLS结束握手消息的修改。这可以通过使用将主密钥作为共享密 钥而实现。在另一实施例中,可以通过提取模块直接提取IV,并以与共享 SSL/TLS会话密钥相同的方式将IV与安全模块共享。

在实施例中,握手可以被如下重写:

对于服务器问候(ServerHello)/客户端问候(ClientHello),通过:

A)将问候中的密码组列表限制为允许的列表;

B)将ClientHello中的密码组列表改为允许的列表;

C)将ServerHello中的所选定的密码组改为允许的列表中的密码 组;

D)将来自客户端/服务器的随机数改为更安全的源;并且

E)通过从ClientHello移除会话而不允许会话继续。

对于客户端证书(ClientCertificate),通过:

A)提供一个或多个客户端证书;

B)替代一个或多个客户端证书;并且

C)移除一个或多个客户端证书。

对于客户端密钥交换,通过将来自客户端/服务器的随机数改为 更安全的源。

在一个示例实施方式中,客户端202和/或防火墙204为网络元件,其 是要包括网络装置、服务器、路由器、交换机、网关、网桥、负载平衡器、 处理器、模块、或可操作以在网络环境中交换信息的任何其它合适的设备、 组件、元件、或对象。网络元件可以包括促成其操作的任何合适的硬件、 软件、组件、模块、或对象,以及用于在网络环境中接收、发送、和/或另 外传送数据或信息的合适的接口。这可以包含允许对数据或信息的有效交 换的适当算法和通信协议。然而,用户客户端202可以区别于其它网络元 件,这是因为用户客户端202倾向于作为针对网络连接的终端点,与之对 比的是倾向于作为网络连接中的中间点的网关或路由器。客户端202还可 以代表无线网络节点,例如智能电话或其它类似的电信设备。

关于与网络环境200相关联的内部结构,客户端202和/或防火墙204 中的每个可以包括用于存储要在本文中所概括的操作中所使用的信息的存 储器元件。客户端202和/或防火墙204中的每个可以在任何合适的存储器 元件中保持信息(例如,随机存取存储器(RAM)、只读存储器(ROM)、 可擦可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)、专用集成 电路(ASIC)等)、软件、硬件、或在适当的情况下并基于特定需要,可以 在任何其它合适的组件、设备、元件、或对象中保持信息。本文中所讨论 的存储器项(item)(例如,存储器元件250和252)应当被解释为被包含 在宽泛的术语“存储器元件”内。可以将由客户端202和/或防火墙204所 使用、追踪、发送、或接收的信息提供在任何数据库、寄存器、队列、表 格、高速缓存、控制列表、或其它存储结构中,可以在任何合适的时间引 用所有这些。任何这样的存储选项可以被包括在本文中所使用的宽泛术语 “存储器元件”内。

在某些示例实施方式中,可以通过编码在一个或多个有形介质(例如, ASIC中提供的嵌入式逻辑、数字信号处理器(DSP)指令、要由处理器执 行的软件(潜在地包括对象代码和源代码)、或其它类似机器等)中的逻辑 来实现本文中所概括的功能,所述有形介质可以包含非瞬时性介质。在这 些事例中的一些中,存储器元件可以存储用于本文中所描述的操作的数据。 这包括能够存储被执行以进行本文中所描述的活动的软件、连接、代码、 或处理器指令的存储器元件。

在一个示例实施方式中,客户端202和/或防火墙204可以包括软件模 块(例如,提取模块230和/或安全模块220)以实现或促进本文中概括的 操作。在其它实施例中,这样的操作可以由硬件来执行、在这些元件外部 实现、或被包括在一些其它网络设备中以实现所期望的功能。或者,这些 元件可以包括进行协调以便实现本文中所概括的操作的软件(或往复软 件)。在其它实施例中,这些设备中的一个或全部可以包括促成其操作的任 何合适的算法、软件、组件、模块、接口、或对象。

另外,客户端202和/或防火墙204中的每个可以包括处理器260和262, 其可以执行软件或算法以进行如本文中所讨论的活动。处理器可以执行与 数据相关联的任意类型的指令以实现本文中所详述的操作。在一个示例中, 处理器可以将元件或制品(例如,数据)从一个状态或物体转换为另一状 态或物体。在另一示例中,可以使用固定逻辑或可编程逻辑(例如,由处 理器执行的软件/计算机指令)来实行本文中所概括的活动,并且本文中所 标识的元件可以是可编程处理器、可编程数字逻辑(例如,现场可编程门 阵列(FPGA)、EPROM、EEPROM)、或包括数字逻辑、软件、代码、电 子指令的ASIC、或其任意合适组合中的一些类型。本文中所描述的任何潜 在的处理元件、模块、和机器应当被解释为被包含在宽泛的术语“处理器” 内。

图3为根据实施例的具有SSL/TLS握手通信的网络环境的示出。网络 环境300包括客户端302、防火墙304、服务器306。此外,客户端202包 括提取模块308、防火墙304包括安全模块310以执行安全检查316,并且 服务器306包括服务器证书312。

服务器证书312可以是图2中的权威证书214的一个示例。服务器证 书312可以被传递到客户端202。客户端202可以将服务器证书312存储在 真实证书权威信任314中。真实证书权威信任314可以是图2中的信任列 表216的一个示例。

网络环境300还包括消息320-336。消息320-336可以是被包括作为用 于SSL/TLS会话的握手的一部分的消息。SSL/TLS会话可以是图2中的加 密协议会话208的一个示例。

消息320和322可以是包括ClientHello和ServerHello的初始消息。防 火墙304可以允许消息320通过。即使消息320和322被分别标记,但是 它们包含相同信息。

消息324和326可以是服务器306发送给客户端302的服务器证书312。 防火墙304还通过这些消息。即使消息324和326被分别标记,但是它们 包含相同信息。经由通过服务器证书312,客户端302可以确认该通信是来 自服务器306的。

消息328和330是针对协商的结束消息。即使消息328和330被分别 标记,但是它们包含相同信息。在其它实施例中,如果安全模块310想要 选择密码组,则安全模块310可以改变消息328和/或330。在这种情况下, 它们不可相同。

消息332可以是提取模块308何时向安全模块310发送共享密钥。消 息332还可以是安全消息。

消息334和336可以代表网络流。这些消息表示通过防火墙306的数 据。在一个或多个实施例中,防火墙306允许这些消息通过,在其它实施 例中,防火墙306可以中介消息334和336。在后一种情况下,防火墙306 可以延迟、终止、或修改消息334和336。

图4为根据有利的实施例的针对SSL/TLS的网络环境400的框图。网 络环境400包括客户端402、防火墙404、和服务器406。此外,客户端202 包括提取模块408并且防火墙304包括安全模块310。客户端402可以是如 图2所示的客户端202的一个示例。防火墙404可以是如图2所示的防火 墙204的一个示例。服务器406可以是如图2所示的服务器306的一个示 例。

客户端202还包括应用412和操作系统(OS)414。应用412可以是发 起与服务器406的加密协议会话的过程。可以将应用412加载到负责数据 到服务器406的实际传输的操作系统414中。

提取模块408可以从操作系统414和/或应用412提取共享密钥。提取 模块执行密钥共享以将共享密钥(SSL会话密钥或主密钥)发送给安全模 块410。这允许安全模块执行对操作系统414与服务器406之间的网络流的 解密。该网络流可以是SSL/TLS加密的业务。

图5为根据示例性实施例的作为代理的安全模块的示出。网络环境502 可以包括网络流504、安全模块506、客户端解密状态508、服务器解密状 态510、客户端加密状态512、和服务器加密状态514。

图5的(a)部分中的安全模块506可以是处于检查模式的代理。当处 于检查模式时,安全模块506复制并解密网络流504。安全模块506使用客 户端解密状态508来将来自客户端的网络流504解密,并使用服务器解密 状态510来将来自服务器的网络流504解密。

在图5的(b)部分中,安全模块502转换到代理模式。安全模块506 可以采用客户端解密状态508来创建服务器加密状态514,并采用服务器解 密状态510来创建客户端加密状态512。除了类似于(a)部分中在检查模 式中的解密之外,安全模块506还可以在(c)部分在代理模式中进行加密。

在(c)部分,安全模块506在网络流504之间。在代理模式期间,安 全模块506可以通过、解密/加密、终止、和/或修改网络流504。为了修改 网络流504,安全模块可以如之前在(a)部分中那样进行解密,但是接着 使用客户端加密状态512和/或服务器加密状态514来加密网络流504。在 实施例中,一旦安全模块开始修改网络流504,安全模块506可以在加密协 议(SSL/TLS)会话的剩余时间内加密/解密剩余的网络流504。

图6为根据实施例的数据图的示出。数据图600表示典型的SSL/TLS 数据结构。数据图600包括数据结构602-616。

提取模块可以使用基于API挂钩或签名的扫描来检查与目标应用存储 器和地址相关的数据结构602-616。客户端可以由其它安全服务保护以在客 户端经由安全OOB信道项安全模块发送敏感SSL密钥信息之前保护该敏感 SSL密钥信息。

在实施例中,解密路径可以是Wininet.dll,其包括CFSM:RunworkItem、 CFSM:Run、CFSM:SecureReceive、ICSECURESOCKET::RECEIVE_FSM、 ICSecuresocket::DecryptData、以及ICSecuresocket::DecryptData。接着是 Sspiceli.dll,其包括DecryptMessage和LsaunsealMessage。接着是 Schannel.dll,其包括SpunsealMessage、SslUnsealMessageStream、 TlsDecryptHandler、以及TlsDecryptMessag。接着是Ncrypt.dll,其包括 SslDecryptpacke、SPSslDecryptPacket、以及TlsDecryptPacket。接着是 Bcrypt.dll,其包括BcryptDecrypt。接着是Bcryptprimitives.dll,其包括 MSCryptDecrypt、MSBlockDecrypt、以及AescbcDecrypt。

在实施例中,函数可以为DecryptMessage()函数。该函数可以如下使用:

SECURITY_STATUS SEC_Entry

DecryptMessage(_in PCtxtHandle phContext,_inout PSecBufferDesc  pMessage,_in ULONG MessageSeqNo,_out PULONG pfQOP)。

CtxtHandle可以是额外的上下文信息。

CtxtHandle可以通过CtxtHandle{Void*P_vtable; LSA_SEC_HANDLE usercontext;...}来访问LSA_SEC_HANDLE。

其中LSA_SEC_HANDLE、NCRYPT_KEY_HANDLE可以被访问。 CSslContext包括Cipher ID、ReadKey、WriteKey、以及SessionID。

其中NCRYPT_KEY_HANDLE、BCRYPT_KEY_HANDLE可以被访 问。SSL_KEY_HANDLE可以包括hmac_key和bcrypt_key handle。

其中BCRYPT_KEY_HANDLE,即共享密钥(会话密钥)可以被获 得。MSCRYPT_SYMMKEY_HANDLE包括会话密钥和轮密钥(round key)。

图7为根据实施例的示出了使用共享库提取共享密钥的过程的简化流 程图。流程700可以是在加密协议会话期间和/或在加密协议会话之前操作 的过程。在710,提取模块将共享库加载到应用中。在720,提取模块在应 用中识别任何加密结构。在730,提取模块将加密结构与提取函数挂钩 (hook)。在740,响应于调用加密结构,执行模块执行提取函数以识别共 享密钥。在750,提取模块提取共享密钥。在750之后,提取模块可以将共 享密钥安全地传输到安全模块。

在操作术语中,并且具体地在一个实施例中,提取模块将DLL添加到 应用(例如,网络浏览器)的过程空间中。为了做到这一点,提取模块: 使用GetProcessAddress以找到LoadLibrary函数Kernel32.dll;经由 VirtualAllocEx和WriteProcessMemory将具有路径的字符串置于被添加到网 络浏览器过程空间中的DLL;并且调用CreateRemoteThread以在网络浏览 器过程空间中使用LoadLibrary来启动线程作为线程方法,并传递在上文被 分配为仅有的变量(argument)的字符串。接着,所添加的DLL:将 SCHANNEL.DLL预先加载到过程空间中;找到加密数据结构的基础 (base);并且将SCHANNEL.DLL的加密函数与自定义函数挂钩。接下来, 当应用请求加密函数时,调用所挂钩的函数,该函数接着:调用原始 SCHANNEL函数;在上述找到的数据结构中检查加密密钥材料,也可以找 到主密钥;并且将由原始SCHANNEL函数返回的值返回。

图8为根据实施例的示出了从存储空间提取共享密钥的过程的简化流 程图。流程800可以是在加密协议会话期间和/或在加密协议会话之前操作 的过程。在810,提取模块在网络层处监测网络流。提取模块搜索加密协议 会话的握手的发起。

在820,提取模块识别加密协议会话的握手的发起。在830,响应于识 别出所述发起,提取模块打开发起加密的协议会话的过程的存储空间。在 一个或多个实施例中,该过程可以是应用。

在840,提取模块在过程的存储空间内在加密协议会话中识别共享密 钥。在850,提取模块提取共享密钥。在850之后,提取模块可以将共享密 钥传输到安全模块。

在操作术语中,并且特别地在在一个实施例中,提取模块可以钩挂的 TCP流中以寻找ClientHello消息。当找到ClientHello消息,并且直到找到 针对该会话的密钥材料时,所有的TLS消息都被检查了。提取SessionID 以用于ServerHello消息。在由所检查的过程处理每个分组之前和之后,经 由EnumProcessModules and ReadProcessMemory查询该过程以:找出是否 加载了SCHANNEL.DLL;在SCHANNEL.DLL中找出加密数据结构的基 础;并且找出针对在ServerHello消息中找到的会话id的密钥材料,还可以 找到预主密钥和/或主密钥。一旦找到密钥材料,则将该密钥材料发送到安 全模块。在图7中可以扩展这个过程,以通过搜索找到适当数据结构的过 程空间而找到密钥材料(包括那些静态链接的)。

图9为根据实施例的示出了分析加密的网络流的过程的简化流程图。 流程900可以是在加密协议会话期间操作的过程。在902,安全模块监测位 于第一节点和第二节点之间的加密的网络流,该网络流是从第一节点发起 的。在实施例中,第一节点可以是客户端而第二节点可以是服务器。加密 的网络流位于第一节点和第二节点之间的两个方向传播。

在904,安全模块复制加密的网络流以形成该加密的网络流的副本。在 906,安全模块使用共享密钥解密该加密的网络流的副本。该共享密钥与第 一节点和第二节点相关联。第一节点和第二节点都知道该共享密钥。在实 施例中,第一节点提供该共享密钥。通过知道该共享密钥,安全模块可以 在不干扰该网络流的情况下解密该网络流。

在908,安全模块针对目标数据而扫描该网络流副本。目标数据可以为 由客户端、用户、安全模块、防火墙、安全软件、策略服务器、或其它实 体所视为目标的数据。

另外,在一个或多个实施例中,在902之前,提取模块可以从第一节 点提取共享密钥。另外,在一个或多个实施例中,作为902处的监测一部 分,安全模块可以延迟该加密的网络流并且转发该加密的网络流。在该实 施例中,安全模块会延迟进行转发以给出扫描该网络流的副本的时间。响 应于在该网络流副本中识别出目标数据,安全模块可以终止该加密的网络 流。

图10还根据实施例示出了耦合到处理器1000的存储器1002。存储器 1002可以是对本领域技术人员已知或可用的各种存储器(包括存储器分层 结构中的各个层)中的任意一种。存储器1002可以包括要由处理器1000 执行的代码1004,代码1004可以为一个或多个指令。处理器1000遵循由 代码1004指定的指令的程序序列。每个指令进入前端逻辑1006并且由一 个或多个解码器1008进行处理。解码器可以生成诸如处于预先定义的格式 的固定宽度微操作这样的微操作以作为其输出,或可以生成反映原始代码 指令的其它指令、微指令、或控制信号以作为其输出。前端逻辑1006还包 括寄存器重命名逻辑1010和调度逻辑1012,其总体上分配资源并且将与转 换指令对应的操作排队以供执行。

所示的处理器1000包括具有一组执行单元1016-1到1016-N的执行逻 辑1014。一些实施例可以包括专用于特定功能或功能组的多个执行单元。 其它实施例可以仅包括一个执行单元或可以包括能够执行特定功能的一个 执行单元。执行逻辑1014执行由代码指令所规定的操作。

在完成对由代码指令所规定的操作的执行之后,后端逻辑1018使代码 1004的指令退出(retire)。在一个实施例中,处理器1000允许无序执行, 但需要指令的有序退出。退出逻辑1020可采取如本领域中的技术人员已知 的各种形式(例如,重排序缓冲器等)。以这种方式,在代码1004的执行 期间,至少在由解码器所生成的输出、由寄存器重命名逻辑1010所利用的 硬件寄存器和表格以及由执行逻辑1014修改的任何寄存器(未示出)方面, 处理器核心1000发生变换。

虽然未在图7中示出,但是处理元件可包括在具有处理器1000的芯片 上的其它元件。例如,处理元件可包括连同处理器1000的存储器控制逻辑。 处理元件可包括I/O控制逻辑和/或可包括与存储器控制逻辑集成的I/O控 制逻辑。处理元件还可包括一个或多个高速缓存。

图11示出了根据实施例的被布置为点对点(PtP)配置的计算系统1100。 特别地,图11示出了在其中处理器、存储器和输入/输出设备通过多个点对 点接口进行互连的系统。

如图11所示,系统1100包括多个处理器,为清楚起见,仅示出其中 的两个处理器1102和1104。处理器1102和1104每个均包括一组内核1103 和1105,以执行程序的多个过程。处理器1102和1104每个还包括集成存 储器控制器逻辑(MC)1106和1108,以与存储器1110和1112进行通信。 存储器1110和/或1112可以存储各种数据,例如参照存储器1112所讨论的 那些数据。在替代实施例中,存储器控制器逻辑1106和1108可以独立于 处理器1102和1104。

处理器1102和1104可以是诸如参照图1所讨论的处理器102的任意 类型的处理器。处理器1102和1104分别经由点对点(PtP)接口1114使用 PtP接口电路1116和1118而交换数据。处理器1102和1104每个均经由单 个的PtP接口1122和1124使用点对点接口电路1126、1128、1130、和1132 而与芯片组1120交换数据。芯片组1120还经由高性能图形接口1136使用 接口电路1137(其可以为PtP接口电路)而与高性能图形电路1134交换数 据。在替代实施例中,图11中示出的任何或所有PtP链路可以被实现为多 点分支总线而非PtP链路。

如本文中所公开的,可以在处理器1102和1104内提供至少一个实施 例。然而,其它实施例可以存在于图11的系统1100内的其它电路、逻辑 单元、或设备中。此外,其它实施例可以分布遍及图11示出的几个电路、 逻辑单元或设备。

芯片组1120经由PtP接口电路1141而与总线1140进行通信。总线1140 可具有在其上进行通信的一个或多个设备,例如总线桥1142和I/O设备 1143。总线桥1143经由总线1144而与其它设备例如键盘/鼠标1145(或其 它输入设备,诸如例如触摸屏)、通信设备1146(例如,调制解调器、网络 接口设备或可以通过计算机网络进行通信的其它类型的通信设备)、音频 I/O设备1147、和/或数据存储设备1148进行通信。数据存储设备1148可 以存储由处理器1102和/或1104执行的代码1149。在替代实施例中,总线 架构的任意部分可以使用一个或多个PtP链路来实现。

图10和11中描绘的计算机系统为可以被用来实现本文中所讨论的各 个实施例的计算系统的实施例的示意示出。将会意识到,图10和11中描 绘的系统的各个组件可以在片上系统(SoC)架构或在任何其它合适的配置 中进行组合。例如,本文中所公开的实施例可以被并入到诸如例如移动设 备(例如,智能蜂窝电话、平板计算机、个人数字助理、便携式游戏设备 等)的系统中。将会意识到,在至少一些实施例中,这些移动设备可以被 提供有SoC架构。

应当注意在某些示例实施方式中,可以通过编码在一个或多个有形介 质(例如,专用集成电路(ASIC)中提供的嵌入式逻辑、数字信号处理器 (DSP)指令、要由处理器执行的软件(潜在地包括对象代码和源代码)、 或其它类似机器等)中的逻辑来实现本文中所概括的安全模块和提取模块 功能。在这些实例中的一些中,存储器元件可以存储用于本文中所描述的 操作的数据。这包括能够存储被执行以进行本说明书中所描述的活动的软 件、连接、代码、或处理器指令的存储器元件。处理器可以执行与数据相 关联的任何类型的指令,以实现在本说明书中所详细描述的操作。在一个 实施例中,处理器可以将元件或制品(例如,数据)从一个状态或物体转 换为另一状态或物体。在另一示例中,可以使用固定逻辑或可编程逻辑(例 如,由处理器执行的软件/计算机指令)来实行本文中所概括的活动,并且 本文中所标识的元件可以是可编程处理器、可编程数字逻辑(例如,FPGA、 EPROM、EEPROM)、或包括数字逻辑、软件、代码、电子指令的ASIC、 或其任意合适组合中的一些类型。

在一个示例实施方式中,安全模块和提取模块可以包括软件以便实现 本文中所概括的安全活动。如本文中所讨论的,安全模块和提取模块可以 包括存储器元件,该存储器元件用于存储在实现安全活动时使用的信息。 另外,如在本说明书中所公开的,安全模块和提取模块可以包括执行软件 或算法以进行安全活动的处理器。在适当并且基于特定需要的情况下,这 些设备还可以在任何适合的存储器元件(随机存取存储器(RAM)、ROM、 EPROM、EEPROM、ASIC等)、软件、硬件、或任何其它合适的组件、设 备、元件、或对象中保留信息。另外,安全模块和提取模块可以为软件、 硬件、固件或其组合。本文中所讨论的任何存储器项(例如,数据库、表 格、树、高速缓存等)应当被解释为被包含在宽泛的术语“存储器元件” 内。类似地,本说明书中所描述的任何潜在的处理元件、模块和机器应当 被解释为被包含在宽泛的术语“处理器”内。

应当注意到,有了上文所提供的实施例,以及本文中所提供的许多其 它示例,可以以两个、三个、或四个元件来描述交互。然而,这仅仅是为 了清楚和示例的目的。在某些情况下,通过仅参照有限数量的元件可以更 容易地描述给定的流程组的功能中的一个或多个。应当意识到,安全模块 和提取模块(以及它们的研究内容(teaching))是容易伸缩的并且可以容纳 大量的组件以及更复杂/精密的布置和配置。由此,所提供的示例不应限制 或抑制潜在地应用于大量其它架构的安全模块和提取模块的宽泛的研究内 容。

重要的是要注意到,前述流程图中的操作仅示出了可以由安全模块和 提取模块执行的、或可以在安全模块和提取模块内执行的一些可能的情境 和模式。在适当情况下,这些操作中的一些可以被删除或移除、或可以被 显著修改或改变而不背离本公开的范围。另外,多个这些操作已被描述为 与一个或多个额外操作同时执行、或与一个或多个额外操作并行执行。然 而,可以显著改变这些操作的时序。已经为了示例和讨论的目的提供了前 述操作流。安全模块和提取模块提供了大量的灵活性,这在于可以提供任 何适合的布置、时间表、配置、和时序机制而不背离本公开的研究内容。

尽管已经参照特定布置和配置详细描述了本公开,但是这些示例配置 和布置可以明显改变而不背离本公开的范围。

以下示例关于根据本说明书的实施例。一个或多个实施例可以提供用 于分析加密的网络流的方法。所述方法可以包括:监测位于第一节点和第 二节点之间的所述加密的网络流,该网络流是从所述第一节点发起的;复 制所述加密的网络流以形成所述加密的网络流的副本;使用共享密钥对所 述加密的网络流的所述副本进行加密,所述共享密钥与所述第一节点和所 述第二节点相关联;并且针对目标数据而扫描该网络流副本。

实施例的示例还包括从所述第一节点提取所述共享密钥。

实施例的示例还包括延迟所述加密的网络流;并且转发所述加密的网 络流。

实施例的示例还包括,响应于在该网络流副本中识别出目标数据,终 止所述加密的网络流。

实施例的示例还包括,响应于在该网络流副本中识别出目标数据,在 进行转发之前,使用所述共享密钥对所述加密的网络流进行解密;修改未 加密的网络流以移除所述目标数据;并且使用所述共享密钥对修改的网络 流进行加密;并且转发所述修改的网络流。

实施例的示例还包括,其中,从所述第一节点提取所述共享密钥包括: 将共享库加载到所述第一节点上的应用中,其中,所述应用正在访问加密 的协议会话,并且其中,所述共享库允许通过所述应用对加密协议会话进 行访问;并且在所述加密协议会话中识别所述共享密钥。

实施例的示例还包括,其中,从所述第一节点提取所述共享密钥包括: 在网络层处监测网络流;识别加密协议会话的握手的发起;响应于识别出 所述发起,打开发起该加密的协议会话的过程的存储空间;并且在所述过 程的所述存储空间内在所述加密协议会话中识别所述共享密钥。

实施例的示例包括所述共享密钥为主密钥、预主密钥、会话上下文中 的至少一个。如在本文中所使用的,术语“中的至少一个”可以意味着该 列表的任意一个或任意组合。例如,A、B和C中的至少一个可以意味着A、 B、或C、或其任意组合。

实施例的示例还包括限制用于对所述第一节点和所述第二节点之间的 网络流进行加密的加密方法的数量。

一个或多个实施例提供一种用于从第一节点提取共享密钥的方法、装 置、和/或机器可访问存储介质。所述方法包括将共享库加载到所述第一节 点上的应用中,其中,所述应用正在访问该加密的协议会话,并且其中, 所述共享库允许通过所述应用对加密协议会话进行访问;并且在所述加密 协议会话中识别所述共享密钥。

一个或多个实施例提供一种用于从第一节点提取共享密钥的方法、装 置、和/或机器可访问存储介质。所述方法包括在网络层处监测网络流;识 别加密协议会话的握手的发起;响应于识别出所述发起,打开发起该加密 的协议会话的过程的存储空间;并且在所述过程的所述存储空间内在所述 加密协议会话中识别所述共享密钥。

实施例的示例还包括从所述过程的所述存储空间提取所述共享密钥。

实施例的示例还包括将所述共享密钥发送到安全模块。

一个或多个实施例提供只用装置。所述装置包括安全模块,所述安全 模块被配置为监测位于第一节点和第二节点之间的加密的网络流,该网络 流是从所述第一节点发起的;复制所述加密的网络流以形成所述加密的网 络流的副本;使用共享密钥对所述加密的网络流的所述副本进行解密,所 述共享密钥与所述第一节点和所述第二节点相关联;并且针对目标数据而 扫描该网络流副本。

实施例的示例还包括提取模块,所述提取模块被配置为从所述第一节 点提取所述共享密钥。

实施例的示例还包括,其中,所述安全模块进一步被配置为:延迟所 述加密的网络流;并且转发所述加密的网络流。

实施例的示例还包括,其中,所述安全模块进一步被配置为:响应于 在该网络流副本中识别出目标数据,终止所述加密的网络流。

实施例的示例还包括,其中,所述安全模块进一步被配置为:响应于 在该网络流副本中识别出目标数据,在进行转发之前,使用所述共享密钥 对所述加密的网络流进行解密;修改未加密的网络流以移除所述目标数据; 并且使用所述共享密钥对修改的网络流进行加密;并且转发所述修改的网 络流。

实施例的示例还包括,其中,被配置为从所述第一节点提取所述共享 密钥的所述提取模块包括执行下列操作的所述提取模块:将共享库加载到 所述第一节点上的应用中,其中,所述应用正在访问加密的协议会话,并 且其中,所述共享库允许通过所述应用对加密协议会话进行访问;并且在 所述加密协议会话中识别所述共享密钥。

实施例的示例还包括,其中,被配置为从所述第一节点提取所述共享 密钥的所述提取模块包括执行下列操作的所述提取模块:在网络层处监测 网络流;识别加密协议会话的握手的发起;响应于识别出所述发起,打开 发起该加密的协议会话的过程的存储空间;并且在所述过程的所述存储空 间内在所述加密协议会话中识别所述共享密钥。

实施例的示例还包括,其中,所述共享密钥为主密钥、预主密钥、会 话上下文中的至少一个。

实施例的示例还包括,其中,所述安全模块进一步被配置为:限制用 于对所述第一节点和所述第二节点之间的网络流进行加密的加密方法的数 量。

一个或多个实施例提供具有存储于其上的用于分析加密的网络流的指 令的至少一种机器可访问存储介质,当在机器上执行所述指令时,使得所 述机器:监测位于第一节点和第二节点之间的所述加密的网络流,该网络 流是从所述第一节点发起的;复制所述加密的网络流以形成所述加密的网 络流的副本;使用共享密钥对所述加密的网络流的所述副本进行解密,所 述共享密钥与所述第一节点和所述第二节点相关联;并且针对目标数据而 扫描该网络流副本。

实施例的示例还包括指令,当在所述机器上执行时,使得所述机器: 从所述第一节点提取所述共享密钥。

实施例的示例还包括指令,当在所述机器上执行时,使得所述机器: 延迟所述加密的网络流;并且转发所述加密的网络流。

实施例的示例还包括指令,当在所述机器上执行时,使得所述机器: 响应于在该网络流副本中识别出目标数据,终止所述加密的网络流。

实施例的示例还包括指令,当在所述机器上执行时,使得所述机器: 响应于在该网络流副本中识别出目标数据,在进行转发之前,使用所述共 享密钥对所述加密的网络流进行解密;修改未加密的网络流以移除所述目 标数据;并且使用所述共享密钥对修改的网络流进行加密;并且转发所述 修改的网络流。

实施例的示例还包括,其中,当在所述机器上执行所述指令时,使得 所述机器从所述第一节点提取所述共享密钥,还包括指令,当在所述机器 上执行时,使得所述机器:将共享库加载到所述第一节点上的应用中,其 中,所述应用正在访问加密的协议会话,并且其中,所述共享库允许通过 所述应用对加密协议会话进行访问;并且在所述加密协议会话中识别所述 共享密钥。

实施例的示例还包括,其中,当在所述机器上执行所述指令时,使得 所述机器从所述第一节点提取所述共享密钥,还包括指令,当在所述机器 上执行时,使得所述机器:在网络层处监测网络流;识别加密协议会话的 握手的发起;响应于识别出所述发起,打开发起该加密的协议会话的过程 的存储空间;并且在所述过程的所述存储空间内在所述加密协议会话中识 别所述共享密钥。

实施例的示例还包括,其中,所述共享密钥为主密钥、预主密钥、会 话上下文中的至少一个。

实施例的示例还包括指令,当在所述机器上执行时,使得所述机器限 制用于对所述第一节点和所述第二节点之间的网络流进行加密的加密方法 的数量。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号