MCU/MPU에 비밀 데이터를 안전하게 저장하는 방법 | 반도체네트워크

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

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

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

MCU/MPU에 비밀 데이터를 안전하게 저장하는 방법



키는 시스템 보안의 기초입니다.

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

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

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

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

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

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


키 저장소의 기능

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

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

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

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

• 정적 스토리지

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

• 단기 저장

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

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

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

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

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

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

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

• 물리적 공격 방지

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


주요 저장 사례

누보톤 M2354를 예로 들어보겠습니다. 이 케이스는 키 저장소 하드웨어 유닛을 포함하고 키 저장 기능을 제공하며 128비트에서 4096비트 길이의 키를 저장할 수 있습니다. 완전한 키를 단위로 사용하여 키를 쓰고, 삭제하고, 취소하며, 무결성 검사 기능도 있습니다. 키의 비트에 문제가 있으면 해당 키는 무효화되어 더 이상 사용할 수 없게 됩니다.

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

또한 키 저장소에서 키를 생성할 때 관련 속성을 지정하여 CPU 또는 특정 암호화 엔진에서만 키를 사용하도록 제한하여 키 사용을 더욱 제한하고 키의 보안을 강화할 수 있습니다.

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


결론

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

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

X


PDF 다운로드

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

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

×

회원 정보 수정