Многофакторная (двухфакторная) аутентификация. Как отключить двухфакторную аутентификацию в Apple ID и исправить распространённые ошибки

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

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

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

SMS-коды

Ken Banks/flickr.com

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

Преимущества

  • Генерация новых кодов при каждом входе. Если злоумышленники перехватят ваш логин и пароль, они ничего не смогут сделать без кода.
  • Привязка к телефонному номеру. Без вашего телефона вход невозможен.

Недостатки

  • При отсутствии сигнала сотовой сети вы не сможете залогиниться.
  • Существует теоретическая вероятность подмены номера через услугу оператора или работников салонов связи.
  • Если вы авторизуетесь и получаете коды на одном и том же устройстве (например, смартфоне), то защита перестаёт быть двухфакторной.

Приложения-аутентификаторы


authy.com

Этот вариант во многом похож на предыдущий, с тем лишь отличием, что, вместо получения кодов по SMS, они генерируются на устройстве с помощью специального приложения (Google Authenticator , Authy). Во время настройки вы получаете первичный ключ (чаще всего - в виде QR-кода), на основе которого с помощью криптографических алгоритмов генерируются одноразовые пароли со сроком действия от 30 до 60 секунд. Даже если предположить, что злоумышленники смогут перехватить 10, 100 или даже 1 000 паролей, предугадать с их помощью, каким будет следующий пароль, просто невозможно.

Преимущества

  • Для аутентификатора не нужен сигнал сотовой сети, достаточно подключения к интернету при первичной настройке.
  • Поддержка нескольких аккаунтов в одном аутентификаторе.

Недостатки

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

Проверка входа с помощью мобильных приложений

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

Преимущества

  • Не нужно ничего вводить при входе.
  • Независимость от сотовой сети.
  • Поддержка нескольких аккаунтов в одном приложении.

Недостатки

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

Аппаратные токены


yubico.com

Физические (или аппаратные) токены являются самым надёжным способом двухфакторной аутентификации. Будучи отдельными устройствами, аппаратные токены, в отличие от всех перечисленных выше способов, ни при каком раскладе не утратят своей двухфакторной составляющей. Чаще всего они представлены в виде USB-брелоков с собственным процессором, генерирующим криптографические ключи, которые автоматически вводятся при подключении к компьютеру. Выбор ключа зависит от конкретного сервиса. Google, например, рекомендует использовать токены стандарта FIDO U2F, цены на которые начинаются от 6 долларов без учёта доставки.

Преимущества

  • Никаких SMS и приложений.
  • Нет необходимости в мобильном устройстве.
  • Является полностью независимым девайсом.

Недостатки

  • Нужно покупать отдельно.
  • Поддерживается не во всех сервисах.
  • При использовании нескольких аккаунтов придётся носить целую связку токенов.

Резервные ключи

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

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

Где можно и нужно включить двухфакторную аутентификацию, а также о том, какие сервисы её поддерживают, можно прочесть .

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

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

Интересно? Тогда продолжим, а я постараюсь вас не разочаровать.

Что такое аутентификация?

На самом деле, это та процедура, которая хорошо знакома не только нам (современным жителям), но и нашим далеким предкам (практически испокон веков).

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

Разложим в этом примере все по полочкам:

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

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

Еще один пример. Печать на документе (в паспорте, сургучная печать на старинных письмах).

Как видите — все предельно просто. Но сегодня под этим термином чаще всего понимают именно электронную аутентификацию , т.е. процесс входа на сайты, сервисы, в системы, программы и даже подключение к домашней WiFi сети. Но по сути, тут мало отличий от приведенного примера.

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

Как я уже говорил выше, существует несколько типов аутентифаторов :

Как видите, нет идеала. Поэтому зачастую для усиления безопасности используют так называемую двухфакторную (двухэтапную) аутентификацию. Давайте рассмотрим на примере.

Двухфакторная (2FA — двухэтапная) аутентификация

Например, во , и прочих сервисах связанных с доступом к деньгам, двухфакторная аутентификация сводится к следующему:


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

Но это лишь один из примеров двухфакторной аутентификации (2FA) . Возьмем уже упоминавшиеся выше банковские карты. Тут тоже используется два этапа — проверка подлинности с помощью устройства (идентификационного кода на карте) и с помощью ввода личного пароля (пинкода).

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

В большинстве случаев хватает совмещения двух факторов и при этом не доставляет очень уж больших неудобств при частом использовании.

Ошибки аутентификации

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

Допустим, что вы хотите подключить компьютер или смартфон к имеющейся у вас в квартире беспроводной сети. Для этого от вас потребуют ввести название сети (идентификатор) и пароль доступа (аутентификатор). Если все введено правильно, то вас авторузует и вы получите доступ с подключаемого устройства в интернет.

Но иногда вам при этом может выдаваться сообщении об ошибке аутентификации . Что в этом случае вам сделать?

  1. Ну, во-первых, проверить правильность вводимых данных. Часто при вводе пароль закрывается звездочками, что мешает понять причину ошибки.
  2. Часто используются пароли с символами в разных регистрах (с большими и маленькими буквами), что не все учитывают при наборе.
  3. Иногда причиной ошибки может быть не совсем очевидная двухфакторная система проверки подлинности. Например, на роутере может быть включена блокировка доступа по . В этом случае система проверяет не только правильность ввода логина и пароля, но и совпадение Мак-адреса устройства (с которого вы осуществляете вход) со списком разрешенных адресов. В этом случае придется лезть в настройки роутера (через браузер с подключенного по Lan компьютера) и добавлять адрес этого устройства в настройках безопасности беспроводной сети.

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

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

Удачи вам! До скорых встреч на страницах блога сайт

посмотреть еще ролики можно перейдя на
");">

Вам может быть интересно

Аутентичный - это какой, что означает аутентичность Яндекс Аккаунт - регистрация и как пользоваться сервисом Как удалить свою страницу на Одноклассниках
Как восстановить страницу в Контакте (при утере доступа, удалении или блокировке)
Как поставить пароль на папку (заархивировать или другим способом запаролить ее в Windows) Почему не загружается ВК и браузер не заходит во Вконтакте Идентификация - что это такое и как подтверждается идентичность

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

Что такое двухфакторная аутентификация (2FA)

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

Двухфакторная аутентификация (Two-Factor Authentication) - это дополнительный, надежный процесс обеспечения безопасности, я бы назвал его расширенная аутентификация, которая требует от пользователя, получающего доступ к устройству или сервису. еще один из ключей безопасности, в качестве которого можете быть код безопасности из SMS, временный код сгенерированный с помощью специального приложения. которое обновляет их каждые 25 секунд.

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

Как работает двухфакторная защита

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

Таня логиниться на почте, указывая логин и пароль. Gmail предлагает ей настроить двухфакторную аутентификацию, через привязку к номеру телефона, где будет получать SMS коды или через установку приложения Authenticator, которое будет генерировать каждые 25 секунд коды безопасности, если его не успели ввести, то будет новый 6-ти значный код. Таня их устанавливает и включает двухфакторную защиту.

Теперь при следующей авторизации, Тане нужно будет ввести по мимо классических средств защиты (Логина и пароля), код из SMS или из утилиты Authenticator, так же установленной на ее смартфоне. Как только она это делает, то получает доступ к сервису.

Плюсы и минусы двухфакторной аутентификации

Начну с плюсов, этой технологии:

  • Очень высокая степень защиты, я бы ей дал 99%, так как все привязано к номеру телефона, который будет очень сложно скомпрометировать
  • Всегда под рукой
  • Коды доступа часто меняются

Из минусов можно выделить вот что:

  • Так как все привязано к номеру телефона, то при его утере, будет затруднены доступы к вашим сервисам, хотя на большинстве из них и есть процедура восстановления, но она очень трудоемкая
  • Вероятность установить или занести вирус в устройство, которое будет передавать ваши данные злоумышленникам
  • Может разрядиться устройство в нужный момент
  • Мобильный телефон всегда должен видеть сеть оператора, иначе не будет возможности получать SMS или коды.
  • Бывают сервисы, которые в качестве многофакторной защиты используют, дополнительный код отправленный на электронную почту, поэтому, чтобы вас не скомпрометировали, обязательно включите двухфакторную аутентификацию на самой почте, а то ее взломают и будет веселье.
  • Например, SMS оповещения, могут приходить с задержкой, такое встречал у Сбербанка или ВТБ24 .

Виды двухфакторной аутентификации

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

Какой метод двухфакторной аутентификации 2FA лучше

Тут я долго расписывать не буду, выделю два, и оба они будут привязаны к вашему мобильному телефону. Это SMS и Push -уведомления и более надежный с использованием программ Authenticator . Плюсы, что все это бесплатно, телефон мобильный есть у всех, и главное, это надежно.

Какой выбрать программный Authenticator 2FA

Давайте я вам опишу, какой аутентификатор я бы посоветовал выбрать

  • Google Authenticator - самый популярный в мире аутентификатор,используемый при двухфакторной защите, в виду популярности Google как компании и конечно же количеству сервисов, которая она предоставляет.
  • Fido - второй по популярности защитник (https://www.yubico.com/solutions/fido-u2f/)

Как взломать двухфакторную аутентификацию 2FA

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

Как восстановить двухфакторную аутентификацию

Если вы потеряли свой телефон и хотите восстановить свой доступ, то алгоритм такой:

  1. Если есть возможность быстрее восстановите симкарту и телефон
  2. Перед активацией программного Authenticator, сервисы вам выдают секретные коды восстановления или QR-код, у вас огни должны быть
  3. Если кодов нет, то придется писать в техническую поддержку, и доказывать, что вы это вы, подготовьте обязательно все ваши данные и документы, но это прокатит, если у вас все было корректно и полностью заполнено, а не просто хозяин учетной записи megapixar123:))

Как отключить двухфакторную защиту?

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

Редкий пост в блоге Яндекса, а особенно касающийся безопасности, обходился без упоминания двухфакторной аутентификации. Мы долго думали, как правильно усилить защиту пользовательских аккаунтов, да еще так, чтобы этим мог пользоваться без всех тех неудобств, которые включают в себя самые распространённые ныне реализации. А они, увы, неудобны. По некоторым данным, на многих крупных сайтах доля пользователей, включивших дополнительные средства аутентификации, не превышает 0,1%.

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

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

После включения двухфакторной аутентификации в Паспорте вам надо будет установить приложение Яндекс.Ключ в App Store или Google Play . В форме авторизации на главной странице Яндекса, в Почте и Паспорте появились QR-коды. Для входа в учётную запись необходимо считать QR-код через приложение - и всё. Если считать QR-код не получается, например не работает камера смартфона или нет доступа к интернету, приложение создаст одноразовый пароль, который будет действовать всего 30 секунд.

Расскажу о том, почему мы решили не использовать такие «стандартные» механизмы, как RFC 6238 или RFC 4226 . Как работают распространенные схемы двухфакторной аутентификации? Они двухэтапные. Первый этап ─ обычная аутентификация логином и паролем. Если он прошел успешно, сайт проверяет, «нравится» ему эта пользовательская сессия или нет. И, если «не нравится», просит пользователя «доаутентифицироваться». Распространенных методов «доаутентификации» два: отсылка SMS на привязанный к аккаунту номер телефона и генерация второго пароля на смартфоне. В основном для генерации второго пароля используется TOTP по RFC 6238. Если пользователь ввел второй пароль верно, сессия считается полностью аутентифицированной, а если нет, то сессия теряет и «предварительную» аутентификацию.

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

Что показалось нам проблемным в этой схеме?

Начнем с того, что компьютер среднестатистического пользователя не всегда можно назвать образцом защищенности: тут и выключение обновлений Windows, и пиратская копия антивируса без современных сигнатур, и ПО сомнительного происхождения ─ все это не повышает уровень защиты. По нашей оценке, компрометация компьютера пользователя ─ самый массовый способ «угона» учетных записей (и недавно тому было еще одно подтверждение), от нее в первую очередь и хочется защититься. В случае двухэтапной аутентификации, если считать, что компьютер пользователя скомпрометирован, ввод пароля на нем компрометирует сам пароль, являющийся первым фактором. Значит, злоумышленнику необходимо лишь подобрать второй фактор. В случае распространенных реализаций RFC 6238 второй фактор ─ это 6 десятичных цифр (а максимум, предусмотренный спецификацией, ─ 8 цифр). Согласно калькулятору bruteforce для OTP , за три дня атакующий в состоянии подобрать второй фактор, если ему каким-либо образом стал известен первый. Нет ясности, что сервис может противопоставить этой атаке, не нарушая нормальную работу пользователя. Единственный возможный proof of work ─ капча, что, на наш взгляд, является последним средством.

Вторая проблема ─ непрозрачность суждения сервиса о качестве пользовательской сессии и принятия решения о необходимости «доаутентификации». Хуже того, сервис не заинтересован в том, что бы сделать этот процесс прозрачным, ─ ведь тут фактически работает security by obscurity. Если злоумышленник знает, на основании чего сервис принимает решение о легитимности сессии, он может попытаться подделать эти данные. Из общих соображений можно заключить, что суждение делается на основе истории аутентификаций пользователя с учетом IP-адреса (и производных от него номера автономной системы, идентифицирующей провайдера, и местоположения на основе геобазы) и данных браузера, например заголовка User Agent и набора cookies, flash lso и html local storage. Это означает, что если злоумышленник контролирует компьютер пользователя, то он имеет возможность не только украсть все необходимые данные, но и воспользоваться IP-адресом жертвы. Более того, если решение принимается на основе ASN, то любая аутентификация из публичного Wi-Fi в кофейне может привести к «отравлению» с точки зрения безопасности (и обелению с точки зрения сервиса) провайдера этой кофейни и, например, обелению всех кофеен в городе. Мы рассказывали о работе системы обнаружения аномалий , и ее можно было бы применить, но времени между первым и вторым этапом аутентификации может оказаться недостаточно для уверенного суждения об аномалии. Кроме того, этот же аргумент разрушает идею «доверенных» компьютеров: злоумышленник может украсть любую информацию, влияющую на суждение о доверенности.

Наконец, двухэтапная аутентификация попросту неудобна: наши usability-исследования показывают, что ничто так не раздражает пользователей, как промежуточный экран, дополнительные нажатия на кнопки и прочие «неважные», с его точки зрения, действия.
Исходя из этого, мы решили, что аутентификация должна быть одноэтапной и пространство паролей должно быть намного больше, чем возможно сделать в рамках «чистого» RFC 6238.
При этом нам хотелось по возможности сохранить двухфакторность аутентификации.

Многофакторность в аутентификации определяется отнесением элементов аутентификации (собственно, они и называются факторами) к одной из трех категорий:

  1. Факторы знания (это традиционные пароли, пин-коды и все, что на них похоже);
  2. Факторы владения (в используемых OTP-схемах, как правило, это смартфон, но может быть и аппаратный токен);
  3. Биометрические факторы (отпечаток пальца ─ самый распространенный сейчас, хотя кто-то вспомнит эпизод с героем Уэсли Снайпса в фильме Demolition Man).

Разработка нашей системы

Когда мы начали заниматься проблемой двухфакторной аутентификации (первые страницы корпоративной вики по этому вопросу относятся к 2012 году, но кулуарно он обсуждался и раньше), первой идеей было взять стандартные способы аутентификации и применить их у нас. Мы понимали, что нельзя рассчитывать на то, что миллионы наших пользователей купят аппаратный токен, поэтому этот вариант отложили на какие-то экзотичные случаи (хотя полностью мы от него не отказываемся, возможно, нам удастся придумать что-то интересное). Способ с SMS тоже не мог быть массовым: это очень ненадежный способ доставки (в самый ответственный момент SMS может задержаться или не дойти вовсе), а рассылка SMS стоит денег (и операторы начали увеличивать их цену). Мы решили, что использование SMS ─ удел банков и прочих нетехнологичных компаний, а нашим пользователям хочется предложить что-то более удобное. В общем, выбор был невелик: использовать смартфон и программу в нем в качестве второго фактора.

Широко распространена такая форма одноэтапной аутентификации: пользователь помнит пин-код (первый фактор), имеет на руках аппаратный или программный (в смартфоне) токен, генерирующий OTP (второй фактор). В поле ввода пароля он вводит пин-код и текущее значение OTP.

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

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

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

Итак, у нас есть программа для смартфона, куда пользователь вводит свою часть секрета, та смешивается с хранимой частью, результат используется в качестве ключа HMAC , которым подписывается текущее время, округленное до 30 секунд. Выход HMAC приводится к читаемому виду, и вуаля ─ вот и одноразовый пароль!

Как уже было сказано, RFC 4226 предполагает усечение результата работы HMAC до максимум 8 десятичных цифр. Мы решили, что пароль такого размера непригоден для одноэтапной аутентификации и должен быть увеличен. При этом нам хотелось сохранить простоту использования (ведь, напомним, хочется сделать такую систему, которой будут пользоваться обычные люди, а не только security-гики), так что в качестве компромисса в текущей версии системы мы выбрали усечение до 8 символов латинского алфавита. Кажется, что 26^8 паролей, действующих в течение 30 секунд, вполне приемлемо, но если security margin нас не будет устраивать (или на Хабре появятся ценные советы, как улучшить эту схему), расширим, например, до 10 символов.

Подробнее о стойкости таких паролей

В самом деле, для латинских букв без учета регистра число вариантов на один знак равно 26, для больших и малых латинских букв плюс цифры, число вариантов равно 26+26+10=62. Тогда log 62 (26 10) ≈ 7,9 то есть пароль из 10 случайных малых латинских букв почти такой же стойкий, как пароль из 8 случайных больших и малых латинских букв или цифр. Этого точно хватит на 30 секунд. Если говорить о 8-символьном пароле из латинских букв, то его стойкость log 62 (26 8) ≈ 6,3 , то есть немного больше 6-символьного пароля из больших, малых букв и цифр. Мы считаем, что это все еще приемлемо для окна в 30 секунд.

Магия, беспарольность, приложения и дальнейшие шаги

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

Поэтому мы начали работы над «магическим логином». С таким способом аутентификации пользователь запускает приложение на смартфоне, вводит в него свой пин-код и сканирует QR-код на экране своего компьютера. Если пин-код введен правильно, страница в браузере перезагружается и пользователь оказывается аутентифицирован. Магия!

Как это устроено?

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

Стало лучше, но и тут мы решили не останавливаться. Начиная с iPhone 5S в телефонах и планшетах Apple появился сканер отпечатков пальцев TouchID, а в iOS версии 8 работа с ним доступна и сторонним приложениям. На деле приложение не получает доступ к отпечатку пальца, но если отпечаток верен, то приложению становится доступен дополнительный раздел Keychain. Этим мы и воспользовались. В защищенную TouchID запись Keychain помещается вторая часть секрета, та, которую в предыдущем сценарии пользователь вводил с клавиатуры. При разблокировке Keychain две части секрета смешиваются, и дальше процесс работает так, как описано выше.

Зато пользователю стало невероятно удобно: он открывает приложение, прикладывает палец, сканирует QR-код на экране и оказывается аутентифицированным в браузере на компьютере! Так мы заменили фактор знания на биометрический и, с точки зрения пользователя, совсем отказались от паролей. Мы уверены, что обычным людям такая схема покажется куда более удобной, чем ручной ввод двух паролей.

Можно подискутировать, насколько формально двухфакторной является такая аутентификация, но на деле для успешного ее прохождения все еще необходимо иметь телефон и обладать правильным отпечатком пальца, так что мы считаем, что нам вполне удалось отказаться от фактора знания, заменив его биометрией. Мы понимаем, что полагаемся на безопасность ARM TrustZone , лежащей в основе iOS Secure Enclave , и считаем, что на настоящий момент эту подсистему можно считать доверенной в рамках нашей модели угроз. Разумеется, нам известны проблемы биометрической аутентификации: отпечаток пальца ─ не пароль и заменить его в случае компрометации нельзя. Но, с другой стороны, всем известно, что безопасность обратно пропорциональна удобству, и пользователь сам вправе выбрать приемлемое для него соотношение одного и другого.

Напомню, что пока это бета. Сейчас при включении двухфакторной аутентификации мы временно выключаем синхронизацию паролей в Яндекс.Браузере. Связано это с тем, как устроено шифрование базы паролей. Мы уже придумываем удобный способ аутентификации Браузера в случае 2FA. Вся остальная функциональность Яндекса работает в прежнем режиме.

Вот что у нас получилось. Кажется, вышло неплохо, но судить вам. Мы будем рады услышать отзывы и рекомендации, а сами продолжим работу над улучшением безопасности наших сервисов: теперь вместе с CSP , шифрованием транспорта почты и всего остального у нас появилась и двухфакторная аутентификация . Не забывайте, что сервисы аутентификации и приложения генерации OTP относятся к критичным и поэтому за обнаруженные в них ошибки в рамках программы Bug Bounty выплачивается двойная премия.

Теги: Добавить метки

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

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

Вот эти типы:

  • Нечто, ему известное;
  • Нечто, у него имеющееся;
  • Нечто, ему присущее (биометрика).
Очевидно, что к первому пункту относятся различные пароли, пин-коды, секретные фразы и так далее, то есть что-то, что пользователь запоминает и вводит в систему при запросе.

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

Сегодня в качестве токенов могут выступать смартфоны, потому что они стали неотъемлемой частью нашей жизни. В этом случае так называемый одноразовый пароль генерируется или с помощью специального приложения (например Google Authenticator), или приходит по SMS – это максимально простой и дружественный к пользователю метод, который некоторые эксперты оценивают как менее надежный.

В ходе проведенного исследования, в котором приняли участие 219 человек разных полов, возрастов и профессий, стало известно, что более половины опрошенных используют двухфакторную SMS-аутентификацию в социальных сетях (54,48%) и при работе с финансами (69,42%).

Однако, когда дело касается рабочих вопросов, то здесь предпочтение отдается токенам (45,36%). Но вот что интересно, количество респондентов, пользующихся этими технологиями как добровольно, так и по приказу начальства (или вследствие других вынуждающих обстоятельств), примерно одинаково.

График популярности различных технологий по сферам деятельности

График заинтересованности респондентов в 2FA

Среди токенов можно выделить одноразовые пароли, синхронизированные по времени, и одноразовые пароли на основе математического алгоритма. Синхронизированные по времени одноразовые пароли постоянно и периодически меняются. Такие токены хранят в памяти количество секунд, прошедших с 1 января 1970 года, и отображают часть этого числа на дисплее.

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

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

Иногда 2FA реализуется с применением биометрических устройств и методов аутентификации (третий пункт). Это могут быть, например, сканеры лица, отпечатков пальцев или сетчатки глаза.

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

Если установить разрешение сканера отпечатка пальца на максимум, то вы рискуете не получить доступ к сервису или устройству в том случае, если получили ожог или ваши руки попросту замерзли. Поэтому для успешного подтверждения этого аутентификатора достаточно неполного соответствия отпечатка эталону. Также стоит отметить, что изменить такой «биопароль» физически невозможно.

Насколько надежна двухфакторная аутентификация

Это хороший вопрос. 2FA не является непроницаемой для злоумышленников, однако она серьезно усложняет им жизнь. «Используя 2FA вы исключаете достаточно крупную категорию атак», – говорит Джим Фентон (Jim Fenton), директор по безопасности OneID. Чтобы взломать двухфакторную аутентификацию «плохим парням» придется украсть ваши отпечатки или получить доступ к cookie-файлам или кодам, сгенерированным токенами.

Последнего можно добиться, например, с помощью фишинговых атак или вредоносного программного обеспечения. Есть еще один необычный способ: доступ к аккаунту журналиста Wired Мэтта Хоннана (Matt Honnan) злоумышленники получили с помощью функции восстановления аккаунта.

Восстановление аккаунта выступает в качестве инструмента для обхода двухфакторной аутентификации. Фентон, после истории с Мэттом, лично создал аккаунт в Google, активировал 2FA и притворился, что «потерял» данные для входа. «Восстановление аккаунта заняло некоторое время, но через три дня я получил письмо, что 2FA была отключена», – отмечает Фентон. Однако и у этой проблемы есть решения. По крайней мере, над ними работают.

«Я считаю, что биометрия – это один из таких способов, – говорит технический директор Duo Security Джон Оберхайд (Jon Oberheide). – Если я потеряю свой телефон, то чтобы восстановить все аккаунты мне не хватит вечности. Если бы существовал хороший биотметрический метод, то он бы стал надежным и полезным механизмом восстановления». По сути, Джон предлагает использовать одну форму 2FA для аутентификации, а другую – для восстановления.

Где применяется 2FA

Вот несколько основных сервисов и социальных сетей, которые предлагают эту функцию – это Facebook, Gmail, Twitter, LinkedIn, Steam. Их разработчики предлагают на выбор: SMS-аутентификацию, список одноразовых паролей, Google Authenticator и др. Недавно 2FA ввел Instagram, чтобы защитить все ваши фотографии.

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

По большей части отношение к этому зависит от терпеливости пользователя и желания повысить безопасность аккаунта. Фентон высказал следующую мысль: «2FA – это хорошая штука, но она способна усложнить жизнь пользователям. Потому имеет смысл вводить её только для тех случаев, когда вход осуществляется с неизвестного устройства».

Двухфакторная аутентификация не панацея, но она помогает серьезно повысить защищенность аккаунта, затратив минимум усилий. Усложнение жизни взломщиков – это всегда хорошо, потому пользоваться 2FA можно и нужно.

Что ждет 2FA

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

Оберхайд отмечает , что многие пользователи, которые скептически относились к двухфакторной аутентификации, очень скоро обнаруживали, что здесь все не так сложно. Сегодня 2FA переживает настоящий бум, а любую популярную технологию гораздо проще совершенствовать. Несмотря на наличие сложностей, её ждет светлое будущее.

P.S. Кстати, совсем недавно мы внедрили двухфакторную аутентификацию, чтобы повысить безопасность личного кабинета 1cloud . После активации данного метода для входа в панель управления пользователю нужно не только ввести адрес электронной почты и пароль, но и уникальный код, полученный по SMS.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: