发布时间:2018年08月09日 出处:本站原创 (浏览次)
智能锁具行业的火热不用多说了。但就在行业一片喜人的朗朗晴空下,飘来了几朵令人不快的乌云——智能锁具的产品安全出问题了:
如果从功能逻辑的角度将智能锁具抽象,智能锁具的工作流程可以简化为:先用生物识别、输密码、刷卡等各种方式(钥匙也是一种认证手段,但考虑到智能锁具是传统机械锁的升级,钥匙这一手段可忽略)验证开锁人是否具有合法权限,然后根据验证的结果自动执行开或不开的动作,并与云平台之间交换必要的数据信息。
因此,可将智能锁具抽象为认证(判断开锁请求是否合法)、执行(开或不开)、联网(与云端交互)三大功能模块。
所谓智能锁具的安全漏洞,即一把智能锁具受到这三个层面的安全攻击时,存在被打开的可能性。智能锁具的安全性也需要从认证、执行、联网三个方面分析。
一、认证
在所有的认证方式里,生物识别使用的最为广泛。因此,本文的认证部分只分析生物识别的安全风险问题。
1、半导体指纹识别:鱼目混珠导致安全风险
前不久,有媒体披露,在一些智能锁具的指纹传感器上贴一层有导电图案的薄膜,即可任意开启该智能锁具。(可见:智能门锁爆安全漏洞: 只要一张膜,人人可开你“家门”)。
这个漏洞的成因在于,指纹识别算法的自学习机制被利用。自学习机制在改善指纹识别通过率的同时,也会天然引入安全风险,会将贴膜上的导电图案误认为合法的指纹。
还有一种更加可怕的情形,即指纹传感器自身起到了“贴膜”的效果。
半导体指纹传感器自身有一定的背景噪声。当传感器老化,其背景噪声也会增大,结果是指纹传感器采集的指纹图像会附加一个越来越深的背景图像。
如果算法防御不到位,使用一段时间后,智能锁具识别的很可能就是传感器自身的背景纹理图案,而不是开锁人的指纹图案,从而导致无须贴膜也能人人可开。
产生以上安全漏洞是因为,一些半导体传感器厂商并不了解指纹识别安全性对传感器的要求,而与其配套的算法厂商又不知道指纹传感器的器件特性,无法做配套优化。
解决办法分两步:
第一步,对半导体指纹传感器做远超一般芯片的苛刻的老化测试认证,包括加速老化、高温高湿储存、高低温冲击、高湿低湿冲击;第二步,传感器、算法与模组系统(包括外部电源环境)要统一设计,在知晓传感器的量产分布和老化特性基础上,做对应的算法补偿防御措施。
2、光学指纹识别:真像果真如此吗?
在现有的产业环境下,有些光学镜头器件厂家的生产环境并不理想,其洁净度和防尘水平达不到光学器件要求,使得光学镜头可能会受到脏污,也可能有灰尘进入镜头。
镜头一旦组装完成,这些瑕疵就没法消除。因此,有缺陷的光学镜头采集到的指纹图像会受到镜头自身瑕疵的影响。
有瑕疵的镜头,加上调焦不精确导致的散焦、虚焦等问题,在硬件层面出现的这些缺陷,需要由算法厂商从软件上补偿。
但这些算法厂商很难对硬件的缺陷问题了解深入,也没法针对性的做定制优化。为了保证通过率,只能降低算法的判定阈值。
在实际使用环境下,门开关时对锁的撞击会导致镜头松动、失焦,算法厂商在安全性上一般不会做的特别严格,这就带来了产品误识、误判的风险。
3、人脸识别:人脸活体检测只是幻象?
考虑到实际使用时的光照环境、人的距离、脸的角度都不会固定,人脸识别算法往往都会做较大大妥协。
另外,对于人脸检测,消费者会担心别人拿着自己的照片或画像打开。厂家往往宣称自己的产品可以做到活体检测。但实际情况恐怕并不如此。
活体检测有两种方案,一种是物质检测,即通过检测人脸皮肤对于红外光线的反射情况来判断是否是活体皮肤。这种方案需要多个不同光谱的红外光摄像头和相应的算法。无论是技术难度还是成本,都是高门槛。
另外一种是动态检测,即将人脸轻微晃动和表情变化导致的五官位置相对变化提取出来做识别分析。技术难度暂且不说,动态检测在现有智能锁具芯片计算能力下非常费时,厂家为了追求人脸识别的快速响应,往往也不会做这种动态识别。
导致的结果就是,厂家宣称的活体检测往往只是宣传口号而已,采用的还是单摄像头的人脸成像方案。这样的门锁,一张照片、甚至一张A4黑白打印的人像就能打开。
二、执行
电磁干扰漏洞:匪夷所思的事故竟然发生了
最近业界爆出的“电磁干扰开锁”漏洞(可见:现在智能锁具到底哪家安全:秒开智能指纹锁到处都是,我是经销商到底如何选择),绕开了复杂的认证,直接对电机发起攻击。这个漏洞的出现也彻底暴露出智能锁具行业目前良莠不齐的乱象。
电磁干扰攻击的过程是,用交变磁场接近门锁,使MCU控制IO到电机驱动H桥之间的导线产生感应电流,从而触发H桥使电机运行。也就是不需要任何认证,就能把门锁打开。
这个漏洞是由于PCBA上没有做基本的板级电磁屏蔽。其实不止是MCU控制IO到电机驱动H桥之间的导线,电磁干扰可针对所有的电平控制线,包括电机控制线、初始化按键线、一键开锁控制线等。
需要在导线上套一层如下图所示的金属网套,同时避免长距离的悬空走线,减少寄生电感,做到“加屏蔽、电感小、负载大”9字原则。
图:导线屏蔽网套
三、联网
需要端到端的通信加密
智能锁具产生的数据价值已经逐渐被业界所认识,云平台的价值也随之受到重视。但是,锁终端与云平台之间的通信安全问题还没有得到业界足够的重视。
最简单的做法是在锁里内置一块加密芯片,在本地端将所有发给云平台的数据加密。
更理想的方案是打造端到端的通信加密,建立终端与云端之间的可信认证体系,防止伪云端或伪终端钓鱼。
不过,锁企需要注意的是,在联网安全层面,产品最初的业务逻辑设计也很重要。业务逻辑设计的不够严密,也会留下安全漏洞。
举个例子:有些智能锁具会设置远程开锁的功能,即服务器发送开锁密码到终端,终端验证通过后开锁。如果在业务逻辑上,终端对于服务器发送密码指令的时间间隔没有做设定,而且终端又长时间在线,同时密码设置的深度不够深,比如只设置了6位密码,那么即使采用最笨的遍历撞码的方法,伪云端攻击也能在几分钟到十几分钟之内试出密码。
结语
平心而论,智能锁具并不具有尖端技术属性,其产品开发是一个成熟技术的工程组合问题,而不是一个技术攻关难题。
目前业内出现了各种安全漏洞,本质上还是由于对智能锁具的安全缺乏足够认知的玩家大量涌入。为了追赶智能锁具行业的风口,一味追求降成本策略,采用七拼八凑的方案,也就需要承担产品的安全风险,甚至可能因为安全风险而出现大面积召回事故。
最终受损的,又是谁呢?