Адрес для входа в РФ: exler.world
Как избавиться от паролей
Любопытная статья о системе, которая должна позволить авторизоваться без логинов-паролей - с помощью токена: "Вы так и не научились пользоваться безопасными паролями"?
Токен — это компактное устройство, подключающееся к компьютеру или телефону через USB, NFC или Bluetooth. Он похож на обычную флешку, хранит зашифрованную информацию, защищен от взлома, например, пин-кодом.
В рамках проекта FIDO2 (Fast IDentity Online) одноименный альянс разработал специальный беспарольный протокол аутентификации интернет-пользователей. Вместо связки логина и пароля они предложили использовать секретный ключ, который хранится на аутентификаторе — на токене.
Первым делом пользователь должен привязать свой токен к учетной записи. При регистрации токена тот с помощью браузера общается с сайтом, отправляет на сервер публичный ключ и подписывает всю «переписку» своим секретным ключом. Сайт сохраняет публичный ключ и запоминает, что он связан с конкретной учетной записью. В будущем сайт с помощью этого публичного ключа будет проверять подписи, сделанные секретным ключом, и понимать, к какой учетной записи давать доступ пользователю.
Перед использованием токен попросит пользователя пройти дополнительную проверку. Например, ввести пин-код или дотронуться до встроенного сканера отпечатков пальцев. Это необходимо для защиты от кражи.
Интересная история. Схема закрытый и открытый ключ давно используется в различных видах шифрования. И я тоже задумывался над тем, почему эту схему нельзя использовать для авторизации - ведь оно же очевидно удобно и очень секьюрно. Если в скором времени такое введут - будет здорово.
Там, конечно, возникают всякие вопросы из серии "А если я потерял токен? А если я в поездке потерял токен?" и так далее, но это все решаемо.
2. Давным-давно используют. Любая аутентификация по персональному сертификату - это как раз она и есть.
По отпечатку пальца - рулеж 😄
У Троя Ханта (не последний человек в ИБ) есть статья на эту тему:
Here's Why [Insert Thing Here] Is Not a Password Killer
"Без нормально организованной структуры безопасности схема авторизации не играет роли."
ну и еще второй его пункт - без изменения привычек пользователей тоже ничего не заработает
99% что тут выплывет что-то похожее
Системы, "которые обязаны автоматически разблокироваться", имеют свойство неожиданно отказывать, особенно, в случаях, когда их работоспособность не проверяется регулярно. А при пожаре, как показывает практика, служба поддержки, которую мне нужно вызывать, побежит из здания первой.
Для тех, кто любит запираться на ключ, или должен это делать по инструкциям, есть специальные замки, которые открываются без ключа изнутри помещения.
А еще некоторые люби просто любят запираться на ключ. А некоторым это положено делать по должностным инструкциям.
просто еще раз - все это громкие крики ни о чем 😄 - секретность и гигиена паролей ( пары логин/пароль) + нормальное слежение за системой никуда не денутся из практики безопасности, что с токенами, что без них. И все это не лучше нормальной OPIE схемы паролей, с передачей нового в сенсе.
В отношении сайтов все то же самое, только ключи другого типа.
Прочитал статью. Удивился. Юбико NFC, FIDO2 уже как минимум 3-4 года поддерживают.
На сервере будет храниться только публичный токен. Ну крадите его, дальше-то что? Без физического доступа к носителю этот токен бесполезен.
Если б токены Yubico ещё стоили подешевле и в Россию продавались, было бы совсем хорошо. А так есть только кошмарики вроде U2F Zero.
К слову, их и для логина в систему использовать можно — в винде через Windows Hello, в остальных через pam-модуль.
Безпарольная система идентификации ползователеей уже встроена в наши телефоны в виде apple/android платежей И nfc поддерживает и Bluetooth
Ее вполне можно было бы сделать более универсальной
А не требуется такое устройство повсеместно по одной простой причине - оно не бесплатное. Хотя купить просто ключик, который будет хранить все ваши пароли внутри себя и выдавать по мере надобности, "узнавая" хозяина по какой-угодно-из-существующих-ныне-технологий, от отпечатка пальца до запаха подмышек, полагаю, не такая большая проблема.
На самом деле видимо придется как-то этот ключ бакапить, а бакап хранить в яйце/утке/зайце. Но еще должен быть и механизм отзыва/замены ключа.
А для болтовни на форумах не используется и использоваться не будет. Потому что забыл токен дома — на работе в фейсбучике не посидеть.
Кстати, говорят, хорошо работали.
На фриноде (ИРЦ) может и действительно было "занят пароль". Перепробовал тоже много-много вариантов, пока не приняли русский матерный в lowercase и без циферок-спецзнаков.
Больше всего порадовал гнусмасакк - нигде не говорилось, какой длины должен быть пароль и приняли длинный. Но потом он не подходил. Пока опытным путем не подобрался нужной длины и сложности. То ли 8 символов, то ли как-то так. Сверхсекурно.
А когда пароль в голове - его снаружи не видно 😉
Но я всё равно не понимаю, в чём Ваше возражение моему комментарию.
Исключение - вызываемый сервис всегда подтверждает свою аутентичность сертификатом (без разглашения секретной части). А вот для аутентификации отдельных пользователей используются другие схемы, как правило, основанные на токенах (не путать с девайсами, упомянутыми в посте. Токен в схеме аутентификации - это структура данных, по умолчанию, непрозрачная для клиента, которая передаётся вместе с каждым запросом сервису), а задача аутентификации пользователя выносится за пределы этой схемы, и кладётся на плечи отдельного сервера, выдающего токен. Собственно, в том же Azure всё движется в сторону аутентификации и сервиса-клиента в соединениях сервис-сервис через тот же токен (managed service identity). Ибо это несёт свои неиллюзорные преимущества.
Общепринятая схема аутентификации пользователей при доступе к веб-сервисам - OAuth 2.0, рекомендую изучить её для общего понимания задачи. На OAuth 2.0 работают и сервисы Google (Gmail, YouTube, etc - всё, где используется user identity), и Facebook, и Microsoft.
Так же стоит отметить, что WCF умирает, и быстро вытесняется REST.