腾讯(Tencent)的 soter 选择开源了,一时间在网上引起了极大的关注,我也是最近才注意到它。对它有一个简单的了解,本文将根据作者自己的理解,来介绍一下soter到底是一个什么框架?
更多精彩内容请看 web 前端中文站
http://www.lisa33xiaoq.net 可按 Ctrl + D 进行收藏
按照腾讯官方的说法:“A secure and quick biometric authentication standard and platform in Android held by Tencent.”翻译过来就是说:“soter 是腾讯发布的基于 Android 的安全快速的生物认证标准与平台。”说白了就是指纹认证等生物识别平台和标准。
SOTER 简介
TENCENT SOTER 是腾讯于 2015 年开始制定的生物认证平台与标准,通过与厂商合作,目前已经在一百余款、数亿部 Android 设备上得到支持,并且这个数字还在快速增长。
目前,TENCENT SOTER 已经在微信指纹支付、微信公众号/小程序指纹授权接口等场景使用,并得到了验证。
接入 TENCENT SOTER,你可以在不获取用户指纹图案的前提下,在 Android 设备上实现可信的指纹认证,获得与微信指纹支付一致的安全快捷认证体验。
SOTER 的安全性
这里可以对比下系统原生 Android 6.0 指纹接口和 FIDO 方案。
TENCENT SOTER | Android Framework | FIDO | |
---|---|---|---|
安全性 | 高(前后台支持,有产线生成一机一密根密钥) | 低(手机被 root 后易被破解,且无法准确检测 root) | 高(前后台支持,有产线生成根密钥) |
接入成本 | 较低(前端极轻量级 sdk,后台无须集成 sdk) | 低(无需前后台 sdk) | 高(部署复杂) |
敏感业务可用 | 是(可获取本机指纹索引) | 否(无法获取指纹在本机索引,有盗用风险) | 是(可获取本机指纹索引) |
用户隐私保护 | 好(不会获取指纹图案) | 好(不会获取指纹图案) | 好(不会获取指纹图案) |
商业隐私保护 | 好(验证无须请求到中心服务) | / | 较差(需要每一笔验证都请求到中心验证服务器) |
- 如果你的应用实现了全套的客户端、后台接口和逻辑,那么 TENCENT SOTER 非常安全,即使你的设备被 root 了也是如此。
- 如果该设备支持 TENCENT SOTER,那么腾讯将会保证这部设备出厂即有一机一密的设备根密钥。根密钥验证服务都由腾讯开放平台提供,该平台已经被时间验证了是稳定且可信的。
- 目前,已经有超过 2.3 亿部 Android 设备支持了 TENCENT SOTER。并且最重要的是,在几乎所有支持 TENCENT SOTER 的设备上进行微信指纹支付时,都使用了 TENCENT SOTER 标准相当长一段时间。这也证明了 TENCENT SOTER 本身是具备支付级别安全能力的标准和平台。
- 每次授权之后,你可以知道用户使用了设备上哪根手指进行支付。这对于敏感的业务场景而言非常重要。
- 如果你对于 Android 系统中的 FingerprintManager 和 Crypto 相关接口很熟悉的话,你不会对 TENCENT SOTER 的客户端接口感到陌生:我们所有的实现都是使用的 Android Framework 中的接口,并且,我们没有增加一个公开接口来做这件事情。我们只是针对这些接口和厂商进行合作,进行了很强的安全加固。
- 你并不需要每次指纹认证都接入腾讯的后台。你的数据安全与隐私将会得到充分保证。
- 腾讯已经针对所有支持 TENCENT SOTER 的手机进行了严格的测试,也就意味着你不必担心手头这台支持 TENCENT SOTER 的设备的安全性是否可靠。
当然,作为应用开发者,并不是所有场景都要求极高安全性。对于这种情况,应用可以更加快速接入 TENCENT SOTER,同时,对比与原生接口,也有两个明显优势:
- 支持部分 Android L(Android 5.0、5.1)机型指纹认证
- 可以提供本次认证在本机上的指纹索引以区分手指
我们做到这些的前提是不会以任何方式获取任何形式用户指纹图案或模板信息,这也减少了用户使用 TENCENT SOTER 的疑虑。
截止 2017 年 6 月 2 日,已经有超过 2.3 亿设备支持了 TENCENT SOTER。web 前端中文站之前发布的soter 原理,大家可以继续看下。
【注:本文源自网络文章资源,由站长整理发布】