본문 바로가기

Architecture for Software/Security

오픈 소스 ID 관리 관련 프로젝트 동향에 관하여

최근 통합된 ID 관리 방안이 많은 사람들의 관심을 끌고 있습니다.

필자역시 회사에서 Service Platform을 추진하고 있으며 이에 따라 최적화된 ID 관리를 위한 방안에 많은 관심을 가지고 있습니다. 마침 ETRI에서 오픈소스 ID 관리 프로젝트 동향이란 글을 읽고난 후 ID 관리에 동향에 관한 내용을 정리하고자 합니다.

사용자 삽입 이미지

상기 그림에서와 같이 Open Source 진영의 ID 관리는 여러 방면에서 추진되고 있습니다. 타원형은 개발 프로젝트를 의미하고 사각형은 관리 프로젝트를 의미합니다.

ID 관리 프로젝트가 오픈소스로 진행하는 것은 다음과 같은 문제를 해결하기 위해서입니다.
  • 인터넷 상의 ID 문제는 하나의 업체 또는 표준으로 해결할 수 있는 문제가 아님.
  • 고객들이 ID 관리 시스템들 간의 호환성과 구축의 용이성을 요구함
  • 업계 표준화(de facto)를 이루기 위하서는 광범위한 분야에 적용되어야 함.
  • 다양한 ID 관리 표준들이 존해하기 때문에 표준화만으로는 업게의 동의를 얻기 어려움
  • 표준을 준용하더라도 상호운용성 시험을 거쳐야지만 호환성을 보장할 수 있음.

ID 관리 기술은 크게 인증, 인가, 접근제어, 감사 및 법률적 규제로 나눠서 볼 수 있습니다.

대표적인 오프소스 프로젝트는 다음과 같습니다.
  • OpenSSO
  • Shibboleth
  • JAX-WS
  • OSIS
  • Higgins
  • Bandit
  • Heraldry

각 오픈소스 프로젝트에 대한 설명은 다음과 같습니다.

사용자 삽입 이미지

OpenSSO는 Sun의 ID 관련 제품의 기반 기술을 담당하는 웹 SSO(Single-Sign-On) 프로젝트로서 2006년 8월 17일 릴리스되었다.
OpenSSO 프로젝트는 어떠한 웹 기반의 어플리케이션이라도 서로간의 인증, 세션 로깅 서비스를 통하여 ID 기반의 인증과 SSO 기능을 제공하는 서비스 인프라 역활을 수행한다.

OpenSSO 프로젝트가 제공하는 서비스 목록에는 인증, 정책(인가) 관리, SAML, Federated Identity, Session 관리, Log 관리가 있다.

현재 OpenSSO는 Java System Access Manager의 핵심을 담당하고 있다.

라이센스는 CDDL을 사용한다.


사용자 삽입 이미지

sh를 발음할 수 없었던 에브라임 사람(Ephraimites)을 길르앗 사람(Gileadites)과 구별하기 위해 시험으로 사용되었던 말이라는 뜻의 Shibboleth는 미국의 교육 및 학술분야를 위한 Internet2의 미들웨어 아키텍처 프로젝트로 웹 기반의 리소스를 위한 인증 및 접근 제어 시스템이다.

Shibboleth의 목적은 다음과 같다.
  • OSASIS SAML v1.1 표준을 완벽히 구현하여 제공
  • OpenSAML 기반으로 하여 Federated SSO와 Attribute Exchange 기능 스행을 위한 프레임웍 제공
  • 사용자가 직접 Attribute 공유를 제어할 수 있는 확장된 Privacy 기능 제공
Shibboleth 프로젝트의 핵심 서브 프로젝트로서 Java와 C++언어로 SAML 스펙을 구현하는 OpenSAML 프로젝트가 있다. OpenSAML 1.1의 경우 Apache의 Xerces와 XML-Security를 기반으로 만들어졌다.

라이센스는 Apache 2.0을 사용한다.


사용자 삽입 이미지
JAX-WS는 Sun의 GlassFish의 하위 프로젝트로서 XML 웹 서비스를 위한 Java용 API(JAX-WS) 스펙 구현을 목표로 한다. 특히 웹 서비스간의 상호운용성을 가능하게 하는 기반 기술을 제공하여 Microsoft의 통신 기술과 상호운영을 가능하게 만들어 준다.

JAX-WS 프로젝트의 하부 프로젝트로 Project Tango로 명명된 WSIT가 있다. WSIT의 기능은 다음과 같다.
  • 초기화 통신: WCF(Windows Communications Foundation)기반의 서비스로부터 WSDL을 획득하기 위한 서비스, WS-Metadata Exchange, WS-Transfer
  • 최적화 통신: 최적화된 바이너리 인코딩을 통하여 메시지 크기를 줄이고 보안통신을 위한 초기 설정을 수행하는 서비스, WS-Secure Conversation, WS-Policy
  • 신뢰성: 메시지 손실 또는 순서오류 문제로 인한 전송 실패를 복구하는 서비스, WS-Reliable Messaging
  • 단일 트랜잭션: 한 트랜잭션 경게내에 있는 모든 연산이 성공적으로 수행되었음을 보장하는 서비스, WS-Atomic Transaction, WS-Coordination
  • 보안통신: 메시지 레벨에서 보안기능과 보안 토큰 생성 기능을 제공하는 서비스, WS-Security, WS-Security Policy
WSIT 프로젝트는 2007년 2월에 베타버전을 공개하였으나 WS-MetadataExchange, WS-Security, WS-Atomic Transaction, WS-Security Policy 표준 지원이 부족한 상태입니다.

라이센스는 CDDL을 사용하고 있음.

사용자 삽입 이미지

OSIS는 2006년 6월에 개최든 Indenitity Mashup 컨퍼런스에서 발족된 프로젝트로서 Microsoft, Novell, IBM, SXIP, XRI, Verisign과 같은 여러 업체가 참여하고 있다. 설립초기에는 Microsoft의 CardSpace 제품에 대한 오픈소스 버전을 작성한다는 목표를 가졌으나 지금은 그 범위를 확장하여 오픈소스 관리 프로젝트들을 체계적으로 관리한다는 목표를 설정하였다.

사용자 삽입 이미지
Higgins 는 Novell과 IBM에 의하여 시작되었으며 Eclipse 재단에서 주관하는 프로젝트이다.
Higgins는 재사용이 가능하고 플랫폼과 ID 프로토콜에 무관하며 간편하게 Privacy와 ID 정보를 제어할 수 있는 소프트웨어 프로토콜을 제공하는 것을 목표로 한다.


사용자 삽입 이미지
Bandit 은 Novell이 주관하는 프로젝트로 인증, 인가, 감사와 같은 ID 서비스를 Loosely-coupled 구조의 Component로 제공한다.


사용자 삽입 이미지

Heraldry는 현재 Apache의 인큐베이팅을 마친 후 은퇴한 상태이다. 따라서 아래 문서의 내용과 현재 상태가 강이할 수 있으니 참고하기 바란다. 현재 OpenID에 관련된 내용이 옮겨진 상태이다. 따라서 OpenID를 참고하기 바란다.

이상으로 Open Source 기반의 ID 관리 솔루션들에 대하여 간략하게 살펴보았다. 자세한 내용은 첨부한 PDF문서를 참고하기 바란다.



'Architecture for Software > Security' 카테고리의 다른 글

CAS와 SAML에 대하여  (0) 2008.09.05
Security Assertion Markup Language(SAML)  (0) 2008.08.04