Topics/Identity Management

CIAM (Customer Identity and Access Management)

PHAROS IAM 2022. 4. 14. 11:29

기존의 기업 내부의 사용자 ID가 아닌 외부 고객(Customer) ID 및 접근제어 관리를 통해 기업은 고객ID에 대한 모든 원천 소스와 형태 및 프로필 데이터를 안전하게 캡처하고 관리하여 온라인 고객에게 원활한 디지털 경험을 제공할 수 있습니다.
고객의 충성도와 유지율을 높이기 위해 높은 보안 수준 제공과 편리한 인증 절차를 통해 안전함과 동시에 편리하고 원활한 고객 경험을 제공하기 위해 민첩하고 확장 가능한 CIAM (Customer Identity and Access Management) 솔루션을 구축이 필요합니다.

 

기업 내부의 사용자 ID를 관리하는 특성과는 다르게 고객 ID의 서비스 이용량이 매우 가변적이고 서비스를 자체를 외부에 오픈함에 따라, CIAM 플랫폼에는 기존 EIAM (Enterprise Identity and Access Management) 와는 조금 다르게 필수적으로 고려해야 할 부분들이 있습니다.

CIAM 플랫폼의 필수 고려 사항

  • 기능적인 확장성
  • Scalability 및 Usability
  • 보안
  • 개인정보 보호 및 규정 준수

CIAM 플랫폼 구축 시, 필수 요구 기능

 

CIAM 플랫포 주요 기능

 

  • 셀프 등록 (Self Registraton)
    셀프서비스 등록, 소셜 등록, 콜센터 간편 등록 프로세스 등과 같은 CIAM 플랫폼을 통해 제공해야할 계정관리 기능입니다.
    일반 사용자가 자체적으로 셀프 등록을 할때에 사용자 계정이 생성되고 계정 확인을 요청하는 이메일을 해당 사용자의 등록된 이메일 주소로 전송합니다. 해당 사용자가 계정 생성을 확인해야하는 사전 정의된 일정 기간동안에는 잠긴 상태로 유지하며, 해당 기간동안에 계정 생성을 확인하지 않으며 사용자의 계정이 잠기게 됩니다. 이러한 계정들은 효율적인 관리를 위해 관리자가 삭제할 수도 있어야 합니다.

    또는, 구축하려고하는 CIAM 플랫폼 상의 사용자 ID를 포함한 사용자 정보를 네이버, 카카오, 페이스북 등의 외부 인증 서비스를 통해 자동적으로 셀프 등록하기 위해 네이버, 카카오, 페이스북 등의 외부의 사용자 정보를 보유한 소스와 연결하여 등록할 수도 있어야 합니다. 이를 위해서는 외부의 사용자 정보를 관리하는 소스들과 연계할 수 있는 커넥터들이 필요합니다. 
  • 프로그레시브 프로파일링 (Progressive Profiling)
    CIAM Platform 상의 서비스 제공자 (Service Provider, 연동 대상 application 으로 이해) 들을 등록하는 중에, 해당 서비스에 대한 로그인 프로세스 중에 필요한 사용자 속성들을 지정할 수 있어야 합니다.

    예를 들어, 네이버 또는 카카오의 OAuth 인증 기반으로 본인이 제작한 앱 등의 서비스를 등록 시에 로그인 프로세스를 통해 사용자의 동의를 통해 수집이 필요한 속성 정보를 표기하는 기능으로 이해하시면 됩니다.

    만일, 서비스에 대한 인증 프로세스 중에 이러한 속성들이 부족한 경우에는 자체 로그인 프로세스 중에 사용자에게 해당 사용자의 속성 정보를 입력하라는 메시지를 통해 추가 속성 정보를 얻을 수도 있습니다.
  • Single Sign-On (SSO) 및 Provisioning
    3rd Party ID 제공자 지원, 프로비저닝 및 소셜 ID 통합을 자동화하기 위한 다양한 접근 방식이 필요합니다.

    1) Single Sign-On 처리
    제공하는 서비스의 편리한 통합 인증 처리를 위해 SAML 2.0, OpenID 및 WS-Federation 등의 인증 방식과의 연계가 요구됩니다. 또한, 추가적으로 서로 다른 이기종 Federation 프로토콜과 Federation ID 간의 연결을 위해 ID 토큰의 변환 처리가 필요할 수도 있습니다. 왜냐하면, 가령 내부적으로 제공하는 쇼핑몰 또는 B2C 서비스들이 OpenID 방식의 SSO를 구현하였으나, 고객 ID가 외부의 Social ID를 통해 로그인을 시도하는 경우에 해당 Social ID 인증이 SAML이나 WS-Federation 과 같은 이기종 프로토콜인 경우에 로그인 절차에 중단이 없이 처리하기 위해서는 개별 프로토콜에 적합한 ID 토큰 값으로 변환 처리를 해야만 합니다.

    또한, 이기종 프로토콜 간의 서로 교차하여 통합 로그인이 되는 것과 마찬가지로 교차 프로토콜 간의 통합 싱글로그아웃 기능도 반드시 고려해야 합니다.

    아울러, 로그인한 사용자는 자신이 로그인한 세션을 원하는데로 보고, 관리 (지속 또는 강제 종료)를 할 수 있어야 합니다.

    2) Federation 및 Social 로그인 
    Kakao, Naver 를 포함하여 Facebook, Google, Apple, Twitter, Instagram, Yahoo, LinkedIn 등과 같은 다양한 Social ID 제공자들과의 통합 인증 처리를 통해 추가적인 회원 가입이나 등록 절차 없이 편리하게 로그인함과 동시에 자동적으로 회원 가입이 되도록 해야합니다.

OpenID Connect 인증 Flow

 

 

  • 지속적인 적응형 위험 및 신뢰 평가
    다양한 유형의 적응형 (Adaptive) 액세스, 다중 요소 인증(MFA) 및 ID 검증에 대한 다양항 접근 방식이 요구됩니다.

    1) 다중 인증 요소 (MFA, Multi-Factor Authentication)
    고객에게 제공하는 서비스에 접근 시, 인증 부분에 대한 강화된 보안 기능을 위해 SMS OTP, 인증서, 생체인식, FIDO, RSA SecurID, 이메일을 통한 OTP, Google 인증 (TOTP) 등의 포괄적인 다중 인증 방식을 준비해야 합니다.

    2) Paswordless 인증

    3) 적응형 인증 (Adaptive Authentication)
    로그인 사용자의 속성, 환경적인 속성, 위험 점수 및 기타 컨텍스트 등을 인증 과정 중에 매개변수로 하여 로그인 상황에 따라 위험 관리 정책 요소에 따라 접근 여부를 관리할 수 있어야 합니다.
    예를 들어, 특정 IP 대역, 사용자의 연령, 로그인을 시도한 디바이스, 로그인 시도 행위 등등의 로그인 중에 발생하는 다양한 위험 평가 점수를 평가하여 추가 인증 절차를 자동적으로 적용함으로써 개별 로그인 상황 별로 인증 강도를 조절할 수 있어야 합니다.

적응형 인증 (Adaptive Authentication)

 

 

  • 개인정보 및 동의 관리
    서비스 이용 및 데이터 제공 동의를 포함한 기본 설정 및 감사 기능이 필요합니다.

    1) 동의 관리 (Consent Management)
    동의 관리라 함은 사용자의 개인정보를 수집 또는 공유하기 위하여 이용자의 동의를 유도, 수집, 관리하는 행위를 말합니다. 

    CIAM 플랫폼에서는 IAM고 관련되어 동의 항목들을 관리하고, 3rd Party 어플리케이션에 속하는 동의를 관리하는데 사용할 수 있는 아래와 같은 포괄적인 동의 관리 기능들을 포함해야 합니다.

    - 원격으로 동의를 관리하기 위한 Restful API
    - 개인이 이미 제공한 동의를 검토, 수정 및 철회할 수 있는 동의 포털
    - 조직이 동의, 데이터 처리 목적 및 동의 항목 별 사용자 속성을 정의 및 관리할 수 있는 기능
    - 사용자 속성을 외부 어플리케이션과 공유하기 전에 SSO 처리 중에 동의 수집 처리 

    이러한, 동의 관리를 통해 사용자에게 개인 데이터 공유에 대한 선택권과 제어권을 제공하여 사용자와 서비스 제공자 간의 신뢰성을 구축합니다. 또한, 사용자들은 사용자 포털을 통해 본인이 제공한 동의 내역을 확인 할 수 있을 뿐 아니라, 3rd Party Application 들에 대한 동의 관리를 통해 동의한 내역들을 변경하거나 취소할 수 있어야 합니다.

    2) 프로파일 관리
    사용자 포털 기능을 함께 제공하여 사용자들이 프로파일을 관리할 수 있도록 해야 합니다. 아울러, 사용자 포털 내의 동일한 기능들이 API를 통해 다른 application 들과의 통합도 함께 고려해야 합니다.

네이버아이디로그인 동의 관리

  • 마케팅, CRM 및 영업 통합
    다양한 마케팅, CRM 및 영업 관련 시스템들과 통합 연계가 필요합니다.
    Google Analytics 및 Wordpress, Salesforce, Mailchimp, Dropbox 또는 기업 내부 자체의 영업 시스템과의 통합 연계를 통해 해당 서비스에 로그인한 사용자들의 모든 데이터들을 마케팅, CRM 및 영업 활동과 지속적인 연계를 위해 시스템 간의 통합이 필요합니다.

  • 리포팅 및 분석 
    로그인 사용자의 활동, 로컬 및 서비스 제공자 (Service Provider) 들로부터의 로그인 요청 빈도, 의심스러운 로그인 시도, 이상 로그인 패턴 모니터링 및 사기 탐지 (Fraud detection) 들을 추적할 수 있어야 합니다.

    또한, 해당 CIAM 플랫폼 자체의 로그인 경로 또는 어떤 외부 3rd Party 인증 서비스 제공자 (카카오, 네이버, Facebook, Google, Apple 등) 를 통해 유입되는 지에 대하여 실시간, 일정 기간 동안의 통계 Data 를 통해 목표 고객에 대한 광고/마케팅 의사 결정의 도구로 활용할 수 있어야 합니다.

로그인 요청 대시보드

CIAM 플랫폼 구축 시, 기타 요구 기능

  • 역할 기반 접근 제어 (Role Based Acess Control)
    오늘날 많은 엔터프라이즈 appliation 에서는 적절한 권한을 가진 사용자들이 엔터프라이즈 정책에 의해 시행되는 제한 사항에 따라 적절한 자원에 접근할 수 있도록 하는 보안을 시행하도록 하고 있습니다. CIAM 플랫폼도 전체적으로 이러한 보안 고려 사항들을 해결해야만 합니다. 이러한 접근 제어 방법에는 1)접근제어 목록 관리, 2) 역할기반 접근 제어, 3) 속성 기반 접근 제어, 4) 정책기반 접근 제어 방안들이 있습니다. 
    이 중에 역할기반 접근 제어는 역할(Role)에 따라 권한이 부여된 사용자에 대한 접근을 제한하는데 사용되는 접근방식으로, 해당 역할에 할당된 사용자가 접근할 수 있는 자원을 정의함으로써 접근제어에 대한 관리 오버헤드를 줄일 수 있습니다. 
    CIAM 플랫폼에서도 설계자 및 개발자들이 서비스 사용자들에 대한 접근제어에 보안 관련 구현 부담을 줄이기 위해 역할 기반의 접근 제어 기능을 반드시 고려해야 합니다.

  • REST API 지원 

  • 보안 준수 (Security Compliance)
    기존의 IAM 과는 다른 접근 방식으로 보안 준수 사항 관련된 복잡성이 추가되어야 합니다.
    국내의 경우에 개인정보보호법 및 ISMS 를 포함하여 해외의 경우에는 GDPR(General Data Protection Regulation), PSD2 (Second Payment Services Directive) 및 eIDAS (electronic IDentification, Authentication and trust Services)와 같은 보안 규정들을 준수해야 합니다.

  • 로그인 페이지 및 프로세스 커스터마이징 
    로그인 처리 프로세스 중에 요구되는 복잡하고 다양한 비지니스 요구 사항 및 프로세스에 유연하게 대응하기 위해 로그인 페이지를 포함하여 인증처리 모듈 (Authenticator) 역시도 자유롭게 확장하여 구현할 수 있어야 합니다.

  • 옴니채널 사용자 경험치 지원
    웹 페이지를 개발하기만 하면 모든 고객이 해당 단일 온라인 접점 포인트에 도달하던 시절은 이제 지났습니다. 이제 고객들은 다양한 디바이스들을 통해 위치 서비스, 터치, 지문인식, 음성, 이미지 캡처 등과 같은 풍부한 기능을 제공하는 모바일 앱과 더불어 반응형 방식을 통해 좀 더 다양한 웹 경험을 요구하고 있습니다.
    점점 더 많은 기업들이 상호 작용에 옴니채널 접근방식을 채택하여 모바일, 웹 사이트, 채팅, 사물인터넷 (IoT) 및 소셜 미디어 플랫폼 전반으로 확장하고 있습니다.
    따라서, CIAM 플랫폼 상의 모든 기능은 API를 통해 노출 구현해야 하며, 그 위에 이러한 옴니채널 접근 방식들에 대한 사용자 경험치를 제공할 수 있도록 구축해야 합니다.