Перейти к содержимому

Код 2 fa что это

  • автор:

2FA код — что это такое?

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

комментировать

в избранное

benni-22 [4.4K]

6 лет назад

Интересный вопрос, на который нужно знать ответ, на который я Вам отвечу. При регистрации пользователя в какой либо базе данных, ему «прикрепляется» 3 пункта, а именно : биометрический- для расчета с помощью отпечатка пальца, к которому присвоена банковская карта. Безконтактный- с помощью него можно расплатится через интернет, и там есть специальная валюта которая называется «биткоин» . И третий пункт- контактный. С помощью которого можно расплатится наличными где угодно, только не в интернет сети. Так вот, для каждого пользователя присваевается свое имя, а есть такие пользователи которые, к примеру в банке, имеют несколько счетов, и чтобы быстрее найти пользователя, создали кодировку 2FA.

автор вопроса выбрал этот ответ лучшим

Немного о 2FA: Двухфакторная аутентификация

Двухфакторная аутентификация или 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.

  • Блог компании 1cloud.ru
  • Информационная безопасность
  • Веб-разработка
  • Разработка под e-commerce

Что значит введите 2FA Code? Что за код? Где его взять?

2FA Code-это код для ДвухФакторной Авторизации на сайте. Сейчас на многих сайтах при регистрации вам на телефон или имейл приходит специальный код, который вам необходимо ввести на сайте для подтверждения регистрации. Вот это и есть тот самый 2FA Code. А на некоторых сайтах, в основном, связанных с финансами, такой код отправляется при каждом входе на сайт. Можно сказать, что это защита от взлома ваших данных или вашего аккаунта.

Приведу пример. Есть одна биржа криптовалют. Там при каждом входе, помимо ввода логина и пароля, необходимо заполнить капчу. После этого появляется поле, куда необходимо ввести 2FA Code. А ниже написано, что данный код отправлен на ваш имейл.

автор вопроса выбрал этот ответ лучшим

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

СМС-сообщения — популярнейший способ двухфакторной аутентификации (2FA). Ее используют банки, электронные и крипто-кошельки, почтовые ящики и всяческие сервисы; число пользователей метода приближается к 100%.

У меня такой расклад событий вызывает негодование, ведь этот метод небезопасный. Переназначать номер с одной SIM-карты на другую стали еще в начале мобильной эры — так восстанавливают номер при потере симки. “Специалисты по отъему цифровых денег” осознали: опцию «перезаписи симки» можно использовать в мошеннических схемах. Ведь тот, кто контролирует сим-карту, может управлять и чужим онлайн-банкингом, и электронными кошельками, и даже криптовалютой. А завладеть номером другого лица можно через подкуп сотрудника телекома, с помощью обмана или поддельных документов.

Раскрыты тысячи эпизодов SIM-свопинга — так назвали эту схему мошенничества. Масштабы бедствия говорят о том, что скоро мир откажется от 2FA по СМС. Но этого не происходит — в исследовании рассказывают, что выбирают метод 2FA не пользователи, а владельцы сервисов.

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

Счет идет на миллионы

В 2019 году мошенничество SIM-свопингом выросло на 63% по данным лондонской полиции, а “средний чек” злоумышленника — 4,000 GBP. Статистики в России я не нашел, однако предполагаю, что она еще хуже.

SIM-свопинг используется для кражи популярных аккаунтов Twitter, Instagram, Facebook, VK, банковских аккаунтов, а недавно добрались и до криптовалют — сообщает газета Таймс со слов биткоин-предпринимателя Джоби Уикса. Громкие дела о краже криптовалют с помощью SIM-свопинга всплывают в прессе с 2016 года; на 2019-й пришелся настоящий пик.

В мае прокуратура США в восточном округе Мичигана предъявила обвинения девяти молодым людям в возрасте от 19 до 26 лет: они предположительно входят в хакерскую банду под названием “The Community” («Сообщество»). Банде вменяется семь свопинг-атак, в результате которых хакеры присвоили криптовалюту на сумму свыше $2,4 миллиона. А в апреле студент из Калифорнии Джоэл Ортиз получил 10 лет тюрьмы за SIM-свопинг; его добычей стали $7.5 млн. в криптовалютах.

Фото Джоэла Ортиза на пресс-конференции в университете. Спустя два года он будет задержан за кибермошенничество.

Принцип работы SIM-свопинга

«Свопинг» — значит обмен. Во всех подобных схемах преступники присваивают себе телефонный номер жертвы, обычно через перевыпуск SIM-карты, и пользуются им для сброса пароля. Типичный SIM-свопинг в теории выглядит так:

  1. Разведка. Мошенники узнают персональные данные жертвы: имя и телефон. Их можно найти в открытых источниках (соцсети, друзья) или получить от сообщника — сотрудника сотового оператора.
  2. Блокировка. SIM-карта жертвы деактивируется; для этого достаточно позвонить в техподдержку провайдера, сообщить номер и сказать, что телефон был утерян.
  3. Захват, перевод номера на свою симку. Обычно это тоже делается через сообщника в телеком-компании либо с помощью подделки документов.

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

Шансы вернуть украденное

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

Если пострадавшие хотят отстоять свои деньги в суде, то обвиняют оператора: он создал условия для кражи денег со счета. Именно так поступил Майкл Терпин, который потерял из-за свопинга $224 млн. Сейчас он судится с телекоммуникационной компанией AT&T.

Пока ни у одного государства нет рабочих схем, чтобы законодательно защитить владельцев криптовалют. Застраховать свой капитал или получить компенсацию за его потерю невозможно. Поэтому предотвратить свопинг-атаку проще, чем бороться с ее последствиями. Самый очевидный способ — использовать более надежный «второй фактор» для 2FA.

SIM-свопинг — не единственная проблема 2FA через СМС

Коды подтверждения в СМС небезопасны и с технической точки зрения. Сообщения можно перехватить из-за неустранимых уязвимостей в сигнальной системе Signaling System 7 (SS7). 2FA по SMS официально признана небезопасной (Национальный институт стандартов и технологий США говорит об этом в своем Руководстве по цифровой аутентификации).

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

А еще нередко СМС приходят с большой задержкой или не приходят совсем.

Другие способы 2FA

Разумеется, на смартфонах и СМС свет клином не сошелся. Есть и другие способы 2FA. Например, одноразовые TAN-коды: способ примитивный, но рабочий — он до сих пор используется в некоторых банках. Есть системы с применением биометрических данных: отпечатков пальцев, сканов сетчатки. Еще один вариант, который кажется разумным компромиссом по удобству, надежности и цене — специальные приложения для 2FA: RSA Token, Google Authenticator. А еще есть физические ключи и другие методы.

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

Согласно исследованию, использование 2FA является неудобством в принципе, а популярность 2FA по СМС объясняют “меньшим неудобством по сравнению с другими методами” — получение одноразовых кодов понятно для пользователя.

Многие способы 2FA пользователи связывают со страхом, что доступ будет утерян. Физический ключ или список TAN-паролей можно потерять или их могут украсть. У меня лично есть негативный опыт использования Google Authenticator. Первый смартфон с этим приложением у меня сломался — оцените мои труды по восстановлению доступа к аккаунтам. Другая проблема — переход на новое устройство. Google Authenticator не имеет возможности экспорта из-за соображений безопасности (если ключи можно экспортировать, какая тут безопасность?). Один раз я переносил ключи вручную, а дальше решил, что проще оставлять старый смартфон в коробке на полке.

Метод 2FA должен быть:

  • Безопасным — получить доступ к аккаунту должны только вы, а не злоумышленники
  • Надежным — вы получаете доступ к аккаунту всегда, когда это нужно
  • Удобным и доступным — использование 2FA понятно и занимает минимум времени
  • Дешевым

Используйте 2FA на блокчейне

Для пользователя 2FA на блокчейне выглядит так же, как и получение одноразовых кодов по СМС. Отличие только в канале доставки. Способ получения 2FA-кода зависит от того, что предлагает блокчейн. В нашем проекте (информация есть в моем профиле) это Web-приложение, Tor, iOS, Android, Linux, Windows, MacOS.

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

В статье Как работает децентрализованный мессенджер на блокчейне я написал, что блокчейн обеспечивает безопасность и приватность передачи сообщений. По вопросу отправки кодов 2FA я выделю:

  • Один клик для создания аккаунта — никаких телефонов и электронных почт.
  • Все сообщения с кодами 2FA шифруются End-to-End curve25519xsalsa20poly1305.
  • MITM-атака исключена — каждое сообщение с кодом 2FA является транзакцией в блокчейне и подписывается Ed25519 EdDSA.
  • Сообщение с кодом 2FA попадает в свой блок. Последовательность и timestamp блоков не исправишь, а следовательно и порядок сообщений.
  • Нет центральной структуры, которая делает проверки на “достоверность” сообщения. Это делает распределенная система узлов на основе консенсуса, а она принадлежит пользователям.
  • Невозможность отключения — аккаунты нельзя блокировать, а сообщения удалять.
  • Доступ к кодам 2FA с любого устройства в любое время.
  • Подтверждение доставки сообщения с кодом 2FA. Сервис, отправляющий одноразовый пароль, точно знает, что он доставлен. Никаких кнопок “Отправить еще раз”.

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

Есть и неудобство — аккаунт должен иметь хотя бы одну транзакцию. Для того, чтобы пользователь получил шифрованное сообщение с кодом, нужно знать его публичный ключ, а он появляется в блокчейне только с первой транзакцией. Мы выкрутились так: дали возможность получить в кошельке бесплатные токены. Однако более правильное решение — именовать аккаунт публичным ключом. (Для сравнения у нас номер аккаунта U1467838112172792705 является производным публичного ключа cc1ca549413b942029c4742a6e6ed69767c325f8d989f7e4b71ad82a164c2ada. Для мессенджера это удобнее и читабельнее, а вот для системы отправки 2FA-кодов — ограничение). Думаю, в будущем кто-нибудь сделает такое решение и переведет “Удобство и доступность” в зеленую зону.

Цена отправки 2FA-кода реально низкая — 0.001 ADM, сейчас это 0.00001 USD. Опять же, можно поднять свой блокчейн и сделать цену нулевой.

Как подключить 2FA на блокчейне к вашему сервису

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

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

  1. Создать аккаунт в блокчейне, с которого вы будете отправлять коды 2FA. Вы получите пассфразу, которая используется как приватный ключ для шифрования сообщений с кодами и для подписания транзакций.
  2. Добавить на ваш сервер скрипт для генерации кодов 2FA. Если вы уже используйте какой-либо другой метод 2FA с доставкой одноразовых паролей, этот этап у вас уже выполнен.
  3. Добавить на ваш сервер скрипт для отправки кодов пользователю в блокчейн-мессенджер.
  4. Создать пользовательский интерфейс для отправки и ввода кода 2FA. Если вы уже используйте какой-либо другой метод 2FA с доставкой одноразовых паролей, этот этап у вас уже выполнен.

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

Сначала генерируется пассфраза BIP39, из нее считается SHA-256-хэш. Хэш используется для генерации приватного ключа ks и публичного ключа kp. Из публичного ключа тем же SHA-256 с инверсией получаем адрес в блокчейне.

Если вы хотите отправлять коды 2FA каждый раз с нового аккаунта, код для создания аккаунта нужно будет добавить на сервер:

import Mnemonic from 'bitcore-mnemonic' this.passphrase = new Mnemonic(Mnemonic.Words.ENGLISH).toString() … import * as bip39 from 'bip39' import crypto from 'crypto' adamant.createPassphraseHash = function (passphrase) < const seedHex = bip39.mnemonicToSeedSync(passphrase).toString('hex') return crypto.createHash('sha256').update(seedHex, 'hex').digest() >… import sodium from 'sodium-browserify-tweetnacl' adamant.makeKeypair = function (hash) < var keypair = sodium.crypto_sign_seed_keypair(hash) return < publicKey: keypair.publicKey, privateKey: keypair.secretKey >> … import crypto from 'crypto' adamant.getAddressFromPublicKey = function (publicKey) < const publicKeyHash = crypto.createHash('sha256').update(publicKey, 'hex').digest() const temp = Buffer.alloc(8) for (var i = 0; i < 8; i++) < temp[i] = publicKeyHash[7 - i] >return 'U' + bignum.fromBuffer(temp).toString() >

В демо-приложении мы упростили — создали один аккаунт в веб-приложении, и отправляем коды с него. В большинстве случаев это удобнее и пользователю: он знает, что сервис отправляет 2FA-коды с конкретного аккаунта, и может его именовать.

2 Генерация кодов 2FA

Код 2FA нужно генерировать для каждого входа пользователя. Мы используем библиотеку speakeasy, но вы можете выбрать любую другую.

const hotp = speakeasy.hotp(< counter, secret: account.seSecretAscii, >); 

Проверка валидности кода 2FA, введенного пользователем:

se2faVerified = speakeasy.hotp.verify(< counter: this.seCounter, secret: this.seSecretAscii, token: hotp, >); 

3 Отправка кода 2FA

Для отправки 2FA-кода можно использовать API узла блокчейна, библиотеку JS API или консоль. В этом примере мы используем консоль — это Command Line Interface, утилита, которая упрощает взаимодействие с блокчейном. Чтобы отправить сообщение с 2FA-кодом, нужно использовать команду send message консоли.

const util = require('util'); const exec = util.promisify(require('child_process').exec); … const command = `adm send message $ "2FA code: $"`; let < error, stdout, stderr >= await exec(command); 

Альтернативный способ отправки сообщений — использовать метод send в JS API library.

4 Интерфейс пользователя

Пользователю нужно дать возможность ввода кода 2FA, это можно сделать различными способами в зависимости от платформы вашего приложения. В нашем примере это Vue.

Исходный код демонстрационного приложения двухфакторной авторизации на блокчейне можно посмотреть в GitHub. В Readme есть ссылка на Live demo, чтобы попробовать.

  • Информационная безопасность
  • Мессенджеры
  • Криптография
  • Распределённые системы
  • Криптовалюты

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

https://alkogolizm-zhi.vyvod-iz-zapoya-na-domu-sankt-peterburg-abc.ru/