367. 난독화 (Obfuscation) 및 데이터 마스킹 (Data Masking)

핵심 인사이트 (3줄 요약)

  1. 암호화는 나중에 키(Key)로 원래 데이터를 복원할 목적으로 쓴다면, 마스킹과 난독화는 원본 데이터를 영영 복원하지 못하게 완전히 갈아버리는 비가역적 파괴(은닉) 기법이다.
  2. 개발자가 버그를 고치려면 운영 DB의 실제 데이터 덤프가 필요한데, 주민번호가 그대로 개발 DB로 넘어가면 개인정보보호법(ISMS) 위반으로 회사가 철퇴를 맞는다. (개발기 마스킹 의무화)
  3. 정적 마스킹(DB 자체를 덮어씀)과 동적 마스킹(DB는 원본이되 개발자가 쿼리 할 때 프록시가 가로채어 별표로 보냄) 방식으로 나뉜다.

Ⅰ. 아키텍처 및 원리

  [ 마스킹 파이프라인 변환 기조 ]
    운영계 DB (Name: 홍길동, 주민: 900101-1234567) 
         | (Export 덤프) 
    [ 마스킹 솔루션 가동 믹서기 ] => 부분 마스킹 룰 적용
         | (Import 투입)
    개발계 DB (Name: 홍*동, 주민: 900101-1******) -> 개발자가 열람해도 안전!

Ⅱ. 실무 적용 및 결론

앱 개발 및 외주 업체 개발 시 실 데이터를 요구하는 경우가 비일비재한데, 이때 무심코 운영 데이터를 내주었다가 외주 직원의 USB를 통해 털리는 것이 국내 정보 유출 사고의 1위 패턴이다. 데이터 구조(길이)는 유지하며 마스킹 룰을 강력 구동시키는 것만이 컴플라이언스 생존 전략이다.