Как стать автором
Обновить

Комментарии 49

Хм. «Случайный идентификатор». Берем документ, берем от него sha1 и отправляем на подпись пользователю в качестве «случайного идентификатора». И получаем подписанный электронной подписью пользователя документ, о котором тот не подозревает. Класс!

Обычно в брелоках, даже самых простых, хранятся три пары ключей: для для расшифровки, для аутентификации и для подписи.
Подозреваю, что для входа в аккаунт подразумевается подпись случайных данных ключом аутентификации. Т.е. получите документ, подписанный ключом аутентификации. Он будет означать лишь то, что "да, Вася нажал кнопку".
Если при входе на сайт у меня попросят пин-код от ключа подписи — это уже повод задуматься, что что-то идёт не по плану.

Да — тоже вариант. Спасибо за пояснение!
Дак пользователь (в процессе подписания случайного идентификатора) возьмет хэш от Вашего хэша и зашифрует его своим закрытым ключом. Т.е. он подпишет не документ, а только его хэш.
В чём смысл этого тюнинга и электронных ключей если компания по любому чиху несёт данные товарищу майору и всем кто с ним подружился?
В том, что из круга причастных исключаются всякие мимопроходилы, которые смогли умыкнуть (а то и подобрать) ваш пароль. А товарищи майоры в цивилизованных странах не особо склонны опустошать ваши банковские счета и рассылать спам с вашей почты, в отличие от мимопроходилов.
Где-то до 2012-13 товарищ майор барыжил базами на съемных носителях. Сейчас все ушло в дееп веб. Так что говорить о том что там бессребреники (учитывая ещё и коррупционные дела) я бы не стал. Так что тов. майор = мимопроходилы

Майорам как-то вообще пофиг на ваши аутентификации. А вот Васи Пупкину из Барнаула с корешем в Мегафоне будет тяжелее стырить ваши деньги/имейлы если вместо СМС вы будете пользоваться FIDO2/WebAuthn.

От Васи нормальный пароль поставь. Не хватало ещё переживать из-за кибер гоп-стопа.

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

Неужели восстановить доступ кличкой собаки станет нельзя?

Зато можно будет отпечатком лапы собаки!

Я немного не понял. Получается случайный токен генерируется и подписывается браузером или аутентификатором? То есть можно сдампить этот токен и его подпись? Может я ошибся иди неправильно прочитал статью, но мне кажется токен должен генерироваться сервером и подписываться клиентом. Другого быть не должно

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

  1. Сервер генерирует случайны вызов и отправляет браузеру.
  2. Браузер добавляет к вызову информацию по поводу сессии, на пример URL(https://mail.ru/) и отправляет аутентификатору.
  3. Аутентификатор ждет пока пользователь не подтвердит операцию, и после подписывает вызов и возвращает его браузеру
  4. Браузер передает вызов серверу
  5. Сервер верифицирует подпись и URL
Банки жаль не спешат поддерживать этот протокол.

gmail поддерживает

mai.ru поддерживает

mail.yandex.ru не поддерживает :(

Самый основной фактор здесь состоит в том, что он требует, чтобы пользователь обладал специальным устройством — электронным ключом.

поэтому не взлетит. всё это слишком сложно для обычных пользователей.

считаю, что сейчас должно быть достаточно 2 аккаунтов для всего: Google для Android и Apple ID для iPhone/etc. в смартфоны они уже вбиты 1 раз, и ничего вводить не нужно. а ВСЕ сайты должны поддерживать вход по OAuth через них. а 2 пароля запомнить не так уж и сложно.
проблема решена :)
Проблема в том что google, apple и другие теперь знают все ваши сервисы, а так же могут там под вашим именем производить действия или собирать информацию.
Завтра, к примеру, для вашего удобства google будет просматривать Slack сообщения и присылать оповещения.
для этого должна быть гибкость в настройке OAuth-приложения, чтоб не было лишних прав. только доступ к данным юзера для самого входа

… А людей без смартфонов в интернет не пускать, пусть в пещерах сидят

где такое написано? вход в браузерах с этими же акками никто не отменял вообще-то.
про смартфоны и именно эти два акка сказано потому, что в них ничего не нужно будет дополнительно вбивать при входе на сайт.
ВСЕ сайты должны поддерживать вход по OAuth через них

Считаю, что это ОЧЕНЬ плохая идея. Для каждого сайта должен быть собственный аккаунт.

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

Не, это совсем не удобно. Не анонимно.

но анонимности в интернетах давно уже нет. везде требуют телефон вбить, а он привязан к паспорту (как правило)

Не везде, далеко не везде.

Должна быть возможность входить собственным. Или OAuth. Раньше кстати была возможность использовать любой OAuth-провайдер(ну вот хочу я на сайты входит с авторизацией через ЖЖ) а сейчас по сути выродилось в Google/Facebook
Как входить на госуслуги/nalog.ru?(госструктура не может же завязаться на сервисы другой страны, которые еще и могут в некоторых случаях не работать в некоторых местах(почему — не важно) или для некоторых пользователей(опять же — не важно почему))?
Как быть с тем что сайту для работы может быть нужен номер телефона (или разработчик считает что нужен), запрашивать потом?
Как быть с тем, что гугл с эпплом могут решить что вот конкретно этот сайт — не соблюдает какие то политики и не надо давать ключи для OAuth?(сайт при этом вполне легальный).
Как быть с тем, что при этом у гугла с эпплом копится история авторизаций на всех сайтах, и это еще хорошо если она может утечь только товарищу майору а не всем подряд(пусть даже из-за ошибок пользователя).
Так-так, поясните, пожалуйста, дилетанту. Вот у меня подключен к компу USB-сканер отпечатка пальца, с помощью которого я вхожу в учетку Windows через службу Hello. Раз Hello поддерживает WebAuth, то по идее я могу подружить Firefox со своим сканером и входить на поддерживающие WebAuth сайты, прикладывая палец? А как это включить?
Входить не получиться — на сайт удёт не твой отпечаток а ID-аудентификатора, который привязан к ноутбуку. Так что палец можно будет использовать только на том же ноутбуке. А такое ограничение бессмысленно для логина.

Зато такая штука полезна для «ре-логина» — убедиться, что никто другой не начал использовать твой ноутбук.

а Windows Helo - чисто локальная служба, или она синхронизируется в Домашней Группе / Домене / учётке Microsoft.com ?

Если последнее, то вполне себе должно быть можно на разных компьютерах - лишь бы аккаунт windows был один и тот же.

Представьте себя на месте не технического специалиста, а обычного человека, который хочет воспользоваться этой возможностью. Я задавал вопрос техподдержке о списке поддерживаемых ключей и не получил никакого ответа. Ключ стоит 2-5тр, вдруг человек купит не тот, что с ним потом делать?

Подскажите пожалуйста, можно ли как-то сделать, чтобы почта принадлежала конкретному человеку? Чтобы в случае взлома/утери ключа прийти куда-то с паспортом и (платно) восстановить аккаунт.
Все WebAuthn-сайты могут работать со всеми WebAuthn-ключами (собственно для таких гарантий и делали стандарт).

Есть редкое исключение — WebAuthn-сайт может требовать конкретные ключи. Например, так как они прошли какую-то сертификацию. Но это редкий кейс — в живой природе его пока нет, эта технология для корпоративных-систем, где тебе ключ выдаёт компания.
Представьте себя на месте не технического специалиста, а обычного человека, который хочет воспользоваться этой возможностью. Я задавал вопрос техподдержке о списке поддерживаемых ключей и не получил никакого ответа. Ключ стоит 2-5тр, вдруг человек купит не тот, что с ним потом делать?

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


Подскажите пожалуйста, можно ли как-то сделать, чтобы почта принадлежала конкретному человеку? Чтобы в случае взлома/утери ключа прийти куда-то с паспортом и (платно) восстановить аккаунт.

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

Добро пожаловать в семью, Mail.ru!


Я собственно работаю на FIDO Alliance и один из котрибьюторов в WebAuthn.


Вот советую почитать мою прошлую статью: "FIDO2, пароли must die!" https://habr.com/ru/post/354638/


Буду рад ответить на любые вопросы

Когда нам всем дадут использовать Android девайсы как fido2 ключи? :)

Как платформенный аутентификатор, то уже можно. Если вы про Bluetooth, то надеюсь скоро? Я не работаю на гугл так что не знаю *)

Да, я про Bluetooth, конечно :)
То, что сейчас у гугла с гуглоучеткой — это не совсем FIDO, от гугла через интернет на смарт прилетает пуш, он проверяет связь по BT, выводит сообщение с подтверждением, и только после этого происходит авторизация по BT. Без интернета на смартфоне, чисто по BT, оно не работает. Да и так на практике у меня оно работает через раз, из серии вчера логинилось — сегодня на этапе авторизации ошибка, а через час оно просто возьмет и заработает снова. Возможного дебага, как обычно, ноль.

Тут жёстко требуется именно FIDO2? FIDO-U2F не хватит?


Просто буквально в этом месяце была речь о прошивке st-link программатора в ключ gnuk. И там же была тема о запиливании в него же fido-u2f. Поэтому если последнего достаточно, то ключ за полтора доллара можно сделать довольно быстро.

Все FIDO2 сервера совместимы с U2F. Для второго фактора да, U2F хватит. А вот для беспарольной аутентификации нужен FIDO2.

Отличная статья, как раз изучаю тему, только вспоткнулся тут:

«Значительный рывок вперёд в популярности WebAuthn может произойти, когда инженеры компании Google закончат разработку и тестирование возможности использования смартфонов на OC Android и iOS в качестве внешних физических электронных ключей для WebAuthn и откроют эту возможность для всех интернет-сервисов»

Что имеется ввиду под внешними ключами? Я же уже сейчас могу использовать смартфон как Authentificator по отпечатку пальца?

Насколько я знаю, сейчас использовать смартфон как электронный ключ WebAuthn можно только с сервисами от Google (Gmail). Эту технологию ещё не сделали полностью доступной всем сервисам

На днях включили поддержу в iOS 15.4, надо отсканировать QR код на экране декстоп сафари с коллбеком и закончить вход на телефоне :)

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

Зарегистрируйтесь на Хабре, чтобы оставить комментарий