하드웨어 보안

제품으로 출하하는 기기에서 JTAG 등의 디버그 포트를 비활성화하거나 인증이 필요하도록 하는 이유로 올바른 것은?

  1. A디버그 포트가 있으면 전력이 늘어 배터리가 금방 닳기 때문
  2. B디버그 포트는 출하하면 자동으로 망가지기 때문
  3. C디버그 포트로는 메모리나 레지스터의 읽기/쓰기, 프로그램 정지가 가능하므로, 그대로 두면 펌웨어나 키를 도난당하거나 변조될 수 있기 때문
정답과 해설 보기

정답: C. 디버그 포트로는 메모리나 레지스터의 읽기/쓰기, 프로그램 정지가 가능하므로, 그대로 두면 펌웨어나 키를 도난당하거나 변조될 수 있기 때문

JTAG나 SWD 같은 디버그 포트는 개발 중에 칩 안을 자유롭게 조사할 수 있는 강력한 도구입니다. 제품에 그대로 남아 있으면 공격자가 기판의 단자에 장치를 연결하여 펌웨어를 읽어 내거나, 보안 부트를 건너뛰거나, 키를 꺼낼 수 있습니다. 출하 시 eFuse로 비활성화하거나, 암호 인증을 통과한 경우에만 사용할 수 있게 하는 등의 대책을 취합니다.

  • A. 주된 이유는 전력이 아닙니다.
  • B. 자동으로 망가지는 것이 아닙니다.
  • C. 올바릅니다. 개발에 편리한 기능은 공격에도 편리합니다.
이 분야 연습하기 분야로 돌아가기

하드웨어 보안의 다른 문제

  1. IC 카드 등 보안용 칩에 요구되는 내탬퍼성(tamper resistance)의 설명으로 올바른 것은?
  2. 칩 안에 키를 기록하여 저장하는 방법으로 일반적으로 사용되는 것은?
  3. CPU에 AES 암호 전용 명령(AES-NI 등)을 갖추게 하는 이점으로, 속도 외에 꼽을 수 있는 것은?
  4. 암호 처리를 「정수 시간」으로 구현할 때 지켜야 할 것으로 올바른 것은?
  5. 캐시 사이드 채널 대책으로서 공유 캐시를 분할(파티셔닝)한다는 개념으로 올바른 것은?