IoT 보안 기본 사항 - 4부: 런타임 위협 완화

작성자: Stephen Evanczuk

DigiKey 북미 편집자 제공

편집자 주: IoT 장치의 확산에도 불구하고, 공격이 성공할 경우 회사 데이터와 개인 데이터가 손상될 수 있는 산업용 IoT(IIoT)와 핵심 응용 분야에서 보안 위협은 연결 장치를 채택하는 데 장벽이 되는 만큼, 이러한 장치를 보호하는 것은 지속적인 문제로 남아 있습니다. IoT 응용 제품을 보호하는 것이 까다로울 수도 있지만, 실제로 IoT 장치 보안은 하드웨어 보안 장치에서 지원하는 상대적으로 간단한 몇 가지 원칙으로 구축할 수 있습니다. 체계적인 보안 방법에 따라 문제를 해결할 수 있습니다. 여러 단원으로 구성된 이 시리즈에서는 개발자가 시작 단계부터 모범 사례를 따르도록 도와주는 실용적인 지침을 제공합니다. 1부에서는 보안 설계의 기반이 되는 암호화 알고리즘에 대해 설명합니다. 2부에서는 보안 IoT 설계에서 개인 키, 키 관리 및 보안 스토리지의 역할에 대해 설명합니다. 3부에서는 IoT 장치에 대한 다른 유형의 위협을 완화하기 위해 보안 프로세서를 기반으로 구축된 메커니즘을 살펴봅니다. 이번 4부에서는 고급 프로세서에 보안 메커니즘을 적용하여 IoT 장치의 런타임 환경에서 공격을 완화하는 데 필요한 분리 상태를 보장하는 방법을 확인하고 보여줍니다. 5부에서는 이러한 장치를 IoT 클라우드 리소스에 연결하는 데 사용되는 더 높은 수준의 보안 조치까지 IoT 장치의 보안을 계속해서 살펴봅니다.

보안 스토리지를 통한 하드웨어 기반 암호화에서는 보안 IoT 설계를 구현하는 데 필요한 토대를 제공합니다. 보안 부트 및 보안 무선 펌웨어(FOTA) 업데이트에서는 이러한 토대를 활용하여 소프트웨어 실행에 대한 신뢰를 구축합니다. 그럼에도 불구하고 소프트웨어 응용 제품에서 액세스하는 보안 리소스와 런타임 환경에서 실행 중인 시스템 코드를 실수로 또는 고의로 훼손할 수 있는 소프트웨어로부터 사물 인터넷(IoT) 장치를 지속적으로 보호해야 합니다.

이 기사에서는 NXP Semiconductors, STMicroelectronics 및 기타 벤더의 일부 프로세서에 내장된 보안 메커니즘을 사용하여 소프트웨어 실행 중에 발생하는 위협으로부터 시스템을 효과적으로 보호할 수 있는 방법을 설명합니다.

런타임 소프트웨어는 어떻게 훼손되는가?

이 시리즈의 이전 단원들에서 설명한 대로 암호화, 보안 키 스토리지, 보안 부트 및 펌웨어 업데이트는 IoT 보안에 필요한 구성 요소를 제공합니다. 이러한 기능은 전체 IoT 장치 보안에 중요한 역할을 하지만 연결된 시스템에서 런타임 소프트웨어를 훼손하기 위해 고안된 공격에 대한 불완전한 솔루션을 제공할 수 있습니다. 보안 부트를 통해 신뢰할 수 있는 환경이 구축된 덕택에 이러한 메커니즘에서 제공하는 방어선을 침투하려는 시도가 실패하는 것이 이상적이지만, 실제로는 강력한 보안 기능을 기반으로 구축된 시스템이 손상된 코드 또는 맬웨어를 시스템에 주입하는 공격으로 인해 손상될 수 있습니다.

해커는 다양한 방법을 사용하여 시스템의 특정 부분에 존재하는 보안 취약성을 악용하여 다른 부분을 공격할 수 있습니다. 예를 들어 버퍼 오버플로 공격은 대규모 입력 데이터 스트림을 의도된 버퍼 영역을 통과하여 기록할 수 있는 소프트웨어 응용 제품을 활용합니다. 해당 오버플로 데이터에 코드가 포함되어 있는 경우 프로세서에서 나중에 해당 코드를 실행하여 해커에게 추가 공격을 위한 진입점을 제공할 수 있습니다. 해커는 이러한 방법을 사용하여 시스템의 점점 더 넓은 부분으로 침투합니다.

취약성은 시스템의 모든 소프트웨어 스택에 있는 모든 소프트웨어 구성 요소에 존재할 수 있습니다. 개발자가 더 많은 기능을 가진 시스템을 생성하고자 노력하면서 더 많은 소프트웨어 구성 요소가 필요해짐에 따라 더 많은 시스템 취약성이 노출될 가능성이 커지고 있습니다. 동시에 소프트웨어에서 발견되는 취약성도 더욱 다양해지고 있습니다. 예를 들어 공개된 사이버 보안 취약성을 열거하는 권위 있는 CVE(Common Vulnerabilities and Exposures)® 목록이 2020년 1분기에 15% 증가했습니다.

중요한 소프트웨어를 보호하는 보호 계층

위협 완화는 블랙햇 해커와 화이트햇 보안 전문가 사이의 계속되는 싸움입니다. 위협이 지속적으로 나타나겠지만 개발자는 일반 응용 제품에 필요한 다양한 소프트웨어 프로세스를 분리하기 위해 고안된 방법을 활용하여 설계에서 보안을 획기적으로 강화할 수 있습니다. 오랫동안 계층형 보안 방법을 기반으로 보안 시스템을 구축했습니다. 이 일반 방식에서 보안 동심원 링은 시스템에서 높은 수준의 분리 기능을 제공합니다. 가장 바깥 계층에서 실행 중인 응용 제품은 내부 계층에 있는 장치 드라이버 및 시스템 서비스에 대한 액세스가 제한되므로, 가장 안쪽 계층에 있는 소프트웨어 커널에 액세스할 수 없습니다(그림 1).

계층형 보호 방법의 구성도그림 1: 보안 소프트웨어 시스템은 보호 링 안에 있는 응용 제품, 드라이버 및 운영 체제 커널을 보호합니다. 보호 링이 커질수록 보호 수준이 점진적으로 강화됩니다. (이미지 출처: Wikipedia)

80286 이상 Intel x86 장치는 현재 Rochester Electronics에서 제공되고 네 가지 수준을 지원하며, 2비트 요청된 권한 수준(RPL) 필드를 포함하는 선택기 레지스터를 사용하여 설계되었습니다. Arm® TrustZone과 같은 최신 프로세서 아키텍처는 런타임에 사용자 프로세스를 분리하도록 고안된 다양한 메커니즘을 통해 보안 기능을 획기적으로 강화했습니다. 개발자는 다음을 비롯한 많은 내장형 시스템 프로세서에서 이러한 유형의 계층형 보호 기능을 발견할 수 있습니다.

  • Arm Cortex®-M23을 기반으로 하는 Microchip TechnologySAM L11 마이크로 컨트롤러 제품군
  • Arm Cortex-M33을 기반으로 하는 Nordic SemiconductornRF9160 무선 SoC(시스템온칩)
  • Arm Cortex-M23을 기반으로 하는 Nuvoton TechnologyM2351 마이크로 컨트롤러
  • Arm Cortex-M33을 기반으로 하는 NXP Semiconductors의 LPC55 마이크로 컨트롤러
  • Arm Cortex-M33을 기반으로 하는 Silicon LabsEFR32BG21 무선 SoC 제품군
  • Arm Cortex-M33을 기반으로 하는 STMicroelectronics의 STM32L5 마이크로 컨트롤러 제품군

Arm TrustZone for Cortex-M은 NXP LPC55S69JBD100K 및 STMicroelectronics의 STM32L552VET6과 같은 Arm Cortex-M 내장형 시스템 프로세서에 향상된 보안 기능을 제공합니다. TrustZone for Cortex-A는 NXP i.MX 8M Mini MIMX8MM6DVTLZAA 및 STMicroelectronics의 STM32MP157AAC3T와 같은 Arm Cortex-A 기반 응용 프로세서에 유사한 기능을 제공합니다.

각 Arm 계열에 대해 TrustZone은 보안 부트, 보안 코드, 데이터 및 메모리와 같은 보안 기능을 지원하는 메커니즘을 제공합니다. 내장형 시스템의 짧은 대기 시간 요구 사항을 지원하도록 고안된 TrustZone for Cortex-M 프로세서는 빠른 보안 인터럽트, 빠른 하드웨어 기반 보안 상태 전환을 비롯한 성능 향상을 제공합니다. 이 기사에서는 이 클래스를 대표하는 두 프로세서인 NXP LPC55S69JBD100K 및 STMicroelectronics STM32L552VET6을 중심으로 TrustZone for Cortex-M 프로세서에 대해 설명합니다.

확장된 보호를 지원하는 프로세서 작동 모드

TrustZone 아키텍처의 중심에 있는 프로세서는 소프트웨어 프로세스와 시스템 리소스의 분리를 지원하는 다양한 작동 모드로 실행될 수 있습니다. 프로세서 "보안" 및 "비보안" 모드를 활용하여 신뢰할 수 있는 프로세스를 신뢰할 수 없는 프로세스와 분리할 수 있습니다. 프로세서 "핸들러" 및 "스레드" 모드는 프로세스와 리소스를 분리할 때 추가적인 세분성을 지원하는 별도의 보호 메커니즘을 제공합니다.

TrustZone 아키텍처에서 핸들러 모드로 실행 중인 프로세서는 소프트웨어를 항상 권한 있는 모드에서 실행되도록 합니다. 따라서 실시간 운영 체제(RTOS)와 같은 소프트웨어를 실행하거나 시스템 작동에 중요한 부트 이미지, 보안 키 및 기타 리소스에 액세스하는 데 사용하도록 권장되는 모드입니다. 스레드 모드에서는 소프트웨어가 권한 없는 모드에서 실행되지만 권한 있는 프로세스가 이 모드에서 실행 중인 소프트웨어의 권한 수준을 변경할 수 있습니다. 스레드 모드는 일반적으로 응용 코드를 실행하는 데 사용됩니다.

조합으로 사용되는 보안/비보안 및 핸들러/스레드 모드는 보호 링을 지원하는 이전 시스템에서 발견되는 것과 동일한 계층형 보호를 제공합니다. 예를 들어 개발자는 STMicroelectronics STM32L552VET6을 사용하여 전체 권한을 가진 신뢰할 수 있는 코드를 최소 권한을 가진 신뢰할 수 없는 코드와 분리할 수 있습니다(그림 2).

STMicroelectronics의 STM32L552VET6 TrustZone 프로세서 구성도그림 2: STMicroelectronics STM32L552VET6과 같은 TrustZone 프로세서는 개발자가 신뢰할 수 있는 시스템 소프트웨어(예: 부트 이미지)를 신뢰할 수 없는 응용 코드(예: 타사 무선 주파수(RF) 통신 스택)와 분리할 수 있도록 프로세서 모드 조합을 제공합니다. (이미지 출처: Digi-Key, STMicroelectronics 출처 자료 사용)

이러한 프로세서에 내장된 분리 메커니즘은 프로그램 데이터 메모리의 서로 다른 영역을 액세스하도록 각 프로세서의 기능을 제한합니다. 예를 들어 NXP LPC55S6x 코어가 보안 상태에 있는 경우 비보안 데이터 메모리를 연결할 수 있지만 비보안 프로그램 메모리에 액세스할 수 없습니다. 반면에 LPC55S6x 코어가 비보안 상태에서 실행 중인 경우 비보안 프로그램 메모리 및 데이터 메모리에만 액세스할 수 있습니다(그림 3).

NXP의 LPC55S6x 장치 구성도그림 3: NXP의 LPC55S6x 장치와 같은 프로세서는 코어를 보안 상태(S 상태)에서 실행하여 보안 프로그램 메모리(녹색)을 읽거나 비보안 상태(NS 상태)에서 실행하여 비보안 프로그램 메모리(빨간색)를 읽을 수 있습니다. (이미지 출처: NXP Semiconductors)

신뢰할 수 있는 소프트웨어를 실행하기 위해 보안 상태에서 실행 중인 경우 프로세서는 비보안 프로그램 메모리에서 명령을 가져올 수 없습니다. 반대로 응용 코드와 같은 신뢰할 수 없는 소프트웨어를 실행하기 위해 비보안 상태에서 실행 중인 경우 보안 영역에 있는 코드 또는 데이터에 액세스할 수 없습니다. 그럼에도 불구하고 응용 코드는 일반적으로 보안 라이브러리에서 신뢰할 수 있는 코드를 실행할 수 있는 기능이 필요합니다. TrustZone 프로세서를 사용하면 개발자가 보안 라이브러리에 허용되는 진입점을 제공하는 비보안 호출 가능(NSC) 메모리 영역을 정의하여 이 요구 사항을 충족할 수 있습니다(그림 4).

비보안 호출 가능 영역의 구성도그림 4: 비보안 호출 가능 영역은 비보안 메모리 영역에서 보안 메모리 영역으로 연결하는 보안 진입점을 제공하여 비보안 응용 제품이 보안 라이브러리에서 기능을 실행할 수 있도록 지원합니다. (이미지 출처: STMicroelectronics)

보안을 강화하는 메모리 앨리어스

NXP LPC55S69JBD100K 및 STMicroelectronics STM32L552VET6과 같은 TrustZone 프로세서는 물리적 프로그램 메모리를 보안 메모리 영역과 비보안 메모리 영역으로 앨리어싱하여 실행을 관리합니다. 예를 들어 STMicroelectronics STM32L552VET6는 플래시와 SRAM에서 코드를 두 번, 즉 비보안 주소 범위(0x0800_0000 ~ 0x0BFF_FFFF)에서 한 번, 보안 주소 범위(0x0C00_0000 ~ 0x0FFF_FFFF)에서 한 번 앨리어싱합니다. 마찬가지로 NXP LPC55S69JBD100K는 0x0000_0000에서 시작하는 비보안 영역과 0x1000_0000에서 시작하는 보안 영역에서 물리적 프로그램 메모리를 앨리어싱합니다. 각 프로세서는 다른 메모리 유형 및 주변 장치에 대해 유사한 방법을 사용하여 보안 영역과 비보안 영역에서 두 번 앨리어싱합니다.

프로세서에서 메모리 위치에 액세스해야 하는 경우 두 하드웨어 장치에서 생성되는 보안 속성에 의해 해당 위치에 액세스할 수 있는 기능이 결정됩니다.

  • IDAU(Implementation Defined Attribution Unit)는 제조업체에서 정의한 메모리 맵의 고정 보안 상태를 제공하는 프로세서 코어 외부의 고정 하드웨어 장치입니다.
  • SAU(Secure Attribution Unit)는 최대 8개 메모리 영역의 보안 상태를 정의하는 데 사용되는 프로세서 코어에 내장된 프로그래밍 가능 장치입니다.

시스템 초기화 중에 보안 모드에서 실행 중인 구성 루틴은 다음과 같은 일부 SAU 레지스터를 설정하여 각 영역의 보안 상태를 정의합니다.

  • SAU 영역 번호 레지스터(SAU_RNR) - 추가 작업을 위한 영역 선택
  • SAU 영역 기본 주소 레지스터(SAU_RBAR) - 영역의 시작 주소 정의
  • SAU 영역 제한 주소 레지스터(SAU_RLAR) - 영역의 범위 정의

STM32L5 계열용 STM32Cube MCU 소프트웨어 패키지에 포함된 STMicroelectronics는 SAU 구성을 비롯한 프로세서 기능의 사용을 보여주는 여러 템플릿 파일을 제공합니다. 목록 1과 같이 개발자는 구성 설정을 장치에 기록할 때 사용되는 SAU 구조에서 레지스터 값을 설정하는 매크로(SAU_INIT_REGION(n))를 사용하여 각 구성 파라미터에 대한 영역을 정의할 수 있습니다.

복사
/*
//   <e>Initialize SAU Region 0
//   <i> Setup SAU Region 0 memory attributes
*/
#define SAU_INIT_REGION0    1
 
/*
//     <o>Start Address <0-0xFFFFFFE0>
*/
#define SAU_INIT_START0     0x0C03E000      /* start address of SAU region 0 */
 
/*
//     <o>End Address <0x1F-0xFFFFFFFF>
*/
#define SAU_INIT_END0       0x0C03FFFF      /* end address of SAU region 0 */
 
/*
//     <o>Region is
//         <0=>Non-Secure
//         <1=>Secure, Non-Secure Callable
*/
#define SAU_INIT_NSC0       1
/*
//   </e>
*/
 
/*
//   <e>Initialize SAU Region 1
//   <i> Setup SAU Region 1 memory attributes
*/
#define SAU_INIT_REGION1    1
 
/*
//     <o>Start Address <0-0xFFFFFFE0>
*/
#define SAU_INIT_START1     0x08040000      /* start address of SAU region 1 */
 
/*
//     <o>End Address <0x1F-0xFFFFFFFF>
*/
#define SAU_INIT_END1       0x0807FFFF      /* end address of SAU region 1 */
 
/*
//     <o>Region is
//         <0=>Non-Secure
//         <1=>Secure, Non-Secure Callable
*/
#define SAU_INIT_NSC1       0
/*
//   </e>
*/
   .
   .
   .
**
  \brief   Setup a SAU Region
  \details Writes the region information contained in SAU_Region to the
           registers SAU_RNR, SAU_RBAR, and SAU_RLAR
 */
__STATIC_INLINE void TZ_SAU_Setup (void)
{
 
#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U)
 
  #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U)
    SAU_INIT_REGION(0);
  #endif
   .
   .
   .
#define SAU_INIT_REGION(n) \
    SAU->RNR  =  (n                                     & SAU_RNR_REGION_Msk); \
    SAU->RBAR =  (SAU_INIT_START##n                     & SAU_RBAR_BADDR_Msk); \
    SAU->RLAR =  (SAU_INIT_END##n                       & SAU_RLAR_LADDR_Msk) | \
                ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos)  & SAU_RLAR_NSC_Msk)   | 1U
 

목록 1: STM32L5 계열을 위한 STMicroelectronics의 STM32Cube MCU 소프트웨어 패키지에 있는 템플릿에 포함된 이 코드 조각은 개발자가 메모리 영역 및 연결된 보안 상태를 정의하는 방법을 보여줍니다. (코드 출처: STMicroelectronics)

IDAU와 SAU가 함께 작동하여 메모리 위치가 액세스 가능한지 여부를 결정하고 둘 중 가장 높은 보안 수준을 반환합니다. 프로세서가 보안/비보안 작동 상태에 해당하는 메모리 앨리어스로 작동하면 IDAU 및 SAU 조합에 의해 생성된 보안 속성으로 인해 보안 수준이 일치하는 영역에만 액세스할 수 있습니다(그림 5).

NXP의 LPC55S69JBD100K IDAU 및 SAU 구성도(확대하려면 클릭)그림 5: NXP LPC55S69JBD100K에서 IDAU와 SAU가 결합되어 각 메모리 앨리어스에 대한 보안 속성을 생성하고, 해당 영역에서 실행될 수 없는 코드를 효과적으로 제거합니다. (이미지 출처: NXP Semiconductors)

예를 들어 NXP LPC55S69JBD100K가 보안 모드에서 작동 중인 경우 IDAU 및 SAU에서 생성되는 보안 속성은 비보안 코드를 보안 앨리어스에서 효과적으로 제거하여 물리적 메모리 블록의 보안 앨리어스에 포함된 비보안 응용 제품에 액세스하지 못하도록 차단합니다. 반대로 프로세서가 비보안 모드에서 작동 중인 경우 IDAU 및 SAU 보안 속성은 보안 응용 제품을 결과 비보안 앨리어스에서 효과적으로 제거합니다.

권한 및 액세스 제어 설정

IDAU 및 SAU는 보안 액세스 제한과 비보안 액세스 제한을 직접 적용하지만, 보안 및 비보안 메모리 보호 장치(MPU)를 사용하여 대상 리소스와 연결된 액세스 권한을 결정합니다(그림 6).

NXP의 LPC55S69JBD100K TrustZone 프로세서 구성도그림 6: 여기에 설명된 NXP LPC55S69JBD100K와 같은 TrustZone 프로세서에서 SAU 및 IDAU에서 생성되는 보안 속성은 보안 및 비보안 MPU에서 관리되는 설정과 결합되어 권한 수준과 보안 수준을 제공합니다. (이미지 출처: NXP Semiconductors)

이러한 프로세서에 내장된 MPU는 메모리 리소스의 액세스를 세부적으로 제어합니다. 예를 들어 STMicroelectronics STM32L552VET6에서 MPU는 프로세서를 권한 있는 핸들로 모드에서 실행할 때와 권한 없는 스레드 모드에서 실행할 때 달라지는 다양한 액세스 권한을 지원합니다(표 1).

STMicroelectronics의 STM32L552VET6 권한 있는 모드와 권한 없는 모드 비교 표표 1: STMicroelectronics STM32L552VET6을 활용하면 개발자가 MPU를 사용하여 권한 있는 모드와 권한 없는 모드에서 다르게 작동하는 다양한 수준의 액세스를 정의할 수 있습니다. (표 출처: STMicroelectronics)

이러한 속성과 함께 XN(Execute Never) 속성을 사용하면 프로세서가 연결된 메모리 영역에서 코드를 실행하려고 시도하지 않아 다른 수준의 런타임 보호를 제공할 수 있습니다. 예를 들어 플래시에서 직접 코드를 실행하는 시스템에서 개발자는 사용되지 않은 SRAM 영역에 대한 XN 속성을 설정하여 해당 영역에서 맬웨어 주입 공격이 성공하더라도 시스템이 손상될 가능성이 없도록 할 수 있습니다.

더 많은 주변 장치 및 메모리로 보호 확장

이러한 프로세서의 IDAU, SAU 및 MPU 기능은 시스템 소프트웨어와 응용 제품 모두의 런타임 실행을 보호하기 위한 유연한 토대를 제공하지만 해당 기능은 프로세서 자체로 제한됩니다. NXP LPC55S69JBD100K 및 STMicroelectronics STM32L552VET6과 같은 프로세서는 다양한 방식으로 다른 메모리 시스템 및 인터페이스에 보안된 권한 기능을 전달합니다.

STM32L552VET6의 경우 STMicroelectronics는 주변 장치, 내장된 SRAM 및 외부 메모리를 보호하도록 고안된 자체 글로벌 TrustZone 컨트롤러(GTZC)로 네이티브 TrustZone 메커니즘을 보완합니다(그림 7).

STMicroelectronics의 STM32L552VET6 프로세서 구성도그림 7: STMicroelectronics STM32L552VET6 프로세서는 네이티브 TrustZone 프레임워크에 포함되지 않은 주변 장치 및 메모리로 보안 보호를 확장하는 글로벌 TrustZone 컨트롤러(GTZC)를 통합합니다. (이미지 출처: STMicroelectronics)

NXP LPC55S69JBD100K에서 권한 속성(HPRIV) 및 보안 속성(HNONSEC)은 내부 AHB(Advanced High-performance Bus) 매트릭스를 통해 전달되어 다른 버스 마스터를 위한 MPC(Memory Protection Checker), PPC(Peripheral Protection Checker) 및 MSW(Master Security Wrapper)를 연결합니다(그림 8).

NXP LPC55S69JBD100K 구성도그림 8: NXP LPC55S69JBD100K에서 권한 수준과 보안 수준은 메모리, 주변 장치 및 다른 버스 마스터를 비롯하여 작업에 해당 속성을 적용하는 추가 하드웨어 장치에 전송됩니다. (이미지 출처: NXP Semiconductors)

소프트웨어 분리 및 시스템 보호의 기본 메커니즘을 이해하는 것이 중요하지만 개발자는 개발 지원을 활용하여 설계에서 이러한 기능을 빠르게 적용할 수 있습니다.

STMicroelectronics는 STM32L5 프로세서를 기반으로 응용 제품을 빌드하기 위한 빠른 시제품 제작 플랫폼으로 STM32L552E-EV, STM32L562E-DKNUCLEO-L552ZE-Q 평가 기판을 제공합니다. 회사의 STM32CubeIDE 통합 개발 환경(IDE)은 소프트웨어 프로그래밍을 위한 포괄적인 환경을 제공하고, STM32CubeProgrammer는 내부 메모리와 외부 메모리를 프로그래밍하기 위해 그래픽 사용자 인터페이스(GUI) 버전과 명령줄 인터페이스(CLI) 버전을 모두 제공합니다. 예를 들어 개발자는 이 툴을 사용하여 플래시 메모리에서 보안 영역을 정의할 수 있습니다(그림 9).

STMicroelectronics STM32CubeProgrammer 이미지그림 9: STMicroelectronics STM32CubeProgrammer는 플래시 메모리에서 보안 영역을 정의하는 간단한 방법을 제공합니다. (이미지 출처: STMicroelectronics)

NXP의 LPC55S69 프로세서를 기반으로 시스템을 빠르게 개발하기 위해 개발자는 NXP LPC55S69-EVK 평가 기판에서 설계를 빌드할 수 있습니다. 시스템 구성 및 소프트웨어 프로그램의 경우 NXP MCUXpresso IDE는 NXP LPC55S69 프로세서를 기반으로 응용 제품을 구축할 수 있는 포괄적인 플랫폼을 제공합니다.

결론

IoT 보안은 하드웨어 보안 메커니즘을 기반으로 신뢰할 수 있는 응용 제품을 빌드할 수 있는 기능과 암호화 및 보안 스토리지의 기본 보안 메커니즘에 따라 달라집니다. 이들 기능은 모두 보안을 위해 필요하지만 시스템 런타임 환경에서 취약성을 노출하도록 고안된 지속적인 위협에 대응하는 데는 충분하지 않습니다. 점점 더 많은 프로세서 어레이에서 제공되는 계층형 보호 메커니즘을 사용하여 개발자는 이러한 위협을 효과적으로 완화하고 IoT 응용 제품에 미치는 영향을 줄이거나 제거할 수 있는 보안 IoT 장치를 빌드할 수 있습니다.

DigiKey logo

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

작성자 정보

Image of Stephen Evanczuk

Stephen Evanczuk

Stephen Evanczuk는 전자 산업에 관해 하드웨어, 소프트웨어, 시스템, 응용 제품(예: IoT)을 비롯한 광범위한 주제에 대해 20년 이상 집필한 경력을 갖고 있습니다. 그는 신경 과학의 뉴런 네트워크 박사 학위를 받았으며항공 우주 산업 분야의 광범위하게 분포된 보안 시스템 및 알고리즘 가속 메서드 관련 업무를 수행했습니다. 현재, 기술 및 엔지니어링에 대해 기사를 쓰지 않을 때에는 인식 및 추천 시스템에 대한 심층적 학습 응용 프로그램을 연구하고 있습니다.

게시자 정보

DigiKey 북미 편집자