MCU의 새로운 강자로 떠오른 누보톤, “MCU 애플리케이션 보안에 관한 사항들…” | 반도체네트워크

죄송합니다. 더 이상 지원되지 않는 웹 브라우저입니다.

반도체네트워크의 다양한 최신 기능을 사용하려면 이를 완전히 지원하는 최신 브라우저로 업그레이드 하셔야 합니다.
아래의 링크에서 브라우저를 업그레이드 하시기 바랍니다.

Internet Explorer 다운로드 | Chrome 다운로드

MCU의 새로운 강자로 떠오른 누보톤, “MCU 애플리케이션 보안에 관한 사항들…”


PDF 다운로드



자료제공/누보톤 코리아


최근 몇 년 동안 IoT 애플리케이션이 증가하면서 관련 문제가 발생하고 있다. IoT 보안에 관해서는 널리 논의되어 왔다. 보안 문제는 매우 크고 복잡해 보이지만, 경험을 바탕으로 참고할 수 있는 몇 가지 지침과 방법이 있다. 점점 더 많은 프레임워크와 인증절차가 이를 기반으로 한 건전한 관리 메커니즘으로 발전하고 있다.

시스템에서 완전한 IoT 보안을 고려하는 것은 엔드 투 엔드 시스템 문제에서 비롯된다고 생각한다. 이러한 관점에서 IoT 보안 문제는 “새로운 네트워크 노드들의 보안 개선 사항”으로 약간은 해결될 수 있다. 이 글에서는 IoT 노드 측면에서 시작하여, IoT 환경에서 엔드 포인트 장치의 마이크로컨트롤러 칩 아키텍처 설계를 분석하고 논의하고자 한다.


기본 보안

일반적으로 보안 전송은 세가지 요구 사항을 충족하도록 설계된다: 기밀성(Confidentiality), 무결성(Integrity), 진본성(Authenticity) 이다. 요구 사항의 의미는 다음 표에 설명되어 있다(표 1).

SR(Nuvoton)-표1.jpg
[표 1] 정보 전송을 위한 주요 보안 요구 사항 설명
이 세 가지 보안 요구 사항을 동시에 충족되어야 하며, 이 중 하나라도 충족되지 않으면 보안 문제가 발생할 수 있다. 수년 동안 많은 보안 기술 개발의 목적은 위의 목표 달성을 촉진하는 것이었으며, 그 중 일부는 발전했으며 일부는 계속 발전하고 있다. “암호화 알고리즘”은 현대 정보통신기술의 보안 초석이며, 이를 기반으로 개발된 암호화/암호해독 기능은 정보 분야에서 중요한 역할을 한다.

“암호화” 및 “암호해독” 기능은 AES, DES/3DES, 비대칭 RSA, ESS 및 기타 알고리즘 대칭 암호화 및 암호해독과 같은 “프라이버시”를 구축하는 데 중요한 구성 요소이다. 전송 과정의 정보에서 파생된 이러한 기술을 적용하면 변경되거나 가로채이거나 해독되지 않는다.

해시 기능은 SHA, MDx 및 기타 해시 함수와 같은 정보의 “무결성”을 달성하여 데이터의 모든 변경 사항을 인식 할 수 있도록 하는 것이다. 데이터가 변경되면, 즉 데이터 유형이 원래 데이터가 아닌 경우 원래 데이터에 따라 계산된 검사 코드가 달라지기 때문이다. “인증”의 성과는 비대칭 알고리즘과 해시 함수를 결합하여 달성된다. 공개키 기반구조(PKI)는 이러한 개념에 기반한 보안 인프라이다.

지금까지 암호화를 기반으로 정보통신 보안을 달성하는 기본적인 실무에 대해 대략적으로 설명했지만, 산업이 발전함에 따라 이러한 토대 위에 구축된 산업 보안 표준은 안전한 http 연결(https), 안전한 결제 거래(EMV 기반), 안전한 무선 소프트웨어 업그레이트 등 점차 등장하고 있다. 각 산업은 개별 산업의 안전한 발전을 촉진하기 위해 산업의 요구 사항을 충족하는 표준을 설정한다.


플랫폼 보안

위의 소개를 통해 기존 IoT 산업의 발전이 정보 통신 보안 문제를 매우 중요하게 생각한다는 것을 알 수 있으며, 따라서 IoT 보안의 초점은 점점 더 많이 연결된 장치에 집중될 것이라고 생각한다. 이러한 장치가 널리 설치되면 사람의 조작이 많이 필요하지 않으며 정보통신, 기능 작동 등을 포함한 보안 요구 사항은 새로운 도전에 직면하게 될 것이다.

전기, 수도, 가스를 포함한 가정용 계량기가 네트워킹 디바이스를 통해 원격으로 관리된다고 상상해 보자. 해커가 쉽게 제어에 접근할 수 있다면 에너지 공급이 끊기거나 개인의 안전이 위협받을 수 있다. 이러한 이유로 IoT 보안 관련 문제를 논의할 때는 보안 아키텍처 또는 보안 플랫폼을 포함한 시스템 아키텍처부터 시작해야 한다.

이 글에는 다양한 문제를 다루는 MCU 보안 플랫폼에 중점을 둔다. 예를 들면, ① MCU 자체의 보호 기능, ② MCU 내부 메모리의 폐쇄성,③ 키 스토리지의 프라이버시/정보 도용을 위한 전자기 분석에 대한 효과적인 방법, ④ 지능형 핸드 헬드 장치에 중요한 소프트웨어 보호를 고려해야 한다. 따라서 IoT의 시스템 특성에 따라 위의 MCU 보안 위험 문제를 다음 세 가지 측면으로 분류할 수 있다:

① 네트워크 연결 여부에 따른 보안 공격 여부: 해커는 공격을 시작할 때 디바이스에 접촉하거나 네트워크를 통해서만 공격해야 한다.

② 보안 공격을 시작하는 데 드는 비용: 공격 대상은 Wi-Fi가 있는 노트북 또는 실험실의 정교한 장비였다.

③ 공격의 결과: 단일 노드 디바이스 또는 전체 네트워크에만 영향을 미친다.

안전한 IoT 노드 디바이스를 설계하고자 할 때 위의 세 가지 측면은 투자된 리소스와 필요한 보안 수준을 평가하는 데 도움이 될 수 있다.

위협과 공격

위의 설명을 통해 MCU가 설계 단계에 있을 때 정보 보안 보호에 대한 고려 사항은 최종 제품 요구 사항을 기반으로 한다는 것을 이해할 수 있다. 다양한 애플리케이션에 따라 적절한 보안 보호 요구 사항 표준을 개발해야 한다. 오늘날의 상업 시장에서 금융 산업의 카드 애플리케이션은 최고 수준의 칩 보안 보호 기능을 갖추고 있다.

휴대폰, 데스크톱 컴퓨터, 노트북 및 태블릿, 기타 인터넷 장치와 같은 기존 네트워킹 장치의 칩에 대한 보안 보호 요구 사항은 사용자의 운영 환경, 운영 체제의 복잡성 및 프로세서의 성능에 따라 달라진다. 따라서 보안 보호 요구 사항을 달성하기 위해 주로 소프트웨어 수준의 기술에 의존하게 된다. 위의 두 가지 사이에서 새로운 IoT 칩 보안 요구 사항을 정의함으로써 실제 적용되는 보안 보호 요구 사항을 분석할 수 있다.

OWASP(오픈 웹 애플리케이션 보안 프로젝트) 조직에 따르면 보안 문제를 일으킬 가능성이 가장 높은 IoT의 상위 10가지 항목은 다음과 같다:

• 안전하지 않은 웹 인터페이스

• 불충분한 인증/승인

• 안전하지 않은 네트워크 서비스

• 전송 암호화 부족

• 개인 정보 보호 문제

• 안전하지 않은 클라우드 인터페이스

• 안전하지 않은 모바일 인터페이스

• 불충분한 보안 구성 가능성

• 안전하지 않은 소프트웨어/펌웨어

• 열악한 물리적 보안

대부분의 사물 인터넷 장치, 특히 터미널 노드에는 간단한 감지 및 데이터 전송 작업을 수행할 수 있는 간단한 리소스가 장착되어 있기 때문에 위의 항목은 여전히 IoT 보안 네트워킹 주제에 초점을 맞추고 있음을 알 수 있다. 클라우드 컴퓨팅과 빅 데이터의 부상으로 주요 데이터 저장 및 컴퓨팅은 크랄우드로 돌아갈 것이므로 IoT 시스템을 구축할 때 최종 노드의 보안 보호 요구 사항 수준을 신중하게 고려해야 한다.


칩 아키텍처

ARMv8.x-M 아키텍터를 기반으로 하는 CPU 코어에 Cortex-A 시리즈에서만 사용할 수 있었던 TrustZone® 기술이 통합되었다. 이 기술은 현재의 범용 MCU보다 더 심층적인 보안 컴퓨팅 아키텍처를 구축할 수 있다. ARM의 Cortex 시리즈 CPU를 조사하여 임베디드 시스템의 다양한 보안 수준을 다음과 같이 분류한다(표 2).

SR(Nuvoton)-표2.jpg
[표 2] ARM 임베디드 시스템 보안 요구 사항

A. 애플리케이션 수준 보안

오늘날 시장에 출시된 프로세서(CPU, MPU, MCU)를 살펴보면 거의 모든 프로세서가 이 수준의 보안 요구 사항을 지원할 수 있는데, 이는 본질적으로 스프트웨어에서 제공하는 보안 메커니즘 때문이다. 애플리케이션 수준의 보안은 시스템 개발자가 프로그램을 작성할 때 로컬 프로세서 시스템과 원격/클라우드 시스템 모두에 대한 보안 메커니즘을 갖추고 있다면 달성할 수 있다.


B. 권한 수준 보안

이 레벨은 시스템 프로그램(예:OS 커널)과 애플리케이션을 실행할 때 권한이 있는 상태와 권한이 없는 상태로 구분한다. 이렇게 하면 프로그램을 실행할 때 프로세서의 상태가 달라져 프로세서에 부착된 메모리 관리 장치(MMU) 또는 메모리 보호 장치(MPU)가 잘못된 프로그램이나 악성 프로그램이 시스템 설계의 취약점을 찾지 못하도록 방지하는 역할을 할 수 있다. 마치 스냅인에 대한 블랙리스트를 열어 악성 프로그램의 침입을 방지하는 것과 같다. 블랙리스트 조건이 충족되는 한 보호 장치는 경고를 발행하고 불필요한 문제를 피하기 위해 시스템 작동을 중지하도록 강제할 수도 있다.


C. TrustZone 보안

이 수준은 다른 프로세서 영역에서 실행되는 소프트웨어를 대상으로 한다. 프로그래밍이 결국 어떤 프로세서 영역에서 작동할 지 고려하는데에 사용된다. 가장 일반적인 분류를 보안 영역과 비보안 영역이다. 이전 레벨(B)에 비해 시스템에 더 많은 보호 기능을 추가한다. 실제로 보안 영역과 비보안 영역 사이의 소프트웨어 상호 작용이 엄격하게 제어되도록 프로세서를 격리한다. 마치 화이트리스트를 열어 조건을 충족하는 경우에만 두 영역의 소프트웨어가 상호 작용할 수 있도록 하는 것과 같으며, 이는 보다 엄격한 시스템 보안 규칙이다. 실제로 기업의 프로세서 영역이 반드시 다른 것은 아니지만, TrustZone 은 시스템 보안 설계에 대한 화이트리스트 규칙을 실행하는 것으로 볼 수 있다.


D. 위변조 방지 보안

이 유형의 보안 칩은 물리적 공격에 대한 MCU의 보호를 고려하여 특정 목적을 위해 설계되었다. 설계자가 MCU 제품의 사용 환경을 제어할 수 없고 보호해야 할 기밀 정보(예:개인 자금)의 양이 많지 않기 때문에 물리적 보호가 수행된다. 예를 들어, MCU 라인 레이아웃 설계, 핀 신호 감지 불가, 비교 방지를 위한 전체 소프트웨어 속도 조정 등이 있다.

여러 전자 공격 방지 기술을 고려하기 때문에 MCU 설계가 너무 복잡하여 더 많은 취약점을 생성해서는 안된다. 그럼에도 불구하고 IoT 제품에는 여전히 보안 보호 기술이 필요하며, 현실적인 기능 설계의 다양한 요구 사항을 어떻게 고려할 것인지에 대한 추가 논의의 여지가 남아 있다.


IoT 보안을 위한 임베디드 시스템의 디자인 고려

누보톤은 IoT 시스템의 보안 설계에 적용할 수 있는 ‘Funnel Security Design Thinking’을 제안했다. 설계자는 MCU 시스템이 제공해야 하는 보안 수준을 고려해야 한다. 설계의 안전 품질을 보장할 뿐만 아니라, ARM Cortex-M23 과 Cortex-M33을 적용하여 설계 다양성 기능에서 네트워킹 디바이스의 유연성을 고려하고, MCU 설계 분야에서 보다 안전한 협업 소프트웨어 개발 아키텍처를 구현한다.

앞으로 더 많은 애플리케이션에서 ARMv8-M용 ARM TrustZone의 장점이 활용될 것으로 기대된다. 누보톤의 보안 MCU와 결합하면, 안전하고 편리하며 널리 사용되는 스마트 네트워크 환경을 만들 수 있다.


IoT 보안 계열 MCU

누보톤의 M2354 시리즈는 PSA Certified™ 레벨 1, 레벨 2 및 PSA Functional API 인증을 받은 M2351 시리즈의 보안 기능을 그대로 계승한다. M2354 시리즈는 최대 96MHz까지 병렬로 작동할 수 있으며 1M 바이트 플래시 메모리는 보안 펌웨어 무선(OTA) 업데이트를 쉽게 지원할 수 있다. 

M2354 시리즈는 다양한 전원 관리 모드를 통해 작동 모드의 유연성과 함께 뛰어난 저전력 성능을 제공한다. 일반 실행 모드에서는 LDO 전원 공급 장치에서 89.3μA/MHz, DC-DC 전원 공급 장치에서 39.6μA/MHz를 소비하며, 대기 전력 차단 모드에서는 2μA 미만을 소비한다. VBAT 전원 공급 장치를 사용하는 딥 파워 다운 모드에서 80바이트 콘텐츠의 RTC 레지스터를 유지할 경우 0.5μA이다. 

RTC 레지스터의 80바이트 내용을 유지하지 않고 0.1μA까지 더 낮출 수 있다. 또한 이 시리즈에는 최대 8개의 40/COM x SEG LCD 패널 드라이버, 타이머, PWM, UART, Qual-SPI(QSPI), SPI/I2S, I2C, 스마트 카드 인터페이스(ISO 7816-3), SDHC 2.0, 장치 전용, 호스트 전용 또는 ID 종속 기능을 위한 USB 2.0 풀 스피드 온더고 트랜시버 및 CAN 2.0B 등 다양한 주변장치가 장착되어 있다.

NuMicro® M2354 계열은 Arm® Cortex®- M23 코어 기반 IoT 보안 MCU 계열이다. Arm®v8 -M TrustZone® 기능 외에도 사이드 채널 공격에 대한 하드웨어 암호화 가속기 대응 및 전압 및 클럭 글리치의 오류 주입 공격에 대한 완화 기능을 갖추고 있다. 또한 보안 마이크로컨트롤러 플랫폼의 플랫폼 보안 개념을 도입하여 디버그 포트 관리, 제품 수명 주기 관리, 펌웨어 버전 카운터, 칩 레벨의 위변조 방지 기능을 갖춘 보안 키 저장소 등의 기능을 제공한다. 이러한 전반적인 기능을 통해 스토리지 보안, 실행 보안 및 연결 보안을 지원하는 MCU 애플리케이션 시스템을 보장할 수 있다.

풍부한 소프트웨어 리소스로 M2354의 채택 가능성을 높인다. 무료로 사용할 수 있는 Arm® Keil MDK 제품 외에도 M2354 BSP(보드 지원 패키지)에는 MCU 시스템 개발을 위한 다양한 예제 프로그램, 다양한 IoT 보안 요구 사항을 위한 AES, RSA 및 ECC 알고리즘을 포함한 암호화 라이브러리가 포함되어 있다. 전 세계적으로 IoT 보안 인증 제도가 점점 더 많이 개발되고 있으며, 특히 보안 구축에 있어 IoT 보안 시스템 개발을 용이하게 하기 위해 누보톤은 MCU 애플리케이션의 소프트웨어 보안 개발을 위한 템플릿으로 Trusted Firmware-M(TF-M)의 전체 참조 소스코드를 제공한다. 작지만 복잡한 IoT 디바이스의 설계 및 클라우드 연결 장벽을 낮추기 위해 실시간 IoT 운영체제가 요구되는 가운데, M2354 시리즈는 Mbed OS, FreeRTOS, RT-Thread 등 다양한 IoT OS를 지원하여 IoT 디바이스 구현 및 클라우드 서비스 연결을 쉽게 할 수 있다.

M2354가 출시됨에 따라 NuMicro® Cortex- M23 코어 기반 제품 포트폴리오는 다양한 기기에 향상된 보안 수준을 제공할 수 있게 되었으며, 특히 IoT 서비스 클라우드 인증에 대한 요구 사항을 충족할 수 있게 되었다. M2354 시리즈는 네트워크에 연결된 디바이스를 위한 강력한 보안 기능으로 빠른 시장 출시를 지원할 수 있다. 이러한 디바이스는 생체인식 도어록, 보안 무선 모듈, 스마트 무선 스피커, 보안 시스템을 포함한 스마트 가전, 스마트 미터기, 친환경 에너지 제어, 발전소 센서를 포함한 스마트 시티 가전, 로봇 공학, 아케이드 기계와 같이 보안 문제가 있는 기타 임베디드 시스템 등에 사용할 수 있다.


IoT 애플리케이션을 보호하는 방법

사물인터넷(IoT) 보안은 디바이스 보안과 네트워크 보안을 포괄하며, 이 정의에 따라 네트워크에 연결된 디바이스와 네트워크를 보호하는 데 필요한 프로세스, 기술 및 보호 조치를 다룹니다. 오늘날 사회에서는 산업용 디바이스, 스마트 그리드, 스마트 홈, 엔터테인먼트 및 웨어러블 디바이스 등 다양한 유형의 네트워크 디바이스가 점점 더 대중화되고 있다. 위협 모델을 분석하고 평가하기 위해 개발할 때 발생 가능한 위험을 제대로 고려하지 않았다고 가정해보겠다.

사용 중에 취약점이 발생하고 사람들의 공격을 받아 손실이 발생하기 쉽다. 예를 들어, 산업 기기가 공격을 받으면 인명 위험이나 기밀 정보 유출이 발생할 수 있고, 해커가 스마트 그리드를 제어하면 사람들의 생계와 산업에 영향을 미치고, 지능형 홈과 엔터테인먼트에 영향을 미치며 개인 데이터가 도난 당할 위험이 생긴다. 따라서 디바이스 자체의 보안을 어떻게 잘 보호할 수 있는지는 네트워크 제품의 설계 및 기획 초기 단계에서 신중하게 고려해야 할 사항이다.

IoT 디바이스 보안은 광범위한 IoT 보안 공격으로부터 시스템, 네트워크, 데이터를 보호해야 하며, 이러한 공격은 크게 네 가지 유형으로 나눌 수 있다:

① IoT 디바이스와 서버 간의 데이터 전송을 위한 통신 공격

② 사용자부터 유지보수까지 IoT 디바이스에 대한 수명 주기 공격

③ 디바이스 내부 소프트웨어에 대한 공격

④ 디바이스 내부의 칩에 대한 직접적인 물리적 공격

잘 설계된 보안 IoT MCU를 사용하면 개발자는 모든 유형의 허점으로부터 장치를 보호할 수 있다. 누보톤은 최근 몇 년 동안 MCU 보안을 위해 부단히 노력해 왔다. 작년에는 IoT 장치에 필요한 보안 기능을 최적화하는 M2351 시리즈에 이어 차세대 보안 IoT MCU인 NuMicro® M2354를 출시하였다. MCU에 내장된 하드웨어 암호화 가속기를 통해 디바이스와 서버 간의 데이터 전송을 암호화할 수 있어 통신형 공격에 대응할 수 있으며, 키 스토어와 결합하면 키 도난 방지 기능이 향상된다.

하드웨어 기반 라이프사이클 관리 기술을 통해 Trusted-Firmware -M에 구축된 다양한 보안 서비스를 통해 라이프사이클 공격을 방지할 수 있다.

트러스트존 기술로 MCU에 구현된 하드웨어 격리 메커니즘은 실행 환경을 보안 메모리와 비보안 메모리, 주변장치, 기능으로 분리할 수 있다.

실행중인 소프트웨어의 무결성과 적법성을 검증하기 위해 MCU에서 제공하는 보안 부팅 프로그램을 통해 소프트웨어 공격을 방지할 수 있다. 변조 방지, 오류 주입 방지 및 사이드 채널 공격 기술은 칩에 대한 비침입 물리적 공격에 대한 보호 기능을 제공한다.

플랫폼 보안 아키텍처(PSA) - IoT 디바이스의 보안 기반을 정의하고 분석부터 보안 평가 및 인증에 이르기까지 네트워크 디바이스의 보안을 보호하고 통합하기 위한 명확한 프레임워크를 제공하기 위해 2017년에 Arm에서 제안한 것이다.

누보톤의 보안 IoT MCU M2351 시리즈는 2021년에 보안 기능 PSA 인증 레벨 2 및 PSA 기능 API 인증을 통과했으며, 차세대 M2354 시리즈도 PSA 인증 레벨 3 인증을 목표로 활발히 진행 중이다.


안전한 프로그래밍 접근 방식

ISP(시스템 내 프로그래밍)는 펌웨어가 설치되지 않은 새 제품에 펌웨어를 업데이트하거나 초기 펌웨어를 설치할 수 있는 편리한 방법을 제공한다. 일반적인 ISP는 펌웨어 데이터를 칩으로 전송하기 위해 전송 인터페이스가 필요하므로 전송 과정에서 데이터가 도난의 위험에 노출되므로 실험실 개발에만 적합하다. 제품이 개발되고 생산을 위해 외부에 아웃소싱되면 펌웨어를 보호하기 위해 전송된 통신이 암호화되며, 이는 ISP 전송 및 프로그래밍을 위한 보안 채널을 생성하는 것과 동일하다.

예를 들어 누보톤 테크놀로지의 M2351 마이크로컨트롤러에는 전송 중 도난을 방지하기 위해 펌웨어를 안전하게 프로그래밍할 수 있는 보안 ISP 기능이 내장되어 있다. 보안 ISP 기능을 켜려면 먼저 원래 제조업체에서 설치한 ICP 도구를 통해 설정할 수 있다. 그런 다음 UART를 ISP 전송 인터페이스로 사용해야 하는 경우, 사용자는 부트로더 UART1 TXD/RXD 핀 기능 선택을 설정하여 사용할 전송 핀을 확인해야 한다(그림 1).

SR(Nuvoton)-1.jpg
[그림 1] UART1 핀 설정
ISP 기능이 켜지면 사용자는 원래 제조업체에서 제공한 ISP 도구를 사용하여 마이크로 컨트롤러에 연결하여 프로그래밍을 수행할 수 있다. USB를 ISP 연결 인터페이스로 사용하는 경우 사용자는 사전 설정을 할 필요가 없으며 장치의 USB 소켓을 통해 USB 케이블을 PC 측의 USB 포트에 연결하고 Secure ISPTool을 열고 연결 버튼을 클릭하면 정상적으로 실행된다(그림 2).

SR(Nuvoton)-2.jpg
[그림 2] USB 연결 인터페이스 설정
UART1을 전송 인터페이스로 사용하는 경우, 사용자는 마이크로컨트롤러의 UART1의 전류 핀을 PC 직렬 포트에 연결해야만 Secure ISP Tool과 정상적으로 연결할 수 있다(그림 3).

SR(Nuvoton)-3.jpg
[그림 3] UART1을 PC에 연결하기 위한 직렬 포트 설정
마이크로컨트롤러가 Secure ISP Tool에 성공적으로 연결되면 마이크로컨트롤러의 기본 정보가 도구에 표시된다. 그 후 마이크로컨트롤러 설정을 수행하고 펌웨어를 프로그래밍 할 수 있다. 보안 채널은 이러한 모든 작업을 보호하므로 공격자는 통신 인터페이스의 데이터를 수신하여 전송된 펌웨어를 훔칠 수 없다(그림 4, 그림 5).

SR(Nuvoton)-4.jpg
[그림 4] 마이크로컨트롤러가 ISP에 연결된 후 표시되는 기본 정보
SR(Nuvoton)-5.jpg
[그림 5] ISP 펌웨어 파일 프로그래밍
ISP는 마이크로컨트롤러의 표준 기능으로, 사용자가 추가적인 하드웨어 장치 없이도 생산 중에 제품 펌웨어를 테스트하고 프로그래밍 할 수 있다. 그러나 ISP 데이터는 전송 인터페이스를 통해 전송되기 때문에 전송 과정에서 정보가 노출되어 제품 펌웨어 도난의 위험이 있으며, 특히 제품 시험 및 양산을 외부 처리 서비스 제공 업체에 아웃소싱하는 경우 위조 위험이 더 높다.

이 문제를 방지하기 위해 보안 ISP를 사용할 수 있다. 펌웨어 전송 과정에서 모든 데이터는 고강도 암호화로 암호화되어 데이터를 도난 당할 수 없으므로 제품 펌웨어를 도난으로부터 보호하고 위조 가능성을 제거한다.


TF-M 오픈 소스 프로젝트

M2354는 누보톤에서 제조한 마이크로컨트롤러로, 풍부한 보안 설계를 통해 보안 분야, 특히 인터넷을 통해 연결된 IoT 장치에 적용하기에 적합하다.

IoT장치는 인터넷에 노출되어 있기 때문에 사용자의 개인 정보를 보호하고 해커의 공격과 침입으로 인해 해킹 도구로 변질되는 것을 방지하기 위한 충분한 보안 메커니즘이 필요하다. 네트워크에 연결된 디바이스의 보안을 보호하기 위해 M2354는 보안 설계에 Arm V8-M Trust Zone 아키텍처를 채택했을 뿐만 아니라 Arm의 오픈 소스 펌웨어(TF-M)를 사용하여 IoT 애플리케이션 플랫폼을 위한 완벽한 보안 아키텍처를 함께 구성한다.

M2354 보안 플랫폼은 부트로더, 디바이스 수명 주기 관리, 암호화 하드웨어 가속기, 키 저장소, 트러스트 존 기술 등 수정할 수 없는 보안 구성 요소로 구성되어 있다. 신뢰성 검증을 통과하고 업데이트가 가능한 두 번째 부트로더 프로세스(BL2)와 트러스티드 펌웨어-M을 사용하여 자체 보안을 보장하고 다양한 보안 서비스를 추가로 제공한다. 이러한 기능 중 트러스트 존 기술은 사용자의 애플리케이션 프로세스와 운영 체제의 보안 서비스 운영을 분리하여 시스템 운영의 보안을 더욱 보장하는 데에도 사용된다(그림 6).

SR(Nuvoton)-6.jpg
[그림 6] M2354 플랫폼의 보안 아키텍처
이 보안 아키텍처에서는 IoT 디바이스와 클라우드 간의 모든 통신 및 전송에 암호화 및 복호화 서비스가 제공되며 하드웨어 격리를 전제로 민감한 데이터의 저장이 이루어진다. 아래 그림은 보안 아키텍처 하에서 IoT 디바이스가 작동하는 예시이며, 이 디바이스는 디바이스 위치의 온도를 클라우드에 업로드한다.

우선, 디바이스가 활성화된 후 클라우드 서비스의 인증을 통과하고 이 디바이스의 적법성을 증명하기 위해 등록 메커니즘이 먼저 사용된다. 이 인증 메커니즘은 전체 등록 인증 과정에서 보안 및 개인 정보 보호를 보장하기 위해 TF-M의 보안 영역에 있는 서비스에 의해 완료된다.

장치 등록 인증이 완료되면 이제 장치에서 측정한 데이터를 클라우드에 업로드할 수 있다. 이 부분에서는 클라우드와의 연결이 암호화되고 보호되도록 TLS(전송 계층 보안) 전송 프로토콜을 사용하여 암호화 및 복호화 프로세스를 TF-M의 격리된 영역에서 암호화 및 복호화 서비스를 통해 완료하여 암호화 및 복호화 중에 사용되는 키 및 기타 비밀 정보가 비보안 영역에 노출되지 않도록 보장한다. 사용자가 개발한 애플리케이션 프로세스는 제품의 모든 기능을 구현하기 위해 비보안 영역에서 사용된다.

M2354 보안 플랫폼 아키텍처에서는 제품 개발이 비보안 영역에 집중되고 필요한 모든 보안 기능은 TF-M에 의해 구현되어 보안 영역에 격리되므로 사용자는 보안 문제에 대해 걱정할 필요 없이 제품 기능 개발에 더욱 집중할 수 있어 개발 일정과 난이도를 크게 줄이면서도 IoT 디바이스의 보안 요구 사항을 충족하는 데 필요한 보안을 유지할 수 있다.

위에서 언급 한 다양한 소프트웨어 및 하드웨어 보안 설계 외에도 M2354 IoT 장치가 최상의 보호 결과를 얻을 수 있도록 M2354는 시스템 오류를 물리적으로 주입하거나 장치가 작동하는 동안 전압, 전류 또는 전자파를 모니터링하여 해커의 공격으로부터 IoT 장치를 보호하기 위해 오류 주입 및 사이드 채널 공격에 대한 보호 메커니즘을 추가로 도입했다. 이를 통해 M2354 보안 플랫폼 기반의 IoT 디바이스는 네트워크 공격에 대한 보호 기능 뿐만 아니라 물리적 공격에 대한 저항력까지 갖추게 되어 디바이스의 보안을 한 단계 업그레이드할 수 있다(그림 7).

SR(Nuvoton)-7.jpg
[그림 7]
M2354 보안 플랫폼에 관심이 있는 사용자는 누보톤 온라인 스토어(http://direct.nuvoton.com)에서 NuMaker-M2354 평가 보드를 구매할 수 있으며, 최신 TF-M 펌웨어는 GitHub (TrustedFirmware-M(TF-M)-Trusted Firmware)에서 직접 다운로드할 수 있다.

M2354는 신규 사용자가 Arm TF-M 보안 플랫폼의 작동을 배우고 익숙해지기에 적합한 Nuvoton의 공식 웹 사이트에 풍부하고 완전한 온라인 리소스를 제공하여 안전한 IoT 장치 개발을 위한 가장 견고한 지원을 제공한다.



보안 시스템의 기본은 시스템 ID의 진위 여부를 확인하고 시스템 정보의 기밀성을 보장하는 데 사용되는 소유 키에 있다. 시스템에 있어야 하는 가장 기본적인 키에는 다음이 포함된다:

• 하드웨어 고유 키(HUK) 각 물리적 장비가 소유하는 독점 키로, 고유성과 비밀성을 모두 갖추고 있다. 다양한 애플리케이션에 필요한 키와 연결된 장치에 대한 전용 암호화된 데이터를 생성한다.

• 루트 오브 트러스트 공개 키(ROTPK) 서명을 확인하는 데 사용되는 공개 키로, 디바이스의 보안 부팅 과정에서 검증을 통과한 소프트웨어만 디바이스에서 실행할 수 있도록 보장한다.

시스템의 보안을 보장하기 위해 HUK든 ROTPK든 수정해서는 안된다.

또한 다양한 애플리케이션에 따라 암호화 및 복호화에 사용되는 AES 키, 서명을 확인하는 데 사용되는 RSA 키 또는 ECC 키 등 다른 기능을 가진 키도 시스템에 존재할 수 있다.

이러한 키 구조는 암호화를 기반으로 시스템 ID 확인, 데이터 보호, 전송 암호화 및 기타 기능을 제공한다. 키는 시스템 내 모든 보안의 기초이다. 따라서 키 자체의 저장과 보호는 전체 시스템에서 가장 중요한 부분이기도 한다. 키를 저장하는 데 사용되는 장소를 키 저장소라고 한다.


키 저장소의 기능

키의 보안을 보장하기 위해 키 저장소는 다음과 같은 기능을 갖추어야 한다.

• 저장된 모든 키는 분할할 수 없는 전체 키여야 한다.

키 저장소의 모든 키는 전체적으로 생성, 변경, 삭제되어야 한다. 따라서 키의 내용 중 일부가 알려진 값으로 대체될 가능성이 있는 경우, 무차별 암호 대입 공격에 쉽게 노출될 수 있다.

• 키 유형에 따라 정적 저장소를 포함한 다양한 저장소 유형이 제공된다.

• 정적 스토리지

정적 저장소의 키는 변경할 수 없는 기능이 있어야 하며, 이는 일반적으로 ROM 또는 퓨즈의 기능을 사용하여 구현한다. 그러나 정적 저장소 키는 변경할 수 없더라도 해지해야 한다. 해지된 키는 더 이상 액세스하거나 사용할 수 없으므로 키 사용의 보안을 보장할 수 있다.

• 단기 저장

단기 저장소의 키는 현재 연결 기간 동안만 존재하거나, 현재 전원 연결 주기 동안만 존재하거나, 장치의 현재 등록 기간 동안만 존재할 수 있는 등 수명이 더 짧다. 이러한 기능은 일반적으로 플래시 또는 SRAM을 저장 매체로 사용하여 구현할 수 있다.

• 키 속성을 설정하여 키의 사용 범위 제한하기

키의 사용 범위는 키의 용도 및 해당 암호화 알고리즘에 따라 제한될 수 있으며, AES 암호화 및 복호화, ECC 서명 및 인증 등에만 사용할 수 있도록 제한하는 등 키의 용도에 따라 제한될 수 있다. 이러한 제한의 이유는 주로 다음과 같다:

• CPU에서 키에 대한 액세스를 제한하면 소프트웨어 취약성으로 인한 키 노출을 방지할 수 있다.

• 키의 사용 범위를 제한하면 키가 크랙되었을 때 손실 범위를 줄일 수 있다.

• 하나의 키가 다른 알고리즘에 사용되면 공격 위험이 증가한다.

• 하나의 키를 다른 용도로 사용하면 키 지속 시간 길이에 충돌이 발생하여 키 지속 시간을 연장해야 하고 실제로는 키가 최적의 지속 시간보다 더 오래 지속될 수 있다.

• 물리적 공격 방지

키스토어에 저장된 키는 전체 시스템 보안의 근간이다. 소프트웨어 취약점으로 인한 노출 위험을 방지해야 할 뿐만 아니라 물리적 특징을 이용한 사이드채널 공격, 패키지를 열어 칩에 저장된 내용을 직접 측정하는 공격 등 물리적 공격으로부터도 보호해야 한다.

키 저장소에는 세 가지 유형의 저장 매체가 제공된다: 각기 다른 키의 보관 기간에 따라 OTP, 플래시, SRAM이 제공되며, OTP는 HUK, ROTPK와 같이 수정할 수 없는 키를 저장하는 데 사용할 수 있다. 또한 플래시는 클라우드 연결 인증에 사용되는 키를 저장하는 데 사용할 수 있으며, SRAM은 클라우드 연결 시 사용되는 무작위로 암호화된 키를 보관하는 데 사용할 수 있다.

또한 키 저장소에서 키를 생성할 때 관련 속성을 지정하여 CPU 또는 특정 암호화 엔진에서만 키를 사용하도록 제한하여 키 사용을 더욱 제한하고 키의 보안을 강화할 수 있다. 키스토어는 사일런트 액세스 기능을 지원하여 사이드채널 공격 시 저장소 작업 시 물리적 기능으로 인한 정보 유출을 줄일 수 있다. 또한 패키지를 열어 저장된 내용을 측정하기 위해 물리학을 이용하는 공격에 대비해 데이터 스크램블링 기능을 제공한다. 또한, 키 저장소는 변조 감지가 트리거될 때 하드웨어 링크를 활성화하여 키 저장소의 모든 키를 지우고 취소하여 키가 유출되지 않도록 설정할 수 있다.


결론

최신 보안 시스템은 암호화 보호에 의존하며, 암호화 알고리즘이 아무리 뛰어나더라도 키를 안전하게 저장해야만 결과를 얻을 수 있다. 키가 노출되면 해당 키에 구조화된 모든 비밀은 더 이상 안전하지 않으므로 키를 저장할 수 있을 만큼 안전한 키 저장소를 보유하는 것이 전체 시스템에 필수적이다. 

leekh@seminet.co.kr
(끝)
<저작권자(c) 반도체네트워크, 무단 전재-재배포 금지>

X


PDF 다운로드

개인정보보호법 제15조에 의한 수집/이용 동의 규정과 관련하여 아래와 같이 PDF 다운로드를 위한 개인정보 수집 및 이용에 동의하십니까? 동의를 거부할 수 있으며, 동의 거부 시 다운로드 하실 수 없습니다.

이메일을 입력하면,
(1) 신규참여자 : 성명/전화번호/회사명/분야를 입력할 수 있는 입력란이 나타납니다.
(2) 기참여자 : 이메일 입력만으로 다운로드가 가능합니다.

×

회원 정보 수정