Комментарии 49
Обычно в брелоках, даже самых простых, хранятся три пары ключей: для для расшифровки, для аутентификации и для подписи.
Подозреваю, что для входа в аккаунт подразумевается подпись случайных данных ключом аутентификации. Т.е. получите документ, подписанный ключом аутентификации. Он будет означать лишь то, что "да, Вася нажал кнопку".
Если при входе на сайт у меня попросят пин-код от ключа подписи — это уже повод задуматься, что что-то идёт не по плану.
Майорам как-то вообще пофиг на ваши аутентификации. А вот Васи Пупкину из Барнаула с корешем в Мегафоне будет тяжелее стырить ваши деньги/имейлы если вместо СМС вы будете пользоваться FIDO2/WebAuthn.
Неужели восстановить доступ кличкой собаки станет нельзя?
Я немного не понял. Получается случайный токен генерируется и подписывается браузером или аутентификатором? То есть можно сдампить этот токен и его подпись? Может я ошибся иди неправильно прочитал статью, но мне кажется токен должен генерироваться сервером и подписываться клиентом. Другого быть не должно
Использовать электронные ключи можно множеством способов, но один из правильных вариантов именно такой: случайный токен генерируется на сервере, дальше он подписывается на клиенте электронным ключём, затем подпись отправляется на сервер, где она проверяется на корректность
- Сервер генерирует случайны вызов и отправляет браузеру.
- Браузер добавляет к вызову информацию по поводу сессии, на пример URL(https://mail.ru/) и отправляет аутентификатору.
- Аутентификатор ждет пока пользователь не подтвердит операцию, и после подписывает вызов и возвращает его браузеру
- Браузер передает вызов серверу
- Сервер верифицирует подпись и URL
Самый основной фактор здесь состоит в том, что он требует, чтобы пользователь обладал специальным устройством — электронным ключом.
поэтому не взлетит. всё это слишком сложно для обычных пользователей.
считаю, что сейчас должно быть достаточно 2 аккаунтов для всего: Google для Android и Apple ID для iPhone/etc. в смартфоны они уже вбиты 1 раз, и ничего вводить не нужно. а ВСЕ сайты должны поддерживать вход по OAuth через них. а 2 пароля запомнить не так уж и сложно.
проблема решена :)
Завтра, к примеру, для вашего удобства google будет просматривать Slack сообщения и присылать оповещения.
… А людей без смартфонов в интернет не пускать, пусть в пещерах сидят
ВСЕ сайты должны поддерживать вход по OAuth через них
Считаю, что это ОЧЕНЬ плохая идея. Для каждого сайта должен быть собственный аккаунт.
Как быть с тем что сайту для работы может быть нужен номер телефона (или разработчик считает что нужен), запрашивать потом?
Как быть с тем, что гугл с эпплом могут решить что вот конкретно этот сайт — не соблюдает какие то политики и не надо давать ключи для OAuth?(сайт при этом вполне легальный).
Как быть с тем, что при этом у гугла с эпплом копится история авторизаций на всех сайтах, и это еще хорошо если она может утечь только товарищу майору а не всем подряд(пусть даже из-за ошибок пользователя).
Зато такая штука полезна для «ре-логина» — убедиться, что никто другой не начал использовать твой ноутбук.
Подскажите пожалуйста, можно ли как-то сделать, чтобы почта принадлежала конкретному человеку? Чтобы в случае взлома/утери ключа прийти куда-то с паспортом и (платно) восстановить аккаунт.
Есть редкое исключение — WebAuthn-сайт может требовать конкретные ключи. Например, так как они прошли какую-то сертификацию. Но это редкий кейс — в живой природе его пока нет, эта технология для корпоративных-систем, где тебе ключ выдаёт компания.
Представьте себя на месте не технического специалиста, а обычного человека, который хочет воспользоваться этой возможностью. Я задавал вопрос техподдержке о списке поддерживаемых ключей и не получил никакого ответа. Ключ стоит 2-5тр, вдруг человек купит не тот, что с ним потом делать?
Ваши андроиды и виндоусы уже аутентфикаторы сами по себе. Внешние ключи это больше бекап опция, и стоимость у них начинается от 600руб.
Подскажите пожалуйста, можно ли как-то сделать, чтобы почта принадлежала конкретному человеку? Чтобы в случае взлома/утери ключа прийти куда-то с паспортом и (платно) восстановить аккаунт.
Это уже каждый сервис по отдельности если хочет может сделать. Лучше всего держать два ключа. Один в с собой, второй под яблоней.
Добро пожаловать в семью, Mail.ru!
Я собственно работаю на FIDO Alliance и один из котрибьюторов в WebAuthn.
Вот советую почитать мою прошлую статью: "FIDO2, пароли must die!" https://habr.com/ru/post/354638/
Буду рад ответить на любые вопросы
Как платформенный аутентификатор, то уже можно. Если вы про Bluetooth, то надеюсь скоро? Я не работаю на гугл так что не знаю *)
Тут жёстко требуется именно FIDO2? FIDO-U2F не хватит?
Просто буквально в этом месяце была речь о прошивке st-link программатора в ключ gnuk. И там же была тема о запиливании в него же fido-u2f. Поэтому если последнего достаточно, то ключ за полтора доллара можно сделать довольно быстро.
«Значительный рывок вперёд в популярности WebAuthn может произойти, когда инженеры компании Google закончат разработку и тестирование возможности использования смартфонов на OC Android и iOS в качестве внешних физических электронных ключей для WebAuthn и откроют эту возможность для всех интернет-сервисов»
Что имеется ввиду под внешними ключами? Я же уже сейчас могу использовать смартфон как Authentificator по отпечатку пальца?
Насколько я знаю, сейчас использовать смартфон как электронный ключ WebAuthn можно только с сервисами от Google (Gmail). Эту технологию ещё не сделали полностью доступной всем сервисам
На днях включили поддержу в iOS 15.4, надо отсканировать QR код на экране декстоп сафари с коллбеком и закончить вход на телефоне :)
А зачем при логине запрашивается имя пользователя, разве нельзя получить паблик кей ключа и узнать на сервере какому пользователю он привязан. Чтобы можно было просто активировать клиенту аппаратный ключ, чтобы войти и без логина и без пароля.
WebAuthn в реальной жизни