Проверить пароль на утечку можно за секунду, и сам пароль при этом никуда не отправится.

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

  КАК ИДЁТ ПРОВЕРКА

  ваш пароль → хеш SHA-1
       └─ наружу: 5 первых символов
  сервер → все хвосты с таким началом
       └─ их сотни, сравнение у вас
  [!] сам пароль не уходит никуда

Зачем вообще проверять

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

Опасно тут не то, что взломали тот старый форум. Опасно то, что тот же пароль стоит ещё в пяти местах, включая почту. А почта это ключ ко всему остальному: через неё восстанавливают доступ к банку, соцсетям и госуслугам. Поэтому вопрос не «взломали ли меня», а «есть ли мой пароль в списке, который перебирают первым».

Как устроена проверка, чтобы пароль не утёк при проверке

Отправлять пароль на чужой сайт, чтобы узнать, не утёк ли он, было бы глупо. Поэтому проверка сделана иначе.

  1. Ваш браузер считает от пароля хеш SHA-1. Это односторонняя операция: из хеша пароль не восстановить.
  2. Наружу уходят только первые пять символов этого хеша. У миллионов разных паролей хеш начинается с тех же пяти символов, поэтому по запросу невозможно понять, что именно вы проверяли.
  3. Сервер базы возвращает все хвосты хешей, которые начинаются с этих пяти символов. Обычно это несколько сотен строк.
  4. Браузер ищет среди них хвост вашего хеша. Совпал, значит пароль в базе. Не совпал, значит в опубликованных утечках его нет.

Метод называется k-анонимность (вы прячетесь в толпе из сотен похожих запросов), и это стандартный способ работы с базой Have I Been Pwned, куда за годы собрали пароли из известных взломов. База хранит только хеши, без привязки к почте и имени.

Проверить это можно не на слово. Откройте проверку пароля на утечки, инструменты разработчика браузера, вкладку «Сеть», и введите пароль. Единственный запрос уйдёт на api.pwnedpasswords.com с пятью символами в адресе. Пароля в нём не будет.

Что значит результат

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

«Найден 12 000 раз». Число это сколько записей с таким паролем нашлось во всех утечках. «Найден 12 000 раз» не значит, что взломали именно вас. Это значит, что тот же пароль придумали ещё двенадцать тысяч человек, и он давно лежит в первых строчках словарей для перебора. Такой пароль подберут за секунды на любом сайте, где он стоит, независимо от того, откуда он утёк.

  ЧТО ЗНАЧИТ ЧИСЛО

  не найден         нет в известных утечках
  найден 1–10 раз   уже в словарях, менять
  найден тысячи     подберут за секунды
     └─ число это не «сколько раз
        взломали вас», а «сколько
        людей его придумали»

Нашёлся: что менять и в каком порядке

Порядок важнее скорости. Менять всё подряд в панике не надо, надо закрыть самое дорогое первым.

  1. Почта. Через неё восстанавливают всё остальное. Новый пароль, длинный и не похожий на старый.
  2. Банк и платёжные сервисы. Там, где лежат деньги.
  3. Госуслуги и всё, где есть паспортные данные.
  4. Сайты, где стоял тот же пароль. Вот тут и всплывает главная проблема: вспомнить, где ещё он стоял, почти невозможно. Поэтому один пароль на несколько сайтов и опасен: утечка одного отпирает все.
  5. Двухфакторная аутентификация на почте и банке. Даже если пароль утечёт снова, без второго фактора он бесполезен. Какой способ выбрать, разобрано в статье двухфакторная аутентификация: SMS, приложение или ключ.

Новый пароль возьмите не из головы: то, что человек придумывает сам, почти всегда уже есть в словарях. Генератор паролей сделает случайный и длинный, а запоминать его не нужно, для этого есть менеджер.

Как не проверять это каждый месяц

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

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

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

  ЧТО ДЕЛАТЬ ПОСЛЕ ПРОВЕРКИ

  [ ] почта: новый пароль
  [ ] банк: новый пароль
  [ ] двухфакторка на обоих
  [ ] остальное в менеджер
      └─ один вечер, потом
         проверять не придётся

Что эта проверка не делает

Она не проверяет почту на утечки. Проверка по адресу почты требует отправить сам адрес, и это уже не анонимно. Такую проверку делают на сайте haveibeenpwned.com, там она устроена отдельно.

Она не видит утечек, о которых ещё не сообщили. И она ничего не знает о том, стоит ли этот пароль у вас где-то ещё, это знаете только вы.

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

Если пароль нашёлся, а с чего начать непонятно, отдайте ситуацию нейросети.

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

Результат: (не найден / найден N раз).
Где стоит этот пароль: (почта / банк / соцсети /
не помню где ещё).
Двухфакторка включена: (да / нет / не знаю).
Менеджер паролей: (есть / нет).

Скажи, что менять первым и в каком порядке, и
как найти сайты, где мог стоять тот же пароль.
Не советуй «сменить все пароли», дай порядок.

Коротко

Проверка на утечку безопасна: наружу уходят пять символов хеша, сам пароль остаётся у вас. «Найден N раз» означает, что пароль уже в словарях для перебора, и его подберут за секунды где угодно. Нашёлся: почта, банк, госуслуги, двухфакторка, в этом порядке. А чтобы не проверять снова, у каждого сайта должен быть свой случайный пароль из менеджера.