정보보안핑(✌’ω’)✌

인코딩(Encoding), 암호화(Encryption), 토큰화(Tokenization)의 차이 본문

IT&AI/IT지식

인코딩(Encoding), 암호화(Encryption), 토큰화(Tokenization)의 차이

서지Kim 2024. 12. 22. 20:42
반응형

시스템 설계에서 민감한 데이터를 안전하게 처리하기 위해 인코딩, 암호화, 토큰화는 자주 사용됩니다. 각 방법은 목적과 기능이 다르며, 적절히 활용해야 데이터의 전송, 보안, 규정 준수를 효과적으로 관리할 수 있습니다.


 

1. 인코딩 (Encoding)

목적
 - 데이터를 전송 및 호환성을 위해 다른 형식으로 변환합니다.

 

작동 방식

  • 데이터를 특정 방식(예: Base64)으로 변환해 텍스트 기반 시스템에서 쉽게 처리할 수 있도록 합니다.
  • 복호화에 키가 필요하지 않고 누구나 쉽게 원래 데이터로 되돌릴 수 있습니다.

특징

  • 보안 목적이 아닌 데이터 호환성을 위한 방식입니다.
  • 예: Base64, URL 인코딩.

사용 사례

  • 바이너리 데이터를 이메일이나 HTTP를 통해 전송할 때.
  • 특수문자를 포함한 데이터를 안정적으로 전달하기 위해.

2. 암호화 (Encryption)

목적
 - 데이터를 보호하고 무단 접근을 방지합니다.

 

작동 방식

  • 데이터를 알고리즘과 암호 키를 사용해 읽을 수 없는 형태로 변환합니다.
  • 암호 해독은 키가 있어야 가능하며, 키에는 대칭(같은 키 사용)과 비대칭(공개 키/개인 키 사용) 방식이 있습니다.

특징

  • 보안이 주요 목적이며, 기밀성을 보장합니다.
  • 예: AES, RSA, HTTPS.

사용 사례

  • 비밀번호, 신용카드 정보 등 민감한 데이터를 보호할 때.
  • 네트워크를 통해 데이터를 전송할 때.

3. 토큰화 (Tokenization)

목적
 - 민감한 데이터를 **대체 데이터(토큰)**로 변환해 위험을 줄입니다.

 

작동 방식

  • 원본 데이터를 토큰으로 대체하고, 원본 데이터와 토큰의 매핑 정보는 **보안 저장소(토큰 볼트)**에 보관합니다.
  • 토큰은 본래 데이터를 유추할 수 없는 무의미한 값입니다.

특징

  • 보안과 규정 준수를 위한 방식으로, 시스템 내 민감한 데이터 노출을 최소화합니다.
  • 예: 신용카드 토큰화, 개인 식별 정보(PII) 토큰화.

사용 사례

  • 결제 시스템에서 신용카드 번호를 안전하게 처리할 때.
  • 개인정보를 외부 시스템에 제공하지 않고 처리할 때.

비교 표

구분인코딩암호화토큰화

구분 인코딩 암호화 토큰화
목적 데이터 호환성 및 전송 데이터 기밀성 보호 데이터 노출 위험 최소화
복원 가능 여부 가능 (키 불필요) 가능 (키 필요) 불가능 (토큰 볼트 필요)
보안 여부 보안 목적 아님 보안 제공 보안 제공
예시 Base64, URL 인코딩 AES, RSA, HTTPS 결제 토큰, PII 토큰

어떤 방식을 선택해야 할까?

  • 인코딩: 데이터를 안정적으로 전송하거나 호환성을 높이고자 할 때 사용.
  • 암호화: 데이터 보안이 필요할 때, 특히 민감한 정보를 보호할 때 사용.
  • 토큰화: 데이터 노출 위험을 줄이고 규정 준수를 강화할 때 사용.

출처 : @bytebytego