写点什么

在 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:551706
用户头像

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

关注

评论

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

面试官:Java 线程如何启动的?

华为云开发者联盟

Java 线程 JVM 时序图 Java 线程

大厂算法面试之leetcode精讲13.单调栈

全栈潇晨

LeetCode 算法面试

【LeetCode】 连续字符Java题解

Albert

算法 LeetCode 12月日更

react源码解析8.render阶段

buchila11

React React Hooks

移动支付与支付安全SDL

明亮安全观

网络安全 信息安全 数据安全 支付安全 交易安全

Git进阶(一):git 管理文件之后文件颜色的含义

No Silver Bullet

git 学习 git revert 12月日更

【Flutter 专题】01 图解 Windows 环境下安装配置环境

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 12月日更

技术管理哲学随笔:面对大量事业部需求与产研团队资源之间的矛盾

dclar

团队管理 管理 CTO

[Pulsar] 按照KeyHashRange读取消息

Zike Yang

Apache Pulsar 11月日更

Java难吗?Java基础知识最强总结(2021版)

XiaoLin_Java

Java

2021年马上要结束了,这5款Java框架你都了解吗

@零度

Java spring

模块5-课后作业

21°Char

你知道什么时候用Vue计算属性吗?

华为云开发者联盟

Vue 字符串 逻辑 模板 计算属性

【Pandas学习笔记02】-数据处理高阶用法

恒生LIGHT云社区

Python 数据分析 pandas 数据可视化

使用nodejs和Java访问远程服务器的服务

汪子熙

Java nodejs 28天写作 abap 11月日更

技术驱动未来,保险极客凭借数字团险领跑

科技热闻

AI 收藏夹 Vol.003:AI 能听懂阴阳怪气吗?

Zilliz

神经网络 AI 计算机视觉

你该不会拿 CSAPP 垫显示器吧

Zilliz

大数据开发开源平台之Spark SQL的基础

@零度

大数据 spark SQL

业务请求量膨胀的扩容技术实践

博文视点Broadview

在 Flutter 中如何使用TabBar和TabBarView创建选项卡布局【Flutter 专题 13】

坚果

flutter 28天写作 签约计划第二季 12月日更

一文带你读懂数字管家

HarmonyOS开发者

HarmonyOS OpenHarmony

大湾区|Serverless 线下活动两连发

阿里巴巴云原生

阿里云 Serverless 云原生 线下活动 大湾区

react源码解析7.Fiber架构

buchila11

React React Hooks React Diff

尚硅谷Vue大型电商项目:尚品汇教程发布!

@零度

Vue 大前端

Rust 元宇宙 10 —— 接入和协议

Miracle

rust 元宇宙

使用 HTML、CSS、JavaScript 创建一个简单的井字游戏

海拥(haiyong.site)

大前端 js 28天写作 签约计划第二季 12月日更

大厂算法面试之leetcode精讲14.排序算法

全栈潇晨

LeetCode 算法面试

使用HTML,CSS 和 JS 创建 Chrome 扩展程序

海拥(haiyong.site)

json chrome扩展 28天写作 签约计划第二季 12月日更

老铁久等了,尚硅谷Vue大型电商项目:尚品汇教程发布!

编程江湖

Vue 大前端

华为云企业级Redis评测第一期:稳定性与扩容表现

华为云开发者联盟

redis 测评 GaussDB(for Redis) NoSQL数据库 企业级Redis

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