암호 기술의 기초와 응용
AES를 CBC 모드로 사용할 때 초기화 벡터(IV)의 취급으로 적절한 것은?
- AIV는 키와 마찬가지로 비밀로 하고, 모든 메시지에서 같은 값을 계속 사용한다
- BIV는 비밀로 하지 않아도 되지만, 메시지마다 공격자가 예측할 수 없는 무작위 값을 새로 고른다
- CIV는 비밀로 하지 않아도 되며, 상대와 정해 둔 같은 값(예를 들어 모두 0)으로 매번 고정하여 사용해도 된다
정답과 해설 보기
정답: B. IV는 비밀로 하지 않아도 되지만, 메시지마다 공격자가 예측할 수 없는 무작위 값을 새로 고른다
CBC 모드에서는 각 평문 블록을 직전의 암호문 블록과 XOR한 뒤 암호화하고, 첫 블록은 IV와 XOR합니다. IV는 보통 암호문의 앞에 붙여 보내므로 비밀로 할 필요는 없습니다. 그러나 매번 같은 IV를 사용하면 앞부분이 같은 메시지는 암호문의 앞부분도 같아져, 내용의 일부가 같다는 사실이 새어 나갑니다. 나아가 다음에 사용될 IV를 공격자가 예측할 수 있으면, 고른 평문을 암호화하게 하여 내용을 추측하는 공격이 성립하는 것으로 알려져 있습니다(TLS 1.0에 대한 BEAST 공격 등).