写点什么

在 Windows Azure 中保证数据安全的几点建议

  • 2010-01-31
  • 本文字数:1369 字

    阅读完需:约 4 分钟

在最近一篇名为《 Windows Azure 的加密服务和数据安全》的 MSDN 文章中, Jonathan Wiggs 为大家提供了几点关于在 Windows Azure 中安全存储和处理数据的建议。InfoQ 仔细研究了这个主题,以便在把应用程序部署到云当中的时候,更好地理解一些随之而来的安全细节。

在使用 Windows Azure 的时候,Wiggs 建议使用由加密服务提供程序( Cryptographic Service Providers ,CSP)所支持的基本加密功能:

从一致性角度来考虑,绝对不要创建自己或使用私有的加密算法……
在.NET CSP 中提供的算法经过多年的验证和测试,尽可放心使用。

他也建议使用 RNGCryptoServiceProvider 类来生成随机数,以保证生成的随机数具有高随机量而很难被猜中。

CSP 提供了对加密数据和签名消息的支持,不过这些功能都需要一个纯字符串形式的加密密钥来辅助。正确存储和保护这些密钥,对于保证足够的数据安全至关重要。

任何应用程序都不要使用由 Windows Azure 所提供的任何密钥来加密数据。比如,Windows Azure 为存储服务所提供的密钥。这些密钥为了安全目的被配置成可允许轻易地交替,或者它们有可能由于某种原因而泄露。换句话说,它们未来可能并不会一直存在,或可能被广泛地分发。

Wiggs 建议使用 Azure Storage 服务来存储密钥库,这可充分利用由这些服务所提供的安全性。加密密钥能通过 blob 服务 API 存储在文本文件中:

在 CSP 密钥容器中,先持久保存一个密钥。这是存储公开密钥的一种主要方式,在不能物理访问服务器的时候是不能获取到这些密钥的。而在 Windows Azure 中,应用程序和数据的保存位置都是抽象的,按照这种方式保存的公开密钥可能非常难被找到和获取。

然而,文章并没有提及如何保护这些存储的密钥——这给用户留下了一个亟待解决的问题。为了保护这些加密密钥,Wiggs 建议了几种解决方案:

  • 经常地替换密钥
  • 让它们只对那些需要访问的人才公开
  • 绘出数据流图,明白地知道数据如何被使用、被哪些人使用,以便你能评估所面临的风险,并决定如何处理它们

即使 SQL Server 2008 中引入了一种称为透明数据加密( Transparent Data Encryption ,TDE)的技术——能实时地对发送给数据库的数据进行加密解密,而 SQL Azure 却还不支持数据库级别的加密功能。因此,据 Wiggs 所说,是没办法考虑使用这个特性的。不过 SQL Azure 具有一个不同的安全工具——防火墙:

它让你基于特定 IP 地址或范围,来准许和禁止来自各种来源的连接。SQL Azure 防火墙能通过 SQL Azure 门户进行管理,或通过 master 数据库所提供诸如 sp_set_firewall_rule 和 sp_delete_firewall_rule 的存储过程来直接管理。

最后的建议是关于保护敏感数据的,就是要避免使用不可变的数据类型,比如 String。在创建之时,object 这样的对象会保留在内存中很长时间,而那部分内存有可能被分配给其他用户的其他应用程序,它们可能会读取这些已分配的内存,来检查是否存在一些可以访问的值。Wiggs 建议把加密密钥或其他敏感数据保存在字节数组中,那样能够在不需要的时候就会被重写为零。

云计算提供了全新的计算机遇,不过由于新的数据窃取潜在方式也带来了新的安全问题。提供云计算平台的公司确实把数据安全放在了最高优先级,并力求提供最好的安全解决方案,不过用户要让他们的应用程序和数据更加安全,也需要投入更多的精力来减少他们的数据被窃取的可能性。

查看英文原文: Advice for Securing Data in Windows Azure

2010-01-31 09:551547
用户头像

发布了 254 篇内容, 共 60.1 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

前端开发环境搭建在内网是如何搭建的

@零度

大前端

大会回顾丨游戏用户体验优化如何实践,看大咖怎么说(附PPT下载)

WeTest

HBase 调优详细剖析

五分钟学大数据

11月日更

35岁程序员创业,为何选择云原生赛道

行云创新

云计算 创业 程序员 云原生 CEO

盘点分布式软总线数据传输技术中的黑科技|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

记一次拿到后台权限的过程

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

连续 14 年!IBM 荣获 2021 年 Gartner 主存储魔力象限领导者

BeeWorks

《新程序员》走进微软亚洲研究院

刘旭东

微软 hololens

淘宝客户端安全生产体系建设

阿里巴巴终端技术

ios android 淘宝 客户端 安全生产

面试官问:mysql中时间日期类型和字符串类型的选择

华为云开发者联盟

MySQL timestamp 时间日期 字符串类型

质量基础设施“一站式”服务信息平台建设,NQI一站式线上搭建

电微13828808271

3分钟教你如何在github上精确的找开源项目?

热爱java的分享家

Java 架构 程序人生 编程语言 经验分享

北京朝阳区有正规等保测评公司吗?联系电话多少?

行云管家

网络安全 等保测评 朝阳区

50强诞生!2021 OceanBase 数据库大赛百所高校争霸!

OceanBase 数据库

数据库 开源 开发者 比赛 oceanbase

智能楼宇管理系统开发,智慧楼宇管控系统开发

电微13828808271

阿里一面灵魂一问:RPC或者HTTP什么时候需要序列化和反序列化?

热爱java的分享家

Java 架构 程序人生 编程语言 经验分享

Linux一学就会之Linux详细基本命令操作

学神来啦

bash Linux centos 运维 Shell

Hadoop企业级生产调优手册(一)

大数据技术指南

11月日更

安全架构|云安全框架及虚拟化技术

明亮安全观

云计算 网络安全 云安全 安全架构

鸿蒙轻内核源码分析:虚实映射

华为云开发者联盟

鸿蒙 虚拟内存 物理内存 页表 虚实映射

爱奇艺智能内容中台|无人值守的应用与实践

爱奇艺技术产品团队

Linux学习方法,《Linux一学就会》教你如何学习Linux

侠盗安全

Linux 运维 linux运维 云计算架构师 linux电子书

这才是Springboot事务创建流程的正确打开方式(附源码分析!)

热爱java的分享家

Java 架构 程序人生 编程语言 经验分享

【Pandas学习笔记02】处理数据实用操作

恒生LIGHT云社区

Python 数据分析 pandas

Java 项目中使用 Resilience4j 框架实现故障隔离

码语者

Java Resilience4j Bulkhead 故障隔离

自动驾驶汽车的安全架构体系 易筋 ARTS 打卡 Week 77

John(易筋)

ARTS 打卡计划

从落地效果看,转转选择TDengine的三个理由

TDengine

tdengine 后端 时序数据库

拿捏这10点,玩转云原生应用

BeeWorks

鸿蒙智联生态服务平台——智能硬件伙伴的最佳拍档|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

大数据开发之如何用Scala进行spark开发

@零度

scala 大数据 spark

Remix.run 新手教程

程序员铮铮

JavaScript 大前端 React SSR 教程分享

在Windows Azure中保证数据安全的几点建议_.NET_Abel Avram_InfoQ精选文章