Усиливаем аутентификацию или зачем нужны одноразовые пароли Артем Рябинков

Протоколы аутентификации

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

В настоящее время для такой проверки применяется информация трех видов.

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

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

И, наконец, третий вид аутентификации — по биометрической информации, которая неотъемлема от пользователя. Это может быть отпечаток пальца, рисунок радужной оболочки глаза, форма лица, параметры голоса и т. д.

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

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

Содержание

    • Этапы входа в систему
    • Способы аутентификации
    • Задание стойкости паролей
    • Противодействие подбору паролей
    • Управление реакцией на неудачную попытку входа
    • Пароли и удаленный доступ
    • Не все средства хороши
    • Почему «одноразовые»
    • Как работает схема OTP
    • Аппаратные и программные методы реализации OTP
    • eToken PASS
    • Настройка OTP аутентификации в продуктах «1С-Битрикс»

1.1 Этапы входа в систему

Современные веб-ресурсы содержат в себе множество функционала, который по разному доступен различным пользователям. Основной вопрос заключается в следующем: как обеспечить, чтобы система узнавала пользователей и в соответствии с результатом распознавания – предоставляла им тот или иной функционал? Безопасность процедуры входа для пользователей во многом определяет защищенность информационной системы в целом.

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

В теории информационной безопасности процесс входа в систему делится на 3 основные стадии:

  1. Идентификация (Identification)
    Под идентификацией, применительно к обеспечению информационной безопасности компьютерной системы, понимают однозначное распознавание уникального имени субъекта (пользователя).
  2. Аутентификация (Authentication)
    Аутентификация обеспечивает подтверждение подлинности субъекта, то есть подтверждение того, что предъявленное имя соответствует данному субъекту.
  3. Авторизация (Authorization)
    На третьем шаге, система проводит процедуру авторизации, когда на основании результата процедуры аутентификации она дает пользователю тот или иной уровень доступа.

Этап аутентификации является самым важным в этой цепочке и основная проблема заключается в том, чтобы сделать эту процедуру максимально точной и безопасной. Вообще, происхождение русскоязычного термина «аутентификация» не совсем понятно. Английское «authentication» скорее можно прочитать как «аутентикация»; трудно сказать, откуда в середине взялось еще «фи» — может, из идентификации? Тем не менее, термин устоялся, он закреплен в Руководящих документах Гостехкомиссии России, использован в многочисленных публикациях, поэтому исправить его уже невозможно.)

Аутентификация бывает односторонней (обычно только клиент доказывает свою подлинность серверу) и двусторонней (взаимной). Пример односторонней аутентификации — процедура входа пользователя в систему, например в продукты «1С-Битрикс»

1.2 Способы аутентификации

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

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

Идентификационные карты и электронные ключи

Использование идентификационных карт и электронных ключей — это один из вариантов идентификации и аутентификации. Такой способ аутентификации относится к категории «пользователь имеет» и, чаще всего, для дополнительной защиты, комбинируется с «пользователь знает». Идентификационная карта и электронный ключ содержат секретный ключ, на основе которого и производится аутентификация субъекта. Удобство использования заключается в том, что субъекту не нужно запоминать секретный ключ, он хранится в памяти устройства. Как правило, субъекту необходимо знать код, который существенно меньше ключа, хранящегося на карте или ключе. Код позволяет избежать использования карты или ключа злоумышленником, в случае утери или кражи устройства. Основным отличием электронного ключа от идентификационной карты в объеме хранимой информации и в функционале, заложенном в устройство. Электронный ключ хранит только секретный ключ, позволяющий произвести идентификацию и аутентификацию пользователя, а идентификационная карта может хранить , помимо ключа, дополнительные сведения и производить простые криптографические операции (если имеет необходимые для этого компоненты).

В настоящее время наиболее распространенными разновидностями карт и ключей являются:

— карты с магнитной полосой;

— контактные смарт-карты и USB-ключи;

— бесконтактные RFID-карты.

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

ISO 7810 — «Идентификационные карты — физические характеристики»;

ISO 7811 — «Идентификационные карты — методы записи»;

ISO 7812 — «Идентификационные карты — система нумерации и процедура регистрации идентификаторов эмитентов» (5 частей);

ISO 7813 — «Идентификационные карты — карты для финансовых транзакций»;

ISO-4909 — «Банковские карты — содержание третьей дорожки магнитной полосы»;

ISO-7816 — «Идентификационные карты — карты с микросхемой с контактами» (10 частей)

Формат записи данных для первой и второй дорожки банковских карт представлен на следующем рисунке 2.

PAN (номер карточного счета, номер платежной карты) обычно представляет собой 16-значный номер карты, напечатанный на лицевой стороне карты.

Discretionary data (дискреционные данные) – данные зарезервированные для карточного эмитента (эмитент — организация, выпустившая ценные бумаги или платежные карты для развития и финансирования своей деятельности) и используемые им по своему усмотрению. Тем не менее, первые 8 символов этого поля стандартизованы и предназначены для подтверждения правильности введенного PIN-кода , выявления ситуаций повреждения магнитной полосы или грубой подделки карты.

PVKI (номер ключа проверки PIN-кода) представляет собой значение от 1 до 6 и определяет ключ расшифрования PVV.

PVV (значение проверки PIN-кода) и IBM 3624-offset представляют собой зашифрованное значение PIN-кода . В частности, алгоритм VISA PVV представляет собой следующую последовательность операций.

1. Определяется TSP (Transformed Security Parameter – преобразованный параметр безопасности), как последние 12 цифр PAN (за исключением крайней правой цифры) плюс PVKI плюс введенные 4 цифры PIN-кода. Например, PAN = 123456789012344510, PVKI = 110, PIN-код = 909010 -> TSP = 56789012344 1 909010.

2. TSP шифруется с помощью банковского ключа, соответствующего PVKI, по алгоритму тройного DES (DES-EDE2). Например, DES-EDE2 = 0FAB9CDEFFE7DCBA16.

3. Определяется PVV путем сканирования шестнадцатеричной строки DES-EDE2 слева-направо, пока не будет выбрано 4 цифры. Если после первого сканирования будут найдены менее 4 цифр, то при повторном сканировании выбираться будут только шестнадцатеричные цифры, которые конвертируются в цифры путем вычитания из них 10. Например, PVV = 0975 (0, 9, 7, F=5).

CVV (значение проверки подлинности карты) определяется по тому же алгоритму, что и PVV, только шифруемая строка (аналог TSP) формируется из следующих данных: 10 цифр PAN (за исключением крайней правой цифры) плюс срок действия карты (в формате ММГГ) плюс служебные коды (для приведенного выше примера, шифруемая строка – 789012344 1215 20110). Из-за того, что СVV/CVC слабо защищен от клонирования, в настоящее время он практически не используется и вместо него на картах ставятся нули.

LRC (продольный контроль избыточности) предназначен для контроля целостности всей дорожки. Количество единиц в битовом представлении всей дорожки, включая биты символа LRC за исключением четного паритетного бита символа LCR, должно быть четным. Четный паритетный бит символа LCR предназначен для контроля целостности только символа LCR.

Виды аутентификации

Пользователи интернета в моем представлении подразделяются на оптимистов и параноиков. Оптимисты не заморачиваются кодами и сложными паролями. Фамилия, дата рождения или слово “qwerty” вполне могут стать их паролем от аккаунта в соцсети или электронной почты. Главное, чтобы было легко запомнить.

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

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

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

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

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

Физический ключ доступа

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

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

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

Специалисты периодически расходятся во мнении: и присваивают технологии как почти «непроницаемый» статус (киберпреступникам предстоит буквально совершить подвиг – перехватить SMS, взломать почту или выкрасть доступ к сгенерированным код-паролям через систему выдачи токенов), так и репутацию временного лекарства от всех болезней. И последнее утверждение связано даже не с реализацией двухфакторной аутентификации, а все с той же неподготовленностью и бессознательностью пользователей.

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

Зато дальновидных вебмастеров становится с каждым годом все больше – многие владельцы сайтов интегрируют технологию 2FA даже на форумах и информационных сайтах с помощью того же E-Num. Услуга доступна каждому желающему и интегрируется в код сайта за считанные минуты.

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

Выбор способа идентификации – через логин и пароль (менее безопасный вариант) и с помощью E-Num, вынуждающего кроме базовой конфиденциальной информации вводить еще и код, сгенерируемый в одноименном мобильном сервисе (доступны версии для iOS и Android).

Второй вариант исключает заполнение поля «пароль» и предлагает добавить лишь логин (номер мобильного телефона, e-mail).

После система отобразит QR-код или цифровой запрос, на который и подберет подходящий ответ E-Num.

Описанная выше процедура значительно повышает безопасность профиля. Особенно, если и сервис E-Num на iOS и Android защищен с помощью систем проверки биометрических данных (отпечаток пальца, сетчатка глаза, вроде технологий Touch ID и Face ID).

В заключении

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

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

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

Различают 3 типа аутентификаторов:

  • Уникальное знание (пароль, пин-код)
  • Уникальный предмет (ключ, смарт-карта, токен)
  • Уникальная характеристикасамого субъекта (статическая — отпечатки пальца, снимок сетчатки глаза, поведенческая — например, аутентификация по голосу)
  • Скорость ввода — количество введенных символов разделенное на время печатания
  • Динамика ввода — характеризуется временем между нажатиями клавиш и временем их удержания
  • Частота возникновение ошибок при вводе
  • Использование клавиш — например, какие функциональные клавиши нажимаются для ввода заглавных букв
25 испытаний скорости ввода парольной фразы

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

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

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

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

  • первый столбик — вечер (только написал программу)
  • второй столбик — утро (только проснулся)
  • третий столбик — другой вечер
  • четвертый столбик — другая клавиатура

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

На картинке справа высота прямоугольников описывает интервалы времени между нажатиями соседних символов в парольной фразе «апельсинка».

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

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

Содержание статьи:

Идентификация, аутентификация и авторизация – три процесса защищающие Ваши данные или денежные средства от доступа посторонних лиц.

Понимание процессов придет быстрее, если дать им определения.

  • Идентификация — процесс распознавания пользователя по его идентификатору.
  • Аутентификация — процедура проверки подлинности, доказательство что пользователь именно тот, за кого себя выдает.
  • Авторизация — предоставление определённых прав.

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

Выводы

Как обычно, при выборе элементов системы безопасности необходимо подчиняться требованиям законов и стандартов, а также соизмерять риски с затратами.

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

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

Adblock
detector