암호 기술의 기초와 응용

AES-GCM에서 사용하는 96비트 논스(IV)에 대한 설명으로 올바른 것은?

  1. A비밀로 할 필요는 없고 카운터로 만들어도 되지만, 같은 키로 같은 값을 두 번 사용해서는 안 된다
  2. B공격자에게 알려지면 평문이 새어 나가므로, 키와 마찬가지로 비밀로 하여 보관해야 한다
  3. C매번 무작위로 골라야 하며, 1씩 증가하는 카운터로 만들면 안전성이 손상된다
정답과 해설 보기

정답: A. 비밀로 할 필요는 없고 카운터로 만들어도 되지만, 같은 키로 같은 값을 두 번 사용해서는 안 된다

GCM의 논스에 요구되는 것은 같은 키 아래에서 값이 겹치지 않는(유일한) 것입니다. 비밀로 할 필요는 없으며, 송신 횟수를 세는 카운터로 만들어도 조건을 충족합니다. 같은 키로 같은 논스를 사용하면 CTR 모드와 마찬가지로 평문의 XOR이 새어 나갈 뿐만 아니라 인증에 사용하는 값도 구해져, 태그를 위조당할 우려가 있습니다. 무작위로 논스를 고르는 경우에는 우연한 중복을 피하기 위해 하나의 키로 암호화하는 횟수에 상한이 정해져 있습니다(NIST SP 800-38D에서는 2^32회).

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

암호 기술의 기초와 응용의 다른 문제

  1. 어떤 장치에서 56비트 키를 모두 시도하는 무차별 대입에 약 20시간이 걸린다. 같은 장치에서 64비트 키를 모두 시도하는 데 걸리는 시간에 가장 가까운 것은?
  2. 해시 함수 SHA-2와 SHA-3에 대한 설명으로 올바른 것은?
  3. 비밀 키 K와 메시지 m을 이은 값의 해시값 SHA-256(K ‖ m)을 변조 검출용 태그로 사용하는 것은 위험하다고 여겨진다. 그 이유로 올바른 것은?
  4. 1 GiB = 2³⁰바이트, 1 EiB = 2⁶⁰바이트로 한다. 블록 길이가 64비트인 블록 암호(3DES 등)를 CBC 모드로 사용하여, 하나의 키로 대량의 데이터를 암호화한다. 암호문 블록을 무작위 64비트 값으로 간주할 때, 생일 역설에 의해 같은 암호문 블록 쌍이 나타날 확률을 무시할 수 없게 되는 데이터양의 기준은?
  5. TLS 1.3 등의 프로토콜에서 ECDHE 키 교환으로 얻은 공유 비밀을 그대로 암호 키로 사용하지 않고, HKDF 같은 키 유도 함수(KDF)를 거쳐 키를 만드는 이유로 적절한 것은?