법인/통합계정/본인인증 로그인
2024. 6. 18. 09:58ㆍspring/security
- 참조자료
- https://yozm.wishket.com/magazine/detail/2488/
- https://faq.portone.io/3df572fb-7ab6-4933-a383-3741efb0aa4d
- https://zhfvkq.tistory.com/100
- CI (88Byte의 Hash처리된 값)
- 온라인에서 개인식별을 위해 주민번호에 기반하여 생성된 온라인 주민번호로, 필요한 경우 서로 연계가 가능하다.
- 공인인증서나 휴대폰 인증 등을 통해 최초 발급 후에는 해당 CI를 이용해 본인임을 증명하게 된다.
- 주민번호를 단방향 암호화하여 생성된다.
- DI (66byte)
- 사이트별 개인 고유 식별키
- 주민번호와 각 웹사이트의 식별번호를 가지고 생성하는 방식
- 특정 유저가 가입한 이력이 있는지 등을 확인하기 위한 정보
- 중복 가입을 방지하기 위해 사용된다.
- CI + 사업자고유 식별번호
- 인증업체 혹은 인증되는 PG사의 상점아이디별로 달라지는 개인 고유번호
CI / DI 차이점
- A 사이트와 B 사이트에 본인인증(휴대폰인증, 공인인증 등)을 통해 회원가입을 진행 했을 때 두 사이트는 서로 같은 CI, 서로 다른 DI 를 받게 된다.
- CI 는 개인별로 유일한 값을 가지며, DI 는 해당 사이트 내에서 유일한 값을 가지게 된다.
- CI는 개일별로 유일한 값을 가지기 때문에 두 사이트는 홍길동의 CI로 서로 필요한 데이터를 결합할 수 있게 되고,
- DI는 사이트 내에서 유일하기 때문에 두 번째 가입하려고 본인인증을 하면 기존에 가지고 있던 DI로 중복 가입임을 알 수 있게 된다.
DI 사용이유
- CI만으로도 중복가입을 확인할 수 있는데 DI를 왜 사용하는 것인가?
- DI를 사용하는 주된 이유는 보안과 개인정보를 보호하기 위함.
- 대한민국 개인정보보호법에 따르면, 개인정보는 원칙적으로 해당정보를 제공받은 목적을 달성한 경우에 지체 없이 파기해야한다.
- 만약, CI를 중복 가입 확인용으로 사용한다면, 해당 서비스 제공자는 CI를 보관하고 있어야하므로, 개인정보보호법에 위배될 수 있다. → (CI는 따로 보관하지 않는다는 의미)
- 따라서, DI는 CI를 비식별화하여 생성한 정보로, 서비스 제공자가 DI만을 보유하고 있음으로써, 중복가입을 확인할 수 있고, 동시에 개인정보 보호를 위반하지 않는다.
CI / DI문제점
- CI 오남용
- CI는 주민등록번호에서 암호화된 값으로 고유하고 변경되지 않는다는 특징이 있다. 주민등록번호 수집을 금지하고자 도입한 CI이지만 사실상 주민등록번호와 1:1 매칭 되고 있으며, 사용자 식별이 가능하다는 점에서 동일한 문제점이 발생하게 된다.
- CI는 개인정보만으로 구성되어 있기 때문에 메인으로 사용해서는 안된다. DI를 메인으로 사용자를 구분해야하는데 특정 기관, 업체에서는 주민등록번호가 변경되지 않는 이상 변하지 않는 특징을 이용해 CI 값을 광범위하게 이용하고 있다.
- DI값의 무결성 위배
- [CI + 사업자 고유 식별 번호] 로 만들어지기 때문에 인증 사이트마다 다른 DI값을 반환해주어 인증 사이트가 변경되면 중복 가입 체크가 불가능해진다.
- 같은 사업자 고유 식별 번호를 인증 업체에 제공하면 같은 DI 값을 발급 받을 수 있다.
- (사이트가 변경되어도 같은 DI값을 발급받을 수 있다는 뜻이겠지?)
'spring > security' 카테고리의 다른 글
MSA환경에서 세션관리하기(Feat. Redis session clustering) (0) | 2024.06.19 |
---|