5 .net c# security encryption backup
- 我 - 我发现了另一种用途.有些数据是通过HTTPS POST数据提交给我的,我想将它存储在我的数据库中(例如客户支持可能需要稍后阅读的母系名称,而不是错误地检查是否匹配哈希).我只需要加密的部分,而不是整个数据库,使用单独的数据库可能不值得.问题:如何使用预制公钥使用.NET加密对称密钥+文本?(其余的是上下文,我只想要一个答案plz)
-edit-之前我做过对称加密.如何使用公钥加密对称密钥?一个很好的奖励是,如果你可以告诉我如何在一个单独的应用程序中生成公钥/私钥,这样我就可以创建它们并只在我的应用程序中存储公钥.
我正在考虑从更繁忙的网站自动减少压力较小的网站抓取备份.传输数据不是问题,因为我可以使用https但我不完全相信我的便宜的网站是安全的或不会有人环顾我的文件.我主要想保护电子邮件地址和PM,如果我在网站上有它们.
所以我想知道如何在我的应用程序中使用公钥或私钥来加密数据,这样只有我(或者我提供密钥的任何人)才能解密备份.我如何在.NET中执行此操作.登录和转移我可以在几分钟内写,但我如何加密流我写它?
- 编辑 - 它只是打我.用户/通行证不是秘密.所以我必须在传输之前加密我的备份.如何使用.NET使用公钥加密对称密钥.然后在我身边解密它.使用对称密钥加密文件我知道该怎么做.
Eri*_*ert 14
首先:深度防守.如果您担心备份站点的安全性,请保护备份站点.通过加密缓解攻击是一个好主意,但它不应该是唯一的想法.
其次,为什么要考虑使用公钥/私钥加密?通常,在尝试将消息从发件人传递给收件人时,您只使用公钥/私钥加密.公钥加密对您的方案有什么价值?
要在C#中加密流,此页面可能会有所帮助:
http://support.microsoft.com/kb/307010
更新:
当然,是的,您必须在文件到达您认为已被盗用的网站之前对其进行加密.
您认为该网站可能不安全.你应该做的假设是该网站是你的敌人,并试图伤害你.像攻击者想的那样开始思考.你的敌人会做什么?如果我是你的敌人,你递给我一堆文件代表你存储,我可能会:
假设不安全的备份站点操作员正在尝试对您执行所有这些操作.加密是对某些攻击的缓解,但不是全部.
没有冒犯,但很明显,你不知道加密来解决这个问题,有任何合理的机会让它对抗真正的攻击者.这没什么好羞耻的; 我也没有这方面的知识.相反,我有足够的知识知道这个问题超出了我的范围.尝试更多地了解加密是没有错的; 我强烈鼓励.但是如果你有一个真正的威胁,并且你正试图用专业级的加密工具来缓解它,那么就不要推出自己的解决方案了.聘请这个领域的专家顾问,他可以告诉你正确的事情是什么,给你面临的现实威胁.