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 板连接,即可开发简单、可靠且易于使用的安全系统。

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

    关注

    49

    文章

    8880

    浏览量

    165744
  • 物联网
    +关注

    关注

    2950

    文章

    48132

    浏览量

    418550
  • 指纹认证
    +关注

    关注

    0

    文章

    2

    浏览量

    3458
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MAXQ1010:用于安全令牌的深度安全微控制器

    MAXQ1010:用于安全令牌的深度安全微控制器 在当今数字化时代,数据安全至关重要。对于电子工程师而言,选择一款合适的安全
    的头像 发表于 04-08 14:40 169次阅读

    探索MAXQ1050:深度安全保障的USB微控制器

    探索MAXQ1050:深度安全保障的USB微控制器 在电子设计领域,安全与性能始终是工程师们关注的核心。今天,我们就来深入探讨Maxim Integrated的MAXQ1050——一款
    的头像 发表于 04-08 14:35 153次阅读

    探秘 ZA9L1:高性能安全 32 位 ARM 微控制器

    探秘 ZA9L1:高性能安全 32 位 ARM 微控制器 在电子设备日新月异的今天,高性能且安全微控制器成为了众多应用领域的核心需求。今天
    的头像 发表于 04-04 15:15 595次阅读

    探秘 TC23xL - AURIX™ 微控制器家族:安全应用的理想之选

    探秘 TC23xL - AURIX™ 微控制器家族:安全应用的理想之选 在汽车电子领域,安全至关重要。英飞凌(Infineon)的 AURIX™ 微控制器家族凭借其卓越性能和先进特性,
    的头像 发表于 03-29 10:40 352次阅读

    MAX32670:工业与联网领域的低功耗高可靠性微控制器

    MAX32670:工业与联网领域的低功耗高可靠性微控制器 在工业和联网应用中,对于微控制器
    的头像 发表于 03-27 10:00 101次阅读

    NXP Kinetis KL03:联网边缘节点的理想微控制器解决方案

    NXP Kinetis KL03:联网边缘节点的理想微控制器解决方案 在联网(IoT)蓬勃发展的今天,对于边缘节点
    的头像 发表于 02-10 14:50 286次阅读

    NXP MCX W71x和W72x连接微控制器联网与工业应用新选择

    NXP MCX W71x和W72x连接微控制器联网与工业应用新选择 在电子设备不断智能化、互联化的今天,微控制器作为
    的头像 发表于 12-24 13:55 603次阅读

    探索MCX E24系列微控制器:工业与联网应用的理想之选

    探索MCX E24系列微控制器:工业与联网应用的理想之选 在工业和联网(IIoT)领域,对高性能、高可靠性
    的头像 发表于 12-24 11:10 561次阅读

    请问CW32微控制器的长期供货保障和技术支持情况如何?

    CW32微控制器的长期供货保障和技术支持情况如何?
    发表于 12-12 07:55

    Lora基站在联网应用的重要性

    联网设备的远程监测和控制,提供可靠的网络连接和管理,保障
    发表于 12-03 07:09

    PSOC 4100BL系列微控制器

    PSoC 4100BL系列微控制器是英飞凌(原Cypress)推出的基于ARM Cortex-M0内核的可编程片上系统(PSoC),集成低功耗蓝牙(BLE)射频模块,适用于联网、可穿戴设备
    发表于 11-21 09:00

    芯源半导体在联网设备中具体防护方案

    控制:结合设备身份认证结果,芯源半导体安全芯片支持细粒度的访问控制
    发表于 11-18 08:06

    请问如何协同工作来保障联网设备固件安全的?

    固件加密存储和安全启动与固件验证这两种固件安全防护手段,是如何协同工作来保障联网设备固件
    发表于 11-18 07:30

    学习联网可以做什么工作?

    市场需求,制定产品规划。   系统集成工程师:负责将不同的联网设备和系统进行整合,实现设备之间的联通和数据共享。   安全工程师:负责
    发表于 10-11 16:40

    联网工程师为什么要学Linux?

    ,而Linux作为开源、高度可定制的操作系统,能适配从低功耗传感到高性能网关的各类硬件平台。 例如,智能家居设备、工业控制器等均依赖Linux的模块化设计实现功能扩展。 2)通信协议与开源支持
    发表于 05-26 10:32