0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用指纹认证保障基于微控制器的物联网设备安全

丫丫119 来源:未知 作者:肖冰 2019-08-06 10:10 次阅读

为了确保产品或系统的安全性,设计人员承受的压力越来越大。尤其当这些产品或系统需要连接到物联网 (IoT),更可谓“压力山大”。许多已公开的黑客事件表明密码的脆弱性,个人识别码 (PIN) 可以轻松复制,基于近场通信 (NFC) 的徽章亦可轻松窃取。设计人员既需要提高安全性,同时又要控制成本和设计时间,而使用指纹识别 (ID) 即可一举两得。

然而,指纹安全往往难以实现。使用微控制器数字信号处理器 (DSP),结合指纹识别固件、数据处理和调节以及主机通信,从头开始设计指纹扫描系统,技术细节可能相当复杂,学习曲线也相当陡峭。

所幸,目前市面上现成的硬件和软件可以解决指纹识别系统的大部分难题。本文将阐示指纹识别的基础知识,并介绍DFRobot推出的 SEN0188。通过通用异步接收器/发射器 (UART) 接口,这款自足式指纹登记与验证单元可与任何主机微控制器连接。

此外,本文还将展示如何使用 SEN0188 为物联网网络设备加入指纹识别安全功能,从而让设备更能抵御黑客攻击或物理攻击。

指纹识别的基础知识

指纹是每只手的手指指腹上凹凸的纹路,指纹能增加手指的摩擦力,从而更容易发力并抓紧物件。指纹的形成部分源于 DNA 的表达,部分受随机因素影响,因而每个人的指纹纹路都是独一无二的,几乎不可能存在两个人拥有相同的指纹。即使是同卵双胞胎,指纹也有所不同。因此,对于要求高安全性的系统,指纹识别是十分可靠的检测方法。

指纹识别系统具有两种操作 - 登记与验证。指纹登记是识别并存储清晰的指纹以供日后使用。使用专用扫描仪一次或多次扫描指纹,将其数字化,然后分析数字化指纹,确保指纹有效。如果指纹有效,则将其连同 ID 号、姓名和徽章号等个人识别信息,一并存储在闪存或 EEPROM 等非易失性存储器中。如果指纹无效,则必须再次扫描手指。

指纹验证是扫描清晰的指纹,并与非易失性存储器中存储的数字化指纹进行比照以验证。然后指纹扫描系统将向主机指示扫描的指纹是否与存储器中存储的有效指纹相匹配,或者匹配是否无效。

物联网访问安全性

许多以前独立的系统现在都可通过物联网连接,其中包括一些要求中等安全性的系统,如学校和企业。但是,非法侵入水处理厂和电网等关键系统可能会造成极具破坏性的影响,因此仍需要加强安全性。对于这些系统,开发人员一直在寻求更好的方法,以最低的成本确保系统安全性,因为许多物联网设备本身的设计成本就很低廉。在这些系统中,可以轻松添加指纹识别与安全徽章。

这些物联网网络的优点在于,指纹扫描结果的通知可以通过网络传输。如果检测到未经授权的访问,就可以发出警报,或是在极端情况下,物联网网络可以锁定所有系统,甚至致电相关机构。

在进行用于安全识别的指纹登记时,最好有技术人员或安全专业人员在场,以确保操作正确。扫描仪和手指都必须保持干净。技术人员必须严格验证被扫描人员的身份。一旦登记成功,安全专业人员就可以添加人员姓名或员工 ID 号等其他信息。

对于许多预算紧张的设计人员而言,从头开始设计指纹扫描系统所涉及的技术细节使得实施难度过大。目前,DFRobot 推出的 SEN0188 指纹传感器(自足式指纹登记与验证单元)等现成硬件可以解决指纹识别系统的大部分难题(图 1)。

图 1:DFRobot 的 SEN0188 指纹传感器单元包含指纹登记与验证所需的所有硬件和固件,可通过 UART 接口与微控制器通信。(图片来源:DFRobot)

SEN0188 的工作电压范围为 3.8 至 7.0 V,最大电流为 130 mA。该传感器的工作温度范围宽(-20℃ 至 + 60℃),可承受的相对湿度高达 80%,适用于许多户外应用。

如图 1 所示,用户将手指按在左侧的指纹光学传感器上,只需不到一秒,即可获取指纹图像用于登记或验证。每个指纹都作为 512 字节的模板文件存储在内部闪存中。SEN0188 的内部闪存最多可存储 1000 个指纹。

SEN0188 的 UART 可通过传感器底部进行连接(图 2)。

图 2:DFRobot 的 SEN0188 指纹传感器底部配有 UART 接口。(图片来源:DFRobot)

上电后,SEN0188 的默认波特率为 57600 bps,可在 9600 bps 到 115200 bps 之间进行调整。UART 接口使用以下信号

引脚编号 信号名称 方向 描述
1 VTOUCH - 未连接
2 SOUT - 未连接
3 VIN 输入 电源输入(3.8 至 7.0 V)
4 TD (Tx) 输出 UART 发送数据输出
5 RD (Rx) 输入 UART 接收数据输入
6 GND 信号接地

表 1:SEN0188 使用异步 UART 接口与主机通信的引脚分配。(表格来源:DFRobot)

UART 接口还可以连接个人电脑或笔记本电脑上的 DFRobot软件,以此协助指纹系统开发,包括调试登记与验证固件。

在微控制器系统中使用 DFRobot 的 SEN0188

在自足式微控制器系统中,连接 SEN0188 的电路板需采用功能强大的微控制器,并配有可视指示器以显示指纹状态。STMicroelectronics的 STM32F7308-DK 开发套件具有自足式指纹识别系统所需的所有功能。该套件采用功能强大的基于 Arm® Cortex®-M7 内核的STM32F730I8K6微控制器。该电路板上配有用于高速时钟的 25 MHz 振荡器和用于低速时钟的 32.768 kHz 振荡器,支持 64 KB 的片上程序闪存,外加 64 MB 的外部闪存和 256 KB 的系统 SRAM

对于外设支持和通信,该电路板具有多个串行接口,包括三个 I2C 和五个 SPI 接口。此外,还具有四个 UART/USART,因此能够轻松与 SEN0188 通信。以 3.6 V 供电时,STM32F730I8K6 微控制器与 DFRobot 指纹传感器的 TTL 逻辑电平接口兼容。

该开发板配有与Arduino™ 兼容的子板(图 3)。在开发过程中该子板可能很有用,但指纹识别时用不上,可与主板断开。

图 3:STMicroelectronics 的 STM32F7308-DK 开发板具有自足式指纹识别系统所需的所有功能。左上方连接支持 Arduino 的子板,而右下方的 ESP-01 连接器支持任何 ESP8266 兼容板。(图片来源:STMicroelectronics)

该开发板还配有 240 x 240 TFT LCD 显示屏,可用于指纹验证通过或失败的可视指示。

如需连接 Wi-Fi 网络,STM32F7308-DK 开发套件配有插座,可用于连接任何行业标准的 ESP8266 Wi-Fi 板。例如,SparkFun Electronics推出的WRL-13678便是 ESP8266 兼容板(图 4)。

图 4:SparkFun Electronics 的 WRL-13678 是 ESP8266 兼容板,配有 ESP-01 插头连接器。该电路板可插入 STMicroelectronics 开发板,提供便捷的 Wi-Fi 接入。(图片来源:SparkFun Electronics)

该电路板插入开发板右下方的 ESP-01 连接器,如图 3 所示。WRL-13678 配备独立板载天线,使开发板可轻松连接 2.4 GHz 的 Wi-Fi 网络。

在带 Wi-Fi 网络的物联网安全系统中,任何安全访问或拒绝访问都可以传输到所有物联网节点。对于允许访问其他高度受限的区域或系统,这一点相当有用。例如,如果设施内部某个高度受限区域接收到访问请求,但是拥有许可的人均未登录,所有入口的指纹扫描仪亦没有记录,那么系统可能会将此访问尝试归为潜在的安全违规并采取适当措施。

对于这种安全级别的设施而言,要求离开设施时也进行身份验证并不罕见。这不仅能为所有出入口提供记录,还防止未经授权人员逃离,同时提醒安全专业人员。

实现指纹安全

SEN0188 传感器通过 UART 接口,使用简单的命令集与主机 STMicroelectronics 开发板进行通信。命令集共有 22 个命令,包括登记、验证和删除指纹;各种搜索命令;直接读写内部闪存;读取状态;以及设置传感器的安全性。此外,传感器还可以检索任何存储指纹的位图图像并发送至主机,而开发板的 TFT LCD 可以显示这些指纹图像。

使用 PIN 码或密码,即可在指纹识别站启用指纹登记。不过,从安全保护站等物联网网络端点向开发板发送命令来启用指纹登记,则相对更安全。另外,手机或平板电脑等移动设备可用于授权登记,也可用于验证指纹登记是否成功。

SEN0188 的指纹光学传感器区域带 LED 背光,主机使用OpenLED和CloseLED命令即可轻松开启和关闭。只有在系统允许接受指纹时才点亮指纹传感器,这在安全环境中相当有用。发生安全事件时,可以关闭背光以指示当前不接受访问,即使是授权人员也不例外。

SEN0188 默认 UART 帧使用 1 个起始位、8 个数据位和 1 个停止位。数据的最低有效位 (LSB) 先发送。上电后,SEN0188 需要 300 ms 进行初始化并运行自检,然后向主机发送 55h 的单字节,指示已准备就绪。主机也可以向传感器发送GetEcho命令以请求 55h 确认码。若主机未接收到该字节,则表示 SEN0188 发生故障、SEN0188 与主机之间的通信中断,或 SEN0188 未通电。

SEN0188 旨在为指纹认证提供安全环境,也能提供密码保护等诸多安全功能。4 字节的默认出厂密码为 00000000h,系统投入应用前必须更改密码。使用传感器设置密码命令SetPwd,可将密码存储在传感器的内部闪存中。

为了提高安全性,传感器命令集不包括读取密码命令。如果传感器密码丢失,SEN0188 传感器将无法使用 - 没有硬件或软件复位可以恢复传感器或存储的指纹。

传感器的 4 字节默认地址为 FFFFFFFFh,存储在内部闪存中,使用SetAddr命令即可更改。

所有指纹认证和存储都在传感器内部执行,以防篡改存储的指纹或验证过程。

首次使用前,删除指纹扫描仪中存储的所有指纹是明智的安全预防措施。Empty命令支持该功能,该命令可删除传感器内部闪存中存储的所有指纹模板。

总结

嵌入式和物联网系统应用中,安全访问的重要性与日俱增,但同时也需要在成本、简易性和有效性之间取得适当平衡。如上所述,设计人员借助 DFRobot 的 SEN0188 指纹传感器,即可快速设计原型和开发系统,确保敏感区域的访问安全性。将该传感器与带 TFT LCD 显示屏的 STM32F7308-DK 开发套件和 SparkFun Electronics 的 WRL-13678 Wi-Fi 板连接,即可开发简单、可靠且易于使用的安全系统。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    6809

    浏览量

    147618
  • 物联网
    +关注

    关注

    2867

    文章

    41610

    浏览量

    358321
  • 指纹认证
    +关注

    关注

    0

    文章

    2

    浏览量

    3374
收藏 人收藏

    评论

    相关推荐

    MCU是怎么为联网端点设备提高安全性的?

    MCU 是怎么为联网端点设备提高安全性的?
    发表于 10-17 08:53

    如何使用STM32G4系列微控制器存储和外围设备

    本参考手册面向应用程序开发人员。它提供了关于如何使用STM32G4系列微控制器存储和外围设备。 STM32G4系列是一系列具有不同内存大小和封装的微控制器以及外围
    发表于 09-08 06:59

    STM32微控制器安全基础知识

    本应用笔记介绍了 STM32 微控制器安全基础知识。微控制器中的安全性涵盖了几个方面,其中包括固件知识产权保护、设备私有数据保护以及服务执
    发表于 09-07 07:36

    国内首创!通过SDK集成PUF,“芯片指纹”打造MCU高安全芯片

    出独一无二的“芯片指纹”,实现了芯片唯一身份标识和安全密钥生成等关键功能。这些特性赋予CM32Sxx系列芯片防克隆、防篡改、抗物理攻击以及侧信道攻击的能力,可为联网场景下的终端
    发表于 09-06 09:44

    NuMicro M2351系列微控制器安全特色与应用

    等攻击的未授权操作有良好的对策。因此, 微控制器系统开发人员可以轻松设计针对安全要求苛刻的市场的应用程序,例如安防产业,智能家居,智能城市和智能联网以及任何其他有
    发表于 08-28 06:24

    新唐对应四大联网安全攻击的保护措施

    性,涵盖分析至安全评估及认证。新唐推出的安全联网微控制器 M2351 系列在 2021 通过了
    发表于 08-21 08:14

    M2354微控制器怎么样

    M2354是一款由新唐科技所生产的微控制器,其丰富的安全设计,让这款微控制器特别适合应用于安全领域,尤其是透过因特网联机的IoT装置。 IoT装置,由于暴露于网络中,需要足够的
    发表于 08-21 07:39

    TrustZone Technology微控制器系统硬件设计概念用户指南

    互联产品的安全。 本文描述了一种适用于这种系统的简单方案,作为帮助理解支持TrustZone技术的微控制器系统设计要求的一种手段。
    发表于 08-09 07:25

    如何使用Alexa语音服务集成在受约束的联网设备上设置语音命令

    的内存密集型和计算密集型任务卸载到亚马逊管理的云服务中。将这些任务卸载到云中,允许基于带片上存储微控制器的受限设备支持Alexa。 Voice on Arm是一个原型项目,为基于Arm
    发表于 08-02 12:53

    设计一个片上系统-为安全联网创建一个系统设备

    本指南适用于系统设计人员,可能使用Arm Flexible access。我们假设您希望为安全联网设备开发片上系统(SoC),并且您打算SoC将用于智能咖啡机。然而,该指南可能与任
    发表于 08-02 09:33

    STM32微控制器安全简介

    电子发烧友网站提供《STM32微控制器安全简介.pdf》资料免费下载
    发表于 08-01 14:22 0次下载
    STM32<b class='flag-5'>微控制器</b><b class='flag-5'>安全</b>简介

    联网微控制器功能有哪些?

    市场上微控制器很多,适用于物联网的也有很多,所以了解其通用功能非常重要。首先,我们常见的一个问题是微控制器与微处理器之间的区别是什么。
    的头像 发表于 07-10 09:48 521次阅读
    物<b class='flag-5'>联网</b>的<b class='flag-5'>微控制器</b>功能有哪些?

    联网微控制器

    有许多可用的处理选项,包括微处理器以及 8 位、16 位和 32 位微控制器。但是,当涉及到满足物联网的要求时,它们在性能、功耗和内存方面都大不相同。
    的头像 发表于 06-29 14:45 284次阅读

    安全主管如何保护物联网设备

    虽然软件加密被认为具有成本效益并且相对容易实施和更新,但它不如基于硬件的对应产品强大。通过使用从内部不可变存储器执行软件的安全微控制器,您可以提供强大的保护,防止试图破坏电子设备硬件的攻击。该软件存储在
    的头像 发表于 06-29 09:16 287次阅读

    S32K344EHT1MMMST微控制器,它是符合ASIL-D设备标准且符合ASIL-D系统标准的微控制器吗?

    以下是关于 S32K344EHT1MMMST微控制器安全标准 ASIL-D 的查询: 微控制器是否足够独立以实现外设冗余,即在任何外设故障的情况下,如 sci。微控制器会切换到新的
    发表于 06-12 07:17