|
SSO 업무 수행 전 관련 내용 용어 및 개념 정리
( SSO, EAM, IM, IdM, IAM, EP, TIM, TAM, LDAP )
1 SSO (Single Sign On)
1.1 SSO 개요
1.1.1 SSO 정의
하나의 아이디로 여러 사이트를 이용할 수 있는 시스템으로 'single sign on'의 첫글자를 따서 SSO라고도 한다.
여러 개의 사이트를 운영하는 대기업이나 인터넷 관련 기업이 각각의 회원을 통합 관리할 필요성이 생김에 따라 개발된 방식으로, 1997년 IBM이 개발하였으며 우리나라에는 2000년 코리아닷컴이 처음 도입하였다.
이후 삼성전자(주)와 SK 등이 도입하며 활성화되어, 애니패스와 오케이캐쉬백·롯데타운 등 다양한 사이트와 네티그리티·다우기술 등 솔루션 공급업체도 많이 설립되었다.
개인의 경우, 사이트에 접속하기 위하여 아이디와 패스워드는 물론 이름·전화번호 등 개인정보를 각 사이트마다 일일이 기록해야 하던 것을 한 번의 작업으로 끝나므로 불편함이 해소되며, 기업에서는 회원에 대한 통합관리가 가능해 마케팅을 극대화시킬 수 있다는 장점이 있다.
특히 권한관리시스템(EAM)과 함께 사용할 경우 보안성과 효율성을 함께 갖춘 통합인증시스템으로 활용할 수 있어 향후 더욱 인기를 끌 것으로 전망된다.
1.2 SSO 도입 목적
기하급수적인 인터넷 사용자의 증가와 발전으로 우리는 업무나 일상생활에서 수많은 인터넷 서비스를 접하게 되었고,이제 인터넷은 우리 생활의 필수 불가결적인 요소가 되었다.그런데 이러한 여러 인터넷 서비스들은 사용자들의 개인정보를 요구하고, 사용자가 이를제공해주는 경우에만 아이디를 발급하여 필요한 정보들을 얻을 수 있게끔 하고 있다.이와같은 이유 때문에 사용자들은 그 수많은 서비스들 각각에 해당하는 자신의 인증 정보를 기억해야만 하는불편함을 가지고 있다. 그래서 어떤 사람은 아이디와 패스워드를 따로 관리하는 목록을 만들거나 아이디와패스워드를 관리하는 소프트웨어를 사용하거나 모든 아이디와 패스워드를 하나로 통일에서 사용하는 사람도 있다.그러나 이런 현상은 보안의 관점에서 보면 상당한 취약성을 가지고 있다. 서비스 업체들에 제공된 개인 정보들이유출되어악용되는 문제점을 가지고 있는 것이다. 만일 아이디와 패스워드의 목록이 다른 사람에게노출된다면 그사람이 사용하고 있는 모든 아이디와 패스워드를 변경해야 한다. 시스템의아이디와 패스워드의 잦은 변경은 기업의생산력을 떨어뜨리는 원인들이 되며 또한 보안상의 상당한 취약성을 가지고 있다. 이러한 보안상의 취약성과 생산력저하를 극복하기 위해서 싱글사인온(Single Sign On, 이하 SSO)이란 개념이 나오게 되었다.
예를들어 A라는 게임 포탈사이트는 게임 흥행의 성공으로 User가 폭발적으로 추가 되었고, 그에 따라UserDB(사용자데이터베이스)는 증가 되어야만 했습니다.기타 관리 서버등의 증설도 불가피하게 되었지요.거기에 사업 확장에 따른 B포털사이트와의 전략적 제휴까지 맺게 되어 A와B라는 포탈은 성격은 다르지만 A,B어느쪽의 유저라도 A와 B의 서비스를 부분적으로 이용가능 하게 되었습니다.
이렇듯 시스템의 규모가 커질 수록 시스템의 구조는 더욱 복잡해지고 관리하기는 더욱 힘들게 될 것입니다. 전문가가 아니라면 그 복잡한 구조를 이해하는 데, 더 어려움이 생길뿐만 아니라, 문제가 발생했을때 그 문제를 처리하는 과정에서도 더 많은 시간과 노력을 초래하게 만듭니다. 그래서 SSO이란 하나의 솔루션이 등장한 것입니다.
이러한 이슈를 중심으로 SSO은 상품에 따라 방식에 차이가 있습니다. 마치 DataBase가 여러 종류 인것 처럼요.
인터넷 뱅킹하실때 XecureWeb이란 보안 프로그램이 설치되는 걸 보신적이 있을겁니다.
자물쇠모양의 프로그램이 설치 되어 오른쪽 하단 트레이에 설치 되는데 이것은 PKI(Public key Infrastructure)란 인증 형태를 가지는 SSO이라고 볼 수 있습니다. 엄밀하게는 EAM(Extranet Access Management)라고 말해야 할지 모르겠지만, 사실상 SSO->EAM->IAM(Identify Access Management)과 같은 형태가 됩니다. 어떤 관점에서 바라보느냐 또는 어떤 대상을 주로 하는가가 차이랄까요.
SoftForum의 XecureWeb의 주된 이슈는 '지금 이 계좌에 접근 할 수 있는 권한이 있는 사람은 오직 '나뿐' 그리고PKI방식을 통해 인증 받는다' 라는 것에 있는 것 같습니다.
보통 우리가 생각하는 session과 cookie의 개념으로 보면여기서는 xecureWeb이란 프로그램을 통해 Client측에 그 고유의 정보를 보관한다. 정도가 되겠습니다.
반면 Netegrity의 Siteminder의 경우는위의 XecureWeb이 하는 방식과 달리 서버측에서 Siteminder Policy Server란 정책 서버를 통해 통합 관리를 하게 됩니다.User의 인증, 인가정책, UserDB의 통합 등의 모든 컨트롤 역시 이 Policy Server에서 제어 합니다. Siteminder는 다양한 인증 방식을 제공하며(일반 ID/PW방식부터 지문인식에 이르기까지), 다양한 인증스키마를 웹 프로그래밍언어등과 연동해서 구현 할 수 있는 API를 제공하기도 합니다.
성격과 구현 방식의 차이로 인해, XecureWeb은 주로 은행권에서 , 그리고 Siteminder는 Korea.com을 비롯한 대기업이나 통합포털 사이트에서 많이 적용되어 왔습니다.
1.3 SSO 구성
1.3.1 SSO 개념도

1.3.2 SSO 구성요소
강력한 인증 기법을 이용한 SSO 시스템에는 인증서에 의한 인증 메커니즘, LDAP에 의한 접근제어 및 내부사용자정보관리, 클라이언트와 서버 간의 데이터 암호화를 위한 통신보안 기술등이 필요하다.
2 EAM (Extranet Access Management)
2.1 EAM 정의
EAM - 엑스트라넷 접근 관리 [ EAM, Extranet Access Management, -接近管理 ]
인트라넷, 엑스트라넷 및 일반 클라이언트/서버 환경에서 자원의 접근 인증과 이를 기반으로 자원에 대한 접근 권한을 부여, 관리하는 통합 인증 관리 솔루션. 하나의 ID와 암호 입력으로 다양한 시스템에 접근할 수 있고 각 ID에 따라 사용 권한을 차등 부여하는 통합 인증과 권한 관리 시스템이다.

2.2 EAM 도입 배경
사내 어플리케이션이 다양해지면서 기업의 Portal구축 증가 → 시스템별 권한 제어 필요
기업의 “정보공유”마인드 확산에 따라 공개된 정보의 접근통제 요구
B2C, E-Commerce활성화로 사용자별 접근제어
2.3 EAM 구조
2.3.1 구성도

2.3.2 구성요소
구성요소
설 명
Policy Manager
-사용자 인증 정책 관리
-보안 및 접근통제 정책 관리
권한관리 저장소
-사용자 정보 및 권한 정보 통합 저장 및 관리
-DB, LDAP
Agent
-EAM Server인가여부 검사, 접근 처리
Client
-사용자 인증 인터페이스
-EAM Server에 응용 서버 접근 권한 요청
-접근정보를 이용한 응용 서버접근
EAM Server
-보안 및 접근통제 정책 적합 여부 검증(권한 인증)
-사용자 인증
-응용서버 접근 정보 제공(token 등)
2.4 EAM 특징 및 기능
기능
설 명
인증방식
-사용자ID와 비밀번호 인증시 암호화 기능(표준SSL지원)
-인증기관에서 발행한 인증서 사용가능
SSO
-한번의 인증으로 상이한 시스템에 접근가능
인가기능
3 IM, IdM (Identity Management)
3.1 IM 정의
IM - 계정 관리 [ identity management, 計定管理 ]
한번의 로그인으로 다양한 시스템 혹은 인터넷 서비스를 사용할 수 있게 해주는 통합 인증(SSO)과 애플리케이션의 접근 권한 중심의 솔루션인 엑스트라넷 접근 관리(EAM)를 보다 포괄적으로 확장한 보안 솔루션이다.
3.2 IM 구조
EAM이 통합인증(SSO)과 애플리케이션의 접근권한 중심의 솔루션이라면, 여기에 보다 포괄적으로 확장된 개념이 계정관리다.
계정관리 솔루션은 고객의 요구를 반영한 기능 조합 및 확장이 가능한 솔루션으로 단순한 보안 솔루션이라기보다는 업무 프로세스를 정의하고 관리하는 인프라로써 업무효율성, 생산성, 보안성의 극대화를 통해 확실한 이익창출을 보장하는 비즈니스 툴로 정의할 수 있다.
3.3 IM 특징
3.3.1 통합 저장소
사용자 계정 정보는 애플리케이션, 시스템별로 흩어져 있다. 하지만 계정관리는 통합 저장소를 제공해 모든 애플리케이션 및 시스템 사용자의 이름, 아이디, 이메일, 전화번호, 부서 등과 함께 접근할 수 있는 애플리케이션,시스템에 대한 접근 권한 정보가 저장된다. 통합 저장소 정보를 통해 사용자의 인증, 인가가 행해진다.
3.3.2 프로비져닝
조직내에 인사 이동이나 직무 변경이 발생해 사용자가 접근하는 자원의 범주가 변경됐을 경우 프로비져닝(Provisioning)이 발생한다. 일반적으로 신입 사원이 입사했을 때 인사팀은 이메일, 그룹웨어, ERP 등 다양한 애플리케이션과 시스템 업무 담당자에게 직접 연락해 필요한 계정을 만들게 한다.
하지만 계정관리 솔루션은 각 담당자가 시스템에 접근할 필요없이 자동으로 계정을 만들어 준다. 벤더들은 필요한 시스템에 에이전트를 설치하고 이 기능들을 제공하고 있으며 OS부터 저장소, SAP, 로터스 노츠 등 상용 애플리케이션까지 폭넓게 적용된다.
프로비져닝 - 권한 설정 [ provisioning, 權限設定 ]
이용자에게 계정, 계정 접근 권한, 계정 관련 권한, 계정 관리에 필요한 제반 자원을 제공하는 서비스 설정 과정.특히 이용자 측면에서 볼 때 하나의 서비스 형태로서, 통신 사업자가 이용자 회선을 적절한 네트워크에 연결하기 위해 프로그램에 의해 자동 설정하는 것과, 이용자가 웹 기반 인터페이스나 다른 클라이언트 인터페이스로부터 자기가 원하는 서비스를 설정하는 것이 있다.
3.3.3 워크플로우
계정관리에서 워크플로우는 계정을 만들기 위한 일련의 프로세스를 정의하고 이에 따라 계정 요청이 수행되도록 하는 과정이다. 프로비져닝을 통해 계정을 만들 때 워크플로우에 따라 사용자에게 통보하고 담당자의 승인을 받도록 한다. 대부분의 벤더들은 워크플로우 프로세스 생성을 위해 GUI 형태의 디자인 프로그램을 제공한다.
3.3.4 정책 관리
누가 어느 시스템과 애플리케이션에 접근할 수 있는가하는 문제는 계정관리에서 우선 고려해야할 과제다. 사용자가 접근할 수 있는 서비스가 다양하고 사용자의 직무와 역할에 따라 이런 서비스가 제대로 제공되어야 한다. 이런 관점에서 정책관리는 각 조직의 특성에 맞는 애플리케이션과 시스템의 계정과 접근권한을 부여한다. 사전에 정의된 정책에 따라 프로비져닝이 발생하고 통합 저장소에 저장된 사용자의 계정과 권한을 통해 사용자에 대한 인가와 거부를 결정한다.
3.3.5 액세스 컨트롤
액세스 컨트롤은 기존의 EAM 솔루션과 동일한 기능을 수행한다고 볼 수 있다. 즉 프로비져닝과 워크플로우,정책관리에 의해 수립된 정보를 통해 사용자가 특정 애플리케이션이나 시스템의 자원 요청을 확인하고 조절한다.
3.3.6 감사·리포트
계정관리 솔루션은 계정의 요청, 승인, 수정 및 삭제된 감사기록을 저장한다. 이 과정에서 잘못된 요청, 중복된 인증,인가 취소 등에 대해 담당자가 필요로 할 경우 언제든 가시화된 보고서로 제공한다. 이 같은 감사기록을 통해 현재 진행되고 있는 정책과 향후 계획에 대해 대처할 수 있다.
3.3.7 패스워드 관리
헬프데스크 업무중 가장 많은 비중을 차지하고 있는 것은 패스워드와 관련된 부분이다. 패스워드 관리는 사용자 자신이 패스워드를 관리하고 여러 시스템의 패스워드를 동기화할 수 있도록 한다.
4 IAM (Identity and Access Management)
4.1 IAM 개요
4.1.1 IAM 정의
IAM - 식별/접근 관리 [ IAM, Identity and Access Management]
ID와 패스워드를 종합적으로 관리해 주는 역할 기반의 사용자 계정 관리 솔루션. ID 도용이나 분실로 인한 보안 사고에 대비하여 보안 관리자에게는 사용자 역할에 따른 계정 관리를, 사용자에게는 자신의 패스워드에 대한 자체 관리 기능을 제공한다. 또한 시스템과 각종 자원에 대해 고객ㆍ기업 내 사용자ㆍ관리자 등의 접근을 제어할 수 있어, 한 번의 ID와 패스워드 입력으로 다양한 시스템에 접속할 수 있도록 싱글 사인온(SSO)이나 ID에 따라 사용 권한을 차등적으로 부여하는 엑스트라넷 접근 관리(EAM)를 확장 또는 보완한 것이다.
4.1.2 IAM 성장
IAM을 이루는 구성 요소인 IdM과 EAM 가운데 먼저 주목받은 것은 EAM 분야다. SSO(Single Sign-On)를 중심으로 한 EAM은 보안 강화의 효과도 있지만, 사용자 편의성을 향상시키고, 생산성 향상을 가져오는 이점이 있어 빠르게 시장에서 받아들여진 것이다. SSO는 편의성과 효율성을 높이는 EAM의 이점을 극명하게 보여주는 부분이다. 한 번의 로그인으로 업무수행을 위해 필요한 다수의 시스템, 애플리케이션에 접근할 수 있게 하는SSO는 통일화되지 않은 계정관리로 각 시스템과 애플리케이션에 접근할 때마다 별개의 ID와 패스워드를 설정해야 했던 불편을 해소할 수 있는 장점으로 빠르게 시장에 받아들여졌다.
이와 달리 IdM 시장은 더딘 발걸음을 보였던 것이 사실이다. ID 라이프사이클 관리와 권한 프로필의 통합, 분배,동기화를 지원하는 IdM은 필요성에는 공감을 얻고 있지만, 이러한 공감이 실질적 수요로 연결되지는 못했으며,이에 IdM과 EAM을 기반으로 한 IAM의 확산을 어렵게 하는 요소가 됐다.
IdM의 확산, 나아가 IAM의 확산의 걸림돌 중 하나로 꼽히는 요인은 바로 SI(System Integration) 형태로 진행돼야 한다는 점이다. 사용자와 사용자 인증, 시스템, DB, 애플리케이션, 기기 등을 아우르는 프레임워크인IAM은 SI성으로 전개돼야만 하며, 이러한 특성은 도입비용을 높이는 결과를 낳아 쉽게 IdM을 구축, EAM과 연계한 IAM으로의 진화를 어렵게 하고 있는 것이다.
프로젝트 비용이 높다는 이러한 단점은 기초적인 계정 관리의 경우, 수작업으로도 가능하다는 점과 연계되면서 중소중견 기업군에서 IdM 도입을 통한 IAM 구축을 외면하는 결과로 연결되고 있다. IAM을 구축, 자동화된 관리를 구현함으로써 투자회수 효과를 얻을 수 있지만, 높은 구축 비용에 대한 부담으로 인해 쉽게 투자를 결정하지 못하고 있는 것이다.
2010년 IAM 시장의 어려움은 이를 방증한다. 전세계적인 금융위기의 여파로 전반적으로 IT 투자는 위축됐지만 보안 시장의 경우, 위협증가에 따라 고성장을 기록했다. 한국인터넷진흥원(KISA)이 지식정보산업협회(KISIA)와 공동으로 조사한 2010년 정보보안산업 실태조사에 따르면, 국내 IT 보안 시장은 2009년 대비 21.6%의 급성장을 이뤘다. 그러나 통합계정관리(IM/IAM) 분야는 전년 대비 2.6% 성장에 그쳤다. 이는 경기 위축 상황에서 높은 투자가 요구될 뿐만 아니라 기존과 같이 수작업으로 가능하다는 점에서 IdM 및 IAM에 대한 투자가 지연된 것이 원인으로 분석할 수 있다.
그렇지만 2011년에는 IdM, 나아가 IAM의 성장이 기대되고 있다. 일본 대지진, 리비아 사태란 변수가 존재하지만,몇 년간 미뤄졌던 투자를 더 이상 미룰 수 없는 시점이 다가오고 있을 뿐 아니라 비용효율성 향상을 위한 클라우드 컴퓨팅 환경으로의 전환이 점차 대두되고 있기 때문이다. 가상화를 기반으로 한 클라우드 컴퓨팅 환경에서 정교한 계정 및 접근권한 관리는 필수다. 다시 말해 클라우드 컴퓨팅 이슈를 발판으로 IAM의 성장을 기대할 수 있는 상황이다.
4.2 IAM 접근 방식
개별 시스템들이 늘어 나고 시스템의 Identity 관리 비용도 비례해서 늘어나는 상황에 직면 하면서, 개별 시스템들에 대한 Identity를 공동 으로 사용 하고자 하는 통합론이 대두 되었다. 이러한 환경은 개별 시스템이 늘어 나더라도 개별 서비스에서 Identity를 따로 관리 하지 않기 때문에 개별 시스템의 Identity 관리 비용을 혁신적으로 줄일 수 있다. 또한, 사용자가 늘어 난다고 하더라도 중앙 디렉토리에 사용자만 추가 하면 모든 시스템이 해당 사용자 정보를 참조할 수 있기 때문에 개별 시스템 별로 사용자를 추가 해야 하던 기존 관리 시스템보다 관리 비용을 혁신적으로 줄일 수 있게 된다.
실제로 대부분의 유닉스OS 들은 LDAP 디렉토리에서 사용자 ID/PWD를 확인할 수 있는 서비스를 제공하고 있으며, 윈도우OS 는 액티브 디렉토리에서 관리 되는 사용자를 지원 한다.
또한, SAP/Domino Notes 과 같은 ERP, 그룹 웨어들도 LDAP 디렉토리를 통해 사용자를 인증하고 사용자 정보를 얻을 수 있다.
그러나, 계정 통합 만으로 모든 것이 해결 되는 것은 아니다. 디렉 토리에 사용자 Identity를 추가 한다는 것 만으로 개별 시스템들을 바로 사용할 수 있는 준비 작업이 완료된 것은 아니다. 준비 작업에 필요한 개별 시스템 관리자의 관리 비용은 여전히 그대로 유지 된다. 또한, 계정 통합을 하기 위해서 기존 시스템들을 업그레이드 해야 하고, 개별 시스템의 Identity를 같게 하기 위한 초기 비용도 상당 하다.
개별 시스템을 Identity가 사용할 수 있도록 하는 일련의 작업을 프로비저닝(Provisioning)이라 한다.프로비저닝 시스템은 개별 시스템 관리자가 수행 하던 프로비저닝 관리 업무를 소프트웨어를 통해 수행 하도록 함으로써 관리 비용을 혁신적으로 줄여 준다. 예를 들어, Unix Shell에서 새로운 사용자를 추가할 때 관리자가adduser 라는 shell 명령을 통해 사용자 디렉토리를 만들 거나, 관리자가 직접 사용자 디렉토리를 만들고 권한을 부여 해야 했지만, 프로 비저닝 시스템을 통해서 이제 관리자는 더 이상 유닉스 명령어를 알아야 할 필요 없이 익숙한 인터페이스를 이용하여 관리 업무를 수행할 수 있다. 여기에 계정 통합까지 같이 이루어 진다면, 새로운 사용자가 계정을 가지고 해당 업무를 수행하는 환경을 제공하는데 까지 기존에 비해서 매우 큰 비용 절감이 이루어 진다.
이제 프로비저닝의 개념을 좀더 확장해서 아이덴티티 프로비저닝 (Identity Provisioning)을 Identity에게 사용이 허가된 모든 서비스를 사용 가능 하게 하는 일련의 작업들로 보자. 아이덴티티 프로비저닝은 개별 시스템별 단위 Provisioning 작업 들을 하나로 묶는다. 예를 들어, 홍길동이라는 사용자가 회사에 고용 되는 경우 회사는 홍길동에게 메일 계정과 그룹 웨어 계정을 제공할 수 있다. 홍길동이라는 사용자를 중앙 관리 툴을 이용 해서 사용자 등록을 하면, 이후 Identity Provisioning Process 에 의해서 자동으로 메일 계정을 만드는 프로비저닝 작업과 그룹 웨어 계정을 만드는 프로비저닝 작업이 수행될 수 있다. 또한, 홍길동에게 개발자 역할(role)을 부여하면 개발자에게 허용 되는 유닉스, 윈도우서버 시스템의 계정 및 홈 디렉토리를 자동으로 생성하는 프로비저닝 작업이 수행될 수 있다. 이와 같은 경우 아이덴티티 프로비저닝은 최초 사용자 등록 시 와 개발자 역할(role) 부여시에 대한 두 개의 프로세스가 정의 될 수 있으며, 개별 프로세스는 각각 메일 계정 프로비저닝, 그룹 웨어 계정 프로비저닝(Provisioning)과 유닉스, 윈도우 시스템 계정 프로비저닝 작업 으로 구성 된다.
개별 프로비저닝 작업들은 동시에 혹은 순서대로 이루어 질 수 있다. 개별 프로비저닝 작업 들 간에 아무런 연관이 없으면 동시에 이루어 질 수 있으며, 종속 관계가 있다면 반드시 순서대로 이루어 져야 한다. 예를 들어, 그룹웨어 계정을 만들기 전에 반드시 메일 계정이 있어야 한다는 종속 관계가 있다면 이 두 작업은 동시에 수행될 수 없고 메일 계정 작업이 먼저 선행 되어야 한다. 또한, 개별 작업들은 개별 서비스 관리자 혹은 Identity의 상급자 등에 의해 인가를 받아야만 진행이 되어야 할 수 도 있다. 예를 들어, 개발자 역할(role)을 할당했을 경우 유닉스 계정을 발급 받기 위해서는 반드시 해당 유닉스 시스템 관리자의 인가가 필요 하도록 사내 규칙이 정해져 있을 수 있다.또는, 개별 작업 수행에 대한 Identity 상급자에게 사후 결과 통보가 필요할 수 도 있다. 아이덴티티의 프로세스 워크 플로우(Workflow)는 프로비저닝 작업들의 수행 순서, 승인, 거부, 통보 등의 절차를 정의하고, 정의된 플로우에 따라 프로세스가 진행될 수 있도록 하는 시스템이다. 아이덴티티 프로비저닝의 프로세스 워크플로우 시스템은 개별 프로비저닝 작업들이 순서대로 수행될 수 있도록 해주며, 승인 절차를 통해 시스템 관리의 권한과 책임을 부여하면서도 관리 비용은 최소화 하도록 해준다.