首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >aWallet密码管理器

aWallet密码管理器
EN

Cryptography用户
提问于 2018-04-08 16:33:04
回答 1查看 361关注 0票数 3

在阅读了大量关于提高我的网络帐户安全性的文章之后,我开始使用aWallet密码管理器 for Android来备份我的密码。我喜欢它的原因如下:

  • 我能够有相当好的熵密码:我可以把小写和大写字母、数字、特殊字符(包括空格)和相当长的密码(10+字符)混为一谈。
  • 安全地保存我的密码可以让我对每个网络帐户都有不同的密码,否则这是不可能的。这将避免级联效应(分发所有帐户的凭据),如果我的一个帐户(我与多个帐户共享其登录凭据)被破坏,则会创建该效果。

不用说,第二点是有争议的,因为把所有的凭证存储在一个地方会引入一个单一的故障点,并且会对前面提到的连锁反应带来同样的风险。

鉴于我对Cryptography的了解有限以及对隐私的怀疑(考虑到最近发生的网络盗窃事件),我想在将银行/信用卡的详细信息存储在其中之前,先证明aWallet Password Manager的安全性。下面是他们在谷歌PlayStore页面上宣称的内容:

所有数据都是加密的,包括条目名称、类别定义和数据本身。·使用AES和Blowfish算法加密数据,密钥大小分别为256、192和128位。·当数据文件被解密时,使用主密码尝试算法、密钥大小和密码操作方式(CBC、CFB、OFB和ECB)的所有组合来解锁数据文件。这使得蛮力攻击的时间更长。该应用程序本身不存储任何提示的实际密码,密钥大小或密码模式的操作。·使用随机生成的“salt”和主密码相结合。Salt有助于防止离线字典攻击。·打开数据文件的密钥是通过将主密码与512位“salt”相结合来创建的。结果是由SHA-256散列1000次.重复的哈希使得蛮力攻击更加困难。

虽然这些观点对我来说都没有多大意义,但我对Cryptography的了解告诉我,多次重复Cipher并不能从数学上提高安全性;它可能只会给人一种增加安全性的错误印象。由于这种不一致,我开始怀疑他们其他说法的正确性。

您能详细说明他们的声明/向我指出一些来源吗?在那里,我可以得到一些概念的概述,以消除我的怀疑;从而证明或否定aWallet密码管理器提供的安全性水平?

编辑-1:根据@SEJPM的建议,我编辑了这个问题以删除它的非主题子部分。原始问题的其余部分可以找到这里

EN

回答 1

Cryptography用户

回答已采纳

发布于 2018-04-08 17:15:23

详细说明他们的主张/向我指出一些来源,在那里我可以得到一些概念的概述,以消除我的怀疑。

这一回答将侧重于问题的这一部分:阐述所列债权。

所有数据都是加密的,包括条目名称、类别定义和数据本身。

只要这不妨碍从数据库中检索信息之类的功能,那么就应该没有问题。

使用AES和Blowfish算法加密数据,密钥大小为256、192和128位。

我希望/假设这意味着它提供了这些密钥大小的选项,而不是使用AES-256、AES-192和AES-128加密每个数据块。这将是一个非常坏的迹象,如果是,不是因为密码漏洞的原因,而是更多,因为这将意味着作者不明白他们在做什么。

使用河豚没有任何好处。甚至连“河豚”的作者也认为,人们应该停止使用河豚。

有可能是复杂的,因为小鱼有一个小块大小,但不知道究竟是做什么工作,如什么顺序的密码被应用,这是很难知道的。

当数据文件被解密时,算法、密钥大小和密码操作方式(CBC、CFB、OFB和ECB)的所有组合都会使用主密码来解锁数据文件。这使得蛮力攻击的时间更长。该应用程序本身不存储任何提示的实际密码,密钥大小或密码模式的操作。

这只是浪费用户的时间和设备电池,假设密码、密钥大小和操作方式是安全的。这不是一个好迹象,而是试图通过默默无闻来提供安全。

如果只有4种操作模式--其中没有一种模式提供身份验证--并且它们是随机选择的,那么猜测操作模式提供了最多2位的安全性。

如果只有两种密码选择-- AES和Blowfish --并且每个密码都是随机选择的,那么它提供了额外的1位安全性。

如果只有3个密钥大小-- 128、192和256位--并且为每个密码随机选择,那么它提供了额外的1.5位安全性。

假设所有这些都是通过对每个密码的随机选择来调用的,那么它提供了最多4.5位的额外安全性。

减缓蛮力的正确方法是使用大量的迭代,并使用应用于密码的密钥派生函数。

请注意,使用欧洲央行模式根本就是一个巨大的危险信号。

使用随机生成的“salt”与主密码相结合。Salt有助于防止离线字典攻击。

这很好。然而,使用512位的盐是它需要的两倍大。

打开数据文件的键是通过将您的主密码与512位“salt”相结合来创建的。结果是由SHA-256散列1000次.重复的哈希使得蛮力攻击更加困难。

SHA-256的1000次迭代是不够的,在安全性方面只提供了很小的改进。SHA-256的设计并不能阻止攻击者使用GPU/FPGAs/ASIC计算每秒(数十亿)密码猜测的淫秽数字。

理想情况下,实际的密钥派生函数(如PBKDF2、scrypt或Argon2 )将与更大的迭代次数(100,000-1,000,000次)一起使用,并设置为尽可能消耗尽可能多的内存,以提高自定义硬件的成本,并尽可能减少攻击者的优势。

也许用户不想用100,000次迭代来消耗电池--但是,在这种情况下,迭代计数应该在相当安全的默认情况下进行配置。SHA-256的1,000次迭代并不是一个合理的安全默认。

缺乏身份验证

这些描述没有提到任何关于认证加密的内容。缺乏认证意味着对手可以修改密文,用户将无法检测到修改。

不提供经过验证的加密是一个巨大的危险信号。

结论

所有这些观点都意味着,该软件的作者并不完全理解他们在做什么。你应该强烈地考虑找到一个应用程序,它是经过更严格的审查,并且是由更有知识的人编写的。其中一些缺陷相当严重,可能会导致用户数据在现实世界中受到损害。

票数 4
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/58206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档