무슨 일이 있었나요?
덴마크의 중앙 주민등록 시스템 CPR(Det Centrale Personregister)에서 대규모 무단 접근이 일어나 약 880만 명의 개인정보가 노출됐어요. CPR을 관리하는 당국이 공지를 통해 “시민들의 CPR 정보에 대한 광범위한 무단 접근”이 있었다고 직접 밝혔어요.
880만이라는 숫자가 좀 이상하게 느껴질 수 있어요. 덴마크 인구는 600만 명 정도거든요. CPR 등록부에는 지금 사는 사람뿐 아니라 사망자, 해외로 이주한 사람, 예전에 덴마크에 등록됐던 외국인 기록까지 남아 있어서 그런 것으로 보여요. 사실상 한 나라의 '전 국민 + α' 데이터가 영향을 받은 사건이에요.
CPR 번호가 뭐길래 이렇게 심각할까?
CPR 번호가 뭐냐면, 우리나라 주민등록번호와 거의 같은 개념이에요. 형식도 비슷해요. DDMMYY-SSSS 꼴인데, 앞 6자리는 생년월일이고 마지막 숫자가 홀수면 남성, 짝수면 여성이에요. 1968년에 도입된 뒤로 덴마크의 거의 모든 행정이 이 번호를 중심으로 돌아가요. 병원 진료, 세금, 은행 계좌, 학교, 도서관 카드까지요.
덴마크는 디지털 정부로 유명한 나라예요. 공공 서비스 대부분을 온라인으로 처리하고, MitID라는 국가 디지털 신분증으로 로그인하죠. 모든 시스템이 번호 하나로 연결되어 있으면 엄청 편리해요. 대신 그 번호에 묶인 정보(이름, 주소, 가족관계, 주소 이력 등)가 한꺼번에 새어 나가면 피해도 그만큼 커요. 게다가 번호에 생년월일이 그대로 들어 있어서 번호를 바꾸기도 어려워요. 비밀번호는 유출되면 바꾸면 되지만, 주민번호는 평생 따라다니잖아요.
'해킹'보다 무서운 '무단 접근'
이번 공지에서 눈여겨볼 표현은 '무단 접근(unauthorized access)'이에요. 외부 해커가 방화벽을 뚫고 들어왔는지, 접근 권한이 있는 기관이나 사용자의 계정이 악용됐는지에 따라 대응이 완전히 달라지거든요. 정확한 경위는 원문과 후속 발표를 지켜봐야 해요. 다만 대형 공공 데이터베이스 유출 사고를 보면 의외로 후자인 경우가 많아요.
CPR 같은 시스템은 수많은 공공기관, 지자체, 금융기관이 조회 권한을 갖고 있어요. 그래서 정상 권한이 있는 계정 하나만 탈취되거나 오용돼도, 시스템은 그걸 '정상 요청'으로 처리해버려요. 열쇠를 가진 사람이 문을 열고 들어오면 경보가 울리지 않는 것과 같아요. 이런 시스템에서는 “누가, 얼마나 많이, 어떤 패턴으로 조회하는지”를 감시하는 이상 탐지가 방화벽만큼 중요해요.
우리에게도 낯설지 않은 이야기
한국 개발자라면 이 뉴스가 남 일 같지 않을 거예요. 우리도 대형 개인정보 유출 사고를 여러 번 겪었으니까요. 2025년만 해도 SK텔레콤 유심 정보 해킹, 롯데카드 해킹, 연말 쿠팡의 대규모 계정 정보 유출까지 큰 사고가 이어졌죠. 쿠팡 사례는 내부 접근 권한을 가졌던 사람이 관여한 것으로 알려지면서 '내부자 위협'이 다시 화두가 됐어요.
한국은 2014년 카드 3사 유출 사고 이후 주민번호 수집을 법으로 제한했어요. 그리고 아이핀이나 연계정보(CI) 같은 대체 수단을 쓰는 쪽으로 바뀌었죠. 덴마크는 CPR 번호를 비밀번호가 아닌 일상적인 식별자로 폭넓게 써왔다는 점에서 우리와 다른 길을 걸어왔어요. 이번 사건이 덴마크에서도 비슷한 논의를 불러올지 지켜볼 만해요.
개발자가 당장 챙길 것들
첫째, 식별자와 인증 수단을 구분하세요. 주민번호나 전화번호처럼 '누구인지 가리키는' 값을 '본인이 맞는지 증명하는' 데 쓰면 안 돼요. 그 값이 유출되는 순간 인증 체계 전체가 무너지거든요.
둘째, 조회 API에도 감사 로그와 속도 제한을 거세요. 쓰기 작업만 조심하는 경우가 많은데, 이번처럼 '읽기'만으로도 대형 사고가 나요. 계정별로 평소 조회량 기준선을 잡아두세요. 그리고 평소보다 수십 배 많은 조회가 들어오면 바로 알림이 가게 해두면 좋아요.
셋째, 최소 권한 원칙을 생각보다 더 엄격하게 지키세요. 업무에 이름과 주소만 필요한 기관이 가족관계까지 볼 수 있다면 그건 설계 문제예요. 컬럼 단위 접근 제어나 필드 마스킹을 고려해보세요.
마무리
한 줄로 정리하면, 번호 하나로 모든 걸 연결한 디지털 사회일수록, 그 번호에 대한 접근 통제가 가장 약한 고리가 된다는 거예요.
여러분 회사의 서비스는 개인정보 조회 이력을 얼마나 꼼꼼하게 남기고 있나요? 내부자가 대량으로 조회하면 실시간으로 잡아낼 수 있는 구조인지 한번 점검해보면 어떨까요?
🔗 출처: Hacker News