мобильное устройство токен это что
Обзор аутентификации на основе токенов
В прошлом для аутентификации в большинстве приложений и веб-сервисов пользователи должны были запоминать и при каждом логине вводить свои пароли. Кроме неудобства, это создавало ещё и угрозы безопасности, поскольку пользователи часто выбирали слабые пароли и использовали их в нескольких сервисах. Аутентификация на основе токенов устраняет подобные проблемы. Давайте разберёмся, как она реализуется.
Что такое аутентификация на основе токенов?
Аутентификация на основе токенов упрощает процесс аутентификации для уже известных пользователей. Для начала работы пользователь отправляет запрос к серверу, указав имя пользователя и пароль. Затем сервер подтверждает их на основании значений, зарегистрированных в его базе данных идентификационной информации. Если идентификационные данные подтверждены, сервер возвращает токен аутентификации (который тоже хранится в базе данных).
Когда тот же пользователь в дальнейшем шлёт запросы на доступ к защищённым ресурсам, эти запросы могут быть авторизованы при помощи токена аутентификации вместо имени пользователя и пароля. Сервер сверяет токен с зарегистрированным в базе данных токеном и предоставляет доступ. Аутентификацию можно реализовать на основе различных типов токенов, например, OAuth и JSON Web Tokens (JWT).
JWT использует безопасный способ, основанный на подписанных токенах, что позволяет с лёгкостью выявлять модификации. Аппаратные токены могут содержать идентификационные данные или генерировать одноразовый пароль.
Как работает аутентификация на основе токенов?
Существует множество способов предоставления пользователям токенов аутентификации — аппаратные токены, одноразовые пароли (обычно передаваемые через мобильный телефон) и программные токены, обычно основанные на стандарте JWT.
Все токены безопасным образом хранят идентификационную информацию и данные пользователя. Токен также может подтвердить, что данные верны и их не модифицировали — важное требование безопасности с учётом множества современных законов о конфиденциальности. Также они значительно повышают удобство работы для пользователя, поскольку позволяют пользователям выполнять вход без необходимости запоминания паролей.
Аутентификация на основе токенов обычно состоит из четырёх этапов:
Основные типы токенов аутентификации
Вот несколько популярных типов токенов, используемых разработчиками для аутентификации пользователей или аккаунтов сервисов.
Аппаратные токены (USB)
Аппаратные токены — это физические устройства, обеспечивающие авторизацию пользователей для доступа к защищённым сетям. Также иногда их называют токенами аутентификации или безопасности. Задача аппаратного токена — обеспечение дополнительного слоя защиты благодаря двухфакторной или многофакторной аутентификации (2FA или MFA). Владелец токена привязывает токен к системе или сервису, доступ к которому ему необходим.
Аппаратные токены спроектированы с учётом удобства для пользователей и возможности настройки, поэтому они могут иметь различные форматы. Самыми распространёнными типами токенов являются брелки, USB и беспроводные токены. Аппаратные токены можно разделить на три категории.
JSON Web Tokens (JWT)
JSON Web Token (JWT) — это открытый стандарт (RFC 7519). Он определяет простой автономный способ защищённой передачи информации между сторонами. Стандарт JWT использует объекты JavaScript Object Notation (JSON) для передачи токенов между сторонами. Эти токены могут использоваться для аутентификации, а также для передачи дополнительной информации о пользователе или аккаунте.
Благодаря своему малому размеру JWT могут передаваться как URL, параметры POST или заголовки HTTP и доставляться быстро. JWT содержит всю необходимую информацию о сущности, чтобы избежать многократных запросов к базе данных. Получателю JWT не нужно вызывать сервер, чтобы проверить токен.
JWT состоит из трёх частей:
Одноразовые токены One-Time Password (OTP)
Токены One-time password (OTP) — это защищённые аппаратные устройства или программы, способные генерировать одноразовые пароли. Чаще всего это personal identification numbers (PIN) — числовые коды длиной 4-12 цифр.
Для генерации или получения одноразовых паролей часто применяются смартфоны. После того, как пользователь доказал, что владеет конкретным телефоном, он может использовать приложение аутентификатора, генерирующее пароли OTP — в этом случае телефон служит генератором кодов. Или же OTP могут отправляться в устройство через SMS.
Одноразовые пароли усиливают существующие системы идентификации и паролей, добавляя в них динамически генерируемые идентификационные данные. Токены OTP генерируют PIN синхронно или асинхронно, это зависит от их поставщика:
API-токены
Если вкратце, то API-токены используются как уникальные идентификаторы приложения, запрашивающего доступ к сервису. Сервис генерирует API-токен для приложения, чтобы оно использовало его при запросе сервиса. Для аутентификации и предоставления доступа API-токен можно сопоставить с сохранённым токеном. В некоторых случаях можно реализовать Session ID, но это бывает очень нечасто.
API-токены получили популярность благодаря тому, что они заменяют небезопасную практику отправки сочетаний имени пользователя и пароля по HTTP. Одним из самых популярных сегодня способов реализации безопасности API является OAuth2 (токены доступа).
Безопасна ли аутентификация на основе токенов?
Киберпреступления становятся всё более изощрёнными, поэтому поставщики сервисов с удалённым управлением должны непрерывно обновлять методики и политики безопасности. В последнее время выросло количество атак, нацеленных на идентификационные данные при помощи таких способов, как фишинг, брутфорс и атаки по словарю. Это значит, что аутентификация больше не может использовать только пароли.
Аутентификация на основе токенов в сочетании с дополнительными техниками аутентификации может создать более сложный барьер, чтобы помешать умным хакерам использовать украденные пароли. Токены можно получать только с уникального устройства, которое их создало (например, смартфона или брелка), благодаря чему они становятся сегодня высокоэффективной методикой авторизации.
Хотя платформы токенов аутентификации совершили большой прогресс, угроза частично сохраняется. Хранящиеся в мобильных устройствах токены легко использовать, но они могут оказаться доступными из-за уязвимостей устройства. Если токены отправляются текстовым сообщением, их можно легко перехватить во время передачи. Если устройство украдено или утеряно, злоумышленник может получить доступ к хранящимся на нём токенам.
Однако всегда нужно помнить о том, что никогда не стоит полагаться на один способ аутентификации. Аутентификация токенами должна считаться только одним из компонентов стратегии двухфакторной или многофакторной аутентификации.
Плюсы и минусы программных токенов
Как и в случае с любой методологией или техникой, при выборе программных токенов нужно учитывать их достоинства и недостатки.
Токены в мире Android
Sep 10, 2018 · 4 min read
Дисклеймер: если вы знаете что такое токены и уже работали с ними, вам не сюда (либо в комментарии, буду рад замечаниям).
В современном мире, вопрос о хранении и защиты данных стоит наиболее остро. Http протокол, открытые wi-fi сети, DPI на стороне провайдера — все это дает возможность людям смотреть на данные, которые Вы можете слать из своего приложения и важно чтобы эти данные были понятны не всем.
Наше приложение обращается к стор о ннему сервису для обмена данными и защищенность этих данных обычно колеблется от plain-text до base64 в лучшем случае, просто потому что вопрос о необходимости шифрования не является приоритетным (надо быстрее фичи закрывать потому что).
И хорошо, если при передаче незащищенных данных, они оборачиваются в какой-нибудь контейнер используя SSL. SSL берет большую часть работы с шифрованием на себя, запаковывая ваши данные в коробку, которую могут открыть только участники активного соединения (т.е. ваше приложение и сервер). Но это только в теории конечно, поскольку существуют поддельные SSL сертификаты и MIM атаки, но это все же лучше чем совсем голяк.
Предположим, что мы все таки беспокоимся о данных, которые передаем и храним. Здесь надо понимать одну вещь:
Не существует абсолютно защищенных систем. Безопасность — это лишь комплекс мер, которые в умелом сочетании отдаляют неизбежное.
И в целом, лучший подход к безопасности данных лежит в их отсутствии. Если вы имеете доступ к пользовательским данным, не используйте больше необходимого минимума. Избегайте любой обработки и их передачи далее, без обеспечения необходимого уровня защиты. Где это возможно, обезличивайте данные: не храните email, номер телефона, IMEI и пароли, вместо этого используйте их хеш или же токены.
Токены
Обычно, это обезличенный набор букв и цифр, который не представляет собой никакой осмысленной информации, однако является ключом, с которым приложение от лица пользователя может совершать запросы на сервер.
“Совершать запросы от моего лица, хм, не думаю, что позволю это кому-то.” — это меньшее из зол и на самом деле не так страшно, как звучит. Если бы на каждый ваш запрос на получение новых мемасиков с пикабу от вас требовали бы пароль, вы скорее всего предпочли бы например 9gag (проплаченная реклама), хотя бы потому что там удобнее, не говоря уже о том, что с первого сервиса ваш пароль многократное количество раз будет улетать на сервер, вместо одного. С каждой последующей отправкой пароля, вы увеличиваете вероятность его компрометации злоумышленником, т.к. он часто мелькает в сети и его становится легко заметить. То же самое происходит и с токеном, но это не так страшно, ведь токен обезличен, представлен из набора букв и цифр и не несет никакой важной информации. Более того, токены живут не долго (30 минут, час, день, как решит сервер) и даже если злоумышленник узнает ваш токен и сможет совершать действия от вашего лица на этом ресурсе, это продлится не дольше 30 минут (времени жизни токена), а после доступ будет ограничен и токен надо будет обновить.
Типичный день OAuth2 сервера
Достаточно просто и безопасно, что может пойти не так?
Что мы можем с этим сделать?
В целом и все. Пишите что не понятно, либо где я ошибся, буду рад обсуждениям.
Как смартфон стал устройством оплаты? О платформе токенизации Mastercard
Mastercard первой в России предоставила держателям карт возможность пользоваться Apple Pay и Samsung Pay. Платежная система первой запустила на этом рынке свою платформу токенизации – Masterсard Digital Enablement Service (MDES) превращает устройство, подключенное к интернету, в средство для безопасной оплаты, именно с этим сервисом работают и мировые кошельки. О том, как смартфон стал альтернативой пластиковой карте, и как развивались технологии, обеспечивающие безопасность при оплате мобильным телефоном – читайте в этом посте.
Оплата в одно касание как драйвер развития цифровых платежей
Создание бесконтактной технологии оплаты Mastercard (ранее – Mastercard PayPass) можно считать поворотной точкой в развитии электронных платежей. Это произошло в 2002 году: с новой технологией процесс оплаты вышел за пределы форм-фактора привычного «пластика» – теперь платить можно брелоком, наручными часами, мобильным телефоном, стикером и т.д.
В России бесконтактная технология появилась 8 лет назад, и с тех пор неуклонно растет и количество выпущенных карт на различных (бесконтактных) форм-факторах, а также сеть приема этого способа оплаты.
Сегодня расплатиться в одно касание можно в 6 миллионах торговых точек в 77 странах мира, включая 42 европейских государства. Уже через три года все POS-терминалы в Европе (в том числе и в России) будут принимать бесконтактную оплату. А это значит, что вы везде сможете расплатиться телефоном, часами или ювелирным украшением. Нет, не отдавать их в качестве оплаты, а просто поднести к ридеру!
Кроме того, Россия стала одной из первых и немногих стран, в которых с Mastercard доступны 3 основных технологии для загрузки бесконтактных карт в NFC смартфоны. Благодаря бесконтактной технологии Mastercard, теперь выпустить мобильную карту можно и на SIM-карте (по технологии SIM-centric), и на встроенном чипе телефона (embedded Secure Element), и в «облаке» (с технологией Host Card Emulation).
Первый в России проект в сфере мобильной бесконтактной оплаты на базе SIM-centric NFC стартовал в 2012 году, и его запустили Mastercard совместно с МТС. Пользователю было необходимо зайти в точку продаж мобильного оператора и заменить свою обычную SIM-карту на специальную, поддерживающую функцию бесконтактной оплаты, с уже записанной на ней картой Mastercard. Так NFC телефон превращался в платежное средство.
Позднее был запущен целый ряд проектов в этой сфере с крупнейшими операторами услуг связи, производителями мобильных устройств и банками.
В 2013 году Mastercard, Тинькофф Банк и CardsMobile (группа i-Free) впервые в России запустили полнофункциональный сервис удаленной загрузки бесконтактных карт Mastercard в мобильное приложение “Кошелёк” для целого ряда моделей HTC, Sony и Philips смартфонов со встроенным NFC чипом.
В июле 2015 года в Google Play стали доступны для скачивания обновленная версия приложения «Кошелёк» компании CardsMobile и приложение Alfa Touch от Альфа-банка и компании БПЦ. Технология HCE и спецификация Mastercard Cloud Based Payments позволили значительно увеличить базу поддерживаемых устройств до десятков моделей популярных производителей и расширить возможности для новых разработчиков и банков.
Развивая цифровые решения и предлагая держателям карт Mastercard все новые удобные способы оплаты, Mastercard обеспечивает высокий уровень безопасности транзакций. Важным этапом стал сервис токенизации.
Токенизация для обеспечения безопасности платежа
Запуск Apple Pay на российском рынке стал возможным благодаря внедрению токенизации. Эта технология обеспечивает высокий уровень удобства при выпуске карточных продуктов в мобильные NFC устройства и максимальный уровень безопасности при оплате через электронные кошельки, например, Apple Pay и Samsung Pay.
Платформа токенизации MDES впервые была представлена Mastercard в 2013 году и стала основой дальнейших разработок в области эффективных и безопасных цифровых платежей.
В 2014 году в США был запущен сервис Apple Pay с использованием этой платформы. Сегодня MDES гарантирует безопасность уже более 40 миллионов карт, и Mastercard работает над тем, чтобы добавить к ним еще 225 миллионов карт в 18 странах мира, позволив пользователям платить там, тогда и так, как это удобно.
Что такое токенизация? Это замена основного номера счета карты (PAN) на 16-значную комбинацию цифр (токен). Она привязана внутри сети Mastercard к номеру банковской карты. При этом токен является уникальным для каждого из подключенных устройств.
При совершении оплаты Mastercard трансформирует токен в номер карты, чтобы банк был уверен, что платеж совершает именно ее держатель. При оплате токен направляется продавцу. Когда торговая точка направляет в банк данные для авторизации платежа, Mastercard проверяет, действителен ли токен, и пришел ли он с устройства, к которому привязан.
Токен позволяет скрыть фактические данные банковской карты и обеспечить максимальный уровень безопасности транзакции. Покупатель может быть уверен, что все данные надежно защищены.
Дополнительную безопасность обеспечивают криптография и биометрия, которые создают еще один рубеж, обеспечивающий безопасность ваших денег. Биометрическая защита современных мобильных гаджетов и возможность гарантированной блокировки или уничтожения данных при утрате смартфона — ещё один рубеж, обеспечивающий безопасность ваших денег.
Mastercard постаралась сделать работу с MDES максимально простой не только для пользователей, но и для партнеров – банков и технологических компаний.
Чтобы дать клиентам возможность оплачивать покупки смартфоном, банку не обязательно подключаться к Apple Pay, Samsung Pay или какому-либо другому кошельку. Банку достаточно подключиться к платформе MDES и добавить соответствующие функции в собственное мобильное приложение.
Сейчас человек в торговой точке – физическом или интернет-магазине, может расплатиться с помощью существующих мобильных приложений, к которым привязаны банковские карты. Mastercard же дает возможность банкам — не в качестве замены, а как дополнение — делать все то же самое, но в своем кошельке, в своем приложении.
Таким образом цифровой кошелёк, мобильный банк или онлайн банк становятся такими же платёжными средствами, как и банковская карта. Только вместо «пластика» – любимый гаджет и биометрическая авторизация.
Российские партнеры Mastercard отмечали, что внедрение MDES было одним из самых быстрых в их практике. С технической точки зрения, банку или сервису электронных денег нужно только сертифицировать платформу. Остальное, по сути, – организационные моменты.
Единственное, что отличается для банка в процессе авторизации и клиринга – вмешательство так называемой «петли MDES» на стороне платежной системы, которая токенизирует оплату и сличает токен при транзакции. Ничего концептуального внутри IT-кухни банка не меняется из-за того, что при оплате телефоном происходит токенизация. Есть определенные настройки, связанные с отчетностью и другими нюансами, но принцип обработки транзакции остается прежним. Просто, прозрачно и эффективно.
Mastercard постоянно разрабатывает новые стандарты подтверждения оплаты и развивает концепцию онлайн-платежей, которые не требуют ввода паролей и заменят протокол 3D Secure. Чтобы еще упростить идентификацию покупателя при онлайн-шопинге и подтверждение оплаты бесконтактным устройством, Mastercard разработала сервис, с которым этот процесс происходит с помощью того, что у нас всегда «под рукой».
Новое платежное приложение Identity Check Mobile использует биометрические данные – отпечаток пальца и распознавание лица – для покупок в Интернете. Оплата с помощью селфи стала реальностью! Пилотные проекты с ID Check уже запущены в 12 странах. В 2017 году это решение будет распространяться по всему миру. В 2017 году это решение планируется распространить по всему миру.
Над идеей подтверждать личность с помощью селфи раньше посмеивались, но технология прекрасно работает. Для начала от вас потребуется скачать соответствующее приложение и сделать селфи, но не просто фотографию, а маленькое видео. Обязательно нужно моргнуть, чтобы подтвердить, что перед камерой живой человек – держатель карты и владелец устройства.
Технологии Mastercard ускоряют развитие интернет-шопинга, делая его еще удобнее. Благодаря инновациям количество людей, активно совершающих покупки в интернете, постоянно растет: десять лет назад их было около десяти миллионов во всем мире, а в этом году три миллиарда человек хоть раз купили что-то в онлайн-магазине. Простота и удобство оплаты для каждого из них – во главе угла.
Темпы развития цифровых платежей
Закон Мура уже, наверное, в том или ином виде нашёл отражение в практически любой деятельности человека, и здесь, пусть и не напрямую, он влияет на то, как меняется жизнь.
Магнитная полоса появилась на карточках в 1972 году, а защита с помощью чипа стала распространена лишь через тридцать лет. Платформа MDES два года назад вообще не существовала! Биометрическая идентификация в виде ID Check полтора года назад вызывала иронические комментарии и улыбки на технологических выставках, а сегодня она воплощена в жизнь. И у ID Check действительно есть возможность изменить то, как вы оплачиваете покупки. В телефонах уже начали появляться не только сенсоры отпечатка пальца, но и сканеры радужки глаза.
Стремительные темпы развития платёжных средств найдут свой отклик так в жизни простых граждан (несмотря на очень чёткое разделение пользователей на «ранних последователей» и скептичных консерваторов), так и в развитии малого бизнеса, который считается одним из драйверов развития коммерции.
USB-токен: что это такое и как пользоваться
По данным аналитиков «Лаборатории Касперского», в 2017 году было предпринято более 260 млн попыток фишинговых атак — это один из способов получить все ваши пароли и данные. От этого может не спасти даже двойная аутентификация через СМС или специальное приложение.
График попыток фишинговых атак
Но люди придумали такую штуку, как USB-токен — она лучше защищает ваши данные. Рассказываем, почему этот способ более надежный и как правильно все настроить.
Что это такое и как работает?
USB-токен — небольшое устройство, похожее на обычную флешку. Внутри них специальный уникальный код, заменяющий другие способы двойной аутентификации.
По факту его можно сравнить с ключом от вашей квартиры — если ключ в компьютере, то вы можете войти в свой аккаунт. Только здесь разница в том, что ваш аккаунт гораздо сложнее взломать отмычкой.
Почему это надежнее двойной аутентификации?
Обычная двойная аутентификация работает так: вы вводите пароль от почты, вам по СМС приходит код подтверждения для входа в аккаунт. Получается, что если у злоумышленника нет вашего смартфона, то зайти под вашим логином он не сможет. Но на самом деле это не совсем так.
Почти у всех сервисов с такой функцией злоумышленник может перехватить ваш код от аккаунта из-за общей уязвимости, заключенной в системе SS7. Через нее любой человек может следить за вашим смартфоном — слушать разговоры и читать все сообщения. Операторы эту проблему не признают, хотя ей уже больше 30 лет.
Приложения-аутентификаторы, вроде Google Authentificator, в этом плане надежнее. Для вас каждые 30 секунд генерируется новый пароль — его знают только ваш смартфон и аккаунт в интернете. Но даже так хакеры могут до вас добраться, особенно если вы доверчивый.
Злоумышленник может получить доступ к этим кодам безопасности на этапе настройки приложения. Кроме того, вас могут обмануть и вы зайдете на фальшивый сайт Google, где сами выдадите все пароли хакерам.
Да кто будет пользоваться этими «флешками»?
Все сотрудники из Google этим пользуются и очень довольны. В начале 2017 года все работники корпорации перешли на этот способ аутентификации своих аккаунтов. Как итог — за этот год не произошло ни одной кражи личной информации.
Теперь в Google считают, что USB-токены — самый надежный способ защитить свой аккаунт. Вот так.
Все слишком хорошо! Какие подводные?
Да, подводные камни здесь есть. Пока полноценно эти токены поддерживаются только в двух браузерах — Google Chrome и Opera. В Firefox это реализовали через расширение, а в Edge обещают добавить позже. Разработчики Safari вообще об этой функции ничего не говорят.
И еще один недостаток связан со смартфонами. Чтобы войти в аккаунт на своем Айфоне, вам понадобится ключ с Bluetooth — он стоит немного дороже. Еще можно попробовать переходник, но мы этот способ не проверяли, так что может не сработать.
Это не страшно. Как начать пользоваться ключом?
В первую очередь — вам нужен тот самый USB-токен. Его можно купить в интернете — в России проще всего достать JaCarta U2F. Я купил такой за 1500 рублей.
Так выглядит USB-токен Jakarta U2F
Процедура настройки ключа практически везде одинакова, поэтому мы покажем настройку на примере аккаунта в Google.
1 — Войдите в настройки двойной аутентификации аккаунта. Нажмите на «Выберите другой способ» и выберите там электронный ключ:
2 — Подключать ключ к компьютеру сразу нельзя. Убедитесь, что он у вас в руке и жмите «Далее»:
3 — Вставьте ключ в USB-разъем и нажмите на нем кнопку:
Ключ загорится красным светом, а браузер попросит разрешения на доступ к устройству:
Маленькая черная штучка — кнопка. На нее нужно нажать после подключения ключа
4 — Ваш ключ зарегистрируется и вам нужно будет придумать ему имя:
5 — Готово! Теперь добавьте дополнительные способы входа в аккаунт — через приложение или СМС-код. Это нужно, если вы потеряете свой токен. Но я этого делать не буду.
А теперь небольшой челендж для читателей. Вот все данные аккаунта, на котором я установил свой USB-ключ:
Если вы сможете войти в этот аккаунт до 15 августа и оставить мне там послание, то я вам перечислю 5 тысяч рублей. Вперед, хакеры!