其他几个答案(例如:
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(免责声明:我不为他们工作,还有其他人).真正的目标是,如果您的数据被组成,您将可以控制解密机制,从而控制数据.
对称或非对称加密的选择是一种选择 – 但证书过期的能力是我眼中的一个主要优势……