2004년 3월호

운전면허, 통장, 카드 번호 조합해보면 신상 파악도 가능

주민등록번호에서 상품 바코드까지… 흥미진진한 ‘숫자의 비밀’

  • 글: 신주현 자유기고가 asinamu7@hanmail.net

    입력2004-02-27 16:13:00

  • 글자크기 설정 닫기
    • 현대인은 태어나서부터 죽을 때까지 셀 수 없이 많은 숫자들을 소유하면서 살아간다.
    • 이 숫자들은 대강 작성된 게 아니라 일정한 원칙에 따른 것이다. 숫자의 원리를 알면 숫자만 봐도 그 의미와 정보를 한눈에 파악할 수 있다. 주민등록번호, 군번, 계좌번호, 건강보험등록번호, 운전면허등록번호 등 우리를 둘러싼 ‘숫자의 비밀’을 알아보았다.
    운전면허, 통장, 카드 번호 조합해보면 신상 파악도 가능
    서울의 한 구청에서 주민등록 업무를 맡고 있는 K씨. 마구잡이로 만든 주민등록번호인 ‘350502-1645412’를 업무로 바쁜 K씨에게 불쑥 내밀었다.

    “이 주민등록번호는 조작됐거나 오류가 있는 것이네요.”

    “그것을 어떻게 아셨죠?”

    “주민등록번호 안에는 보안시스템이 있습니다. 이 번호는 보안코드에 부합하지 않습니다.”

    어떻게 주민등록번호를 보자마자 오류가 있다는 것을 알아챘을까? 숫자의 마술일까? 그렇지 않다. K씨는 주민등록번호 체계의 보안코드를 알고 있기 때문에 쉽게 오류를 지적할 수 있었던 것이다. 정보보안 관련 전문가들은 ‘일련번호에 불과한 것처럼 보이는 열세 자리 주민등록번호에는 생년월일뿐 아니라 보안코드 및 개인정보가 몇 가지 더 담겨 있다’고 말한다.



    이처럼 우리가 무심결에 지나치는 생활 속 숫자에는 점쟁이의 돋보기만큼이나 신통한 재주가 있다. 정보보안 전문가들은 “숫자 속에 숨겨진 코드 원리를 알면 생활에 유용한 많은 정보를 효과적으로 얻을 수 있다”고 말한다. 생활 속 번호의 원리를 안다면 사람과 상품을 대략적으로 파악할 수 있는 ‘쓸만한 돋보기’를 손에 넣는 셈.

    주민등록번호나 운전면허번호, 또는 통장이나 신용카드번호의 숫자를 조합해보면 해당 번호의 주인에 대한 신상을 대략 파악할 수 있다. 그러나 걱정할 필요는 없다. 당신의 정체를 드러내는 것만큼 숫자는 어느 누구도 당신의 번호를 침범하지 못하도록 지켜주는 보안관 노릇도 톡톡히 하고 있기 때문이다. 그렇다면 과연 숫자는 무엇을 말하고 있을까?

    현대인은 태어나면서부터 숫자와 더불어 살아간다. 출생신고를 하면서 주민등록번호를 부여받고, 학창시절엔 학급번호가 주어진다. 또 대학에 입학하자마자 받는 학번, 군대에 들어가면 받는 군번을 비롯해 운전면허번호, 여권번호, 건강보험번호, 개인 휴대전화번호 등등 가히 ‘번호 인생’이다. 생활 속에서도 마찬가지다. 아파트 동호수와 집 전화번호, 버스나 지하철의 번호도 숫자로 이루어져 있다. 슈퍼마켓에서 구입하는 식료품도 ‘바코드’로 불리는 고유의 상품번호를 가지고 있다.

    주인의 정체 드러내는 숫자

    세상을 살면서 우리가 소유하게 되는 숫자들은 단순한 것부터 복잡한 것까지 다양하다. 30대라면 중·고교 시절 키 순서대로 학급 번호가 매겨지던 추억을 갖고 있을 것이다. 이렇게 정해진 번호는 그 시절 청소년들의 학급 서열과 자존심을 대변하기도 했다. 60명 정원의 한 반에서 다섯 번째로 키가 큰 ‘56번 학생’은 “56번!”이라고 호명될 때마다 괜히 어깨가 으쓱했을 것이다.

    운전면허, 통장, 카드 번호 조합해보면 신상 파악도 가능

    숫자 없이 금융거래를 하기는 불가능하다. 신용카드번호 또한 여러 정보를 담고 있다.

    단순한 의미를 지녔던 학급 번호와 달리 열여섯 자리로 발급되는 신용카드번호처럼 복잡한 체계를 가진 숫자도 많다. 우리가 무심코 사용하는 신용카드번호 열여섯 자리에는 카드의 등급, 주거래 은행, 발급순서 등 소유자에 대한 정보가 숨어 있다.

    주민등록번호는 개인 정보의 핵심 중 핵심이라고 할 수 있다. 즉 주민등록번호는 일종의 ‘인증코드’ 역할을 한다. 열세 자리의 숫자는 각 숫자마다 제자리에서 제 역할을 하고 있다. 행정자치부 주민계 최정예씨는 “1975년 8월 현재의 열세 자리 체계로 주민등록번호가 바뀌면서 마련된 주민등록 작성원칙에 따라 번호가 부여된다. 열세 자리 모두는 각각의 신상 분류코드를 내포한다”고 설명한다.

    누구나 알고 있듯이 앞부분의 여섯 자리는 생년월일을 의미한다. 하이픈 뒤의 일곱 자리 숫자 중 첫 번째 숫자는 성별을 나타낸다. 1800년대 출생자는 남자가 9, 여자가 10을 사용하고 1900년대 출생자는 남자가 1, 여자가 2를 사용한다. 또 2000년 이후 출생자는 남자가 3, 여자가 4를 사용한다. 그렇다고 2100년 이후 출생한 남자가 5, 여자가 6을 사용하게 되는 것은 아니라고 한다. 현재 외국인들도 한국의 주민등록 체계에 따라 남자는 5, 여자는 6을 부여받고 있기 때문이다.

    다음에 오는 숫자 중 몇 자리는 출생신고를 한 시·군·구청의 관할 코드이다. 그러나 최근 들어 출생신고지에 관계없이 무작위로 번호를 매기게 되면서 주민등록번호가 출생지역까지 정확히 나타내지는 않게 됐다고 한다. 최씨는 “현재 국회에서는 출신지역을 분류하는 주민등록번호상의 지역별 코드번호가 개인정보를 유출하고 지역주의를 조장할 수 있다는 이유로 지역 코드번호 삭제에 대한 논의가 진행중이다”고 전했다.

    그 다음 몇 자리 숫자는 출생신고 순서, 즉 그 지역에서 태어난 순서이며 마지막 번호는 주민등록번호의 진위 여부를 가릴 수 있는 숫자이다. 이 마지막 숫자를 보통 ‘체크 디지트’라고 부른다. 주민등록번호의 몇 자리 숫자를 조합하여 일정한 연산과정을 거친 후 구해지는 숫자가 체크 디지트와 일치하는지를 통해 주민등록번호의 진위 여부를 판별하게 되는 것이다. 최근 금융감독원이 행자부에 의뢰해 398만3000개에 이르는 은행계좌의 주민등록번호가 잘못됐음을 밝혀낸 것도 바로 이 체크 디지트를 통해서이다.

    또한 주민등록번호 열세 자리 숫자는 각각 위·변조를 막기 위한 보안코드를 내포하고 있다. 최씨는 “지역 코드번호와 체크 디지트의 구성원리는 허위 주민등록번호 생성위험이 있기 때문에 절대 공개하지 않는 것이 원칙”이라고 설명했다. 그는 또 “허위 주민등록번호를 생성하는 프로그램을 다른 사람에게 전달하거나 유포한 자는 3년 이하의 징역이나 1000만원 이하의 벌금에 처하도록 되어있다”고 경고했다.

    평생 잊지 못하는 ‘군번’의 비밀

    우리나라 남성 중엔 “학번은 잊어도 군번은 못 잊는다”고 말하는 사람들이 많다. 2년이 넘게 군 생활을 함께한 은색 군번줄에 음각으로 선명하게 새겨진 군번은 제대한 지 한참 지난 후에도 쉽게 잊혀지지 않는다는 것이다. 예비역 병장으로 제대한 김익환(31)씨도 “처음 군번줄을 받자마자 조교가 ‘군번을 외우며 절대 군번줄을 벗지 말라’고 명령했다. 반짝이던 은색 군번줄이 다 바랠때가 되니 어느덧 제대할 때가 됐다. 평생 군번을 잊지 못할 것 같다”고 말했다.

    사병은 군 장교 및 하사관과는 다른 군번 체계를 따른다. 육군사병을 예로 들면 군번은 총 열세 자리이다. 입대 연도를 뜻하는 첫 두 자리 뒤에 입소부대와 일련번호를 구분하는 여덟 자리가 따른다. 예를 들어 군번이 ‘98-730X3037’이라면 1998년도에 경기도 모 보충대에 X3037번째로 입소했다는 것을 말해주는 것이다.

    여권번호는 군번과 매우 유사한 체계를 갖는다. 현재 여권번호는 국가 인식코드를 따로 사용하지 않는다. 일반여권의 경우 여권번호는 영어로 된 코드 두 자리와 일곱 자리 숫자로 구성된다. 여권번호 앞 두 자리는 발행기관(광역시·도청 및 서울시 9개 구청) 26곳의 기관코드를 의미한다. 기관코드는 대개 발행기관의 영문 약자를 사용한다. 동대문구청은 ‘TM’, 종로구청은 ‘JR’, 마포구청은 ‘MP’, 경기도는 ‘GK’하는 식이다. 여권을 발행하는 61개 재외공관은 공관이 위치한 국가의 영어표기 약자를 사용한다. 일본 도쿄는 ‘JA’를 사용하는 식이다.

    그 다음 이어지는 일곱 자리 숫자는 특별한 구성 원칙 없이 1번부터 여권발급 순서대로 기록한다. 예를 들어 지난 1월12일부터 여권발급기관으로 지정되어 업무를 시작한 서울 마포구청(기관코드 MP)이 처음 발급한 여권번호는 ‘MP0000001’인 것이다.

    특수 신분으로 분류된 외교관여권이나 공무를 수행하는 공무원의 관용여권 번호체계는 일반인과 기관코드가 다르다. 외교관 영문코드는 세계적으로 통일되어 있지 않지만, 우리나라를 포함한 대다수 나라가 ‘DR’을 사용한다. 관용여권은 ‘S’를 쓴다. 외교통상부 법령계 김윤성 계장은 “국제민간항공기구 규정에 따르면 여권번호는 각 국가의 고유 시스템에 의해 자율적으로 결정할 수 있다”면서 “우리나라는 여권번호를 통해 여권을 가진 국민의 수를 헤아릴 수 있다”고 말했다.

    운전면허증 재발급하면 번호 바뀐다

    지난해 11월 자동차 운전면허증을 분실하고 재교부받은 S씨는 새 면허증을 받아들고 의아스러웠다. 운전면허번호의 끝자리가 달라졌기 때문이다. 혹시 착오가 생긴 것은 아닌지 담당 직원에게 문의했다가 운전면허증을 재교부 받으면 끝자리가 ‘0’에서 ‘1’로 바뀐다는 사실을 알게 됐다. S씨는 “이 사실을 인터넷 지식사이트에 올렸다”고 귀띔했다.

    운전면허번호는 한글로 된 지역표기와 열 자리 숫자로 구성된다. 앞자리 지역은 면허증을 발급한 관할지역을 뜻한다. 이어지는 처음 두 자리 숫자는 면허취득 연도이다. 다음 여섯 자리 숫자는 면허 합격 시험장과 일련번호를 분류해준다. 이는 면허증 위조 여부를 적발할 수 있는 보안장치 중 하나이다. 면허증 발급 관할지역과 시험장 분류번호가 일치하지 않으면 위조된 면허임을 알 수 있는 것이다.

    끝에서 두 번째 숫자는 체크 디지트이며, 맨 끝 숫자는 재교부 횟수를 뜻한다. 재발급할 때마다 숫자가 커지므로, 운전면허번호 맨 끝 숫자가 ‘4’ 이상이라면 그만큼 건망증이 심한 사람일 가능성이 높다.

    체크 디지트 숫자는 주민등록번호와 마찬가지로 특수한 연산을 통해 운전면허번호의 오류 여부를 판독한다. 운전면허증 관리업무를 하고 있는 N씨는 “운전면허증의 재질을 개선하고 번호에도 다중의 보안장치를 마련해 위·변조를 막고 있기 때문에 근래에 운전면허증 위조 사건은 거의 발생하지 않고 있다”고 강조했다.

    운전면허, 통장, 카드 번호 조합해보면 신상 파악도 가능

    현재 쓰이는 열세 자리 주민등록번호체계는 1975년에 만들어졌다. 그러나 앞으로는 출생지역별 코드번호가 사라질 전망이어서 주민등록번호 체계의 변화가 예상된다.

    금융거래는 ‘숫자 거래’라고 해도 틀리지 않을 것이다. 계좌번호는 은행과 거래할 때 사용하는 고객의 개인코드라고 할 수 있다. 거래은행에 따라 번호체계가 다르지만, 각각의 체계는 대부분 다음과 같은 내용을 가지고 있다. 즉 어느 지점에서 거래를 시작했고 어떤 예금상품을 가지고 있으며 또 은행과 몇 번째로 거래를 시작했는지 등이 표시되는 것이다.

    국민은행은 최근 열네 자리로 계좌번호 체계를 개편했다. 앞 부분 여섯 자리 중 네 자리가 은행지점 코드이고 나머지 두 자리는 예금상품을 나타낸다. 중간 두 자리는 일련번호를 전체적으로 분류한 대분류 코드이고, 나머지 여섯 자리는 세분화된 일련번호이다. 마지막 번호는 체크 디지트.

    이러한 계좌번호를 통해 은행 직원은 고객이 어느 지점에서 어떤 상품으로 언제부터 거래했는지 알아볼 수 있다. 국민은행 본점 수신팀 방극홍 차장은 “개인의 은행거래에 관한 정보를 여러 각도로 얘기해주는 계좌번호에 대한 관리에 관심을 기울여줄 것”을 부탁했다. 방 차장은 “금융사고가 자주 발생하고 무통장 거래가 확산되는 추세를 볼 때 금융거래 당사자는 비밀번호 뿐 아니라 계좌번호도 타인에게 유출하지 말고 가능한 외우고 다니는 것이 좋다”고 충고했다.

    계좌번호와 더불어 개인 금융거래에서 중요한 숫자가 바로 신용카드번호이다. 현재 신용카드번호는 16자리 체계로 돼있다. 이는 우리나라 초기 카드업계가 비자카드 및 마스터카드와 긴밀한 관계를 유지하면서 이들의 ‘카드 룰’을 받아들였기 때문이다.

    신용카드번호 첫 숫자는 카드 사용지역을 말해준다. 국내 신용카드번호는 ‘9’로 시작되며 ‘국민비자’ ‘LG마스터’ 등 비자와 마스터 겸용 카드는 각각 ‘4’와 ‘5’로 시작된다. 국적을 의미하는 첫 숫자 뒤의 나머지 세 숫자는 각 신용카드 회사에 부여된 코드이다.

    따라서 총 열여섯 자리 숫자 중 첫 번째군(群)에 속하는 네 자리는 사용지역과 회사번호를 포함한 발행사 고유번호(Pre-fix)다. 두 번째 숫자군은 주거래은행 코드를 포함한 일련번호이다(예를 들면 조흥비씨카드는 21쪹쪹). 세 번째 숫자군의 네 자리 숫자는 검증번호, 마지막 숫자군의 네 자리 숫자는 발급순서를 나타낸다.

    신용카드번호는 개인의 신용거래와 직결되어 있고 위조 위험성이 크기 때문에 자릿수 및 순서를 공개하지 않는 것이 원칙이다. 신용카드 뒷면에는 세 자리의 숫자가 추가되어 있다. 이를 ‘CVC2 값’이라고 부른다. 이 CVC2 값은 카드번호 등의 조합에 의해 암호화된 값으로 각 신용카드사마다 다르기 때문에 거래시 입력된 CVC2 값을 통해 카드 사용의 정당성 여부를 검증할 수 있다. 국민카드사 문승철 과장은 “최근 가맹점원을 사칭하거나 경품행사에 당첨되었다며 비밀번호를 알려달라고 전화하는 경우가 많다. 이들에게 비밀번호와 유효기간을 알려줘서는 절대 안 되며, 카드번호가 유출될 수 있는 매출전표도 반드시 본인이 관리해야 한다”고 당부했다.

    도서출판 ‘시대정신’의 오경섭 부장은 지방출장 중 갑자기 몸이 아파 건강보험증 없이 개인병원을 찾았다. 건강보험번호와 실명이 일치해야 보험급여를 받을 수 있다는 병원측 설명에 번호를 떠올리려 애를 써도 도무지 기억나지 않았다. 집으로 돌아온 오 부장은 이번 기회에 건강보험번호를 외우겠다고 마음먹었지만 열한 자리나 되는 숫자를 외우기가 쉽지 않았다. 오 부장은 “건강보험번호가 왜 이토록 길어야만 하는 건지 의문이 들었다”고 했다.

    현재 건강보험등록번호는 총 열한 자리로 되어 있다. 예를 들면 ‘1-2345678901’이라는 식이다. 맨 앞 숫자는 ‘1’ ‘2’ ‘5’ ‘7’ 네 가지 숫자 중 하나가 쓰인다. ‘1’은 1900년도에 발급된 지역건강보험 가입자, ‘2’는 2000년도에 발급된 지역건강보험 가입자, ‘5’는 공무원 및 사립학교 가입자, ‘7’은 기타 직장건강보험 가입자를 뜻한다. 다음의 열 자리 숫자는 일련번호로 무작위로 구성된다. 마지막 숫자는 역시 체크 디지트.

    중간의 아홉 자리 숫자는 주민등록번호와 달리 개인의 고유번호가 아니다. 개인의 신상 변화에 따라 건강보험 가입 형태가 수시로 변하므로 그때마다 새로운 번호가 부여된다. 이전에 사용한 숫자를 다른 사람에게 발급하지 않기 때문에, 건강보험 일련번호는 계속 증가할 수밖에 없다. 건강보험관리공단 자격부 김병학씨는 “건강보험 번호는 관리번호이기 때문에 개인정보를 포함하지 않는다”면서 “건강보험 대상자를 추적할 때에도 의료보험 번호가 아니라 주민등록번호를 통해 추적한다”고 설명했다.

    상점에서 구입하는 상품도 숫자를 보유하고 있다. 지하철이나 버스 노선을 꿰뚫고 있으면 빠르고 간편하게 대중교통을 이용할 수 있듯이, 상품의 바코드가 뜻하는 의미를 알고 있으면 상품 정보를 쉽게 파악할 수 있다. 휴대전화번호, 소프트웨어 인증번호, 자동차번호판, 바코드, ISBN 등에 담긴 원리와 의미를 알아보자.

    휴대전화 1800만대 시대. 한 대의 휴대전화에 저장되어 있는 다른 휴대전화번호는 천차만별이다. 이 전화번호에 숨은 뜻은 없을까?

    011, 016, 017, 019 등은 잘 알다시피 이동통신회사 고유번호이고, 맨 뒤 네 자리 숫자는 개인이 임의로 정하는 숫자이기 때문이 별다른 의미가 없다. 그러나 가운데 3∼4자리 국번은 이동통신사마다 다른 체계로 나누어 사용해왔다. SK텔레콤은 1990년대 초반부터 200번~900번까지 순서대로 사용하다 번호가 소진되자 1999년 네자리인 9000번대를 부여받았다. 2003년 6월 9000번대를 대부분 사용하자 7월부터는 1700번대를 부여받아 사용해왔다. SK텔레콤 가입자의 전화번호를 확인하면 대략 몇 년도쯤 가입한 고객인지 확인할 수 있는 것이다.

    LG텔레콤은 1997년 10월부터 세 자리 국번을 사용하다가, 2000년대 초부터 9000번대 네 자리 국번을 사용하고 있다. KTF는 숫자로 가입자 지역을 구분해왔는데, 서울과 수도권에는 각각 ‘2’와 ‘3’, 대전은 ‘4’, 영남은 ‘5’, 호남은 ‘6’을 부여했다.

    올해부터는 이동통신사별로 분산되어 있는 식별번호를 ‘010’으로 통합하여 숫자로 이동통신사를 구별하지 못하도록 했다. 그러나 010으로 통합되더라도 당분간은 가운데 네 자리 숫자를 통해 가입자가 어느 이동통신사에 가입했는지를 알 수 있다. 정통부가 각 이동통신사에 부여한 번호대역이 다르기 때문이다. SK텔레콤은 3100, KTF는 3010, LG텔레콤은 3900대의 번호대역을 사용한다.

    소프트웨어에는 제품 인증번호가 있다. 보통 ‘시디 키’ 또는 ‘시리얼 넘버’로 불리는 제품 인증번호는 제품을 설치하고 사용하기 위해서 반드시 등록해야 하는 제품의 고유번호이다. ‘한글과컴퓨터’ 제품개발부 Y과장은 “시디 키는 제품에 관련한 정보와 보안코드를 가지고 있다. 예를 들어 한글 97, 2002, 2004 제품에 따라 앞자리 숫자가 달라지고, 공급분류 코드에 따라 조달청 납품용은 ‘4’, 번들은 ‘5’, 정품은 ‘7’을 사용한다. 또한 특정순서에 위치한 한 두 개의 자리 번호를 이용하여 오류 여부를 밝혀낼 수 있다. 이를 통해 소프트웨어 불법복제 및 사용을 방지한다”고 설명했다.

    소프트웨어 불법사용이 극성스러워지면서 보안체계가 한층 강화되는 추세다. 한글과컴퓨터사는 제품 인증번호 이외에도 제품 일련번호와 사용자 개인번호를 조합한 사용자 인증번호 제도를 도입했다. 인증번호는 문자와 숫자를 조합해 총 20자리로 구성된다.

    요긴하게 활용되는 바코드

    운전하면서 주변의 자동차번호판을 유심히 살피는 운전자는 많지 않다. 10부제가 운영될 때만 유독 관심을 가지고 맨 끝자리 숫자를 살필 뿐이다. 그러나 주변 차량들이 어디에서 어떤 용도로 쓰이고 있는지 알아둔다면 여러모로 도움이 되지 않을까.

    자동차번호판은 지역과 차량의 운영용도, 그리고 등록 일련번호를 나타낸다. 윗자리 지역 이름 옆의 두 자리 숫자는 차종과 세부지역을 의미한다. 세부지역 번호는 관할 구청에 가면 알아볼 수 있다. 아랫줄 첫 번째 문자는 사업용, 비사업용, 대여사업용을 구분하는 일련번호이며, 나머지 네 자리 숫자는 특별한 규칙 없이 등록 순서를 나타내는 일련번호이다.

    그러나 올해 1월부터 신규 발급한 자동차번호판은 기존의 ‘서울 12 가 3456’이란 형태에서 지역 이름이 빠지고 ‘12 가 3456’의 형태로 바뀌었다. 앞부분 두 자리 숫자는 차종과 지역에 따라 달라진다. 승용차는 01∼69번, 승합차는 70∼79번, 화물차는 80∼97번, 특수차량은 98∼99번 등으로 구분된다. 또 지역에 따라 숫자가 구분된다. 예를 들어 승용차의 경우 서울 01∼16, 부산 17∼20, 대구 21∼24, 제주 69 등의 숫자를 앞부분의 두 자리 숫자로 부여받는다.

    슈퍼마켓에서 식료품을 구입할 때 판매원이 식료품 포장을 스캐너에 읽히면 ‘띠’ 소리와 함께 모니터에 가격 정보가 뜬다. 간혹 바코드가 스캐너에 읽히지 않는 경우엔 바코드 번호를 직접 입력하는 모습도 종종 볼 수 있다.

    운전면허, 통장, 카드 번호 조합해보면 신상 파악도 가능
    이 바코드 숫자로 인해 전세계 어디에서나 상품 제조업체나 판매업체가 정확하게 상품을 식별할 수 있다. 제조업자는 바코드를 활용하여 생산관리, 입고·출고·재고관리 등 물류관리시스템을 원활하게 구축할 수 있다. 또 계산할 때 바코드를 입력하므로 상품 판매량 및 판매비용을 정확하게 집계할 수 있다. 유통과정에서 인쇄된 바코드가 손상되거나 스캐너가 바코드를 잘못 인식하는 경우가 종종 발생하는데, 이를 방지해주는 것이 바코드의 마지막 숫자인 체크 디지트이다.

    8801043102100은 ‘농심 새우깡’

    우리나라는 유럽 상품 번호체계인 EAN체계를 따르며, 대부분 열세 자리 표준형(EAN-13)을 사용한다. 처음 세자리 숫자는 국가식별 코드로 우리나라는 ‘880’을 사용한다. 다음 네 자리 숫자는 제조원 또는 판매원에 부여하는 업체식별 코드다. 다음 다섯 자리 숫자는 상품식별 코드며, 마지막 숫자가 체크 디지트로, 앞선 12개 숫자를 조합하여 나오는 코드이다. 예를 들어 바코드 숫자가 ‘880 1043 10210 0’이라면 ‘한국(880)에서 농심(1043)이 만든 새우깡(10210)’이라는 뜻이며, 오류를 검증하는 체크 디지트는 0이 된다.

    슈퍼마켓에서 구입한 새우깡이 진품인지 확인하고 싶다면 체크 디지트를 구해보면 된다. 체크 디지트 계산은 다음과 같다. 먼저 체크 디지트를 포함하여 우측에서 좌측으로 일련번호를 부여한 뒤 짝수 번째에 있는 숫자를 모두 더한 값에 3을 곱한다(①). 또 나머지 숫자(체크 디지트를 제외한 홀수 번째 숫자)를 전부 더한다(②). ①과 ②를 더한 값(③)이 10의 배수가 되도록 더해지는 최소수치(‘0’ 이상의 양수)가 체크 디지트다. 예를 들어 계산 결과 ③이 127이라면, 10의 배수인 130이 되기 위해 필요한 ‘3’이 체크 디지트가 되는 것이다.

    체크 디지트는 상품을 확인할 뿐 아니라, 스캐너가 바코드를 잘못 인식한 경우를 찾아낼 수 있다. 그러나 바코드 번호 중 두 개의 숫자가 위치만 바꾸었다면 공식에 의해 구해지는 체크 디지트의 값이 동일하게 나와 오류를 인식할 수 없게 된다. 이것이 현재 바코드 체계가 가지고 있는 한계이다. 담배를 포함한 일부 상품은 여덟 자리 단축형 바코드(EAN-8)를 사용하는데, 구성체계와 체크 디지트를 구하는 원리는 열세 자리 바코드와 동일하다.

    지금 책을 읽고 있다면 책의 앞장이나 뒷장을 살펴보자. 바코드와 ISBN(연속간행물은 ISSN) 등 두 가지 숫자 체계를 확인할 수 있을 것이다. ISBN(International Standard Book Number)은 전세계에서 간행되는 각종 도서에 고유번호를 부여해 문헌 정보와 도서 유통의 효율화를 기하기 위한 국제표준 도서번호제도이다.

    그런데 도서번호는 바코드로 나타나지 않기 때문에 도서번호를 상품번호로 바꾼 바코드를 동시에 표시한다. ISBN은 ‘89-7365-374-1’과 같은 형태로 총 10자리 숫자로 구성되고 뒤에 부가기호 다섯 자리가 붙는다. 열 자리의 숫자는 4개 영역으로 나뉘는데, 처음 두 자리는 국가식별 코드로 한국은 ‘89’를 쓴다. 두 번째 숫자군은 한국문헌번호센터에서 발급하는 발행자 정보를, 세 번째 숫자군은 서명식별번호로서 발행자가 제작한 특정서명이나 판을 나타낸다. 89-7365-374-1인 경우 해당도서가 375번째(0부터 시작하기 때문)로 간행된 도서임을 뜻한다.

    마지막 숫자군은 ISBN 오류를 검증하는 체크 디지트이다. 부가기호의 첫 번째 숫자는 독자대상기호((0-교양, 1-실용, 2-여성, 4-청소년 등)이며 두 번째 숫자는 발행형태 기호(0-문고본, 1-사전, 3-단행본 등)다. 나머지 세 개의 숫자는 내용에 따른 책 분류기호(310-통계학, 810-한국문학 등)이다. 부가기호가 ‘20810’이라면 굳이 들춰보지 않아도 ‘여성을 대상으로 하는 문고판 한국문학 책’이라는 걸 알 수 있는 것이다.



    댓글 0
    닫기

    매거진동아

    • youtube
    • youtube
    • youtube

    에디터 추천기사