더북(TheBook)

‘최소 보안 강도(Minimum of Strength)’ 열에 있는 숫자는 최소한의 ‘키 길이’를 의미합니다. 보안 강도는 특정한 길이의 키가 제공하는 보안성 정도를 의미하고, 키 길이는 보통 보안 강도에 비례합니다. 암호화 키의 길이가 길수록 그 키를 알아내기는 더 어렵지요. 다시 말해 키 길이가 길수록 ‘무차별 대입 공격’으로 키를 알아내기가 어렵습니다. 암호화 키가 n비트 길이라면 비트마다 가능한 값은 0 또는 1 두 가지이므로, n비트의 키 값은 최대 2n가지 경우의 수를 갖습니다. 이때 가능한 값을 일일이 대입해서 키를 알아내려면 2n번만큼 시도해야 합니다. 키 길이가 길수록 보안 강도가 높다는 것은 이런 의미입니다.

해가 지날수록 권고하는 키 길이는 점점 길어지는데 이것은 컴퓨터의 성능이 향상되었기 때문입니다. ‘n비트의 키를 알아내려는 2n번의 시도’에 소요되는 시간이 점점 줄어든다는 점을 감안했습니다. 이 표를 보면 2010년까지는 키 길이를 80비트로 권고했습니다. 그런데 해마다 컴퓨터 성능이 향상되면서 280번 무차별 대입에 걸리는 시간도 점점 짧아져 2011~2030년까지는 112비트, 2030년부터는 128비트 이상을 권고합니다.

다음으로 ‘대칭 키(Symmetric Key) 알고리즘(앞에서 다룬 DES나 AES 같은 블록 암호화 알고리즘은 모두 대칭 키 알고리즘에 해당)’ 열을 보면, 대칭 키 알고리즘은 대부분 해당 알고리즘이 사용하는 키 길이만큼 보안 강도가 세다는 것을 알 수 있습니다. 보통 어떤 알고리즘이 안전하다는 것은 ‘모든 경우의 수를 대입하는 것보다 적은 노력으로는 그 알고리즘을 해독할 수 없다’는 의미입니다. 즉, 그 알고리즘의 키 길이가 제공하는 최대한의 안전성을 갖는다는 뜻으로, 공식적으로는 그 알고리즘을 해독하는 지름길이 없다는 의미입니다. 또 표에서 ‘키 길이’로 표현된 보안 강도는 해당 길이의 키로 이상적인 알고리즘을 구현하여 확보할 수 있는 최대한의 안전성을 의미합니다. 대칭 키 알고리즘 중 2TDEA는 112비트 키를 사용하는 알고리즘이지만, 실제로는 80비트 키로 구현할 수 있는 이상적인 안전성을 가집니다.1 112비트 키를 사용하는 3TDEA부터는 각 키 길이에서 구현할 수 있는 최대한의 보안 강도를 가집니다.2

비대칭 키(Asymmetric Key)를 사용한 암호화 방식은 이후 공개 키 암호화를 설명할 때 다시 다룹니다.3

 

 


1 DEA는 NIST에서 표준으로 제정한 DES(Data Encryption Standard)의 원래 이름입니다. 2TDEA는 복수의 DEA를 연결하여 키 길이를 늘린 알고리즘으로, 오랜 연구 결과 특정 조건에서는 약점이 있다는 것을 발견하여 112비트가 아닌 80비트 수준의 안전성을 갖게 되었습니다. 이를 알고리즘이 ‘깨졌다’고 표현합니다.

2 3TDEA와 AES 알고리즘은 해당 키 길이에 해당하는 모든 경우의 수를 키로 대입하는 공격보다 더 쉬운 방법을 발견하지 못해서 각 키 길이와 안전도가 같습니다. 이를 알고리즘이 아직 ‘깨지지 않았다’고 표현합니다.

3 NIST의 권고사항에는 이산대수(Discrete Logarithm)나 타원 곡선(Elliptic Curve)을 활용할 때도 있지만, 책에서 다룰 내용은 아니기에 생략했습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.