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

2023-10-14 19:20

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

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

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

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

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

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

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

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

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


本文作者:滕晓龙

来源:51CTO

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



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

相关文章

Java JUC并发集合详解之线程安全容器完全攻略

《JavaJUC并发集合详解之线程安全容器完全攻略》Java通过java.util.concurrent(JUC)包提供了一整套线程安全的并发容器,它们不仅是简单的同步包装,更是基于精妙并发算法构建... 目录一、为什么需要JUC并发集合?二、核心并发集合分类与详解三、选型指南:如何选择合适的并发容器?在多

java 恺撒加密/解密实现原理(附带源码)

《java恺撒加密/解密实现原理(附带源码)》本文介绍Java实现恺撒加密与解密,通过固定位移量对字母进行循环替换,保留大小写及非字母字符,由于其实现简单、易于理解,恺撒加密常被用作学习加密算法的入... 目录Java 恺撒加密/解密实现1. 项目背景与介绍2. 相关知识2.1 恺撒加密算法原理2.2 Ja

Python实现精确小数计算的完全指南

《Python实现精确小数计算的完全指南》在金融计算、科学实验和工程领域,浮点数精度问题一直是开发者面临的重大挑战,本文将深入解析Python精确小数计算技术体系,感兴趣的小伙伴可以了解一下... 目录引言:小数精度问题的核心挑战一、浮点数精度问题分析1.1 浮点数精度陷阱1.2 浮点数误差来源二、基础解决

Python文本相似度计算的方法大全

《Python文本相似度计算的方法大全》文本相似度是指两个文本在内容、结构或语义上的相近程度,通常用0到1之间的数值表示,0表示完全不同,1表示完全相同,本文将深入解析多种文本相似度计算方法,帮助您选... 目录前言什么是文本相似度?1. Levenshtein 距离(编辑距离)核心公式实现示例2. Jac

Python中经纬度距离计算的实现方式

《Python中经纬度距离计算的实现方式》文章介绍Python中计算经纬度距离的方法及中国加密坐标系转换工具,主要方法包括geopy(Vincenty/Karney)、Haversine、pyproj... 目录一、基本方法1. 使用geopy库(推荐)2. 手动实现 Haversine 公式3. 使用py

使用zip4j实现Java中的ZIP文件加密压缩的操作方法

《使用zip4j实现Java中的ZIP文件加密压缩的操作方法》本文介绍如何通过Maven集成zip4j1.3.2库创建带密码保护的ZIP文件,涵盖依赖配置、代码示例及加密原理,确保数据安全性,感兴趣的... 目录1. zip4j库介绍和版本1.1 zip4j库概述1.2 zip4j的版本演变1.3 zip4

Nginx安全防护的多种方法

《Nginx安全防护的多种方法》在生产环境中,需要隐藏Nginx的版本号,以避免泄漏Nginx的版本,使攻击者不能针对特定版本进行攻击,下面就来介绍一下Nginx安全防护的方法,感兴趣的可以了解一下... 目录核心安全配置1.编译安装 Nginx2.隐藏版本号3.限制危险请求方法4.请求限制(CC攻击防御)

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

python实现对数据公钥加密与私钥解密

《python实现对数据公钥加密与私钥解密》这篇文章主要为大家详细介绍了如何使用python实现对数据公钥加密与私钥解密,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录公钥私钥的生成使用公钥加密使用私钥解密公钥私钥的生成这一部分,使用python生成公钥与私钥,然后保存在两个文