為了確保產(chǎn)品或系統(tǒng)的安全性,設(shè)計(jì)人員承受的壓力越來越大。尤其當(dāng)這些產(chǎn)品或系統(tǒng)需要連接到物聯(lián)網(wǎng) (IoT),更可謂“壓力山大”。許多已公開的黑客事件表明密碼的脆弱性,個(gè)人識(shí)別碼 (PIN) 可以輕松復(fù)制,基于近場通信 (NFC) 的徽章亦可輕松竊取。設(shè)計(jì)人員既需要提高安全性,同時(shí)又要控制成本和設(shè)計(jì)時(shí)間,而使用指紋識(shí)別 (ID) 即可一舉兩得。
然而,指紋安全往往難以實(shí)現(xiàn)。使用微控制器或數(shù)字信號(hào)處理器 (DSP),結(jié)合指紋識(shí)別固件、數(shù)據(jù)處理和調(diào)節(jié)以及主機(jī)通信,從頭開始設(shè)計(jì)指紋掃描系統(tǒng),技術(shù)細(xì)節(jié)可能相當(dāng)復(fù)雜,學(xué)習(xí)曲線也相當(dāng)陡峭。
所幸,目前市面上現(xiàn)成的硬件和軟件可以解決指紋識(shí)別系統(tǒng)的大部分難題。本文將闡示指紋識(shí)別的基礎(chǔ)知識(shí),并介紹DFRobot推出的 SEN0188。通過通用異步接收器/發(fā)射器 (UART) 接口,這款自足式指紋登記與驗(yàn)證單元可與任何主機(jī)微控制器連接。
此外,本文還將展示如何使用 SEN0188 為物聯(lián)網(wǎng)網(wǎng)絡(luò)設(shè)備加入指紋識(shí)別安全功能,從而讓設(shè)備更能抵御黑客攻擊或物理攻擊。
指紋識(shí)別的基礎(chǔ)知識(shí)
指紋是每只手的手指指腹上凹凸的紋路,指紋能增加手指的摩擦力,從而更容易發(fā)力并抓緊物件。指紋的形成部分源于 DNA 的表達(dá),部分受隨機(jī)因素影響,因而每個(gè)人的指紋紋路都是獨(dú)一無二的,幾乎不可能存在兩個(gè)人擁有相同的指紋。即使是同卵雙胞胎,指紋也有所不同。因此,對(duì)于要求高安全性的系統(tǒng),指紋識(shí)別是十分可靠的檢測方法。
指紋識(shí)別系統(tǒng)具有兩種操作 - 登記與驗(yàn)證。指紋登記是識(shí)別并存儲(chǔ)清晰的指紋以供日后使用。使用專用掃描儀一次或多次掃描指紋,將其數(shù)字化,然后分析數(shù)字化指紋,確保指紋有效。如果指紋有效,則將其連同 ID 號(hào)、姓名和徽章號(hào)等個(gè)人識(shí)別信息,一并存儲(chǔ)在閃存或 EEPROM 等非易失性存儲(chǔ)器中。如果指紋無效,則必須再次掃描手指。
指紋驗(yàn)證是掃描清晰的指紋,并與非易失性存儲(chǔ)器中存儲(chǔ)的數(shù)字化指紋進(jìn)行比照以驗(yàn)證。然后指紋掃描系統(tǒng)將向主機(jī)指示掃描的指紋是否與存儲(chǔ)器中存儲(chǔ)的有效指紋相匹配,或者匹配是否無效。
物聯(lián)網(wǎng)訪問安全性
許多以前獨(dú)立的系統(tǒng)現(xiàn)在都可通過物聯(lián)網(wǎng)連接,其中包括一些要求中等安全性的系統(tǒng),如學(xué)校和企業(yè)。但是,非法侵入水處理廠和電網(wǎng)等關(guān)鍵系統(tǒng)可能會(huì)造成極具破壞性的影響,因此仍需要加強(qiáng)安全性。對(duì)于這些系統(tǒng),開發(fā)人員一直在尋求更好的方法,以最低的成本確保系統(tǒng)安全性,因?yàn)樵S多物聯(lián)網(wǎng)設(shè)備本身的設(shè)計(jì)成本就很低廉。在這些系統(tǒng)中,可以輕松添加指紋識(shí)別與安全徽章。
這些物聯(lián)網(wǎng)網(wǎng)絡(luò)的優(yōu)點(diǎn)在于,指紋掃描結(jié)果的通知可以通過網(wǎng)絡(luò)傳輸。如果檢測到未經(jīng)授權(quán)的訪問,就可以發(fā)出警報(bào),或是在極端情況下,物聯(lián)網(wǎng)網(wǎng)絡(luò)可以鎖定所有系統(tǒng),甚至致電相關(guān)機(jī)構(gòu)。
在進(jìn)行用于安全識(shí)別的指紋登記時(shí),最好有技術(shù)人員或安全專業(yè)人員在場,以確保操作正確。掃描儀和手指都必須保持干凈。技術(shù)人員必須嚴(yán)格驗(yàn)證被掃描人員的身份。一旦登記成功,安全專業(yè)人員就可以添加人員姓名或員工 ID 號(hào)等其他信息。
對(duì)于許多預(yù)算緊張的設(shè)計(jì)人員而言,從頭開始設(shè)計(jì)指紋掃描系統(tǒng)所涉及的技術(shù)細(xì)節(jié)使得實(shí)施難度過大。目前,DFRobot 推出的 SEN0188 指紋傳感器(自足式指紋登記與驗(yàn)證單元)等現(xiàn)成硬件可以解決指紋識(shí)別系統(tǒng)的大部分難題(圖 1)。
圖 1:DFRobot 的 SEN0188 指紋傳感器單元包含指紋登記與驗(yàn)證所需的所有硬件和固件,可通過 UART 接口與微控制器通信。(圖片來源:DFRobot)
SEN0188 的工作電壓范圍為 3.8 至 7.0 V,最大電流為 130 mA。該傳感器的工作溫度范圍寬(-20℃ 至 + 60℃),可承受的相對(duì)濕度高達(dá) 80%,適用于許多戶外應(yīng)用。
如圖 1 所示,用戶將手指按在左側(cè)的指紋光學(xué)傳感器上,只需不到一秒,即可獲取指紋圖像用于登記或驗(yàn)證。每個(gè)指紋都作為 512 字節(jié)的模板文件存儲(chǔ)在內(nèi)部閃存中。SEN0188 的內(nèi)部閃存最多可存儲(chǔ) 1000 個(gè)指紋。
SEN0188 的 UART 可通過傳感器底部進(jìn)行連接(圖 2)。
圖 2:DFRobot 的 SEN0188 指紋傳感器底部配有 UART 接口。(圖片來源:DFRobot)
上電后,SEN0188 的默認(rèn)波特率為 57600 bps,可在 9600 bps 到 115200 bps 之間進(jìn)行調(diào)整。UART 接口使用以下信號(hào):
|
表 1:SEN0188 使用異步 UART 接口與主機(jī)通信的引腳分配。(表格來源:DFRobot)
UART 接口還可以連接個(gè)人電腦或筆記本電腦上的 DFRobot軟件,以此協(xié)助指紋系統(tǒng)開發(fā),包括調(diào)試登記與驗(yàn)證固件。
在微控制器系統(tǒng)中使用 DFRobot 的 SEN0188
在自足式微控制器系統(tǒng)中,連接 SEN0188 的電路板需采用功能強(qiáng)大的微控制器,并配有可視指示器以顯示指紋狀態(tài)。STMicroelectronics的 STM32F7308-DK 開發(fā)套件具有自足式指紋識(shí)別系統(tǒng)所需的所有功能。該套件采用功能強(qiáng)大的基于 Arm? Cortex?-M7 內(nèi)核的STM32F730I8K6微控制器。該電路板上配有用于高速時(shí)鐘的 25 MHz 振蕩器和用于低速時(shí)鐘的 32.768 kHz 振蕩器,支持 64 KB 的片上程序閃存,外加 64 MB 的外部閃存和 256 KB 的系統(tǒng) SRAM。
對(duì)于外設(shè)支持和通信,該電路板具有多個(gè)串行接口,包括三個(gè) I2C 和五個(gè) SPI 接口。此外,還具有四個(gè) UART/USART,因此能夠輕松與 SEN0188 通信。以 3.6 V 供電時(shí),STM32F730I8K6 微控制器與 DFRobot 指紋傳感器的 TTL 邏輯電平接口兼容。
該開發(fā)板配有與Arduino? 兼容的子板(圖 3)。在開發(fā)過程中該子板可能很有用,但指紋識(shí)別時(shí)用不上,可與主板斷開。
圖 3:STMicroelectronics 的 STM32F7308-DK 開發(fā)板具有自足式指紋識(shí)別系統(tǒng)所需的所有功能。左上方連接支持 Arduino 的子板,而右下方的 ESP-01 連接器支持任何 ESP8266 兼容板。(圖片來源:STMicroelectronics)
該開發(fā)板還配有 240 x 240 TFT LCD 顯示屏,可用于指紋驗(yàn)證通過或失敗的可視指示。
如需連接 Wi-Fi 網(wǎng)絡(luò),STM32F7308-DK 開發(fā)套件配有插座,可用于連接任何行業(yè)標(biāo)準(zhǔn)的 ESP8266 Wi-Fi 板。例如,SparkFun Electronics推出的WRL-13678便是 ESP8266 兼容板(圖 4)。
圖 4:SparkFun Electronics 的 WRL-13678 是 ESP8266 兼容板,配有 ESP-01 插頭連接器。該電路板可插入 STMicroelectronics 開發(fā)板,提供便捷的 Wi-Fi 接入。(圖片來源:SparkFun Electronics)
該電路板插入開發(fā)板右下方的 ESP-01 連接器,如圖 3 所示。WRL-13678 配備獨(dú)立板載天線,使開發(fā)板可輕松連接 2.4 GHz 的 Wi-Fi 網(wǎng)絡(luò)。
在帶 Wi-Fi 網(wǎng)絡(luò)的物聯(lián)網(wǎng)安全系統(tǒng)中,任何安全訪問或拒絕訪問都可以傳輸?shù)剿形锫?lián)網(wǎng)節(jié)點(diǎn)。對(duì)于允許訪問其他高度受限的區(qū)域或系統(tǒng),這一點(diǎn)相當(dāng)有用。例如,如果設(shè)施內(nèi)部某個(gè)高度受限區(qū)域接收到訪問請求,但是擁有許可的人均未登錄,所有入口的指紋掃描儀亦沒有記錄,那么系統(tǒng)可能會(huì)將此訪問嘗試歸為潛在的安全違規(guī)并采取適當(dāng)措施。
對(duì)于這種安全級(jí)別的設(shè)施而言,要求離開設(shè)施時(shí)也進(jìn)行身份驗(yàn)證并不罕見。這不僅能為所有出入口提供記錄,還防止未經(jīng)授權(quán)人員逃離,同時(shí)提醒安全專業(yè)人員。
實(shí)現(xiàn)指紋安全
SEN0188 傳感器通過 UART 接口,使用簡單的命令集與主機(jī) STMicroelectronics 開發(fā)板進(jìn)行通信。命令集共有 22 個(gè)命令,包括登記、驗(yàn)證和刪除指紋;各種搜索命令;直接讀寫內(nèi)部閃存;讀取狀態(tài);以及設(shè)置傳感器的安全性。此外,傳感器還可以檢索任何存儲(chǔ)指紋的位圖圖像并發(fā)送至主機(jī),而開發(fā)板的 TFT LCD 可以顯示這些指紋圖像。
使用 PIN 碼或密碼,即可在指紋識(shí)別站啟用指紋登記。不過,從安全保護(hù)站等物聯(lián)網(wǎng)網(wǎng)絡(luò)端點(diǎn)向開發(fā)板發(fā)送命令來啟用指紋登記,則相對(duì)更安全。另外,手機(jī)或平板電腦等移動(dòng)設(shè)備可用于授權(quán)登記,也可用于驗(yàn)證指紋登記是否成功。
SEN0188 的指紋光學(xué)傳感器區(qū)域帶 LED 背光,主機(jī)使用OpenLED和CloseLED命令即可輕松開啟和關(guān)閉。只有在系統(tǒng)允許接受指紋時(shí)才點(diǎn)亮指紋傳感器,這在安全環(huán)境中相當(dāng)有用。發(fā)生安全事件時(shí),可以關(guān)閉背光以指示當(dāng)前不接受訪問,即使是授權(quán)人員也不例外。
SEN0188 默認(rèn) UART 幀使用 1 個(gè)起始位、8 個(gè)數(shù)據(jù)位和 1 個(gè)停止位。數(shù)據(jù)的最低有效位 (LSB) 先發(fā)送。上電后,SEN0188 需要 300 ms 進(jìn)行初始化并運(yùn)行自檢,然后向主機(jī)發(fā)送 55h 的單字節(jié),指示已準(zhǔn)備就緒。主機(jī)也可以向傳感器發(fā)送GetEcho命令以請求 55h 確認(rèn)碼。若主機(jī)未接收到該字節(jié),則表示 SEN0188 發(fā)生故障、SEN0188 與主機(jī)之間的通信中斷,或 SEN0188 未通電。
SEN0188 旨在為指紋認(rèn)證提供安全環(huán)境,也能提供密碼保護(hù)等諸多安全功能。4 字節(jié)的默認(rèn)出廠密碼為 00000000h,系統(tǒng)投入應(yīng)用前必須更改密碼。使用傳感器設(shè)置密碼命令SetPwd,可將密碼存儲(chǔ)在傳感器的內(nèi)部閃存中。
為了提高安全性,傳感器命令集不包括讀取密碼命令。如果傳感器密碼丟失,SEN0188 傳感器將無法使用 - 沒有硬件或軟件復(fù)位可以恢復(fù)傳感器或存儲(chǔ)的指紋。
傳感器的 4 字節(jié)默認(rèn)地址為 FFFFFFFFh,存儲(chǔ)在內(nèi)部閃存中,使用SetAddr命令即可更改。
所有指紋認(rèn)證和存儲(chǔ)都在傳感器內(nèi)部執(zhí)行,以防篡改存儲(chǔ)的指紋或驗(yàn)證過程。
首次使用前,刪除指紋掃描儀中存儲(chǔ)的所有指紋是明智的安全預(yù)防措施。Empty命令支持該功能,該命令可刪除傳感器內(nèi)部閃存中存儲(chǔ)的所有指紋模板。
總結(jié)
在嵌入式和物聯(lián)網(wǎng)系統(tǒng)應(yīng)用中,安全訪問的重要性與日俱增,但同時(shí)也需要在成本、簡易性和有效性之間取得適當(dāng)平衡。如上所述,設(shè)計(jì)人員借助 DFRobot 的 SEN0188 指紋傳感器,即可快速設(shè)計(jì)原型和開發(fā)系統(tǒng),確保敏感區(qū)域的訪問安全性。將該傳感器與帶 TFT LCD 顯示屏的 STM32F7308-DK 開發(fā)套件和 SparkFun Electronics 的 WRL-13678 Wi-Fi 板連接,即可開發(fā)簡單、可靠且易于使用的安全系統(tǒng)。
-
微控制器
+關(guān)注
關(guān)注
48文章
7469瀏覽量
150908 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2902文章
44137瀏覽量
370480 -
指紋認(rèn)證
+關(guān)注
關(guān)注
0文章
2瀏覽量
3377
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論