首页 / 专利库 / 电气元件和设备 / 介质强度恢复 / 用于云存储服务的透明加密/解密网关

用于存储服务的透明加密/解密网关

阅读:72发布:2020-11-25

专利汇可以提供用于存储服务的透明加密/解密网关专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种用于 云 存储服务的透明加密/解密网关。提供一种方法,包括在分布式计算系统(400)的网关设备(403)中执行以下操作:拦截来自流数据的至少一部分的数据文件;评估数据文件以确定用于流数据传输的通信协议;评估数据文件以确定数据文件的目的地和源;如果目的地是 存储器 (405):从多个预定分析 算法 中选择一组分析算法,每个分析算法与预定权重关联;使用所述一组分析算法中的每个所述分析算法分析数据文件,以判定数据文件是否包括敏感数据,从而确定一组相应结果;将每个结果与指示数据文件是否包括敏感数据的数值关联;使用预定权重计算指示数据文件包括敏感数据的数值的加权总和;将加权总和与预定敏感度 阈值 相比较。,下面是用于存储服务的透明加密/解密网关专利的具体信息内容。

1.一种由分布式计算系统的客户端在分布式计算系统内的存储器中进行安全数据存储的计算机实现的方法,所述方法包括在所述分布式计算系统的网关设备中执行以下操作:
-在所述分布式计算系统中的流数据传输期间,拦截来自所述流数据的至少一部分的数据文件;
-评估所述数据文件以便确定用于所述流数据传输的通信协议;
-根据所述通信协议评估所述数据文件以便确定所述数据文件的目的地和源;
-如果所述目的地是所述存储器:
-从多个预定分析算法中选择一组分析算法,其中所述一组分析算法中的每个分析算法与预定权重关联;
-使用所述一组分析算法中的每个所述分析算法分析所述数据文件,以便判定所述数据文件是否包括敏感数据,从而确定一组相应结果;
-将所述一组结果中的每个结果与指示所述数据文件是否包括敏感数据的数值关联;
-使用所述预定权重计算指示所述数据文件包括敏感数据的所述数值的加权总和;
-将所述加权总和与预定敏感度阈值相比较;
-响应于确定所述加权总和高于所述敏感度阈值:
●创建数据容器;
●使用至少一个加密密钥对所述数据文件的有效负载内容进行加密;
●存储所述至少一个加密密钥;
●将加密后的有效负载内容存储在所述数据容器中;
●增加和/或减小所述数据容器的所述有效负载内容的大小,使得所述数据容器的所述有效负载内容的大小与所述数据文件的所述有效负载内容的大小相同;
●使用所述数据容器的所述有效负载内容替换所述数据文件的所述有效负载内容;
-将所述数据文件传输到所述存储器;
-如果所述目的地是所述客户端并且所述源是所述存储器:
-判定是否根据多个存储的加密密钥中的一个加密密钥对所述数据文件进行加密;
-响应于判定使用存储的加密密钥对所述数据文件进行加密,使用所述存储的加密密钥对所述数据文件进行解密;以及响应于判定所述客户端满足预定授权条件,将所述数据文件传输到所述客户端。
2.根据权利要求1的方法,其中所述分布式计算系统是计算系统。
3.根据权利要求1的方法,其中评估所述数据文件以便确定通信协议包括:
-确定所述数据文件已加密;
-确定用于对所述数据文件进行加密的加密密钥;
-使用所确定的加密密钥对所述数据文件进行解密;
-其中在使用所确定的加密密钥对所述数据文件进行解密之后,执行所述数据文件到所述客户端的传输。
4.根据权利要求3的方法,其中在用于对所述数据文件进行加密的加密密钥未知的情况下,确定所述加密密钥包括使用彩虹表在预定时间段内恢复所述加密密钥。
5.根据权利要求1至3中任一权利要求的方法,其中所述拦截包括:
-按顺序拦截所述数据文件的数据分组;
-判定所述数据文件是否完整;
-响应于判定所述数据文件不完整,向所述客户端发送确认消息以便触发来自所述客户端的进一步数据传输。
6.根据权利要求1至3中任一权利要求的方法,其中所述网关设备包括具有一个或多个表项的数据结构,所述表项包括客户端类别标识符和对应的加密数据,其中所述加密包括:
-使用存储在所述分布式计算系统中的客户端数据和/或所述数据有效负载,确定所述客户端的客户端类别标识符;
-使用所述客户端类别标识符读取所述数据结构;
-根据与所确定的客户端类别标识符对应的加密数据,确定所述至少一个加密密钥。
7.根据权利要求6的方法,其中所述加密数据指示一个或多个加密级别中的加密强度。
8.根据权利要求6的方法,其中确定所述至少一个加密密钥包括:
-生成所述至少一个加密密钥,和/或
-从所述多个存储的加密密钥中选择所述至少一个加密密钥。
9.根据权利要求1的方法,其中所述多个分析算法包括以下分析算法:该分析算法通过将所述数据文件的所述有效负载内容与存储在所述分布式计算系统中的敏感数据模式定义相比较,标识所述数据文件的所述有效负载内容中的敏感数据。
10.根据权利要求9的方法,其中所述多个分析算法还包括逆向垃圾邮件分析。
11.根据权利要求10的方法,其中使用所述逆向垃圾邮件分析来分析所述数据文件包括:
-分别为敏感和非敏感数据提供参考数据;
-通过统计学习技术处理所述参考数据以便生成权重以表示敏感和非敏感数据;
-使用所生成的权重判定所述数据文件的所述有效负载内容是否包括敏感数据。
12.根据权利要求1的方法,其中所述分布式计算系统包括访问控制列表,所述访问控制列表包括有权访问所述数据文件的客户端的客户端ID,其中所述传输包括:
-标识所述客户端的客户端ID,其中所述授权条件包括:所述访问控制列表包括所述客户端ID。
13.一种计算机可读介质,其包括随其包含的计算机可读程序代码,当所述计算机可读程序代码由处理器执行时,导致所述处理器执行根据权利要求1至12的任一权利要求所述的方法。
14.一种用于在分布式计算系统内的存储器中进行安全数据存储的网关设备,所述网关设备包括用于存储机器可执行指令的内存和用于控制所述网关设备的处理器,其中执行所述机器可执行指令将导致所述处理器执行以下操作:
-在所述分布式计算系统中的流数据传输期间,拦截来自所述流数据的至少一部分的数据文件;
-评估所述数据文件以便确定用于所述流数据传输的通信协议;
-根据所述通信协议评估所述数据文件以便确定所述数据文件的目的地和源;
-如果所述目的地是所述存储器:
-从多个预定分析算法中选择一组分析算法,其中所述一组分析算法中的每个分析算法与预定权重关联;
-使用所述一组分析算法中的每个所述分析算法分析所述数据文件,以便判定所述数据文件是否包括敏感数据,从而确定一组相应结果;
-将所述一组结果中的每个结果与指示所述数据文件是否包括敏感数据的数值关联;
-使用所述预定权重计算指示所述数据文件包括敏感数据的所述数值的加权总和;
-将所述加权总和与预定敏感度阈值相比较;
-响应于确定所述加权总和高于所述敏感度阈值:
●创建数据容器;
●使用至少一个加密密钥对所述数据文件的有效负载内容进行加密;
●存储所述至少一个加密密钥;
●将加密后的有效负载内容存储在所述数据容器中;
●增加和/或减小所述数据容器的所述有效负载内容的大小,使得所述数据容器的所述有效负载内容的大小与所述数据文件的所述有效负载内容的大小相同;
●使用所述数据容器的所述有效负载内容替换所述数据文件的所述有效负载内容;
-将所述数据文件传输到存储器;
-如果所述目的地是所述分布式计算系统的客户端并且所述源是所述存储器:
-判定是否根据多个存储的加密密钥中的一个加密密钥对所述数据文件进行加密;
-响应于判定使用存储的加密密钥对所述数据文件进行加密,使用所述存储的加密密钥对所述数据文件进行解密;以及响应于判定所述客户端满足预定授权条件,将所述数据文件传输到所述客户端)。

说明书全文

用于存储服务的透明加密/解密网关

技术领域

[0001] 本发明涉及分布式计算系统,更具体地说,涉及用于安全数据存储的方法。

背景技术

[0002] 云计算已经成为一种流行的方式,用于作为服务提供各种信息技术(IT)概念。云计算采用继续发展,并且诸如金融公司之类的公司愿意将其数据交给基于云的软件

发明内容

[0003] 本发明的实施例的目标是提供一种用于安全数据存储的改进的计算机实现的方法、网关设备和计算机可读介质。通过独立权利要求的主题解决所述目标。在从属权利要求中描述有利的实施例。
[0004] 在一个方面,本发明涉及一种由分布式计算系统的客户端在分布式计算系统内的存储器中进行安全数据存储的计算机实现的方法,所述方法包括在所述分布式计算系统的网关设备中执行以下操作:
[0005] -在所述分布式计算系统中的流数据传输期间,拦截来自所述流数据的至少一部分的数据文件;
[0006] -评估所述数据文件以便确定用于所述流数据传输的通信协议;
[0007] -根据所述通信协议评估所述数据文件以便确定所述数据文件的目的地和源;
[0008] -如果所述目的地是所述存储器:
[0009] -从多个预定分析算法中选择一组分析算法,其中所述一组分析算法中的每个分析算法与预定权重关联;
[0010] -使用所述一组分析算法中的每个所述分析算法分析所述数据文件,以便判定所述数据文件是否包括敏感数据,从而确定一组相应结果;
[0011] -将所述一组结果中的每个结果与指示所述数据文件是否包括敏感数据的数值关联;
[0012] -使用所述预定权重计算指示所述数据文件包括敏感数据的所述数值的加权总和;
[0013] -将所述加权总和与预定敏感度阈值相比较;
[0014] -响应于确定所述加权总和高于所述敏感度阈值:
[0015] ●创建数据容器;
[0016] ●使用至少一个加密密钥对所述数据文件的有效负载内容进行加密;
[0017] ●存储所述至少一个加密密钥;
[0018] ●将加密后的有效负载内容存储在所述数据容器中;
[0019] ●增加和/或减小所述数据容器的所述有效负载内容的大小,使得所述数据容器的所述有效负载内容的大小与所述数据文件的所述有效负载内容的大小相同;
[0020] ●使用所述数据容器的所述有效负载内容替换所述数据文件的所述有效负载内容;
[0021] -将所述数据文件传输到所述存储器。
[0022] -如果所述目的地是所述客户端并且所述源是所述存储器:
[0023] -判定是否根据多个存储的加密密钥中的一个加密密钥对所述数据文件进行加密;
[0024] -响应于判定使用存储的加密密钥对所述数据文件进行加密,使用所述存储的加密密钥对所述数据文件进行解密;以及响应于判定所述客户端满足预定授权条件,将所述数据文件传输到所述客户端。
[0025] 所述数据文件可以作为包含一个或多个数据分组的序列传输,所述数据分组形成所述数据流的至少一部分。
[0026] 所述敏感数据例如可以是诸如地址、电话号码之类的个人数据,以及诸如行账号或信用卡号之类的金融信息。
[0027] 这些特性可以是有利的,因为它们可以为存储产品提供透明的网关服务,所述网关服务对所述客户端要存储在外部存储器上的数据进行透明加密,这些特性还可以在所述客户端下载所述加密的数据之后处理该数据的解密。此外,因为公平地检查所有业务,所以保护敏感内容,即使客户端尝试未加密地(无论是意外还是由于恶意企图)发送敏感内容。这些特性还可以确保根据计算的传输数据的“价值”或敏感性应用加密,而不是当客户端决定应用加密时进行应用。
[0028] 这可以允许所述客户端自由选择存储供应商,而不依赖于他是否提供安全存储。这是由于以下事实所致:自动使用网关本身对接收以便存储在所述分布式计算系统中的数据进行加密。因此,所述客户端可能不需要安装任何可用的加密模,因为集中执行加密。
[0029] 另一个优点可以是所述方法可以为动态数据(当传输到云提供商以及从云提供商传输时)和静态数据(存储在云提供商的基础架构中)两者提供加密安全性。
[0030] 另一个优点可以是所述方法可以应用加密而根本不需要所述客户端或所述存储提供商支持任何加密。所述存储提供商甚至可以将所述方法添加到加密中。这还可以避免所述分布式计算系统中的数据泄漏,例如当恶意或粗心客户由于其选择的加密可能不符合标准而采用不同的存储提供商时。
[0031] 另一个优点可以是可以使用多种不同的加密设置,并且公司IT管理员和合规主管可以全面控制如何对数据进行加密、何人将有权访问数据以及将加密密钥存储在何处。
[0032] 根据一个实施例,所述分布式计算系统是云计算系统。在这种情况下,所述云计算系统的一个或多个客户端提供商可以将所述存储器作为服务提供。这可以是有利的,因为本方法可以在诸如所述云计算系统、网格计算系统和集群计算系统之类的不同分布式算系统中实现。
[0033] 根据一个实施例,评估所述数据文件以便确定通信协议包括:确定所述数据文件已加密;确定用于对所述数据文件进行加密的加密密钥;使用所确定的加密密钥对所述数据文件进行解密;其中在使用所确定的加密密钥对所述数据文件进行加密之后,执行所述数据文件到所述客户端的传输。
[0034] 根据一个实施例,在用于对所述数据文件进行加密的加密密钥未知的情况下,确定所述加密密钥包括使用彩虹表在预定时间段内恢复所述加密密钥。
[0035] 根据一个实施例,所述拦截包括按顺序拦截所述数据文件的数据分组;判定所述数据文件是否完整;响应于判定所述数据文件不完整,向所述客户端发送确认消息以便触发来自所述客户端的进一步数据传输。
[0036] 根据一个实施例,所述网关设备包括具有一个或多个表项的数据结构,所述表项包括客户端类别标识符和对应的加密数据,其中所述加密包括使用存储在所述分布式计算系统中的客户端数据和/或所述数据有效负载,确定所述客户端的客户端类别标识符;使用所述客户端类别标识符读取所述数据结构;根据与所确定的客户端类别标识符对应的加密数据,确定所述至少一个加密密钥。
[0037] 例如,所述数据结构可以是具有一个或多个表项的表,每个表项表示一个客户端类别。每个表项包括客户端类别标识符和对应的加密数据。可以将所述表存储在所述网关设备的内存中。这可以加快加密和/或解密过程,因此可以降低对所述数据文件的端到端延迟的潜在影响。
[0038] 所述客户端类别标识符例如可以是表项索引,其标识表示所述客户端类别的表项。所述客户端类别例如可以是医疗服务和/或金融服务。
[0039] 该实施例可以是有利的,因为加密/解密过程对于所述客户端而言是完全透明的,原因是在数据的存储/使用过程中不需要来自所述客户端的输入。
[0040] 根据一个实施例,所述加密数据指示一个或多个加密级别中的加密强度。
[0041] 例如,在可能处理患者病历的医疗服务的情况下,所述加密数据可以指示高级加密。可以例如使用加密密钥的可变长度,根据加密算法的强度定义所述加密级别。
[0042] 根据一个实施例,所述加密数据指示所述加密密钥类型。例如,它可以指示所述加密密钥可以是对称和/或非对称密钥。
[0043] 根据一个实施例,确定所述至少一个加密密钥包括生成所述至少一个加密密钥,和/或从多个存储的加密密钥中选择所述至少一个加密密钥。
[0044] 根据一个实施例,所述加密包括根据服务平协议SLA对所述有效负载内容进行加密,其中所述SLA包括至少一个服务水平目标SLO。
[0045] 这可以是有利的,因为它可以提高所述计算系统提供的服务的质量。所述计算系统可以提供具有预定质量的数据存储,所述预定质量例如包括数据安全级别以及所述存储器与所述客户端之间的数据传输时间。
[0046] 根据一个实施例,所述至少一个SLO包括标识从组中选择的条件的条件规范,所述组包括:在预定加密级别对所述有效负载内容进行加密;以及使用预定加密技术对所述有效负载内容进行加密。
[0047] 所述加密技术例如可以包括对称算法和/或非对称算法。对称算法针对加密和解密两者使用一个密钥。非对称或公共/私有加密使用一对密钥。使用一个密钥加密的数据只能使用所述公共/私有密钥对中的另一个密钥进行解密。
[0048] 这可以是有利的,因为所述客户端可以定义适合于他或她的活动的安全级别。
[0049] 根据一个实施例,所述至少一个SLO进一步包括标识时间相关加密的条件的条件规范。例如,在时间段t1内,所述客户端可能需要使用加密方法1,在时间段t2,所述客户端可能需要使用另一种加密方法2。
[0050] 例如,金融服务可能需要依赖于一年期限的加密级别。在年末,金融服务可能预期使用高度机密的数据(例如关于他的年度活动或结果),因此当在年末这段时间内存储数据时,可能需要高加密级别。
[0051] 根据一个实施例,所述云计算系统提供一个或多个服务,其中服务是基础架构即服务(IaaS)、软件即服务(SaaS)、平台即服务(PaaS)和数据库即服务(DaaS)之一,所述加密包括:使用存储在所述云计算系统中的客户端数据确定提供给所述客户端的服务,并且根据所确定的服务对所述数据有效负载进行加密。
[0052] 例如,如果为所述客户端提供SaaS,则可以使用上面描述的数据结构的方法执行所述加密。在另一个实例中,如果所述客户端付费使用IaaS,则可以根据上面描述的SLO条件执行所述加密。这可以是有利的,因为本方法可以集成在现有云计算系统中而不需要更改服务定义或交付。例如,注册使用IaaS的客户端可以比SaaS的客户端更多(更深层次)地受益于所述系统,并且因此被允许定义其自己的加密条件。
[0053] 根据一个实施例,所述多个分析算法包括以下分析算法:该分析算法通过将所述数据文件的所述有效负载内容与存储在所述分布式计算系统中的敏感数据模式定义相比较,标识所述数据文件的所述有效负载内容中的敏感数据。
[0054] 例如,所述有效负载内容可以包含定义为敏感数据(即,包括在所述敏感数据模式定义中)的关键字,例如“confidential”。
[0055] 在另一个实例中,还可以使用所述有效负载内容的介质类型定义敏感数据。例如,与图像介质类型相比,DOC介质类型可以被视为包含敏感数据。
[0056] 可以从所述客户端接收所述敏感数据模式定义。所述敏感数据模式定义可以与所述客户端ID结合存储。根据一个实施例,比较所述有效负载内容包括:确定与所述客户端关联的客户端ID,并且将所述有效负载内容与所确定的客户端ID关联的敏感数据模式定义相比较。
[0057] 这可以是有利的,因为它可以提供一种简单并且快速的方法,以便检查要存储的数据的敏感性。
[0058] 根据一个实施例,所述多个分析算法进一步包括逆向垃圾邮件分析。
[0059] 所述逆向垃圾邮件分析可以通过以下操作执行:使用有关所述有效负载的信息作为统计学习方法的输入,并且由所述统计学习方法将所述数据有效负载分类为属于或不属于敏感数据有效负载。
[0060] 根据一个实施例,使用所述逆向垃圾邮件分析来分析所述数据文件包括:分别为敏感和非敏感数据提供参考数据;通过统计学习技术处理所述参考数据以便生成权重以表示敏感和非敏感数据;使用所生成的权重判定所述数据文件的所述有效负载内容是否包括敏感数据。
[0061] 这可以是有利的,因为它可以提供一种准确的方法以便对所述有效负载内容进行分类,从而对其进行加密或不加密。
[0062] 根据一个实施例,所述分布式计算系统包括访问控制列表,所述访问控制列表包括有权访问所述数据文件的客户端的客户端ID,其中所述传输包括标识所述客户端的客户端ID,其中所述授权条件包括:所述访问控制列表包括所述客户端ID。
[0063] 这可以是有利的,因为仅将所述数据传输到被授权客户端,因此可以避免试图危及和/或违反存储在所述分布式计算系统中的所述数据的机密性、完整性和可用性的恶意操作。
[0064] 根据一个实施例,所述授权条件包括:在预定时间段内发生数据传输。例如,在用户在非工作日请求或检索存储在所述计算系统中的数据的情况下,可能不执行将所述数据传输给所述用户。
[0065] 根据一个实施例,所述方法包括:使用所述数据文件的至少一个数据分组的标头确定所述通信协议。
[0066] 根据一个实施例,其中分析所述数据文件包括分析所述数据文件的至少一个数据分组的所述有效负载内容。
[0067] 根据一个实施例,将相应的一个或多个通信协议的一个或多个协议数据存储在所述分布式计算系统中,其中所述一个或多个协议数据指示根据相应的一个或多个通信协议传输数据文件的数据有效负载结构。所述方法还包括:通过以下操作确定所述通信协议:根据所述通信协议,使用一个或多个协议数据确定所述有效负载内容是结构化的。
[0068] 在另一个方面,本发明涉及一种计算机可读介质,其包括随其包含的计算机可读程序代码,当所述计算机可读程序代码由处理器执行时,导致所述处理器执行根据任一上述实施例的方法。
[0069] 在另一个方面,本发明涉及一种用于在分布式计算系统内的存储器中进行安全数据存储的网关设备,所述网关设备包括用于存储机器可执行指令的内存和用于控制所述网关设备的处理器,其中执行所述机器可执行指令将导致所述处理器执行以下操作:
[0070] -在所述分布式计算系统中的流数据传输期间,拦截来自所述流数据的至少一部分的数据文件;
[0071] -评估所述数据文件以便确定用于所述数据传输的通信协议;
[0072] -根据所述通信协议评估所述数据文件以便确定所述数据文件的目的地和源;
[0073] -如果所述目的地是所述存储器:
[0074] -从多个预定分析算法中选择一组分析算法,其中所述一组分析算法中的每个分析算法与预定权重关联;
[0075] -使用所述一组分析算法中的每个所述分析算法分析所述数据文件,以便判定所述数据文件是否包括敏感数据,从而确定一组相应结果;
[0076] -将所述一组结果中的每个结果与指示所述数据文件是否包括敏感数据的数值关联;
[0077] -使用所述预定权重计算指示所述数据文件包括敏感数据的所述数值的加权总和;
[0078] -将所述加权总和与预定敏感度阈值相比较;
[0079] -响应于确定所述加权总和高于所述敏感度阈值:
[0080] ●创建数据容器;
[0081] ●使用至少一个加密密钥对所述数据文件的有效负载内容进行加密;
[0082] ●存储所述至少一个加密密钥;
[0083] ●将加密后的有效负载内容存储在所述数据容器中;
[0084] ●增加和/或减小所述数据容器的所述有效负载内容的大小,使得所述数据容器的所述有效负载内容的大小与所述数据文件的所述有效负载内容的大小相同;
[0085] ●使用所述数据容器的所述有效负载内容替换所述数据文件的所述有效负载内容;
[0086] -将所述数据文件传输到所述存储器;
[0087] -如果所述目的地是所述客户端并且所述源是所述存储器:
[0088] -判定是否根据多个存储的加密密钥中的一个加密密钥对所述数据文件进行加密;
[0089] -响应于判定使用存储的加密密钥对所述数据文件进行加密,使用所述存储的加密密钥对所述数据文件进行解密;以及响应于判定所述客户端满足预定授权条件,将所述数据文件传输到所述客户端。
[0090] “计算机可读存储介质”如在此使用的,包含任何可以存储指令的有形存储介质,所述指令可由计算设备的处理器执行。所述计算机可读存储介质可以称为计算机可读非瞬时性存储介质。所述计算机可读存储介质还可以称为有形计算机可读介质。在某些实施例中,计算机可读存储介质还可以能够存储数据,所述数据能够由所述计算设备的所述处理器访问。计算机可读存储介质的实例包括但不限于:软盘、硬磁盘驱动器、固态硬盘、闪存、USB拇指驱动器、随机存取存储器(RAM)、只读存储器(ROM)、光盘、磁光盘,以及所述处理器的寄存器文件。光盘的实例包括高密度盘(CD)和数字通用光盘(DVD),例如CD-ROM、CD-RW、CD-R、DVD-ROM、DVD-RW或DVD-R盘。术语计算机可读存储介质还指各种类型的记录介质,计算机设备能够通过网络或通信链路访问所述记录介质。例如,可以通过调制解调器、因特网或局域网检索数据。计算机可读介质上包含的计算机可执行代码可以使用任何适当的介质传输,包括—但不限于—无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0091] 计算机可读的信号介质可以包括例如在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可执行代码。这种传播的数据信号可以采用多种形式,包括—但不限于—电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0092] “计算机内存”或“内存”是计算机可读存储介质的实例。计算机内存是处理器可直接访问的任何内存。“计算机存储器”或“存储器”是计算机可读存储介质的另一实例。计算机存储器是任何非易失性计算机可读存储介质。在某些实施例中,计算机存储器还可以是计算机内存或者反之亦然。
[0093] “处理器”如在此使用的,包含能够执行程序或机器可执行指令或计算机可执行代码的电子组件。对包括“处理器”的计算设备的引用应该被解释为可能包含多个处理器或处理核心。所述处理器例如可以是多核处理器。处理器还可以指在单个计算机系统中或者在多个计算机系统之间分布的处理器集合。术语计算设备还应该被解释为可能指计算设备的集合或网络,每个计算设备包括一个或多个处理器。所述计算机可执行代码可以由多个处理器执行,这些处理器可以在同一计算设备中,或者甚至可以跨多个计算设备分布。
[0094] 计算机可执行代码可以包括机器可执行指令或程序,它们导致处理器执行本发明的一个方面。用于执行本发明的各个方面的操作的计算机可执行代码可以以一种或多种程序设计语言的任意组合来编写并且编译成机器可执行指令,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。在某些情况下,所述计算机可执行代码可以采用高级语言形式或预编译形式,并且与动态生成所述机器可执行指令的解释器结合使用。
[0095] 所述计算机可执行代码可以完全地在所述用户计算机上执行、部分地在所述用户计算机上执行、作为一个独立的软件包执行、部分在所述用户计算机上部分在远程计算机上执行、或者完全在所述远程计算机或服务器上执行。在涉及所述远程计算机的情形中,所述远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到所述用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0096] 参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各个方面。应当理解,所述流程图和/或框图的每个方框或者所述方框的一部分,都可以由计算机程序指令实现,所述计算机程序指令在适用时采用计算机可执行代码的形式。还应当理解,当不相互排斥时,可以组合不同流程图和/或框图中的方框组合。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得所述指令在通过所述计算机或其它可编程数据处理装置的所述处理器执行时,产生了实现所述流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
[0097] 也可以把这些计算机程序指令存储在计算机可读介质中,所述指令使得计算机、其它可编程数据处理装置、或其它设备以特定方式工作,从而,存储在所述计算机可读介质中的所述指令就产生出包括实现所述流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
[0098] 也可以把所述计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在所述计算机、其它可编程装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在所述计算机或其它可编程装置上执行的所述指令提供实现所述流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
[0099] 所属技术领域的技术人员知道,本发明的各个方面可以实现为装置、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,所述计算机可读介质中包含计算机可执行代码。
[0100] 应当理解,可以组合上述一个或多个实施例,只要组合的实施例不相互排斥。附图说明
[0101] 以下仅通过实例的方式参考附图更详细地描述本发明的优选实施例,这些附图是:
[0102] 图1示出用于执行安全数据存储的方法的系统体系架构,以及
[0103] 图2是用于安全数据存储的方法的流程图,
[0104] 图3是用于处理现有加密的方法的流程图。

具体实施方式

[0105] 在下文中,各图中相同编号的元素指定类似的元素或者指定执行等效功能的元素。如果功能等效,则前面讨论的元素不一定在后面的各图中讨论。
[0106] 图1是示出其中可以运行网关设备的计算系统400的示意图。计算系统400例如可以是云计算系统,计算系统400包括至少一个连接到网关设备403的客户端401。客户端401可以包括与用户或服务器关联的计算机,这些用户或服务器访问数据和/或生成数据以便存储在和/或位于存储服务405中。客户端401可以直接或通过局域网(LAN)连接到网关设备403。网关设备403可以通过网络412连接到存储服务405,网络402可以是诸如因特网之类的公共网络、诸如广域网(WAN)之类的专用网络,或者它们的组合。
[0107] 存储服务405可以是动态扩展的存储器(例如远程硬盘),并且通过公共网络(例如,因特网)或专用网络(例如,广域网(WAN))作为服务提供。存储服务405可以是以下存储云之一: 的Simple Storage Service(S3)、 Storage Delivery Network(SDN)、 Live SkyDrive、 的存储云、
Cloudfiles、 Synaptic Storage as a Service、 Enterprise Cloud 
Storage On Demand、 Smart Business Storage Cloud以及 Cloud Files。
[0108] 网关设备403可以是计算设备,例如台式计算机、服务器等。网关设备403包括处理器407。处理器407连接到计算机存储器409和计算机内存411。
[0109] 网关设备403可以放置在客户端的网络(未示出)内部,在所述网络的边缘处。备选地,网关设备403可以是路由器或VPN服务器的一部分、独立设备或者在(移动)客户端设备上运行的进程。数据业务可以以这样一种方式路由:网关能够拦截、检查和修改所有入站和出站业务。
[0110] 在另一个备选方案中,网关设备403可以是云堆栈(例如,“云中的桌面”)的一部分。在这种情况下,本方法可以放置在云堆栈环境内部,从而保护进入和离开桌面实例的数据。
[0111] 计算机存储器409被示出为包含多个加密密钥499。计算机存储器409被进一步示出为策略存储单元421。
[0112] 计算机内存411被示出为包含接收模块413。接收模块413包含计算机可执行代码,这些计算机可执行代码使得处理器407能够在客户端401和存储服务405之间的数据传输期间自动拦截数据文件。
[0113] 计算机内存411被进一步示出为包含分析模块415和加密模块417。计算机内存411被进一步示出为包含传输模块419。
[0114] 网关设备403被示出为单个设备,但它还可以实现为分布式系统。这意味着跨分布式计算系统的多个设备分布模块413-419,以及具有部署网关的多个实例以实现负载平衡、高可用性等的选项。
[0115] 例如,加密模块417可以是单独系统的一部分,并且由网关设备403通过安全接口访问。
[0116] 例如,策略存储单元421也可以是单独系统的一部分,并且由网关设备403通过安全接口访问。
[0117] 将参考图2更详细地描述系统400的操作。
[0118] 图2是在网关设备中的一种用于在分布式计算系统(例如云计算系统)内的存储服务(例如405)中实现安全数据存储的方法的流程图。
[0119] 每当网关设备403的接收模块413在步骤201接收到出站数据文件时,它均判定所述数据文件是否具有用于加密目的的有效目标。为此,网关设备使用多步骤过程。网关设备可以将所有入站业务都视为相等,并且根据所述业务的目标和内容判定是否必需加密操作。数据文件可以作为包含一个或多个数据分组的序列传输,这些数据分组形成数据流的至少一部分。在步骤201,网关设备按顺序拦截数据文件的一个或多个数据分组。
[0120] 在步骤203,可以确定用于数据文件传输的协议以及数据文件的源和目的地。为此,网关可以使用数据文件的至少一部分,例如一个数据分组。网关设备可以访问存储在策略存储单元421中的已知协议模式,从而允许确定查找数据文件的内容使用的协议、标识符等。所述标识符可以包括:
[0121] -显式服务标识符和签名,和/或
[0122] -数据文件目的地,和/或
[0123] -数据文件的格式和结构,和/或
[0124] -与数据文件关联的URL(例如,在HTTP的情况下)。
[0125] 确定协议之后,可以确定已知使用所述协议(例如HTTP)的存储产品。使用策略存储单元421做出该确定。例如,在HTTP协议的情况下,可以使用Web应用控制(“WAC”)准确地确定所使用的产品、发出的数据文件请求以及所述请求的数据传输能
[0126] 但是,因为除了存储器之外,HTTP还可以包含不同的产品和提供品,所以需要确定确切的事务类型(例如数据文件的源和目的地)。
[0127] 例如,常规主机或基于URL的方法可能不适用于基于HTTP的服务,因为供应商可能提供基于web的用户界面以便查看存储器以及实际存储和检索功能的列表。WAC技术可以允许网关区别非存储和存储业务。这可以是有利的,因为它可以避免以下情况:基于web的服务未进行这种区别并且这种区别可能中断或变得无响应。因此,网关可以被视为知晓个体web应用的地图。如果拦截的数据文件不是已知的数据存储尝试,则可以将数据文件提供给其预定目的地而不加以改变。但是,如果数据文件的目标为云存储,并且具有将数据提供给外部的可能性,则网关可启动进一步处理。
[0128] 在步骤205,网关设备可以检查拦截的数据文件的数据分组是否“有资格处理”,并且可以评估这些数据分组是否可以由网关进一步处理。例如,如果确定数据分组错误,则网关可以不处理它们,并且可以只是将它们发送到其目的地。
[0129] 数据文件的分析可能需要所有一个或多个数据分组的完整有效负载内容(例如,当数据文件是压缩后的数据文件时)存在于网关设备本地(例如存储在内部存储池255中),以便如果数据文件完整,则可以在步骤207组装具有一个或多个数据分组的有效负载内容。在这种情况下,可以将新拦截的数据分组与存储在存储池255中的现有数据分组合并。网关设备可以根据使用的协议判定数据文件是否完整。例如,为了进行该判定而检查的标识符可以是:
[0130] -显式流结束标识符,它们可以是数据文件的一部分(作为命令参数),或者可以是单独命令
[0131] -如果已知:接收的数据大小与预计总大小
[0132] -小的有效负载分组,在相同大小的较大分组流之后
[0133] -请求关闭客户端与服务器的连接(例如“Connection:Close”标头)
[0134] -在传输之后终止客户端连接
[0135] -从同一用户/客户端启动新的请求流。
[0136] 但是,数据文件可能不完整,因为网关设备知道当他或她可能等待远程侧回答或确认已经发送的请求数据的传输时,源(例如客户端)停止发送数据,或者当数据被视为不完整时,客户端停止发送,例如因为客户端遇到错误、崩溃或者连接中断。在这种情况下,网关设备可以在步骤209将新拦截的数据分组存储在存储池255中,并且可以在步骤211通过发送简单的分组确认(“ACK”)或者通过模拟存储服务(“OK”)响应而重新建立数据流。在后一种情况下,网关设备的运行可以类似于透明代理,与客户端使用相同的协议但充当代理/中间人服务器。在步骤213,响应于确认,网关可以从源接收数据。可以抑制部分数据分组,并且到外部服务的通信信道静默,直到可以进行数据敏感性判定。例如,可以使用多个后续请求将数据文件传输到远程侧目的地,但仅在两个或多个部分在网关中可用之后才能确定所述数据文件的敏感性。
[0137] 为使这种池化成为可能,网关可以拦截属于所述数据文件的所有数据而不将它们立即转发到目的地。
[0138] 该过程对于客户端而言是透明的,因为网关可以接收“OK”或“CONTINUE”响应,如同直接从存储服务接收那样。
[0139] 如果在步骤215判定数据文件的目的地是存储服务405,则网关设备可以执行步骤217-227。在目的地是客户端并且源是存储服务的情况下,网关设备403可以执行步骤229和
227。
[0140] 在步骤217,网关设备可以根据协议和/或客户端使用的应用,提取数据文件的有效负载内容。例如,网关可以使用这些技术中的至少一种:
[0141] -解码(例如,base64、identity、deflate等)
[0142] -解压缩(例如,gzip、tar、zip等)
[0143] -外部加密的解密(如果网关部署为中间人网关并且能够窃听加密握
[0144] 手,则可以从先前的请求提供或提取必需的密钥)
[0145] -重新组装分块/拆分数据
[0146] 如果提取的有效负载具有特定的二进制数据容器(例如PDF、Microsoft Word、Microsoft Excel、ZIP、RAR、UPX等),则网关可以使用行业标准组件以实现所述容器的内容提取。可以在多个递归级别进行提取,从而沿途收集所有提取的数据。这可以是有利的,因为网关必须平衡险与速度。它必须假设用户可能有意创建大量递归以便阻碍适当的提取。因此,在网关必须递归太高深度(>100层递归)的情况下,此时它可以停止提取尝试。如果发生这种情况,则将内容自动标记为“敏感”,因为网关没有内容的完整图片。
[0147] 可以按内容类型(例如,文本、二进制、图像、视频等)对数据文件的有效负载内容进行分组。网关设备然后可以在步骤219使用一组分析算法分析每个内容类型,该组分析算法可以从以下分析算法中选择:
[0148] -图片内容分析
[0149] 对于诸如图像和视频之类的图片内容,网关设备可以应用已知的分析技术(例如OCR、图像相似性、模式分析)以提取文本信息以便随后处理,或者将找到的模式与提供的存储在策略存储单元421中的已知“敏感”模式相匹配。所述已知模式可以由客户提供(例如,通过使网关设备从机密幻灯片、图形、徽标、设计等生成模式),或者由供应商提供。这种技术主要是集成的反垃圾邮件产品,它们能够标识基于图像的垃圾邮件。如果针对图像模式找到匹配,则数据文件可以被视为包含敏感信息。
[0150] -文本模式分析:然后可以分析从有效负载提取的文本内容以便获得数据敏感性的指示符。例如,二进制内容可以被视为文本以便进一步处理。第一种分析方法是扫描预定文本模式、关键字或文本结构(某些单词的组合或分组)。模式可以由供应商提供,或者从客户提供的列表创建,并且可以作为敏感数据模式定义存储在策略存储单元421中。如果使用模式找到匹配,则数据文件可以被视为包含敏感信息。
[0151] -文本结构分析:可以对提取的数据文件的有效负载进行文本分类。这包括分析文本内容和结构与已知敏感信息的相似性。该信息可以由供应商提供,或者“进行训练”,方法是使网关设备针对已知敏感信息示例进行相同的分析并存储结果以便参考。
[0152] -逆向垃圾邮件分析
[0153] 这可以是用于内容分类方法的方法,内容分类方法例如包括贝叶斯分类器或其它统计学习方法,它们在本方法中用于将“敏感”与“通用”数据(或非敏感数据)分离。为此,网关设备可能需要具有已知文本模式以及加权(其确定针对给定类型的内容多长时间遇到一次所述模式)的数据库(例如策略存储单元421)。网关设备可以使用这些加权模式确定内部存在多少个敏感内容的指示符以及这些指示符的重要程度。该方法与常规文本匹配的区别在于:它不是黑白分明的决策,而是覆盖许多灰色地带。使用该方法,网关例如可以将有效负载分类为敏感,即使不存在明确的指示符(例如“CONFIDENTIAL!”),但具有通常针对敏感信息存在的足够的平级指示符。这可以通过简单地删除所有出现的“CONFIDENTIAL!”而防止文档混淆。学习方法使用所谓的训练数据集(作为参考数据查看)以便决定是否应该将所分析的数据分类为敏感或非敏感。因此,网关设备可以包括为逆向垃圾邮件分析提供动力的这些参考数据的数据库(例如策略存储单元421)。所述数据库内容可以由供应商提供,或者使用客户特定的数据创建,例如通过使网关设备扫描已知的“敏感”和“通用”数据存储库。后一个过程可以在特定间隔内自动执行,以使数据库适合独特的客户环境。一个实例可以是源自特定用户组(例如金融)的文档始终按定义限定为敏感,并且网关处理所述文档之后,网关设备立即自动将这些文档添加为参考数据。
[0154] -源信誉分析:网关设备可以确定数据文件的源,这可以包括:
[0155] ○发送主机(IP、子网)
[0156] ○客户端类型
[0157] ○登录用户和组关联(例如“金融”)
[0158] ○被动认证(表示从该机器向其它服务发出认证信息)
[0159] ○历史信息(该源通常发送什么类型的数据)
[0160] 所确定的有关数据文件的源的信息可以指示源是否最可能发送敏感数据。
[0161] 所述一组分析算法的选择可以基于客户端,以便设置显示数据文件的有效负载内容是“敏感”或“通用”数据的指示符。例如,网关设备可以包括具有一个或多个表项的表,每个表项包括客户端ID、数据文件类型标识符以及用于分析此类数据文件类型所需的一组分析算法。评估数据文件的内容时,网关设备可以读取该表,并且确定适合于正在被评估的数据文件的一组分析算法。在另一个实例中,网关设备可以从上面描述的多个分析算法中随机选择一组分析算法。
[0162] 所述一组分析算法中的每个分析算法均与预定权重关联,该权重例如可以与一组分析算法结合存储在上述表的每个表项中。此加权可以允许客户根据客户的环境、文化和业务范围,具体专注于特定分析结果。
[0163] 使用选择的一组分析算法中的每个分析算法分析数据文件之后,网关403可以在步骤221判定拦截的内容是否敏感或者是否可以被视为“通用”。它通过以下操作进行该判定:组合所有分析结果和预定权重,并且检查是否存在足够的指示符以便达到客户可配置的阈值(或敏感度阈值)。例如,网关设备将选择的一组分析算法的每个结果与数值关联,该数值指示数据文件是否包括敏感数据(例如,如果数据文件不包括敏感数据,则为数值0,如果数据文件包括敏感数据,则为数值1),并且可以计算指示数据文件包含敏感数据的结果的数值的加权总和,然后将加权总和与客户可配置的阈值相比较。如果未达到阈值,则将数据文件释放到其最初预定的目的地而不进行任何更改。如果加权总和高于阈值,则网关设备可以继续执行内容加密。加密决策自动进行并且基于一组算法,这与手动加密概念相比,将有意(无意)泄漏敏感内容的比率降至最低。
[0164] 在加密之前,网关设备可以将数据文件的有效负载内容与协议特定的数据分离。因为网关设备已经(在初始数据文件评估以确定协议时)遍历所有级别的有效负载,所以可以确定在何处启动加密。因为本方法强加于在客户端和存储服务之间进行的事务,所以网关可能不需要客户端或存储服务参与事务操纵,并且可以检查事务两侧没有因为其操作而做出消极反应。
[0165] 在确定拦截的内容不敏感的情况下,网关设备可以将数据文件传送到其目的地。
[0166] 在确定拦截的内容敏感的情况下,网关设备可以在步骤223创建数据容器并且使用至少一个加密密钥对数据文件的有效负载内容进行加密,然后将加密后的有效负载内容存储在数据容器中。还可以将至少一个加密密钥存储在网关中。为了确保加密后的有效负载可以放入数据文件的可用有效负载空间中,网关设备可以增加和/或减小数据容器的有效负载内容的大小,使得数据容器的有效负载内容的大小与数据文件的有效负载内容的大小相同。例如,网关可以使用可逆的无损压缩来压缩所接收的有效负载内容。这可以充分减小有效负载以便添加加密层,而无需使整个有效负载变得比数据文件的有效负载内容更大或更小(还可以在对数据文件的有效负载内容进行加密之后应用压缩)。在加密后的有效负载内容大小小于数据文件的有效负载内容大小的情况下,网关设备可以向有效负载中添加填充内容(“空数据”),以便匹配数据文件的有效负载内容的大小。
[0167] 网关设备可以使用具有已知协议模式的策略存储单元421确定接近数据文件的有效负载内容的最佳方式,并且可以选择尽可能靠近协议层的信息层。它然后可以获得所述层上采用其原始形式的所有数据,并且将其放在加密容器内部。
[0168] 加密例如可以基于客户指定的加密解决方案、方法和强度,它们使用外部服务、硬件或系统上的库或进程。在另一个实例中,网关设备可以从先前使用的加密解决方案请求加密密钥或标识符(如果它们是随后对内容进行解密必需的信息)。它例如可以使用存储在网关设备中的多个加密密钥499之一。
[0169] 例如,可以使用唯一标识符扩展创建的容器,这可以允许网关将容器标识为它自己的容器,以及检索其它信息(例如,使用的加密类型),前提是必需该信息以便随后对容器进行解密。在另一个实例中,可以使用存储的加密密钥(例如499)标识所创建的容器。
[0170] 为了最终将加密后的有效负载内容存储在存储服务中,同时仍保持这种过程对于用户而言是透明的,网关设备可以在步骤225修改数据文件内容,方法是使用数据容器的有效负载内容替换数据文件的有效负载内容。
[0171] 在另一个实例中,存储服务侧检验机制(其验证有效负载的数据完整性和数据文件的协议遵从性)可能需要网关重新构建一个或多个有效请求,这些请求包含远程侧(即,存储服务)将接受的数据文件。
[0172] 所述协议可能需要远程存储侧检验有效负载的大小。在这种情况下,数据文件可以包含有效负载的文件大小或者其数据分组的文件大小。
[0173] 网关设备然后可以检查编辑后的请求,并且调整必须更新以反映替换内容的任何其它信息。这可以包括改变内容、发出的请求的大小和数量(如果在加密/压缩之后内容明显地更小或更大)以及校验和、标头字段(例如“Content-Size”),它们可以包括在请求中以便允许远程侧检验数据文件的完整性,即使在网关替换该数据文件之后也是如此(例如,计算的循环冗余校验值(CRC)、MD5、SHAI或其它散列值)。
[0174] 在步骤227,网关设备可以将具有加密内容的数据文件传输到目的地存储服务。这种传送被自动处理并发送到客户端,因为客户端已经针对所有事务部分接收到“OK”响应。
[0175] 网关设备可以拆分事务以便镜像最初接收的部分的顺序和设置,并且每个部分具有在流中的原始位置。如果事务依赖于接收的请求的顺序,则这确保远程侧将接受重放/重新组装后的事务。
[0176] 如果策略需要特定的通知,则网关设备例如还可以通知合规主管是否上载包含特定内容的数据文件。它还可以防止完全上载数据文件,并且将加密后的内容转送到不同存储站点(而不是上载到预定目标)以便分析。
[0177] 在步骤229,网关设备可以判定是否根据多个存储的加密密钥中的一个加密密钥对数据文件进行加密。网关设备可能需要为其提供全部内容以便能够对内容进行正确解密。如果存储服务未发送全部内容或者中断传输以便等待客户端响应,则网关设备可以模拟所述响应。网关可以独立于最初请求内容的客户端而处理该操作,因为它在解密之前无法转送任何信息块。如果网关设备选择按块对数据文件的有效负载内容进行加密,则它可以跳过收集全部内容,并且在块到达时对它们进行解密。
[0178] 响应于判定使用存储的加密密钥对数据文件进行加密,网关可以使用存储的加密密钥对数据文件进行解密。网关设备可以从容器以及存储器499、421检索其它信息,以便确定如何处理响应。在网关设备知道如何对内容进行解密的情况下,它可以检查请求内容的用户/服务是否有资格。为此,网关可以使用包含在拦截的响应中或触发所述响应的请求中的信息。例如,网关可以使用连接的外部服务,例如目录(LDAP)、认证服务(令牌、时隙等),以便确定是否可以允许用户/服务访问。如果不允许用户/服务访问,则可以完全丢弃响应,以加密形式提供响应,使用错误消息替换响应等。加密可以针对该目的创建预先加密的错误容器(它们代替原始内容而发送),但在客户端侧仍然显示为有效。(例如,客户端请求“secret.doc”,网关使用“ACCESS DENIED”替换“secret.doc”的内容)。如果检测到安全事件,则可以通知分布式计算系统的合规/安全主管。
[0179] 如果用户/服务可以访问内容,则网关可以使用可用信息对内容进行解密,从而根据需要从外部系统或系统上的库/进程请求必需的密钥和解密服务。如果客户端发送的数据文件的内容最初使用专有加密进行加密,网关具有该加密的正确密钥以便解密,则它可以使用该信息对内容进行重新加密。这可以有助于处理数据文件,因为网关最初使用它自己的加密替换专有加密,但必须还确保以客户端理解的格式传送内容。
[0180] 对内容进行解密之后,网关设备可以使用解密后的内容替换接收的有效负载。最多可以将接收的有效负载报告为与解密后的变体相同,因为在加密期间采取的加密/压缩/填充步骤使得响应修改相当容易。
[0181] 例如,如果重新组装比替换容易,则网关可以选择完全重新构建响应,从而丢失接收的响应。在步骤227,网关可以采用与存储服务接收的相同序列提供响应块,以便确保与请求客户端的兼容性。
[0182] 图3是用于处理现有加密的方法的流程图。实际上,网关拦截的数据文件可能在到达网关之前已经加密(即,在上面称为专有加密)。
[0183] 因为本方法基于保护上载的内容的概念,所以它将假设任何不包含这种可用数据(并且仅包含加扰的或无用的有效负载)的请求都属于某种形式的未知加密。在这种情况下,网关设备可以假设现有加密不稳定(可能在内容到达目标服务之后立即被撤销),并且可能怀有恶意(恶意用户有意混淆)。
[0184] 如果在步骤301认为加密未知或者可以确定没有解密密钥,则网关可以在步骤303检查数据文件的有效负载内容是否包含未知数据。在步骤305,网关可以读取存储在策略存储单元421中的未知数据的模式定义,并且可以考虑将数据作为“敏感”数据传输,因为其它人已经对数据应用可靠的加密。在这种情况下,网关可以在步骤307决定是否传送未标识/分类的所述有效负载内容以便进一步处理(例如,以便应用在图2中描述的分析)。这例如可以通过以下操作完成:向分布式计算系统的管理员提示有关有效负载内容的信息,并且通过接口从管理员接收响应数据。根据接收的响应数据,网关可以决定是否传送数据文件。然后如果网关设备决定不传送数据文件或不进行进一步处理,则可以在步骤309拒绝数据文件。
[0185] 在有效负载内容不包含敏感数据的情况下,网关可以在步骤311将数据文件传送到其目的地。
[0186] 如果加密已知,则网关可以在步骤313确定加密类型。如果在步骤315为网关提供可行的解密密钥,例如从密钥存储器377检索(例如,通过提供数字密钥链),则网关可以在步骤317反转加密并且提取数据文件的内容。
[0187] 如果加密已知并且未提供密钥,则网关可以在步骤319通过应用已知的密钥查找技术(例如彩虹表)攻击加密,以便强制打开加密的容器。网关可以分配预定时间量以便尝试破解加密。如果已经经过分配的时间和/或破解未成功,则网关可以按照在步骤305-311中的描述考虑内容。网关可以使用专用计算或破解硬件(例如GPU集群)以便减少解密需要的时间。
[0188] 如果破解成功,则网关可以在步骤317对数据文件的内容进行解密,并且可以将破解后的密钥存储在密钥存储器377中。在解密之后,可以按照参考图2的描述处理数据文件。
[0189] 如果现有加密已经解包,则在随后从存储服务检索内容的情况下,网关可以记录该事实和最终使用/发现的密钥,因为必须重新应用加密。
[0190] 标号列表
[0191] 400 计算系统
[0192] 401 客户端
[0193] 403 网关设备
[0194] 405 存储器
[0195] 407 处理器
[0196] 409 计算机存储器
[0197] 411 计算机内存
[0198] 412 网络
[0199] 413 接收模块
[0200] 415 分析模块
[0201] 417 加密模块
[0202] 419 传输模块
[0203] 421 策略存储单元
[0204] 499 加密密钥
[0205] 201-229 步骤
[0206] 255 存储池
[0207] 301-319 步骤
[0208] 377 密钥存储器
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈