【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

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

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

关注

评论

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

CSS(八)——CSS盒模型

程序员的时光

程序员 大前端 七日更 28天写作

加速AI边云协同创新!KubeEdge社区建立Sedna子项目

华为云原生团队

人工智能 开源 边缘计算 边缘技术

Elasticsearch Bulk API 批量增删改查

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

就这?Object类一点不难理解

后台技术汇

28天写作

在世界球场一球成名:HMS 生态为游戏开发者送出的助攻

脑极体

Git操作文档

Paul

半导体芯片小白基础知识(1) (28天写作 Day22/28)

mtfelix

芯片 半导体 集成电路 28天写作

快速了解云原生架构

阿里巴巴云原生

架构 容器 微服务 云原生 k8s

线程有哪些状态,彼此之间如何切换

武哥聊编程

Java 多线程 28天写作

Cisco路由器调试命令大全,看完就全部学会!

姐夫深夜不睡觉就在看spring+mybatis这两份源码资料,吸引力就这么强大吗?

荒芜

Java spring 源码 mybatis spring Boot Starter

架构师训练营第 2 期 第 6 周 作业一:CAP原理.md

老腊肉

架构师训练营第2期

还在为计算机网络协议烦恼?了解这一篇就够了

Java架构师迁哥

2021首次分享面试阿里P6心得:1000字超全面试题答案解析

比伯

Java 编程 程序员 架构 面试

交易系统架构演进之路:服务治理

比伯

Java 编程 程序员 架构 技术宅

《王者荣耀》背后的数据秘密

数据君

开发质量提升系列:系统建起来就能解决项目的困难?

罗小龙

最佳实践 方法论 28天写作

滴滴Logi-KafkaManager开源之路:一站式Kafka集群指标监控与运维管控平台

滴滴云

kafka 运维 监控 滴滴Logi

我们,让9300万人办事少跑一趟

数据君

使用nodejs构建Docker image最佳实践

程序那些事

Docker nodejs 程序那些事 docker image nodejs和docker

驶向数字智能的瀚海,“懂行人”助力石油人乘风破浪

脑极体

Spark底层原理详细解析(深度好文,建议收藏)

五分钟学大数据

大数据 spark

程序员面试时一定要注意这五个陷阱!你记住了吗?

Java架构师迁哥

webpack | plugin机制详解

梁龙先森

大前端 webpack 28天写作

管理笔记[1]:成为管理者的开端“以人文本“

L3C老司机

全球首例银行“大型机”下移背后

数据君

【得物技术】无侵入式mock平台在得物的实践

得物技术

测试 数据 得物技术 Mock hulk

如何为多元化的产品场景选择完美的色彩组合?

百度Geek说

产品 设计

JS 防抖与节流

旗袍码农

《程序员修炼之道》- 务实的方法(4)

石云升

程序员 28天写作

28天瞎写的第二百三十二天:转角遇到蚵仔煎

树上

28天写作

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