지문 인증을 사용하여 마이크로 컨트롤러 기반 IoT 장치를 보호하는 방법
DigiKey 북미 편집자 제공
2019-06-06
설계자는 특히 제품 또는 시스템이 사물 인터넷(IoT)에 연결되어 있는 경우 제품 또는 시스템이 안전한지 확인하기 위해 점점 더 많은 노력을 기울어야 합니다. 비밀번호의 취약성과 함께 얼마나 쉽게 개인 식별 번호(PIN) 코드가 복사되고 근거리 무선 통신(NFC) 기반 배지가 도난당할 수 있는지는 많은 공개 해킹을 통해 이미 확인되었습니다. 설계자는 보안에 대한 노력을 강화하는 동시에 비용과 설계 시간을 엄격히 관리해야 합니다. 지문 식별(ID)은 두 가지 목표를 모두 달성할 수 있는 한 가지 방법입니다.
하지만 지문 보안은 일반적으로 구현하는 데 어려움이 있습니다. 지문 식별 펌웨어, 데이터 처리 및 조정, 호스트 통신을 비롯하여 마이크로 컨트롤러 또는 디지털 신호 처리(DSP)를 통해 지문 스캐닝 시스템을 처음부터 설계하는 방법에 대한 기술적 세부 정보는 복잡하므로 학습하는 데 오래 걸릴 수 있습니다.
다행히도 지문 식별 시스템의 어려운 기능을 모두 수행할 수 있는 규격 하드웨어 및 소프트웨어가 현재 출시되어 있습니다. 이 기사에서는 범용 비동기 수신기/송신기(UART) 인터페이스가 있는 호스트 마이크로 컨트롤러에 연결할 수 있는 DFRobot의 자급형 지문 등록 및 확인 장치인 SEN0188을 소개하기 전에 지문 식별의 기본 사항에 대해 설명합니다.
그런 다음 SEN0188을 통해 IoT를 사용하는 시설에 지문 식별 보안을 추가하여 해킹 또는 물리적 공격에 대한 저항력을 강화하는 방법을 보여줍니다.
지문 식별 기본 사항
지문은 물체를 잡기 쉽도록 양손의 손가락과 엄지에 있는 마찰 돌기의 흔적입니다. DNA와 무작위 요소가 결합되어 지문 패턴은 개인마다 고유하며, 두 사람이 동일한 지문을 가질 가능성은 매우 낮습니다. 일란성 쌍둥이라고 하더라도 지문은 다릅니다. 따라서 지문 식별은 강력한 보안 시스템을 위한 뛰어난 감지 방법입니다.
지문 식별 시스템은 등록과 확인의 두 가지 작업으로 분류됩니다. 지문 등록은 선명한 지문을 식별한 후 나중에 사용하기 위해 저장하는 공정입니다. 특수 스캐너로 지문을 1회 이상 스캔한 후 디지털화합니다. 그런 다음 디지털화된 지문을 분석하여 유효한 지문인지 확인합니다. 유효한 경우 지문을 플래시, EEPROM 등과 같은 비휘발성 메모리 개인 식별 정보(예: ID 번호, 이름, 배지 번호)와 함께 저장합니다. 지문이 유효하지 않은 경우 손가락을 다시 스캔해야 합니다.
지문 확인은 비휘발성 메모리에 저장된 디지털화된 지문과 비교하여 확인하기 위해 선명한 지문을 스캔하는 공정입니다. 지문 스캔 시스템은 스캔한 지문이 메모리에 저장된 유효한 지문과 일치하는지 여부를 호스트에게 알려줍니다.
IoT를 통한 액세스 보안
IoT는 이전에 독립적으로 사용되던 많은 시스템을 네트워크로 연결합니다. 이러한 시스템 중 일부는 중간 보안이 필요합니다(예: 학교, 기업). 하지만 정수 처리장, 전력 그리드 등과 같은 중요 시스템은 불법적으로 침입할 경우 파괴적인 영향을 줄 수 있으므로 향상된 보안이 필요합니다. 이러한 시스템의 경우 개발자는 항상 최소한의 비용으로 보안을 보장할 수 있는 더 나은 방법을 모색합니다. 기본적으로 대부분의 IoT 장치는 그 자체로 저렴합니다. 이 경우 보안 배지와 함께 지문 식별 기능을 쉽게 추가할 수 있습니다.
이러한 네트워크에서 IoT는 지문 스캔 결과 알림을 네트워크를 통해 전송할 수 있다는 이점이 있습니다. 무단 액세스가 감지되면 경보음이 울리거나 극단적인 경우 IoT 네트워크가 모든 시스템을 잠그고 당국에 신고할 수 있습니다.
보안 식별을 위한 지문 등록은 기술자 또는 보안 전문가의 입회 하에 올바르게 수행되는지 확인을 거쳐서 실시하는 것이 가장 좋습니다. 스캐너와 손가락이 모두 깨끗해야 합니다. 기술자는 스캔 중인 개인의 신원을 적극적으로 확인해야 합니다. 등록이 완료되면 보안 전문가가 개인 이름, 직원 ID 번호 등과 같은 기타 정보를 추가할 수 있습니다.
지문 스캔 시스템을 처음부터 설계할 때 필요한 기술적 세부 사항으로 인해 예산이 빠듯한 많은 설계자들은 구현할 엄두도 내지 못하고 있습니다. 이제 자급형 지문 등록 및 확인 장치인 DFRobot의 SEN0188 지문 센서와 같은 규격 하드웨어를 통해 지문 식별 시스템의 모든 어려운 기능을 수행할 수 있습니다(그림 1).
그림 1: DFRobot SEN0188 지문 센서 장치에는 지문을 등록하고 확인하는 데 필요한 모든 하드웨어 및 펌웨어가 포함되어 있습니다. 이 장치는 UART 인터페이스를 통해 마이크로 컨트롤러와 통신합니다. (이미지 출처: DFRobot)
SEN0188은 3.8V ~ 7.0V의 전압으로 작동하고 최대 130mA의 전류를 소비할 수 있습니다. 작동 온도가 -20°C ~ +60°C로 광범위하고 최대 80%의 상대 습도를 견딜 수 있으므로 많은 야외 환경에 적합합니다.
그림 1을 보면 사용자가 왼쪽에 있는 지문 광학 센서에 손가락을 올려놓고 있습니다. 등록 또는 확인을 위해 지문 이미지를 획득하는 데 1초도 걸리지 않습니다. 각 지문은 내부 플래시 메모리에 512바이트 템플릿 파일로 저장됩니다. SEN0188의 내부 플래시에는 최대 1000개의 지문을 저장할 수 있습니다.
SEN0188의 UART는 센서 밑면에서 접근할 수 있습니다(그림 2).
그림 2: UART 연결부는 DFRobot SEN0188 지문 센서의 밑면에 있습니다. (이미지 출처: DFRobot)
전원을 켤 때 SEN0188의 기본 보드 속도는 57600bps입니다. 이 값은 9600bps ~ 115200bps 사이에서 조정할 수 있습니다. UART 연결에서는 다음 신호를 사용합니다.
|
표 1: SEN0188의 핀아웃에서는 비동기 UART 연결을 사용하여 호스트와 통신합니다. (표 출처: DFRobot)
디버깅 등록 및 확인 펌웨어를 비롯하여 지문 시스템 개발을 지원할 수 있는 PC 또는 랩톱에서 UART 인터페이스를 DFRobot 소프트웨어에 연결할 수도 있습니다.
마이크로 컨트롤러 시스템에서 DFRobot SEN0188 사용
자급형 마이크로 컨트롤러 시스템의 경우 센서에 놓인 지문의 상태에 대한 시각적 표시기와 강력한 마이크로 컨트롤러를 모두 갖춘 기판에 SEN0188을 연결해야 합니다. STMicroelectronics의 STM32F7308-DK 디스커버리 키트에는 자급형 지문 식별 시스템에 필요한 모든 기능이 있습니다. 또한 Arm® Cortex®-M7 코어를 기반으로 하는 강력한 STM32F730I8K6 마이크로 컨트롤러를 사용합니다. 이 기판에는 고속 클록용 25MHz 발진기와 저속 클록용 32.768kHz 발진기가 실장되어 있습니다. 64Kbytes 온칩 프로그램 플래시 메모리, 추가 64Mbytes 외부 플래시 메모리, 256Kbytes 시스템 SRAM에서 지원됩니다.
주변 장치 지원 및 통신을 위해 I2C 3개, SPI 인터페이스 5개 등 여러 직렬 인터페이스가 있습니다. 또한 SEN0188과 쉽게 통신할 수 있도록 UART/USART가 4개 있습니다. 3.6V 전력으로 구동될 경우 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 기판에 연결할 수 있는 소켓이 있습니다. 예를 들어, WRL-13678은 SparkFun Electronics의 ESP8266 호환 기판입니다(그림 4).
그림 4: SparkFun Electronics WRL-13678은 ESP-01 헤더 커넥터가 있는 ESP8266 호환 기판입니다. 이 기판을 STMicroelectronics 디스커버리 기판에 연결하여 Wi-Fi에 쉽게 접속할 수 있습니다. (이미지 출처: SparkFun Electronics)
그림 3과 같이 이 기판은 디스커버리 기판의 오른쪽 하단에 있는 ESP-01 커넥터에 연결합니다. 기판 실장형 안테나가 있는 WRL-13678을 사용하면 디스커버리 기판에서 2.4GHz Wi-Fi 네트워크에 쉽게 연결할 수 있습니다.
Wi-Fi 네트워크 IoT 보안 시스템에서는 보안 액세스 또는 거부가 IoT 노드에 전송될 수 있습니다. 이 기능은 매우 제한적인 추가 영역 또는 시스템에 액세스하는 데 유용합니다. 예를 들어, 시설 내 제한 구역에 접근해야 하지만 인가되지 않은 직원이 입구의 지문 스캐너에 로그인한 것으로 보고될 경우 시스템에서 이 시도를 잠재적 보안 위협으로 분류하고 적절히 조치할 수 있습니다.
이러한 수준의 보안이 적용된 시설에서는 시설에서 나가는 사람에 대해서도 신원을 확인하는 것이 일반적입니다. 여기서는 모든 출입구 기록을 제공하고, 건물 내의 권한 없는 인원을 찾아서 보안 전문가에게 알립니다.
지문 보안 구현
SEN0188 센서는 간단한 명령 센서를 사용하여 UART 인터페이스를 통해 호스트 STMicroelectronics 디스커버리 기판과 통신합니다. 지문 등록, 확인, 삭제, 다양한 검색 명령, 내장형 플래시 메모리에서 직접 읽고 쓰기, 읽기 상태, 센서에 대한 보안 설정 등을 포함하여 총 22개의 명령이 있습니다. 또한 이 센서는 디스커버리 기판이 TFT LCD에 표시할 수 있도록 저장된 비트맵 지문 이미지를 검색하여 호스트에 전송할 수 있습니다.
PIN 또는 비밀번호를 사용하여 지문 식별 스테이션에서 지문 등록을 활성화할 수 있습니다. 하지만 네트워크상의 위치(예: 보안 가드 스테이션)에서 디스커버리 기판 IoT 종단점에 명령을 전송하여 등록을 활성화하는 것이 더 안전한 방법입니다. 또는 전화, 태블릿 등과 같은 모바일 장치를 사용하여 등록 권한을 부여할 수 있습니다. 모바일 장치에서도 등록이 성공했는지 확인할 수 있습니다.
SEN0188의 지문 광학 센서 영역에는 OpenLED 및 CloseLED 명령을 사용하여 호스트에서 쉽게 켜고 끌 수 있는 LED 백라이트가 있습니다. 이 기능은 시스템에서 지문을 수락할 준비가 된 경우에만 지문 센서를 켜는 방식으로 보안 환경에 유용할 수 있습니다. 보안 이벤트 중에는 백라이트를 꺼서 권한 있는 담당자인 경우에도 해당 시간에는 접근이 허용되지 않음을 나타낼 수 있습니다.
SEN0188 기본 UART 프레임은 1 시작 비트, 8 데이터 비트, 1 정지 비트를 사용합니다. 데이터의 최하위 비트(LSB)가 먼저 전송됩니다. 전원을 켤 때 SEN0188이 초기화되고 자체 테스트를 실행하는 데 300ms가 소요됩니다. 그런 다음 1바이트 55h를 호스트에 전송하여 준비 완료 상태를 나타냅니다. 또한 호스트는 GetEcho 명령을 센서에 보내 55h 확인 코드를 요청할 수 있습니다. 이 바이트가 호스트에서 수신되지 않는 경우 SEN0188 오작동, SEN0188과 호스트 간 통신 중단 또는 SEN0188 전원 꺼짐을 나타낼 수 있습니다.
SEN0188은 지문 인증을 위한 보안 환경을 제공하도록 설계되어 비밀번호 보호를 비롯한 다양한 보안 기능을 제공합니다. 기본 4바이트 초기 비밀번호는 00000000h이며 시스템을 현장에 배치하기 전에 변경해야 합니다. 비밀번호는 센서에 설정된 비밀번호 명령 SetPwd를 사용하여 센서의 내장형 플래시에 저장됩니다.
보안 강화를 위해 센서 명령 세트는 읽은 비밀번호 명령을 포함하지 않습니다. 센서 비밀번호를 잊어버리면 SEN0188 센서를 사용할 수 없게 됩니다. 센서 또는 저장된 지문을 복구할 수 있는 하드웨어 또는 소프트웨어 초기화 기능이 없습니다.
센서에는 또한 내장형 플래시에 기본 4바이트 주소 FFFFFFFFh가 저장되어 있으며 SetAddr 명령을 사용하여 변경할 수 있습니다.
모든 지문 인증 및 보관은 센서 내부에서 수행됩니다. 따라서 저장된 지문 또는 확인 공정을 변조할 수 없습니다.
처음 사용하기 전에 지문 스캐너에 저장된 모든 지문을 삭제하라는 스마트 보안 주의 사항이 있습니다. 이는 센서의 내장 플래시 메모리에 저장된 모든 지문 템플릿을 삭제하는 비우기 명령을 통해 지원됩니다.
결론
액세스 보안은 내장형 및 IoT 시스템에서 점점 중요해지고 있는 응용 분야이며 비용, 단순성, 효율을 적절히 조율하여 효과적으로 수행되어야 합니다. 그림과 같이 DFRobot SEN0188 지문 센서를 사용하면 설계자가 빠르게 시제품을 제작하고 시스템을 개발하여 민감한 구역에 대한 액세스 보안을 제공할 수 있습니다. STM32F7308-DK 디스커버리 키트를 TFT LCD 디스플레이 및 SparkFun Electronics WRL-13678 Wi-Fi 기판에 연결할 경우 간단하고 안정적이면서 편리한 보안 시스템을 개발할 수 있습니다.
면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.
