네가 인간이냐 기계냐? - CAPTCHA by object

수학에 가우스, 오일러, 아벨이 있다면 전산학에는 튜링, 다익스트라, 크누스가 있을 것이다. (순전히 제가 지어낸 비유입니다. 타잔도 있고 폰노이만도 있고...) 전산학의 노벨상이라고 불리는 상이 튜링 어워드일 정도로 튜링 선생님께서는 실로 대단한 업적을 이룩하셨다.

튜링은 20세기 초, 컴퓨터라는 것이 전무한 시절, 계산을 해주는 일반적인 기계를 정의하고, 여기에서 어떻게 주어진 문제를 푸는가를 최초로 정형화하고 이론화한 사람이다. 지금 내가 컴퓨터에서 이렇게 블로깅을 할 때, 컴퓨터 내에는 1초에 수십 억번의 산술 및 논리적인 계산이 이루어진다. 이러한 작은 연산들이 모여 거시적으로 게임도 하고 인터넷도 하는 것이다.

튜링은 컴퓨터와 인공지능을 언급하면서 튜링 테스트라는 것을 정의하였다. 약간 현대식 버전으로 각색하면 이렇다. 당신이 지금 두 명의 사람/컴퓨터와 채팅을 한다. 대화를 계속 주고 받을 때, 만약 당신이 누가 사람이고 누가 컴퓨터인지 모른다면, 이 때 컴퓨터는 인간과 동등하게 간주한다고 볼 수 있다.

즉, 튜링 테스트는 기계의 지능을 테스트하여 기계와 사람을 구분하는 테스트다.



아마 여러분께서는 이러한 것을 한번은 봤을 것이다.
구글에서 따온 장면인데, 상대방의 이메일 주소를 알려면 저렇게 주어진 문제를 풀어야 한다. 저렇게 문제를 푸는 이유는 스패머때문이다. 이메일 무단 수집기가 자동으로 이메일을 수집하는 것을 막기 위해서, 반드시 사람일 때만 이메일을 알려줘야한다. 따라서 이번에는 튜링 테스트와 반대로, 어떤 문제를 줘서 기계인지 사람인지를 알아내는 것이 이러한 문제의 목적이라 할 수 있다.

저런 비비꼬아진 글씨를 조합해서 질문을 던져 사람인지 확인하는 시스템을 캡차 CAPTCHA라고 한다. CAPTCHA는 Completely Automated Public Turing test to tell Computers and Humans Apart 라는 아주 긴 제목의 약어이며 미국 카네기 맬론 대학교에서 만든 시스템이다.

일반적인 컴퓨터의 문자 인식 능력으로는 저렇게 복잡하게 꼬아지고 배경이 복잡한 경우에는 제대로 인식하지 못한다. 즉, 이런 기술적인 한계를 이용해서 사람만이 풀 수 있는 문제를 내는 것이 그 목적인 것이다.



그러나 캡차가 나온 것도 2000년, 그 사이에 컴퓨터가 얼마나 똑똑해졌는지 보자. 벌써 2003년에 컴퓨터는 이 정도로 캡차를 뚫을 수 있었다. [2]
이렇게 나가다보면 언젠가 캡차는 뚫릴 것이고, 이에 대항한 또 다른 인간/기계 구분 방법이 나올 것이다. 이렇게 나가다가 결국 인공지능이 인간 수준까지 발전한다면 그 때는 어떻게 할까?



재밌는 캡차 중 하나, 왜 힘들게 덧셈을 시켜. 5+3도 계산기를 누르는 나로서는 여간 벅찬 문제가 아닐 수 없다.
[1] http://en.wikipedia.org/wiki/CAPTCHA
[2] http://www.cs.sfu.ca/~mori/research/

덧글

  • 악덕지주 2006/10/22 15:05 # 답글

    다음넷의 테스트는 잠깐 논란이 있었죠.
    산수 못하는 사람은 카페 가입도 하지 말라는 거냐...
    라는;;
  • object 2006/10/22 16:08 # 답글

    그러게 말입니다. 그래서 제가 다음을 싫어하죠 :)
  • 머스타드 2006/10/23 12:07 # 답글

    오호.. 이런 테스트를 그냥 단순하게 생각했었는데 가만보니 역튜링테스트 쯤 되는 것이었군요. 재미있어요. ^^;
  • 커리 2006/10/23 12:57 # 답글

    허헐[.....] 덧셈인가. 저것도 뚫리고나면 이제 곱셉이겠고 더 가면 제곱 나오겟군요.
    .....13x13단 외워야 하는 날이 올지도.
  • Jjoony 2006/10/23 13:00 # 답글

    이오공감 타고 들어왔습니다..^^;
    저런거 볼 때마다 별 생각없이 지나갔는데 포스트를 보고 생각해보니 튜링 테스트를 응용한 거였군요..
    그냥 이론적인 거라고만 생각했지 저렇게 응용되고 있을 줄은..^^;
    그나저나 산수 틀렸습..(도망간다)

    ....초면에 죄송합니다..(__)
  • object 2006/10/23 13:19 # 답글

    - 네.. 덧셈 틀렸습니다 -_-; 그 당시 덧셈 틀린 것이 분해서 캡쳐해둔 것이죠.
    - 맞습니다. 이것은 reverse turing test 입니다.

    - 사실 이 정도 수준의 캡차만 있어도 상당한 효과가 있을 것입니다. 캡차는 마치 과속 방지턱과 같은 존재입니다. 100% 과속은 막지 못하지만 방지턱 부근에서는 속도를 확실히 줄여줄 수 있죠. 스패머가 만약 캡차를 뚫는 알고리즘으로 덤벼든다고해도 이것은 많은 계산량을 요구할 겁니다. 따라서 아주 좋은 컴퓨터 및 새로운 인공지능이 나오지 않는 이상, 스패머가 수집할 수 있는 이메일량은 현저히 줄어들 것입니다. 거기에 결국 목적이 있는 것 같습니다.
  • 민츄_ 2006/10/23 13:40 # 답글

    이오공감타고 왔습니다:-)
    오호, 이런게 다 역사가 있었고 점점 발전된 것이로군요 -
    어느날부터인가, 다음 카페에 가입할때 저런게 생겨서 신기해했었다죠.
    재밋는 이야기 잘 읽고 갑니다^ㅡ^
  • object 2006/10/23 16:43 # 답글

    당장에 트랙백 주소를 공개가 아닌 저런 캡차로 한번 보호를 하면 스팸 트랙백 완벽히 막을 수 있습니다. 그런데 블로그 글의 트랙백이 바로 공개가 안되어도 괜찮은 건지는 저도 블로그 초보라 잘 모르겠습니다.
  • 타네시안 2006/10/23 18:04 # 답글

    오호. 이런 원리였군요. 저는 이게 왜 있는지 궁금했었는데 궁금증 풀고 갑니다. ㅋ
  • 혜진 2006/10/23 20:14 # 답글

    힐베르트 아저씨도 굉장한 사람이었죠.
    수학은 미친 사람들이 너무 많은 것 같아요.-_-
  • 매치어 2006/10/23 20:39 # 답글

    이오공감을 타고 왔습니다~

    위에서도 지적했지만 62+99=161 (...)

    인간과 컴퓨터의 대결은 나날이 다양해지는군요... 글자 휘어놓고 '이게 무슨 글자이게?'하는 건.. 결국 시간이 지나면 다 뚫릴 것 같고, 2차적인 것으로 가지 않을까요? 글자를 찾는다고 해도
    철수는 500원짜리 빵을 먹고 주인 아저씨께 '오늘은 외상해 주세요~'이라고 말했다. 문제 : 철수는 얼마를 지불하였는가.
    ... 같은 게 결국 남지 않을런지요. ^^
  • 작무군 2006/10/23 21:02 # 답글

    ... 저도 이오공감 타고왔습니다...

    마치 중세의 검과 갑옷의 악순환같군요-_-;(점점 대형화, 중형화, 둔기화, 철벽화) 이 순환이 계속 되다간 컴퓨터보다 머리나쁜 사람은 정상적으로 어디 가입하는것도 힘들어 질지도...(...)
  • 헬라 2006/10/24 03:05 # 답글

    아무리 락이 강력하게 걸려 있다고 해도 크랙을 만들어 내는 사람들이 있게 마련이죠. 아이러니하지만, 그것이 또 기술력을 발전시키는 요소 중에 하나란 것이죠. 만약 지식베이스의 지식 획득에 확립된 방법이 탄생한다면 더이상 튜링 테스트를 포함한 각종 방어 장치들은 무의미해질 지도 모릅니다. (덜덜덜...)
  • Mask 2006/10/24 04:41 # 답글

    1+2*3 같은걸로 테스트하면 조금 특별-_-한 부류도 걸러 낼 수 있겠네요;;
  • 姜氏世家小家主姜世振 2007/05/28 11:59 # 답글

    전 두자리수의 곱셈도 본적이 있습니다.

    '가입 안해!' 그러고 나왔지요. -_-
    내용은 100% 랜덤인가봐요. ;;;;;
  • Thor 2010/07/08 01:03 # 삭제 답글

    http://yaroslavvb.blogspot.com/2007/12/russian-captcha.html
    러시아의 자동가입 방지가 최강이죠.
댓글 입력 영역