类似 Android or iPhone 的 短数字密码 是如何保证安全性的?

2020-12-01 17:19:53 +08:00
 imdong

首先硬限制:

纯数字,4 位数密码,可离线验证。

非登录密码,用于 APP 内 “隐私空间”,换机登录后可以重新验证。

个人想法

类似 Android 与 iPhone 是通过硬逻辑上的次数与时间来保证安全的吧?

普通意义上的加盐,多次加密,椭圆曲线密码等方式都无法解决通过抓包 /反编译等方式获取密文与加密方式后离线穷举的可能?

所以怎么做都是徒劳,不如怎么省事怎么来咯,图个心理安慰?

那么问题来了,Android 与 iPhone 是如何防止被拿到密钥文件的?

App 自身有可能做到么?大家对于类似的需求是如何做的?

1837 次点击
所在节点    程序员
7 条回复
Veneris
2020-12-01 17:40:15 +08:00
离线验证的话,客户端就要有密文和加密方式,就无法保证绝对安全,只能混淆之类增大破解成本。
不过 Android 与 iPhone 也不是绝对安全的,不然街边店里的手机解锁业务哪里来的。
dingwen07
2020-12-01 18:34:48 +08:00
leaves7i
2020-12-01 20:46:33 +08:00
安卓你如果自己刷了第三方 recovery,可以在 recovery 里把密码删掉。
当然刷 rec 的前提是解锁,大部分厂商都没有开放解锁权限。
janus77
2020-12-01 20:53:35 +08:00
如果手机都在你手上了,有足够的成本怎么也能破掉吧?
同理,就算是核弹级别的保密项目,如果人家的工作电脑你都拿到手里了,也是能薅出点东西的啊
你这个问题是大家都知道,而且大家都无解,而且大家都知道他无解,感觉讨论起来没有什么意义
czkwg8
2020-12-01 21:36:56 +08:00
@leaves7i 全盘加密删了没用
kernelpanic
2020-12-01 22:22:40 +08:00
硬件实现的,想要破解需要逆向芯片,改变芯片内部的电路结构,几乎不可能
HBh25Y
2020-12-02 19:15:22 +08:00
android 有 trustzone 的,相当于独立于主系统之外的单独系统,是底层安全芯片实现的,像指纹和重要密码啥的都放在里面,某种意义上来说,就算有漏洞可以 root 了 android 的主系统,也无法突破 trustzone 拿到你的重要数据。当然不排除有顶级安全研究员可以突破 trustzone,或者突破密码重试次数,暴力跑,另外街边解锁手机都是抹除所有数据的。苹果就不懂了,哈哈哈哈哈。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/731054

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX