• 검색 결과가 없습니다.

Distributed Identity Management Model using SAML in Digital Ecosystem

N/A
N/A
Protected

Academic year: 2021

Share "Distributed Identity Management Model using SAML in Digital Ecosystem"

Copied!
14
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

*정회원, 한국디지털위성방송/순천향대학교

**정회원, 순천향대학교 공과대학 정보보호학과 접수일자 2009.11.12, 수정일자 2009.12.9

논문 2009-6-20

디지털 생태계에서 SAML을 이용한 분산 아이디 관리모델

Distributed Identity Management Model using SAML in Digital Ecosystem

장인용*, 염흥열**

In-Yong Jang, Heung-Youl Youm

요 약 디지털 생태계는 동적인 IT 비지니스를 표현하는 최근의 새로운 용어이다. 디지털 생태계는 여러 기업들의 경쟁, 통합, 다양한 연합형태 등을 통해 이루어지며. 이러한 환경은 아이디 관리 방식을 매우 복잡하게 만들고 있다.

기존의 아이디 관리 방식들은 이러한 환경에 적용하기에는 너무 제한적이거나, 확장성이 부족하며 적용이 가능한 경 우에도 너무 복잡하거나, 사용하기가 어려운 경우가 많다. 본 논문은 디지털 생태계에 적합한 자동화된 분산형 아이 디 관리 모델로써 효율성, 명확성, 편의성을 갖춘 분산형 아이디 관리 모델을 정의하고 있으며, OASIS의 SAML표준 에 기반을 두어 기존의 아이디 관리 기술들과 상호 연동할 수 있는 방법과 아이디 관리를 위한 단일 서비스와 복합 서비스를 위한 기본모델과 확장형 모델을 제안하였으며 향후, 관련 산업분야에 응용이 가능할 것으로 기대된다.

Abstract Digital Ecosystem is a new word for dynamic IT business environments. Digital Ecosystem can consist of various enterprise federations such as competing, collaborating and stable or unstable ones. They make it difficult to implement identity management for the environment. Existing solutions are either too restricting and inflexible to support the dynamic nature of ecosystems since they are too complex and difficult to adopt. This paper is to propose an distributed identity management model for automated processing of identity information between ecosystems. It is featured with being practical, clear and easy to deploy. And it is based on the new OASIS SAML3.0 standard to provide interoperability between existing identity technologies.

This paper presents the basic and extended identity model for single service and multiple services. The model presented in this paper can be applied to enterprise context easily.

Key Words : Identity management, Digital Ecosystem, SAML.

Ⅰ. 서 론

초고속 인터넷의 활발한 보급과 네트워크 기술의 발 달은 수많은 로컬서비스, 웹서비스를 탄생 시켰으며, 다 양한 온라인 서비스가 론-칭되어 게임, B2B, B2C, 인터 넷뱅킹, 홈쇼핑, 행정서비스 등 대부분 실생활의 모든 서 비스가 제공된다.

특히 최근의 인터넷 환경은 생태학적인 특성처럼 다

양한 기술, 다양한 플랫폼, 다양한 서비스들로 구성된 자 연적인 생태계를 이루고 있는 것과 같은 현상을 보여주 고 있다. 이러한 디지털 생태계(Digital Ecosystem)로 표 현되는 인터넷환경은 예측가능한 정적인 상태를 벗어나 새로운 기술과 교류를 통해서 생존하는 생물학적 상태와 같이 변화하며 광범위한 서비스를 제공한다[1].

이러한 환경에서 웹서비스의 특성상 사용자의 가입이 필요하기 때문에 사용자의 가입을 유도하게 되어 사용자 들은 적지 않은 계정을 갖게 되고 이를 관리해야 하는 필 요성이 발생한다. 기업의 경우에도 계정서비스 등 조직

(2)

원들에게 아이디를 부여하게 되는 경우가 많고, 조직의 특성상 수많은 아이디가 부여되고, 삭제되면서 아이디 관리에 따른 다양한 문제점들이 부각이 되었다.

아이디 관리를 위한 다양한 관리 기법들이 소개 되고 실제로 많이 적용이 되고 있으며, CardSpace, OpenID, 아이핀 등의 아이디 관리 기술과 정책들은 이러한 아이 디 관리의 중요성에 따라 다양한 목적을 위해 개발되어 서비스 되고 있다[2].

이에 본 논문은 다양화되고, 생태화 되는 디지털 생태 계에 적응할 수 있는 분산형태의 아이디 관리 모델을 제 안하고자 한다. 이를 위해서 2장에서는 아이디 관리기술 및 분산 아이디 관리 방법에 대한 연구들을 소개하고, 3 장에서는 본 논문이 제안하는 분산 아이디 관리 모델을 기술한다. 4장에서는 이 모델을 통해서 얻을 수 있는 장 점 및 향후 연구방향에 대하여 기술한다.

Ⅱ. 관련 연구

최근 인터넷은 초창기의 기계적인 환경에서 벗어나 다양한 기술, 다양한 플랫폼, 다양한 서비스들로 구성이 된 자연적인 생태계를 이루고 있는 현상을 보여주고 있 다. 이러한 디지털 생태계(Digital Ecosystem)로 표현되 는 인터넷환경은 예측가능한 정적인 상태를 벗어나 새로 운 기술과 교류를 통해서 생존하는 생물학적 상태와 같 이 변화하며 광범위한 서비스를 제공한다[1].

이런 디지털 생태계는 서로 다양한 환경의 기업들이 나 기술들이 서로 경쟁 상태에 있거나 또는 연합을 통해 서 새로운 기술을 생성해 내고, 제안하고, 채용하는 동적 이고 복잡한 환경을 제공하고 있다. 디지털 생태계의 기 반인 인터넷은 네트워크 운용 및 전자상거래 등 웹서비 스 규모의 확장에 따라 트랜잭션의 안정성, 네트워크 자 원보호, 사용자 정보보호 등 보안의 이슈를 양산해 내고 있다. 이러한 보안을 위해서 password기반, PKI(Public Key Infrastructure)기반, SSL(Secure Sockets Layer)기 반의 보안서비스들로부터 XML(eXtensible Markup Language), ebXML(e-business XML)까지 발전하고 있 다. 따라서 현재 주로 활용되는 아이디 관리/인증 기술 및 분산 아이디 관리 방법 등에 대한 내용을 연구 조사하 였다.

1. SAML

SAML은 OASIS(Organization for the Advancement of Structured Information Standard)에서 개발된 XML 기반의 프레임워크를 말한다.

SAML플랫폼의 거래 파트너들이 인증정보, 권한부여 정보, 그리고 프로파일 정보를 안전하게 교환할 수 있도 록 설계되었다. SAML은 기업 내부 또는 기업 간의 SSO(Single Sign On)를 제공하고, 기존 보안 infrastructure에 종속되지 않도록 하고 있다. SAML은 기존에 사용되던 S2ML(Security Service Markup Language)와 AuthXML(Authorization XML)을 근간으 로 하고 있다.

SAML의 장점은 다음과 같다.

l XML기반으로 설계되어 XML의 장점을 수용 l SSO(Single Sign On) 서비스 제공

l SOAP(Simple Object Access Protocol)이나 ebXML(electronic business XML) 등 상이한 프로토콜 과 연동 가능

SAML의 구조는 Assertion, Profile, Binding, Protocol 으로 구성되어져 있다[3].

l Assertion : Identity Provider에 의해 만들어진 하나 이상의 statement를 제공하는 정보패키지이다. 인증, 속 성, 권한부여결정, 사용자 정의 statement의 유형이 있다.

l Protocol : SAML간의 요청과 응답의 포맷을 결정한다.

l Binding : SAML 요청과 응답의 전송방식을 말한다.

l Profile : SAML assertion이 메시지 안에서 제공하는 정보에 대한 내용을 말한다.

SAML인증 모델은 크게 Pull과 Push모델 두 가지로 구분하며 다음과 같은 차이점이 있다.

브라우저 소스사이트 목적사이트

Step 1

Step 2

Step 3

Step 4

Step 5

Step 6 인증을 위한

암호 전달

응답으로 리다이렉션 경로를 artifact와

같이 전송 목적사이트로

artifact 전달

SAM L 요청

SAM L 전달

브라우저로 결과 전송

그림 1. SAML Pull 모델 Fig. 1. SAML Pull Model

(3)

SAML pull 모델은 다음과 같다[4]

l Step 1: 브라우저가 소스사이트로 assertion을 요청한 다.

l Step 2: 소스사이트는 인증/승인 과정을 거쳐 artifact[5](소스사이트에 저장되어 있는 assertion을 참 조하는 포인터)를 생성 후 사용자에게 전달한다.

l Step 3: 브라우저는 목적사이트에 자원을 요청한다.

l Step 4: 목적사이트는 소스사이트에게 브라우저로부 터 수신한 artifact를 전달한다.

l Step 5: 목적사이트는 소스 사이트에게 artifact를 전 달하고 나면, 목적 사이트는 소스사이트로부터 assertion을 전달받는다.

l Step 6: 목적 사이트는 assertion을 분석하고 적합성 을 판단 한 후 SOAP이나 HTTP로 자원을 전송한다.

브라우저 소스사이트 목적사이트

Step 1 Step 2 Step 3

Step 4 인증을 위한

암호 전달

응답으로 리다이렉션 경로를 artifact와

같이 전송 목적사이트로

artifact 전달

브라우저로 결과 전송

그림 2. SAML Push 모델 Fig. 2. SAML Push Model

[그림 2]의 SAML Push 모델과정은 다음과 같다.

l Step 1: 브라우저가 소스사이트에 ID/Password기반 인증을 요청한다.

l Step 2: 소스 웹사이트에서 인증/승인 후 인증 사용 자에 해당하는 Assertion 을 생성한다.

l Step 3: Pull 모델에서와 같이 사용자는 후에 소스 사 이트에 목적지 웹사이트의 자원을 요청하고 소스 사이 트는 브라우저에게 assertion을 전달함과 동시에 목적지 웹사이트로 경로 재설정을 수행한다.

l Step 4: 목적지 웹사이트는 브라우저로부터 assertion 을 전달받은 후에 소스사이트와의 별도의 프로토콜 통 신인증 없이 사용자를 인증한다.

2. WS-Security

WS-Security는 OASIS표준으로 SOAP메시지의 integrity 및 보안성 유지 방법을 기술하고 있다.

WS-Security는 SOAP메시지 보안을 위한 프레임워크에

대한 규정 및 ID정보 운반에 필요한 프로파일(보안 토큰 의 속성에 의해 결정되는)내의 상세 내용을 정의하고 있 다. X.509인증서나 Kerberos티켓의 보안 token별로 WS-Security의 프로파일은 존재하고 있다.

WS-Security의 SAML token profile은 SAML assertion 이 메시지 보안을 제공하는데 필요한 사항들을 규정하고 있다. 추가적으로 SAML 자신은 WS-Security를 (SAML 프로토콜 메시지와 assertion을 운반하는 SOAP 메시지를 보안하기 위한) 승인된 메커니즘으로 간주한다 [6].

3. Liberty

Liberty Alliance(리버티)는 개인, 기업, 정부가 개인정 보의 침해를 받지 않으면서 쉽게 인터넷을 통한 정보이 용을 할 수 있도록 연합(federated) 네트워크 ID관리를 위한 개방형 표준의 개발을 목표로 2001년 9월에 결성된 비영리기관이다. 2007년 4월 현재 ISP, 은행, 솔루션 벤 더, 연구소, 대학 및 통신 관련 정부기관 등 약 160여 회 원사로 구성되어 있으며, 리버티의 목표는 연합 ID를 통 해 MDSSO(multi-domain SSO)를 구현하고, 사용자 정 보 공개시에 사용자가 이를 선택적으로 통제할 수 있는 허가 기반 속성공유(permission based attribute sharing) 을 지원하는 것이다.

현재 리버티의 주요 추진 프로젝트는 다음과 같다[3].

l 연합 ID와 ID 기반의 Web services를 위한 개방형 표준 규격의 제정

l ID 도용의 완화에 관한 방법 연구

l e-HealthCare를 위한 환자, 병원, 보험회사 간의 안 전한 정보 공유

l 전자정부의 구축을 위한 통합 ID 관리 체계 l 이동통신과 NGN 사업자를 위한 원격 액세스 제어 l 다양한 인증 메커니즘간의 상호 연동성

l 프라이버시 보호 등

2007년 1월 발표에 의하면 리버티의 규격에 따라 벤더 및 기관에서 개발한 약 80여 개의 통합 ID 관리 솔루션들 이 호환성 시험에 통과하였고, 사실상 거의 모든 SSO 솔 루션들이 리버티의 규격을 자신들 규격의 일부로 포함하 고 있다[3].

리버티 표준은 크게 3개의 모듈로 구성되는데 이들은 대체로 OASIS, W3C, IETF의 표준을 기반으로 구성되 며, 대표적인 표준들은 SAML v1.x, WS-Security,

(4)

HTTP, WSDL, XML, SOAP, WAP 등이다.

리버티 아키텍처를 구성하는 3개의 모듈과 다른 표준 과의 관계를 [그림 3]과 같이 구성된다[6].

ID Federation Framework(ID-FF)

& SAM L 2.0

ID Service Interface Specifications (ID-SIS)

Identify Web Services Framework (ID-WSF)

SAM L 1.x, SOAP, WS-Security, XM L, WS이, HTTP, WAP 등

그림 3. 리버티 아키텍처 Fig. 3. Liberty architecture

4. OpenID

OpenID는 LiveJournal의 창업자인 Brad Fitzpatrick 이 개발하여 2005년 발표한 open source 솔루션이다. 현 재 Web 2.0으로 기술의 진화에 따른 새로운 개념의 ID 관리 기술(Identity 2.0)로서 인터넷 업계에서 많은 관심 을 갖게 하고 있으며, 국내에서도 높은 보안성을 요구하 지 않는 간편한 SSO 기술로 인식되어 개인 홈페이지 사 용자와 블로그 사용자들을 중심으로 가입자가 빠르게 증 가하고 있다[7].

OpenID 는 그 설계에서 구현과 사용방법의 단순화를 하나의 목표로 하고 있으며, 특히 보안을 위해 많이 사용 되는 공개 키(public key)나 SSL(Secure Socket Layer) 을 사용하지 않고 브라우저 plug-in 도 사용하지 않으며 URL 이나 i-Names를 ID 로 사용하도록 한다. 그러나 OpenID 는 간편성을 추구한 대가로 보안성은 다른 솔루 션에 비해 낮은 편이며, 현재의 e-mail 보안 보다 한 단 계 높은 수준의 보안성을 제공하지만 상거래에 사용될 수준의 보안성은 제공하지 못한다. 또한, OpenID 규격은 인증 메커니즘을 정의하고 있지 않으며 규격과는 별도로 phishing 방지 기능을 구현하여야 한다는 단점이 있다 [8].

사용자가 OpenID를 사용하여 특정 SP를 접속하는 과 정은 다음 [그림 4]과 같다. 즉, OpenID를 지원하는 사이 트(SP 또는 RP: Relying Party)에 등록된 사용자가 OpenID로 login 하면 SP는 해당 URL로 지정된 서버에 서 개인의 HomePage나 Blog의 HTML 파일에 추가된 IdP 정보를 추출한다. SP는 이 정보를 이용하여 해당되

는 IdP에 연결 하고 사용자를 해당 IdP로 redirect시켜 IdP에게 인증 token을 요청하게 한다. IdP에서 사용자가 인증되면 IdP는 token을 SP로 redirect함으로써 Client는 SP에 연결된다[9][10].

그림 4. OpenID의 로그인 프로세스 Fig. 4. OpenID login process

5. CardSpace

카드스페이스는 Passport의 범용화에 실패한 마이크 로소프트가 2007년 Windows Vista와 함께 출시한 클라 이언트 기반의 신뢰성 높은 디지털 ID 관리 솔루션으로 서 여러 개의 신용카드와 신분증을 가지고 있는 ‘전자지 갑’을 구현 한다는 아이디어에 바탕을 두고 있다.

카드스페이스는 윈도우 화면상에서 그래픽 카드의 형 태로, 적절한 카드를 선택하여 원하는 사이트에서 ID 인 증을 받는다. 카드 발급서버는 IdP(Identity Provider)의 역할을 하며 Client S/W는 ID selector의 역할을 한다. ID 정보는 모두 사용자 PC 또는 IdP 내에서 보관된다[11].

카드는 사용자 개인이 만들어 사용하는 Personal Card(예: 개인 전화번호부)와 제3의 인증기관이 발행하 는 Managed Card로 구분되며, Managed Card는 SAML 2.0 암호화, Kerberos 프로토콜 및 EV-SSL(Extended Validation Secure Socket Layer) 등의 신뢰성 높은 보안 기술을 이용하여 구현된다.

개인의 PC에 보관되는 카드를 사용할 때에는 사용자 의 이름이나 패스워드를 키보드로 입력할 필요가 없어 높은 수준의 보안성을 유지하며 카드스페이스의 Client S/W는 피싱 방지 기능도 제공하고 있다. IdP는 MS의 카 드스페이스에서 채택한 보안기술(EV-SSL, Security Token Service, Information card 생성 및 제공 규격)을 인증 받은 업체라면 누구나 IdP 사업자로서 역할을 수행 할 수 있다.

(5)

IE 7.0 WCF app Control panel

Icardie.dll System.identitym odel.Selectors.dll

InfocardApi.dll

Cardagt.exe CardSpace UX

Identity Selector

Personal STS

CardSpace Store Infocard.exe CardSpace service

WCF

RP/STS

IdP/STS

P/STS

File System (Encrpyted) getBrowserToken() getToken()

managedCardSpace()

importInformationCard()

RPC Create

process

RPC

RP : Relying party/Resource Provider IdP : Identity Provider

STS : Secure Token Service RPC : Remote Procedure Call

그림 5. 카드스페이스 아키텍처[11]

Fig. 5. Cardspace Architecture

[그림 5]는 카드스페이스의 아키텍처를 보인다. 그림 의 하부에 사용할 카드를 선택하는 기능을 제공하는 Identity Selector와 STS(Secure Token service) 및 카드 스페이스 저장소 등의 components들이 있고 중앙에 API 를 제공하는 component가 있다. 이 API를 통해 Internet Explorer, WCF, Control Panel 등의 GUI가 en되어 사용 자 PC에서 카드스페이스를 사용할 수 있게 한다.

WCF(Windows Communication Foundation)는 .NET 3.0의 하나의 요소로서 SOA의 통합 기반과 WS 규격에 정의된 보안 기능들을 제공한다. Control Panel은 Personal Card의 생성과 관리용으로 이용되는 panel이다 [11].

그림 6. 카드스페이스의 로그인 프로세스[12]

Fig. 6. Cardspace login process

[그림 6]은 카드스페이스의 사용자가 어떤 SP에 접속 하는 과정을 보인다. 사용자가 특정 SP(RP)의 서비스 사 용을 시도하면 SP는 사용자 ID에 대한 요구사항을 제시 하고, 사용자의 client 프로그램에 identity selector가 pop-up 되며, 이 요구사항을 충족할 ID 정보를 보관하고 있는 IdP가 선택되면서 동시에 IdP에게 security token을 요청한다. IdP가 security token을 보내면 사용자는 카드 를 선택(클릭)하고 이를 통하여 SP에게 token이 전달되 고 SP는 이를 확인한 후 사용자에게 서비스를 제공한다.

이와 같은 카드스페이스의 특징은 연합 ID관리 방식과 달리 IdP와 SP간에 연결이 이루어 지지 않고 사용자 중 심으로 ID 인증이 처리되는 특징이 있다[12].

6. Single-Sign On(SSO)

하나의 아이디로 여러 사이트를 이용할 수 있는 시스 템으로 여러 개의 사이트를 운영하는 대기업이나 인터넷 관련 기업들이 각각의 ID를 하나로 통합 할 필요성이 인 식됨에 따라 개발된 방식이다[13]. 1997 년 IBM 이 개발 하였고 우리나라에는 2000 년 코리아닷컴이 처음 도입한 이후 삼성전자와 SK 가 도입하며 활성화되기 시작했다.

[그림 7]와 [그림 8]은 single sign on(SSO)[14]의 기본 적인 동작 과정을 나타낸 것이다. 그림에서 SP 는 service provider를 나타내고 IdP 는 Id provider, 즉 인증 을 담당하는 기관이다. 인증되는 순서는 다음과 같이 이 루어진다[15].

사용자

서비스 제공자 1(SP1)

인증서 제공자 (IdP)

서비스 제공자 2(SP2) 1. 접속

2. 인증요청

3. 로그인 요청

4. 사용자 정보 제공

5. 응답 6. 접속 허용

그림 7. SSO 인증모델 (1) Fig. 7. SSO Identity Model(1)

(6)

l 사용자가 sp1 의 URL 로 접속한다.

l SP1 은 IdP 에게 사용자의 정보를 인증해 줄 것을 요 청한다.

l IdP 는 사용자에게 로그인 화면으로 redirect하여 인 증을 요구한다.

l 사용자는 아이디와 패스워드를 입력한다.

l IdP 는 사용자 정보를 식별하여 인증 하고 SP1에 인 증서를 보내준다.

l SP1 은 받은 인증서를 기반으로 요청받은 사용자 인 증이 유효함을 확인한다.

l SP1 은 사용자가 인증된 사용자로 확인되면 인증이 완료된 브라우저를 넘겨준다.

사용자

서비스 제공자 1(SP1)

인증서 제공자 (IdP)

서비스 제공자 2(SP2) 1. 접속

2. 인증요청

3. 응답 4. 접속 허용

그림 8. SSO 인증모델 (2) Fig. 8. SSO Identity Model(2)

또한 사용자가 SP2 의 서비스를 이용하려 할 경우 다 음과 같은 순서로 인증이 이루어진다[16].

l 사용자가 SP2 에 접속을 요청한다.

l SP2 는 사용자의 정보를 IdP 에 요청한다.

l IdP 는 SP2 로부터 요청을 받고 세션 값을 바탕으로 인증서를 검사하고 사용자가 이전에 SP1 에 로그인 했 었던 사용자임을 알 수있고, IdP 는 SP2 에 유효한 인 증자임을 알려준다.

l SP2 는 IdP 로부터 유효한 인증 response 를 받고 사 용자가 이전 SP1 에서 로그인 하였던 인증된 사용자임 을 확인한다.

l SP2 는 사용자에게 인증이 완료된 브라우저를 넘겨 주고 사용자는 서비스를 이용하게 된다.

Ⅲ. 제안모델

다양한 기술들의 등장과 복잡한 생태계의 특성상 지 속적인 새로운 아이디 관리 모델의 등장은 피할 수 없으 며 이로 인한 아이디 관리 문제와 상호 연동의 문제들은 매우 중요한 이슈로 부각 되고 있다[17]. 새로운 웹서비 스에 등록할 때마다 관리해야 하는 계정정보의 증가는 비용의 문제를 발생시키게 된다. 다양한 웹서비스에서 채택한 아이디 관리 모델들은 상호간의 연동을 위해 별 도의 방식들을 이용해서 연동하거나, 연동이 힘든 경우 도 흔하게 발생하고 있다.

이러한 문제점을 해결하기 위해서 이 논문에서 제안 하는 분산형 아이디 정보 관리 모델은 디지털 생태계 환 경에서 자생적으로 발생하는 다양한 기술들에 대한 상호 연동성에 중점을 두었다. 현재 가장 많이 사용되는 X.509[18], SPKI, Kerberos[19]과 같은 기술들간의 상호 연동 및 통합서비스 모델은 SSO 등의 서비스 구현을 위 해서는 필수적이다. 또한, 기존 웹서비스들이 사용하는 기술들에 종속적이지 않고, 상호 연계되지 않거나 도메 인이 틀리더라도 아이디 정보를 교환할 수 있는 아이디 정보 관리 시스템의 제공도 필수적이라고 할 수 있다.

이를 위해서 앞장에서 살펴본 관련 기술 중 SAML과 같이 웹서비스와 플랫폼에 독립적인 기술의 채택이 필요 하다. 본 논문에서 제안하는 서비스 모델은 중소 규모의 기업형 서비스에 적합한 모델로서 디지털 생태계가 갖고 있는 분산 환경에 적합한 서비스 구조를 제공 할 것이다.

1. 기본 서비스 모델 가. 기본 용어 정의

본 논문에서 제안하는 서비스 모델을 구성하기 위해 서다음의 용어들에 대하여 정의한다.

l 사용자(User): 네트워크상에서 고유하게 인식될 수 있는 서비스 개체를 말한다. (Peer, 웹브라우저 사용자, 기업, 사람 등)

l 서비스 제공자(Service Provider, SP): 하나 이상의 서비스 또는 활용 가능한 리소스를 제공하는 개체.

l 클리덴셜 제공자(Credential Provider, CP): 다른 개 체에게 디지털 서명이 된 인증서를 제공할 수 있는 개 체.

l 디지털 생태계(Digital Ecosystem): 다양한 서비스 파트너와 경쟁자들이 존재하고 상호 제휴가 가능한 분

(7)

산 디지털 환경을 표현한다. 일반적인 인터넷 상의 모든 환경을 통칭한다.

l 서비스 제휴: 서비스의 연합 및 동맹이 가능한 안정 적인 제휴 상황을 말한다.

본 논문에서는 각 서비스 개체들의 기본적인 기능을 다음과 같이 정의하였다.

l 모든 사용자들은 동등한 권한과 위치를 갖는다.

l 모든 사용자들은 계층적 관계를 갖지 않는다.

l 어떤 개체도 CP나 SP로의 성격을 갖거나 두 성격을 모두 포함할 수 있다.

l 사용자는 다른 사용자에게 인증서를 제공할 수 있다.

l 각 사용자는 신뢰하는 인증서 제공자 목록을 갖고 있 다.

l 인증서 제공자는 자신에 의해 제공된 보안토큰, 신뢰 관계에 있는 인증서 제공자의 인증서를 사용자에게 제 공한다.

나. 사용자 아이디 정보 관리 방법 정의

디지털 생태계에서 ITU-T표준인 X.509와 같이 보안 토큰의 적용을 엄격하게 하는 경우도 있고, 독자적인 서 비스 제공을 위해 username/password, Ad-Hoc보안토 큰, OpenID와 같은 관리방법을 사용하는 경우도 있다.

디지털 생태계는 위와 같이 다양한 아이디 관리 기법 을 채택하고 있기 때문에 통일된 아이디 관리 방법을 제 공하기 위해서는 다른 형태로의 신뢰할만한 변환 방법의 제공이 필수적이다.

본 논문은 후반부에 SAML을 이용한 변환 방법을 제 시할 예정이다.

디지털 생태계에서 취득할 수 있는 보안토큰들은 X.509, SPKI, Kerberos, SAML identity assertion등이 있 으며, OpenID, Ad-Hoc identity token(또는 username/password)도 그 안에서 partner의 아이디를 인증하는 클리덴셜 제공자들에게 정보를 제공할 목적으 로 이용될 수 있다. 그러나, 클리덴셜 제공자는 하나의 표 준을 통해서 단순하고, 간단한 방식으로 서비스를 제공 하는 것이 중요하다.

본 논문에서 클리덴셜 제공자는 모든 사용자들에게 적절한 인증 기능을 제공할 의무가 있으며, 사용자에게 사용자 아이디를 제공하고, 사용자 아이디를 통해서 서 비스 제공자에게 신뢰하는 보안토큰을 제공할 수 있어야 한다. 서비스 제공자는 사용자가 해킹등 잘못된 행동을

유발시킬 경우 클리덴셜 제공자에게 사용자의 고유정보 를 요청할 수 있으며, 이 경우를 대비해서 클리덴셜 제공 자는 사용자아이디와 사용자 고유정보를 매칭하는 DB를 갖추고 있어야 한다.

다. 사용자 프로파일 관리 정의

클리덴셜 제공자들이 제공하는 인증서의 개수가 늘어 나게 되면 서비스에 접속할 때나, 분산서비스 등에 접근 할 때에 늘어난 클리덴셜 만큼의 관리 문제가 발생하게 된다.

사용자가 포털이나 인터넷 접속 프로그램들을 통해 디지털 생태계에 접속하게 되면 사용자는 인증서, username/password, public/private key와 같은 정보들 을 관리해야 한다. 이러한 문제를 간소화하기 위해 사용 자 프로파일(user profile) 개념을 도입하여 사용자가 디 지털 생태계 안에서 활동하면서 발생하는 모든 사용자 아이디 정보를 프로파일 안에 저장을 하는 것이다. 이렇 게 저장된 정보를 이용하여 어떤 아이디 인증이 사용가 능하며, 어디에 사용할 수 있으며, 어떻게 얻어졌는지에 대한 정보를 추상화하여 제공하는 것이다.

프로파일은 디지털 생태계 안에서 개체들간의 통신시 에 매우 중요한 정보를 담고 있기 때문에 프로파일의 할 당, 저장, 검색방법은 중요하며 프로파일은 권한이 없으 면 공개되지 못하도록 보호되어야 하고, 필요할 때만 사 용이 가능하도록 해야 한다. 따라서 프로파일을 암호화 하고, 신뢰하는 peer안에만 복사본이 존재하도록 하는 정 책을 채택하여 암호화된 프로파일은 오직 사용자와 신뢰 하는 peer간의 network를 통해서만 얻어질 때 의미가 발 생하게 하여야 된다.

복수의 개체에 의해서 프로파일이 공유되는 경우도 발생할 수 있다. 가령 회사의 경우 직원들에 따라 다양한 프로파일을 사용할 수 있도록 허락되는데, 이때 프로파 일 정책은 누가 프로파일을 사용할 수 있고, 어떤 상태로 접근할 수 있는지 여부를 정의하여야 한다. 이런 정책은 필요할 경우 정의해서 사용할 수 있고, 정책이 존재하지 않을 경우 기본적으로 프로파일의 사용자만이 읽고 쓸 수 있는 권한이 부여되어야 한다. 최적의 정책모델은 접 근권한목록(Access Control List, ACL)을 사용하는 것이 다[20][21].

사용자는 디지털 생태계에 처음 등록할 때 등록하는 username과 password를 기억하고 있어야 한다. 이것은

(8)

사용자가 다른 디지털 생태계에 username과 password 로 로그인할 경우, 암호화된 사용자 프로파일을 검색하 고 할당해 주는 역할을 하기 때문이다. 각 디지털 생태계 는 미리 신뢰하는 노드들을 정의하고, 이 노드들은 사용 자의 정보를 저장하고 있으며, 다른 디지털 생태계에 존 재하는 신뢰하는 노드의 주소들을 갖고 있어야 한다.

사용자가 새로운 세션을 시작하게 되면 사용자 프로 파일은 웹브라우저의 secure memory나 local client에 다 운로드 되고, 메모리에 복호화 된다. 복호화된 프로파일 은 웹브라우저나 local client에 의해서 사용되고, 세션이 끝나게 되면 사용자 프로파일은 암호화되어 노드에 다시 업데이트되고, 다른 신뢰하는 peer들에 복사되어 일관성 을 유지하게 된다.

사용자 컴퓨터에 설치된 local client의 경우 프로파일 은 local안에 복사되고 저장되어 local안의 정보만으로도 사용 될 수 있으나, 다중 유저들의 사용을 고려하여 프로 파일은 반드시 다른 신뢰하는 peer에 저장되어 유용성을 제공할 수 있어야 한다.

라. 암호 및 보안토큰 관리 정의

사용자 아이디 정보는 사용자 프로파일에 저장되어 있으며, 이것들은 모두 암호화 되어 신뢰하는 peer들 안 에 복사 저장되며, 암호화된 사용자 프로파일에는 사용 가능한 인증서, public/server key pair, 사용자 인증정보, 보안토큰 등의 정보를 포함하고 있다.

디지털 생태계의 외부에서 얻어지는 사용자 아이디 관련 정보들도 사용자 프로파일을 갱신하여야 하며, 그 것은 디지털 생태계 안에서 다른 상호 연계작업을 할 때 제대로 활용될 수 있기 때문이다. 사용자가 디지털 생태 계에 처음 프로파일을 등록하게 될 경우 기존의 사용가 능한 아이디 정보를 가져올지를 결정할 수 있다. 사용자 는 어떠한 아이디 정보 없이도 프로파일을 생성할 수 있 으며, 서비스 제공자 및 서비스 제공자의 클리덴셜 제공 자와의 상호 연계를 통해서 차후 수집할 수 있다.

클리덴셜 제공자와 연동 이후에 사용자는 자동적으로 향후 사용할 수 있도록 하기 위한 새로운 아이디 토큰 정 보를 프로파일 안에 저장하게 된다. 저장된 정보는 사용 자가 정의한 내용, 클리덴셜 제공자의 정책에 따라 다를 수 있다. 예를 들어 아이디 토큰은 클라이언트 프로파일 의 저장 없이도 서비스 제공자에 제공될 수 있으며, 새로 운 토큰의 저장방식에 대한 정보만 저장된다. 아이디 토

큰은 이것을 제공한 클리덴셜 제공자가 신뢰하는 보안 LDAP(Lightweight Directory Access Protocol)서버에 저장이 될 수 있으며, 서버에서 자동으로 사용자 위임권 한을 받을 수도 있다.

사용자 프로파일의 암호화를 위해 별도의 긴 마스터 암호가 필요하며, 이 암호는 절대 저장되어서는 안 되며 사용자만이 알고 있어야 하고, 마스터 암호는 디지털 생 태계의 접속을 위한 password와는 구분되는 것이어야 한다.

마. 아이디 관리 모델간 연동을 위한 SAML 적용 기존의 아이디 관리 모델들은 서로 다른 표준들로서 상호 연동이 되지 않는 문제점이 존재하고 있었다. 예를 들어 X.509와 SPKI는 가장 많이 사용되는 인증표준 임 에도 매우 다른 기술적 특성으로 인하여 연동이 불가능 하다. 이러한 문제점을 해결하기 위해서는 다른 보안표 준을 사용하는 서비스 제공자와 통신시에도 사용자의 아 이디 정보를 인식할 수 있게 하는 방법이 필요하다.

이러한 아이디 메커니즘의 문제를 해결하기 위해서 각 서비스 제공자는 최적의 아이디 관리 표준을 채택해 서 사용하지만, 다른 연관된 클리덴셜 제공자들을 지원 하기 위해서 SAML[18] 표준도 지원해야 한다. 즉, 기존 의 아이디 관리 방식뿐만 아니라 SAML을 이해할 수 있 도록 신뢰하는 클리덴셜 제공자의 기능을 확장해야 한다.

또한, 각 클리덴셜 제공자들은 다른 클리덴셜 제공자들 이 지원하는 표준으로부터 비롯된 SAML assertion을 제 공할 수 있는 기능도 갖고 있어야 한다[23].

SAML[22]의 새로운 버전은 다른 종류의 인증서 (X.509, SPKI, Kerberos tickers, username/password 등) 내부의 아이디 정보를 SAML assertion으로 표현할 수 있는 기능을 갖고 있어서 본 논문의 제안 모델에서는 SAML assertion을 다른 아이디 정보와 표준을 연결하는 역할로써 제안하였다.

예를 들어 X.509과 username/password인증을 지원하 는 클리덴셜 제공자의 경우 이 제안하는 모델 안에서 기 능적 역할을 하기 위해서는 다음과 같은 변환 기능을 제 공해야 한다.

[그림 9]는 SAML을 이용한 연동 예제이며 동작과정 은 다음과 같다.

(9)

User(SPKI)

CP2(SPKI) SP1(X.509) CP1(X.509)

1. SP1접속을 위한 인증 요청

2. SAML assertion 전달

3. SP1으로 서비스 접속(SAML

assertion)

4. 인증 요청

5. 인증 확인 6. 서비스 접속

X.509 ↔ SAML assertion

SPKI(Username & Password) ↔ SAML assertion

그림 9. SAML을 이용한 연동 예제 Fig. 9. Example of SAML assertion

(1) SPKI인증 기반 사용자가 CP2에게 X.509인증 기 반 SP1으로 접속을 위해 인증을 요청한다.

(2) CP2는 CP1과의 신뢰관계를 갖고 있으므로 CP1이 허용할 수 있는 SAML assertion을 생성해 사용자 에게 전달한다.

(3) 사용자는 SP1에게 SAML assertion을 전달하고 서비스 접속을 요청한다.

(4) SP1은 신뢰하는 CP1에 SAML assertion을 전달하 고 인증을 요청한다.

(5) CP1은 SAML assertion을 확인하고 인증서를 확 인해준다.

(6) SP1은 사용자의 서비스 접속을 허용한다.

[그림 9]와 같이 서비스 제공자1(SP1)이 X.509기반의 인증 시스템을 갖고 있고 서비스 제공자1(SP1)은 클리덴 셜 제공자1(CP1)을 신뢰하고 있다고 하자. 클리덴셜 제 공자1(CP1)도 X.509 토큰이 유효하다. 만일 사용자가 클 리덴셜 제공자2(CP2)가 제공한 SPKI 인증서만 갖고 있 고, 클리덴셜 제공자2(CP2)와 클리덴셜 제공자1(CP1)이 서로 신뢰의 관계를 갖고 있다면 사용자는 서비스 제공 자1(SP1)에 의해서 제시한 모델을 이용하여 서비스 접근 을 할 수 있게 되며, 사용자는 클리덴셜 제공자2(CP2)에 게 SPKI를 SAML assertion으로 변환 요청을 할 수 있 다. 이때 클리덴셜 제공자1(CP1)은 클리덴셜 제공자 2(CP2)와 신뢰의 관계가 있으므로 클리덴셜 제공자

2(CP2)가 제공한 SAML assertion을 수용하고 X.509 아 이디 인증을 서비스 제공자1(CP1)에게 전달해준다. 서비 스 제공자는 클리덴셜 제공자1(CP1)을 신뢰하기 때문에 사용자를 인증하고 원하는 서비스 접근을 허용할 수 있 게 되는 것이다.

마. 아이디 관리 모델

[그림 10]은 위에서 제안한 아이디 정보 관리 모델의 작업 흐름도를 도식화 한 것으로 메시지 흐름은 다음과 같다.

(1) 사용자(웹브라우저 또는 local client)는 서비스 제 공자에게 접속 요청을 한다.

(2)-(3) 서비스 제공자는 사용자를 신뢰관계에 있는 클리덴셜 제공자1로 재접속 시킨다.

(4) 사용자는 해당 클리덴셜 제공자가 제공하는 인증 서가 없을 경우. 클리덴셜 제공자1은 자신이 보유 하고 있는 신뢰할만한 클리덴셜 제공자 목록을 사 용자에게 전송한다.

(5) 사용자는 자신의 프로파일을 저장하고 있는 신뢰 하는 peer에게 요청을 하고 username/password 로 인증을 받는다. 즉, 사용자가 디지털 생태계에 접속하게 되면 신뢰하는 peer들의 정보를 수집할 수 있게 된다.

(6) 신뢰하는peer는 암호화된 사용자 프로파일을 전달 한다.

(7) 프로파일이 복호화 되면, 사용자는 (4)에서 부여받 은 올바른 인증서 소유여부를 확인한다.

.일치하는 인증서가 없다면: 사용자는 클리덴셜 제공자2의 등록 작업을 통해서 아이디 토큰을 얻 어야 한다.(사용자는 해당 인증서를 제공) .(4)에서 요구하는 인증서가 있다면: 사용자는 해

당 정보를 추출하거나 해당 클리덴셜 제공자2에 게 정보를 요청한다. 이때 중요한 것은 인증서 타 입과 클리덴셜 제공자이름 모두 동일한지 확인해 야 한다. (사용자는 인증서 타입이 다를 경우 클 리덴셜 제공자2에게 인증변환을 요청)

(8) 클리덴셜 제공자2는 사용자를 인증한 후에 인증서 를 제공하거나 인증서 타입이 다를 경우 SAML assertion으로 변환해준다.

(9) 사용자는 인증서/SAML assertion을 처음에 목록 을 준 클리덴셜 제공자1에게 전달한다.

(10)

(10) 클리덴셜 제공자1은 인증서를 검토하고 문제가 없다면 서비스 제공자로 전달을 해준다.

(11) 사용자는 클리덴셜 제공자1로부터 받은 토큰을 갖고 서비스 제공자로 재접속한다.

(12) 서비스 제공자는 인증서를 검토하고 사용자가 요 청한 리소스를 제공하게 된다.

서비스 제공자

신뢰하는 CP들의 공개 리스트

보장하는 보안토큰의 공개리스트 클리덴셜 제공자 1

사용자 (브라우저/서비스)

암호화된 사용자 프로파일 신뢰하는 Peer

발행된 인증토큰 리스트 클리덴셜 제공자 2 신뢰 관계

1

2

3

4

5

6

7

8 9 10

11 리소스 12

요청

리소스

인증 요청

포워딩 인증 요청

보장되는 인증서버 목록

로그인 및

프로파일 요청 프로파일

토큰/인증서 요청

인증서 인증서

토큰 토큰

그림 10. 기본 아이디 정보 관리 모델

Fig. 10. The Basic Identity Management Model

위의 단계(10)에서 클리덴셜 제공자1은 (9)에서 받은 인증서를 서비스 제공자가 인식할 수 있는 사용자 정보 토큰으로 변환을 하게 된다. 만일 사용자가 제시한 사용 자 정보 토큰이 서비스 제공자가 인식할 수 있는 사용자 정보 토큰이라 하여도 클리덴셜 제공자1은 새로운 사용 자 정보 토큰을 제공함으로써 완벽한 검증을 해야 한다.

2. 기본 Use Case와 시나리오

위에서 제시한 모델을 이용하여 보안 토큰을 다른 형 태로 변환하는 경우의 예를 들어보면 [그림 11]은 디지털 생태계 환경에서 서비스를 제공하기 위해 아이디 정보를 상호 교환하는 경우이다. CP1은 User1과 N이 신뢰하는 인증서 제공자이며, CP2는 User2가 신뢰하는 인증서 제 공자로서 CP1과는 서로 다른 생태계에 존재한다.

서로 다른 생태계에 존재하는 CP1과 CP2간에 인증서 제공을 위해서는 별도의 인증을 연결해주는 협상전문가 가 필요하다. 협상전문가(Negotiator)는 다른 생태계간의 인증의 시작을 알려주는 역할, 경로정보의 제공 및 협상

에 필요한 인증서 변환작업을 원활하게 도와주는 책임이 있다. 협상전문가를 통하게 되면 각 생태계안의 CP들 간 에 직접적인 신뢰관계가 없어도 협상전문가와의 신뢰관 계만으로도 인증서비스가 가능할 수 있게 되는 것이다.

CP1

N

User1 SP1

SP2

SP3 User2

CP2

CP : 클리덴셜 제공자 User : 사용자 SP : 웹서비스 제공자 N : 협상전문가

그림 11. 협상전문가(N)를 통한 서비스 인증 예제

Fig. 11. Example of Authentication by Negotiation

User1과 N사이의 인증은 SSO를 이용하였으며, User1 은 로그인을 위해 CP1에 간단히 접속을 하면 된다. N과 User2사이의 인증을 위해서는 CP2에서 CP1으로 인증변 환이 발생하여야 하며 절차는 다음과 같다.

(1) N는 협상을 시작하게 된다.

(2) N는 SP1에게 협상을 전송한다.(SP1은 SP2로 가 는 경로임)

(3) User2는 SP2로부터 협상정보를 얻는다.

(4) User1과 User2가 상호 연동을 시작한다.

(5) User1과 N간의 상호 인증: CP1을 이용한 SSO접 속한다.

(6) User2와 N간의 상호 인증: CP2의 인증서를 CP1인 증서로 상호 변환하여 인증처리를 수행한다.

3. 확장형 서비스 모델 및 구성

(1) 디지털 생태계는 상호 연동 및 서비스 연합 같은 형태를 통해서 다양한 웹서비스들 간의 협동 환경을 제 공하게 되며 서비스간의 연계는 또 다른 서비스로 제공 되기도 한다. 디지털 생태계에서는 이러한 서비스의 생

(11)

성이 빈번하게 발생하게 되므로 본 논문에서 제안하는 서비스 모델도 이러한 환경에 적응할 수 있도록 확장할 필요가 있다.

서비스 제공자가 다른 서비스 제공자로부터 협력을 통하여 서비스를 제공하는 경우 서비스 제공자의 이름을 이용한 정보서비스가 사용자에게 제공되며 이러한 상황 에서 서비스 제공자가 인증을 요청하게 되는 경우가 발 생한다. Proxy Certificate(이하 PC)[24]개념은 이와 같은 상황을 해결하기 위하여 서비스 제공자가 자신이 신뢰하 는 클리덴셜 제공자로부터 제공 받아 결합 서비스 제공 자에게 사용자의 서비스 요청을 위하여 사용되는 일종의 보안토큰으로써, 결합 서비스 제공자에게 제공하여 사용 자의 복합서비스 이용을 지원한다.

PC를 생성하기 위해서는 클리덴셜 제공자나 다른 PC 의 인증이 필요하다. 새롭게 생성된 PC의 자기정보는 인 증을 해준 PC의 속성을 이어받으며, PC만의 Public/Private키도 소유함으로써 PC의 성격을 유지하게 되며, 어떻게 PC가 작동되어져야 하는 지에 대한 정책도 갖추게 되고, 하나의 PC만을 인증하게 된다.

PC는 지금까지의 사양을 반영하기 위해서 다음의 특 징을 갖는다.

첫째, PC의 아이디 인증은 사용자가 요청한 서비스가 수행될 수 있는 범위로 제한되며, 이러한 범위는 결합서 비스를 적절히 수행하기 위해 필요한 서비스 집합을 의 미하고, 결합서비스와 관계없는 서비스들은 호출하지 못 하게 해야 한다.

둘째, 복잡한 서비스 결합을 위해서 서비스 결합 레벨 정보(서비스 유지시간, 서비스 범위 등)를 제공하며, 서 비스 레벨정보를 이용해서 적절하게 PC가 수행하는 서 비스의 관리가 가능하기 때문이다.

셋째, PC의 유효한 사용 시간에 대한 정책으로 PC의 유효기간은 결합 서비스가 종료되거나, 결합 서비스를 위해 호출한 서비스가 더 이상 호출이 필요 없어 질 때로 제한된다. 사용자의 이러한 정보는 결합 서비스를 제공 하는 서비스 제공자로부터 제공받는다.

위의 내용들을 종합하여 PC의 용도 및 PC가 제공하 는 기능을 정리하면 다음과 같다.

l PC는 복합서비스를 제공하기 위한 복합인증서 개념 이다.

l PC는 클리덴셜 제공자 또는 다른 PC의 인증을 통해 서 생성된다.

l PC는 생성자의 속성을 그대로 이어받으면서도 자신 만의 Public/Private키도 소유한다.

l PC의 인증범위는 메인서비스를 수행할 수 있는 범위 로 제한된다.

l PC는 복합 결합 서비스를 위해서 서비스 결합 레벨 정보를 제공한다.

l PC는 유효 시간을 포함하고 있으며, 시간이 경과되 면 인증의 효력도 같이 없어지게 된다.

결합 서비스 제공자 1

(SP1) 클리덴셜 제공자 1

사용자(브라우저/서비스)

신뢰하는 Peer

신뢰 관계 결합 서비스 제공자 2

(SP2) 클리덴셜 제공자 2

신뢰 관계

협상 전문가 (N)

1 2

3 4 6 5

7

프로파일과 키를 다운받음 서비스 요청

응답 서비스 요청 응답

Proxy Certificate Proxy Certificate 결합 서비스 제공자 n

(SP n) 클리덴셜 제공자 n

. . .

. . .

그림 12. 아이디 정보 관리 모델의 확장

Fig. 12. The Extended Identity Management Model

[그림 12]는 아이디 정보 관리 모델의 확장된 형태를 보여주고 있으며 각 단계별 진행과정은 다음과 같다.

(1) 사용자는 프로파일을 저장하고 있는 신뢰하는 peer로부터 프로파일을 다운받는다.

(2) 사용자는 SP1의 결합 서비스를 요청한다.

(3) SP1은 신뢰관계에 있는 클리덴셜 제공자1에 PC를 사용자의 브라우저를 이용하여 요청한다. 이때 PC 는 요청한 서비스범위 안에서만 제한되고, 향후 결 합 레벨을 정의하는 정책으로 이용하게 된다.

(4) SP1은 SP2에게 서비스를 요청한다.

(5) SP2는 신뢰관계에 있는 클리덴셜 제공자2를 SP1

(12)

구분요소 SAML CardSpace OpenID 제안모델

Global 식별자 지원 미지원 지원 지원

Pair-wise Pseudonyms 식별자

지원을 위한 여러가지

메카니즘 정의 지원 미지원 지원

일회성 식별자 지원 미지원 미지원 지원

속성정보 속성정보를 지원하기

위해 Assertion을 제공

Self-issued IdP와 제3의 IdP를 이용한 속성정보 제공 허용.

V1.0에서는 미 지원.

V2.0에서는 속성정보를 제공하는 메커니즘 지원

신뢰하는 Peer들에 분산 저장되는 속성정보 제공. Assertion을 통한 속성정보 전달.

인증 방식

인증시 인증문맥을 통해 해당하는 방식으로 인증 가능. SSO지원가능

서비스 제공자들에게 적절한 보안키의 소유를 증명함으로써 인증

SAML의 인증문맥과 같은 기능 없으며, 사용자 인증은 인증서 제공자가 판단하여 수행

같은 타입의 인증서의 경우 해당 IdP의 인증방식을 따르고, 다른 타입의 인증서일 경우 assertion변환을 통해서 인증 ID 정보흐름

front channel을 지원.

SOAP바인딩을 통해 back channel도 지원.

front channel만 지원

V1.0에서는 front channel만 지원.

V2.0에서 back channel지원

front channel을 지원.

SOAP바인딩을 통해 back channel도 지원.

IdP발견

별도의 IdP등록 과정 불필요. IdP발견을 위해서 쿠키메커니즘 사용

CardSpace를 설치하는 과정에 등록한 IdP정보를 이용

별도의 IdP등록 과정 없이 global URI를 식별자로 이용해서 IdP를 결정.

별도의 IdP등록 과정 불필요. IdP발견을 위해서 인증서 제공자 목록을 사용

타 아이디 관리 모델과의 상호 연동성

Assertion을 통한 상호

연동 기술 제공. 미지원 미지원

Assertion을 이용한 상호 연동 가능.

IdP에서 인증서 변환 기능을 제공.

표 1. 기존 아이디 관리 모델과의 비교표

Table.1. Compare with Other Identity management model.

을 경유하여 재연결 시켜 인증을 받게 하며, SP1 는 사용자가 PC를 이용해서 클리덴셜 제공자2로 부터 인증 받도록 한다.

(6) SP2는 서비스를 실행하고 결과를 SP1에게 전달한 다.

(7) SP1은 서비스를 실행하고 결과를 사용자에게 전 달해준다.

이러한 확장 모델은 SP2에서 SP3, .. SPn까지 결합레 벨정보의 제한 시점까지 결합 서비스를 확장할 수 있다.

Ⅳ. 기존 아이디 관리 모델과의 비교 분석

ID시스템을 구분하는 중요한 요소인 식별자, 속성정

보 제공, 인증, ID정보흐름, IdP 발견 방식, 타 아이디 관 리 기술과의 상호 연동성을 기준으로 본 논문에서 제안 하는 관리 모델과 기존의 아이디 관리 모델과의 특징을 분석하였다.

본 논문은 SAML assertion을 채택하여 SAML의 기 술적 장점을 그대로 적용하면서 분산 환경에 필요한 프 로파일의 정의 및 관리 방식, 서비스 확장 모델, 인증서 변환 방식의 정의를 통해 기존 아이디 관리 모델들의 연 동 및 확장이 가능한 방법을 제시하였다. 위 표를 통해서 제안 모델은 기존 방식들의 장점을 그대로 수용하면서 디지털 생태계 내에서의 분산 아이디 관리 방법 및 상호 연동성 기능을 별도로 갖추고 있는 것을 확인할 수 있다.

또한 제안 모델은 기존의 아이디 관리 모델들에서도 IdP 의 기능 확장을 통해 지원 가능한 특징을 갖고 있다.

(13)

Ⅴ. 결론

디지털 생태계 안에서 다양한 아이디 관리 기술들은 상호 연동을 통한 서비스 연합의 필요성이 존재하고 있 다. 이 논문에서는 이러한 다양한 디지털 생태계 안에서 의 분산 아이디를 통합적으로 관리할 수 있도록 SAML 을 이용한 관리 모델을 제안하였다.

기본 서비스 모델을 통해서 사용자의 아이디 정보가 통합적으로 운용되기 위해 신뢰할 수 있는 변환형태를 제공해야 하며, 이를 위해 공개된 기술인 SAML assertion에 바탕을 둔다. 사용자의 다양한 아이디 정보 를 보관저장하기 위해서는 프로파일을 통한 추상화된 형 태로 데이터를 peer간 저장하고, 접근에 따른 제한의 필 요성도 언급하였다. 프로파일은 사용자에 관련된 인증정 보와 보안토큰의 정보를 저장하고 있어야 하며, 이러한 정보들은 사용자의 정보 변경을 최대한 반영하여야 한다.

웹서비스들의 복합적인 서비스 호출을 가능하게 하기 위 해서 기본 서비스 모델을 확장한 모델에서 필요로 하는 Proxy Certificate의 개념을 통해서 다중의 서비스들이 하나의 서비스 안에서 호출되는 과정과 그에 필요한 요 구사항들도 제안하였다.

본 논문에서 제안하는 분산 아이디 관리 모델을 통해 현재의 급변하는 인터넷 환경에서 아이디의 효율적인 관 리 및 다양한 이종 환경간의 연합서비스를 할 수 있는 방 법론으로 채택이 가능하다. 다만, 논문에서 제안된 모델 은 대형화된 기업형 서비스의 다양한 부분들을 모두 언 급하지 못함으로써 모델의 적용 범위를 중소형의 기업형 서비스로 한정을 하게 되었다. 향후 계속 연구를 통하여 해결해야 할 부분들이며 서비스 모델의 구현에 필요한 인터페이스와 API를 정의하여 SAML assertion의 변환 에 필요한 다양한 질의어의 연구와 성능테스트 등이 필 요하다.

참 고 문 헌

[1] 권택민, “디지털 경제환경의 디지털콘텐츠산업 동 향”, 인터넷정보학회지, pp.9-16, 2007.12

[2] 유재형, “다중 도메인간 SSO 실현을 위한 통합 Identity관리 기술 분석”, KNOM Review, vol 10, no. 1, 2007.8

[3] 리버티, http://www.projectliberty.org

[4] Gross, T, "Security analysis of the SAML single signon browser/artifact profile", Computer Security Applications Conference 2003, Proceedings. 19th Annual, Pages:298 - 307, 2003 [5] 신동규 “전자상거래 보안 기술 표준”, ECIF 전자 상거래 보안 기술 및 표준화 현황 세미나, 2006.11 [6] SAML V2.0 Executive Overview, Committee

Draft 01, 12 2005.4 [7] OpenID, http://openid.net

[8] David Recordon, Brian Ellin, “Practical OpenID”, OSCON2006 presentation

[9] OpenID 정의, http://openid.net/wiki/index.php /Public_open ID_providers

[10] iNames, http://xri.net

[11] Kim Cameron, "Windows CardSpace and Identity Meta System",

h t t p : / / c a r d s p a c e . n e t f x 3 . c o m/ f i l e s /folders/powerpoint_presentations/

[12] Barry Dorrans, "An Introduction to CardSpace", http://www.charteris.com/

[13] Gary Ellison, Jeff Hodges, Susan Landau,

“Security and Privacy Concerns of Internet Single Sign-On”, Liberty v1.6, 2002.12

[14] OpenSSO, "Open Web SSO (OpenSSO), https://opensso.dev.java.net/

[15] Jan De Clercq, “Single Sign-On Architectures”, Proceedings of the International Conference on Infrastructure Security table of contents, Pages:40-58,

[16] Michael Fleming Grubb and Rob Carter, "Single Sign-On and the System Administrator", Proceedings of the Twelfth Systems Administration Conference(LISA'98), 1998 [17] Identity Mashup Conference,

http://www.identitymash-up.org

[18] 김상균, 백종현, 이강석, 이석준, “공개키인증 기 반구조로서의 x.509 에 대한 연구”, 정보보호학회 지, pp.33-46, 1998.9

[19] 신광철, 정진욱, “네트웍 환경에서 안전한 Kerberos 인증 메커니즘에 관한 연구”, 정보보호

(14)

저자 소개 장 인 용(정회원)

∙ 1985년. 2월 : 명지대학교 공과대학 전자공학과 졸업(학사)

∙ 1995년. 2월 : 명지대학교 정보 산업 대학원 정보통신공학과(석사)

∙ 2009년. 2월 : 순천향대학교 일반대학 원 정보보호학과 박사과정 수료

∙1982.1~1990.2: 한국통신 전자교환운 용연구단

∙1990.2~1994.3: 한국통신 중앙연수원 교수실 교수

∙1994.3~1997.3: 한국통신 경영전략실, 공정대책실 과장

∙1997.3~1999.5: KT 해외법인 MTM사 파견근무 부장

∙1999.5~2001.2: KT 기획조정실 IMT-2000 사업추진본부 과

∙2001.3~2008.12: 한국디지털위성방송 팀장, 지사장

∙2003.2~2003.10: (구)정보통신부 위성DMB 무선설비기술기 준 위원

∙2009.1~ : 한국디지털위성방송 고객센터 팀장

<관심분야 : 개인무선통신, PCS, 인터넷 보안, 개인정보보호, CAS(방송수신제한시스템)>

염 흥 열 (정회원)

∙ 1981년. 2월 : 한양대학교 전자공학과 졸업

∙ 1983년. 9월 : 한양대학교 전자공학과 석사

∙ 1990년. 2월 : 한양대학교 전자공학과 박사

∙ 1982년. 12월 ~ 1990년9월 : 한국전 자통신연구소 선임연구원

∙ 1990년9월 ~ 현재 : 순천향대학교 공과대학 정보보호학과 정교수

∙ 1997년3월 ~ 2000년 3월: 순천향대학교 산업기술연구소 소

∙ 2000년4월 ~ 2006년 2월: 순천향대학교 산학연 컨소시엄센터 소장

∙ 1997년3월 ~ 현재 : 한국통신정보보호학회 총무이사, 학술 이사, 교육이사, 총무이사(역), 논문지편집위원회 위원장 (현), 상임부회장(현)

∙ 2005년 ~ 2008년 : ITU-T SG17/Q.9 Rapporteur

∙ 2006년11월 ~ 2009년 2월 : 정보통신연구진흥원 정보보호전문위원

∙ 2008년 8월 ~ 현재 : 디지털아이디관리포럼 의장

∙ 2009년 ~ 현재 : ITU-T SG17 부의장/SG17 WP2 의장

<관심분야> 인터넷 보안, USN 보안, IPTV 보안, 홈네트워크 보안, 암호프로토콜

학회지, pp.123-133, 2002.4

[20] Thanasis Loukopoulos and Ishfaq Ahmad,

"Static and adaptive distributed data replication using genetic algorithms", Journal of Parallel and Distributed Computing, 64(11):1270?1285, 2004.

[21] Ouri Wolfson, Sushil Jajodia, and Yixiu Huang,

"An adaptive data replication algorithm", ACM Transactions on Database Systems, 22(2):255?314, 1997.

[22] OpenSAML, "Open Source SAML Implementation", http://www.opensaml.org.

[23] 장인용, 염흥열 “인터넷상의 본인확인수단인 아 이핀의 활성화 방안 연구”, 정보보호학회지, 2009.10

[24] 이재신, 손병록, 구자현, “전자 ID지갑 시스템 기 반의 i-PIN 고도화 기술 개발 및 구현”, 한국정보 보호진흥원 최종보고서, 55, 2007

수치

그림  4.  OpenID의  로그인  프로세스 Fig.  4.  OpenID  login  process
그림  5.  카드스페이스  아키텍처[11]
그림  9.  SAML을  이용한  연동  예제 Fig.  9.  Example  of  SAML  assertion
Fig.  11.  Example  of  Authentication  by  Negotiation
+2

참조

관련 문서

(Service Level Metrics) 서비스 제공 영역별 서비스 수준을 정량적으로 파악하기 위한 성과지표 서비스 목표 수준. (Service Level Objectives) 서비스 수준 관리 지표

 병력적 분산(parallel distributed) 과정 – 과제의 요구와 환경 조건, 수행자의 과거 경험과 현재의 의도 등에 따라 혼합되어

캡슐화 디지털정보와 접근에 필요한 정보를 함께 보존하는 방식 디지털정보만을

그러나 인간의 언어는 현 재는 물론 과거나 먼 미래에 대한 의사 소통도 가능하다.. 그리고 동물의 언어 와 인간의 언어는 정보 축적

Cloud ID는 IDaaS(Identity as a Service) 및 엔터프라이즈 모바일 관리(EMM) 제품 G Suite에서 사용할 수 있는 독립형 제품으로 ID 서비스 및 엔드포인트 관리

단일 서비스 제공자를 통해 복수의 클라우드 연결을 포트폴리오로 관리 인프라 / 애플리케이션 간의 트래픽 최적화. 시장 요구가 변경에 따른 배포

인프라 팀에서 클러스터 그룹 및 역할 매핑을 통해 다수의 클러스터에 대한 사용자 액세스를 한번에 정의 : Org Admin, User 개발자가 클러스터에 대한 셀프 서비스 액세스

[r]