Что такое CAPTCHA и зачем она используется?

CAPTCHA (CompletelyAutomated Public Turing test to tell Computers and Humans Apart), механизм проверки, предназначенный для различения людей и программ. По сути, капча задает пользователю задачу, которую легко выполнит человек, но она будет затруднительна для автоматического скрипта или бота. Так должно быть в идеальном мире, от которого, мы, к сожалению все дальше и дальше.

Существуют разные виды CAPTCHA:

  • Текстовые капчи: картинки с искаженными символами (буквами, цифрами), которые пользователь должен правильно прочитать и ввести. Ранние капчи были именно текстовыми; со временем их усложняли, добавляя помехи, фоновые шумы и склеивая буквы, чтобы затруднить распознавание ботами.

  • Графические капчи: задания на выбор изображений по заданному признаку. Например, классическая reCAPTCHA v2 просит отметить все квадраты с дорожными знаками или автобусами. Тут уже ботам приходится использовать компьютерное зрение — распознавать объекты на картинках, что сложнее, чем читать текст, но все еще выполнимо.

  • Аудио‑капчи: озвученные задания, обычно предлагаются как альтернатива для слабовидящих. Пользователь слушает искаженную аудиозапись (например, ряд цифр) и вводит услышанное. Для человеку даже распознать речь с шумами легче, чем машине, хотя современные алгоритмы уже неплохо справляются и с такими капчами.

  • Простые вопросы и задачи: иногда вместо визуальной капчи используются элементарные вопросы (например, сколько будет 2+3?) или пазлы с перетаскиванием ползунка. Такие проверки проще для пользователя и в определенных случаях могут заменить классическую капчу, хотя и их возможно автоматизировать.

Использование капчи должно защитить веб‑сайты сервисы от массового автоматизированного злоупотребления: боты не должны массово регистрировать аккаунты, рассылать спам или пытаться подобрать пароли, если на пути стоит капча. Без этого барьера интернет сразу стал бы гораздо более «засоренным» ботами пространством, а он еще продолжает держаться, хотя уже и намного хуже чем раньше. Именно поэтому многие сайты — от банковских страниц и систем онлайн‑голосования до простых форм обратной связи — годами внедряли капчи как обязательный шаг проверки на человечность пользователя.

Придумана эта технология была в начале 2000-х (термин CAPTCHA был введён в 2003 году группой исследователей во главе с Луисом фон Аном). Одной из первых крупных компаний, внедривших такую проверку, стала Yahoo! в 2001 году. Капча действительно успешно отличала скрипты от живых людей, и её распространение быстро выросло. Однако сама аббревиатура CAPTCHA подчёркивает ограниченность метода: это автоматизированный тест Тьюринга, и со временем боты научились его обходить. Капча эволюционировала от простых текстовых загадок к всё более хитрым: искаженные буквы сменились пазлами с картинками, появлялись трехмерные капчи, аудиозаписи и прочие ухищрения. Но и автоматизаторы не стояли на месте.

Какие недостатки и проблемы есть у CAPTCHA?

К сожалению, у повсеместно используемых капч накопилось огромное количество недостатков. Во‑первых, они серьёзно ухудшают пользовательский опыт, капча — это раздражающее препятствие при пользовании сайтом. Задачи порой сложны для понимания, отнимают время и нервируют. У Cloudflare есть интересное исследование, они посчитали, что суммарно, люди тратят около 500 лет каждый день, разгадывая эти головоломки (которые Cloudflare, в том числе, и создает) — в среднем около 10 секунд на каждую капчу (неплохой результат, для любого сервиса распознавания капчи, в котором работают люди, скажу я вам))! Во‑вторых, капча создает барьеры для части аудитории: например, пользователи с нарушениями зрения испытывают серьезные трудности — даже аудиокапчи (придуманные в том числе для удобство людей с нарушениями зрения) сложно разбирать. Более того, в некоторых случаях капча ставит под удар владельцев сайтов с точки зрения закона о доступности: к примеру, отсутствие альтернативы для слепых пользователей может означать несоблюдение стандарта Section 508 в США и привести к претензиям или искам (я когда нашел эту информацию был сам удивлен, GDPR еще не самая бесячая, для владельцев ресурсов, инициатива, воплощенная в жизнь).

Конфиденциальность тоже вызывает вопросы. Одна из самых популярных капч — reCAPTCHA от Google не только отслеживает массу данных о пользователе, но и фактически использует его труд для обучения своих алгоритмов (например, расшифровки номеров домов на фото и разметки объектов для ИИ). По сути, вводя символы или выбирая картинки, люди бесплатно помогают улучшать искусственный интеллект крупных корпораций. Вот вы, например, знали, что данные полученные при вводе reCAPTCHA были использованы Google для масштабной оцифровки книг и газетных архивов (ну понятно, миллениалы то знали, а что насчет зумеров?)? Пользователям показывали (и на некоторых ресурсах продолжают показывать) отсканированные слова, которые алгоритмы не распознали, и каждый раз, решая такую капчу, человек переводил изображение в текст.

С точки зрения владельцев сайтов, капча также не идеальна. Добавление лишнего шага снижает конверсию: около 15% пользователей бросают форму, встретив капчу, так и не завершив целевое действие. Это огромные потери — каждый шестой потенциальный клиент уходит из‑за подобных сложностей при оформлении заказа. Надо ли напоминать, что для интернет‑бизнеса подобное падение конверсии очень болезненное.

Наконец, самый важный вопрос — насколько капча надежна сегодня и может ли она адекватно противостоять ботам? Увы, надежность этого метода падает. Автоматизаторы, разработчики нашли способы обходить проверки: от сервисов ручного распознавания капчи, где капчи массово решаются людьми, до алгоритмов машинного распознавания изображений и речи. Современные боты уже давно научились решать даже аудио‑капчи посредством программного распознавания речи. В результате капча из инструмента защиты, в большинстве случаев стала просто препятствием для обычных пользователей, тогда как продвинутый бот сумеет найти способ ее обойти.

Капча в нынешнем виде во многом устарела. Она уже не защищает сервисы или сайты должным образом, зато продолжает отпугивать реальных клиентов. Может пришло время отказаться от этого механизма и искать более современные методы защиты, не создающие столько проблем.

Могут ли боты распознавать и обходить капчи?

Да, могут. Современные злоумышленники располагают целым арсеналом средств для автоматического решения капч, превращая идею защиты в затянувшуюся гонку вооружений. Один из самых распространённых подходов — это использование специальных сервисов, где за символическую плату капчу решает реальный человек. Пример, сервис 2Captcha — сервис ручного распознавания капчи — запросы на разгадку перенаправляются живым операторам, которые быстро вводят нужные символы или выбирают картинки.

Ладно ручное распознавание, есть сервисы, которые могут решать капчу без участия человека (гибридный метод или полностью автономное решение). Solvecaptcha — решает несложные капчи при помощи ИИ, а если он не справляется переключает решение на человека. Но и это не предел, есть даже полностью автоматизированные сервисы, которые полностью полагаются на ИИ или алгоритмы. Capmonster — вообще не использует ручной труд, все решают роботы, против которых и была создана капча.

Капча из инструмента защиты превратилась в очередное препятствие, которое относительно легко обходится. Либо через делегирование решения капчи человеку, используя сервисы вроде 2Captcha, либо через обучение искусственного интеллекта решать типовые задачи самостоятельно. В обоих случаях затраты минимальны, тогда как для рядового пользователя нервотрепка от капчи велика. Это главная причина, поиска замены устаревшей капче — нужны методы, которые не полагаются на изнуряющие пользователя загадки, но при этом надёжно различают людей и ботов.

Какие существуют альтернативы CAPTCHA?

За последние годы появилось несколько подходов, способных заменить классические капчи или снизить в них необходимость. Эти альтернативы нацелены на достижение сразу трёх целей: улучшить UX (убрать раздражающие загадки), сохранить низкие затраты для владельцев сайтов и обеспечить надёжную защиту от ботов.

Как работает Cloudflare Turnstile без участия пользователя?

Cloudflare в 2022 году представила собственный механизм под названием Turnstile — по сути, «капча без капчи». Пользователю достаточно единожды кликнуть по чекбоксу «Я не бот» (а в ряде случаев не требуется и этого), а дальше Turnstile выполняет серию невидимых проверок в фоновом режиме. Анализируется множество параметров: характеристики браузера и устройства, поведение скриптов, выполняются легкие вычислительные задачи и даже проверяется наличие в системе безопасного модуля. В результате более 99,99% пользователей проходят проверку, не решая никаких головоломок: По заявлению Cloudflare лишь в 1 из 10 000 случаев появляется капча. Turnstile предоставляется бесплатно и без ограничений по трафику, что делает его привлекательной заменой reCAPTCHA даже для небольших проектов.

Чем отличается подход Arkose Labs от традиционных капч?

Платформа Arkose Labs предлагает иной путь: если уж проверять пользователя, то сделать саму проверку максимально ненавязчивой и даже игровой. Вместо искаженных букв или скучного выбора дорожных знаков Arkose даёт небольшие интерактивные задачки — например, повернуть трёхмерное изображение животного в нужную сторону или отобрать картинки по забавному критерию. Идея в том, что такие задания менее раздражают людей, но при этом генерируются динамически и постоянно меняются, усложняя жизнь ботам. Конечно, оценки пользователей разнятся: кому‑то головоломки Arkose кажутся интереснее классической капчи, а кому‑то всё равно мешают. В любом случае платформа сочетает эти ручные проверки с мощным бэкэндом: анализирует характеристики браузера, поведенческие данные, историческую активность, чтобы по возможности вообще избегать явных вопросов человеку.

Что такое hCAPTCHA и в чём её преимущество перед reCAPTCHA?

hCAPTCHA — это независимая альтернатива гугловской капче, возникшая на волне обеспокоенности приватностью пользователей. По функционалу она похожа на reCAPTCHA: пользователю также предлагаются картинки или другие задачи, однако разработчики hCAPTCHA заявляют, что не собирают персональные данные и никак не используют ответы пользователей в коммерческих целях. Некоторое время hCAPTCHA даже выплачивала небольшое вознаграждение сайтам за участие в системе (монетизируя решения капч для тренировки своих моделей). Пользовательский опыт эта альтернатива кардинально не улучшает — по‑прежнему приходится кликать по картинкам, но по крайней мере вопрос конфиденциальности закрыт более корректно. Интересный факт, что в 2020 году Cloudflare ради защиты приватности перевел свои проверки с Google reCAPTCHA на hCAPTCHA, а затем уже разработала собственный Turnstile.

Как работает Friendly CAPTCHA (дружественная капча)?

Ещё одно решение — Friendly CAPTCHA, созданное в Европе и ориентированное на полное соблюдение законодательства о приватности (GDPR). Подход FriendlyCaptcha — убрать участие человека по максимуму. Вместо загадок для пользователя большинство проверок происходит «под капотом»: при заходе на страницу в браузере тихо выполняется ряд вычислений (криптографический пазл, аналог proof‑of‑work) и собираются технические метрики. Если результат не вызывает подозрений, пользователь вообще не увидит капчу. Лишь в случаях, когда алгоритм не уверен в природе клиента, FriendlyCaptcha может выдать дополнительный вопрос или картинку — то есть ручная проверка предлагается только при необходимости. Минусом является стоимость: в отличие от некоторых бесплатных конкурентов, Friendly CAPTCHA — коммерческий сервис. Небольшой сайт может воспользоваться базовым тарифом (~9 € в месяц), но при больших объёмах количество запросов цена возрастает. Таким образом, FriendlyCaptcha привлекает своей невидимостью и законопослушностью, но экономически подходит не всем.

Как анализ поведения пользователя помогает обойтись без капчи?

Отдельно стоит упомянуть подход, при котором капча как таковая вообще не показывается пользователю. Речь о системах поведенческого анализа. Вместо того чтобы заставлять каждого проходить тест, система в фоновом режиме собирает сотни сигналов: от движений мыши и скорости набора текста до технических параметров устройства и окружения пользователя. Затем с помощью алгоритмов машинного обучения вычисляется вероятность того, что запрос осуществляет человек, а не бот. Если вероятность высока — пользователя пропускают без всяких вопросов, таким образом обычный пользователь вообще не замечает проверки. Если же поведение кажется подозрительным, система может применить дополнительные меры — например, попросить пройти дополнительную верификацию (ввести код, подтвердить телефон) или, в крайнем случае, показать капчу.

Подобные решения уже применяются на практике. Например, в банковской сфере существуют комплексы Advanced Authentication, которые на основе сотен параметров почти безошибочно отличают человека от скрипта.

Однако, как активный пользователь интернета, я ответственно заявляю, ни одна из приведенных выше альтернатив не работает так, как хотелось изначально ее создателям. Вернее правильнее будет так — эти способы реально усложняют жизнь ботам (иначе зачем сервисам распознавания капчи поднимать стоимость на решение подобных сложных задач в разы), но параллельно они усложняют жизнь и простым пользователям. Попробуйте зайти на сайт, защищенный Cloudflare в безопасном режиме. Сперва вы будете решать капчу, я вас уверяю, а в случае с Arkose Labs решать капчу и тихо материться. Они хотели усложнить жить ботам, а в итоге наказали и обычных пользователей.

Давайте рассмотрим еще один вариант сепарации ботов от людей — радикальное решение: отказаться от капчи вовсе, заменив её принципиально иным способом подтверждения личности пользователя — passkeys.

Что такое passkey (ключ доступа) и как он работает?

Passkey (от англ. «ключ доступа») — это современная технология, призванная заменить пароли и упростить вход в систему. Passkey представляет собой пару криптографических ключей (открытого и закрытого), связанных с устройством пользователя. При этом для подтверждения личности используются биометрия или PIN‑код устройства — например, отпечаток пальца, скан лица (Face ID) или локальный пароль на смартфоне. В результате пользователь вообще не вводит привычный пароль для сайта: аутентификация происходит через обмен ключами. Этот метод стандартизован по протоколу FIDO2 (в рамках спецификации W3C WebAuthn) и уже поддерживается во всех современных операционных системах, браузерах и устройствах. Крупные компании активно внедряют пасскеи: так, Google объявила о стратегии passkey‑first для всех аккаунтов Google, аналогичные инициативы реализуют Apple и Microsoft.

Как же работает passkey на практике? Допустим, сайт поддерживает вход по пасскею. При регистрации пользователь создаёт ключ доступа: браузер предложит ему подтвердить личность через встроенную систему защиты (биометрию или PIN). После успешной локальной проверки на устройстве генерируется пара ключей: открытый ключ отправляется серверу и привязывается к учетной записи, а закрытый ключ надежно хранится в безопасном хранилище на устройстве (например, Secure Enclave на iPhone или модуль TPM на ПК). При следующем входе сайт присылает устройству произвольную задачу‑челлендж (набор байтов), устройство запрашивает у пользователя подтверждение (например, «Подтвердите вход по отпечатку пальца»), и если палец приложен или лицо распознано — закрытый ключ подписывает этот челлендж. Подписанная «расписка» отправляется на сервер, где проверяется с помощью ранее сохраненного открытого ключа. Таким образом сервер убеждается, что пользователь действительно тот, за кого себя выдаёт, причём пароль нигде не передавался и не вводился.

Пасскей обеспечивает сразу два важных улучшения по сравнению с классической связкой логин‑пароль. Во‑первых, безопасность: используется сильная криптография (RSA или EC‑ключи), а сам закрытый ключ никогда не покидает устройство, не может быть перехвачен или угадан. Фишинг больше не страшен — злоумышленник не может выманить у пользователя «пасскей», как это часто бывает с паролями, потому что сам ключ нельзя просто сообщить или скопировать. Во‑вторых, удобство: вход по пасскею происходит буквально в один тап — достаточно прикоснуться к датчику отпечатка или подтвердить Face ID, никаких капч, кодов и лишних кликов. И при этом дополнительная верификация фактически уже выполнена (биометрией), то есть система одновременно удостоверилась, что это живой человек. Недаром passkeys называют «паролем, который не нужно помнить» — пользоваться им и проще, и безопаснее.

Откуда вообще взялась концепция passkeys? Её разработали Альянс FIDO и консорциум W3C в 2010-х годах как развитие идей двухфакторной и безпарольной аутентификации. Термин Passkeys получил широкую огласку в 2022 году, когда Apple, Google и Microsoft совместно анонсировали поддержку этой технологии в своих экосистемах. К 2023 году почти у каждого современного пользователя уже есть как минимум одно устройство, способное работать с passkey. По сути, passkey — это новый «ключ от вашего аккаунта», хранящийся в смартфоне или компьютере. А благодаря интеграции с облачными хранилищами (такими как iCloud Keychain, Google Password Manager и др.) пользователь может восстановить свои ключи доступа на новом устройстве или использовать их сразу на нескольких девайсах. Всё это делает пасскеи крайне перспективной заменой устаревшим паролям и одноразовым кодам.

Могут ли passkeys заменить капчи?

В определенных сценариях — да. Если пользователь выполняет вход или регистрацию на сайте с помощью passkey, то сам факт использования пасскея почти гарантирует, что перед системой находится реальный человек. Ведь чтобы воспользоваться ключом доступа, нужно физически подтвердить свою личность — например, приложить палец к сканеру или пройти распознавание лица через камеру. Боту подобное действие недоступно: автоматизированная программа не способна имитировать отпечаток пальца или Face ID, не обладая самим устройством. Поэтому логично, что на тех этапах, где ранее применялась капча (регистрация нового аккаунта, вход с незнакомого устройства, подтверждение подозрительной активности), переход на аутентификацию через passkey делает проверку «человек или бот» избыточной. Иными словами, прохождение WebAuthn‑авторизации само по себе служит доказательством присутствия человека.

Cloudflare, например, уже предлагала концепцию Cryptographic Attestation of Personhood — проверку устройства пользователя через криптографическую подпись вместо загадок, как альтернативу reCAPTCHA. А в 2024 году был запущен проект NoCaptcha, где традиционные пазлы заменяются одноразовым вызовом WebAuthn: пользователю достаточно один раз коснуться сканера отпечатка или кнопки подтверждения, и система убедится, что он не бот. Никакой капчи — вместо неё браузер выполняет скрытую криптографическую операцию с участием реального человека.

Но давайте сразу холодный душ, если поплыла улыбка в предвкушении избавления от капчи — полностью заменить все капчи на пасскеи пока нереально. Во‑первых, не каждый посетитель имеет настроенный passkey или вообще знает о его существовании. Технология новая, массовое распространение началось лишь в 2022–2023 годах, и хотя уже скоро почти у каждого интернет‑пользователя будет хотя бы один пасскей, на данный момент рассчитывать только на них нельзя. Поэтому сайты не могут просто отключить капчи и заставить всех использовать пасскеи — далеко не вся аудитория к этому готова, потребуется длительный переходный период.

Во‑вторых, даже с технической точки зрения имеются ограничения текущей реализации passkeys, которые мешают использовать их как абсолютный «фильтр» от ботов. Главная проблема — это неполная поддержка аппаратной аттестации на всех платформах. Проще говоря, когда сервер принимает запрос от пасскея, он не всегда может проверить, на каком устройстве и каким образом этот ключ был создан. В идеале серверу хотелось бы убедиться, что ключ сгенерирован на настоящем физическом девайсе и с обязательным участием пользователя — тогда бот не сможет эмулировать процесс. В спецификации WebAuthn предусмотрена передача такой информации (например, через аттестаты безопасности и расширение UVM), но на практике в некоторых экосистемах (особенно у Apple) эти возможности пока ограничены. Сегодня сервер получает лишь отметку, что «пользователь прошёл проверку» (user verified), но не узнаёт деталей: как именно — биометрия ли использована, какой тип устройства применён. Получается, что теоретически возможно запрограммировать бота, который создаст и применит пасскей без реального человека. Это сложно, но потенциально осуществимо при отсутствующих проверках подлинности железа.

Нужно также учитывать, что пасскеи не во всех ситуациях удобны. Капчу можно вставить практически на любой веб‑форме, даже если пользователь не авторизован, а вот passkey логичнее применять там, где есть понятие учётной записи. Например, для оставления комментария в форуме гость без аккаунта не сможет подтвердиться пасскеем, пока не зарегистрируется. С другой стороны, многие сайты уже идут по пути: вместо капчи просто требуют авторизации для совершения действий. С распространением пасскеев такой подход станет более реальным, но пока капчи остаются маст хев инструментом для открытых форм без входа.

Насколько безопаснее passkeys по сравнению с капчей?

Passkeys значительно повышают надёжность защиты. Традиционная капча уже не даёт прежней гарантии, как сказано ранее, боты научились её решать или обходить через специальные сервисы. Passkey же основан на криптографии: обладая лишь открытым ключом, сервер может проверять подписи, а закрытый ключ надёжно защищён на устройстве. Например, бот может автоматически решить reCAPTCHA, воспользовавшись API сервиса 2Captcha, но не сможет выдать себя за ваш отпечаток пальца или лицо, чтобы пройти проверку пасскея. С этой точки зрения пасскей гораздо сложнее эксплуатировать, чем классическую капчу.

Что удобнее и быстрее: капча или пасскей?

Passkey практически не мешает пользователю, в отличие от капчи. Капча неизбежно тормозит посетителя сайта — нужно потратить время на разгадывание загадки. Passkey же, напротив, ускоряет взаимодействие: вход по отпечатку пальца или Face ID занимает считанные секунды и не требует от пользователя никаких лишних действий. Нет препятствий — выше удовлетворённость и конверсия. Представьте, вы пытаетесь купить билет на концерт: капча в момент оформления заказа может стоить вам упущенного места, тогда как авторизация по пасскею проходит практически мгновенно.

Как passkeys влияют на приватность по сравнению с капчей?

Passkeys более дружелюбны к конфиденциальности пользователей. Капчи (особенно от крупных провайдеров вроде Google) собирают данные о поведении и устройстве пользователя и используют ответы людей для своих целей. Passkeys с точки зрения приватности нейтральны: биометрия пользователя не покидает устройство, сервер получает лишь публичный ключ и подтверждение успешной локальной проверки. Нет скрытой «подоплеки» в виде того, что ваши ответы используются для обучения чужих нейросетей — цель пасскея исключительно верификация пользователя.

Всем ли пользователям подходит passkey вместо капчи?

Passkeys требуют современных устройств, тогда как капча доступна каждому (хотя и неудобна многим). Капча теоретически доступна любому пользователю — нужен лишь браузер и минимальная способность видеть или слышать содержимое. Но на практике капчи создают барьеры для людей с ограниченными возможностями (неразборчивый текст, неудобный аудиофайл). Passkeys же подразумевают наличие у человека относительно нового устройства (смартфона или ПК) с поддержкой биометрии или безопасного PIN. Молодёжь с современными гаджетами легко освоит пасскеи, а вот часть аудитории (например, пожилые люди с простыми телефонами) могут пока остаться за бортом. Кроме того, пасскей логично использовать там, где есть аккаунт — в экосистеме «пользователь‑сервис». Капча же универсальнее: её можно прилепить к любой форме (хотя ценой ухудшения UX). Таким образом, пока что полной универсальности пасскеев нет — в некоторых сценариях (голосования, комментирование без регистрации) может потребоваться либо старый метод капчи, либо принудительная авторизация.

Сложно ли внедрить поддержку passkeys и отказаться от капчи?

Интеграция passkeys требует большего труда от разработчиков, чем подключение капчи. Реализовать Google reCAPTCHA просто — достаточно вставить несколько строк скрипта на страницу, и сервис работает. Внедрение же passkeys сложнее: нужно настроить поддержку WebAuthn на бэкенде, хранение публичных ключей, а на фронтенде реализовать интерфейс вызова. Требуется продумать сценарии миграции и резервные варианты (например, на случай, если у пользователя нет подходящего устройства). Однако появляются готовые решения и SDK, упрощающие эту задачу. К тому же многие крупные платформы (Apple, Google, Microsoft) сами продвигают пасскеи, что стимулирует разработчиков. В перспективе выигрыш от перехода на пасскеи может значительно превысить начальные усилия по их интеграции.

Passkeys как альтернатива CAPTCHA - миф или будущее?

Итак, может ли технология passkey полностью вытеснить капчи и стать новым стандартом защиты от ботов? Пока скорее звучит как миф, но всё идёт к тому, что за пасскеями — будущее. На сегодняшний день идея заменить капчу на пасскеи находится в стадии становления — мало кто внедрил её на практике, и можно скептически воспринимать заявления об окончательной смерти капчи. Однако все тенденции указывают, что такой подход действительно способен стать массовой реальностью в ближайшие годы. Классические капчи явно переживают закат: они не успевают за ростом возможностей ИИ и приносят больше вреда, чем пользы (хотя подобное неоднократно говорили и про SEO). Одновременно passwordless‑технологии (включая пасскеи) стремительно набирают популярность, их поддержка становится стандартом для индустрии. Это открывает возможность использовать тот же механизм и для подтверждения «я не бот».

Passkeys как альтернатива CAPTCHA — это предвосхищение будущего. На наших глазах зарождается новый стандарт интернет‑безопасности, который сделает жизнь пользователей удобнее, а работу злоумышленников — сложнее. Возможно, очень скоро надоедливые картинки с гидрантами останутся лишь в воспоминаниях, уступив место прозрачной и надёжной аутентификации без капч. Иными словами, пасскеи имеют все шансы превратить давнюю мечту — интернет без капч — в осязаемую реальность.

Комментарии (38)


  1. CaptainFlint
    21.08.2025 07:39

    Что-то я так и не уловил, что помешает боту сгенерировать новую пару приватный+публичный ключ прямо на компе, прийти на сайт и сказать "я — новый пользователь, вот моё подтверждение пасскеем, которое точно-точно было получено с физического устройства!" Даже если реализуют какую-то проверку "физичности", как эта проверка устроена на практике? Что помешает боту получить этот запрос и самому же на него ответить, что устройство сто процентов физическое? Разве что каждое устройство будет иметь ещё и по собственному вендорскому аппаратному ключу, но тогда все фреймворки пасскеев вынуждены будут вести базы данных таких устройств.


    1. inkelyad
      21.08.2025 07:39

      Разве что каждое устройство будет иметь ещё и по собственному вендорскому аппаратному ключу

      Аттестованные FIDO атунтификаторы именно это и имеют. Но, к счастью, этой проверкой рекомендуют пользоваться если только организации надо ну вот совсем параноидальной быть. И если сайты захотят ее абузить, как тут предлагается, отвергая не аттестованные варианты - пользователи начнут обижаться.


    1. kentavr009 Автор
      21.08.2025 07:39

      Хочется ответить - а ниче тот факт что...
      Но я не зумер, так что вот так отвечу

      Браузер заставляет аутентификатор подписывать челлендж для конкретного домена и требует верификацию по пальцу, лицу, пин в конце концов. Сайт может включить аппаратную аттестацию и без его приватных ключей подделка будет невозможна. Масштабировать такое с помощью ботов без реальных устройств и биометрии практически нереально, ну если вы не Илон Маск.


      1. andreymal
        21.08.2025 07:39

        Сайт может включить аппаратную аттестацию

        А как сайт сможет проверить, действительно ли аттестация аппаратная?

        без его приватных ключей подделка будет невозможна

        А как сайт сможет проверить, что ключи действительно взялись из аппаратного устройства, а не сгенерированы ботом?

        Браузер

        А что помешает разработчикам ботов сделать свой собственный браузер, в котором поддержка аппаратных ключей будет заменена на эмуляцию?

        реальных устройств и биометрии

        А что помешает разработчикам ботов эмулировать биометрию в каком-нибудь Android-эмуляторе например?


        1. inkelyad
          21.08.2025 07:39

          А как сайт сможет проверить, действительно ли аттестация аппаратная?

          Софтовой реализации ее(и соответствующие ключи) не дают. А выдрать ключик из железки - задача нетривиальная.


          1. andreymal
            21.08.2025 07:39

            не дают

            И не надо давать, разработчики ботов сами сделают. Или что им помешает?


            1. inkelyad
              21.08.2025 07:39

              И не надо давать, разработчики ботов сами сделают. Или что им помешает?

              То что если сайт требует аттестацию авторизатора - он откажется с этим ключом работать. Механизм приблизительно такой же, как с сертификатами у сайтов.


              1. andreymal
                21.08.2025 07:39

                То есть ещё одна зависимость от сторонних организаций, которым по умолчанию доверяем, понятно


                1. inkelyad
                  21.08.2025 07:39

                  То есть ещё одна зависимость от сторонних организаций, которым по умолчанию доверяем, понятно

                  Да. Потому и рекомендовано к использованию в основном тем, кто особенно параноики. Вроде организации, которая эти токены сотрудникам раздает и никаких других принимать не хочет.

                  А на схему что в статье предлагают использовать для проверки 'токен настоящий железный' с целью ограничения количества учеток - надо обижаться и попытки удавливать сразу.


  1. mayorovp
    21.08.2025 07:39

    Боту подобное действие недоступно: автоматизированная программа не способна имитировать отпечаток пальца или Face ID, не обладая самим устройством.

    Только вот боту и не надо имитировать отпечаток пальца, ему надо имитировать passkey.

    В спецификации WebAuthn предусмотрена передача такой информации (например, через аттестаты безопасности и расширение UVM), но на практике в некоторых экосистемах (особенно у Apple) эти возможности пока ограничены.

    Прежде всего эти возможности ограничены на обычных десктопах.


  1. YuriyRusinov
    21.08.2025 07:39

    Спасибо, интересная статья, есть вопрос, правильно ли я понял, что passkeys это что-то типа пары публичный ключ--приватный ключ, с которыми можно например запушить изменения в git репозиторий на GitHub ? Но там, чтобы это сделать, надо сделать ssh-agent, ssh-add и потом уже работать с репозиторием. А тут как это делается ?


    1. mayorovp
      21.08.2025 07:39

      Вот тут можно поиграться: https://webauthn.io/


      1. Ascard
        21.08.2025 07:39

        Пытался поиграться с ним, наткнулся на неожиданную проблему: мой хуавей телефон без гуглосервисов ничего не может сделать с показываемым qr-кодом*. Родная распознавалка кодов от хуавея говорит что "Нет приложений для открытия", а установленные через разные гугло-эмуляторы Google Lens хоть и показывает поверх qr-кода кнопку "Используй ключ доступа" но при нажатии на неё не делает ничего. Явно что-то делаю неправильно, но не могу понять что. Может кто аналоги знает и подскажет? Спасибо скажу.

        Вот и как широко внедрять такие технологии есть первая же попытка приобрести личный опыт заканчивается провалом на ровном месте?


        1. mayorovp
          21.08.2025 07:39

          А где там вообще капча и какие-то коды?..


          1. inkelyad
            21.08.2025 07:39

            Там, по идее, QR код для авторизации на десктопе со смартфона.

            Его обработку, где в системе обработчика нет (т.е. OS достаточно старая) - Google в мобильный Chrome добавил (ту его часть, что хранением паролей заведует).
            Поэтому, видимо, из-за 'без гуглосервисов' это все и не сработало.


            1. Ascard
              21.08.2025 07:39

              У меня не такой уж и старый, а вполне себе 2023 года выпуска huawei p60 pro . Но google lens установленные через google play в gbox и gspace дальше распознавания самого факта наличия fido2 кода в qr-коде не ушёл.


              1. inkelyad
                21.08.2025 07:39

                google lens

                А что ей делать еще? Если "Родная распознавалка кодов от хуавея говорит что "Нет приложений для открытия" " - то и им некуда этот набор чисел передавать.

                gbox и gspace все таки эмуляция, и не обязаны уметь все, что настоящие сервисы от Гугла умеют.

                В целях эксперимента(сомневаюсь, что поможет) - можно попробовать родным браузером этот код считать, а не через разные камеры - в мобильных вариантах обычно кнопочка есть.


                1. Ascard
                  21.08.2025 07:39

                  Поставил хром, кнопка чтения qr-кодов в нём просто открывает lens, и дальше история повторяется. Включение vpn-ов тоже не помогло, увы.


            1. mayorovp
              21.08.2025 07:39

              Хм, лично я никаких QR кодов не вижу. Впрочем, на десктопе у меня оно тоже не работает, из-за отсутствия аппаратных ключей.

              Скриншот
              Скриншот


              1. inkelyad
                21.08.2025 07:39

                Bluetooth нужен. Иначе Винда+браузеры не предлагают использовать телефон. Возможно, даже, телефон должен быть с десктопом сопряжен - не помню уже.


                1. mayorovp
                  21.08.2025 07:39

                  То есть для отображения QR кода нужен Bluetooth? Где связь, блин?

                  Видимо, технологию лучше считать очень сырой.


                  1. inkelyad
                    21.08.2025 07:39

                    То есть для отображения QR кода нужен Bluetooth? Где связь, блин?

                    Он используется для proximity test. Чтобы убедиться, что тот QR, что сканируется - он из того браузера, что рядом с телефоном, а не тот, что злодей жертве послал.

                    И да, Интернет на телефоне тоже нужен. Там протокол странный - почему-то через этот самый bluetooh, что есть, они нужными данными обменяться не могут.

                    Видимо, технологию лучше считать очень сырой.

                    Да не, не настолько она сырая. У 98% процентов с хромом и сафарри(и синхронизируемым между устройствами профилем) - работает из коробки. А остальным - немного приспособится надо.


          1. Ascard
            21.08.2025 07:39

            с qr-кодом* конечно же, статья про капчи была, рука сама слово написала, извиняюсь


    1. kentavr009 Автор
      21.08.2025 07:39

      Passkeys работают через браузер и WebAuthn, ключ жёстко привязан к домену (RP ID) и требует локальной биометрии/PIN. Никаких ssh-agent/ssh-add роль агента берет на себя платформа через UI браузера.


  1. 0mogol0
    21.08.2025 07:39

    я вот не очень понял, есть сайт, на который я захожу с телефона и с ПК, с капчей всё понятно, я её решаю (или она проверяется в фоне) и меня пускает. А если используется пасскей на ПК, который сохранился в TPM на ПК, то чем мне это поможет на телефоне? Или там генерится свой пасскей, и в итоге у каждой учётной записи есть N-ое количество привязанных пасскеев?


    1. mayorovp
      21.08.2025 07:39

      Именно так, куча привязанных ключей


      1. kentavr009 Автор
        21.08.2025 07:39

        Ну тут, как говориться - есть пространство для творчества))


    1. kentavr009 Автор
      21.08.2025 07:39

      Есть два варианта: мультидевайс: один пасскей синхронизируется менеджером (iCloud/Google/Microsoft) и доступен на всех твоих устройствах. Второй - у аккаунта несколько отдельных пасскеев (по одному на девайс). Плюс можно войти на ПК телефоном через QR или Блютуз без переноса ключей.


      1. inkelyad
        21.08.2025 07:39

        Есть два варианта

        Но, насколько я помню, настоятельно рекомендовано делать для каждого устройства свой.

        Плюс можно войти на ПК телефоном через QR или Блютуз без переноса ключей.

        'Или' нет. QR вход требует Bluetooth - оно его для proximity test использует.


    1. Tumist
      21.08.2025 07:39

      Да, у учетки может быть несколько пасскеев. Как раз по умолчанию подразумевается, что на каждый девайс будет свой пасскей.

      По факту же ключ можно положить в Keychain на iOS/MacOS, Google Password Manager в хроме и на андроиде и синхронизировать между устройствами. Да и у различных паролехранилок тоже работа с Passkey начинает появляться, так что тоже можно один ключ на нескольких девайсах использовать.


  1. aik
    21.08.2025 07:39

    Капча показывается зачастую ещё до того, как к авторизации приступаешь. Просто при входе на сайт, где может авторизации даже и не быть.


    1. kentavr009 Автор
      21.08.2025 07:39

      Верно, но так и passkey еще не до конца продуманная альтернатива для подобных сценариев))


  1. Ascard
    21.08.2025 07:39

    1) а как быть с несколькими аккаунтами? у тебя сайт привязался к пасскею, тот сохранился в TPM - это понятно. а есть ты хочешь зайти под другим акком? например один - твой личный на сайте, а другой твоя же , но админская учётка. оно все ключи в TPM перебирать будет или как?
    2) повышая градус паранойи: а кто будет поставщиком биометрии для проверки? не окажется ли так что моя фотка и опечаток утекут налево в чистом виде данных с сенсора.
    3) а как надо будет логинится по пасскею на десктопах? камера и та не у всех есть, не говоря уже про сканер пальцев. а следовательно, что помешает появлению аппаратных эмуляторов биометрии, условно, спустя год на алиекспресе по 5 баксов за пучок, втыкающихся в усб. с камерой ещё проще, учитывая современный прогресс в нейросетевой генерации видео, сгенерить виртуальную голову и выдать её за видеопоток с камеры я думаю уже сейчас не проблема.


    1. kentavr009 Автор
      21.08.2025 07:39

      У меня сейчас голова взорвется от визуализации)) Надо осмыслить


      1. Ascard
        21.08.2025 07:39

        а что визуализируем?


        1. kentavr009 Автор
          21.08.2025 07:39

          Ответ на ваш вопрос в голове


          1. Ascard
            21.08.2025 07:39

            Тогда попрошу к вашему ответу добавить ещё один пункт:
            4) смысл капчи в том числе в том чтобы защитить сайт от ботов которые будут там делать свои ботские дела, как то товарам рейтинги накручивать и комменты писать. а как тут пасскей поможет? пока что из описания он мне видится только как аналог авторизации/аутенфикации пользователя, а не защита, например, от скрейпинга. если пользователя заставить за слишком быстрые переходы заново проходить биометрию, то я думаю он закинет такой сайт в чёрный список ещё быстрее чем в случае с капчей. особенно если это будет десктоп с авторизацией через телефон - увидел запрос пасскея, ищешь телефон (который не редко находится в состоянии "кстате, а где он?"), нашёл приложение, открыл его (а там скорее всего будет пароль на входе как банкинг или паролехранилку), торганул в камеру лицом и потыкал пальцем в сенсор, нажал далее, и так каждый раз. да я бы за такое выпадение моего внимания из потока вкладку закрыл после первого, максимум второго, раза.


    1. inkelyad
      21.08.2025 07:39

      оно все ключи в TPM перебирать будет или как?

      Или явно вводишь имя учетки, или будет предлагать выбрать из списка.

      а кто будет поставщиком биометрии для проверки?

      Как всех это биметрия в этом контексте Passkeys пугает и путает. Да локальная она тут. Та, что в телефоне(ну или ПК, если у него нужные сенсоры есть). Если боишься, что из телефона она утечет - не пользуешься. Не боишься - пользуешься. Сайту все равно - он ее не видит.