2024-04-07

Цифровая гигиена

Все мы используем пароли, без паролей в наше время не обойтись.

Как проверить ваш пароль на безопасность? Можно воспользоваться каким нибудь сервисом для проверки паролей например haveibeenpwned.com он подскажет где, когда и куда ваши пароли утекли. Но что-то мне страшновато передавать мой пароль на какие-то непонятные сайты, которые их собирают с непронятными целями.  Где гарантия что при проверке паролей создатели сервиса не проверят ваши пароли еще на каких нибудь сайтах, чтобы так сказать, проверить, нет ли у вас так чего интересного? 

Есть ли способ проверить был ли пароль скомпрометирован и при этом не передавать сам пароль третим лицам? Такой способ существует.

Для этого можно проверять не сам пароль, а его цифровую подпись. Алгоритм получается следующий. 

1. Создаем sha1 подпись интересуемого пароля, например qwerty123:  echo -n "qwerty123" | openssl sha1

2. От полученного хеша SHA1(stdin)= 5cec175b165e3d5e62c9e13ce848ef6feac81bff берем первые пять цифр подписи 5cec1

3. Полученные символы подставляем в конец API вызова https://api.pwnedpasswords.com/range/ получим  https://api.pwnedpasswords.com/range/5cec1

Сайт выводит нам все оставшиеся части хешей которые начинаются с данной комбинациии символов. Если мы находим среди этих комбинаций нашу 75b165e3d5e62c9e13ce848ef6feac81bff, значит наш пароль скомпрометирован!

Для пароля qwerty123 мы видим значение 75B165E3D5E62C9E13CE848EF6FEAC81BFF:4880569 - это значит что в базах данных со скомпрометированными паролями на данном сервисе он встречается почти пять миллионов раз!

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

PS. если вы хотите, чтобы команда не оставалась в истории командной строки в linux достаточно начать ее с пробела " echo -n "qwerty123" | openssl sha1".

 

комментарии:

 

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

Имя*

разрешены только теги br, font, span, p, strong, u, p, blockquote, a, div, img - остальные будут безжалостно удаляться