c# – 如何使用ASP.NET在Azure SQL中进行应用程序级数据加密?

其他几个答案(例如: How to encrypt data in SQL Azure?)告诉我们,Azure sql不支持sql Server的正常数据加密机制(透明数据加密,非对称密钥,对称密钥等),因此应用程序级方法必须使用.

我们唯一的要求是一些数据不应该以纯文本形式存储,而应该在数据库中加密(当然,攻击者很难解密).最好的方法是什么?应该使用哪种加密方案?我搜索了很多,但找不到任何明确的答案.

是否应使用对称或非对称加密方法?我们应该如何存储加密和解密数据所需的密钥?

解决方法

好的 – 所以虽然这个答案的某些元素可以被解释为意见 – 但肯定有一些特定的东西可以促成这个……

[FWIW:我们目前正在经历这个过程 – 所以我有点走过这条路的一部分]

对于你的两个问题,我建议阅读Jericho Forum Commandments on de-perimeterisation and cloud computing.此外,Information Commissioner’s Office guilelines on Cloud Computing一般是指示性的(是的,我来自英国).

由此您需要确保应用程序级别的加密机制(即证书)不与数据一起保存或在应用程序内保存(即像嵌入式资源).使用数据存储密钥(即使在Azure BlobStorage中)也是将密钥粘贴到实际门上的亲属.您可以使用其他云服务文件存储或使用现成的解决方案,如Entrust(免责声明:我不为他们工作,还有其他人).真正的目标是,如果您的数据被组成,您将可以控制解密机制,从而控制数据.

对称或非对称加密的选择是一种选择 – 但证书过期的能力是我眼中的一个主要优势……

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...