
- CAPTCHA는 사람과 봇을 구별하기 위한 자동화된 테스트 기술. 자동 가입, 스팸, 무차별 대입 공격 등을 방지하는 데 사용
- 초기에는 왜곡된 문자를 입력하는 텍스트 방식이 주류였지만, 딥러닝과 OCR 기술 발전으로 96% 이상 뚫리면서 한계가 드러남
- 최근에는 사용자 행동 패턴을 분석하는 방향으로 진화 중
- 프로세스는 랜덤 문자열 생성 → 이미지 변환 → 사용자 검증 순으로 진행
랜덤 문자열 생성 : Python의 random 모듈로 알파벳 대소문자와 숫자를 조합한 무작위 문자열 생성. 단순 무작위 시도 방지 용도로는 충분하지만 금융 인증 등 고보안 용도로는 적합하지 않음
이미지 변환 : Pillow 라이브러리로 문자열을 이미지로 변환한 뒤 텍스트 회전·굴곡, 노이즈 추가, 배경 패턴 삽입 등으로 왜곡 처리. OCR이 쉽게 읽지 못하도록 하는 게 목적
사용자 검증 : 왜곡된 이미지를 사용자에게 보여주고 문자를 입력받아 원본 문자열과 비교. 일치하면 인증 통과
최신 CAPTCHA 흐름 : 텍스트 방식의 한계로 인해 다음 방향으로 발전 중
- reCAPTCHA : 구글이 개발. 사용자 행동 패턴 분석으로 체크박스 클릭만으로 인증 가능
- hCaptcha : 개인정보 보호 중심. 테스트 데이터를 AI 학습에 활용하면서도 개인정보는 보호
- AI 기반 백그라운드 인증 : 마우스 움직임, 키보드 패턴, 세션 정보 등을 분석해 사용자 여부를 자동 판단