DB보안

데이터 마스킹

포스팅 뷰60

데이터 마스킹이란 무엇일까요?

한눈에 보는 요약
  • 정의 — 원본 데이터의 민감한 값을 가짜·변형된 값으로 대체해, 형식과 쓸모는 유지하면서 실제 정보는 감추는 기법입니다.
  • 핵심 — 개발·테스트·분석 등 실데이터가 필요 없는 환경에서 개인정보 노출 없이 데이터를 활용하게 합니다.
  • 종류 — 사본을 만들며 영구 변형하는 정적 마스킹, 조회 시점에 가려 보여주는 동적 마스킹으로 나뉩니다.

데이터 마스킹이란 이름·주민번호·카드번호 같은 민감 정보를 형식은 유지한 채 가짜 값으로 바꿔, 유출되더라도 실제 정보를 알 수 없게 만드는 비식별 기법을 말합니다.

데이터 마스킹이란?

데이터 마스킹(Data Masking)은 원본 데이터의 민감한 부분을 가리거나 가짜 값으로 대체하는 기술입니다. 예를 들어 카드번호 1234-5678-9012-34561234-****-****-3456으로 바꾸면, 데이터의 형태(자릿수·구조)는 그대로지만 실제 번호는 알 수 없게 됩니다.

핵심은 '쓸모는 유지하되 위험은 없앤다'는 점입니다. 개발자·분석가는 실제와 같은 형식의 데이터로 작업할 수 있고, 그 데이터가 유출되더라도 진짜 개인정보는 새어 나가지 않습니다.

원본 데이터의 민감 항목이 마스킹을 거쳐 가짜 값으로 대체된 데이터로 바뀌는 모습 원본 데이터 이름홍길동 주민번호901010-1234567 카드번호1234-5678-9012-3456 데이터 마스킹 마스킹된 데이터 이름홍○○ 주민번호901010-1****** 카드번호1234-****-****-3456
▲ 형식은 그대로 두고 민감한 값만 가려, 유출돼도 안전하게 만든다

데이터 마스킹은 왜 필요할까?

운영 DB의 실데이터를 그대로 쓰면 편하지만, 그만큼 유출·오남용 위험이 큽니다. 마스킹은 다음 상황에서 특히 필요합니다.

  • 개발·테스트·분석 — 실데이터 없이도 같은 형식의 데이터로 안전하게 작업할 수 있습니다.
  • 외주·협업 — 외부 인력에게 데이터를 넘겨야 할 때 민감정보 노출을 막습니다.
  • 화면 노출 최소화 — 상담·조회 화면에서 카드·주민번호를 일부만 보여줍니다.
  • 규제 준수 — 개인정보 비식별·최소 노출 요구에 대응합니다.

자주 쓰는 마스킹 기법

데이터 성격과 용도에 따라 여러 기법을 조합해 사용합니다.

부분 마스킹, 치환, 셔플링, 널링 기법의 원본과 마스킹 결과 예시 원본을 이렇게 가립니다 부분 마스킹 1234-5678-9012-3456 1234-****-****-3456 치환(가짜값) 홍길동 김삿갓 셔플링 1, 2, 3, 4, 5 4, 1, 5, 2, 3 널링(삭제) 010-1234-5678 ●●●-●●●●-●●●●
▲ 형식은 유지하되 값만 다양한 방식으로 가린다

정적 마스킹 vs 동적 마스킹

'사본을 미리 만드는가'와 '조회 순간에 가리는가'가 두 방식의 핵심 차이입니다.

구분 정적 마스킹(SDM) 동적 마스킹(DDM)
방식 마스킹된 사본을 미리 생성 조회 시점에 실시간으로 가림
원본 사본은 영구 변형(비가역) 원본은 그대로 유지
주 용도 개발·테스트·분석 등 비운영 운영 화면·실시간 조회
권한별 노출 사본 자체가 마스킹돼 동일 권한에 따라 원본/마스킹 구분 가능

실무 체크 포인트 — 데이터 마스킹 도입

마스킹은 '어떤 데이터를, 어디서, 어떻게'를 정하는 것이 관건입니다. 다음을 점검하세요.

대상 식별 — 마스킹할 민감 항목(주민번호·카드·연락처 등)을 빠짐없이 식별했는가?
방식 선택 — 비운영은 정적, 운영 화면은 동적 등 용도에 맞는 방식을 골랐는가?
일관성 유지 — 참조 무결성(같은 값은 같게)을 지켜 데이터 정합성을 보존하는가?
재식별 방지 — 마스킹 후에도 다른 정보와 조합해 원본을 유추할 수 없는가?
생성형 AI 입력 — 직원이 챗봇·생성형 AI 프롬프트에 민감정보를 입력할 때 자동으로 마스킹·차단되는가?
권한·접근 연계 — 접근제어·로그와 연계해 누가 원본을 볼 수 있는지 통제하는가?

데이터 마스킹은 '데이터 자체의 노출을 줄이는' 축입니다. 여기에 접근제어·암호화로 DB를 보호하고, 정보유출방지로 데이터가 외부로 빠져나가는 경로까지 통제해야 DB 보안이 완성됩니다. 특히 최근에는 직원이 생성형 AI에 입력하는 프롬프트도 새로운 유출 경로가 되므로, 이 지점의 민감정보까지 마스킹·통제 대상에 포함하는 것이 좋습니다.

자주 묻는 질문

Q. 데이터 마스킹과 암호화는 무엇이 다른가요?

A. 암호화는 키로 다시 원본을 복호화할 수 있는 '잠그기'이고, 마스킹은 보통 원본 복원을 전제하지 않는 '가리기'입니다. 마스킹된 데이터는 형식은 그대로라 그 상태로도 개발·분석에 쓸 수 있다는 점이 다릅니다.

Q. 마스킹하면 원래 값을 복원할 수 없나요?

A. 정적 마스킹은 사본을 비가역적으로 변형하는 것이 원칙입니다. 반면 동적 마스킹은 원본은 그대로 두고 조회 시에만 가리므로, 권한 있는 사용자는 원본을 볼 수 있습니다.

Q. 가명처리와 같은 건가요?

A. 가명처리는 개인정보보호법상 개념이고, 데이터 마스킹은 이를 구현하는 기법 중 하나로 쓰일 수 있습니다. 다만 마스킹 방식·재식별 가능성에 따라 법적 가명정보 요건 충족 여부는 별도로 판단해야 합니다.

Q. 마스킹하면 데이터가 쓸모없어지지 않나요?

A. 형식·통계적 특성을 유지하도록 마스킹하기 때문에, 개발·테스트·분석 용도로는 충분히 활용할 수 있습니다. 관건은 '쓸모 유지'와 '재식별 방지' 사이의 균형입니다.

Q. 마스킹만 하면 DB 보안이 끝나나요?

A. 아닙니다. 마스킹은 '노출 최소화'의 한 축입니다. DB 접근제어·암호화, 그리고 데이터가 외부로 나가는 것을 막는 정보유출방지까지 함께 갖춰야 실질적인 보호가 완성됩니다.

기업 내부 정보 유출, 오피스키퍼로 막으세요.

제품소개서 신청하기