上一篇讲了传统基于证书的身份认证产品,这一篇重点讲讲移动端出现后,我们对移动化设备上身份认证产品的思考和实践。
1、市场上移动端的身份认证方式介绍
先看看目前移动端常见的几种身份认证方式:
1、短信口令
人人都有一个手机号,手机号也好记好输入,并且现在的手机号都基本通过实名认证,所以目前绝大多数移动端应用都选择用手机号作为注册和登录的账号,而用户也不需要记忆密码,登录时应用APP会发送短信口令给用户,用户正输入即可注册或登录非常方便。
2、手势密码
手势密码将密码输入的键盘输入方式进行了改变,使用中国古老的图形九宫格,让用户在注册时设定沿着九宫格的图案,在登录时再重画一遍使得无需输入密码,大大优化了用户的体验。曾经在指纹认证没有出现的时候火了一把。
3、指纹及生物识别
手机被认为是人的传感器,通过手机采集生物识别方式:指纹、音纹、虹膜等,再去验证这些生物的标识,这样不用购买单独的识别设备就可以进行身份认证,大大提高了用户体验减少了用户记忆的负担。
4、手机即U盾
U盾在传统PC时代被认为是最安全的身份认证设备,在移动互联网时代由于体验的问题逐渐将U盾淘汰。但是随着移动应用的安全问题突现,开发商逐渐开始想办法把数字证书安全的存放在手机中,通过SDK的形态给应用提供服务,这样用户既可以享受良好的体验也可以大大提升安全性。
5、可穿戴设备
可穿戴设备作为一种黑科技出现,比如手环、手表能够计步、计时等。开发商也开始将支付的核心部件移植到可穿戴设备里面,将可穿戴设备作为U盾,通过蓝牙、无线等通讯方式就能配合手机使用也可以通过NFC非接触方式单独使用。从合规性和安全性上说是可以进行多因子认证,而从体验来讲因为有额外功能所以被广大用户接受。
6、带安全芯片的设备
传统PC时代用U盾作为高安全设备来使用,移动时代厂商从外观出发做出了很多能够匹配移动端使用的外设:蓝牙key、音频key、蓝牙SIM卡、双接口key等。但是都没有大面积使用,只是根据某一些客户的特殊要求出现的。
2、移动端身份认证产品的思考
主要从以下几个角度考虑移动环境下的身份认证如何选择。
用户关注点
企业用户。企业用户最优先考虑的是安全性,最大程度上保证业务系统稳定运行。
互联网用户。最优先考虑的是用户体验。只有用户多了量上去了才会逐渐考虑安全。
以上两类用户也是在满足优先考虑的点上后才会逐步向另一个方向过渡,或者找一种两者兼顾方案或者找一种折中方案。
用户体验
从体验讲,生物识别是最好的,因为无需携带或者记忆任何东西,要核验的就是自己的特征如指纹或者声音;其次是可穿戴设备,一般的形态是手表或者手环,还有戒指和吊坠等,这些设备一方面满足了用户美观的需求,一方面又可以进行医学上的应用如记步睡眠心跳血压等各方面的监测,最后通过与这些特征的匹配或者在其中增加安全芯片存放个人密钥来核验用户本人是非常棒的体验;最受用户吐槽的是口令,不过这个方式如何变化最后都要输入,而现在用户被教育的非常懒所以这个体验最不好。
安全性
安全性最高的是带有安全芯片的设备,因为里面可以安全的存放和使用用户的密钥,所以该设备是可信的设备。这个安全芯片可以整合到手机里也可以放在在可穿戴设备里。
安全性最差的是口令,现在手机木马猖獗,通过木马可以很轻松盗取口令,进行非合法授权操作。
3、产品实践总结
公司核心是数字证书,主要的目标用户群是高安全要求的客户。针对要求的不同形成了以下几种方案:
1、体验和安全并重:手机+可穿戴设备
把可穿戴设备作为便携式的U盾来看待,通过蓝牙无线与手机通信,手机与云端数据中转的介质。安全性保障主要依赖可穿戴设备中的安全芯片,其作为密钥的载体和数据运算的中心是完全可控的,而作为一种新生事物其主打运动、健康和支付的功能,大大增强了用户的粘性,其不失为一种最好的方式。优点:安全和体验兼顾;缺点:成本较高。
2、重安全:手机+蓝牙SIM卡
蓝牙SIM是将通用的SIM卡与密码芯片组合起来,密码芯片通过蓝牙模块与手机进行通信。该产品完全是从安全性作为出发点进行设计,SIM卡可以放在手机中使用起来非常方便。优点:高安全;缺点:体验不好,SIM卡在更换环节的流程较复杂,更换代价大。所以只能在安全要求高且能够集中更换或者随新手机下发的场合使用。
3、重体验:手机即U盾
手机即U盾也有叫手机KEY,就是把手机本身作为密钥存储和运算的载体。对于开发者来说获取软件开发包即可安卓和苹果系统都支持。对于用户来说是证书只是底层安全保护的机制,往往在使用上没有任何感知。但是由于手机环境的复杂和开放,所以这种方式也存在一定的密钥可能泄露的风险。一般情况下我们会在密钥保护上进行技术处理,把密钥分段通过云端配合运算来保护。优点:体验好,集成快、投入少;缺点:安全级别较低。
以上这三种方式,我们会根据具体的应用场景提供给用户,选择合适的组合提供给用户使用。
4、未来的展望
在与客户的交流中,其实客户最希望是方案3,但是有些场景下对安全的高要求,所以不得不选择其它方案。不过从最近手机厂商的动作中也看到一种趋势:手机处理器中会自带安全单元SE,来进行密钥的管理。也就是说将来所有手机的系统接口就会基于可信环境的密钥的存储以及运算接口,那么我们只要在应用层使用即可,这样既有安全性也有良好的体验。手机发展到一定程度后智能设备在处理器选型上也会逐步过渡,所有的智能设备都会采用这种模式,整个的移动计算环境将成为一个安全可信的环境。
以上是个人在做产品时的一点总结和思考,有任何问题可以一起探讨谢谢。