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

2023-10-14 19:20

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

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

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

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

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

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

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

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

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


本文作者:滕晓龙

来源:51CTO

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



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

相关文章

使用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生成公钥与私钥,然后保存在两个文

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Java中常见队列举例详解(非线程安全)

《Java中常见队列举例详解(非线程安全)》队列用于模拟队列这种数据结构,队列通常是指先进先出的容器,:本文主要介绍Java中常见队列(非线程安全)的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一.队列定义 二.常见接口 三.常见实现类3.1 ArrayDeque3.1.1 实现原理3.1.2

在Spring Boot中实现HTTPS加密通信及常见问题排查

《在SpringBoot中实现HTTPS加密通信及常见问题排查》HTTPS是HTTP的安全版本,通过SSL/TLS协议为通讯提供加密、身份验证和数据完整性保护,下面通过本文给大家介绍在SpringB... 目录一、HTTPS核心原理1.加密流程概述2.加密技术组合二、证书体系详解1、证书类型对比2. 证书获

使用Java实现Navicat密码的加密与解密的代码解析

《使用Java实现Navicat密码的加密与解密的代码解析》:本文主要介绍使用Java实现Navicat密码的加密与解密,通过本文,我们了解了如何利用Java语言实现对Navicat保存的数据库密... 目录一、背景介绍二、环境准备三、代码解析四、核心代码展示五、总结在日常开发过程中,我们有时需要处理各种软

Java计算经纬度距离的示例代码

《Java计算经纬度距离的示例代码》在Java中计算两个经纬度之间的距离,可以使用多种方法(代码示例均返回米为单位),文中整理了常用的5种方法,感兴趣的小伙伴可以了解一下... 目录1. Haversine公式(中等精度,推荐通用场景)2. 球面余弦定理(简单但精度较低)3. Vincenty公式(高精度,