thoughts

오픈ID (OpenID)

ForceCore 2007. 8. 14. 12:27

http://www.openid.or.kr/: 좀 기술적인 설명.
http://blog.myid.net/3: 일반인들을 위한 쉬운 설명
http://idoo.net/?menu=factory&sub=notice&mode=read&no=473: 이것도 설명

오 -_- 이런 시대도 오는군 :D
메이저 포탈중 이것을 제공하는 것은 아직 daum 뿐.


OpenID개념이 생소한 때에 남들보다 앞 서 만들면

좋은 ID를 받을 수 있는 것이다! :D 아하하하!!!

 

이것을 알게 된 것은 제로보드XE때문.

대략 id.myid.net 이런 식으로 웹페이지를 (-_-)! 자신의 ID로 쓸 수 있다는건데 (!!!??)

웹페이지를 인증으로 쓴다니, 대체 어떻게 로그인을 한다는거지?

내 맘대로www.naver.com를 OpenID로 쓸 수 있을리 없잖아! 라고 생각할지도 모르겠다.

하지만 OpenID를 하나 만들어서 로그인 해보면 인증이 어떻게 되는지 금방 이해가 된다.

- 예를 들어보자... 가령... yyy.com에 접속을 했다고 하자.

- 나는 xxx.net에 가입을 해서 id.xxx.net을 open id로 발급 받았다고 하자.

- yyy.com에 접속한 뒤 OpenID를 넣는 곳에 id.xxx.net 이런 형식의 URL로 입력을 한다.

- 그러면 그 yyy.com은 id.xxx.net으로 입력된 URL을 좀 변경해서 그 URL을 통해 request를 보낸다.

- 만약 id.xxx.net에 미리 로그온 되어 있지 않으면 (자동 로그인이라든가, 세션이라든가) id.xxx.net의 로그온 과정을 밟게 된다. (브라우저가 거기로 이동한다.)

- 로그온에 성공하면, id.xxx.net에서는 yyy.com이 인증을 요구했다는 사실을 인지하고 그게 괜찮은지 사용자에게 물어본다.

- 하지만 id.xxx.net의 인증을 통과했다고 하더라도, OpenID란 것은 ID와 비번 인증만 통합된 것이다. yyy.com은 당신에 대해 좀 더 알고 싶다. 그리고 당신에게 보여주고 싶은 것과 요구하고 싶은 것도 있고.

- yyy.com이 당신에게 바라는 것... 즉 약관 따위의 것에 동의하면 id.xxx.net을 자신만의 데이터베이스에 사용자로 등록을 할 것이다.

- 또한 yyy.com이 메일링 리스트 같은 것을 위해서 id.xxx.net에 메일주소를 달라고 요구를 할 수도 있다. yyy.com은 이번에도 id.xxx.net에 그 정보를 물어보며, id.xxx.net은 그 정보를 yyy.com에 보내도 괜찮은지 물어볼 것이다.

- 동의하면 id.xxx.net은 yyy.com에 가입 완료!

 

필자가 직접 해본 바로는 대략 이랬다.

 

아직 OpenID가 되는 곳이 몇 없지만,
로그인 과정을 테스트를 해보고 싶으시다면
http://idoo.net
에서 해볼 수 있다.
idoo에선 여러가지 웹에 대한 실험이 활발한 것 같군...
(결국 포탈에서 주시하다가 좋은 것은 서비스 하게 되는 듯 -_-)

 

"메일주소 정보를 보낼까요?" 를 테스트 해보고 싶다면?
http://www.springnote.com/

 

OpenID는 사용자들의 ID들가 특정한 한 곳에 몰리지 않고 분산되어있다는 특징이 있다. (Decentralized.)

"어? myinfo.net에 가입한다면 거기엔 여러 사용자가 가입되어 있을텐데요?"

라고 질문할지도 모르겠지만, 그 decentralized되어있다는 것은 서버들이 여러개라는 뜻이다. 즉 어느 특정한 곳에서만 openid를 제공하는 것이 아니라는 것이다. 현재 메이저 포탈중 daum에서 openid를 제공하고 있다. 네이버는 아직이지만...;; 그리고 안철수연구소, myinfo.net등에서도 openid를 만들 수 있다.

 

 더욱이 이론상 원한다면 자신의 컴퓨터에 그 인증 시스템을 구축하는 것도 가능하다. 자신의 컴퓨터에 웹서버를 개설하고, 그 웹서버가 인증을 요구하는 곳에서 요구하는 request에 응답을 제대로 하면 된다. 물론 request에 잘 반응하는 시스템을 직접 만들기는 귀찮은 일이다. -_-;;; 게시판을 쓰기 위해서 게시판 프로그램을 직접 만들지 않고 제로보드를 쓰듯, 블로그를 쓰기 위해 블로그 프로그램을 직접 개발하지 않고 tatter tools를 쓰듯이 Open ID를 제공하는 프로그램도 나올 것이다 - 현재도 이미 있다. 그 중 하나만 예로 들어보면,http://siege.org/projects/phpMyID/


Decentralize된 것이 저주일지도 모르겠다.

이상한 서버 하나 개설해서 이상한 ID를 여러개 굴린다든지...

이런 경우는 특정 IP나, URL을 차단 처리해서 서버 자체를 막으면 되겠지.

스팸서버를 공유하는 날도 올지 모르겠다.

그리고 피싱을 하는 곳도 존재하니 그 또한 문제다. 피싱이 더 수월해지는 수가 있다.

 

다른 측면의 문제는 없을까? 한국의 환경에 비추어보자.

한국처럼 특수하게 "주민등록번호를 요구합니다"같은 세계에서 비표준적이라서

OpenID의 근본 spec에선 고려하지 않은 custom 정보는 어떻게 처리 될까나?

또한 메일주소라고 하더라도...

가령 특정 대학교만의 커뮤니티를 만들고 싶어서

"너의 xx대학 포탈 메일 주소를 입력해라."

는 것을 요구한다고 하자.

메일주소를 여러 개 입력해 놓거나,

아니면 주민등록번호처럼 custom 정보를 보내는 꼴이 또 된다.

음 -_-ㅋㅋ...

 

현재는 Open ID? 그거 먹는거유? 하는 사람이 많으니...

(필자도 오늘에서야 알았다.)

진화가 어떻게 될지 문득 궁금해진다.