토큰화와 암호화는 인터넷에서 정보를 전송하거나 저장할 때 정보를 보호하는 수단으로 자주 함께 언급됩니다. 토큰화와 암호화는 조직의 자체 데이터 보안 정책을 충족하는 데 도움이 될 뿐만 아니라 PCI DSS, HIPAA-HITECH, GLBA, ITAR 및 EU GDPR과 같은 규제 요건을 충족하는 데도 도움이 될 수 있습니다. 토큰화와 암호화는 모두 효과적인 데이터 난독화 기술이지만, 같은 기술이 아니며 서로 바꿔 사용할 수 없습니다. 각 기술에는 고유한 장단점이 있으며, 이를 바탕으로 상황에 따라 데이터를 보호하는 데 둘 중 하나를 선택해야 합니다. 전자 결제 데이터와 같은 경우에는 암호화와 토큰화를 모두 사용하여 엔드투엔드 프로세스를 보호하는 경우도 있습니다.
암호화 |
토큰화 |
- 암호화 알고리즘과 키를 사용하여 일반 텍스트를 암호 텍스트로 수학적으로 변환합니다.
|
- 일반 텍스트에 대한 토큰 값을 임의로 생성하고 데이터베이스에 매핑을 저장합니다.
|
- 작은 암호화 키를 사용하여 데이터를 해독하는 것만으로 대용량 데이터로 확장 가능
|
- 데이터베이스 규모가 증가함에 따라 안전한 확장 및 성능 유지가 어려움
|
- 구조화된 필드와 전체 파일과 같은 비정형 데이터에 사용됩니다.
|
- 결제 카드 또는 주민등록번호와 같은 구조화된 데이터 필드에 사용됩니다.
|
- 암호화 키를 가지고 있는 제3자와 민감한 데이터를 교환하는 데 이상적입니다.
|
- 토큰 값을 매핑하는 토큰 볼트에 직접 액세스해야 하므로 데이터 교환이 어렵습니다.
|
- 형식 보존 암호화 체계는 강도가 낮다는 단점이 있습니다.
|
- 보안 강도를 약화시키지 않고 포맷을 유지할 수 있습니다.
|
- 원본 데이터는 조직을 떠나지만 암호화된 형태로 보관됩니다.
|
- 원본 데이터는 조직을 벗어나지 않으므로 특정 규정 준수 요건을 충족합니다.
|
암호화 정의
암호화는 알고리즘을 사용하여 일반 텍스트 정보를 암호 텍스트라고 하는 읽을 수 없는 형식으로 변환하는 프로세스입니다. 정보를 해독하고 원래의 일반 텍스트 형식으로 되돌리려면 알고리즘과 암호화 키가 필요합니다. 오늘날 SSL 암호화는 인터넷에서 전송되는 정보를 보호하기 위해 일반적으로 사용됩니다. 수백만 명의 사람들이 운영 체제의 내장 암호화 기능이나 타사 암호화 도구를 사용하여 컴퓨터의 데이터를 암호화하여 컴퓨터를 도난당했을 때 민감한 데이터가 실수로 손실되는 것을 방지하고 있습니다. 또한 암호화는 정부의 감시와 민감한 기업 데이터의 도난을 막기 위해 사용될 수 있습니다.
"암호화는 효과가 있습니다. 제대로 구현된 강력한 암호화 시스템은 신뢰할 수 있는 몇 안 되는 것 중 하나입니다." - 에드워드 스노든
비대칭 키 암호화(공개 키 암호화라고도 함)에서는 암호화 및 복호화 프로세스에 두 개의 서로 다른 키가 사용됩니다. 공개 키는 데이터를 잠그는 데만 사용되며 잠금 해제에는 사용되지 않으므로 자유롭게 배포할 수 있습니다. 예를 들어, 판매자는 결제 처리 회사의 승인을 받기 위해 거래를 전송하기 전에 공개 키를 사용하여 결제 데이터를 암호화할 수 있습니다. 후자의 회사는 결제를 처리하기 위해 카드 데이터를 해독할 수 있는 개인 키를 가지고 있어야 합니다. 비대칭 키 암호화는 SSL 인증서를 사용하여 인터넷에서 신원을 확인하는 데도 사용됩니다.
어떤 유형의 키를 사용하든, 암호화 사용자는 일반적으로 모든 민감한 데이터를 해독하는 데 손상된 키가 사용될 가능성을 줄이기 위해 정기적으로 키를 교체합니다. 키를 순환하면 단일 키를 사용하여 암호화되는 데이터의 양이 제한됩니다. 암호화 키가 손상된 경우 해당 키로 암호화된 데이터만 취약해집니다.
지금까지 애플리케이션 내 데이터 암호화의 단점 중 하나는 암호화로 인해 정렬 및 검색과 같은 애플리케이션 기능이 중단된다는 점입니다. 암호 텍스트는 원본 데이터와 다른 형식이기 때문에 애플리케이션에서 결제 카드 번호나 이메일 주소와 같은 필드 내 특정 형식을 요구하는 경우 암호화로 인해 필드 유효성 검사도 중단될 수 있습니다. 새로운 순서 보존, 형식 보존, 검색 가능한 암호화 체계를 통해 조직은 비즈니스에 중요한 애플리케이션 내에서 최종 사용자 기능을 희생하지 않고도 정보를 더 쉽게 보호할 수 있게 되었습니다. 그러나 일반적으로 애플리케이션 기능과 암호화 강도 사이에는 상충되는 부분이 있습니다.
토큰화 정의
토큰화는 계정 번호와 같은 의미 있는 데이터를 토큰이라고 하는 임의의 문자열로 변환하는 과정으로, 유출될 경우 의미 있는 가치가 없습니다. 토큰은 원본 데이터에 대한 참조 역할을 하지만 해당 값을 추측하는 데는 사용할 수 없습니다. 이는 암호화와 달리 토큰화는 민감한 정보를 토큰으로 변환하는 데 수학적 프로세스를 사용하지 않기 때문입니다. 토큰의 원본 데이터를 도출하는 데 사용할 수 있는 키 또는 알고리즘이 없습니다. 대신 토큰화에서는 민감한 값과 토큰 간의 관계를 저장하는 토큰 볼트라고 하는 데이터베이스를 사용합니다. 그런 다음 볼트에 있는 실제 데이터는 암호화를 통해 보호됩니다.
토큰 값은 다양한 애플리케이션에서 실제 데이터 대신 사용할 수 있습니다. 예를 들어 반복되는 신용카드 결제 처리와 같이 실제 데이터를 검색해야 하는 경우 토큰을 볼트에 제출하고 인덱스를 사용하여 인증 프로세스에 사용할 실제 값을 가져옵니다. 최종 사용자에게는 이 작업이 브라우저나 애플리케이션에서 거의 즉각적으로 원활하게 수행됩니다. 사용자는 데이터가 다른 형식으로 클라우드에 저장되어 있다는 사실조차 인지하지 못할 가능성이 높습니다.
토큰의 장점은 토큰이 나타내는 실제 데이터와 수학적 관계가 없다는 것입니다. 토큰이 유출되면 토큰은 의미가 없습니다. 어떤 키로도 실제 데이터 값으로 되돌릴 수 없습니다. 토큰을 더 유용하게 만들기 위해 토큰을 설계할 때도 고려할 수 있습니다. 예를 들어, 결제 카드 번호의 마지막 4자리를 토큰에 보존하여 토큰화된 번호(또는 일부)를 고객의 영수증에 인쇄하여 실제 신용카드 번호에 대한 참조를 확인할 수 있도록 할 수 있습니다. 인쇄되는 문자는 별표와 마지막 4자리 숫자가 모두 포함될 수 있습니다. 이 경우 판매자는 보안을 위해 실제 카드 번호가 아닌 토큰만 보유하게 됩니다.
암호화 및 토큰화 사용 사례
토큰화의 가장 일반적인 사용 사례는 판매자가 PCI DSS에 따른 의무를 줄일 수 있도록 결제 카드 데이터를 보호하는 것입니다. 암호화를 사용하여 계정 데이터를 보호할 수도 있지만, 암호 텍스트 형식이긴 하지만 데이터가 여전히 존재하므로 조직은 이 데이터를 저장하고 전송하는 데 사용되는 전체 기술 인프라가 PCI DSS 요구 사항을 완전히 준수하는지 확인해야 합니다.
주민등록번호, 전화번호, 이메일 주소, 계좌 번호 등 다른 유형의 민감한 정보나 개인 식별 정보를 보호하기 위해 토큰을 사용하는 경우가 점점 더 많아지고 있습니다. 많은 조직의 백엔드 시스템은 주민등록번호, 여권 번호, 운전면허증 번호를 고유 식별자로 사용합니다. 이러한 고유 식별자는 시스템에 내장되어 있기 때문에 제거하기가 매우 어렵습니다. 또한 이러한 식별자는 청구, 주문 상태, 고객 서비스를 위한 정보에 액세스하는 데에도 사용됩니다. 이제 토큰화는 이러한 데이터를 보호하여 공격자에게 PII를 노출하지 않고 백엔드 시스템의 기능을 유지하는 데 사용되고 있습니다.
암호화는 결제 카드 데이터와 PII가 포함된 필드와 같은 구조화된 필드를 보호하는 데 사용할 수 있지만, 단락이나 전체 문서와 같은 긴 텍스트 구절 형태의 비정형 데이터를 보호하는 데에도 사용할 수 있습니다. 또한 암호화는 상대방에게 작은 암호화 키만 필요하기 때문에 제3자와 주고받는 데이터를 보호하고 온라인에서 신원을 확인하는 데 이상적인 방법입니다. 오늘날 인터넷에서 데이터를 안전하게 공유하는 기반인 SSL 또는 보안 소켓 계층은 최종 사용자와 웹사이트 사이에 보안 터널을 생성하기 위해 암호화에 의존합니다. 비대칭 키 암호화는 신원 확인에 사용되는 SSL 인증서의 중요한 구성 요소이기도 합니다.
오늘날 암호화와 토큰화는 모두 클라우드 서비스나 애플리케이션에 저장된 데이터를 보호하기 위해 정기적으로 사용됩니다. 사용 사례에 따라 조직은 암호화, 토큰화 또는 이 둘을 조합하여 다양한 유형의 데이터를 보호하고 다양한 규제 요건을 충족하기 위해 암호화, 토큰화를 사용할 수 있습니다. 예를 들어 스카이하이 Cloud Access Security Broker (CASB)는 비가역적인 단방향 프로세스를 활용하여 사내에서 사용자 식별 정보를 토큰화하고 기업 신원을 난독화합니다.
더 많은 데이터가 클라우드로 이동함에 따라 클라우드 서비스에 저장된 데이터를 보호하기 위해 암호화와 토큰화가 사용되고 있습니다. 특히 정부 기관이 클라우드에 저장된 데이터를 소환하는 경우, 서비스 제공업체는 암호화되거나 토큰화된 정보만 넘겨줄 수 있고 실제 데이터는 잠금 해제할 방법이 없습니다. 사이버 범죄자가 클라우드 서비스에 저장된 데이터에 액세스하는 경우에도 마찬가지입니다.