安全迷阵之云计算加密用例

2023-10-14 19:20

本文主要是介绍安全迷阵之云计算加密用例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在多租户环境中保护数据的基本安全工具之一就是加密。当你对云计算环境不具有完全控制权时,如果实施得当,云计算加密可以让你保护数据。这一点对于私有云计算和公共云计算都是极具价值的,尤其是在你与其他用户共享一个保存有不同敏感等级数据的存储库时。

但是云计算加密并不与你具有完全控制权的单租户环境中所使用的加密技术相同。如果实施失当,加密技术可能无法实现你所期望达到的功能和效果。而且,那些在传统基础设施中常见的错误也有随着云计算迁移而产生更大的负面影响。

任何加密系统都有三个主要的组成部分:数据、加密引擎以及密钥管理。如同使用笔记本电脑进行加密一样,所有这三个组成部分都在相同的位置中运行或存储。在我们的应用程序架构中,任何单一部分的损坏都有可能会导致整个系统的崩溃,因此我们往往会尽可能分离这三部分以便于减少这一可能性。现在,让我们来看看在一些常见的云计算安全架构中这三部分是如何分布的:

1. 当使用云计算进行数据存储时,通常会使用一个虚拟私有存储架构。在把数据发送至云计算之前对其进行加密处理,而当数据发送回来后对其进行解密。例如,使用一个云计算备份服务,在把数据存储在云计算中之前,该服务就在备份软件中使用一个本地密钥对数据在本地进行加密。由于是你自己在管理加密操作和密钥,因此以安全备份的方式保留密钥副本是其中的工具(这应当是你的备份解决方案中密钥管理部分的一个功能)。

2. 对于存储在IaaS应用程序中数据的基本加密操作,你可以在你的实例中使用卷标加密,并把数据保存在第二个加密卷标中。由于你的密钥和加密引擎都保存在你的实例中,因此这并不是最安全的一个方法,但是这个方法确实能够保护你的数据免受非法访问的入侵。例如,假定你已正确地创建了你的实例 ,因此云计算供应商的某人也就无法得到授权运行系统或应用程序(这是典型的默认设置),他们也就没有办法获取密钥进而访问加密卷标。(唯一的例外是,他们从内存中找出了密钥,对于大多数威胁模式,这都是极为罕见的)。

3. 对于更为先进的加密技术,你可以在实例中把密钥与加密引擎分离开来。在这个三层架构中,你有一个卷标用于存放加密数据,一个实例用于运行加密引擎,而第三个密钥管理服务器则可按需提供加密密钥。如果你希望密钥不在实例中,这个方法就能够满足你的要求,因为如果密钥在实例中,那么能够得到这个实例副本的攻击者人也就自然得到了密钥的副本。使用实例中的密钥就能够攻击相同的一个新实例。而外部密钥管理服务器只有在满足一组基于规则的标准时才会返回密钥,例如人工批准一个新的运行实例或在实例中运行的加密客户端中进行一致性检查。这样,内存中的实例就可以使用密钥直至实例关闭。通常这个方法只适用于特殊的云计算加密产品。

这里介绍的用例只是众多云计算加密中的三个,但是他们代表了三种分布加密引擎、密钥管理以及数据的不同方法。例如,在SaaS供应商企业网络和代理流量商业产品的虚拟私有存储中,加密诸如社会安全号码这样的敏感数据。

由于有如此多的不同云计算服务供应商、内部云计算配置以及SaaS、PaaS、IaaS模式,因此我们不可能在这里一一列举。. 但是只要你知道你是在防备谁,你的数据、加密引擎以及密钥在哪里,你就可以设计出非常安全的体系架构,甚至是在你控制之外的多租户环境也是如此。


本文作者:滕晓龙

来源:51CTO

这篇关于安全迷阵之云计算加密用例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/212590

相关文章

SpringBoot3使用Jasypt实现加密配置文件

《SpringBoot3使用Jasypt实现加密配置文件》这篇文章主要为大家详细介绍了SpringBoot3如何使用Jasypt实现加密配置文件功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编... 目录一. 使用步骤1. 添加依赖2.配置加密密码3. 加密敏感信息4. 将加密信息存储到配置文件中5

SpringBoot整合jasypt实现重要数据加密

《SpringBoot整合jasypt实现重要数据加密》Jasypt是一个专注于简化Java加密操作的开源工具,:本文主要介绍详细介绍了如何使用jasypt实现重要数据加密,感兴趣的小伙伴可... 目录jasypt简介 jasypt的优点SpringBoot使用jasypt创建mapper接口配置文件加密

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统

Java实现MD5加密的四种方式

《Java实现MD5加密的四种方式》MD5是一种广泛使用的哈希算法,其输出结果是一个128位的二进制数,通常以32位十六进制数的形式表示,MD5的底层实现涉及多个复杂的步骤和算法,本文给大家介绍了Ja... 目录MD5介绍Java 中实现 MD5 加密方式方法一:使用 MessageDigest方法二:使用

SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)

《SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)》本文介绍了如何在SpringBoot项目中使用Jasypt对application.yml文件中的敏感信息(如数... 目录SpringBoot使用Jasypt对YML文件配置内容进行加密(例:数据库密码加密)前言一、J

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

Java中的密码加密方式

《Java中的密码加密方式》文章介绍了Java中使用MD5算法对密码进行加密的方法,以及如何通过加盐和多重加密来提高密码的安全性,MD5是一种不可逆的哈希算法,适合用于存储密码,因为其输出的摘要长度固... 目录Java的密码加密方式密码加密一般的应用方式是总结Java的密码加密方式密码加密【这里采用的

如何用Java结合经纬度位置计算目标点的日出日落时间详解

《如何用Java结合经纬度位置计算目标点的日出日落时间详解》这篇文章主详细讲解了如何基于目标点的经纬度计算日出日落时间,提供了在线API和Java库两种计算方法,并通过实际案例展示了其应用,需要的朋友... 目录前言一、应用示例1、天安门升旗时间2、湖南省日出日落信息二、Java日出日落计算1、在线API2