[IT 상식] 주민번호 대체한다던 '연계정보(CI)', 왜 또 보호해야 할까? (한국에만 있는 독특한 보안 체계)
인터넷 서비스를 이용하다 보면 본인인증 후 대두되는 CI(연계정보)라는 용어를 한 번쯤 보셨을 겁니다. 최근 대형 OTT 플랫폼의 개인정보 유출 사태와 함께 'CI 분리보관 실태점검' 뉴스가 보도되면서 이 기술에 대한 관심과 우려가 동시에 커지고 있는데요. 개인정보를 보호하기 위해 만든 대체 정보인데, "왜 이것을 또 삼중 사중으로 보호해야 하는가?"라는 모순적인 상황에 대해 그 생성 배경과 구조적 한계를 짚어보겠습니다. 1. 연계정보(CI)란 무엇인가요? 정의: 주민등록번호를 대체하여, 서로 다른 서비스 제공자(기관) 간에 동일인임을 확인(연계)할 수 있도록 생성한 암호화된 식별정보입니다. 특징: 특정 개인의 주민등록번호와 본인확인기관(통신사, 신용평가사 등)의 고유 키를 결합하여 일방향 암호화(해시) 과정을 거쳐 생성됩니다. 총 88바이트(Byte)의 문자열로 구성되며, 주민등록번호가 같다면 어느 기관에서 생성하더라도 항상 동일한 값이 도출됩니다. 2. CI는 주민등록번호의 단순 해시(Hash)값일까? 결론부터 말하자면 "반은 맞고 반은 틀립니다." 데이터를 입력받아 일정한 길이의 무작위 문자열로 바꾸고 역산(복호화)할 수 없게 만든다는 점에서는 암호학적 해시 함수를 기반으로 동작하는 것이 100% 맞습니다. 하지만 단순한 해시값(예: 주민번호를 그대로 SHA-256 등으로 변환한 값)은 아닙니다. 만약 단순 해시값이라면 다음과 같은 치명적인 문제가 발생합니다. 사전 대입 공격에 취약: 주민등록번호는 가짓수가 제한적이라 해커가 미리 계산해 둔 '레인보우 테이블'을 이용해 원래의 주민번호를 쉽게 역산할 수 있습니다. 무단 데이터 결합: 모든 기업이 동일한 해시값을 가지면 정부 통제 없이 무분별하게 개인 프로파일을 합칠 수 있습니다. 이를 막기 위해 CI는 주민등록번호에 본인확인기관의 고유한 비밀 키(Salt, 솔트)를 섞어서 해시를 적용합니다. 따라서 일반적인 해시값에 보안용 안전장치를...