2011-03-19 99 views
0

我有一个P2P备份网络,对等点可以存储数据并稍后从另一个对等点检索数据。我可以采取哪些最好的安全措施,以避免其他用户未读取数据?我打算使用单密钥加密和数字签名,但我确定这是否是正确的方法。 在此先感谢您的帮助加密算法

+0

我强烈建议您在实施前仔细阅读加密和哈希处理方法 - 如果您不完全了解自己在做什么,可以使用很多方法制作可实施的解决方案。 – Erik 2011-03-19 12:32:01

回答

1

对称密钥(单密钥)加密将工作。但是,正确的做法有点棘手 - 务必了解密码操作模式。您应该询问用户密码,并使用该密码派生主密钥。那么你应该使用基于主密钥和块编号的密钥来加密每个数据块(你正在将数据分成块,对吗?)。

数字签名不会阻止窃听,但无论如何您都应签署内容,因为您不能相信对方给您正确的内容。您应该使用MAC(消息认证码),因为无论如何您已经建立了对称密钥,并且用户是唯一需要验证签名的一方。

0

如我所知,如果只是检索存储数据的创建者,那么单个密钥加密机制应该足够了,因为数据仅由该用户加密和解密,而不需要一个重要的交易所。

证书(或公/私钥)不是必需的,因为没有其他用户参与加密过程。

同时考虑到使用MAC功能(消息认证码)的必要性,以确保所存储的数据不会被修改。

+0

是的,这正是我的意思是创造者是应该能够解密数据的人。在这种情况下,我是否仍然需要使用数字证书或者这些不是必需的?感谢您的帮助 – Tzer001 2011-03-19 12:09:17

+0

@ Tzer001:是的..你不需要数字证书 – Heisenbug 2011-03-19 12:11:52

+1

然而,他确实需要一个消息验证机制 - 它不一定是非对称加密算法生成的签名。 – Erik 2011-03-19 12:24:05

0

的问题是模糊的,但无论如何,这里有云:

每个节点生成一个唯一的加密密钥 - 只知道本身。当它需要存储数据时,它应该例如:用例如散列数据SHA算法,连接数据和散列,加密,存储。这允许在检索之后便宜地验证数据,而不必处理不对称算法。总结:使用哈希和对称加密算法,没有已知的弱点,例如SHA-2和AES,可避免例如SHA-2和AES。 MD5和DES。不需要非对称算法,如RSA/DSA,而是使用嵌入式哈希签名。

-1

破解加密的主要方式,特别是在这种情况下,仍然是蛮力。它在大多数情况下工作得非常好,非常高效。

要破解例如用于在md5哈希值后面签署某个URL或密码的秘密令牌,您可以启动一堆Amazon EC2实例,只需付给他们所需的时间,然后分配蛮力攻击。大多数算法在GPU上运行得更好,而不是CPUS,但它更加方便,因为您可以更好地租用和共享CPU。

那么这是什么意思?从理论上讲,如果您能分发攻击,您可以在几分钟内将任何密码或重点保护帐户破解。在实践中,这大多不起作用,因为认证服务器限制了请求的数量,因此限制了你应用暴力的能力。

在这种情况下,您听起来像是在完全将数据泄露给潜在的攻击者。因此,如果您将文件存储在我的计算机上,并且我想破解它们,我可以将它们分发到一个巨大的计算云(这只会让我花费几个小钱来完成这个短小的任务),并且会破坏您的签名。

如果这是可能的,即使是很长的数字签名者也不是安全的。当然,所需的计算能力的数量随着密钥的长度呈指数级增长,但这还不够。

因此,在此介绍之后......那么要走的路是什么?

在我看来,最好的办法是为每个文件生成一个独特的签名,并将它们留在客户端。不要使用共享签名。

因此,如果我通过fileA.zip发送到您的服务器,我会在我身边保留一个fileA.zip.key,使我可以对其进行分辨。通过这种方式你可以破解一个文件,但是我的账户没有组合。

如果你做一个2048位密钥或somethig每个文件单独sotred这应该是非常安全的。

你也可以考虑使用bcrypt,你可以故意放慢加密过程,使攻击更难。但请记住,这也会减慢你的结局。但是如果它的备份存储或者仅仅是这样做会带来相当大的安全性。

+1

-1:蛮力高效?您将经过验证的弱哈希算法(MD5)与完美的加密算法(如AES)混合使用。而且这个星球上还没有足够的计算能力来有效地强化现代哈希/加密算法,而这些算法没有固有的弱点。 – Erik 2011-03-19 12:16:17

+0

我同意aes仍然安全。但蛮力并不关心算法。这就是为什么它被称为蛮力。当然,破灭一个MD5的论点比破除一个AAA的关键要容易得多,因为它的时间要长得多,但原则是一样的。 “一台每秒钟可以检测十亿次(1018)AES密钥的设备理论上需要大约3×1051年的时间才能耗尽256位密钥空间。”但很有可能发现keypae中缺少entrophy,就像ibms ssl实现和openssl一样。我只是建议不要为所有文件使用1个密钥来提高安全性。 – 2011-03-19 12:24:07