지난주 안철수연구소 security letter에 올렸던 글인데 고슴도치 블로그에 포스팅합니다.

사용자 삽입 이미지




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

 

1. OpenID란 무엇인가?

 

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

 

우리가 인터넷을 사용하면서 얼마나 많은 사이트에 회원 가입을 해 왔는 지를 생각해 볼까요?

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

 

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 : 오픈아이디 지원 사이트 (국외)
[출처 : http://openid.net/pres/2007_Web2Expo_Implementing_OpenID-notes.pdf]


 

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

사용자 삽입 이미지

그림 2 : 오픈아이디 지원 사이트 (국내)

 

6. Delegation 하는 방법

 

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

 

IDgildong인 경우의 예를 보면 다음과 같습니다.

(두번째/세번째 줄의 “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에서 로그인하여 서비스를 이용해 보는 것만으로도 오픈아이디에 대한 이해를 한층 높일 수 있으리라 생각됩니다. 현재 진행중인 오픈 이벤트에도 참가하셔서 경품도 받아가시죠. ^^

Posted by 공장장

2007/05/23 12:52 2007/05/23 12:52

사용자 삽입 이미지


사용자 삽입 이미지






“OpenID implementation”
세션이 끝난 직후 B형 남자이며 소심한 성격의 소유자인 페블은 용기를 내어 연단으로 갔습니다. 계획에 없었던 JanRain BrianVeriSignDavid과 인터뷰를 하고 싶어서죠. 저희가 IDtail이라는 OpenID provider임을 밝히고 한국에는 벌써 3개의 OP가 있다는 이야기를 했더니 굉장히 좋아 하더군요. (^^) 그러면서 인터뷰에 응하겠다고 했습니다. 스피커들만 들어갈 수 있는 특별한 인터뷰 룸에서 함께 하며 이야기 나눈 것들 정리해 봅니다.

[고슴도치] 본인의 소개와 회사에서 어떤 업무들을 하고 계신지 말씀 부탁드립니다.

[Brian] 안녕하세요, 저는 Brian이고 미국 오레곤 주에 있는 포틀랜드에 있는 JanRain에서 근무하고 있습니다. 저는 주로 오픈아이디 소프트웨어 라이브러리, 오픈소스 라이브러리, 파이썬/루비/PHP 등을 위한 라이브러리를 만드는 일을 하고 있습니다. 또한 Jyte.com 이라는 OpenID 기반 평판 사이트를 위해서도 일을 하고 있습니다.

[고슴도치] OpenID를 누구나 알기 쉽게 간단히 정의한다면?

[Brian] OpenID는 매우 간단한 새로운 프로토콜로, 어떤 URL의 소유권을 증명하기 위한 것입니다. OpenID가 가능하게 하는 것은 인터넷의 여러 사이트들간의 SSO 입니다. 각각 다른 사이트에 들어갈 때마다 다른 이름으로 로그인해야 하는 것의 불편함은 언제나 이슈가 되어 왔습니다. 하지만 예를 들어 저와 같은 경우에는 어떤 사이트든지 간에 Brianellin.com으로 로그인을 하고 있습니다.

[David] 제 생각에 오픈아이디가 재미있는 것은 그 개념이 social web과 웹2.0 기술들에서 나왔다는 것입니다. 2.0은 웹을 상호작용 (interaction) 과 집단지성 (collective intelligence) 이라는 환경으로 가져갔습니다. 우리는 플리커에 사진을 올리고 MovableType이나 LiveJournal 등을 이용해 블로깅을 하고 위키피디아와 같은 위키를 편집하는 사람들을 어디에서나 볼 수 있게 되었습니다. 이처럼 협업적인 요소와 social적인 요소를 가지고 있는 툴을 누구나 이용하며 그들의 평판과 아이덴티티를 각각의 사이트에서 쌓아가고 있습니다. 하지만 오픈아이디가 가능하게 하는 새로운 세상이라는 것은 여러분은 이미 블로그 URL이나 플리커같은 사진 URL 등에 여러분의 아이덴티티를 온라인에 가지고 있고 있을 것입니다. 이때 또 다른 협업 내지 social 사이트에 가입을 하게 되면 기존의 나의 아이덴티티를 살려 나갈 방법이 없이 해당사이트에서만의 완전히 새로운 아이덴티티를 다시 처음부터 쌓아 나가야 한다는 것입니다. 오픈아이디는 (만약 여러분이 원한다면) 여러개의 사이트를 연결지어줄 수 있는 연결고리 역할을 함으로써 나의 총체적인 아이덴티티를 유지해 나갈 수 있는 장점을 가지고 있습니다.

[고슴도치] 오픈아이디가 공격에 취약하다는 인식에 대해서는 어떻게 생각하나요?

[David] 제가 피싱의 보안 문제에 대해 잠깐 말씀드리겠습니다. 우선 보안에 있어 가장 기본이 되어야 할 것은 여러분의 오픈아이디 제공자가 SSL을 사용해야 할 것입니다. 그렇게 함으로써 가장 손쉽게 오픈아이디를 공격할 수 있는 man-in-the-middle attack으로부터 여러분을 보호할 수 있게 됩니다. 다른 문제점 특히 피싱에 대해 말씀드리자면제가 오늘 세션에서 발표했듯이 오픈아이디의 좋은점의 또 다른 하나는 오픈아이디 제공자가 어떻게 사용자들을 인증할 것인가에 대해 규정하지 않는다는 것입니다. 오히려 여러분은 다양한 인증 방법을 제공하는 다양한 오픈아이디 제공자를 선택할 수 있을 것입니다. 제공자들은 현존하는 어떠한 가장 좋은 인증방법을 제공해도록 경쟁하게 될 것이며, 사용자들은 이중에서 자신이 적합하다고 생각하는 오픈아이디 제공자를 선택하면 되는 것입니다. 마이오픈아이디와 같은 식으로 client-side certificate을 제공함으로써 유저네임과 패스워드를 제공할 필요없이 인증이 가능하게도 할 수 있으며 Microsoft의 비스타에 있는 Cardspace를 이용할 수도 있습니다. Jabber를 이용해 메신저를 통한 인증을 한다던가 SMS를 이용해 일회용 코드를 전송한다던가 아니면 어제 키노트때 launch pad에 나왔던 Vidoop의 새로운 패스워드 솔루션을 사용할 수도 있을 것입니다. 이와 같이 오픈아이디의 보안은 강력한 오픈아이디 커뮤니티에 의해 매우 빠른 속도로 해결되어 나가고 있습니다. 오픈아이디에서의 피싱에 대한 문제점이 화두가 된지 2달도 안 되어서 이 문제를 해결할 수 있는 수많은 방법들이 제안된 것입니다.

[Brian] 오픈아이디를 통한 SSO가 가능해진다면 여러분은 더이상 수많은 사이트에 ID와 패스워드를 입력하고 보안에 대해 걱정을 하는 일을 하지 않으셔도 됩니다. 하나의 장소에만 집중하면 됩니다. 우리는 분명히 클라이언트 사이드의 인증서라든가 Vidoop의 솔루션이라든가 여러가지의 방법으로 피싱을 막을 수 있게 됩니다.

[David] 맞습니다. 비단 피싱뿐만이 아니라 어떤 토근이나 OTP 등 다양한 out-of-band의 보안책을 이용하여 강력한 보안을 제공하는 하나의 오픈아이디 제공자를 이용함으로써 모든 사이트에 로그인할 수 있다는 것은 기존의 보안이 부족한 여러개의 사이트에 동일한 아이디와 패스워드로 로그인하는 것 보다 훨씬 보안적으로 안전한 것이 됩니다.

[고슴도치] 오픈아이디 2.0 이 공식 오픈되는 시기는 언제 정도일까요?

[David] 아까 강의에서 보셨다시피 오픈아이디 1.1 9,000만명 이상의 사용자, 2,500개 이상의 relying party 사이트를 가지고 있으며 그 전파속도가 계속 빨라지고 있는 점에서 볼 수 있듯이 시장에서 급속하게 자리를 잡아가고 있습니다. 오픈아이디 2.0 관련 작업을 시작한 지는 9개월 정도 되었으며 오픈아이디의 개념을 좀더 명확히 하고 여러가지 기능들이 추가되어지고 있습니다. 현재는 거의 최종 드래프트 버전 단계에 접어든지 약 2달 정도 되었으며 비록 언제라고 말씀드리기는 힘들지만 곧 공식 버전이 공개되리라 생각됩니다. 지금도 미리 자바, 파이썬, PHP OpenID 2.0 라이브러리 등을 다운받아 사용해 볼 수 있습니다. 기존 라이브러리들과 완벽하게 호환이 됩니다.

[고슴도치]마지막으로 한국의 이용자들에게 인사 한마디 해주세요.

[Brian] 한국의 여러분 안녕하세요. 저는 많은 분들이 오픈아이디를 이용하고 좋아하기 바랍니다. 또 오픈아이디 커뮤니티에 많은 분들이 참여했으면 합니다. 여러분이 다양한 사이트를 이용한다면 SSO가 매우 유용할 것입니다. 바라건대 전세계의 모든 사람들이 오픈아이디를 사용하기 시작할 때 한국이나 미국뿐 아니라 전세계에서 스팸 문제도 없어질 수 있게 될 것입니다. 저희는 한국에서 많은 분들이 오픈아이디에 관심을 가지고 있다는 점에 매우 기쁩니다. 더욱 많은 이용 바랄께요.

[David] 조금 덧붙이자면 저는 한국의 보다 많은 분들이 오픈아이디 커뮤니티의 대화에 참가하고 오픈아이디 관련 컨텐츠들을 번역함으로써 보다 많은 한국인들이 오픈아이디를 이해하고 사용할 수 있도록 도와주셨으면 합니다. 한국과 동아시아 모든 나라들로부터 보다 많은 참가 기대하겠습니다.

사용자 삽입 이미지
사진 왼쪽이 Brian, 오른쪽이 David입니다.


지금까지 고슴도치플러스 페블이었습니다.

Posted by 공장장

2007/04/21 17:22 2007/04/21 17:22


블로그 이미지

"좋은 기업을 넘어 위대한 기업으로 (“Good to great”, Jim Collins 저)"라는 책의 내용 중에 "고슴도치 컨셉 (Hedgehog concept)"이 라는 개념이 나옵니다. 현실에서 약삭빠른 여우와 왠지 우둔해 보이는 ..

- 공장장

Notices

Calendar

«   2009/01   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Bookmarks

Site Stats

Total hits:
350807
Today:
105
Yesterday:
525