본문 바로가기

세상살이 Zoom In/생활 | 경제

다 아는 주민등록번호 생성원리, 체제 바뀌어야.

반응형
주민등록번호는 우리 고유의 식별자인 개인 아이디와 같은 역할을 해 줍니다. 등록되어진 대한민국의 국민에게 부여되어진 하나의 일련된 번호입니다.

이러한 주민등록번호는 기존에 무분별하게 소규모 부터 대규모의 웹사이트에서 회원을 가입할때 요구되어지는 필수 입력값이였습니다. 추후에 문제성과 보안을 인식해서 실명확인제가 도입되어서 위조된 주민등록 번호로는 가입이 되지 않도록 방지를 하였습니다.

여기서, 주목해야 될 것은 위조된 주민등록번호입니다. 불특정 타인의 주민등록번호를 이용하여 위조된 경우도 있고, 주민등록번호의 일련의 생성원리(알고리즘)에 따라서 만들어낸 주민등록번호가 있습니다. 이제는 인터넷에서 검색만 조금 해보면 알다시피 우리가 지금 사용하고 있는 주민등록번호는 일련의 규칙성을 가지고 만들어 진 것입니다.

사용자 삽입 이미지
주민등록번호와 지문을 없앤 새로운 주민등록증 모델
(주민등록증 발전모델 연구사업단)



1. 주민등록번호의 생성원리는.

웹사이트에서 조금만 검색을 해보면 만들어내는 생성원리(알고리즘)을 쉽게 발견할 수 있습니다. 현재 총 13자리로 구성되어져 있으며, 앞의 6자리가 생년월일, 뒤의 여섯자리가 성별 및 태어난 본적정보, 검증번호로 구성되어져 있습니다.

이미 여러곳에서 웹상에 퍼져서 간단한 검색으로도 관련 정보를 얻을 수 있습니다. 각 자리수의 규칙에 맞는 합에서 11로 나눈 나머지를 11에서 뺀 수가 주민등록번호의 마지막 자리와 일치하면 정상적인 주민등록번호로 가늠합니다. 자세한 설명은 생략합니다.



2. 주민등록번호로 알 수 있는 것은.

주민등록번호로 알 수 있는 것은 위에서 언급 한 바와 같이 다음과 같은 정보를 알 수 있습니다.

1. 태어난 생년월일
2. 성별
3. 본적(그 지역의 고유번호를 알면됨)

특히, 성별을 구분하는 뒷자리 첫번째의 숫자는 다음과 같이 구분이 되어집니다.

1은 1900년대 태어난 남자, 2는 1900년대 태어난 여자
3은 2000년대 태어난 남자, 4는 2000년대 태어난 여자
9는 1800년대 태어난 남자, 0은 1800년대 태어난 여자




3. 불법적인 악이용의 현실

일부 사이트에서는 실명제를 도입하고 본인을 확인하기 때문에 그러한 염려는 없겠지만, 주민번호의 생성원리를 알기 때문에 이에 맞게끔 수많은 주민등록번호를 만들어 낼 수 있습니다. 실제로 예전에 비쥬얼베이직(Visual Basic) 프로그래밍을 배우던 학생시절에 과제로 주민등록번호 알고리즘에 의해서 임의로 버튼만 누르면 마지막 자리의 검증코드를 통과하는 프로그램을 내 준 적도 있습니다.

이렇게 만들어 내는 주민등록번호는 실존하는 번호 일수도 있고, 실존하지 않는 만들어진 정상적인 주민등록번호 일 수도 있습니다. 아직도 현실적으로 여러 사이트에서 실명확인인증절차 없이 주민등록번호와 이름이 따로 놀고 있으며, 실제로 이러한 사이트에서 주민등록번호 검증도 위에서 말한 방법의 알고리즘을 이용합니다.

입력한 주민등록번호의 알고리즘 검증 규칙에서 나온 값이 마지막 자리와 일치하면 정상적인 주민등록번호로 인식하게 웹사이트 개발시 되어져 있습니다. 주로 자바스크립트나 서버측 웹프로그램 언어인 PHP, ASP, JSP등에서 입력받은 값을 넘겨 받아 검증을 합니다.

즉, 마음만 먹으면 실존하던, 그렇지 않던 간에 임의적으로 주민등록번호를 이용할 수도 있으며, 해킹으로 유출되어진 주민등록번호와 이름을 악이용 하는 것은 당연한 현실입니다.



4. 원리를 몰라도 정상적인 주민등록번호 입력이 가능

중요한 것은 위에서 자세히 언급하지 않았던 그 검증을 위한 숫자의 산술계산값과 마지막 자리의 일치여부로 정상적인 주민등록 번호를 판별 한다고 했습니다.

그렇다면, 역으로 생각해보죠.

생년월일을 포함한 주민등록번호 총 13자리중에 앞의 12자리는 임의의 숫자를 마음대로 넣고, 마지막 자리만 0부터 9까지 반복해서 입력해 보면 그 중 하나는 정상적으로 인식되는 주민등록 번호가 됩니다. 결국 최종적으로 통과되어야 되는 마지막 값과의 일치여부가 정상을 따지기 때문입니다.



5. 현재의 생성 및 번호체제를 유지할 필요가 있나.

암호화를 할 경우에는 보통은 공개키 알고리즘을 주로 이용합니다. 간단하게 이야기 하면, 암호화되어진 코드는 공개하고, 그것을 풀어내는 키는 비밀로 보안을 유지하는 방식으로 이해하시면 됩니다. 헌데, 우리의 주민등록 생성원리와 그 체크 알고리즘은 이미 조금만 검색하면 바로 알 수 있을 정도로 보편화된 상식수준입니다.

그렇다면, 결국 개인의 신상정보와의 연결성과 유니크한 식별자로서의 역할을 빼면 더이상 필요가 없는 존재입니다. 실명확인제와 핸드폰 및 기타 인증수단을 거친다고 한다면 더욱 개인의 상세한 정보는 관련 웹사이트의 데이터베이스에 축적이 되기 마련입니다.

이렇게 쌓인 상세한 개인 정보들이 유출되어 이번 옥션의 해킹관련 사태가 벌어지는 것입니다. 단순히 사이트에 대한 피해 뿐만 아니라 그것을 악의적으로 이용하게 되는 사태까지 가지를 뻗어나가는 발판을 마련해 주는 체제입니다.

이에 결국은 식별자로서의 역할만이 남은 현재의 주민등록번호는 이제 좀더 그 관리와 연결성을 분산하고, 고급화 되어진 암호화를 통한 국가적 관리와 분산관리체제가 옳아 보입니다. 개발자적인 입장에서 조금만 생각해보면 아주 효율적인 방법대안들은 많습니다. 소 잃고 외양간 고치고, 상처를 덮고 곪게 만드는 사태가 일어나기 이전에 자발적으로 정부에서 관련 내용에 대해서 긍정적인 검토와 개발, 관리체계가 이루어 지길 권유합니다.

[ IT강국이란 말이 껍데기 였다 ] 라는 말을 듣기는 저는 싫습니다!

Daum 블로거뉴스 이 포스트를 추천해주세요. [추천]

반응형