더북(TheBook)

그렇다면 OPE는 순서 유지 ‘암호화’라는 이름처럼 안전성을 확보한 ‘암호화’일까요?

안전한 암호화는 암호문에서 어떤 원본 데이터 정보도 얻을 수 없어야 합니다. 앞에서 누누이 언급했던 혼돈과 확산을 잘 달성해야 하지요. 하지만 OPE는 암호문에서 원본 데이터의 ‘순서’ 정보를 얻을 수 있고, 이를 바탕으로 원본 데이터를 유추할 수 있습니다. 암호화된 데이터에서 원본 데이터의 순서와 관련된 통계적 특성이 드러나다 보니 OPE에서는 순서 정보를 최대한 감춰야 합니다. 그래서 암호문 사이의 간격을 최대한 들쑥날쑥하게 만듭니다. 즉, 82쪽 그림에서 오른쪽 그래프를 직선이 되지 않도록(기울기가 일정하지 않도록) 하여 원본 데이터에서 최대한 어렵게 통계적 예측을 하게 합니다. 그럼에도 원본 데이터의 순서 정보가 드러난다면 전통적인 암호화 개념에 따라 혼돈과 확산을 완벽히 충족할 수 없게 됩니다.

앞서 설명한 1234, 3456, 5678의 예로 돌아가 봅시다. 1234의 암호문 A와 3456의 암호문 B를 안다면 암호문 A와 암호문 B 사이에 올 수 있는 암호문 C는 1234~3456 사이의 어떤 값으로 만든 암호문이라는 것을 알 수 있습니다. 이때 공격자가 공격을 한다면 1234와 3456을 알고 두 수를 암호화한 값(암호문 A, 암호문 B)도 알고 있으므로 선택 평문 공격(이하 CPA)이 됩니다. 안전한 암호 알고리즘이라면 CPA가 있어도 암호문 C가 어떤 수를 암호화한 값인지 구분할 수 없는데, OPE에서는 원본 데이터의 순서 정보가 드러나므로 이를 만족할 수 없습니다. 즉, OPE는 이제까지 이야기한 보안성 기준에서 안전한 암호화 방식이라고 할 수 없습니다. 엄밀히 말해 OPE는 DES, AES, SEED, ARIA 등 암호 알고리즘과 비등할 만큼 수준 높은 안전성을 갖추지는 못했습니다. 이것이 바로 세계 정보보안 관련 표준에서 OPE를 찾아볼 수 없는 이유이지요.

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