For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
随着互联网的发展,现在的大部分设备都尽量采用指纹认证等方式来作为自己产品的安全验证方式。那么,大家是否又了解,什么样的指纹认证方式才是好的方式呢?在指纹认证方式出现之前,消费者都是采用什么样的方法来提高密码验证安全程度的呢?
今天,我们就一起来梳理和了解一下,在互联网安全系统中的指纹认证安全功能的产生的原因,下面我们就开始今天的主要内容吧。
设备指纹诞生于网络未知
在互联网发展初期,人们发现商业的边疆可以被极大的拓展,我们可以跟某个素不相识的人在一秒以内完成一笔真实交易。但是,更多的机会也带来了更多的风险。很多在人们看来理所当然的线下正规业务场景,一旦转换到线上,就会衍生出意想不到的风险。比如,从前一个卖家可以通过“察言观色”、“一手交钱一手交货”、“摄像头监控”等等方式很精准的去判定一个买家是不是欺诈者。这意味着对于“什么人”在“什么时候”用“什么方法”做了“什么事”这个亘古不变的业务链条,每个环节卖家都一清二楚。但如今在互联网上,所有的识别环节都被打破,实实在在的行为被打散为不同的单个请求,并且这些请求分布在许多复杂的业务模块中,线下积累的经验无法直接适配线上。于是人们发明了各种各样的方式试图重新去补全这个业务链条,而“设备指纹”就是当下用于判定业务主体是“什么人”的一种重要技术。
设备指纹的“前世今生”
早期,在一些对安全要求非常高的线上场景中,例如一些银行的网上银行,常常使用U盾这样的纯硬件技术去追踪业务主体,也就是上文所说的定位“什么人”。同时,因为业务往往都是发生在浏览器页面中,而浏览器是属于操作系统上层的应用程序,运行在其中的脚本代码受到沙盒的限制,所以用户也需要安装一个可以跳出浏览器沙盒直接跟操作系统对接的控件,来读取U盾里面的安全数据。
相对来讲,这很安全。不过随着互联网的发展,这种“控件”+“U盾”的结合方式已经越来越落伍。笔者总结了如下几点原因:
1、使用控件的用户体验非常差,需要冗长安装、更新流程,普通用户难以操作;
2、移动互联网已成为绝对主流,而iOS,Android等移动互联网入口都不支持控件;
3、不仅仅在移动端,某些控件在pc端适用范围都很小,很多只支持PC上的IE内核浏览器。同时Chrome和Firefox等份额较大的桌面浏览器也在逐步淘汰控件的使用;
4、基于控件的本地溢出漏洞层出不穷,用户很容易中木马或者被钓鱼,反而给系统的安全造成严重危害。
基于以上几点,纯依赖js的web设备指纹技术逐渐被越来越多的厂商使用。它具有”免安装”、”动态更新”、”用户无感知”、”兼容移动和桌面端所有操作系统浏览器”的优点。此外,由于js天然受到浏览器沙盒的限制,在某些安全性要求更高的场景,内嵌于各种app的SDK设备指纹技术也得到广泛的应用。
“好”的设备指纹是怎样的
很多人对设备指纹不了解,容易一开始便纠结在一些意义不大的机制和参数上。下面就让我们一起探讨下什么是“好”的设备指纹。
1.不侵犯用户隐私
这是所有设备指纹产品需要严格遵守的红线。侵犯用户隐私,基于用户敏感信息(比如用户浏览历史记录,用户输入的敏感数据等)研发的设备指纹产品,即使功能再强大,也毫无意义,这无需多言。
2.安全性和用户体验的平衡
好的设备指纹需要在安全性和用户体验之间找到最佳的平衡点;其实这个概念可以衍生到更广的层面,即“安全防护应该是在安全性和业务发展之间找到最佳平衡点”。
对于安全从业者来说,这是我们要牢记的第一准则——安全永远是为业务服务的。上文提到的淘汰“硬”设备指纹(U盾)而发展“软”设备指纹(js,SDK)就是对该理念的有力印证。虽然“软”设备指纹在某些情况下功能性和安全性稍差,但在用户体验上获得了极大的提升,再通过结合其他维度的综合风险识别,实践证明”软”设备指纹机制有效且风险可控。
3.保证稳定性、兼容性和性能
实验室创新并不等同于工厂技术,在实验室诞生的创新技术距离实际的工业化生产还有非常远的路要走。这在设备指纹领域也很明显,我们常常能看到不少”奇思妙想”的技术被炒作为可以用来做设备指纹,但考虑到兼容性和稳定性,实际上绝大多数都不能应用在线上环境中。这些往往只有真正开发设备指纹的技术人员才有深刻体会。
稳定性,兼容性,性能等等都需要重点考虑,复杂的客户端环境和多样的使用场景,一款好的设备指纹产品一定是久经考验的“战士”。以同盾的SDK举例,我们做了大量的线上线下测试(针对众多偏门机器或者山寨机的兼容性测试、运行的耗电情况统计、上亿装机量的线上运行、高性能服务端集群压测、极端情况的完备降级处理方案等等)来确保最后交付的产品质量。
4.迎合技术发展
无论是web技术还是移动端技术都在飞速发展,一些老旧的技术也在不断被淘汰,设备指纹是一种集合多种技术的集大成类产品,所以也一定要时时迭代,符合新技术发展的潮流。例如前几年HTML5技术刚兴起的时候,我们就对其中“websocket”、”canvas”、”cors”、”localstorage”等进行了研究,挖掘了不少有价值可利用的技术。另一边,千疮百孔的flash已经在淘汰的边缘,绝大部分桌面端浏览器都已经默认不开启,我们也在最新的版本里给它判了“死缓”。
不仅仅是功能迭代要利用新的技术,设备指纹的应用场景和使用方式也要尽可能与技术发展一致。比如当下很多厂商都采用“混合式app开发”框架,我们就有针对性的研发了适配功能,将app中的h5与本地的sdk结合起来做综合的设备识别。
5.贴合业务场景
很多人都知道设备指纹有两个“著名”的评估标准:“稳定性”和“唯一性”。稳定性用来评估历史上出现过的设备依然能够被识别回来的能力。这就好像一个罪犯,不管怎么变装易容,依然能被警察找到。唯一性则从另一个角度,评估把一个设备识别成另一个设备出错概率。同样的比方,警察知道一个罪犯的特征是“175公分”、“短头发”,但是并不能把大街上所有具有这两个特征的人都当罪犯抓起来,因为这两个特征并不能唯一定位到一个人。换句话说,这两个特征的“熵”太少。但是如果再加上另一个特征——“左脸眼睛下面有一个3公分的横向刀疤”,这就非常明显了,通过这三个特征,警察有非常大的把握可以追踪到该罪犯。其中这个“刀疤”特征,就是一个不错的可以用来做设备指纹唯一性判定的参数。
作者:同盾反欺诈研究院
好了,关于互联网安全功能等问题我们就给大家先简单分享到这里了,如果大家对互联网IT技术感兴趣的话,可以与我们联系,了解更多产品和内容知识。
【免责声明】 本文转自网络,版权归原作者所有!(欢迎作者认领)