암호 기술의 기초와 응용

인증을 하지 않는 디피-헬먼 키 교환의 약점과 그 대책의 조합으로 올바른 것은?

  1. A도청자가 공개 값을 보기만 해도 공유 비밀을 계산할 수 있어 버린다. 대책은 p와 g를 비밀로 하여, 보내는 값을 통신로에서 도청당하지 않게 하는 것
  2. B도중에 있는 공격자가 각각의 상대와 따로따로 키 교환을 하는 중간자 공격을 막을 수 없다. 대책은 공개 값에 인증서의 키로 서명하여 상대를 확인하는 것
  3. C비밀 값 a와 b가 매번 같아져 공유 비밀도 바뀌지 않는다. 대책은 키 교환을 1회만 하고 같은 비밀을 오래 계속 사용하는 것
정답과 해설 보기

정답: B. 도중에 있는 공격자가 각각의 상대와 따로따로 키 교환을 하는 중간자 공격을 막을 수 없다. 대책은 공개 값에 인증서의 키로 서명하여 상대를 확인하는 것

이 키 교환은 받은 공개 값이 정말 상대로부터 온 것인지를 확인하지 않습니다. 그래서 도중에 있는 공격자는 A 씨와는 자신의 값으로, B 씨와도 자신의 값으로 따로따로 키 교환을 하여 양쪽 통신을 복호화하면서 중계할 수 있습니다(중간자 공격). TLS에서는 서버가 키 교환 내용에 인증서의 개인 키로 서명하고, 클라이언트가 이를 인증서로 확인함으로써 이 공격을 막고 있습니다. p와 g는 공개해도 되는 값이며, 비밀로 할 필요는 없습니다.

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

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

  1. NIST SP 800-57의 표에서 128비트 대칭 키 암호(AES-128)와 같은 정도의 안전성 기준으로 여겨지는 RSA 암호의 키 길이(n의 비트 수)와 타원 곡선 암호의 키 길이의 조합은?
  2. TLS에서 서버 인증서의 개인 키가 나중에 유출되더라도 그 이전에 기록된 통신은 복호화되지 않는 성질(전방향 안전성)을 얻을 수 있는 키 교환 방법은?
  3. ECDSA 디지털 서명에서는 서명마다 비밀 난수 k를 사용한다. k의 취급에 대한 설명으로 올바른 것은?
  4. 브라우저가 웹 서버의 인증서를 검증할 때의 인증서 체인에 대한 설명으로 올바른 것은?
  5. TLS 인증서 검증에서는 서명 체인과 유효 기간을 확인할 뿐만 아니라, 접속하려 한 호스트 이름이 인증서의 SAN(주체 대체 이름)에 포함되는지도 확인한다. 이 확인이 꼭 필요한 이유로 올바른 것은?