CAPTCHA

Completely Automated Public Turing test to tell Computers and Humans Apart ("컴퓨터인간을 구분하기 위한 완전 자동화된 공공 튜링테스트"). 말 그대로 컴퓨터 시스템(보통은 웹사이트)이 지금 대하는 상대가 인간인지, 아니면 인간으로 위장한 컴퓨터 프로그램인지 확인하는 테스트로, 일반적으로 자동으로 대량의 도배글을 작성하거나 사용자 계정을 만드는 등의 원치 않은 사용을 막는 데 쓰인다.

CAPTCHA의 기본적인 아이디어는 인간은 쉽게 풀 수 있지만 컴퓨터로 풀 경우 복잡한 알고리즘이 필요한 문제들이 존재한다는 것이다. 이를테면 문자인식이나 음성인식 등이 이런케이스에 속하고, 이를 사용한 CAPTCHA는 이를테면 문자들에 적절한 이미지 효과들을 줘서 대부분의 이미지 처리 알고리즘이 적용되기 힘들도록 하면서도 읽을 수는 있도록 하는 것이다. 이 과정은 보통 인간의 특정 감각을 강력하게 테스트하기 때문에 해당 감각이 없는 장애인들에게는 접근성 문제를 불러 일으킬 수 있는데, 때문에 여러 개의 서로 다른 CAPTCHA 중 하나만 통과하면 인간으로 인식하는 것이 좋다. 일부는 아예 감각에 의존하지 않는 퀴즈를 사용해 인공지능자연어처리를 테스트하기도 하는데(이를테면 "구름 없이 맑은 날의 하늘 색깔은?") 이 경우 생성 자체가 힘들어서 방대한 테스트 셋이 필요하고 한번 뚫리면 대처도 어려워서 많이 쓰이지는 않는다.

CAPTCHA의 문제로는 여러 가지가 지적되는데, 일단 대강 대충 발로 만들어서 쉽게 뚫리는 구현들이 여럿 존재한다는 것이 하나인데1) 이건 reCAPTCHA가 많이 쓰이면서 어느 정도 해결된 상태이며, 다른 하나는 굳이 인간인지 구분 안 해도 될 일에 지나치게 많은 정보를 요구한다는 것이다. (이를테면 도배가 문제가 되면 CAPTCHA가 아니라 시간당 올릴 수 있는 글의 양을 제한을 두거나, 또는 글을 관리자 확인 뒤에만 보여 준다거나 해야 한다는 것.) 또한 CAPTCHA가 해결하고자 하는 문제에 대한 적절한 해결책이 아니라는 지적도 있는데, 단순히 돈을 받고 CAPTCHA를 풀어 주는 사람들만 있어도 값싸게 문제를 돌아 갈 수 있는 것이다. 이런 가능성은 이미 아마존메커니컬터크로 실용화된 적이 있고, 굳이 돈이 아니더라도 다른 방법으로 사람들이 CAPTCHA를 풀게 하는 건 어렵지 않다. 하지만 어쨌든 CAPTCHA는 비교적 간단하고 잘 정립된 방법론이라 CAPTCHA의 대안이 실용화될 때까지는 꽤 시간이 걸릴 것 같다.

바깥 링크

1) 실제로 여럿 깨졌고, 심지어 메가업로드의 CAPTCHA를 깨는 자바스크립트 구현이 공개된 적이 있다.

도쿠위키DokuWiki-custom(rev 9085d92e02)을 씁니다.
마지막 수정 2011-05-30 18:25 | 외부 편집기