Как настроить смартфоны и ПК. Информационный портал
  • Главная
  • Железо
  • Электронные ключи. Двухфакторная аутентификация — это просто, на примере JaCarta U2F

Электронные ключи. Двухфакторная аутентификация — это просто, на примере JaCarta U2F

И, конечно, покажем несколько примеров его использования.

О чем думает человек, услышав упоминание слов типа двухфакторная аутентификация, электронный ключ, USB-токен, смарт-карта? Человек, далекий от погружения в технологии ИБ, может быть вспомнит одноразовые смс-пароли для входа в банк, а кто-то подумает про инфраструктуры открытых ключей, сертификаты, цепочки доверия.

А тем временем, разработанный альянсом FIDO протокол U2F набирает популярность среди интернет-компаний и показывает, что двухфакторная аутентификация - не только безопасно, но легко и просто, а главное понятно для конечного пользователя, нетехнического специалиста.

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

Таких сервисов уже довольно много, и список их постоянно расширяется. Сначала стандарт U2F поддерживали Google (gmail, youtube, etc), Dropbox, Github. Сейчас присоединились Facebook, Salesforce, Bitbucket, Dashlane и другие сервисы и компании. Большое развитие U2F получил в криптовалютной среде на различных крипто-биржах и крипто-кошельках, например Bitfinex, Coinbase и другие. Об этом мы поговорим отдельно чуть позже.

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

Если сервис сам пока не добавил возможность привязать U2F-ключ в качестве аутентификатора, возможно, это получится осуществить через провайдеров двухфакторной аутентификации, например, duo security , причем доступ можно будет настроить не только в web-приложения. Строго говоря, такие облачные платформы в качестве аутентификаторов используют не только U2F, и их возможности гораздо шире. Но не отметить эту возможность в нашей обзорной статье мы также не могли.

Еще один из способов интеграции U2F мы предусмотрели в нашем сервере аутентификации JaCarta Authentication Server (JAS) , встраивание происходит путем настройки сервера и добавления необходимого кода на сайт, доступ к которому необходимо защитить.

Примеры настройки и использования

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

А для примера аутентификации с использованием облачного провайдера аутентификации сервис duo.com и web-сайт на платформе WordPress.

Теперь проверим вход.

Чтобы зайти в профиль учётной записи Google с помощью JaCarta U2F, выполните следующее.

Аутентификация в Web-сайт на WordPress с использованием облачного провайдера аутентификации duo.com

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

Со стороны Web-сайта добавьте Duo-плагин, для этого в меню Плагины в поиске найдите Duo-Two-Factor Authentication и нажмите Установить. После установки нажмите Активировать.


Значения этих полей нужно перенести в соответствующие поля плагина на Web-сайте.

Ремонт всех электронных устройств, том числе и телевизора PHILIPS 40PFL3108T/60, целесообразно начинать с внешнего осмотра его внешних и внутренних элементов. В некоторых случаях видимые внешние повреждения элементов могут подсказать направления поиска неисправности и локализации дефекта ещё до начала проведения необходимых измерений в контрольных точках узлов электронных схем. В некоторых случаях неисправные элементы видно невооружённым глазом, например, обугленные резисторы или вздувшиеся металлокерамические конденсаторы, либо электролитические в фильтрах выпрямителей. Образовавшиеся кольцевые трещины в пайках выводов трансформаторов или греющихся элементов схемы так же являются частыми источниками многих неисправностей с самыми различными внешними проявлениями.

Если телевизор 40PFL3108T не включается, не издаёт никаких звуков при включении, а так же на передней панели не горят и не моргают никакие индикаторы, - есть большая вероятность неисправности в модуле питания. В некоторых случаях может быть неисправен только стабилизатор или преобразователь питания процессора управления, что характерно для некоторых моделей PHILIPS. Диагностику и ремонт общего блока питания всегда следует начинать с проверки сетевого предохранителя и состояния электролитических конденсаторов фильтров вторичных выпрямителей. Неисправные и вздутые конденсаторы следует заменить на новые. При обрыве предохранителя, целесообразно проверить на пробой, в первую очередь, все силовые полупроводниковые элементы преобразователя и диодный мост выпрямителя сети, а так же большой электролитический конденсатор фильтра сетевого выпрямителя.
Ключи Mos-Fet, используемые в импульсных источниках питания (ИИП), крайне редко выходят из строя без причин, которые необходимо искать, проверяя другие элементы схемы. Часто пробой вызван неисправностями электролитических конденсаторов или полупроводниковых элементов в первичной цепи, либо обрывом резисторов в цепях стабилизации. Микросхема ШИМ-контроллера так же может быть причиной пробоя силового ключа преобразователя.

Если у телевизора PHILIPS 40PFL3108T нет изображения, а звук есть, вероятна неисправность в цепях LED подсветки панели LTA400HM23 001 SAMSUNG код 182 996590004008. Так же необходимо проверить исправность электролитических конденсаторов фильтра вторичных выпрямителей БП (блока питания) на предмет завышенного ESR.
Часто возникает необходимость в разборке панели чтобы проверить исправность светодиодов, а так же контактных соединений в разъёмах и пайках.
При попытке выявления обрыва в линейках светодиодов следует учитывать, что сделать это без разборки панели затруднительно. Необходим, например, источник тока, чтобы открыть PN-переходы, соединённые последовательно.

В случаях попытки ремонта материнской платы 715G5155-M02-002-005K DSM2201S, необходимо проверить работоспособность стабилизаторов или преобразователей питания её микросхем и, при возможности, произвести обновление программного обеспечения (ПО). Чипы BGA в большинстве случаев можно диагностировать с помощью локального нагрева.

Перед заменой тюнера ENV57U04D8F 996590004709, если нет настройки на каналы, прежде необходимо проверить напряжения питания на его выводах, в том числе питания варикапов (30-33V).

Ещё раз напоминаем пользователям! Попытки самостоятельного ремонта телевизора PHILIPS 40PFL3108T без соответствующей квалификации и опыта могут привести к его полной неремонтопригодности!

Типовые неисправности связанные с отсутствием изображения PHILIPS 40PFL3108T/60 возникают в связи с проблемной LED панелью LTA400HM23 001 SAMSUNG код 182 996590004008 производителя Samsung.
Внешние проявления: нет изображения, иногда появляется, но опять пропадает.
В большинстве таких случаев ремонт панели возможен и широко практикуется ремонтниками. Неисправные светодиоды необходимо заменить, а ненадёжные контакты продублировать проводниками. В целях профилактики целесообразно дублировать все контактные соединения между светодиодными планками.

Ни для кого не секрет, что сегодня существует большая проблема с безопасностью в интернете. Пользователи используют легкие пароли и переиспользуют их на других ресурсах. Парольные менеджеры все еще в новинку для обычного пользователя, и вашу бабушку вы вряд ли заставите использовать случайные одноразовые пароли с высокой энтропией. Жизнь тлен и боль…


На заре веб2.0 мы стали понимать, что паролей недостаточно и изобрели двухфакторную аутентификацию или 2FA.


Что из себя представляют 2FA решения сегодня?

    SMS - одноразовые пароли отправленные с помощью SMS.

    OTP(TOTP/HOTP) - одноразовые пароли, сгенерированные на основе мастер ключей. Примеры: Google Authenticator, Yubikey, банковские OTP токены.

  • Криптографические Токены - аппаратные средства для многофакторной аутентификации пользователей. Примеры: RSA SecureID, Рутокен.

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



Причин много:

    Фишинг - практически все перечисленные решения уязвимы к MITM (человек посередине) атакам, и соответственно фишингу. Что остановит пользователя, который уже ввел свой логин и пароль, от введения одноразового пароля?

    Безопасность - в данном случае я буду говорить именно про SMS. SMS на данный момент самое популярное решение 2FA на рынке. Истории о перевыпуске сим карты случались не только в России, но и в США , ЮАР , Великобритании и других странах. Почти все провайдеры предоставляют возможность восстановления сим-карт, и методы социальной инженерии еще никто не отменял.

    Стоимость - если вы швейцарский банк, и ваш клиент хранит семизначные суммы иностранной валюты, то RSA токены это мизерная цена для обеспечения безопасности аккаунтов ваших клиентов. А если вы Twitter или Facebook, то выдавать недешевые токены каждому пользователю просто невозможно. SMS тоже стоит денег, и если вы держите любительский аниме форум о дискуссиях про то как пропатчить KDE под FreeBSD, то вы вряд ли сможете позволить себе SMS.

    Совместимость - никто не любит возиться с драйверами, и это одна из причин того, что RSA и Рутокен все еще не завоевали мир.

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

Этот список можно еще долго продолжать, но я думаю что мысль донесена. Сегодняшние решения не в состоянии надежно защитить пользователя, сложны в применении, дороги и не универсальны.

FIDO U2F - Универсализируем второй фактор

В 2013 году в Кремниевой Долине был организован FIDO (Fast IDentity Online) альянс для того, чтобы адресовать проблемы легкой и безопасной аутентификации в интернете. На данный момент FIDO имеет более трёхсот ассоциативных членов и тридцать членов правления. В список членов правления входят такие компании как Google, Yubico, Microsoft, Visa, Mastercard, American Express, Paypal и другие .


Основные цели, которые FIDO ставит перед собой, это простые в использовании, безопасные, приватные и стандартизированные решения.


На данный момент FIDO представили два стандарта: U2F (Universal Second Factor) - универсальный второй фактор, UAF (Universal Authentication Framework) - универсальный аутентификационный фреймворк для биометрической аутентификации. Сегодня мы поговорим о U2F. Если тема будет интересна, то в будущем я могу написать статью по UAF.


U2F это открытый, бездрайверный протокол для двухфакторной аутентификации, основанный на вызов-ответной аутентификации с помощью электронной цифровой подписи.

Как это работает?

У U2F протокола три уровня абстракции: Пользователь, Браузер(тех. Клиент) и сам Протокол.

Пользователь

Для пользователя все достаточно просто. Пользователь вводит логин и пароль, вставляет U2F устройство, нажимает кнопку и успешно проходит аутентификацию. Собственно об этом ранее уже на ХабраХабре.

Браузер


Алгоритм взаимодействия с U2F на стороне браузера такой:

    Пользователь проходит верификацию логина и пароля

    Зависимая сторона, Google например, через U2F JS API запрашивает подпись вызова(challenge)

  • Браузер пересылает запрос устройству

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

    Браузер передает подпись зависимой стороне

  • Зависимая сторона верифицирует подпись

Протокол - или пять с половиной шагов к безопасной двухфакторной аутентификации

Шаг первый - Вызов-Ответ


Для начала мы производим простой вызов-ответ. Сервер посылает нам случайный вызов. Наше устройство подписывает вызов и возвращает подпись серверу, после чего сервер сверяет подпись.

Шаг второй - Защита от фишинга


Сам по себе вызов-ответ не решает проблемы фишинга, так как если вы залогинились на rn ail.ru вместо mail.ru, то ваша подпись все еще может быть использована для входа в ваш аккаунт. Для защиты от этого браузер к вызову добавляет URL, с которого был произведен запрос на подпись, и ID канала TLS, после чего зависимая сторона сверяет эти данные.

Шаг третий - Приватность или регистрационно-зависимая пара ключей


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


Чтобы сохранить приватность при регистрации, зависимая сторона передает ID приложения (AppID) и семя (случайное число). На основе этих данных устройство генерирует уникальную регистрационно-зависимую пару ключей. Как устройство генерирует пару не описано в протоколе, а полностью отдано на усмотрение изготовителя устройства. Например, каждый Yubikey имеет свой мастер ключ, который в связке с HMAC и ГПСЧ (Генератор псевдослучайных чисел) генерирует новую пару.


https://developers.yubico.com/U2F/Protocol_details/Key_generation.html


За счет того, что пара ключей уникальна для каждой регистрации, становится возможным использовать совместно одно U2F устройство для множества аккаунтов.

Шаг четвертый - Защита от клонирования


Так как U2F это только протокол, то он может иметь разные имплементации, в железе и ПО. Некоторые имплементации могут быть не устойчивыми к клонированию. Для защиты от этого U2F устройство имеет встроенный счетчик. Каждая подпись и регистрация увеличивает состояние счетчика на единицу. Состояние счетчика подписывается и возвращается зависимой стороне. Если U2F устройство было склонировано, то состояние счетчика клонированного устройства скорее всего будет меньше чем состояние счетчика оригинального устройства, что вызовет ошибку во время верификации.

Шаг пятый- Аттестация Ключа


Разные имплементации протокола могут быть быть небезопасны. Чтобы избежать этого, каждое U2F устройство имеет встроенный партийный сертификат, который устанавливается приблизительно на каждые сто тысяч устройств. Каждая подпись и регистрация дополнительно подписывается сертификатом, публичный ключ которого находится в публичной директории.


Зачем это надо? Например, если вы - форум о котятах, то вы возможно не сильно волнуетесь о том, насколько безопасны U2F устройства ваших пользователей, а если вы банк, то возможно вы разрешите только устройства, выполненные в железе, и только если они сертифицированы FIDO альянсом.

Шаг шесть с половиной - Защита от перебора


В ситуации, когда пользователь находится вдали от своего устройства, вредоносное программное обеспечение может попытаться атаковать устройство методом полного перебора или другими видами атак. Для защиты от этого U2F стандарт требует чтобы все имплементации, в железе и ПО, активировались пользователем. Пользователь обязан подтвердить свое решение на двухфакторную аутентификацию. Этим действием может быть простое нажатие на кнопку, ввод пин-кода, снятие отпечатка пальца или другое.

Сервисы с множественными точками входа

Возьмем для примера Gmail.



В Gmail можно войти как с веб интерфейса, так и с мобильного. Как можно произвести авторизацию пользователя с андроид приложения, если AppID нашего приложения и AppID сервиса будут различаться?


Для этого есть фасеты (facets).


Фасеты - это JSON файл со списком всех ID, которым разрешается производить аутентификацию для выбранного сервиса. Для примера, вот фасеты Google:


{ "trustedFacets": [{ "version": { "major": 1, "minor" : 0 }, "ids": [ "https://accounts.google.com", "https://myaccount.google.com", "https://security.google.com", "android:apk-key-hash:FD18FA800DD00C0D9D7724328B6...", "android:apk-key-hash:Rj6gA3QDA2ddyQyi21JXly6gw9...", "ios:bundle-id:com.google.SecurityKey.dogfood" ] }] }

Фасеты должны быть в том же доменном пространстве что и AppID. Например, если наше AppID это https://example.com/facets.json , то https://**security**.example**.com пройдет проверку, а https://security.example .net **нет.


Для мобильных приложений фасеты имеют URI схему вида “OS:TYPE:ID”. Для андроида вычисляется SHA-1 сертификата подписи apk. Для IOS это bundle ID.


Фасеты обязаны раздаваться по HTTPS!

Спецификации


На данный момент готовы спецификации для USB, NFC и Bluetooth LE.

Поддержка браузерами


Chrome поддерживает U2F из коробки с начала 2015. U2F поддержка в Firefox в данный момент в активной разработке. Microsoft анонсировала поддержку U2F как для Windows 10 так и для Edge как часть FIDO2.0 стека, и она уже доступна в Insider Build.

Кто использует?


Google, Github, Wordpress, Dropbox, Evernote. Правительство Великобритании недавно ввело поддержку U2F для своих государственных сайтов, что немало доставляет.

Что нужно учесть при переходе на U2F?

    HTTPS ОБЯЗАТЕЛЕН -мало того, что если вы не предоставляете HTTPS своим пользователям, то вас не заботит их безопасность, и U2F вам будет мало интересен. Firefox, Chrome, и Edge требуют HTTPS соединения для использования U2F API.

    Попробуйте TLS SessionID.

  • U2F это второй фактор. Не будьте как банки. Не используйте 2FA как основной фактор.

Подводим итоги

U2F это хорошо продуманная, сильная, открытая и стандартизированная технология. Она была успешно протестирована Google на своих сотрудниках, кои используют U2F на данный момент в качестве основного метода двухфакторной аутентификации.


U2F всего лишь протокол, что влечет за собой создание огромного рынка решений на основе его. От крипто-ключей с безопасным элементом, JavaCard имплементаций, до мобильных приложений и биометрически-защищенных U2F устройств, U2F дает свободу вашей фантазии втом, где его можно применить.

  • fido u2f
  • Добавить метки

    Электронные ключи входят в состав многих импульсных устройств. Основу любого электронного ключа составляет активный элемент (полупроводниковый диод, транзистор), работающий в ключевом режиме. Ключевой режим характеризуется двумя состояниями ключа: "Включено" – "Выключено". На рисунке приведены упрощённая схема и временные диаграммы идеального ключа. При разомкнутом ключе

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


    рис. 1.1. Схема, временные диаграммы тока и выходного напряжения идеального ключа.

    падением напряжения на ключе в замкнутом состоянии

    ;

    током через ключ в разомкнутом состоянии

    ;

    временем перехода ключа из одного состояния в другое (временем переключе­ния)

    .

    Чем меньше значения этих величин, тем выше качество ключа.

    2. Диодные ключи

    Простейший тип электронных ключей – диодные ключи. В качестве активных элементов в них используются полупроводниковые или электровакуумные диоды.

    При положительном входном напряжении диод открыт и ток через него

    ,
    где - прямое сопротивление диода.

    Выходное напряжение

    . , тогда . При отрицательном входном напряжении ток идет через диод , - обратное сопротивление диода.

    При этом выходное напряжение

    .

    Как правило,

    и . При изменении полярности включения диода график функции повернется на угол вокруг начала координат.


    рис. 1.2. Схема и передаточная характеристика последовательного диодного ключа с нулевым уровнем включения.

    Приведенной выше схеме соответствует нулевой уровень включения (уровень входного напряжения, определяющий отрицание или запирание диода). Для изменении уровня включения в цепь ключа вводят источник напряжения смещения

    . В этом случае при диод открыт и , а при - закрыт и . Если изменить поляр­ность источника , то график функции приобретет вид, показанный пунктирной линией.


    рис. 1.3. Схема и передаточная характеристика последовательного диодного ключа с ненулевым уровнем включения.

    В качестве источника

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

    Диодные ключи не позволяют электрически разделить управляющую и управляемые цепи, что часто требуется на практике. В этих случаях используются транзисторные ключи.

    3. Транзисторные ключи



    рис. 1.4. Схема и характеристики режима работы ключа на биполярном транзисторе.

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

    на выходных характеристиках транзистора; его называют режимом отсечки. В режиме отсечки ток базы , коллекторный ток равен начальному коллекторному току, а коллекторное напряжение . Режим отсечки реализуется при отрицательных потенциалах базы. Второе состояние определяется точкой и называется режимом насыщения. Он реализуется при положительных потенциалах базы. При этом ток базы определяется в основном сопротивлением резистора и , поскольку сопротивление открытого эмиттерного перехода мало. Коллекторный переход тоже открыт, и ток коллектора , а коллекторное напряжение . Из режима отсечки в режим насыщения транзистор переводится под воздействием положительного входного напряжения. При этом повышению входного напряжения (потенциала базы) соответствует понижение выходного напряжения (потенциала коллектора), и наоборот. Такой ключ называется инвертирующим (инвертором). В рассмотренном транзисторном ключе уровни выходного напряжения, соответствующие режимам отсечки и насыщения стабильны и почти не зависят от температуры. Повторяющий ключ выполняют по схеме эмиттерного повторителя.

    Время переключения ключей на биполярных транзисторах определяется барьерными емкостями p-n-переходов и процессами накопления и рассасывания неосновных носителей заряда в базе. Для повышения быстродействия и входного сопротивления применяют ключи на полевых транзисторах.

    Лучшие статьи по теме