DSC와 MCU를 사용하여 내장형 시스템 보안을 보장하는 방법 | 반도체네트워크

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

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

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

DSC와 MCU를 사용하여 내장형 시스템 보안을 보장하는 방법


PDF 다운로드



글/Stephen Evanczuk, DigiKey 북미 편집자 제공


기술 환경이 사물 인터넷(IoT)으로 변화하면서, 내장형 응용 분야에서 보안이 선택 기능이던 시점을 벗어나, 시스템 무결성을 보장하는 데 없어서는 안 될 필수 기능으로 진화하고 있다. 점점 더 다양해지는 보안 사양에 대응하기 위해 개발자는 저전력 또는 고성능에 대한 응용 분야의 요구 사항을 충족해야 할 뿐만 아니라, 인증, 암호화, 보안 스토리지 및 보안 부팅을 비롯한 하드웨어를 기반으로 한 보안 기능을 지원할 수 있는 솔루션을 제공할 수 있어야 한다.

이 기사에서는 내장형 응용 제품의 보안 원칙에 대해 간략하게 소개한다. 그런 다음 개발자가 Microchip Technology의 고성능 디지털 신호 컨트롤러(DSC)와 저전력 PIC24F 마이크로 컨트롤러 장치(MCU)를 Microchip의 특수 보안 장치와 함께 사용하여 내장형 응용 분야에서 새롭게 떠오르고 있는 엄격한 보안 요구 사항을 충족하는 방법을 보여 준다.

내장형 보안은 다음과 같은 네 가지 핵심 원칙을 기반으로 한다.

스마트 제품은 공용 인터넷을 통해 연결되어 정교한 응용 제품으로 서로 연결될 수 있으며, 독립형 제품은 이러한 장점을 따라잡을 수 없게 된다. 그러나 이들과 동일한 연결 경로를 사용하는 연결 경로를 이용한 사이버 공격의 위협은 스마트 제품의 가치를 잠재적으로 저해할 뿐만 아니라 해당 제품, 관련 응용 분야 및 사용자를 끝없는 위협의 상황에 노출한다.

개발자는 시스템 수준의 사이버 보안에 대한 소비자의 끊임없는 요구에 직면하는 것 외에도, 국가 단체와 지방 단체의 보안 기준에 부합할 필요성이 점점 더 커지고 있다. 가장 영향력 있는 두 가지 사양에 대한 표준인 유럽의 ETSI EN 303 645, ‘사물 인터넷 소비자를 위한 사이버 보안: 기본 요건’과 미국의 NIST IR 8259, ‘장치 제조업체를 위한 기본 사이버 보안 활동’은 사이버 보안 관행이 다음과 같은 네 가지 핵심 원칙에 기반할 것을 제안하고 있다.

• 고유한 비밀번호 사용

• 민감한 보안 파라미터를 위한 장치에서의 보안 스토리지 가용성

• 상호 인증과 암호화된 통신을 사용한 안전한 통신

• 보안 부팅 및 보안 펌웨어 업데이트를 통해 펌웨어 무결성 및 진본성을 보장하는 기능

이러한 핵심 원칙을 기반으로 시스템을 제공하려면 해커가 통신, 스토리지, 펌웨어, 심지어 보안 메커니즘 자체를 변경하는 악성 코드를 삽입하지 못하도록 하는 신뢰할 수 있는 플랫폼을 사용해야 한다.

신뢰할 수 있는 플랫폼은 변경 불가능한 하드웨어를 기반으로 한 보안 메커니즘을 사용하여 처음부터 시스템 수준의 보안을 구축함으로써 보안을 보장한다. 이는 개념적으로는 간단하지만, 시스템 어떤 부분에서라도 보안 취약점이 생긴다면 사이버 공격의 통로가 될 수 있으므로 시스템 수준의 보안을 구현하는 것은 어려운 일이었다. 개발자는 Microchip Technology의 고성능 dsPIC33C DSC 및 저전력 PIC24F MCU를 Microchip의 컴패니언 보안 장치와 함께 사용하여 시스템 수준의 보안을 보장하는 내장형 설계를 보다 쉽게 구현할 수 있다.


성능 및 전력 요구 사항 충족

광범위한 사용 사례를 지원하도록 설계된 Microchip의 dsPIC33C DSC 및 PIC24F MCU 제품군의 장치는 각 응용 제품별 기능(통합 아날로그, 파형 제어 및 통신 주변 장치의 광범위한 보완 기능을 포함)을 가진 강력한 실행 플랫폼과 결합한다. 실제로 개발자는 dsPIC33C DSC의 다중 펄스 폭 변조(PWM), 프로그래밍 가능 이득 증폭기(PGA), 아날로그 디지털 컨버터(ADC) 및 기타 주변 장치를 사용하여 최소한의 추가 부품으로 복잡한 시스템을 구현할 수 있으며 일반적으로 이러한 설계에 필요한 전력 장치만 있으면 된다. 예를 들어 DSPIC33CK512MP608 단일 코어 DSC를 사용하여 오프라인 무정전 전원 공급 장치(UPS) 설계를 구현할 수 있다(그림 1).

AR(DSC)-1.jpg
[그림 1] 다른 dsPIC33C DSC와 마찬가지로 DSPIC33CK512MP608 단일 코어 DSC는 포괄적인 주변 장치 세트를 통합하여, 표시된 것과 같은 오프라인 UPS와 같은 복잡한 시스템의 설계를 간소화한다. (이미지 출처: Microchip Technology)
실시간 제어 기능과 디지털 신호 처리를 모두 필요로 하는 응용 제품을 위해, dsPIC33C DSC는 MCU와 DSC의 기능을 결합하여 특수 명령어와 하드웨어 기능을 같이 사용할 수 있도록 한다. 안전성이 중요시되는 설계를 위해, dsPIC33C DSC는 IEC 60730 기능 안전을 지원하고 ISO 26262를 준수하며, ASIL-B(자동차 안전 무결성 레벨 B) 및 SIL-2 자동차 및 산업 안전이 중요한 응용 제품에 대한 기능성 안전 인증 절차를 간소화하도록 설계된 여러 하드웨어 특징을 제공한다.

dsPIC33C DSC는 성능이 가장 중요한 응용 제품을 위해 설계된 반면, PIC24F MCU는 범용 내장형 시스템, 소비자 가전, 산업 자동화, 의료 기기 및 제어와 연결이 필요하지만 DSP 기능이 필요하지 않은 기타 응용 제품을 위해 성능과 전력 효율성 간의 균형을 제공한다. dsPIC33C DSC와 마찬가지로 PIC24F MCU는 가정용 응용 제품을 구축하기 위한 B급 안전 진단 라이브러리를 갖춘 IEC 60730 안전이 갖춰진 기능성 장치이다.

앞서 언급했듯이 펌웨어 무결성은 내장형 제품 사이버 보안의 핵심 원칙이다. Microchip은 개발자가 펌웨어 무결성 및 전반적인 코드 보호를 보장할 수 있도록 DSPIC33CK512MP608 단일 코어 DSC 장치, DSPIC-33CH512MP508 이중 코어 DSC와 같은 dsPIC33C DSC 장치와 PIC24FJ512GU405 MCU와 같은 PIC24F MCU 장치, 그 외에도 특정 응용 분야에 맞게 구성된 다양한 주변 장치에서 회로 내 직렬 프로그래밍(ICSP) 쓰기 금지 및 CodeGuard 플래시 보안을 통해 플래시 일회성 프로그래밍 가능(OTP)을 제공한다.


장치 펌웨어 보호하기

ICSP 쓰기 금지를 통해 Flash OTP를 사용하면, 개발자는 플래시 메모리의 일부를 OTP 메모리로 구성하고 플래시 메모리를 읽기/쓰기 보호할 수 있다. Microchip의 독점적인 ICSP 기능을 사용하면 최종 응용 제품에서 실행되는 동안 한 쌍의 핀을 통해 이러한 장치를 직렬로 프로그래밍할 수 있다. 이 기능을 통해 제조업체는 생산 기판상에서 프로그래밍을 완료할 수 있다. ICSP는 Flash OTP 공정을 제어하기 위해 외부 프로그래밍 장치를 사용해야 하지만, 고급 버전 ICSP는 온보드 부트로더를 통해 Flash OTP 공정을 제어할 수 있다. 이러한 장치는 런타임 자체 프로그래밍(RTSP)도 지원하는데, 이는 플래시 사용자 애플리케이션 코드가 런타임 중에 스스로 업데이트될 수 있도록 한다.

개발자는 제품을 프로그래밍한 후, ICSP 쓰기 금지를 활성화하여 더 이상의 ICSP 프로그래밍 또는 삭제를 방지할 수 있다. 하지만 ICSP 쓰기 금지가 활성화되기 전에 적절한 플래시 업데이트 코드가 장치에 미리 프로그래밍이 되어 있으면 ICSP 쓰기 금지가 활성화된 상태라 할지라도 RTSP 플래시 삭제 및 프로그래밍 작업이 진행될 수 있다. 결과적으로 개발자는 신뢰할 수 있는 부트로더를 사용하여 ICSP 쓰기 금지가 활성화된 경우에도 플래시를 변경할 수 있으므로, 생산 시스템에서 펌웨어를 안전하게 업데이트하는 동시에 플래시를 업데이트하려는 외부의 시도를 억제할 수 있다.

CodeGuard 플래시 보안은 별도의 부트 세그먼트와 일반 세그먼트를 사용하여 프로그램 플래시를 면밀하게 보호한다. 개발자는 장치의 BSLIM 레지스터에서 부트 세그먼트(BS) 제한(BSLIM)의 주소를 설정하여 이러한 세그먼트의 크기를 지정한다. 일반 세그먼트(GS)는 나머지 메모리를 차지한다. 민감한 정보를 더욱 안전하게 보호하기 위해 각 세그먼트에는 추가 파티션이 포함되어 있다. 예를 들어 BS에는 인터럽트 벡터 테이블(IVT), 선택적 대체 인터럽트 벡터 테이블(AIVT) 및 추가 명령어(IW) 공간이 포함되며, 중요한 장치 사용자 구성 데이터를 포함하는 구성 세그먼트(CS)는 GS의 사용자 주소 공간 내에 있다(그림 2).

세그먼트 파티션을 설정한 후, 개발자는 장치의 펌웨어 보안(FSEC) 레지스터를 사용하여 선택적으로 쓰기 보호를 활성화하고 각 세그먼트에 필요한 코드 보호 수준을 설정할 수 있다. 런타임 동안, 장치는 코드 보호 수준이 낮은 세그먼트에 포함된 코드가 코드 보호 수준이 높은 세그먼트에 포함된 코드에 액세스하지 못하도록 한다. 일반적인 시스템에서 개발자는 BS를 보호하는 코드를 작성하고 코드 보호 수준을 높게 설정하여 부트로더를 포함하여 BS를 변경하려는 외부 시도를 억제한다.

AR(DSC)-2.jpg
[그림 2] dsPIC33C DSC 제품군과 PIC24F MCU 제품군은 BS 및 GS와 같은 독립된 파티션에서 코드 보호를 지원한다. (이미지 출처: Microchip Technology)

안전한 무선 펌웨어 업데이트 구현하기

소프트웨어 개발자는 새로 발견된 소프트웨어 버그, 경쟁력 강화 또는 새로운 보안 위협에 대응하여 소프트웨어를 업데이트해야 하는 상황에 직면할 수밖에 없다. 모바일 앱 업데이트와 달리, 내장형 시스템에서 펌웨어에 대한 보안 업데이트를 수행하면 현재 실행 중인 응용 제품이 방해받거나 최악의 경우 시스템이 ‘복구 불능’될 위험이 있다. Microchip의 dsPIC33C DSC 및 저전력 PIC24F MCU 제품군은 개발자가 이러한 문제를 방지할 수 있도록 이중 파티션 메커니즘을 제공한다.

표준 작동 모드에서 이러한 장치는 사용 가능한 모든 물리적 메모리를 연속적인 단일 파티션 메모리 공간으로 사용하며(그림 3, 왼쪽), 이 메모리 공간은 별도의 BS와 GS로 구성할 수 있다. 개발자는 이중 파티션 모드에서 물리적 메모리를 별도의 활성 및 비활성 파티션으로 분할한다(그림 3, 오른쪽).

AR(DSC)-3.jpg
[그림 3] 개발자는 기본값 단일 파티션 모드 또는 이중 파티션 모드에서 dsPIC33C DSC 및 PIC24F MCU 제품군을 작동할 수 있다. (이미지 출처: Microchip Technology)
이중 파티션 모드에서 작동하는 이러한 장치는 비활성 파티션을 프로그래밍하는 동안 활성 파티션에서 애플리케이션 코드를 계속 실행할 수 있다. 프로그래밍이 완료된 후, 부트 스왑(BOOTSWP) 런타임 명령을 실행하면 장치가 부팅 대상을 업데이트된 파티션으로 전환한다. 업데이트된 파티션의 코드가 실패하거나 결함이 있는 경우, 장치를 초기화하면 장치가 자동으로 기존의 파티션으로 부팅된다(그림 4).

AR(DSC)-4.jpg
[그림 4] 이중 파티션 모드에서 dsPIC33C DSC 및 PIC24F MCU는 한 파티션에 애플리케이션 코드를 로딩하는 동시에 다른 파티션에서 애플리케이션 코드를 계속 실행할 수 있다. (이미지 출처: Microchip Technology)
성공적인 파티션 업데이트가 확인되면, 업데이트된 파티션의 플래시 부트 시퀀스(FBTSEQ)를 기존의 파티션보다 낮은 값으로 설정할 수 있다. 이후 장치를 초기화하면, 장치는 더 낮은 FBTSEQ 값을 가진 업데이트된 파티션으로 부팅된다(그림 5).

AR(DSC)-5.jpg
[그림 5] 이중 파티션 모드를 사용하면 개발자가 장치를 초기화한 후 원하는 파티션으로 부팅하는 순서를 지정할 수 있다. (이미지 출처: Microchip Technology)
ICSP 쓰기 금지 및 CodeGuard 플래시 보안의 Flash OTP는 정적 코드 및 런타임 코드 보안을 핵심적으로 지원하지만, 포괄적인 내장형 보안에는 보안 키 저장, 코드 인증, 보안 통신 등 추가적인 메커니즘이 필요하다.


컴패니언 보안 장치를 사용하여 내장형 시스템 보안 보장

개발자는 dsPIC33C DSC 및 PIC24F 마이크로 컨트롤러를 Microchips의 ATECC608 CryptoAuthentication 또는 TrustAnchor100(TA100) CryptoAutomotive 보안 IC와 결합하여 하드웨어를 기반으로 한 보안 역량의 전체를 보다 쉽게 사용할 수 있다.

이러한 보안 IC는 보안 스토리지, 하드웨어 가속 암호화 엔진, 진정한 난수 생성기, 암호화 알고리즘에 필요한 기타 메커니즘을 포함하여 하드웨어를 기반으로 한 위변조 방지 보안 메커니즘을 제공한다. 이 IC는 컴패니언 장치로 특별히 설계되었으며, DSC 또는 MCU 시스템 설계에 쉽게 통합되어 완전한 내장형 시스템 보안 구현을 완성한다(그림 6).

AR(DSC)-6.jpg
[그림 6] ATECC608 또는 TA100과 같은 보안 IC는 dsPIC33C DSC 및 PIC24F MCU의 보안 기능을 보완하여 안전한 내장형 시스템 구현을 간소화한다. (이미지 출처: Microchip Technology)
보안 펌웨어 업데이트와 같은 중요한 작업을 실행하면 이러한 동반 보안 IC와 함께 dsPIC33C DSC와 PIC24F 마이크로 컨트롤러의 상호 보완적인 보안 특징을 확인할 수 있다. 개발자는 펌웨어 업데이트 작업을 완료하기 전에 코드 서명 기술을 사용하여 코드의 진위 여부와 무결성을 확인한다. 여기에서 개발자는 개발 시스템을 사용하여 코드, 코드 메타데이터 및 인증에 사용되는 서명이 포함된 업데이트 패키지를 만든다(그림 7).

AR(DSC)-7.jpg
[그림 7] 코드 서명은 대상 시스템에서 업데이트를 시작하기 전에 코드의 진위 여부와 무결성을 검증하는 데 흔히 사용되는 중요한 프로토콜을 제공한다. (이미지 출처: Microchip Technology)
대상 시스템에서 하드웨어 기반 서명 검증은 과거에 사용되었던 소프트웨어 기반 서명 검증에서 발생할 수 있었던 변조된 검증 프로토콜의 위험을 방지한다. Microchip의 ATECC608 및 TA100과 같은 동반 보안 IC를 함께 사용하면 변조 위험 없이 서명 확인 작업을 빠르고 안전하게 수행할 수 있다(그림 8).

Microchip은 보안 시스템 구현을 가속하기 위해 소프트웨어와 하드웨어 개발 도구의 조합을 제공한다.

AR(DSC)-8.jpg
[그림 8] 대상 시스템에서는 부트로더가 펌웨어를 업데이트하기 전에 코드를 검증하기 위해 ATECC608 또는 TA100과 같은 보안 IC가 제공하는 하드웨어 기반 검증이 필수적이다. (이미지 출처: Microchip Technology)

소프트웨어 및 하드웨어 개발 시간 단축

MPLAB X 통합 개발 환경(IDE)이 개발자에게 완전한 소프트웨어 개발 환경을 제공하는 반면, MPLAB XC C 컴파일러는 기존 도구 체인에 대한 개발 지원을 제공한다. 어느 환경에서든 개발 공정 속도를 높이기 위해, Microchip MPLAB Code Configurator(MCC)를 사용하면 개발자가 그래픽 인터페이스를 사용하여 초기화 프로그램을 자동으로 생성하고, 드라이버를 구축하며, 핀을 할당하고, 라이브러리를 구현하며, 내장형 소프트웨어 개발 프로젝트와 관련된 많은 중요한 저수준 설정 절차와 공정의 속도를 높일 수 있다.

개발자가 적합한 보안 부트로더를 빠르게 구현할 수 있도록 Microchip의 dsPIC33 DSC와 PIC24 MCU용 부트로더는 응용 제품에 필요한 맞춤형 부트로더를 빠르게 구성하고 생성하는 데 도움이 되는 그래픽 인터페이스를 제공한다. 관련 부트로더 호스트 응용 제품은 애플리케이션 코드를 대상 장치로 전송하는 과정을 더욱 간소화한다.

하드웨어 개발을 위해 Microchip은 dsPIC33C DSC 또는 PIC24F MCU를 기반으로 시스템을 구축하기 위한 여러 관련 개발 기판을 제공한다. 실제로 Microchip의 PIC-IoT 기판 EV54Y39A 및 PIC-IoT 기판 AC164164(그림 9)는 각각 Amazon Web Services(AWS)와 Google Cloud에 대한 보안 자격이 사전 탑재된 보안 IC가 통합되어 있다.

맞춤형 설계를 위해 Microchip은 dsPIC33CH512MP508 이중 코어 DSC를 기반으로 하는 dsPIC33CH Curiosity 개발 기판(DM330028-2)을 제공한다. 또는 개발자는 Microchip의 dsPIC33CH128MP508 기반 플러그인 모듈(MA330040)을 Microchip Explorer 내장형 평가 기판(DM240001-2)에 연결하여 보안 내장형 시스템을 신속하게 개발할 수 있다.

AR(DSC)-9.jpg
[그림 9] PIC-IoT 기판 AC164164와 같은 기판은 AWS 또는 Google Cloud에 대한 보안 자격이 사전 탑재된 보안 IC를 통합하여 내장형 보안 개발을 가속화하는 데 도움을 준다. (이미지 출처: Microchip Technology)

결론

내장형 시스템 보안은 펌웨어 무결성, 인증, 암호화, 보안 스토리지 등 핵심 사이버 보안 원칙을 지원할 수 있는 하드웨어 기반 메커니즘의 활용 여부에 달려 있다. Microchip의 dsPIC33C DSC와 PIC24F MCU는 코드 보호를 간소화하고, ATECC608과 TA100 보안 IC는 효과적인 보안 플랫폼에 필요한 추가적인 보안 메커니즘을 제공한다. 개발자는 이러한 장치를 함께 사용하여 IoT용 내장형 솔루션은 물론 자동차, 산업용, 소비자 가전 및 의료용 응용 제품에서 시스템 수준의 보안에 대한 요건을 충족할 수 있다. 

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

X


PDF 다운로드

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

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

×

회원 정보 수정