CAPTCHA 사용을 중단하세요. Entropy 측정을 시작하세요.

발행: (2026년 2월 9일 오전 09:26 GMT+9)
5 분 소요
원문: Dev.to

Source: Dev.to

CAPTCHAs의 문제점

2024년 말 ETH 취리히 연구원들은 Breaking reCAPTCHAv2를 발표했으며, 최신 YOLO 기반 비전 모델이 구글 이미지 CAPTCHA를 100 % 정확도로 풀 수 있음을 보여주었습니다. “I am not a robot”(나는 로봇이 아니다) 체크박스는 사실상 봇을 위한 환영 매트가 되었습니다.

2025년 Imperva Bad Bot Report에 따르면 자동화된 트래픽이 **전체 인터넷 활동의 51 %**를 차지하고 있어, 인간 사용자는 자신들의 네트워크에서 소수에 불과합니다.

현재의 반응—“Proof of Personhood”(신분증이나 얼굴 스캔)—은 디스토피아적인 과잉 교정입니다. 우리가 진정으로 필요로 하는 것은 누구인지(정체성)보다 무엇인지(생물학)를 검증하는 방법입니다.

인간 엔트로피 측정

인간의 상호작용은 본질적으로 잡음이 섞여 있습니다:

  • 키 입력 간격은 절대 완벽하게 규칙적이지 않습니다.
  • 사용자는 키를 굴리거나, 생각하기 위해 멈추고, 흔히 쓰이는 이중 문자(예: “th”, “er”)를 더 빠르게 입력합니다.

이러한 특성은 키스트로크‑다이내믹스 서명을 형성하며, 이는 봇이 성능 저하 없이 모방하기 매우 어려운 행동 생체인식입니다.

isHumanCadence 라이브러리

isHumanCadence는 내용이 아닌 키 입력 타이밍을 분석하는 가볍고 프라이버시‑중심적인 JavaScript 라이브러리입니다. 브라우저 내에서만 실행되며 서버로 데이터를 전송하지 않고, 오직 어떻게 입력했는지만을 알게 됩니다.

작동 원리

라이브러리는 네 가지 주요 생물학적 제약을 측정합니다:

MetricDescription
Dwell Time키가 물리적으로 눌려 있는 시간. 인간은 매번 정확히 50 ms로 탭하지 않습니다.
Flight Time한 키를 놓은 순간부터 다음 키를 누르기까지의 간격.
Rollover Rate이전 키를 놓기 전에 다음 키를 누르는 겹침 현상. 봇은 보통 순차적으로만 입력합니다.
Entropy타이밍 델타의 통계적 분산.

“플리커링”(사용자가 멈출 때 점수가 급격히 변하는 현상)을 방지하기 위해 Schmitt Trigger와 히스테리시스가 사용됩니다:

  • Human – score ≥ 0.70
  • Unknown – 0.60 ≤ score < 0.70
  • Bot – score < 0.60
// Example usage – evaluate result
if (result.score >= 0.70) {
  console.log(`Score: ${result.score}`);               // 0.0 (Bot) → 1.0 (Human)
  console.log(`Status: ${result.classification}`);    // 'bot' | 'human' | 'unknown'
}
// Start listening for keystrokes
cadence.start();
console.log('isHumanCadence: Listening for keystrokes...');

이 라이브러리는 대상 요소에 비침해적인 리스너를 부착하고 performance.now()를 사용해 서브밀리초 정밀도를 제공합니다.

제한점 및 향후 방향

  • 생성형 키스트로크 – 향후 AI 에이전트가 방대한 인간 타이핑 데이터셋을 학습해 의도적으로 “실수”를 만들어 엔트로피를 흉내낼 수 있습니다.
  • 클라이언트‑사이드 신뢰 – 측정이 브라우저에서 이루어지기 때문에, 의도적인 공격자는 환경을 위조할 가능성이 있습니다.

isHumanCadence는 만능 해결책이 아니라, 비밀번호 대신 리듬으로 인간을 인식하는 필터를 구축하기 위한 대화의 시작점입니다.

결론

웹은 AI‑생성 노이즈에 잠겨 있습니다. 진정한 인간 간의 연결을 위한 공간을 보존하려면, 정적인 신원 확인에서 벗어나 실제 사용자의 복잡하고 불완전한 리듬을 포착하는 동적 행동 생체인식으로 전환해야 합니다.

👉 GitHub:

0 조회
Back to Blog

관련 글

더 보기 »

노트북 GPU의 숨겨진 힘을 풀어내기

개요 대부분의 최신 노트북은 강력한 GPU를 탑재하고 있지만, 이를 충분히 활용하지 못하는 경우가 많습니다. 소프트웨어 엔지니어로서 로컬 LLM을 실행하든, 데이터 사이언티스트이든...