하드웨어 보안의 최신 동향

메모리 암호화에 변조 검출과 리플레이 방지를 추가하는 회로를 생각한다. 64바이트 캐시 라인마다 8바이트 MAC(변조를 검출하기 위한 부호)과, 쓰기 때마다 증가하는 8바이트 카운터를 주기억장치에 저장한다고 한다. 카운터를 보호하기 위한 트리의 몫은 고려하지 않을 때, 보호하는 데이터의 양에 대해 추가로 필요한 저장 용량의 비율은?

  1. A12.5%
  2. B20%
  3. C25%
정답과 해설 보기

정답: C. 25%

1라인당 추가 정보는 8 + 8 = 16바이트이므로 16 ÷ 64 = 25%입니다. 실제 방식에서는 카운터 자체를 바꿔 쓸 수 없도록 카운터를 묶어서 보호하는 트리(무결성 트리)도 필요하며, 그만큼 용량이 더 늘어납니다. 용량뿐 아니라 데이터를 한 번 읽을 때마다 MAC이나 카운터, 트리의 노드도 읽어야 하므로 지연과 메모리 대역폭의 부담이 커집니다. 이 때문에 큰 메모리를 보호하는 VM형 TEE의 대부분은 2020년대 중반 시점에서 완전한 리플레이 방지 트리를 사용하지 않고 다른 방법으로 무결성을 보호하는 설계를 택하고 있습니다.

이 분야 연습하기 분야로 돌아가기

하드웨어 보안의 최신 동향의 다른 문제

  1. 기밀 컴퓨팅에서 이용자의 검증 서버(검증자)가 VM형 TEE로부터 받은 증명(attestation) 보고서를 확인한 뒤에 데이터를 복호화하는 키를 넘겨준다. 검증자가 확인하는 내용의 조합으로 가장 적절한 것은?
  2. 2020년대 중반 시점에서 데이터센터용 일부 GPU는 CPU의 TEE와 조합하여 기밀 컴퓨팅에 사용할 수 있는 기능을 갖추고 있다. 이 구조의 개념으로 올바른 것은?
  3. Arm CCA(Confidential Compute Architecture)에서 도입된 렐름(Realm)의 설명으로 올바른 것은?
  4. CHERI라고 불리는 명령어 집합 확장에서 쓰이는 케이퍼빌리티(capability)의 설명으로 올바른 것은?
  5. Arm의 MTE(메모리 태깅 확장)에서는 메모리의 16바이트마다 4비트 태그를 붙이고, 포인터의 상위 비트에도 4비트 태그를 넣어, 접근할 때마다 둘이 일치하는지를 CPU가 확인한다. 해제한 영역을 가리키는 오래된 포인터로 그 영역에 접근하는 오류를 생각한다. 영역을 다시 할당할 때의 새 태그가 16가지 중에서 균일하게 무작위로 선택된다고 하면, 태그가 우연히 일치하여 오류를 놓칠 확률은?