서비스 개발을 하다보면 인증 업체에서 인증을 받아 고객 회원가입을 하는 방식으로 개발을 하게 되는데 이때 CI라는 것을 발급 받아 사용한다.
주로 로그인과 회원가입 기능을 개발할 때 사용되는 CI / DI 에 대해 알아보았다.
🔎 CD / DI 개요
이 두 가지 정보는 사람들이 온라인에서 신원을 확인하거나 개인 정보를 보호하는 데 도움을 준다.
온라인 주민등록 번호라고 생각하면 이해하기 쉽다.
2014년 8월부터 주민등록번호를 수집하지 못하도록 주민등록번호 수집 금지 제도가 시행되어 기존에 주민등록번호로 본인은 인증하던 방식에서 이제는 휴대폰과 공인인증서 등을 이용하여 본인 인증을 하고 있다.
CI (Connecting Information, 연계 정보)
- 본인확인 기관에서 개인별로 고유하게 부여하는 개인 식별 정보이다.
- 공인인증서나 휴대폰 인증 등을 통해 최초 발급 받은 후에는 해당 CI를 이용해 본인임을 증명하게 된다.
- CI는 회원 가입, 계정 변경, 비밀번호 찾기 등 다양한 상황에서 사용자 인증에 이용된다.
- CI는 개인정보를 바로 드러내지 않으면서도, 사용자가 같은 사람임을 증명하는데 사용되는 방식이다.
CI 특징
- 주민등록번호를 단방향 암호화하여 생성한다. (원래의 데이터로 복원 불가)
- 88byte의 Hash 처리 된 값이 된다.
DI (Duplication Information, 중복가입 확인 정보)
- DI는 발급받는 업체별로 사용자에게 부여하는 고유번호이며 동일인이라 하더라고 업체가 다르면 DI가 다르다.
- 중복가입을 방지하기 위해 사용된다.
- 예를 들어, 한 사람이 여러 개의 계정을 생성하여 서비스를 부정하게 이용하는 것을 방지하기 위해 사용된다.
DI 특징
- CI + 사업자고유 식별번호로 만들어진다.
- 64byte의 Hash 처리 된 값이 된다.
결국 CI와 DI는 사용자의 신원을 보호하고 서비스 이용을 공정하게 유지하는 데 도움이 되는 시스템이다. 이들은 특히 대한민국에서 널리 사용되며, 사용자의 개인 정보를 보호하면서도 신원을 확인하고 부정 이용을 방지하는 데 큰 역할을 한다.
본인확인 기관은 대표적으로 NICE평가정보, SCI평가정보, KCB 등이 있다.
✏️ CI / DI 차이점
A 사이트와 B 사이트에 본인인증(휴대폰인증, 공인인증 등)을 통해 회원가입을 진행 했을 때 두 사이트는 서로 같은 CI, 서로 다른 DI 를 받게 된다.
CI 는 개인별로 유일한 값을 가지며, DI 는 해당 사이트 내에서 유일한 값을 가지게 된다.
CI는 개일별로 유일한 값을 가지기 때문에 두 사이트는 홍길동의 CI로 서로 필요한 데이터를 결합할 수 있게 되고,
DI는 사이트 내에서 유일하기 때문에 두 번째 가입하려고 본인인증을 하면 기존에 가지고 있던 DI로 중복 가입임을 알 수 있게 된다.
❓ DI 사용 이유
CI 만으로도 중복 가입을 확인할 수 있는데 DI를 왜 발급해주고, 왜 사용하는걸까?
DI를 사용하는 주된 이유는 보안과 개인정보보 보호를 위함이다.
특히, 대한민국의 개인정보보호법에 따르면, 개인정보는 원칙적으로 해당 정보를 제공받은 목적을 달성한 경우에는 지체 없이 파기해야 한다.
만약 CI를 중복 가입 확인용으로 사용한다면, 해당 서비스 제공자는 CI를 보관하고 있어야 하므로 개인정보보호법에 위배될 수 있다.
따라서, DI는 CI를 비식별화하여 생성된 정보로서, 서비스 제공자가 DI만을 보유하고 있음으로써 중복 가입을 확인할 수 있고, 동시에 개인정보 보호를 위반하지 않는다.
이렇게 함으로써 사용자의 개인정보는 안전하게 보호되고, 서비스 제공자는 불필요한 법적 위험을 피할 수 있다.
결론적으로, CI와 DI의 분리 사용은 사용자의 개인정보 보호와 서비스의 보안을 동시에 보장하기 위한 중요한 방법이다.
🐞 CI / DI 문제점
주민등록번호
- CI는 주민등록번호에서 암호화된 값으로 고유하고 변경되지 않는다는 특징이 있다. 주민등록번호 수집을 금지하고자 도입한 CI이지만 사실상 주민등록번호와 1:1 매칭 되고 있으며, 사용자 식별이 가능하다는 점에서 동일한 문제점이 발생하게 된다.
CI 오남용
- CI는 개인정보만으로 구성되어 있기 때문에 메인으로 사용해서는 안된다. DI를 메인으로 사용자를 구분해야하는데 특정 기관, 업체에서는 주민등록번호가 변경되지 않는 이상 변하지 않는 특징을 이용해 CI 값을 광범위하게 이용하고 있다.
DI 값의 무결성 위배
- [CI + 사업자 고유 식별 번호] 로 만들어지기 때문에 인증 사이트마다 다른 DI값을 반환해주어 인증 사이트가 변경되면 중복 가입 체크가 불가능해진다.
-> 같은 사업자 고유 식별 번호를 인증 업체에 제공하면 같은 DI 값을 발급 받을 수 있다.
📝 reference
https://www.ihee.com/614
https://www.catchsecu.com/archives/12037
https://brunch.co.kr/@b30afb04c9f54dc/53
https://kongda.tistory.com/45
'Security' 카테고리의 다른 글
[암호학] 정보보안 3대 요소, 암호화, 디지털 서명 (1) | 2023.07.07 |
---|