Archive for January, 2007

Python 으로 다음 인증 API test.

Python 으로 간단하게 Daum 인증 API 를 테스트 해보려고 다음과 같은 코드를 “일단 작동하게”
원칙에 입각해서; 간단히 만들어 봤다. 보안문제로; 인증키나 기타 키들은 모두 일부러 예제사이트의 것으로 바꿔놨다. 혹시 테스트해 보실분은 자신의 것으로 사용하시라.


#!/usr/bin/python

import sys
import sha
import time
import hmac
import urllib
import random

LOGIN_URL = ‘https://apis.daum.net/account/login.daum’
APID = ‘ba8c53ab7970189d93a7′
APPKEY = ‘4125603e35da5d8820b07dc7b19050dbc838336b’
SIGNKEY = ‘8e4d0a924c60e65ccc38b7f9958f37ff5105f8e1′

def daum_sign_url_hmacsha1(url, signkey):
ts = time.strftime(’%Y%m%d%H%I%S’, time.gmtime())
nonce = ‘’.join([ ‘%02x’ % r for r in [random.randint(0,255) for x in range(8)]])
surl = url + ‘&ts=%s&nonce=%s’ % (ts , nonce)
return surl + ‘&sigalg=hmacsha1&sig=%s’ % hmac.new(signkey,surl, sha).hexdigest()

if __name__ == “__main__”:

if len(sys.argv) < 2:
print “usage: %s returl” % sys.argv[0]
sys.exit(0)

data = {’apid’: APID, ‘apikey’: APPKEY, ‘returl’: sys.argv[1]}

loginurl = LOGIN_URL + ‘?’ + urllib.urlencode(data)

print daum_sign_url_hmacsha1(loginurl, SIGNKEY)

만들어진 signed url 을 브라우저 주소창에 넣고 로그인폼이 나오기를 기대하며 엔터를 누른순간, 다음과 같은 에러를 받았다;;

apierror
무엇이 잘못된 것일까..

1. apikey 별로 sign key 가 발급되는데 내가 번지를 잘못찾아서 다른 apikey 를 받았다. (검색 쇼핑 블로그 여행중에 어느것을 받아야할까. )
2. referer check 를 한다. (그런데 에러코드는 sign 이 틀렸다는데?)
3. returl 이 sign 되기전에 urlencode 되면 안된다?
4. python hmacsha1 keyed hashing 에 문제가 있다;;;
5. sigkey 라는 숨겨진파라미터가 있다;;;
6. 내가 발급받은 signkey 가 아직 다음 시스템에 등록이 안됬다?

음 결과가 궁굼하신분은 아래 다음 API 포럼의 답변을 기대하시라.

http://dna.daum.net/forum/viewtopic.php?t=63
덧붙임:

결론은 -_-;

내가 바보같이 hmac.new 에 사용될 signkey 를 hex 코드 그대로 사용했다”

입니다. signkey unhexify 하니까 아주 잘됩니다. 그런데 이번에는 인증토큰을 얻는 과정에서
unregistered apikey 에러가 나서 열심히 원인 찾고 있습니다. 포럼에도 업데이트 했구요.
아시는 분은 조언좀 부탁드립니다. ^^

OpenID 그리고 Phishing

이제는 퇴사한 야후직원이자 django 프레임웍의 공동 창시자인 Simon Willison 이 자신의 블로그에 “Solving the OpenID phishing problem” 이라는 포스트를 통해 OpenID 와 Phishing 문제에 대해 이야기를 했다.

아시다시피 Phising Attack 이라는 것은 교모하게 위장된 로그인 페이지를 통해 사용자를 속이고 낚인 사용자는 무의식적으로 패스워드를 입력하여 자신을 위험에 빠뜨리게 되는 누군가 한번은 겪어 봤을 만한 요즘 아주 흔한 abuse 패턴이다. 야후는 얼마전부터 “personalized sign-in seal” 을 통하여 이러한 문제들에 대한 해결책을 사용자에게 제시하고 있다

아주 악랄한 사용자는 OpenID identity provider 의 로그인폼을 그대로 흉내냄으로서 전형적인 man-in-the-middle-attack 을 가할 수가 있다는 점이 지적되었다. Ben Laurie 는 OpenID: Phishing Heaven” 를 통해 이런 문제를 보다 자세히 다루고 있다.

OpenID 를 통해 사용자가 Identity Provider 페이지로 redirect 되는 경우는 1. 이미 로그인은 되었지만 해당 서비스를 한번도 사용한적이 없어서 confirmation 이 필요한 경우 이거나, 2. 이미 로그인도 되었고 confirm 도 되어서 redirect 할 필요가 없는 경우이거나, 3 로그인이 필요하여 identity provider 의 로그인 페이지로 redirect 되는 경우의 세가지 중에 하나일텐데 보통 attacker 들은 3번 경우를 노리게 된다.

Simon Willison 이 제안하는 이러한 경우의 Identity Provider 들의 대처법은 다음과 같은 메시지를 사용자에게 보여주는 것이다.

To log in, please navigate to login.example.com. The page your are currently viewing should contain no links; if there are any links or this text is changed in any way you may become a victim of online identity theft.

즉, Identity Provider 는 sign-in redirect 에 대해서 로그인 폼을 바로 보여줘선 안된다 는 것이며 대신 사용자에게 귀찮지만 직접 지정된 주소로 navigate 하라고 요청하라는 것이다. (얼마나 많은 사람이 여기서 귀찮음을 느끼게 될지는 여러분의 상상에 맡기겠다.;;) 하지만 개인적으로 나는 야후의 personalized sign-in seal 이 훨씬더 효율적인 해법으로 보인다. (팔이 안으로 심하게 굽었다;;)

Jeremy 가 “The Tipping Point for OpenID” 에서 말한대로 이제는 누군가 big-player 가 OpenID 에 뛰어들때가 된 것 같은데. 모르겠다 아직 해결해야 할 난제가 많은것 같아 보이기도 하고…

World Explorer 그리고 태그맵.

일전에도 한번 소개한 “Flickr geotagging 을 이용한 attraction map” 에 이어서 이번에 야후! 버클리랩에서

이것을 본격적으로 flickr geotagged photo 와 yahoo map 을 이용해서 World Explorer 라는 이름으로 내놓았다

백문이 불여일견이다. 한번 해보시라.

코멘트 달기에 OpenID 를 사용할 수 있도록 했습니다.

openid

코멘트 달기에 OpenID 를 사용할 수 있도록 하기 위해서 OpenID Comments for Wordpress 플러그인을 설치했다.

어떤 러시아 블로거가 Dan Huntley 의 원작 플러그인에 여러가지 부분을 추가한 버전 이라는데 이름을 못읽겠다. -_-;

0.9.0 버전 이후부터는 내부적으로 OpenID Server 가 구현되어있어서 자신의 블로그 사이트를 바로 identity 로 사용할수 있다고 한다.

http://updong.net/author/nickname 식으로 사용이 가능하다는 이야기 인데… 귀찮아서 나는 그냥 만들어 놓은 http://kwryu.myopenid.com/ 를 사용할 생각이다. (myid.net 은 어제만 해도 가입 링크가 클릭이 안 되었었는데 지금은 어떤지 모르겠다)

여러분도 자신의 OpenID 를 사용해서 코멘트를 날려 보시라~

우리가 할일은…

pyramid
우리가 할일은 이 피라미드 아래로 기술을, 정보를 밀어 내리는 일이다.

시작을 잊지 않았다면, 트레일러 안의 두 청년이 꿈꿨던 일들도 이런일이다. 누가 웹에서 정보를 찾을수 있을 꺼라고 상상이나 했는가. 트럼펫 윈삭에서 모자익 띄울때만 해도 나는 상상도 못했다. 리눅스를 학원에서 가르치고 기업에서 쓰게될줄 누가 상상이나 했나. 내가 디스크 수십장 갈아끼우면서 슬랙웨어 깔때만 해도 상상도 못했다. 대체 언제부터 웹에서 돈을 벌기 시작했나…

사용자는 따라올 준비도 안 되어있는데 혼자 앞서간다는 그런말은 자만이다… 잊지말자.

FutureCamp 후기

어제 서울대학교병원 암연구소에서 열린 FutureCamp 에 다녀왔다.

futurecamp

생각 보다 많은 분들이 참석해 주셨고. 만나 뵙고 싶었던 많은 분들을 직접 볼수 있어서 정말로 좋았다. 하지만 시간이 촉박하여 긴 대화를 나누기는 힘들었다. 휴식시간도 거의 없었고. 행사자체가 7시를 훨씬 넘은 시간에 끝나서 다른 약속 때문에 도저희 뒷풀이에도 참석할 수가 없었다. 너무 아쉬웠다.

게다가 행사 시작 자체도 조금 늦어진 데다가 발표자 분들 대부분이 주어진 10분이라는 시간을 훨씬 초과해서 발표를 해 주셔서 마지막 세션들이 진행될 무렵에는 꽤 많은 참가자 분들이 이미 퇴장해 버린 상태여서 뒤쪽에 발표하시는 분들은 상당한 불이익을 받게 되었다.

사실 이전의 BarCamp 동영상을 보고 작은 세션별로 나뉘어서 진행될 것을 예상했었다. 하지만 장소도 여의치 않아 보였고 너무 소규모로 나뉘어지는 것 보다는 다같이 나눌수 있는 부분을 위해서 주제별로 나뉘지 않고 하나로 진행 하였다고 하나 결과적으로는 학술 세미나에 온것과 같은 분위기가 연출되어 이전 BarCamp 의 분위기를 기대한 나로서는 상당히 아쉬웠다. (게다가 불도 꺼주셔서 효과가 배가가 되었다.)
하지만 많은 분들이 정말로 열정적으로 발표해 주셨고 그러한 부분이 더욱도 발표당 시간을 길어지게 했는 지도 모르겠다. 역시 분산화가 집중화보다는 훨씬 나은 결과를 보여준다.

4번째 세션이 시작될 무렵 시간은 6시를 넘어서고 있었고. 결국 4번째 세션과 나의 발표주제가 속해 있었던 “비즈니스와 미디어II, 소셜네트워크” 는 각 발표자에게 5분의 단축된 시간이 주어지게 되었다. 사실 이미 나는 계속 된 발표와 점심도 못먹은 탓에 이미 체력적으로는 바닥인 상태였었다, 게다가 지긋지긋하게 떨어지지 않고 있었던 감기덕에 몸상태가 거의 발표가 불가능한 지경이기도 했지만, 어쨌든 전종홍님의 다른분들께 양보하실 분들은 양보해 달라는 말을 듣고는 고민 끝에 다른분 들을 위해 발표를 양보했다.

하지만 마지막 발표자 분이 10분이 훨씬 넘는 시간을 마음 푹놓고 종료예상시간인 7시 20분을 훨씬 넘겨 발표하시는 것을 보고 곧바로 후회했다. 총알 같이 발표하고 데모를 하고 내려오더라고 양보하지 말았어야 하는데… 역시 항상 느끼는 거지만 나는 선생님? 말씀을 너무나 잘 듣는다.

원래 나의 발표 주제는 “뭔가 집단지성에 관한것” 이었지만 사실 이건 처음 신청시에 발표주제를 정확히 생각하지 않은 상태에서 정한 두리뭉수리한 주제였고 실제 프레젠테이션 제목은

과연 “우리”는 2007년을 예측할 수 있을까? - PM2007

slide1

였다. 뭔가 2007 년을 예측하는데 소위 말하는 “집단지성” 이라는 것을 사용해 볼수는 없을까 하는 생각에서 출발했고. 집단지성을 말할때마다 빠짐없이 등장하는 James SurowieckiThe wisdom of crowd 에서 말한 집단이 현명해 지기 위한 세가지 조건들 (다양성, 독립성, 분산화)에 대한 이야기를 했다. 그리고 역시나 집단지성와 Prediction 을 말할때마다 빠짐없이 등장하는 Prediction Market 에 대한 나의 실험인 PM2007 사이트에 대한 데모를 보여주려고 했었다.

사실 FutureCamp에 모인 분들이 충분히 다양하다고 보기는 힘들다. 과장해서 말하면 소위 이바닥 분들이 모여서 미래에 대한 예측을 하는 것이다. 하지만 나는 더 많은 다양한 사람들이 2007 년에 대한 예측을 진행한다면 훨씬 더 나은 예측을 할 수 있을 꺼라고 생각했다. 그리고 그러한 많은 분들이 보다 독립적으로 예측을 하기 위해서는 적합한 환경을 만들어 주어야 하는데. Prediction Market 은 그러한 독립성을 보장하기 위한 많은 장치를 가지고 있다고 생각했다.

PM2007 프로젝트을 진행하면서 내가 얻고자 하는 것은 두가지다. 하나는 “2007년을 예측한다” 라는 복잡하고 어려운 문제에 대한 답을 집단지성이 찾아주는 모습을 확인해 보고 싶었고 다른 하나는 처음 Prediction Market 을 셋업 하려고 가능한 오픈소스 소프트웨어를 찾아보고 그나마 Zocalo 나 기타 유명한 오픈소스 프로젝트중 그나마 가장 설치와 사용이 간단했던 FreeMarket 을 사용했는데 이 프로젝트의 유일한 개발자가 law school 에 들어가서 더이상 프로젝트를 maintain 할수가 없단다. 방문해 보면 알 수 있듯이 사이트의 스킨이나 사용 편의성 면이나 거의 안습이다. 게다가 국제화 부분이나 이러한 집단 지성을 활용하는 웹 서비스의 기본인 API support등 분산화 지원 부분이 상당히 열악한 상태이다. 그래서 오픈소스에 공헌하는 차원에서 여러분과 함께 최대한 이 소프트웨어를 더 나은 모습으로 만들어 가려고 했고 그렇게 함으로서 기타 기업이나 단체나 prediction market 을 내부 의사 결정등에 사용해보고자 하는 분들이 보다 쉽게 사용해 볼수 있는 소프트웨어를 만들어가는데 도움이 되고 싶었다.

많은 분들이 이 글을 보고 자신들의 생각으로 다양한 prediction 을 제출해 주시고, 활발히 거래해 주신다면 그래서 나의 이러한 계획에 힘이 되어 준다면 정말로 행복할 것 같다. 그리고 이 프로젝트는 나의 개인 프로젝트이다. 내가 일하는 회사와는 아무런 관련이 없으니 그 부분은 걱정하지 않으셔도 된다.

여러분 대선이 다가오고 있습니다. PM2007 에는 정치 Category 도 있습니다. 정말 재밌지 않을까요? 한번만 도와주세요 열심히 해볼께요 ㅠ.ㅠ

plugaid

한국에서 소셜 북마크

이글은 deutsch님의 “한국에서 소셜 북마크(2)” 에 보내는 답글입니다.

독립적으로 생각할 수 있는” 부분이 오해를 드린것 같아 죄송하게 생각합니다.

여기서 “독립적으로 생각하다”의 의미는 다른 외부 영향력 없이 “스스로” 정말로 즐겨 찾을 “생각”를 가지고 해당 북마크를 저장했을까 라는 의문 때문에 쓴 말입니다. 결코 다수 사용자(PRAK 님이 말씀하신 “주류시장”의 사용자 라는 의미로 주류 사용자라고 썼지만, 네. 주류보다는 다수가 훨씬 자연스러운 표현입니다.) 분들을 깔보려는 의도는 없었구요. 다른분들의 부탁등의 의해 북마크를 하는 분들이 스스로 생각하는 능력이 결여되 있다고 비판하거나 조롱하고자 하는 바가 아니었습니다. 그분들은 서비스를 자신들이 원하는 방식으로 사용하고 있다는 측면에서 보면 독립적이라 볼수도 있지 않을까요? 그것이 원래 서비스가 목적한 바와 다르다고 해서 깔볼 이유도 없구요.
게다가 저 스스로도 용어 선택이 잘못된 것 같다고 반성하고 있습니다. ㅜ.ㅜ “동방신기”나 “이민영” 의 비유도 적절치 못했구요

한가지 예를 들면 현재 다음 뜨는 즐겨찾기 1위가 “쮸야(패션+헤어+뷰티+영화+선물포장)” 이라는 카페입니다. 카페를 방문해보시면 카페 주인 쮸야님이 “다음 즐겨찾기 에서 쮸야 즐겨찾기를 해주세요 ^^” 라고 공지사항에서 회원분들을 독려하고 있는 것을 보실수 있을 겁니다.

이런 상황이 적절한 예가 될수 있을지는 모르겠습니다만 “소셜 북마크를 쓸 줄 모르는게 문제라는 거죠.” 라는 생각에 저도 동의하는 입장으로 쓴 말입니다. 말씀하신 것처럼 소셜 북마킹과 집단지성의 가능성이 뗄레야 뗄수가 없는 관계이므로 서비스 초기인 현재로서는 쓸줄 아는 집단에 집중하는 것이 소셜북마킹이 소셜북마킹이 아닌 상태가 되는 것보다는 나아보여서 쓴 말이었습니다.

그리고 서비스를 “초기 수용자 집단에 한정된 성공은 성공이면서도 동시에 실패입니다.” 라고 하신 말씀은 저에게는 좀 이상하게 들립니다. 서비스를 오픈한지 3개월도 되지 않은 말그대로 “초기” 서비스가 초기 수용자 즉 말씀하신 얼리어댑터 집단으로 서비스를 한정하고 조금씩 범위를 넓혀가는 것을 과연 벌써 실패라고 볼 수 있을까요?

Apple Computer Inc. 가 사명을 바꾼댑니다.

Apple Inc. 로 -_-

드디어 아이폰이 공개됬네요.

iphone

3.5인치 화면에 OS X, Wi-Fi 에 멀티터치 스크린, 블루투스… 제 주위에서는 이거 한국에서 전화 안되도 사겠답니다. CN 님이 “모바일 메쉬업? 한국에선 불가능” 에서 쓰신것 처럼 아이폰에서 사파리가 뜨면 뭐합니까.. 통신사가 모든것을 쥐고 있는데

근데 진짜 전화 안되도 사고 싶습니다 -_-; 어떻게 안될까요?

야후가 MyBlogLog를 인수했다.

야후가 MyBlogLog를 인수했단다.

MyBlogLog

사실 여기저기 블로그 돌아다니면서 사람들 얼굴이 튀어나오는 위젯이 여기저기 많이 보였었는데 무심코 지나쳤었다.

기념으로 나도 sidebar 에 Recent Readers 위젯을 달아보았다. 재밌네…

본사가 이것으로 무엇을 하게 될지 궁굼하다… 일단 YDN 에도 추가됬네.

누군가 아무나 텅텅 비어있는 저 썰렁한 위젯의 첫 얼굴이 되어주세요 :)

마가린에서 온 메일

mail from mar.gar.in

마가린 가입후 메일주소를 바꿔도 인증메일이 오지 않아서 그냥 포기한 상태에서 날아온 답변.

나는 저 이 메일 한통에 감동받아서 “마가린에 북마크하기 버튼” 을 도구모음에 넣어버렸다.

2007년 겨울 남해여행

사실 올해는 여름휴가를 다녀오지 못했다. 이것저것 바쁜 일정과 기타 등등 일들로 인해 스케쥴 조정에 실패해서… 올해안에 쓰지 않으면 날아가는 휴가 일수를 모아보니 4일이나 되더라. 결국 이것을 크리스마스 이후의 한주에 모두 몰아서 24일부터 1월 1일 까지 10일짜리 긴 겨울 휴가를 다녀왔다.

찬희 외할머니댁과 친할머니댁도 다녀오고 그리고 저번에 집안일로 찾아간 동해안 고성에 이어서 이번에는 2박 3일 일정으로 남해바다의 멋진 풍경을 감상하고 돌아왔다.

우리가 묵었던 펜션은 남해군 삼동면 물건리 독일마을 꼭대기에 있는 물건항과 남해바다가 내려다 보이는 집이었다. 어쩌다 보니 저녁에 도작하게 되어서 다음날 펼쳐질 풍경을 상상하며 잠자리에 들었다.

channy

다음날 아침 잠에서 깨어 마을을 한바퀴 둘러보았다. 독일에 가본적은 없지만 마을이름처럼 독일의 한 마을에 와 있는 듯한 착각이 들었다.
german village

german village

german village

60년대, 차관을 담보로 서독에 팔려갔던 광부와 간호사들은 결국 고국을 잊지 못하고 이렇게 돌아와 여생을 보내고 있었다.

german village

물론 드라마 “환상의 커플”로 인해 이 마을의 명소가 된, 하지만 전혀 관리 안되고 있는 “장철수네 집” 도 빼놓지 않고 들러주었다.

german village

마을을 둘러본 후 주인 내외분이 추천해준 근처에 있는 나비생태공원 으로 향했다.

butterfly park

각종 나비표본과 나비의 한살이등 재미있는 것들이 많아 찬희가 참 좋아했다.

butterfly park

butterfly park

지도에 펼쳐진 세계 각국의 나비들 (찬희는 나미라고 발음한다 ^^)

butterfly park

butterfly park

온실은 휴관중이어서 살아있는 나비모습을 찬희에게 보여주지 못한것이 못내 아쉬웠다

butterfly park

근처에 있는 바람흔적 미술관도 재미있었다. 일종의 풍차를 이용한 설치미술 같은 것이었는데 마침 바람이 너무 많이 불어서 정말로 장관이었다.

windmill
windbell

windbell

windbell

펜션에 돌아왔더니 펜션 주인 아저씨의 특별 서비스로 2층의 좀더 넓직하고 아늑한 방으로 옮길수 있었다. 어찌나 넓던지.. 5-6인 가족이 와도 충분하겠다는 생각이 들었다. 물론 찬희가 제일 좋아했다 ^^

떠나기 전날밤에는 지난 한해를 돌아보면서 아내와 많은 이야기를 나눴다. 앞으로 연말에는 이렇게 경치좋고 공기좋은 한적한 곳을 찾아다니며 조용히 한해를 마감하는 것도 좋겠다는 생각이 들었다.

갑자기 쌀쌀해진 날씨와 강풍덕에 찬희가 감기에 들고 말았지만 이번 남해 여행 정말로 오래동안 기억에 남을 것 같다.

여러분도 환절기 감기 조심 하시고 새해 복 많이 받으세요~!

channy laughs