더북(TheBook)

난수 생성기를 사용했을 때와 비교하면 FPE의 보안성은 어느 정도일까요? 안전한 난수 생성기는 이상적인 방법이므로 현실적으로는 안전한 의사 난수 생성기가 가장 보안성이 높습니다. 안전한 의사 난수 생성기는 블록 암호화 알고리즘과 해시 함수를 다양하게 조합하여 구성할 수 있고, 블록 암호화만 사용할 때보다 더 안전합니다. 따라서 블록 암호화를 기반으로 한 운영 모드인 FPE의 보안성은 ‘원본 데이터와 속성이 동일하면서 일대일로 매칭해야 한다’는 조건에서는 안전한 의사 난수 생성기에 가장 근접합니다. 현실에서 사용하는 토큰 생성기가 보안성을 다소 희생해야 하는 안전하지 않은 의사 난수 생성기임을 고려하면 FPE의 안전성은 상당히 높은 편입니다.

FPE의 보안성을 안전하지 않은 의사 난수 생성기를 사용했을 때와도 비교해 보겠습니다. 안전하지 않은 의사 난수 생성기를 사용하면 토큰과 원본 데이터를 매칭하여 보관할 저장소가 필요합니다. 따라서 길이와 형식을 유지하는 난수화(난수라고 주장하는) 작업과 함께 저장소 보안성까지 확보해야 합니다.8 여기서 난수는 길이와 형식이 유지되는 결정론적 알고리즘의 결과물이므로 이론적으로 가능한 보안성을 최대한 구현한다 해도 FPE와 수준이 같습니다.

한편 저장소를 보호하려면 앞 장에서 설명한 대로 암호화를 수행한 후 키를 적절하게 관리해야 합니다. 따라서 저장소의 안전을 100% 확보한다고 해도 안전하지 않은 의사 난수 생성기의 보안성은 FPE보다 낮거나 같은 수준에 그칩니다. 공인된 암호 알고리즘을 활용하는 FPE는 원본의 형태 또는 속성을 유지하면서 데이터를 변환하는 가장 안전한 방법인 셈입니다.

 

 


8 저장소 보안까지 수행해야 하므로 안전하지 않은 의사 난수 생성기가 FPE보다 편리하다고 하기는 어렵습니다. 암호화를 적용한 후 키 관리만 수행하면 되는 FPE가 더 편리합니다.

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