지난 글에서는 IAM을 이루는 각각의 기능 중 SSO, EAM에 관해 자세히 알아보았습니다. 이번 글에서는 IM에 관해 살펴보도록 하겠습니다.
IM (Identity Management)
회사에서는 여러 종류의 시스템들을 운영하며 개인화 과정을 통해 직원에게 가장 편한 형태로 업무를 제공하기 위해 각 시스템별로 사용자를 식별할 수 있는 계정을 관리하고 있습니다. 예를 들어, 회사에 신규 입사자가 생기는 경우 이 입사자는 최초 1회 포털, 그룹웨어, 메일, 홈페이지, 메신저 등에 접속해 회원가입을 통해 계정 정보를 저장해야 하는데요. 이 과정의 불편함을 해소할 수 있는 솔루션이 IM(계정관리) 솔루션입니다.
IM이 도입되면 인사 시스템에 생성된 직원의 정보를 포털, 그룹웨어, 메일, 홈페이지, 메신저 등의 시스템으로 프로비저닝(Provisioning)해 각 시스템의 계정을 생성합니다. 이 과정에서 주요 시스템들은 workflow 서비스를 통해 승인 프로세스를 거쳐 계정을 생성할 수 있도록 구성할 수도 있죠. 또한 각 시스템에서 사용자에 의해 변경된 정보는 self-Service 기능을 통해 각 시스템에 반영됩니다.
적용 시점에서 일반적인 IM 이슈로는 계정 정보의 원천과 비정규직의 관리, 비밀번호 동기화 방안, IM 적용 방안이 있습니다.
1. 계정 정보의 원천과 비정규직의 관리 문제
일반적으로 정직원의 사용자 정보는 인사 시스템을 통해 관리되며, 타 시스템에서는 이 정보를 참조(일 단위 배치 등을 통해)해 사용자 정보를 관리합니다. IM이 도입되면 IM에서 제공하는 사용자 정보 생성 기능을 통해서도 사용자 정보를 관리할 수 있기 때문에 사용자 정보의 원천을 어디로 볼 것인가라는 문제가 생기게 되는데요. 많은 경우 인사 시스템에서는 정직원의 사용자 정보와 계정 정보 중 ID만 관리하고 IM에서는 정직원의 계정 비밀번호와 비정규직의 사용자 정보를 관리합니다. 또한, IM에서 변경된 정보는 인사 시스템의 무결성 확보를 위해 동기화 시키지 않습니다.
2. 비밀번호 동기화 방안
비밀번호는 일반적인 암복호화 알고리즘이 아닌 단방향 Hash 알고리즘을 사용하여 암호화하는데요. 이 Hash 알고리즘의 경우 일반적인 경우 SHA 알고리즘을 사용하지만, windows처럼 MD5를 사용하는 경우도 있고 똑같은 SHA라도 별도의 salt를 통해 결과값을 다르게 만들어 사용하는 경우도 있습니다.
이 알고리즘들은 복호화가 되지 않으며 비밀번호 원문을 hash 하여 결과 값을 확인하는 방식이므로 계정관리에서 SHA512 방식으로 비밀번호를 저장하고 있는 경우 이 비밀번호를 MD5로 바꿀 방법은 없습니다. 즉, 동기화가 불가능한 것이죠. 때문에 사업 초기에 각 솔루션의 hash 방식이 다른 경우 hash 방식을 통일시키거나 사용자 인증 시 입력된 비밀번호를 통해 동기화를 진행하는 등의 고민이 필요합니다.
3. IM 적용 방안
IM솔루션은 일반적으로 SW 형태를 하며, 계정 동기화가 필요한 시스템에 삽입돼 동작합니다. 그런데 해당 시스템에 같이 포함될 수 없는 경우 예외적으로 proxy 형태로 구성되거나 IM이 아닌 view Table 형태로 정보를 제공해야 하는 경우도 발생할 수 있는데요. 이러한 부분들은 IM(계정관리) 도입 초기에 결정돼야 합니다.
IAM 솔루션은 앞에서 살펴본 SSO, EAM, IM을 포함해 구성됩니다. 차세대 프로젝트처럼 대규모로 모든 시스템을 갈아엎는 경우, IAM은 다음 그림과 같이 적용됩니다.
IAM은 Cloud 환경을 통한 서비스도 확인할 수 있습니다. AWS의 경우, 아래의 그림처럼 계정에 맞는 SSO, EAM, IM의 처리를 지원하고 있습니다.
IAM은 분명 오래된 개념입니다. 하지만, 인증이라는 개념이 존재하는 한 새로운 형태의 시스템, 인증 방식, 데이터 저장 방식이 나올 때마다 그 영역을 넓혀가며 보안의 한 축을 담당할 것입니다. 또 다른 표준이 등장하며 새롭게 변화될 IAM을 기대해 봅니다.
[참고]
OASIS : https://www.oasis-open.org/specs/index.php
RFC 기술정의 : https://datatracker.ietf.org/doc/html/rfc6750
AWS IAM : https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/intro-structure.html
글 ㅣ LG CNS 사이버시큐리티팀 권해경 책임