草庐IT

云计算概论 --云安全机制

大白求饶 2023-05-30 原文

云计算概论 --云安全机制

  • 基本的安全机制
  • 特有的安全机制

一、基本的安全机制

1、加密技术
加密机制是一种数字编码系统,专门用来保护数据的保密性和完整性。它用来把明文数据编码成为受保护的、不可读的格式。
有两种常见的加密类型:
1、对称加密:在加密和解密时使用的是相同的密钥,这两个过程是由授权的各方用共享的密钥执行的。对称加密没有不可否认性。
2、非对称加密:非对称加密依赖于使用两个不同的密钥——公钥和私钥。用公钥加密的,只能用私钥解密;反之亦然。私钥加密提供真实性、不可否认性和完整性保护。以公钥加密则可以提供保密性,但是不提供完整性和真实性。

2、哈希技术
哈希是一种单向的、不可逆的数据保护形势。对消息进行哈希时,消息就被锁住了,并且不提供密钥打开该消息,这种机制的常见应用是密码的存储。
除了用来保护存储数据外,哈希机制可以减轻云威胁中包括恶意媒介、授权不足等问题。常用hash算法包括:
(1)MD4
(2)MD5
(3)SHA
哈希技术可以用来获取消息的哈希代码或信息摘要,通常这是一个固定的长度,要小于原始的信息大小。
消息发送者把这个摘要附加到信息后面,接受者收到信息后,用同样的哈希函数验证摘要是否一致。

3、数字签名
定义:数字签名机制是一种通过身份验证和不可否认性来提供数据真实性和完整性的手段。在发送消息前,附加一个数字签名,如果之后消息被修改,那么这个数字签名就会变得非法。
原理: 数字签名实际上是一个由私钥加密了的消息摘要,附加到原始消息中。接受者接收之后,用公钥来解密这个数字签名,得到消息摘要。然后也可以使用哈希机制来得到消息摘要,如果两个消息相同,则保证消息的完整性。
功能:数字签名机制帮助缓解恶意媒介、授权不足和信任边界重叠等安全威胁。

4、公钥基础设施
管理非对称密钥的常用方法是基于公钥基础设施机制的,它是一个由协议、数据格式、规则和实施组成的系统,一般称他为PKI(Public Key Infrastructure)。
颁发数字证书的机构一般是第三方机构CA(Certificate Authority)。虽然最适合作为CA的机构是由少数可信任的机构来做,但是通常一些较大的IT技术公司也可以充当自己的CA向客户或公众发布证书。

5、身份于访问管理
身份与访问管理机制包括控制和追踪用户身份以及IT资源、环境、系统访问特权的必要组件和策略。它一般由四个主要部分组成:
1、认证:用户名和密码的组合,仍然是最常用的用户认证证书形式,再次基础上,进一步支持数字签名、数字证书等方式。
2、授权:授权组件用于定义正确的访问控制粒度、监管身份、访问控制权利等。
3、用户管理:负责创建新用户的身份、访问组、定义密码策略等。
4、证书管理:建立起对已定义的用户账户的身份和访问控制规则,减低授权不足的威胁。

二、特有的安全机制

6、单一登录
定义:单一登录机制使得一个云服务用户能够被一个安全代理认证,这个安全代理建立起一个安全上下文,当云服务用户访问其他云服务或则基于云的IT资源时,这个上下文会被持久化。否则,云服务用户要在后续的每个请求时,都重新认证自己。
实现原理:单一登录机制(Single Sign-On,SSO)实际上允许相互独立的云服务和IT资源,产生并流转运行时认证和授权证书。证书首先由云服务用户提供,在整个会话期间都持续有效,使得用户的安全上下文信息是共享的。
功能:该机制并不会产生云安全威胁,它主要增强基于云的环境的访问并管理分布式IT资源和解决方案的可用性。

图解:

7、基于云的安全组
定义 :基于云的资源分割过程创建了基于云的安全组机制。网络被分成逻辑的基于云的安全组,以形成逻辑网络边界。每个基于云的IT资源至少属于一个逻辑的基于云的安全组。逻辑的基于云的安全组会有一些特殊的规则,这些规则控制安全组之间的通信。
原理:基于云的资源分割创建了基于云的安全组机制,这是安全策略的需要所决定的。每个基于云的IT资源至少属于一个逻辑的基于云的安全组。运行在同一物理服务器上的多个虚拟服务器可以是不同的基于云的安全组成员。
功能:这种机制,有助于帮助限制未授权用户对IT资源的非法访问,从而帮助对抗拒绝服务、授权不足和信任边界重叠等威胁,与逻辑网络边界机制密切相关。

图解:

8、强化的虚拟服务器镜像
定义:强化是一个过程,用来把不必要的软件从系统中剥离出来,限制可能被攻击者利用的潜在漏洞。
强化的虚拟服务器映像是已经经过强化处理的虚拟服务实例创建的模板,这通常会得到一个比原始标准映像更加安全的虚拟服务器模板。

图解:

有关云计算概论 --云安全机制的更多相关文章

  1. ruby - 如何使用 Ruby aws/s3 Gem 生成安全 URL 以从 s3 下载文件 - 2

    我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A

  2. ruby-on-rails - 使用一系列等级计算字母等级 - 2

    这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,

  3. ruby - 如何安全地删除文件? - 2

    在Ruby中是否有Gem或安全删除文件的方法?我想避免系统上可能不存在的外部程序。“安全删除”指的是覆盖文件内容。 最佳答案 如果您使用的是*nix,一个很好的方法是使用exec/open3/open4调用shred:`shred-fxuz#{filename}`http://www.gnu.org/s/coreutils/manual/html_node/shred-invocation.html检查这个类似的帖子:Writingafileshredderinpythonorruby?

  4. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

  5. ruby - 用 YAML.load 解析 json 安全吗? - 2

    我正在使用ruby2.1.0我有一个json文件。例如:test.json{"item":[{"apple":1},{"banana":2}]}用YAML.load加载这个文件安全吗?YAML.load(File.read('test.json'))我正在尝试加载一个json或yaml格式的文件。 最佳答案 YAML可以加载JSONYAML.load('{"something":"test","other":4}')=>{"something"=>"test","other"=>4}JSON将无法加载YAML。JSON.load("

  6. ruby - 如何计算 Liquid 中的变量 +1 - 2

    我对如何计算通过{%assignvar=0%}赋值的变量加一完全感到困惑。这应该是最简单的任务。到目前为止,这是我尝试过的:{%assignamount=0%}{%forvariantinproduct.variants%}{%assignamount=amount+1%}{%endfor%}Amount:{{amount}}结果总是0。也许我忽略了一些明显的东西。也许有更好的方法。我想要存档的只是获取运行的迭代次数。 最佳答案 因为{{incrementamount}}将输出您的变量值并且不会影响{%assign%}定义的变量,我

  7. ruby - 使用 Ruby,计算 n x m 数组的每一列中有多少个 true 的简单方法是什么? - 2

    给定一个nxmbool数组:[[true,true,false],[false,true,true],[false,true,true]]有什么简单的方法可以返回“该列中有多少个true?”结果应该是[1,3,2] 最佳答案 使用转置得到一个数组,其中每个子数组代表一列,然后将每一列映射到其中的true数:arr.transpose.map{|subarr|subarr.count(true)}这是一个带有inject的版本,应该在1.8.6上运行,没有任何依赖:arr.transpose.map{|subarr|subarr.in

  8. arrays - 计算数组中的匹配元素 - 2

    给定两个大小相等的数组,如何找到不考虑位置的匹配元素的数量?例如:[0,0,5]和[0,5,5]将返回2的匹配项,因为有一个0和一个5共同;[1,0,0,3]和[0,0,1,4]将返回3的匹配项,因为0有两场,1有一场;[1,2,2,3]和[1,2,3,4]将返回3的匹配项。我尝试了很多想法,但它们都变得相当粗糙和令人费解。我猜想有一些不错的Ruby习惯用法,或者可能是一个正则表达式,可以很好地回答这个解决方案。 最佳答案 您可以使用count完成它:a.count{|e|index=b.index(e)andb.delete_at

  9. ruby-on-rails - 安全地显示使用回形针 gem 上传的图像 - 2

    默认情况下:回形针gem将所有附件存储在公共(public)目录中。出于安全原因,我不想将附件存储在公共(public)目录中,所以我将它们保存在应用程序根目录的uploads目录中:classPost我没有指定url选项,因为我不希望每个图像附件都有一个url。如果指定了url:那么拥有该url的任何人都可以访问该图像。这是不安全的。在user#show页面中:我想实际显示图像。如果我使用所有回形针默认设置,那么我可以这样做,因为图像将在公共(public)目录中并且图像将具有一个url:Someimage:看来,如果我将图像附件保存在公共(public)目录之外并且不指定url(同

  10. ruby - 使写入文件线程安全 - 2

    我在一个ruby​​文件中有一个函数可以像这样写入一个文件File.open("myfile",'a'){|f|f.puts("#{sometext}")}这个函数在不同的线程中被调用,使得像上面这样的文件写入不是线程安全的。有谁知道如何以最简单的方式使这个文件写入线程安全?更多信息:如果重要的话,我正在使用rspec框架。 最佳答案 您可以通过File#flock给锁File.open("myfile",'a'){|f|f.flock(File::LOCK_EX)f.puts("#{sometext}")}

随机推荐