MCU 애플리케이션 보안 살펴보기
최근 몇 년 동안 IoT 애플리케이션이 증가함에 따라 관련 문제가 발생하고 있습니다.
IoT의 보안은 널리 논의되어 왔습니다. 보안 문제는 매우 크고 복잡해 보이지만, 경험을 바탕으로 참고할 수 있는 몇 가지 지침과 방법이 여전히 있습니다. 점점 더 많은 프레임워크와 인증이 이를 기반으로 건전한 관리 메커니즘으로 발전하고 있습니다.
저자는 완전한 IoT 보안 고려 사항을 달성하는 것은 종단 간 시스템 문제에서 비롯된 것이라고 믿습니다. 이러한 관점에서 IoT 보안 문제는 "새로운 네트워크 노드의 보안 고려 사항 개선"으로 약간 수렴될 수 있습니다. 이 글은 IoT 노드 측면에서 시작하여 IoT 환경에서 엔드포인트 장치 측면의 마이크로컨트롤러(MCU) 칩 아키텍처 설계를 분석하고 논의할 것입니다.
기본 보안
일반적으로 보안 전송은 기밀성, 무결성 및 신뢰성의 세 가지 요구 사항을 충족하도록 설계됩니다. 요구 사항의 의미는 다음 표에 설명되어 있습니다:
기밀성 |
무결성 |
신뢰성 |
---|---|---|
정보 전송 과정에서 원본 콘텐츠가 수신되어서는 안 되는 타사 개인이나 조직에 유출되지 않도록 보장합니다. |
대상 수신자에게 정보가 전달된 후에도 발신자의 원래 데이터 내용으로 복원할 수 있도록 합니다. |
정보 전송의 양쪽 당사자가 서로를 상호 인식하고 각 전송이 개별적으로 식별되도록 보장합니다. |
Table 1:Security Requirements for Information Transmission Main Item Description
세 가지 보안 요구 사항을 동시에 충족해야 하며, 이 중 하나라도 없으면 보안 문제가 발생할 수 있습니다. 수년 동안 보안 기술 개발의 목적 중 상당수는 위의 목표 달성을 촉진하는 것이었으며, 그 중 일부는 성숙하고 일부는 계속 발전하고 있습니다.
"암호화 알고리즘"은 현대 정보 통신 및 통신 기술의 보안 초석이며, 이를 기반으로 개발된 암호화/복호화 기능은 정보 분야에서 중요한 역할을 합니다.
"암호화" 및 "암호화" 기능은 AES, DES/3DES, 비대칭 RSA, ECC 및 기타 알고리즘의 대칭 암호화 및 해독과 같은 "개인 정보 보호" 구축의 중요한 구성 요소입니다. 전송 프로세스에서 정보에서 파생된 이러한 기술을 적용하는 것은 가로채고 해석하기에 쉽거나 변경되지 않습니다.
해싱 함수는 SHA, MDx 및 기타 해시 함수와 같은 정보의 '청렴성'을 달성하여 데이터의 변경 사항을 인식할 수 있도록 하는 것으로, 데이터가 변경되는 경우, 즉 데이터 유형이 원본 데이터가 아닐 때 원본 데이터에 따라 계산된 검사 코드가 달라지기 때문입니다. 비대칭 알고리즘과 해시 함수를 결합하여 '인증'을 달성할 수 있습니다. 공개 키 인프라(PKI)는 이 개념을 기반으로 하는 보안 인프라입니다.
지금까지 암호화 기반의 정보통신 보안을 달성하기 위한 기본적인 관행을 대략적으로 설명했지만, 산업의 발전에 따라 보안 http 연결(https) 、secure 결제 거래(EMV 기반 표준) 、secure 무선 소프트웨어 업그레이드와 같이 이러한 기반을 기반으로 구축된 산업 보안 표준이 점차 등장하고 있습니다. 각 산업은 개별 산업의 안전한 발전을 촉진하기 위해 개별 산업의 요구 사항을 충족하는 표준을 설정합니다.
플랫폼 보안
위의 소개 이후, 기존 IoT 산업의 발전이 정보 통신의 보안 문제에 큰 중요성을 부여했다는 것을 이해할 수 있으므로 IoT 보안의 초점은 점점 더 많은 연결 장치에 맞춰질 가능성이 높다고 생각합니다. 이러한 장치가 널리 설정되면 너무 많은 인적 작업이 필요하지 않을 것이며 정보 통신, 기능 작동 등 보안 요구 사항이 새로운 도전에 직면하게 될 것입니다.
네트워킹 장치로 원격으로 관리되는 전기, 수도, 가스 등 가정용 계량기를 상상해 보세요. 해커가 쉽게 제어할 수 있다면 에너지 공급이 끊기거나 개인 안전을 초래할 수 있습니다. 이러한 이유로 IoT 보안 관련 문제를 논의할 때는 보안 아키텍처나 보안 플랫폼을 포함한 시스템 아키텍처부터 시작해야 합니다.
이 글에서는 광범위한 문제를 다루는 MCU 보안 플랫폼에 초점을 맞춥니다. 예를 들어, 1. MCU 자체의 보호 기능. 2. MCU 내부 메모리 폐쇄. 3. 키 저장소의 개인 정보 보호 및 정보 탈취를 위한 전자기 분석에 대한 효과적인 관행. 4. 지능형 핸드헬드 디바이스를 위한 훨씬 더 중요한 소프트웨어 보호를 고려해야 합니다. 따라서 IoT의 시스템 특성에 따라 위의 MCU 보안 위험 문제를 다음 세 가지 측면으로 분류할 수 있습니다:
- 네트워크 연결 여부 또는 보안 공격을 시작하지 않습니다: 해커는 공격을 시작할 때 장치를 터치하거나 네트워크를 통해서만 터치해야 합니다.
- 보안 공격을 시작하는 데 드는 비용: 공격의 대상은 Wi-Fi가 장착된 노트북이나 실험실의 정교한 장치였습니다.
- 공격의 결과: 단일 노드 장치 또는 전체 네트워크에만 영향을 미칩니다.
보안 IoT 노드 장치를 설계하고자 할 때 위의 세 가지 측면은 투자한 리소스와 필요한 보안 수준을 평가하는 데 도움이 될 수 있습니다.
위의 설명을 통해 MCU가 설계 단계에 있을 때 정보 보안 보호에 대한 고려는 최종 제품 요구 사항을 기반으로 한다는 것을 이해할 수 있습니다. 서로 다른 애플리케이션에 따르면 적절한 보안 보호 요구 사항 표준을 개발해야 합니다. 오늘날의 상용 시장에서 금융 업계의 카드 애플리케이션은 가장 높은 수준의 칩 보안 보호를 제공합니다.
휴대폰, 데스크톱 컴퓨터, 노트북 및 태블릿과 같은 기존 네트워킹 장치 및 기타 인터넷 장치의 칩에 대한 보안 보호 요구 사항은 사용자의 운영 환경, 운영 체제의 복잡성, 프로세서의 성능에 따라 달라집니다. 따라서 보안 보호 요구 사항을 달성하기 위해 주로 소프트웨어 수준의 기술에 의존합니다. 위의 두 가지 사이에 새로운 IoT 칩 보안 요구 사항을 정의함으로써 실제 보안 보호 요구 사항을 분석할 수 있습니다.
OWASP(오픈 웹 애플리케이션 보안 프로젝트) 조직에 따르면 보안 문제를 일으킬 가능성이 가장 높은 IoT 상위 10개 항목은 다음과 같습니다:
- 안전하지 않은 웹 인터페이스
- 인증/권한 부족
- 안전하지 않은 네트워크 서비스
- 전송 암호화 부족
- 개인 정보 보호 문제
- 안전하지 않은 클라우드 인터페이스
- 안전하지 않은 모바일 인터페이스
- 보안 구성 가능성 부족
- 안전하지 않은 소프트웨어/펌웨어
- 열악한 물리적 보안
칩 아키텍처
보안 기능 레벨 |
기존 솔루션 |
---|---|
애플리케이션 수준 보안 |
시중 대부분의 MCU |
권한 수준의 보안 |
MPU(메모리 보호 장치) 또는 MMU(메모리 관리 장치)가 포함된 칩 |
TrustZone 보안 |
TrustZone for Cortex-A 혹은 TrustZone for Cortex-M |
변조 방지 보안 |
물리적 보안을 위한 변조 방지 |
Table 2:ARM Embedded System Security Requirement Table
A. 애플리케이션 수준의 보안
현재 시중에 판매되는 프로세서(CPU, MPU, MCU)를 살펴보면, 거의 모든 프로세서가 이 수준의 보안 요구 사항을 지원할 수 있는데, 이는 본질적으로 소프트웨어에서 제공하는 보안 메커니즘이기 때문입니다. 애플리케이션 수준의 보안은 시스템 개발자가 프로그램을 작성할 때 로컬 프로세서 시스템과 원격/클라우드 시스템 모두에 대한 보안 메커니즘을 갖추고 있는 한 달성할 수 있습니다.
B. 특권 수준의 보안
이 수준에서는 실행 시 시스템 프로그램(OS 커널과 같은)과 애플리케이션을 권한 있는 상태와 권한 없는 상태로 구분합니다.
이렇게 하면 프로세서는 프로그램을 실행할 때 상태가 달라지므로 프로세서에 부착된 메모리 관리 장치(MMU) 또는 메모리 보호 장치(MPU)가 잘못된 프로그램이나 악성 프로그램이 시스템 설계의 취약점을 발견하지 못하도록 하는 역할을 할 수 있습니다. 이는 마치 스냅인에 대한 블랙리스트를 열어 파손된 악성 프로그램을 방지하는 것과 같습니다. 블랙리스트 조건이 충족되는 한 보호 장치는 불필요한 문제를 피하기 위해 경고를 발령하고 시스템 작동을 중단하도록 강제합니다.
C. TrustZone 보안
D. 변조 방지 보안
이러한 유형의 보안 칩은 물리적 공격에 대한 MCU의 보호를 고려하여 특정 목적을 위해 설계되었습니다. 설계자가 MCU 제품의 사용 환경을 제어할 수 없고 보호해야 할 기밀 정보(예: 개인 자금)의 양이 많지 않기 때문에 물리적 보호가 수행됩니다. 예를 들어 MCU 라인 레이아웃 설계, 핀 신호 감지 불가능, 비교 방지를 위한 전반적인 소프트웨어 속도 조정 등이 있습니다.
여러 전자 공격 방지 기술을 고려하기 때문에 MCU 설계가 너무 복잡해서 더 많은 취약점을 발생시키지 않아야 합니다. 그럼에도 불구하고 IoT 제품에는 보안 보호 기술이 여전히 필요하며, 현실적인 기능 설계의 다양한 요구를 고려하는 방법에 대해서는 아직 추가 논의의 여지가 있습니다.
IoT 보안을 위한 임베디드 시스템의 디자인 사고
Figure 1:Design Thinking of Embedded Systems for IoT Security
More information about Nuvoton IoT Security Platform: https://www.nuvoton.com/iotsecurity
Watch Video: MCU Security Features for IoT Security
by Nuvoton Expert Group in Embedded Security