컨텐츠 본문

사람과 컴퓨터를 구별하는 보안기술 ‘캡차(CAPTCHA)’


웹사이트에 회원가입을 할 때 보안상의 이유로 문자나 숫자 조합을 입력하는 칸을 종종 볼 수 있는데요. ‘캡차(CAPTCHA)’라고 불리는 이 프로그램은 문자를 구부러트리거나 왜곡해 컴퓨터 프로그램이나 봇(Bot)이 구별할 수 없는 텍스트를 만들어 내는 보안기술입니다.  



일상에서 자주 쓰이는 ‘캡차’ 



캡차는 ‘컴퓨터와 인간을 구분하는 자동화된 튜링 테스트(Completely Automated Public Turing Test To Tell Computers and Humans Apart)’의 약자인데요. 온라인 상에 반복적으로 광고성 게시물을 등록하거나 비밀번호 해킹을 위해 무작위로 텍스트를 입력하는 자동 프로그램을 막기 위해 만들어졌습니다.  


캡차가 처음 사용된 것은 1999년 미국에서 진행된 한 투표에서 시작되었습니다. 카네기 멜론 대학 소속 연구원들이 온라인 부정선거를 막기 위해 만든 프로그램이었는데요. 



보안을 강화한 다양한 캡차의 등장 



웹사이트 사용자가 사람인지 기계인지를 구분하기 위해 개발된 캡차는 광학 문자 판독 기술 (Optical Character Recognition, 이하 OCR)과 연관이 있습니다. OCR은 인쇄되거나 손으로 쓰여진 텍스트를 컴퓨터가 판독할 수 있도록 디지털로 변환하는 기술인데요. 사람의 경우 약간의 주의를 기울이면 캡차가 제시하는 왜곡된 단어나 숫자를 판독할 수 있지만 컴퓨터는 할 수 없습니다. 




하지만 언젠가부터 스팸봇이 보이는 문자를 그대로 받아 적는 텍스트 캡차를 통과하기 시작했습니다. 이에 간단한 연산을 묻는 등 난이도를 높여 보안을 더욱 강화했는데요. 하지만 글을 모르는 사람들이나 난독증, 시작장애를 가진 사람들은 풀기 어렵다는 문제점이 대두되면서 음성으로 알파벳과 숫자를 읽어주는 방식의 오디오 캡차도 등장했습니다.   



전세계인의 집단지성으로 고문서를 복원하는 ‘리캡차’ 



이처럼 캡차가 활성화되고 난이도가 향상됨에 따라 인터넷 사용자들은 회원가입, 로그인을 하기 위해 전보다 많은 시간을 소비하게 되었는데요. 개발자들은 캡차 입력에 소요되는 사람들의 노력을 좀 더 유용하게 사용할 수 있는 방법을 고민하게 되었습니다.   


이렇게 개발된 것이 고문서 복원 작업에 캡차를 활용하는 ‘리캡차(RECAPTCHA)’입니다. 리캡차는 OCR이 번역하기 어려운 고문서의 단어를 캡차에 적용해 사람의 눈으로 단어를 해석하게 하는 것인데요.   


리캡차는 컴퓨터가 답을 알고 있는 단어와 컴퓨터 판독이 어려운 고문서의 단어, 총 두 개의 코드를 제시합니다. 컴퓨터가 알고 있던 단어를 제대로 입력하면 사람으로 구분하고, 사람으로 구분된 사용자가 다시 한번 고문서의 글자를 판독하면 그 결과를 통해 고문서를 디지털화하는 것이죠.  


기존의 방식들은 봇이 아니라는 사실을 증명하기 위해 글자를 입력하거나 체크박스를 체크하는 등의 특정 행동을 요구했는데요. 최근 업데이트된 리캡차는 마우스 움직임 같은 웹사이트 이용자들 패턴을 보고 자체적인 점수를 매겨 일정 점수를 넘으면 자동으로 인증하는 방식을 사용하기도 합니다.   



지금까지 우리는 사람과 컴퓨터를 구분하는 보안기술 캡차 덕분에 해킹의 위험을 피할 수 있었는데요. 인공지능의 발달에 따라 봇과 캡차의 치열한 싸움이 예상되는 가운데, 앞으로 더욱 진화할 캡차 기술을 지켜봐야 하겠습니다.   






댓글