더북(TheBook)

하지만 사람들의 직관적인 인식과는 다르게 FPE는 AES만큼 안전성을 확보할 수 있습니다. 정말 FPE가 안전한지 지금부터 FPE의 안전성을 알아봅시다.2

보통 암호화 알고리즘은 다음 세 가지 조건을 만족할 때 안전하다고 할 수 있습니다.

 

1. 특정 암호화 키와 원문-암호문의 매칭 관계는 유일해야 하고 키의 개수, 즉 키 길이는 충분히 길어야 합니다.

2. 원문과 암호문 전부를 볼 수 있는 상황에서도(가능한 모든 원문 -암호문 테이블을 확인할 수 있는 상황에서도) 공격자는 모든 키를 사용하기 전까지는 어떤 키가 원문과 암호문을 만들었는지 알 수 없어야 합니다.

3. 원문과 암호문 전부를 볼 수 있는 상황에서도(가능한 모든 원문 -암호문 테이블을 확인할 수 있는 상황에서도) 공격자는 원문과 암호문 사이의 관계를 알 수 없어야 합니다.

 

첫 번째 조건에서 사용할 수 있는 키 개수가 많을수록 ‘원문-암호문 매칭 관계’는 다양하며, 그만큼 원문-암호문 관계 정보 또는 키 정보는 얻기 어렵습니다. 이처럼 사용 가능한 키 개수는 알고리즘의 안전성과 직결됩니다. 두 번째 조건은 암호문을 보고 키를 알아낼 수 없어야 한다는 ‘혼돈’을 의미합니다. 세 번째 조건은 암호문을 보고 원문을 알아낼 수 없어야 한다는 ‘확산’을 의미합니다.

 

 


2 이후 FPE의 안전성 논의는 볼티지 시큐리티(Voltage Security) CTO인 테렌스 스파이즈(Terence Spies)의 How to Encrypt a Credit Card Number 문서를 기반으로 하며, 이 문서에 사용한 데이터를 일부 인용했습니다.

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