应用密钥产生流程:应用密钥在应用首次安装的时候生成 , 应用密钥的私钥保存在手机端 , 并使用出厂前内置的私钥签名 , 然后发到腾讯的认证服务器验证签名 , 此时应用密钥的公钥会保存到应用的后台 。

文章插图
业务密钥产生流程:在使用登录或者支付的指纹认证注册的时候 , 应用会再生成一个业务密钥 , 业务密钥的私钥还是保存在手机端 , 业务密钥使用手机端的应用密钥进行签名 , 验证也只需要在应用的后台验证就可以了 , 此时和腾讯的认证服务器就没有关系了 。

文章插图
这样腾讯就不知道你的实际业务运营情况了 , 比如每天在线支付多少笔 , 但是APP安装量还是免不了会暴漏出来 , 话说APP都要上应用市场的 , 这个信息其实早就公开了 。
关于SOTER详细介绍 , 可以看官方文档:
https://github.com/Tencent/soter/wiki
IFAA的应用过程和SOTER差不多 , 这里就不再赘述了 。另外国外还有一个FIDO联盟 , 也是解决这个问题的 , 国内是联想集团的子公司国民认证在推广这个 , 技术原理也都差不多 。
iOS中的密钥安全iPhone的操作系统和硬件都是自己控制的 , 所以对于安全控制它可以做的很好 。
对于本机指纹认证 , 苹果也提供了Touch ID的API , 可以在前端调用指纹认证 , 但是如果要发送到服务端去验证 , 基于各种安全考虑 , 就还是需要一个客户端密钥 , 这个客户端密钥有没有安全的产生方式呢?我没有找到官方的文档说明 , 很多基于这个方案的第三方应用可能都是自己生成的吧 , 尽量做到安全 。当然这个也是猜测 。
但是微信或者支付宝这种应用怎么能忍呢?SOTER曾经说要支持iOS , 最后也是不了了之;IFAA宣传的是兼容支持iPhone 5s 以上所有 iOS 手机 , 不过它不开源 。可能苹果最终还是不想把这块放开 , 同时基于苹果的强势地位 , 最有可能是苹果专门给这种应用开放了特定的API , 不许外传 。
如果是做指纹登录 , 其实可以直接使用苹果开放的Apple ID登录协议 , 支持指纹和刷脸认证 , 会给应用返回认证Token和授权码 , 应用后台拿着这两个再去找苹果验证 。从这个逻辑上看 , 苹果的后台必然能安全的确认发起请求的客户端身份 , 所以估计和Android的原理差不多 , 只不过前后端的每次认证都得苹果来验证 。
Web中的指纹认证上面提到过一个FIDO联盟 , 它和W3C搞了一个WebAuthn标准 , 它的目的是标准化用户对基于 Web 的应用程序和服务的公钥认证的接口 , 说人话就是定了一个Web程序中使用公钥认证的标准 , 所谓的公钥认证就是上文提到的客户端密钥认证技术 。这个国内产品好像使用的不多见 , 不过这件事挺牛的 。它可以在Windows、Linux、Mac OS、Android、iOS、智能手表等各种设备中使用指纹识别、面部识别、虹膜识别、声音识别、实体密钥(USB连接、蓝牙连接、NFC连接)等多种方式进行认证 , 尽可能的摆脱对密码的依赖 。
这个技术标准和APP中的公钥认证技术是一脉相承的 , 主要区别在于APP换成了浏览器 , 认证模块除了操作系统本身支持 , 还增加了对专用硬件的支持 。有兴趣的可以去了解下 。
- 企业怎样有效利用抖音进行营销?
- 速卖通灵犀推荐使用技巧,怎样容易出单?
- 一日三餐要有“讲究”,怎样安排高考“食谱”?
- 50亿年后太阳毁灭世界!地球命运将会怎样?有些行星消失,人类将何去何从?
- 雀巢妈妈孕妇奶粉怎样
- 钢铁是怎样炼成有哪些好句子 钢铁是怎样炼成的好句赏析大全
- 如何致富赚钱怎样才能致富 赚钱如何致富
- 九价疫苗怎么辨别真伪 支付宝九价疫苗预约是真的吗
- 扁担实木 扁担房子风水怎样
- 冬天的红色大衣要怎样穿搭?
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
