토큰화(Tokenization) 기술이란

토큰화 기술
토큰화 기술이란
토큰화 기술은 보호할 데이터를 토큰(Token)으로 치환하여 원본데이터 대신 토큰을 사용하는 기술이다. 이 기술은 개인정보의 유출 위험이 있는 전송 과정과 저장 단계에서 개인정보 데이터를 치환한 토큰 데이터만을 전송하고 저장함으로서 개인정보를 보호하는 접근법이다.신용카드 번호를 예로 토큰화 기술이 어떻게 구성되는지 살펴보자.
신용카드를 소유하고 있는 소비자가 상점에서 신용카드를 제시하면(1), 상점의 단말기(POS; Point Of Sale)는 토큰 서버에게 암호화된 통신 채널을 통해 신용카드 번호를 전송한다.
신용카드번호를 수신한 토큰 서버는 신용카드번호를 대체할 수 있는 토큰 데이터를 생성하여 토큰 데이터와 신용카드번호의 쌍을 내부의 저장소에 저장하고(2)토큰 데이터를 상점 단말기에게 알려준다(3).

상점의 단말기는 카드번호를 이용하는 응용 서버에게 토큰 번호를 전달하고(4), 응용 서버는 데이터 처리 시 신용카드번호를 대체한 토큰 번호를 이용하게 된다(5).

토큰 번호와 연결된 실재 신용카드번호가 필요할 때에는 토큰 서버에게 요청하여 신용카드 번호를 확인할 수 있다.(6, 7, 8, 9).

그림 1. Tokenization 기술 개념도

토큰화 기술의 큰 장점은 보안이 비교적 취약한 상점의 단말기 내부에 신용카드번호가 저장될 필요가 없다는 것이다. 더불어 분산 저장되는 개인정보들이 토큰 서버에 통합 관리됨에 따라 보안 노력을 토큰 서버에만 집중하면 된다는 장점이 있다. 반면에, 개인정보가 토큰 서버에 집중되기 때문에 토큰 서버의 보안 취약점으로 인해 정보가 유출될 경우 큰 피해가 발생할 수 있다는 단점이 있다.

■ 토큰 생성에 대한 요구 사항

암호화에서 키 관리가 핵심인 것처럼 토큰화 기술에서는 토큰의 안전성이 핵심이다. 토큰 생성 시 토큰으로부터 어떠한 정보도 얻을 수 없어야 하며, 서로 다른 개인정보는 서로 다른 토큰으로 대체되어야 한다. 더불어 기존 업무시스템에 용이하게 적용할 수 있도록 토큰은 개인정보와 같은 형태를 가지는 것이 보통이다. 예를 들어, 신용카드번호인 16자리 숫자의 토큰은 12자리 난수와 신용카드번호 중 4자리를 합한 것을 사용한다.

개인정보보호법의 발효로 기존 업무시스템에서 개인정보를 보호하기 위한 요구가 증가하고 있는 상황에서, 토큰화 기술은 데이터의 속성(길이, 형식, 데이터타입)을 유지하며 데이터를 보호할 수 있는 기술로 인식되며 알려지기 시작했다.

그림 2. Tokenization 기술 개념도

■ 토큰화 기술의 안정성

이러한 특징으로 인해, 데이터 보호를 위한 이상적인 모델처럼 보이지만, 결국 개인정보를 토큰으로 치환하는 것이기에 토큰 생성 시 그 보안성과 안전성이 핵심 요소로 간주된다. 그런데 일부 회사들은 데이터의 속성을 유지하기 위해 보안도가 낮은 의사난수 생성기(WPRNG;Weak Pseudo-Random Number Generator)로 토큰을 생성하고 있다. 이 방법은 개인정보와 동일한 속성의 난수를 생성하기 위해 암호화 키를 사용하지 않는 단순변환을 사용하는데, 이는 안전성이 없을 분만 아니라 서로 중복되는 의사난수를 생성할 수도 있어 개인정보 유추가 가능하다. 일부 회사들은 이러한 보안도가 낮은 의사난수 생성 방법으로 만든 토큰을 암호화 DB와 별도의 토큰 서버에 개인정보와 함께 보관하면서, 암호화DB의 ‘보안성’을 강조하고 토큰의 안전성에 대해서는 검증을 회피하고 있다.

그렇다면 안전한 기술을 사용하면서 토큰화 기술을 적용할 수 있는 방안은 무엇일까. 그 해답은 암호화 알고리즘 레벨의 속성유지 암호화 방법(FPE;Format Preserving Encryption)을 적용하는 것이다. FPE는 데이터의 속성(길이, 형식, 데이터타입)을 유지하면서 암호화하는 가장 안전하고, 유일하게 검증된 방법으로 알려져 있다. FPE는 암호화 알고리즘이기 때문에 개인정보에 따라 다른 암호화 키를 사용할 수 있으므로 더욱 안전도를 강화할 수 있을 뿐만 아니라, 토큰과 암호화 키로부터 개인정보를 복호화할 수 있기 때문에 토큰과 개인정보를 별도의 토큰 서버에 저장하고 관리할 필요가 없다.


그림 3. 토큰화 기술에 따른 DB 암호화 보안도 비교

정리하자면, 보안도가 낮은 의사난수 생성기(WPRNG)는 암호화 키를 전혀 사용하지 않고 통계학적인 난수성만 가지기 때문에 보안 측면에서 매우 취약한 반면, 속성유지 암호화 방법(FPE)은 블록 암호화에 기반하여 블록 암호화의 운영기법(mode of operation) 형태로 적용되기 때문에 블록 암호화와 동일한 수준의 보안도를 가지며 현실에서 추구할 수 있는 최선의 방법이라고 할 수 있다.