我们正在开发一个庞大的财务、预算和费用管理解决方案,其中之一是我们的应用程序收集到的用户数据和帖子必须通过用户提供的密钥进行加密。
我们使用的是server 2012、EF 6和.NET 4.5。
我们尝试过的:我们创建了类库,它在c#中具有两个函数,用于加密和decryption.The程序集,并且使用单个加密密钥可以很好地工作。
的挑战:数据库包含来自不同用户的数据,这些用户提供了不同的key.the,问题是我们如何存储用户提供的密钥,使其安全.例如,如果用户丢失/忘记了用于加密其data..the应用程序的密钥,则可以恢复密钥。虽然支持此数据库的DBA不应该访问密钥..?
如果我们有100万users..that,就意味着keys..the表中有关系引用,所以要对每个用户的每一行进行不同的加密变得很棘手.这个场景中的行业标准是什么?
发布于 2014-03-22 22:07:15
首先,我想在这个答案的序言中说,在这个场景中,我不假装知道行业标准--我不知道。话虽如此,但我会这么做。
在密码学中,有一种叫做沙米尔的秘密分享的算法。总之,它将使您将密钥分成多个部分:
备注:
https://stackoverflow.com/questions/22583655
复制相似问题