새소식

short terms

[draft] 오픈아이디 (OpenID)

  • -

History

  • LiveJournal에서 처음 개발
  • OpenID Foundation(비영리 재단)에서 관리

의미

  • 인증 (Authentication) 수단의 일종.
  • 분산형 Digital Identification System.
  • 사용자들의 Digital Identity (DID)가 URL 또는 XRI로 주어짐

용어

  • end user
    • 자신의 Identity를 어떤 사이트에 밝히고자 하는 user
  • Identifier (ID)
    • end user가 자신의 OpenID로 선택한 URL/XRI
  • Identity Provider (idP, i-broker)
    • OpenID URL/XRI의 등록을 제공하고, OpenID 인증 및 기타 Identity Service를 제공하는 Service Provider
  • relying party (RPs)
    • end user의 ID를 검증하고자 하는 사이트
  • Server (또는 Server Agent)
    • end user의 ID를 검증해주는 Server, end user의 자체 Server(블로그 등) 또는 idP에 의해 운영되는 Server
  • User Agent
    • end user가 idP나 relying party에 접속할 때 사용하는 Program(브라우저 등)

장점

  • OpenID를 지원하는 사이트라면, user들은 매번 새로운 계정을 만들고 관리할 필요 없이, idP가 제공하며, 신뢰하는 하나의 사이트에서만 인증
  • 대부분의 SSO 구조와 달리, 특정 인증 메커니즘을 명시하지 않음, 즉 idP가 얼마나 인증 정책을 강력하게 사용하는가에 따라 민감한정보도 다룰 수 있음

동작 방식

user : Alice

relying party : example.com

idP : openid-provider.org

  • user는 example.com에 로그인 시, alice.openid-provider.org 와 같은 형태(canonical form)로 id만 입력하면 로그인이 된다.
  • example.com은 id정보를 이용해 ID 제공 서버 url과 식별자, 콘텐츠 유형 등을 알아낼 수 있다.
  • relying party와 idP가 통신하는 두 가지 방식
    • checkid_immediate
      • 컴퓨터중심 방식, 두 서버간의 모든 통신이 user의 간섭 없이 진행
      • relying party와 idP간에 공유되는 보안정보(associate handle)를 만들고, relying party가 보안정보를 저장.
    • checkid_setup
      • user가 직접 Web browser를 통해 idP Server와 통신한 후, relying party 사이트에 접속
      • 웹에서 많이 사용
      • 자동 처리가 불가능한 경우 사용
  • user가 idP에 아직 로그인하지 않은 경우 - 비밀번호 기반 인증
    1. idP가 비밀번호 입력을 요청 (Cookie로 사용자 세션을 저장 가능)
    2. user로부터 idP를 신뢰하는지 질의
      • 신뢰(허용)시 OpenID 인증 성공 (브라우저가 인증서(credentials)를 가짐
      • 신뢰하지 않을 시 relying party에서 인증 실패
    3. relying party가 user의 credential이 idP로부터 생성된 것인지 검증
      • associate handle이 있는 경우(stateful), associate handle으로 검증
      • associate handle이 없는 경우(stateless), check_authentication (하나의 서버 간 요청)을 더해야 검증 가능

'short terms' 카테고리의 다른 글

인증 (Authentication)  (0) 2021.04.30
인가 (Authorization)  (0) 2021.04.30
[draft] 디지털 신원(정체성), Digital Identity (DID)  (0) 2021.04.30
IDP (idP, Identity Provider)  (0) 2021.04.28
IAM (Identity Access Management)  (0) 2021.04.28
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.