title; More on CardSpace and XRI
link; http://xditao.blogspot.com/2007/03/more-on-cardspace-and-xri.html

XRI/XDI는 현재의 URI 기반 주소 체계 위에 추상화된 계층을 구축하려는 기술입니다. 가령 제 블로그 주소를 =ayo/+blog 로 표시하고, 메일 주소를 =ayo/+email 로 표시하는 것이죠. 나를 가리키는 식별자인 =ayo 만 기억하면 쉽게 모든 정보에 접근할 수 있는 서비스를 제공할 수 있습니다. 프라이버시와 보안을 고려하여 Link Contract라는 접근/공유 제어 기술 또한 포함되어 있습니다.

XRI/XDI를 CardSpace와 연계하여 사용한다면 어떨까요? Andy Dale은 CardSpace와 XRI/XDI로 연계로 인해 얻을 수 있는 3가지 이점을 소개합니다.

1. Portability

CardSpace은 한 컴퓨터에서만 사용할 수 있습니다. CardSpace가 아무리 다양한 인증 기술을 커버하고 많은 사이트에 도입되더라도, 언제 어디서나 사용할 수 없다면 큰 문제가 됩니다.
Higgins 프로젝트의 HBX Card Selector는 이 문제를 깔끔하게 해결해줍니다. 로컬 PC에 Card를 저장하는 것이 아니라 신뢰할 수 있는 사이트에 저장합니다. 사용자는 처음에(boostrap) 사이트 로그인을 하고, 사용자의 로그인을 요구하는 다른 사이트에는 i-name을 입력하고 Card를 선택하여 인증절차를 통과하는 시나리오가 가능합니다.

2. i-Name authentication

XDI는 데이터 교환에 관한 기술을 정의합니다. 그 데이터의 한 종류로 Assertion을 사용한다면 i-Name 인증이 가능합니다. Andy Dale은 EZI Broker라는 사이트를 활용하여 Managed Card를 생성하고, 사용자의 XRDS에 해당 내용을 추가하는 방법을 제안합니다. 사이트가 i-name을 resolution할 때, XRDS의 내용을 이용하여 Assertion의 발급 요청을 할 수 있습니다.

3. Pointers as Data

CardSpace는 사이트가 요청하는 데이터를 Managed Card로 직접 제공하거나 다른 사이트에 있는 데이터를 가져와서 제공하게 됩니다. 즉, 실제로 데이터를 전송합니다. 하지만 XRI/XDI는 데이터의 위치(Pointer)를 전달할 수 있습니다. Pointer는 C 언어의 포인터와 마찬가지입니다. 데이터가 아닌, 데이터가 저장된 위치 정보를 전달하는 것입니다. 위치 정보를 이용하여 실제 데이터를 해석(dereferencing)하는 작업이 필요한데, 이 때에 여러가지 보안 요소가 적용될 수 있습니다. XDI의 Link Contract가 사용되겠죠.

Portability와 i-Name Authentication은 확실히 좋을 것 같습니다. 3번은 약간 애매하네요. 직접 데이터를 전송하는 것보다 위치 정보를 전송하는 것이 더 좋은 경우가 무엇이 있을까요? Link Contract를 맺어, 한 번 위치 정보를 제공하면 RSS 처럼 정보가 수정될 때마다 PULL/PUSH 방식으로 제공하는 것이 그럴듯 합니다. 다른 이점은 무엇이 있을지 생각해봐야겠네요.

+ Recent posts