인터넷으로 인해 촉발된 정치/사회/문화적 변화의 키워드 중 빠질 수 없는 것이 "탈권위화"이다. 일부 권력이 정보를 독점하던 시대에서 정보의 소스가 다원화된 시대가 도래한 것이다. 위키노믹스라는 용어가 탄생하고 수많은 블로그에서 심도 깊은 정보를 얻을 수 있는 등 탈권위화의 흐름은 "인증" 분야에서도 예외가 아니다. 인증 분야에서 기존에도 ID를 통합하고자 하는 시도는 반복되어 왔다. 마이크로소프트의 "Passport"를 위시하여 사이트 간 제휴를 통해 회원의 ID를 공유하는 노력들은 오늘날에도 진행형이다. 그런데 이와 같은 방식들은 특정 업체들이 인증의 중심에 서있는 방식이라는 점에서 대다수의 사람들에게 환영을 받지 못 하고 있는 것이 현실이다. OpenID가 최근 주목 받고 있는 이유가 바로 탈권위화의 흐름과 철학적으로 유사한 기반을 가지고 있기 때문이라고 생각된다.

1. OpenID란 무엇인가?

위키피디아에서는 OpenID를 한마디로 "분산된 SSO (Single Sign On) 시스템" 이라고 정의하고 있다. 여기에서 1) “분산되어 있다”는 의미는 오픈아이디의 스펙만 준수할 경우 (특정 업체가 아니라) 누구나 OpenID를 만들어 공급해 줄 수 있다는 것 (ID Provider; 약자로 IdP) 이며, 2) “SSO”라는 의미는 하나의 ID와 패스워드로 OpenID 기능을 가지는 모든 시스템에 로그인할 수 있다는 것이다.

우리가 인터넷을 사용하면서 얼마나 많은 사이트에 회원 가입을 해 왔는지를 생각해보자.
인터넷을 제법 관심 있게 사용하는 분이라면 일주일에도 1~2개의 신규 사이트에 가입할 것이다. 회원 가입 시에 물어보는 정보는 아이디, 패스워드, 이메일 주소, 이름, 주민등록번호, 전화번호, 주소 등등 왜 이리 많은지 가입할 때마다 이런 반복 단순 작업을 언제까지 계속해야 하는 지 생각해 본 적이 많을 것이다.

OpenID를 이용하면 어떻게 될까요?
우선 최초에 단 한번 OpenID에 가입한다. 이때 아이디, 패스워드, 이메일 등의 필수정보와 입력을 원하는 기타 정보들을 입력하게 된다. 그리고 인터넷을 이용하면서 오픈아이디를 지원하는 사이트를 만나게 되면 더 이상 회원 가입할 필요 없이 기존에 만들어 놓은 나의 오픈아이디를 이용하여 로그인만 하면 된다. "편리하게 열리는 인터넷 세상"이 시작되는 것이다.

2. OpenID의 동작원리

홍길동님의 예를 살펴봄으로써 오픈아이디의 동작원리를 이해해 보도록 하겠다.

(1) 평소에 다양한 인터넷 서비스에 관심이 많은 홍길동님은 오픈아이디라는 것이 있다는 이야기를 듣고 아이디테일이라는 오픈아이디 제공 사이트에 가서 자신만의 오픈아이디를 발급받는다. 오픈아이디는 일반적인 인터넷 주소와 동일한 모양새를 가지고 있다: http://gildong.idtail.com
(2) 요새 나온 새로운 서비스 중에 Pumfit이라는 재미있는 서비스가 있다는 이야기를 들은 차에 방문해 보기로 한다.
(3) Pumfit 사이트에 있는 오픈아이디 로고를 보고 이 서비스에서 오픈아이디를 지원한다는 것을 발견한 홍길동님은 오픈아이디 로그인창에 자신의 오픈아이디를 입력하고 "로그인하기" 버튼을 누른다.
(4) 브라우저는 인증을 위해 IDtail의 인증 페이지로 이동하면서 홍길동님의 패스워드를 요구한다.
(5) 홍길동님은 자신의 패스워드를 입력한다.
(6) 인증이 정상적으로 이루어지면 IDtail에서는 Pumfit 서비스를 승인할 것인지 묻는다.
(7) 홍길동님이 승인하면 Pumfit 서비스에 대한 인증이 완료되면서 브라우저는 다시 Pumfit 사이트로 이동하고 로그인 상태가 된다.

글로 쓰니까 복잡해 보일 지 모르지만 실제로 홍길동님이 하는 것은 아이디 입력 -> 패스워드 입력 -> 승인 3단계 뿐이다. 또한 “승인”은 최초에 한번만 하면 다음부터는 하지 않아도 되는 과정이다. 복잡한 회원가입 대신에 간단하게 회원가입의 효과를 거둘 수 있게 된다.

3. OpenID의 유용성

오픈아이디의 정의에서 살펴 보았던 “분산된 시스템”이 의미가 있는 것은 내가 나의 오픈아이디제공자를 선택할 수 있다는 것이다. AOL, Sun, HP, Intel, Oracle 등이 주도하고 있는 Liberty alliance나 마이크로소프트의 Passport에서의 중앙 집중형 인증시스템에서는 물론이고 오픈아이디를 지원하지 않는 일반 서비스들에서 우리는 인증 관련하여 선택할 수 있는 것이 아무것도 없다. 그저 그들의 인증체계를 따를 뿐이다. 이때 우리는 그들을 신뢰할 수 있는 것일까? 신뢰를 할 수 있던 없던 간에 무조건 선택의 여지 없이 그들의 인증체계를 따라야 한다는 것은 문제가 있다. 하지만 오픈아이디와 같은 분산된 시스템에서는 나를 인증해 줄 수 있는 서비스를 내 마음대로 선택할 수 있다. 심지어는 내가 나만의 인증 서비스를 직접 만들 수도 있다. 분산된 SSO 시스템은 또 다른 장점도 가진다. 바로 SPOF (Single Point Of Failure) 를 방지하는 것이다. 일반적인 SSO 시스템에서는 해당 인증 시스템에 문제가 생길 경우 모든 사이트에서 인증받을 수 없게 되는 문제가 있다. 하지만 분산된 SSO에서는 delegation이라는 기능을 이용하여 블로그 또는 홈페이지 주소와 같은 나만의 URL을 나의 오픈아이디로 이용하면서 이에 연동되어 있는 하나의 오픈아이디가 문제가 생길 경우 다른 오픈아이디를 연동시킴으로써 특정 서비스에서 동일한 identity를 유지하는 것이 가능해진다. (Delegation을 수행하는 방법은 매우 간단하며 아래 6번에서 설명된다)

4. OpenID의 보안성

오픈아이디의 분산성은 보안에 대해서도 강점을 가진다. 오픈아이디의 스펙 자체에서는 보안에 대해 특별히 어떠한 강제 규정을 두고 있지는 않다. 하지만 우리는 오히려 다양한 인증 방법을 제공하는 다양한 오픈아이디 제공자를 만나보게 된다. 오픈아이디 제공자들은 가장 좋은 인증방법을 제공하기 위해 경쟁하게 될 것이며, 사용자들은 이중에서 자신이 적합하다고 생각하는 오픈아이디 제공자를 선택하면 된다.

SSL을 통한 로그인, 오픈아이디 지원 사이트에 로그인 하기 전에 오픈아이디 제공자 사이트에 우선적으로 로그인하고 시작함으로써 패스워드 입력이 필요 없게 만드는 것, 클라이언트 인증서의 설치, 마이크로소프트 비스타의 Cardspace 이용, 메신저를 통한 인증, OTP를 이용한 인증, Vidoop의 솔루션을 이용한 인증 등 다양한 방법이 가능하다.

5. OpenID를 지원하는 사이트는?

OpenID가 성공할 수 있는 가장 중요한 요소는 역시 OpenID를 지원하는 사이트가 얼마나 되는가 하는 것이다. 2006년 중반까지만 해도 극소수에 머물렀던 오픈아이디 지원 사이트 (Relying Party; 약자로 RP) 의 수는 2006년 말부터 폭발적으로 증가하고 있다. 오픈 커뮤니티나 블로그, 웹2.0 기반의 신규 서비스에서 주로 채택되던 오픈아이디가 이제는 AOL, Microsoft, Sun, VeriSign 등에서 도입되고 있으며 최근에는 IT기업이 아닌 리복 같은 회사의 사이트에서까지 오픈아이디를 도입하기 시작했다.

사용자 삽입 이미지

[그림 1] 오픈ID 지원 사이트(국외)
출처 : http://openid.net/pres/2007_Web2Expo_Implementing_OpenID-notes.pdf

국내의 경우에도 올해 들어 오픈아이디 지원 사이트가 많이 늘어나고 있어 설치형 블로그의 대표주자 태터툴즈, 미투데이, 이글루스, Pumfit 등에서 오픈아이디를 지원하며 그 수는 계속 증가하고 있는 추세이다. 대표적인 인터넷 포털인 다음에서도 오픈아이디를 준비하고 있다고 하니 그 영향력이 기대된다.

사용자 삽입 이미지

[그림 2] 오픈ID 지원 사이트(국내)

6. Delegation 하는 방법

메타태그를 삽입해 줌으로써 나의 블로그나 홈페이지 주소를 OpenID처럼 사용할 수 있다.

ID가 gildong인 경우의 예를 보면 다음과 같다.
(두번째/세번째 줄의 “gildong” 부분만 자신의 ID로 변경하면 된다.)

< link rel="openid.server" href="http://www.idtail.com/server" />
< link rel="openid.delegate" href="http://gildong.idtail.com/" />
< meta http-equiv="X-XRDS-Location" content="http://gildong.idtail.com/xrds" />

서비스형 블로그를 사용하시고 계신 경우에는 스킨에 위의 메타태그를 삽입할 수 있도록 블로그서비스 제공자가 허용해야 한다. 이글루스에서는 OpenID delegation 서비스 메뉴를 제공하고 있으며, 티스토리에서는 스킨 수정이 가능하기 때문에 사용자분께서 직접 위의 메타태그를 넣어주면 된다.

7. IDtail 서비스 소개

신뢰기반의 인터넷서비스를 제공하는 안철수연구소 사내벤처 고슴도치플러스에서는 지난 4월부터 오픈아이디 관련 서비스를 다음과 같이 제공하고 있다.

오픈아이디 제공 서비스: IDtail (http://www.idtail.com)
오픈아이디 지원 서비스: Pumfit (http://www.pumfit.com)

IDtail에서 자신만의 오픈아이디를 만들고 Pumfit에서 로그인하여 서비스를 이용해 보는 것만으로도 오픈아이디에 대한 이해를 한층 높일 수 있으리라 생각된다.@

출처 : 메일링뉴스 - 안철수연구소 사내벤처TF팀 송교석 팀장

Posted by 길동이