본문 바로가기

주민번호 입력 받게 해 주시고 회원 비밀번호도 볼 수 있게 해주세요.

728x90
반응형

웹프로그램을 만들면서 간혹 듣는 말이다.
나에게 웹프로그램을 의뢰하는 사람은 개인 사업자가 많다.
좋은 사업 아이템이라며 들고와 프로그램만 제작 해 달라고 하기도 한다.

프로그램을 만들면서 의문점은 몇몇 의로인들은 회원의 비밀번호를 알고 싶어 한다는 것이다.
관리페이지를 별도로 만들어 주지만 내가 하는 것은 회원 열람이나 활동 상황, 로그인 정보 등을 열람하게 해 주는 수준이다.
탈퇴는 시킬 수 있지만 정보를 관리자가 임의로 수정할 수 없게 한다.
그러면 절반 정도는 회원의 모든 정보를 열람 할 수 있게 해달라고 한다.
이유는 불순한 목적으로 가입한 회원의 관리 목적이란다.
일리는 있다.
그러나 이들이 회원의 비밀번호나 주민등록번호를 열람 할 수 있게 해달라는 이유는 또다른 불순한 의도를 품고 있을 확율이 높다.
그럴 때마다 개인정보보호정책에 대해 일장 연설을 해야 한다.
그럼에도 단호히 회원정보 모두를 열람하고 수정하길 원하는 의뢰인이 있다.
결국에 나는 그들과, 아니 그들이 쥐고 있는 돈과 타협할 수 밖에 없다.

오랜시간 프로그램을 개발 했지만 10여년전 웹프로그램을 시작하면서 주민등록번호를 접할 일이 많아졌다.
요즘은 회원가입시 주민등록번호를 받는 곳은 많지 않지만 몇년전까지만 해도 회원가입을 할 때 의례 주민등록번호를 입력 받도록 했고 그 때 만들어진 프로그램들 대부분은 아직도 암호화 되지 않은 상태에서 database에 기록 된다.
실제로 예전에 타사에서 개발한 프로그램을 업그레이드 해달라며 의뢰한 프로그램들을 보면 회원의 중요한 개인 신상정보가 고스란히 남겨져 있다.
그들이 별도로 요구를 하지 않았지만 나는 그것들을 다시 암호화 하는 작업을 해주고 텍스트 형식으로 기록된 개인정보가 database에 아무런 안전장치 없이 기록 되었을 때의 위험성을 의뢰인에게 설명 해준다.
설명의 마지막에 의뢰인이 하는 말은, 그래도 주민등록번호는 계속 받을 수 있게 해달라고 한다.
개인식별 번호 용도로만 사용하기 위해 주민등록번호를 받는 경우가 많기 때문에 비밀번호나 주민등록번호는 database에 기록하기 전에 해싱을 한다.
그런데 그것을 관리자가 열람 할 수 있게 해달라고 하면 그것만큼 난감한게 없다.
해싱한 문자는 다시 디코딩이 되지 않는다는 걸 그들은 이해하지 못한다.

10여년간 타인의 주민등록번호를 다루면서 드는 생각이 이 것참 허술하고 불필요한 식별번호라는 것이다.
내가 아무리 이것을 해싱하고 인코딩 한들 실생활에서 너무 쉽게 유추가 가능한것이 주민등록번호다.
990101-1234567
이게 우리나라 주민등록번호라면 앞에 여섯자리는 생년월일이다.
친한 사람이이거나 미니홈피, 사생활이 담긴 블로그 등을 조금만 관심있게 뒤져보면 쉽게 유추 할 수 있다.
생년월일을 알아 냈다면 성별 쯤은 더 쉽게 알아 낼 수 있다.
그렇다면 뒷에 첫자리도 유추가 가능하다.
남자면 1, 3 여자면 2, 4로 시작하고 출생년도를 알면 확실한 번호를 알 수 있다.
그렇다면 뒤에 여섯자리만 알면 되는데 이것은 공식이 있다.
주민등록번호를 받는 프로그램을 개발한적이 있는 사람이라면 이 주민등록번호가 그 공식에 맞는지 안맞는지 확인 할 수 있는 함수들은 모두 갖고 있을 것이다.
조금만 수고로움을 갖는다면 뒤에서 5자리는 쉽게 유추가 가능하다.
굳이 이것이 아니더라도 보험회사 쓰레기 통 근처, 부동산중개사무소(월세방을 계약하더라도 임대인-임차인 주민등록번호가 들어가지만 이것들은 기한이 지나면 관리가 허술해 지고 임대인-임차인은 각각의 주민등록번호화 실명을 소유하게 된다.) 쓰레기 통 근처만 뒤져도 버려진 개인신상정보는 쉽게 찾아 낼 수 있다.

어머니의 말씀을 빌리자면 1962년에 주민등록번호가 처음 생겼을 때 주민등록번호가 같은 사람들이 많았고 주민등록번호가 같다는 이유로 엉뚱한 사람이 범죄인으로 잡혀가곤 했단다.
그렇게 허술하게 만들어진 주민등록번호는 2000년 이후 출생자의 성별을 구분하는 번호를 바꾼 것 외엔 별다른 개정 없이 여태껏 사용하고 있다.
현재 사용하고 있는 주민등록번호는 6자리+7자리다.
13자리면 생년월일을 사용하지 않더라도 충분히 개인 식별번호를 만들어 낼 수 있다.
쓸데 없는 곳에 예산 낭비하는 것보다 이런 문제들이 미래를 볼 때 더 시급한 문제가 아닐까 싶다.

웹개발자의 입장에서 볼 때 주민등록번호는 하등 사이트 운영에 필요하지가 않다.
예를 들어 쇼핑몰을 운영하는 사람이 불량 사용자를 예방하기 위해 주민등록번호가 필요하다고 하는데 우리나라 인터넷 쇼핑몰은 선불제다.
입금되지 않으면 물건이 배송되지 않는다.
이들의 회원의 주민등록번호가 필요한건 소비자 블랙리스트에서 그들을 가려내기 위한 수단외엔 필요가 없다.
또, 회원에게 보다 나은 서비스 제공을 위해 주민등록번호가 필요하다고 한다.
그들이 말하는 보다나은 서비스란 신제품 출시 안내 메일을 보내거나 SMS을 발송하는 것과 서비스 이용시 제공되는 약간의 적립금이 전부다.
한 회원이 여러 아이디로 가입하여 서비스를 이용하게 될경우 적립금이나 이용 실적 정보들이 분산되어 회원개인에겐 불이익일 수 있지만 운영자 입장에선 전혀 손해가 없다.
그런데도 우리나라 대형 사이트들은 아직도 주민등록번호를 고집하고 있다.
온라인 게임을 전혀 하지 않는 내게 아이템 거래가 성사 되었다고 SMS가 간혹 온다.
누군가 내 명의로 게임 아이템 거래를 한 것이다.
프로그래머인 내가 조금만 마음을 나쁘게 먹었다면 10여년동안 정말 많은 개인정보를 수집할 수 있었다.
이렇게 중요한 문제를 프로그래머의 양심에 맞겨야 하는게 현실이다.

요즘 만드는 사이트들은 이메일이나 SMS인증으로 주민등록번호를 대체하는 추세이긴 하다.
하지만 아직도 대형 사이트나 일부 사이트 운영자들은 세세한 개인신상정보를 요구하고 있다.
사이트 성격상 질 좋은 서비스를 제공하기 위한 정보를 수집하는 것이라면 필요에 의해 몇몇 개인 정보들은 수집할 수 있겠지만 아무리 생각해도 주민등록번호는 아닌것 같다.
728x90
반응형