더북(TheBook)

우선 ‘토큰에서 어떤 원본 데이터 정보도 얻을 수 없어야 한다’는 조건은 ‘안전하지 않은 의사 난수 생성기(WPRNG)’ 방식을 제외하면 일정 수준 만족한다고 할 수 있습니다. 물론 제대로 된 난수 생성기를 사용했다고 가정했을 때 이야기이지요.

그런데 서로 다른 개인정보는 서로 다른 토큰을 생성해야 한다는 점이 문제입니다. 난수는 무작위로 생성되므로 서로 다른 개인정보에서 동일한 토큰이 생성될 확률이 있습니다.7 동일한 토큰을 생성하지 않으려면 개인정보와 토큰을 일대일로 매칭해야 하므로 결정론적(Deterministic : 랜덤하지 않은) 알고리즘이 필요합니다. 결국 ‘랜덤하지만 정해져 있고 결정론적이지만 난수’라는 앞뒤가 맞지 않는 상황이 발생합니다. 즉, 속성이 동일한 토큰을 생성하는 데 사용하는 난수는 사실 난수가 아닙니다.

제대로 된 난수 생성기라면 개인정보와 토큰을 일대일로 매칭할 수 없습니다. 따라서 의사 난수 생성기 대부분은 결정론적 알고리즘을 사용하여 개인정보 데이터를 치환(Substitution)·순열(Permutation)·분할(Partitioning)·조합(Combination)합니다. 하지만 변환한 결과 값에서 원본 정보를 유추할 수 없는지를 검증하지 않는 한 안전하다고 말하기는 어렵습니다. 개인정보 데이터가 대량이라면 결정론적 알고리즘을 설계하기도 난해합니다. 개인정보의 종류에 따라 각각 알고리즘을 설계해야 하는 번거로움도 있습니다.

난수를 사용한 토큰을 생성하기가 어렵다는 것은 ‘개인정보와 속성이 동일하면서도 안전한’ 토큰을 효율적으로 얻으려는 연구의 배경이 되었습니다. 그 결과 등장한 것이 10장에서 언급한 FPE(형태 보존 암호화)입니다.

 

 


7 난수화는 일대일 매칭이 아니라 무작위하게 m:n 매칭되는 과정입니다. 따라서 토큰을 원본 데이터로 되돌릴 수(복호화할 수) 없습니다. 복호화가 가능하려면 데이터 변환 과정에서 일대일 매칭을 해야 합니다.

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