더북(TheBook)

그런데 안전한 의사 난수 생성기를 사용하는 일도 현실적으로 그리 간단하지 않습니다. 그것은 신용카드 정보나 주민등록번호 같은 개인정보를 사용하는 ‘이미 구축된 시스템’에서 토큰화를 수행하려면 추가 제약이 많이 발생하기 때문입니다. 그 예로 ‘원본과 토큰의 속성(길이, 데이터 형태)이 같아야 한다’는 요구사항을 들 수 있습니다.

 

| 안전한 의사 난수 생성기(SPRNG)를 이용한 토큰 생성 |

 

올바른 난수화(의사 난수화) 과정을 통해 생성한 난수는 토큰과 연결된 개인정보 같은 암호화 대상 데이터와 길이와 속성이 다릅니다. 그런데 신용카드 정보나 주민등록번호 같이 형식이 고정된 데이터를 활용하는 시스템에서는 데이터 저장이나 전송 과정에 데이터 형식을 고정시키는 경우가 많습니다.5 기존 정보를 안전한 토큰으로 대체하려면6 시스템을 재설계하거나 수정해야 합니다. 이 접근 방식은 운영자가 원하지 않을 뿐만 아니라 효율적이지도 않습니다. 재설계나 수정 작업을 감안하면 암호화를 적용하여 복호화하는 것보다 비용이 더 들기 때문입니다. 서버에서 원본을 다시 읽어 와야 하므로 암호화를 하는 것보다 시스템 구조가 복잡하고, 암호화를 적용할 때처럼 모든 데이터는 난수가 되므로 검색할 때 순서 정보도 변경되는 등 문제가 발생합니다.

 

 


5 정보를 데이터베이스의 테이블에 저장할 때나 신용카드 번호의 일부분을 변조하여 명세서에 표시할 때가 이에 해당합니다.

6 물론 토큰을 한 번만 사용한다면 추가 작업은 줄어듭니다. 이때는 원본과 토큰이 매칭되는 테이블을 두고 토큰을 사용한 후 즉시 삭제하는 방식으로 시스템을 구성합니다.

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