2005-12-06

분산형 Identity 호환 규격, YADIS

YADIS의 탄생 배경을 설명하기 위해 YADIS 규격의 일부를 발췌합니다.

2005년 초, NetMesh는 분산형, URL 기반 personal digital identity 시스템으로써LID(Light-Weight Digital Identity)를 제안하고, 곧이어 Movable type의 Six Apart가 블로그 코멘트를 인증하기 위해 OpenID 규격을 제안했습니다.
이 두 시스템의 핵심 개발자들이 두 시스템이 상호보완적이다라는 것을 깨닫고, 두 시스템이 호환이 되도록 했습니다...
YADIS는 이렇게 탄생하게 되었고, 다음과 같은 설계 원칙을 따르고 있습니다.
  1. Fully decentralized, and no one point of control
  2. Let many (interoperable) flowers bloom
  3. URLs as identifiers
  4. REST-ful and easy to use for developers
YADIS를 identity 시스템으로 채택한 사이트에서 사용자와 웹사이트는 다음과 같은 시나리오를 사용합니다.
  1. 웹 사이트는 사용자에게 "My URL"이라는 text field를 보여줌으로써, YADIS-enabled identifier를 요구한다.
  2. 사용자는 "My URL" text field에 YADIS-enabled URL(LID 또는 OpenID URL)을 입력한다.
  3. 웹 사이트는 YADIS Capability Discovery Protocol을 사용해서 사용자가 제시한 identifier를 사용하는 데 어떤 YADIS-compatible identity protocol이 필요한 지 결정한다.
  4. 사용자를 인증한 후에, 웹 사이트는 사용자가 제시한 YADIS URL로부터 사용자 프로필을 얻는다.
YADIS와 비슷한 움직임으로써 Microsoft의 identity metasystem을 언급할 수 있겠습니다. 두 시스템은 철학에 있어서는 굉장히 비슷하지만, 구조에 있어서는 굉장히 상이합니다. MS의 identity metasystem은 아래 그림처럼 WS-*, SOAP 등을 사용합니다.


하지만, YADIS는 간단한 서버 기반 스크립트만으로 자신만의 identity system을 구축할 수 있습니다. 스스로 구축할 수 없는 경우에는 물론 호스팅하는 것도 가능하구요...

OpenID의 경우에는 typekey와 이미 연동이 되어 있으며, 스스로 구축하기 어려운 사용자를 위해 URL identifier를 위임하는 기능까지 갖추고 있습니다. Six Apart가 grass-root 접근 방법으로 movable type을 성공시켰던 것처럼, typekey를 de facto identity system으로 만들 수 있을까요?

technorati tag: , , ,

댓글 없음: