纯数字,4 位数密码,可离线验证。
非登录密码,用于 APP 内 “隐私空间”,换机登录后可以重新验证。
类似 Android 与 iPhone 是通过硬逻辑上的次数与时间来保证安全的吧?
普通意义上的加盐,多次加密,椭圆曲线密码等方式都无法解决通过抓包 /反编译等方式获取密文与加密方式后离线穷举的可能?
所以怎么做都是徒劳,不如怎么省事怎么来咯,图个心理安慰?
那么问题来了,Android 与 iPhone 是如何防止被拿到密钥文件的?
App 自身有可能做到么?大家对于类似的需求是如何做的?
1
Veneris 2020-12-01 17:40:15 +08:00 1
离线验证的话,客户端就要有密文和加密方式,就无法保证绝对安全,只能混淆之类增大破解成本。
不过 Android 与 iPhone 也不是绝对安全的,不然街边店里的手机解锁业务哪里来的。 |
2
dingwen07 2020-12-01 18:34:48 +08:00 via iPhone 1
没那么不安全
安卓有可信执行环境 https://source.android.google.cn/security/trusty?hl=zh-cn iOS 有 Secure Enclave https://support.apple.com/zh-cn/guide/security/sec59b0b31ff/web |
3
leaves7i 2020-12-01 20:46:33 +08:00 1
安卓你如果自己刷了第三方 recovery,可以在 recovery 里把密码删掉。
当然刷 rec 的前提是解锁,大部分厂商都没有开放解锁权限。 |
4
janus77 2020-12-01 20:53:35 +08:00 via iPhone 1
如果手机都在你手上了,有足够的成本怎么也能破掉吧?
同理,就算是核弹级别的保密项目,如果人家的工作电脑你都拿到手里了,也是能薅出点东西的啊 你这个问题是大家都知道,而且大家都无解,而且大家都知道他无解,感觉讨论起来没有什么意义 |
6
kernelpanic 2020-12-01 22:22:40 +08:00
硬件实现的,想要破解需要逆向芯片,改变芯片内部的电路结构,几乎不可能
|
7
HBh25Y 2020-12-02 19:15:22 +08:00
android 有 trustzone 的,相当于独立于主系统之外的单独系统,是底层安全芯片实现的,像指纹和重要密码啥的都放在里面,某种意义上来说,就算有漏洞可以 root 了 android 的主系统,也无法突破 trustzone 拿到你的重要数据。当然不排除有顶级安全研究员可以突破 trustzone,或者突破密码重试次数,暴力跑,另外街边解锁手机都是抹除所有数据的。苹果就不懂了,哈哈哈哈哈。
|