법인/통합계정/본인인증 로그인

2024. 6. 18. 09:58spring/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값을 발급받을 수 있다는 뜻이겠지?)