컴퓨터와 인간을 구별하기 위한 완전 자동화된 공개 튜링 테스트(CAPTCHA)는 개인용 컴퓨터가 가전제품 시장에서 추진력을 얻은 이후 인터넷 검색에 뿌리를 내리게 되었습니다. 사람들이 온라인에 접속하는 동안 웹 개발자들은 스팸 봇을 차단하는 방법을 모색해 왔습니다. CAPTCHA 서비스는 인간 활동과 봇 활동을 구별하여 봇을 차단합니다. 불행히도 그 방법은 정확하지 않습니다. 인간을 보호하기 위해 개발자들은 장애가 있는 사람들이 웹의 대부분에 접근할 수 없도록 만들었습니다.
CAPTCHA와 같은 인증 방법은 일반적으로 이미지 분류, 퍼즐, 오디오 샘플 또는 클릭 기반 테스트를 사용하여 사용자가 사람인지 확인합니다. 챌린지 유형은 잘 문서화되어 있지만 해당 논리는 대중에게 알려져 있지 않습니다. 사람들은 자신이 인간이라는 것을 "증명"하는 데 필요한 것이 무엇인지 추측할 수 있을 뿐입니다.
보안 문자란 무엇입니까? CAPTCHA는 챌린지-응답 테스트 형식을 취하는 역튜링 테스트입니다. 예를 들어 사용자에게 "계단이 있는 이미지를 모두 선택"하라고 지시하는 경우 난간, 진입로, 횡단보도에서 계단을 선택해야 합니다. 또는 눈에 보이는 텍스트를 입력하거나, 주사위 면의 합을 더하거나, 슬라이딩 퍼즐을 완성하라는 요청을 받을 수도 있습니다. 이미지 기반 CAPTCHA는 인터넷 사용자가 경험하는 가장 실망스러운 공유 경험을 담당합니다. 즉, 문제의 개체 중 아주 작은 부분만이 사각형 안에 있을 때 사각형을 선택할지 여부를 결정하는 것입니다.
방법에 관계없이 컴퓨터나 알고리즘은 응시자가 인간인지 기계인지 최종적으로 결정합니다. 이 인증 서비스는 reCAPTCHA 및 hCAPTCHA를 포함한 많은 파생물을 탄생시켰습니다. 이는 심지어 GeeTest 및 Arkose Labs와 같은 전체 회사의 탄생으로 이어졌습니다. Google 소유의 자동화 시스템인 reCAPTCHA에서는 사용자가 인증을 위해 "로봇이 아닙니다"라는 확인란을 클릭하도록 요구합니다. 위험 점수를 할당하기 위해 백그라운드에서 적응형 분석을 실행합니다. hCAPTCHA는 이미지 분류 기반 대안입니다. 다른 인증 방법으로는 다중 요소 인증(MFA), QR 코드, 임시 개인 식별 번호(PIN), 생체 인식 등이 있습니다. 그들은 도전-응답 공식을 따르지 않지만 근본적으로 유사한 목적을 수행합니다. 이러한 파생물은 원본보다 더 나은 기능을 제공하기 위해 만들어졌지만 최신 접근성 표준을 충족하지 못하는 경우가 많습니다. 예를 들어 쿠키를 사용하여 질문-응답 테스트를 완전히 우회할 수 있는 hCaptcha를 예로 들어 보겠습니다. 이론적으로는 좋은 생각이지만 실제로는 작동하지 않습니다. SMS를 통해 특정 번호로 보내는 이메일을 통해 일회성 코드를 받게 되어 있습니다. 사용자들은 끝없는 오류 메시지를 받고 표준 텍스트 CAPTCHA를 완료해야 한다고 보고합니다. 이는 구성 중에 사이트에서 명시적으로 활성화한 경우에만 사용할 수 있습니다. 설정되어 있지 않은 경우 스크린리더를 인식하지 못하는 이미지 챌린지를 완료해야 합니다. 초기 프로세스가 작동하더라도 후속 인증은 대부분의 브라우저가 자동으로 차단하는 타사 크로스 사이트 쿠키를 사용합니다. 또한 코드는 짧은 시간이 지나면 만료되므로 다음 단계로 넘어가는 데 시간이 너무 오래 걸리면 전체 과정을 다시 실행해야 합니다. 팀에서 CAPTCHA 및 유사한 인증 방법을 사용하는 이유는 무엇입니까? CAPTCHA는 설정이 쉽기 때문에 일반적입니다. 개발자는 이를 표시하도록 프로그래밍할 수 있으며 자동으로 테스트를 수행합니다. 이렇게 하면 스팸, 사기, 남용을 방지하면서 더 중요한 문제에 집중할 수 있습니다. 이러한 도구는 사람들이 인터넷을 더 쉽게 안전하게 사용할 수 있도록 하기 위한 것이지만, 실제 사람들이 로그인하는 것을 방해하는 경우가 많습니다. 이러한 테스트로 인해 전반적으로 사용자 경험이 저하됩니다. 한 연구에 따르면 사용자는 2023년 현재 5,120억 개가 넘는 reCAPTCHA v2 세션에서 8억 1,900만 시간 이상을 낭비한 것으로 나타났습니다. 그럼에도 불구하고 봇이 승리합니다. 기계 학습 모델은 97% 이상의 정확도로 1초 이내에 텍스트 기반 CAPTCHA를 해결할 수 있습니다. reCAPTCHA v3 출시에도 불구하고 여전히 널리 사용되는 Google reCAPTCHA v2에 대한 2024년 연구에 따르면 봇은 식별 작업을 수행하는 개체에 따라 이미지 분류 CAPTCHA를 최대 100% 정확도로 해결할 수 있는 것으로 나타났습니다. 연구원들은 무료 오픈 소스 모델을 사용했는데, 이는 악의적인 행위자가 자신의 작업을 쉽게 복제할 수 있음을 의미합니다. 웹 개발자가 CAPTCHA 사용을 중단해야 하는 이유는 무엇입니까? CAPTCHA와 같은 인증 방법에는 접근성 문제가 있습니다. 기계 학습의 발전으로 인해 이러한 서비스는 점점 더 복잡해졌습니다. 그럼에도 불구하고 그들은 완벽하지 않습니다. 봇이 얻습니다.사람들보다 더 그렇습니다. 연구에 따르면 reCAPTCHA를 17.5초 이내에 완료하여 85%의 정확도를 달성할 수 있습니다. 인간은 시간이 더 오래 걸리고 정확도가 떨어집니다. 많은 사람들이 CAPTCHA 테스트에 실패하고 자신이 무엇을 잘못했는지 전혀 모릅니다. 예를 들어, 사용자에게 "신호등이 있는 모든 사각형을 선택하십시오"라고 지시하는 프롬프트는 매우 간단해 보이지만 기둥의 일부가 다른 사각형에 있으면 복잡해집니다. 그들은 그 상자를 선택해야 합니까, 아니면 알고리즘이 그렇게 할 것입니까? 봇의 능력은 엄청나게 발전했지만 인간은 그대로 유지되었습니다. 시험이 점점 더 어려워질수록, 시험하려는 의향이 줄어듭니다. 한 조사에 따르면 거의 59%의 사람들이 여러 번의 나쁜 경험 후에 제품 사용을 중단한다고 합니다. 인증이 너무 번거롭거나 복잡한 경우 웹사이트 이용이 완전히 중단될 수도 있습니다. 사람들은 기술적 문제를 포함한 다양한 이유로 이러한 테스트에 실패할 수 있습니다. 타사 쿠키를 차단하거나 로컬 프록시를 실행 중이거나 한동안 브라우저를 업데이트하지 않은 경우 시도 횟수에 관계없이 계속 실패할 수 있습니다. CAPTCHA 관련 인증 문제 위에서 언급한 이유로 인해 대부분의 CAPTCHA 유형은 본질적으로 액세스할 수 없습니다. 이러한 도전-응답 테스트는 장애인의 필요를 염두에 두고 설계되지 않았기 때문에 이는 특히 장애인의 경우에 해당됩니다. 일반적인 문제 중 일부는 다음과 같습니다. 시각적 자료 및 화면 판독기 사용과 관련된 문제 화면 판독기는 왜곡된 텍스트 테스트와 같은 표준 시각적 CAPTCHA를 읽을 수 없습니다. 뒤죽박죽되고 왜곡된 단어는 기계에서 읽을 수 없기 때문입니다. 이미지 분류 및 슬라이딩 퍼즐 방법도 비슷하게 접근할 수 없습니다. 2023년부터 2024년까지 실시된 한 WebAIM 설문조사에서 스크린 리더 사용자들은 CAPTCHA가 가장 문제가 많은 항목이라는 점에 동의했습니다. 이 항목은 모호한 링크, 예상치 못한 화면 변경, 대체 텍스트 누락, 액세스할 수 없는 검색, 키보드 접근성 부족 등의 항목을 차지했습니다. 10년이 넘도록 정상의 자리는 크게 변하지 않았으며, 이는 접근이 불가능했던 역사를 보여줍니다. 청각 및 오디오 처리와 관련된 문제 웹 개발 모범 사례에서는 오디오 자동 재생을 권장하지 않고 사용자 컨트롤의 중요성을 강조하기 때문에 오디오 CAPTCHA는 비교적 흔하지 않습니다. 그러나 오디오 CAPTCHA는 여전히 존재합니다. 청각 장애가 있거나 청각 장애가 있는 사람들은 이러한 테스트를 시도할 때 장벽에 직면할 수 있습니다. 보조 기술을 사용하더라도 의도적인 오디오 왜곡과 배경 소음으로 인해 청각 처리 장애가 있는 개인이 이러한 샘플을 이해하기 어렵게 만듭니다. 모터 및 민첩성과 관련된 문제 운동 및 손재주 기술이 필요한 테스트는 운동 장애나 신체 장애가 있는 사람들에게 어려울 수 있습니다. 예를 들어, 손 떨림이 있는 사람은 슬라이딩 퍼즐을 어렵게 느낄 수 있습니다. 또한 기준에 맞는 이미지가 하나도 남지 않을 때까지 더 많은 이미지를 로드하는 이미지 분류 테스트가 어려울 수 있습니다. 인지 및 언어와 관련된 문제 CAPTCHA가 점점 복잡해짐에 따라 일부 개발자는 창의적 사고와 비판적 사고의 조합이 필요한 테스트로 눈을 돌리고 있습니다. 사용자에게 수학 문제를 풀거나 퍼즐을 완성하도록 요구하는 작업은 난독증, 난산증, 시각 처리 장애 또는 인지 장애가 있는 사람들에게 어려울 수 있습니다. 보조 기술이 격차를 해소하지 못하는 이유 CAPTCHA는 인간이 해석하고 해결하도록 의도적으로 설계되었으므로 화면 판독기 및 핸즈프리 컨트롤과 같은 보조 기술은 거의 도움이 되지 않을 수 있습니다. 특히 ReCAPTCHA는 백그라운드 활동을 분석하기 때문에 문제가 됩니다. 접근성 장치를 봇으로 표시하면 잠재적으로 액세스할 수 없는 CAPTCHA가 제공됩니다. 이 기술이 격차를 해소할 수 있다고 하더라도 웹 개발자는 이를 기대해서는 안 됩니다. 업계 표준에서는 웹사이트를 최대한 접근 가능하고 기능적으로 만들기 위해 유니버설 디자인 원칙을 따라야 한다고 규정하고 있습니다. CAPTCHA의 접근성 문제는 효과적인 보안 도구라면 용서될 수 있지만, 봇이 인간보다 더 잘 작동하므로 완벽한 보안과는 거리가 멀습니다. 왜 비효율적이고 장애인에게 장벽을 만드는 방법을 계속 사용합니까? 더 나은 대안이 있습니다. 접근 가능한 인증 원칙 인간이 지속적으로 알고리즘보다 뛰어난 성능을 발휘해야 한다는 생각은 시대에 뒤떨어졌습니다. 다단계 인증(MFA)과 같은 더 나은 인증 방법이 있습니다. 이중 인증 시장은 2027년까지 약 267억 달러 규모로 성장해 그 인기를 더욱 부각시킬 것입니다. 이 도구합법적인 자격 증명을 사용해도 무단 액세스를 방지하므로 CAPTCHA보다 더 효과적입니다.
MFA 기술에 액세스할 수 있는지 확인하세요. 웹사이트 방문자에게 복잡한 코드를 기록하도록 하는 대신 푸시 알림이나 SMS 메시지를 보내야 합니다. 인증 코드 자동 완성을 사용하여 자동으로 코드를 캡처하고 입력하세요. 또는 "이 장치 기억" 기능을 도입하여 신뢰할 수 있는 장치에 대한 인증을 건너뛸 수 있습니다. Apple의 이중 인증 접근 방식은 이러한 방식으로 설계되었습니다. 신뢰할 수 있는 장치에는 자동으로 6자리 인증 코드가 표시되므로 이를 검색할 필요가 없습니다. 메시지가 표시되면 iPhone 사용자는 자동 완성을 위해 모바일 키보드 위에 나타나는 제안을 탭할 수 있습니다.
Single Sign-On은 또 다른 옵션입니다. 이 세션 및 사용자 인증 서비스를 사용하면 사람들은 단일 로그인 자격 증명 세트로 여러 웹사이트나 애플리케이션에 로그인할 수 있으므로 반복적인 신원 확인의 필요성이 최소화됩니다. 일회용 "매직 링크"는 reCAPTCHA 및 임시 PIN에 대한 탁월한 대안입니다. 사용자는 코드를 기억하거나 퍼즐을 푸는 대신 버튼을 클릭합니다. WCAG 성공 기준 2.2.3에 따르면 장애가 있는 사용자는 특정 작업을 완료하는 데 더 많은 시간이 필요할 수 있으므로 사용자는 시간 제한에 직면해서는 안 되므로 마감일을 부과하지 마십시오. 또는 Cloudflare Turnstile을 사용할 수도 있습니다. CAPTCHA를 표시하지 않고 인증하며 대부분의 사람들은 상자를 선택하거나 버튼을 누를 필요조차 없습니다. 이 소프트웨어는 봇과 인간을 자동으로 구별하기 위해 뒤에서 작은 JavaScript 챌린지를 발행하여 작동합니다. Cloudflare Turnstile은 모든 웹사이트에 내장될 수 있으므로 표준 분류 작업에 대한 탁월한 대안이 됩니다. 접근 가능한 인증 설계의 테스트 및 평가 접근 가능한 대체 인증 방법을 테스트하고 평가하는 것은 필수적입니다. 많은 디자인이 종이에서는 좋아 보이지만 실제로는 작동하지 않습니다. 가능하다면 실제 사용자로부터 피드백을 수집하세요. 공개 베타는 가시성을 극대화하는 효과적인 방법일 수 있습니다. 일반적인 접근성 고려 사항은 장애인에게만 적용되는 것이 아니라는 점을 기억하십시오. 또한 신경다양성이 있는 사람, 모바일 장치에 접근할 수 없는 사람, 보조 기술을 사용하는 사람도 포함됩니다. 대체 설계에서 이러한 개인을 고려하도록 하십시오.
현실적으로 모든 사람이 독특하기 때문에 완벽한 시스템을 만들 수는 없습니다. 많은 사람들이 다단계 프로세스를 따르고, 방정식을 풀고, 복잡한 지침을 처리하거나 암호를 기억하는 데 어려움을 겪습니다. 보편적인 웹 디자인 원칙은 유연성을 향상시킬 수 있지만 단일 솔루션이 모든 사람의 요구를 충족할 수는 없습니다. 사용하는 인증 기술에 관계없이 사용자에게 여러 인증 옵션을 미리 제공해야 합니다. 그들은 자신의 능력을 가장 잘 알고 있으므로 모든 극단적인 경우에 작동하는 솔루션을 과도하게 엔지니어링하려고 하는 대신 무엇을 사용할지 결정하도록 하십시오. 디자인 변경으로 접근성 문제 해결 손 떨림이 있는 사람은 슬라이딩 퍼즐을 완성하지 못할 수도 있고, 오디오 처리 장애가 있는 사람은 왜곡된 오디오 샘플을 처리하는 데 어려움을 겪을 수도 있습니다. 그러나 CAPTCHA도 똑같이 액세스할 수 없는 경우가 많기 때문에 단순히 CAPTCHA를 대체물로 대체할 수는 없습니다. 예를 들어 QR 코드는 미세한 모터 제어 능력이 저하된 사람들의 경우 스캔하기 어려울 수 있습니다. 시각 장애가 있는 사람은 화면에서 해당 내용을 찾는 데 어려움을 겪을 수 있습니다. 마찬가지로, 생체 인식은 안면 기형이나 제한된 동작 범위를 가진 사람들에게 문제를 일으킬 수 있습니다. 접근성 문제를 해결하려면 창의적인 사고가 필요합니다. 개발자가 유니버설 디자인을 더 잘 이해할 수 있도록 Web Accessibility Initiative의 접근성 튜토리얼을 방문하여 시작할 수 있습니다. 이 튜토리얼은 인증보다 콘텐츠에 더 중점을 두고 있지만 여전히 유용하게 사용할 수 있습니다. CAPTCHA의 접근 불가능성에 관한 W3C 그룹 초안 노트는 보다 적절한 지침을 제공합니다. 시작하는 것은 모범 사례를 조사하는 것만큼 쉽습니다. 접근 가능한 웹 디자인을 위한 보편적인 솔루션은 없기 때문에 기본 사항을 이해하는 것이 필수적입니다. 접근성을 최적화하려면 실제로 웹사이트를 방문하는 사람들로부터 피드백을 얻는 것을 고려해보세요. 추가 자료
“보안 문자: 관점과 과제” Darko Brodić 및 Alessia Amelio "이미지 위에 접근 가능한 텍스트 디자인: 모범 사례, 기술 및 리소스", Hannah Milan “최고의 보안 문자를 찾아서” David Bushell “WCAG 3.0이 제안하는 채점 모델: 변화접근성 평가에서”, Mikhail Prosmitskiy