하드웨어 보안의 최신 동향
10년 이상 사용되는 임베디드 기기의 SoC를 설계한다. 앞으로의 암호 이행(양자 내성 암호로의 이행 등)에 대비하는 하드웨어와 펌웨어의 설계로 적절한 것은?
- A서명을 확인하는 방식과 공개 키는 부팅용 ROM에 한 세트만 기록하고, 나중에 누구도 바꿀 수 없도록 고정해 두는 것이 가장 안전하다
- B부팅 시 검증에서 여러 방식이나 키를 다룰 수 있는 여지를 남기고, 가속기는 여러 방식에서 쓸 수 있는 부품으로 하여, 업데이트로 방식을 교체할 수 있게 한다
- C암호 가속기는 현재 사용하는 타원 곡선 암호의 곡선 하나만을, 면적이 가장 작아지도록 전용 회로로 만들어 넣어 두면 된다
정답과 해설 보기
정답: B. 부팅 시 검증에서 여러 방식이나 키를 다룰 수 있는 여지를 남기고, 가속기는 여러 방식에서 쓸 수 있는 부품으로 하여, 업데이트로 방식을 교체할 수 있게 한다
하드웨어는 제조한 뒤에 다시 만들 수 없으므로, 하나의 방식만 회로나 ROM에 고정하면 그 방식이 안전하지 않게 되었을 때 기기 자체를 다시 만들게 됩니다. 부팅용 ROM에서 eFuse에 두는 키의 해시값을 여러 개 가질 수 있게 하거나 방식을 고를 수 있게 해 두면, 키나 방식을 나중에 전환할 수 있습니다. 가속기도 해시 함수(SHA-2나 SHA-3), 다항식 곱셈, 큰 정수의 연산 등 여러 방식에서 쓸 수 있는 부품으로 해 두면, 펌웨어 업데이트로 새로운 방식에 대응하기 쉬워집니다. 펌웨어 서명에는 해시 함수에만 안전성을 의존하는 LMS나 XMSS 같은 방식을 쓰는 선택지도 있으며, 그 경우에는 한 번밖에 쓸 수 없는 키를 두 번 쓰지 않도록 서명하는 쪽에서의 상태 관리가 필수입니다.