SRAM 기반 PUF 키 및 TrustZone 분리를 통해 손쉽게 IoT 보안 확인

작성자: Majeed Ahmad

DigiKey 북미 편집자 제공

사물 인터넷(IoT)을 기반으로 구축되는 설계는 점점 더 복잡해지고 있습니다. 시스템 보안을 보장하고 로컬과 원격에서 끊임없이 이어지는 공격을 확인하기 위해 향상된 솔루션이 필요합니다. 하지만 리소스 제약이 있는 IoT 장치에서의 보안 채택은 더디게 이루어질 뿐 아니라, 복잡한 암호화 알고리즘을 기반으로 구축된 매우 정교하고 값비싼 칩이나 느슨하게 구성된 소프트웨어 패치에 국한됩니다. 개발자가 보안을 더 빠르게 채택하여 구현하려는 경우 보다 포괄적이면서 간편한 솔루션이 필요합니다.

SRAM(정적 랜덤 액세스 메모리) 기반 PUF(물리적 복제 방지), Arm의 TrustZone과 같은 기술이 등장하여 내장형 IoT 개발자의 보안 요구 사항을 충족하도록 진화했습니다. 이 기사에서는 PUF 및 TrustZone을 소개하고 NXP Semiconductors, Microchip Technology 및 Maxim Integrated의 솔루션을 사용하여 이러한 기술을 적용할 수 있는 방법을 설명합니다.

SRAM PUF 기술

기존 암호화를 대체하는 경량 인증인 SRAM PUF가 NXP의 LPC55S6x 제품군과 같은 보안 중심 칩에 통합되어 신뢰와 구축의 토대를 강화하고 있습니다(그림 1).

NXP의 LPC55S6x MCU 제품군 제품 구성도그림 1: LPC55S6x MCU 제품군의 제품 구성도는 SRAM 기반 PUF 기술과 같은 보안 구성 요소의 통합을 보여줍니다. (이미지 출처: NXP)

PUF 기술은 OEM이 기존 퓨즈 기반 방법 또는 일회성 프로그래밍 가능(OTP) 메모리 기술을 통해 보안 키를 주입하는 비휘발성 메모리의 기존 키 저장소와 다릅니다. 대신 PUF 기술에서는 SRAM 비트 셀에 자연스럽고 임의적인 전기적 변화를 활용하고 고유한 "지문"을 보안 암호화 키로 전환하여 보안 서브 시스템의 토대를 구축합니다. 이 우수한 품질의 보안 키는 모든 상황에서 항상 동일한 암호화 키로 재구성될 수 있습니다. 이 접근 방식은 아래와 같은 많은 이점이 있습니다.

  • 잠재적으로 보안되지 않은 환경에서 제3의 키 처리가 필요하지 않습니다.
  • 칩을 생산할 때 키 저장소와 구축 시스템을 로드할 필요가 없습니다.
  • 나중에 공급망을 통해 설치하거나 배포된 장치에 새로 장착할 수 있습니다.
  • 개별 SRAM 칩에 물리적으로 액세스하지 않고 이러한 보안 키를 해독하는 것은 거의 불가능한 작업입니다.
  • 키는 필요한 경우에만 생성되고 시스템에 저장된 상태로 유지되지 않습니다.
  • 키가 영구적으로 저장되지 않고 장치가 활성 상태가 아니면 제공되지 않으므로 공격자가 메모리 콘텐츠를 훼손하려고 실제로 시도하는 것이 매우 어렵습니다.

Arm TrustZone

초저전력 내장형 응용 분야에 최적화되고 Arm Cortex®-M23 및 Cortex-M33 처리 플랫폼에서 사용 가능한 TrustZone 기술에서는 안전을 보호된 환경의 부트 코드, 보안 구성, 보안 키, 암호화 라이브러리, 펌웨어 업데이트 등과 같은 핵심 루틴으로 처리합니다(그림 2). 예를 들어, TrustZone 지원 마이크로 컨트롤러에서 핵심 코드는 개발자에 의해 생성되는 버그의 영향을 받지 않도록 대형 코드 스택에서 분리한 이후에 완벽하게 테스트를 거칩니다.

여러 소프트웨어 보안 도메인을 지원하는 NXP의 TrustZone 구성도그림 2: TrustZone은 여러 소프트웨어 보안 도메인을 지원하며 각 도메인은 보안 메모리 및 I/O에 대한 액세스를 신뢰할 수 있는 소프트웨어 환경으로만 제한합니다. (이미지 출처: NXP)

기밀 데이터 및 코드와 관련하여 TrustZone은 소프트웨어 설계의 핵심 부분을 분리하고 사용자 레벨 소프트웨어로부터 읽기 및 쓰기 보호되는 환경에서 하드웨어 감시기를 기반으로 소프트웨어를 실행하여 안전을 보장합니다.

TrustZone을 사용하면 개발자가 메모리를 보안 영역과 비보안 영역으로 분할하여 인증되지 않은 데이터와 보안 코드로부터 디버그 시도를 차단할 수 있습니다. 또한 비보안 상태인 CPU는 비보안 메모리에서만 데이터에 액세스할 수 있으므로 비보안 프로그램 메모리에서만 실행됩니다.

TrustZone은 이러한 보안 기능을 제공하면서도 보안 도메인과 비보안 도메인 모두에서 짧은 인터럽트 대기 시간을 유지합니다. 뿐만 아니라 코드 오버헤드, 주기 오버헤드 또는 가상화 기반 솔루션의 복잡성을 나타내지 않습니다.

PUF 및 TrustZone의 물리적 구현

NXP는 PUF 발명가 고유 ID의 하드 IP와 지원 소프트웨어 라이브러리를 통합하여 LPC55Sxx 마이크로 컨트롤러에서 PUF를 구현했습니다(그림 3). 고유 ID의 내장형 하드웨어 IP인 QuiddiKey는 키 생성, 키 저장소, 장치 인증, 키 프로비저닝 및 칩 자산 관리를 처리합니다.

고유 ID의 하드 IP와 지원 소프트웨어 라이브러리를 통합한 NXP 구성도그림 3: NXP는 고유 ID의 하드 IP와 지원 소프트웨어 라이브러리를 통합하여 LPC55Sxx 마이크로 컨트롤러에서 PUF를 구현했습니다. IP는 키 생성과 관리를 처리합니다. (이미지 출처: Intrinsic ID)

또한 NXP는 LPC55Sxx 마이크로 컨트롤러에 TrustZone을 채택했습니다. TrustZone의 IoT 보안에 대한 CPU 중심 접근 방식에서는 내장형 설계의 보안 부분과 비보안 부분을 분리합니다.

예를 들어, Microchip Technology의 SAM L10/11 마이크로 컨트롤러에서 구현된 대로 TrustZone은 IoT 설계를 보안 상태와 비보안 상태로 분할할 수 있는 시스템 차원 보호 배열을 제공합니다. 하지만 효과적인 내장형 구현을 위해 보안 코드와 비보안 코드가 단일 CPU에서 실행됩니다.

최신 마이크로 컨트롤러에서는 Wi-Fi, Bluetooth, TLS(전송 계층 보안) 등 연결 기술을 지원하는 프로토콜 스택을 사용하여 소프트웨어의 양의 빠르게 증가하고 있으므로 이 CPU 중심 접근 방법은 중요합니다. 이러한 코드베이스의 증가로 인해 악의적인 공격에 대한 IoT 장치의 노출도 급격하게 증가하고 있습니다. 예를 들어, 스마트 홈 및 빌딩에서 프로토콜 스택이 손상되면 연결된 도어 잠금 장치, 차고 도어 개폐기, 보안 카메라 등이 매우 취약해질 수 있습니다.

하지만 IoT 개발자가 핵심 코드를 TrustZone 보호 환경으로 이동한다면 제3자 프로토콜 스택의 버그가 장치 기능에 심각한 영향을 주는 일은 없습니다.

기판 레벨 보안

IoT 보안 패러다임에서 또 하나의 분명한 패턴은 보안 및 통신 프로토콜 관련 복잡성을 극복하여 에지 간 통신과 클라우드와 에지 간 통신을 간소화하는 참조 설계를 사용할 수 있다는 점입니다. 좋은 예로 Maxim Integrated의 MAXREFDES155# DeepCover® 참조 설계와 Microchip의 AC164164 PIC®-IoT WG 개발 기판이 있습니다.

MAXREFDES155# 보안 설계에서는 300mm 케이블을 사용하여 Arm mbed™ 실드를 센서 종단점에 연결합니다. 센서 종단점은 DS28C36 DeepCover 보안 인증 장치, 적외선(IR) 열 센서, IR 센서용 조준 레이저로 구성됩니다(그림 4).

Maxim Integrated의 MAXREFDES155# DeepCover IoT 내장형 보안 참조 설계 구성도그림 4: Maxim Integrated의 MAXREFDES155# DeepCover IoT 내장형 보안 참조 설계는 Arm mbed 실드, I2C를 통해 연결된 센서 종단점, Wi-Fi를 통한 클라우드 연결로 구성됩니다. (이미지 출처: Maxim Integrated)

DS28C36 보안 칩은 선택적 보안 상태 제어 및 레벨 감지 기능을 지원하는 두 개의 인증된 범용 입/출력(GPIO) 핀을 제공합니다. 따라서 IoT 개발자는 인증된 EEPROM(전기적으로 삭제 가능한 프로그래밍 가능 읽기 전요 메모리) 설정과 17비트 감량 전용 카운터를 통해 주변 장치의 사용량을 모니터링하고 제한할 수 있습니다. DS28C36이 활용되는 응용 분야로는 양방향 인증, 시스템 데이터(예: 암호화 키) 보안 저장소, 핵심 데이터 확인, 보안 부트, 최종 제품 사용량 제어 등이 있습니다.

MAXREFDES155# 참조 설계의 mbed 실드에는 DeepCover 보안 보조 프로세서, Wi-Fi 통신, 액정 표시 장치(LCD), 푸시 버튼 제어, 상태 발광 다이오드(LED)가 포함되어 있습니다. 이 참조 설계에서는 즉각적인 테스트를 위해 MAX32600MBED# mbed 개발 기판을 사용하고 실드의 Wi-Fi 회로망은 웹 서버와의 통신을 용이하게 해줍니다.

MAXREFDES155# 설계에서 mbed 실드에 실장된 보안 보조 프로세서는 DS28C36 인증 장치 칩의 컴패니언 칩 역할을 합니다. 또한 DS28C36의 보안 작업에 포함되는 해시 기반 메시지 인증 코드(HMAC) 및 타원 곡선 디지털 서명 알고리즘(ECDSA) 계산 관련 요구 사항을 손쉽게 충족합니다.

보조 프로세서는 IoT 설계자가 암호화 엔진을 구현하고 FIPS/NIST(미국 연방 정보 처리 표준/미국 국립표준기술연구소) 난수 생성기(RNG)를 통합하는 데 도움이 되는 핵심 암호화 도구를 제공합니다. 공용 및 개인 보안 키는 앙뱡항 비대칭 키 인증 모델을 지원하는 ECDSA 서명 생성 및 확인 메커니즘인 FIPS 186을 비롯하여 NIST에서 정의한 표준에 따라 작동합니다.

클라우드 연결 보안 간소화

Microchip의 AC164164 PIC-IoT WG 개발 기판은 비슷한 소자를 포함하지만 IoT 노드의 클라우드 플랫폼(예: Google Cloud) 연결을 간소화하는 데 초점을 맞추고 있습니다. Microchip의 PIC 마이크로 컨트롤러를 기반으로 구축된 개발 플랫폼에서는 ATECC608A 보조 프로세서를 사용하여 대규모 소프트웨어 프레임워크 및 실시간 운영 체제(RTOS) 플랫폼에서 기인하는 보안 취약성을 해결합니다.

AC164164는 Google Cloud IoT Core 서비스용으로 사전 등록되고 터치 없는 프로비저닝용으로 준비된 보안 소자를 사용하여 에지와 클라우드 간 연결 보안을 보장하는 IoT 설계 플랫폼입니다. ATECC608A 보안 보조 프로세서와 함께 개발 기판은 PIC24FJ128GA705 마이크로 컨트롤러를 실장하여, 적은 코드와 적은 전력 소비로 복잡한 응용 분야를 처리할 수 있습니다.

정식 인증된 IEEE 802.11b/g/n IoT Wi-Fi 컨트롤러는 IoT 노드를 Google Cloud에 연결합니다. 따라서 IoT 개발자는 무선 네트워킹 프로토콜, 보안 및 하드웨어 호환성에 대한 전문 지식이 없어도 보안 IoT 제품 설계를 실현할 수 있습니다.

결론

IoT 설계에서 기본 프로세서 또는 마이크로 컨트롤러에 대한 컴패니언 칩 역할을 하는 특수 보안 칩의 출시로 개발자는 보안 전문 지식이 없어도 종단점 및 클라우드 플랫폼에 대한 IoT 노드 및 링크를 보호할 수 있습니다. PUF, TrustZone과 같은 보안 기술의 통합으로 IoT 보안 요구 사항이 강화되면서 이러한 저전력 저비용 마이크로 컨트롤러의 보안 자격 증명이 촉진되고 있습니다.

이에 더하여 참조 설계와 개발 기판은 광범위한 IoT 응용 분야에서 다양한 레벨의 내장형 보호를 채택하여 보안 문제를 간소화합니다.

 
DigiKey logo

면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.

작성자 정보

Image of Majeed Ahmad

Majeed Ahmad

Majeed Ahmad는 B2B 기술 미디어에서 20년 이상의 경력을 갖춘 전자 엔지니어입니다. 그는 EE Times의 자매 출판물인 EE Times Asia의 전직 편집장입니다.

Majeed는 전자 공학과 관련한 6권의 책을 저술했습니다. 또한 All About Circuits, Electronic Products, Embedded Computing Design을 비롯한 전자 설계 간행물의 기고가로 활동하고 있습니다.

게시자 정보

DigiKey 북미 편집자