더북(TheBook)

icon 알아 두면 좋은 짤막한 지식

 

FPE 모드

앞서 설명한 다섯 가지 운영 모드와 함께 기억하면 좋은 운영 모드가 한 가지 더 있습니다. FPE(Format Preserving Encryption : 형태 보존 암호화)입니다. FPE는 신용카드 정보처럼 특정한 형태의 데이터를 암호화하는 운영 모드입니다. 이름대로 ‘데이터의 포맷(형태)을 유지’하면서 암호화를 수행합니다. 예를 들어 16자리 숫자로 구성된 신용카드 번호를 암호화하면 16자리 길이와 형태를 그대로 유지하는 운영 모드입니다. 이 운영 모드의 취지를 이해하려면 앞서 배운 암호화 안전성 개념을 조금 전환해야 합니다.

16자리 숫자는 각 자리에 0에서 9까지 숫자 열 개가 들어갈 수 있으므로 1016가지 가능성이 있습니다. 이는 대략 270 정도의 크기로, 현재 컴퓨터 연산 수준에서는 작은 크기입니다. 이 정도 크기는 가능한 값을 일일이 대입하는 방식(무차별 대입 공격10)으로도 정보를 얻을 수 있습니다. 16자리 숫자를 암호화하는 데 크기가 2128인 암호화 알고리즘과 키를 사용했다면, 그리고 공격자가 이 상황 정보를 알고 있다면 공격자는 어떻게 접근할까요? 다시 말해 암호 해독해야 할 정보가 신용카드 정보라는 것을 안다면 힘들게 암호화의 혼돈을 공격하여 키를 알아내려 하지 않고, 확산을 공격하여 데이터를 직접 확인하려고 들 것입니다. 즉, 보호해야 할 데이터 값이 정형화되어 있고 크기가 작을 때는 키 길이를 늘인다고 해서 안전성을 충분히 확보할 수 없다는 것을 알 수 있습니다. 기존에 알던 암호화 안전성 개념을 약간 보완해야 합니다.

따라서 신용카드 정보의 데이터 크기인 1016 안에서 가장 효율적으로 정보를 섞는(확산) 방식이 필요합니다. 이것이 FPE 모드의 개념과 취지라고 할 수 있습니다.

현재 FPE는 표준화 연구와 여러 가지 제안을 진행하고 있는데, NIST 웹 사이트에서도 FPE와 관련된 내용을 볼 수 있습니다. FPE가 점차 신용카드 정보 같이 미리 약속된 길이 또는 형식을 갖는 데이터를 암호화하는 안정적인 운영 모드로 자리 잡으면서 FPE를 운영 모드가 아닌 알고리즘으로 만들기도 합니다. FPE는 10장에서 더 자세히 다룹니다.

 

 


10 무차별 대입 공격(Brute Force Attack)은 암호를 해독하려고 가능한 모든 값을 대입하는 방식입니다.

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