MCU 애플리케이션의 제품 수명 주기 관리 소개
제품의 설계, 개발, 조립부터 사용자의 손에 닿을 때까지 안전한 제품을 위해 보안을 종합적으로 고려하고 효율적인 관리를 수행해야 하며, 이를 제품 수명 주기 관리라고 합니다.
MCU형 제품의 경우 제품 수명 주기는 칩 공급업체, OEM, 제품 배포 상태, 반품 상품 승인(RMA) 상태로 나눌 수 있습니다.
칩 공급업체의 상태
MCU는 칩 공장에서 제조된 다음 원래 제조업체에서 테스트 및 설정한 다음 제품 제조업체에 전달하여 제품 개발 및 제조를 수행할 수 있습니다.
예를 들어 M2354 칩은 원래 제조업체에서 제조할 때 변경할 수 없는 고유 식별 번호(UID)를 가지며 고객의 필요에 따라 UCID도 설정할 수 있습니다. 현재 MCU에는 펌웨어와 키가 포함되어 있지 않으며 읽기, 프로그래밍, 디버깅과 같은 작업을 수행할 수 있습니다.
Original Shipping(OEM) 상태
OEM 상태에서는 MCU를 사용하여 제품용 펌웨어를 개발할 수 있어야 하며, 제품용 펌웨어 개발이 완료된 후 공장에서 제품 펌웨어를 MCU에 프로그래밍할 수 있어야 하므로 현재 MCU는 열린 상태이며 내부 데이터의 읽기 및 프로그래밍, 프로세스의 개발 및 디버깅을 허용합니다. 루트 오브 트러스트 기반의 보안 부팅 프로세스는 현재 모두 비활성화되어 있지만 서로 다른 개발 단계에 따라 하나씩 활성화할 수 있습니다.
M2354 를 예를 들면, 고객은 현재 NuLink ICE를 사용하여 펌웨어 개발 및 디버깅을 수행할 수 있으며, 문제가 없음을 확인한 후 칩에 키를 쓸 수 있습니다. 그 후 MCU는 루트 오브 트러스트 메커니즘을 활성화하고 보안 부트업 검증 프로세스를 강제 실행하며, 모든 승인되지 않은 펌웨어는 실행할 수 없습니다. 또한 디버그 보호 메커니즘(DPM)을 활성화하여 읽기, 프로그래밍 및 디버깅 기능에 대한 액세스를 제한할 수 있도록 디버그 기능에 대한 승인 메커니즘을 활성화할 수 있습니다.
제품 배포(배포) 상태
제품용 펌웨어가 개발되고 생산 라인 어셈블리가 완료되면 이제 제품 배포 상태가 되며, 이는 이제 판매를 위해 시장에 전달되어 최종적으로 소비자의 손에 닿을 수 있음을 의미합니다. 이때 사용자 데이터의 보안을 보호하기 위해 제품의 모든 보안 메커니즘이 활성화되며, 여기에는 보안 부팅 프로세스와 읽기, 프로그래밍, 디버깅 인터페이스 등이 포함됩니다. 모든 무단 작업은 허용되지 않습니다.
그러나 결함 분석 요건을 충족하기 위해 필요한 경우 제품이 RMA 상태에 진입할 수 있도록 MCU는 원래 제조업체가 설정한 승인 조건이 충족되는 특별 허가를 받아 RMA 상태에 진입할 수 있습니다.
반품 상품 승인(RMA) 상태
제품에 문제가 발생하여 분석이 필요한 경우 MCU에 읽기, 쓰기, 디버깅과 같은 작업을 수행해야 할 수도 있습니다. 이로 인해 사용자 데이터가 유출되는 것을 방지하기 위해 원래 제조업체의 RMA 상태 진입 승인을 받았더라도 MCU가 RMA 상태에 진입하면 MCU의 모든 데이터를 강제로 지우게 되며, 사용자와 RMA의 데이터 보안 요건을 모두 충족하기 위해 칩의 키도 유효하지 않게 됩니다. 또한 RMA 상태에서의 디버깅은 여전히 DPM에 의해 관리되며 무단 액세스는 금지됩니다.
주목할 만한 점은 제품 수명 주기에 따른 모든 상태는 단방향이며 돌이킬 수 없다는 것입니다. 예를 들어 M2354 의 제품 수명 주기 관리 메커니즘을 예로 들어, 공급업체/OEM 상태에서는 칩을 읽고, 프로그래밍하고, 디버깅할 수 있으며, 배포된 상태로만 변경할 수 있습니다. 배포된 상태에서는 관련 보안 메커니즘이 강제로 활성화되어 모든 무단 액세스를 금지하며, RMA 상태로만 변경할 수 있습니다. RMA 상태로 진입하면 모든 사용자 데이터를 강제로 삭제하고 칩의 모든 키를 비활성화하여 가능한 보안 취약점을 방지하기 위해 다른 승인된 작업을 수행할 수 있습니다. RMA 상태로 진입하면 칩의 수명 주기가 끝났음을 의미하며, MCU의 상태를 더 이상 변경할 수 없으며, MCU 내부의 잘못된 키로 인해 모든 펌웨어가 보안 부팅 인증을 통과할 수 없기 때문에 제품에서 다시 사용할 수 없습니다.