加密和解密密钥,存储位置以及.net应用程序的用途

时间:2010-09-14 06:09:42

标签: c# .net asp.net

我们正在设计一个具有外部和内部网站的.net Web应用程序。

两个站点都需要加密数据,只有内部站点需要解密数据。

我们想知道最佳做法是什么:

  • 选择哪种加密方法?
  • 加密/解密密钥的存储位置?

2 个答案:

答案 0 :(得分:2)

您需要安全的非对称加密算法。这种算法有两个密钥:一个可用于加密但不能解密的公钥,以及一个可用于解密的私钥。

选择算法,确保研究其特性(我认为RSA是.NET中的常见选择);生成私钥/公钥对,将私钥存储在内部站点的某个位置,无法从外部访问它,并将公钥放在内部和外部站点都能找到的地方。

答案 1 :(得分:1)

我想推荐一些好的MSDN文章,请点击“安全简报”横幅。

第一个是Encrypting without secrets,它讨论了您要实施的分割类型,外部网站只能 加密(破解网站无法显示以前加密的信息) )。

第二个是Cryptographic agility,它从一开始就讨论规划,以替换您的加密方法,或者何时,它们不再被认为是强大的。