мультиOTP

Система аутентификации
мультиOTP
Разработчик(и)SysCo системы связи
Первоначальный выпуск7 июня 2010 г. ; 14 лет назад ( 2010-06-07 )
Стабильный релиз
5.8.1.1 / 14 марта 2021 г. ; 3 года назад ( 2021-03-14 )
Написано вPHP
Операционная системаLinux , Microsoft Windows
ПлатформаIA-32 , x86-64 , ARM , Raspberry Pi
ТипНадежный двухфакторный сервер аутентификации OTP
ЛицензияLGPL
Веб-сайтwww.multiotp.net

multiOTP — это PHP-класс с открытым исходным кодом, инструмент командной строки и веб-интерфейс, который может использоваться для предоставления независимой от операционной системы, надежной системы аутентификации . multiOTP сертифицирован OATH с версии 4.1.0 и разработан по лицензии LGPL . Начиная с версии 4.3.2.5, multiOTP с открытым исходным кодом также доступен как виртуальное устройство — как стандартный файл OVA, настраиваемый файл OVA с open-vm-tools, а также как загружаемый файл виртуальной машины , который может работать на Microsoft Hyper-V , распространенном собственном гипервизоре в компьютерах Windows. [ жаргон ]

QR -код генерируется автоматически при печати страницы конфигурации пользователя.

Обзор

Шпионское ПО, вирусы и другие хакерские технологии или ошибки (например, Heartbleed ) регулярно используются для кражи паролей. Если используется надежная двухфакторная система аутентификации, украденные пароли невозможно сохранить и использовать позже, поскольку каждый одноразовый пароль действителен только для одного сеанса аутентификации и не сработает при повторной попытке. [1]

multiOTP — это библиотека классов PHP. Класс может использоваться с любым приложением PHP, использующим версию PHP 5.3.0 или выше. Библиотека multiOTP предоставляется как самостоятельный файл «все в одном», не требующий других включений. Если строгую аутентификацию необходимо выполнить с аппаратного устройства, а не из интернет-приложения, запрос будет проходить через сервер RADIUS, который вызовет инструмент командной строки multiOTP. Реализация достаточно легкая для работы на ограниченных компьютерах, таких как Raspberry Pi .

История

2010

  • Версия 1.0.0 от 7 июня 2010 года представляла собой только базовый инструмент командной строки под названием otpauth, уже написанный на PHP. Инструмент был переименован в multiotp в версии 1.1.4 несколько дней спустя, чтобы избежать путаницы с другим проектом с таким же названием.
  • Версия 2.0.0 от 19 июля 2010 года была полностью переписана как класс PHP, а инструмент командной строки стал реализацией класса. В операционных системах Windows инструмент командной строки существует как исполняемый файл, включающий в себя исходный код и интерпретатор PHP в одном файле. Эта версия получила премию phpclasses.org Innovation Award в августе 2010 года. [2]
  • Версия 3.0.0 от 2 сентября 2010 года позволила импортировать незакодированные файлы подготовки PSKC, а внутренняя структура была улучшена.
  • Версия 3.1.1 от 19 декабря 2010 года допускает хранение данных в серверной базе данных MySQL.

2011

  • Версия 3.2.0 от 6 июля 2011 г. позволяла выполнять аутентификацию с помощью общей учетной записи, а также путем указания конкретного пользователя и пароля в поле пароля (полезно, если библиотека используется с аутентификацией Windows, для которой требуется конкретный пользователь).
  • Версия 3.9.2 от 25 октября 2011 года — это версия, выпущенная для семинара по интеграции строгой аутентификации в интернет-приложения. Этот семинар был представлен во время Форума по безопасности приложений — Западная Швейцария 2011 в Ивердон-ле-Бен (Швейцария). [3] Библиотека также использовалась для проверки и распространения [4] начального числа токенов, предоставленных Feitian, спонсором мероприятия. Каждый участник должен был указать адрес электронной почты, номер мобильного телефона, серийный номер токена и код OTP, отображаемый на токене, затем участнику отправлялось зашифрованное электронное письмо, а ключ шифрования отправлялся по SMS.
  • В версии 4.0.7 от 30 августа 2013 года было добавлено множество улучшений, таких как функция клиент/сервер с локальным кэшированием файлов определений используемых токенов, совершенно новая реализация поддержки MySQL (включая создание и обновление таблиц базы данных), аутентификация CHAP (в дополнение к аутентификации PAP), генерация QR-кода для прямой подготовки в Google Authenticator и быстрое создание пользователя с помощью одной команды.

2013

  • Версия 4.0.9 от 22 сентября 2013 года была промежуточным релизом, который использовался для демонстрации концепции строгой аутентификации на нескольких форумах, таких как Rump Session во время Форума по безопасности приложений - Западная Швейцария 2013 в Ивердон-ле-Бен (Швейцария) [5] и 45-минутный доклад во время Технологического форума Studerus (TEFO) 2013 в Цюрихе (Швейцария). [6]
  • Версия 4.1.0 от 23 декабря 2013 года сертифицирована OATH для HOTP и TOTP, что означает полную совместимость с сертифицированными аппаратными токенами, включая зашифрованные файлы обеспечения PSKC. Эта бета-версия использовалась для 30-минутного доклада во время PasswordsCon 2013 в Бергене (Норвегия). [7] [8] Включены инструкции и все необходимые файлы для создания устройства сервера сильной аутентификации на нанокомпьютере Raspberry Pi. Также добавлены саморегистрация неатрибутивных аппаратных токенов и автоматическая повторная синхронизация/разблокировка во время аутентификации, а также теперь доступен базовый веб-интерфейс.

2014

  • Версия 4.1.1 от 20 января 2014 года предоставила некоторые исправления ошибок и лучшую поддержку Microsoft Authenticator. Повторная синхронизация токена (с использованием двух последовательных OTP) больше не требовала PIN-кода.
  • Версия 4.2.0 от 7 февраля 2014 года поддерживала протоколы MS-CHAP и MS-CHAPv2.
  • В версии 4.2.1 от 14 февраля 2014 г. добавлена ​​поддержка Active Directory/LDAP для создания учетных записей на основе пользователей, присутствующих в определенной группе.
  • Версия 4.2.2 от 3 марта 2014 года предоставила улучшенный веб-интерфейс для импорта аппаратных токенов, создания учетных записей, синхронизации токенов или разблокировки учетных записей. Была добавлена ​​расширенная поддержка TekRADIUS для отправки обратно некоторой конкретной информации, что полезно для соединений MS-CHAP или MS-CHAPv2.
  • В версии 4.2.3 от 13 марта 2014 г. исправлена ​​ошибка с отправкой обратно в TekRADIUS.
  • Версия 4.2.4 от 30 марта 2014 года улучшила поддержку бэкэнда MySQL и добавила поддержку mysqli. Начиная с этой версии, в файле конфигурации также можно определить, какие поля должны быть зашифрованы, а какие нет. Некоторые внешние классы были обновлены или заменены, и было добавлено много новых тестов QA, как для классов PHP, так и для версий командной строки.
  • В версии 4.2.4.1 от 6 апреля 2014 г. добавлена ​​поддержка NT_KEY (для дальнейшей обработки FreeRADIUS, например, генерации ключей VPN). Теперь также можно импортировать токены на основе простого файла CSV ( serial_number;manufacturer;algorithm;seed;digits;interval_or_event). Также добавлена ​​новая опция -user-info, а также исправлены некоторые ошибки.
  • Версия 4.2.4.2 от 13 апреля 2014 года объединила обработку XML с одной единственной библиотекой для всего проекта. Она также исправила возможную ошибку, связанную с импортом токенов на основе простого CSV-файла.
  • В версии 4.2.4.3 от 12 июня 2014 г. исправлена ​​ошибка с провайдером SMS aspsms.
  • Версия 4.3.0.0 от 4 ноября 2014 года добавила поддержку паролей AD/LDAP (вместо статического PIN-кода). Также был добавлен Yubico OTP, включая импорт ключей с использованием файла журнала, предоставленного Yubico Personalization Tool. Синхронизация пользователей AD/LDAP была полностью переработана. Эта версия использовалась 4 ноября 2014 года во время обучения Форума по безопасности приложений - Западная Швейцария 2014 в Ивердон-ле-Бен (Швейцария). [9]
  • В версии 4.3.1.0 от 9 декабря 2014 г. добавлен специальный прокси-сервер CLI для ускорения реализации Raspberry Pi. Добавлена ​​поддержка универсального LDAP (как Synology и все реализации на базе Linux). Генерация OTP со встроенным серийным номером теперь также поддерживается лучше (в PAP). Начиная с этой версии и если активирован, префиксный PIN-код также необходим при использовании пароля со стиранием. Теперь поддерживается переменная среды MULTIOTP_PATH для определения, где находится корень multiotp (если конкретная реализация не может правильно определить корневой каталог multiotp).
  • Версия 4.3.1.1 от 15 декабря 2014 года обеспечила лучшую поддержку LDAP и AD, обрабатывая больше полей во время синхронизации. Проект multiOTP теперь также доступен на Github. [10]

2015

  • В версии 4.3.2.2 от 9 июня 2015 г. улучшены некоторые некрасивые части (!), добавлены/адаптированы некоторые значения по умолчанию, разрешено использование минуса (-) в пароле, эта -autoresyncопция включена по умолчанию, улучшена обработка повторной синхронизации во время аутентификации (непосредственно в классе), включен по умолчанию кэш сервера и очищена некоторая информация журнала.
  • Версия 4.3.2.3 от 10 июня 2015 года содержала некоторые улучшения веб-GUI. Это была версия, представленная на Dev(Talks): 2015 в Бухаресте (Румыния). [11]
  • В версии 4.3.2.4 от 24 июня 2015 г. исправлена ​​ошибка использования спецсимволов для генерации скретч-пароля. Также автоматизирована поддержка multi_account при синхронизации с AD/LDAP.
  • Версия 4.3.2.5 от 15 июля 2015 года изменила поведение CLI при вызове без параметров, теперь возвращая код ошибки (30) вместо информации (19). Готовое к использованию виртуальное устройство теперь предоставляется в стандартном формате OVA с интегрированными open-vm-tools, а также в формате Hyper-V.
  • В версии 4.3.2.6 от 18 июля 2015 года добавлена ​​генерация QR-кода для mOTP (Mobile-OTP), а также реализован новый метод для считывания данных одного пользователя в массиве.

2016

  • В версии 5.0.2.5 от 16 октября 2016 г. добавлена ​​улучшенная поддержка SSL, возможность выбора определенного атрибута LDAP/AD для синхронизации учетных записей, улучшенная поддержка MS-CHAPv2, улучшенная обработка повторяющихся паролей, теперь проверяется частный идентификатор YUbicoOTP, совместимость SSL AD/LDAP с Windows 2012(R2), улучшенная поддержка специальных символов AD/LDAP (RFC4515), новые методы реализации асинхронных действий при изменении данных в бэкэнде.
  • В версии 5.0.2.6 от 4 ноября 2016 г. улучшены сообщения журнала, обновлены некоторые внешние пакеты и адаптирован формат файла конфигурации резервного копирования для обеспечения совместимости с коммерческой версией.
  • В версии 5.0.3.0 от 14 ноября 2016 г. добавлена ​​поддержка IP-адресов Dial-In (включая синхронизацию с атрибутом Active Directory msRADIUSFramedIPAddress), улучшен процесс импорта токенов с поддержкой двоичного ключа шифрования.

2017

  • Версия 5.0.3.4 от 26 января 2017 г. улучшила процесс синхронизации AD/LDAP для больших каталогов AD/LDAP, используя по умолчанию кэширование диска во временной папке системы. Теперь можно выполнять несколько команд CLI одновременно. Теперь поддерживается несколько групп для одного пользователя (предупреждение: не все устройства поддерживают несколько групп). Предлагаемый по умолчанию генератор TOTP/HOTP теперь FreeOTP (для Android/iOS). Теперь поддерживается формат предоставления многоцелевых токенов PSKCV10.
  • В версии 5.0.3.5 от 3 февраля 2017 г. исправлены некоторые ошибки и добавлен метод GetUserInfo.
  • В версии 5.0.3.6 от 21 февраля 2017 г. добавлена ​​поддержка base32 и raw binary для методов SetUserTokenSeed и SetTokenSeed. Метод restoreCOnconfiguration был обновлен.
  • В версию 5.0.3.7 от 23 февраля 2017 г. добавлены некоторые незначительные улучшения, такие как обрезка имен групп и обработка режима папок Linux.
  • В версии 5.0.4.4 от 16 мая 2017 г. политика отклонения была улучшена без увеличения счетчика ошибок для одного и того же повторно воспроизведенного токена.
  • В версии 5.0.4.5 от 29 мая 2017 г. добавлена ​​поддержка PostgreSQL на основе исходного кода, предоставленного Франком ван дер Аа.
  • В версии 5.0.4.6 от 2 июня 2017 г. в Linux переопределено расположение папок конфигурации, устройств, групп, токенов и пользователей, которые теперь всегда находятся в/etc/multiotp/
  • Версия 5.0.4.8 от 6 июня 2017 г. Исправлен сбой соединения SSL/TLS LDAP для PHP 7.x
  • В версии 5.0.4.9 от 7 июля 2017 г. исправлены некоторые незначительные ошибки и добавлены некоторые методы настройки TLS.
  • В версии 5.0.5.0 от 8 сентября 2017 г. исключено использование инструмента nircmd.exe из-за ложного обнаружения вируса.
  • В версии 5.0.5.2 от 29 сентября 2017 г. определен генератор mOTP по умолчанию для Android/iOS для OTP Authenticator.
  • В версии 5.0.5.6 от 4 ноября 2017 г. улучшена документация FreeRADIUS 3.x и исправлены некоторые незначительные ошибки.

2018

  • Версия 5.1.0.3 от 19 февраля 2018 года добавила поддержку просроченных паролей AD/LDAP и улучшенную обработку Unicode. Также были сделаны некоторые улучшения для multiOTP Credential Provider (для Windows).
  • Версия 5.1.0.8 от 5 марта 2018 года улучшила multiOTP Credential Provider, и теперь можно использовать записи реестра. Она также исправила ссылку "получить OTP по SMS" для Windows 10.
  • Версия 5.1.1.2 от 20 марта 2018 года предоставила первый Dockerfile для создания полноценного docker-сервера multiOTP с открытым исходным кодом.
  • В версии 5.2.0.2 от 16 июля 2018 г. улучшена поддержка AD/LDAP для огромного Active Directory и добавлена ​​опция DN пользователей (которая является необязательной, в противном случае для поиска пользователей по-прежнему используется базовое DN).
  • В версии 5.3.0.0 от 21 августа 2018 г. добавлены несколько «Users DN» (разделенных точкой с запятой) для синхронизации AD/LDAP (с дополнительными отладочными сообщениями синхронизации) и новый алгоритм «without2FA», если некоторым пользователям нужен только префиксный пароль без токенов.
  • В версии 5.3.0.1 от 22 августа 2018 г. добавлены некоторые поля мониторинга для получения дополнительной информации о процессе синхронизации.
  • В версии 5.3.0.3 от 26 августа 2018 г. исправлен процесс восстановления в командной строке и улучшен процесс клиент/сервер.
  • В версии 5.4.0.1 от 14 сентября 2018 г. исправлен режим совместимости компонента Windows Radius Server при установке.
  • В версии 5.4.0.2 от 13 ноября 2018 г. улучшен импорт файлов определений PSKC с помощью двоичного файла ключа декодирования и добавлена ​​поддержка нескольких поставщиков SMS (Swisscom LA REST, Afilnet, Clickatell2, eCall, Nexmo, NowSMS, SMSEagle и пользовательских SMS).

2019

  • В версии 5.4.1.1 от 7 января 2019 года добавлена ​​поддержка Raspberry Pi 3B+.
  • В версии 5.4.1.4 от 18 января 2019 г. добавлена ​​поддержка Debian 9.x (stretch).
  • В версии 5.4.1.6 от 25 января 2019 г. исправлена ​​проблема с опцией NTP DHCP.
  • В версии 5.4.1.7 от 30 января 2019 года изменена библиотека генерации QR-кодов и предоставлен новый двоичный образ Raspberry Pi, готовый к использованию для Raspberry Pi 1B/1B+/2B/3B/3B+.
  • В версии 5.4.1.8 от 29 марта 2019 г. добавлена ​​поддержка Access-Challenge.

2020

  • В версии 5.8.0.2 от 20 сентября 2020 г. добавлено общее веб-определение поставщика SMS, автоматическое удаление несуществующих пользователей AD/LDAP и поддержка Debian Buster 10.5, PHP 7.3 и Raspberry PI 4B.

2021

  • В версии 5.8.1.0 от 12 февраля 2021 г. веб-интерфейс улучшен за счет более подробной информации о состоянии счетов.

Функции

Для Windows библиотека multiOTP поставляется с предварительно настроенным сервером RADIUS (freeradius), который можно установить как службу. Предварительно настроенная веб-служба (на основе mongoose) также может быть установлена ​​как служба и необходима, если мы хотим использовать библиотеку multiOTP в конфигурации клиент/сервер. В Linux файл readme.txt, предоставленный с библиотекой, указывает, что нужно сделать для настройки сервера RADIUS и веб-службы. Также предоставляются все необходимые файлы и инструкции для создания устройства строгой аутентификации с использованием нанокомпьютера Raspberry Pi. Начиная с версии 4.3.2.5, готовое к использованию виртуальное устройство предоставляется в стандартном формате OVA с интегрированными open-vm-tools, а также в формате Hyper-V. Клиент может строго аутентифицироваться в приложении или устройстве, используя различные методы:

  • программные токены (например, Google Authenticator)
  • аппаратные токены (любые сертифицированные токены OATH/HOTP и OATH/TOTP, такие как токены NagraID, а также некоторые другие несертифицированные, но совместимые токены, такие как токены Feitian C200, основанные на времени)
  • код отправляется по SMS (начиная с версии 4.0.4)
  • Список паролей для скретч-тестирования (начиная с версии 4.0.4)
  • YubiKey в фирменном режиме Yubico OTP (начиная с версии 4.3)
  • without2FA для учетных записей, которым не требуется строгая аутентификация (начиная с версии 5.3)

Стандартизация и нормализация

multiOTP сертифицирован Initiative For Open Authentication для HOTP и TOTP и в настоящее время поддерживает следующие алгоритмы и RFC:

  • HOTP, одноразовый пароль на основе HMAC (RFC4226)
  • TOTP, одноразовый пароль с ограниченным сроком действия (RFC6238)
  • Google Authenticator (OATH/HOTP или OATH/TOTP, base32 seed, предоставление QR-кода)
  • SMS-токены (с использованием aspsms, clickatell, intellisms или локального провайдера)
  • PSKC, Дополнительные профили алгоритмов переносимого контейнера симметричных ключей (RFC6030)
  • CHAP, протокол аутентификации с квитированием вызова (RFC1994)
  • MS-CHAP, расширения Microsoft PPP CHAP (RFC2433)
  • MS-CHAPv2, расширения Microsoft PPP CHAP, версия 2 (RFC2759)
  • Протокол Syslog (клиент; RFC5424)
  • SMTP, простой протокол передачи почты (RFC2821)
  • Расширение службы SMTP для безопасного SMTP через TLS (RFC2487)

Область применения класса

Класс multiOTP обеспечивает функциональность строгой аутентификации и может использоваться в различных ситуациях строгой аутентификации:

  • Добавление строгой аутентификации для идентификации пользователя (чтобы избежать статического пароля)
  • Закрепите аппаратный токен в определенном месте и убедитесь, что кто-то был там в определенное время (код токена, отображаемый пользователю в определенное время, даст информацию о том, где он отображался)
  • Аутентификация пользователя путем отправки ему кода через SMS, который автоматически подтвердит номер мобильного телефона пользователя
  • Автоматическое создание учетных записей с надежной аутентификацией для пользователей, присутствующих в определенной группе Active Directory (или LDAP)

Библиотеку используют несколько бесплатных проектов:

  • С ноября 2016 года команда multiOTP предоставляет обновленный поставщик учетных данных для Windows 7/8/8.1/10/2012(R2)/2016 с такими опциями, как поддержка только RDP и имени UPN, называемый multiOTP Credential Provider [12] , основанный на поставщике учетных данных MultiOneTimePassword [13], созданном Last Squirrel IT.
  • ownCloud OTP [14] — это приложение одноразового пароля на основе класса multiOTP, которое добавляет надежную аутентификацию в проект OwnCloud , альтернативу Dropbox с открытым исходным кодом.
  • Поставщик учетных данных 2FA для Windows [15] — еще один надежный поставщик учетных данных для входа в Windows, использующий библиотеку multiOTP.
  • Класс multiOTP использовался в качестве учебного пособия при демонстрациях безопасности [16] и в бакалаврской диссертации [17].

Смотрите также

Ссылки

  1. ^ Аслан, Омер; Актуг, Семих Серкант; Озкан-Ладно, Мерве; Йылмаз, Абдулла Асим; Акин, Эрдал (январь 2023 г.). «Комплексный обзор уязвимостей, угроз, атак и решений кибербезопасности». Электроника . 12 (6): 1333. doi : 10.3390/electronics12061333 . ISSN  2079-9292.
  2. ^ "multiOTP PHP class: Аутентификация и управление надежными токенами пользователя OTP". PHPclasses/Icontem . Получено 30 октября 2013 г. .
  3. ^ "Форум по безопасности приложений - Западная Швейцария 2011". Форум по безопасности приложений - Западная Швейцария . Получено 30 октября 2013 г.
  4. ^ "Запрос на начальное значение токена Feitian ASF-WS 2011" . SysCo системы связи sa . Проверено 30 октября 2013 г.
  5. ^ "Форум по безопасности приложений - Западная Швейцария 2013". Форум по безопасности приложений - Западная Швейцария. 17 августа 2013 г.
  6. ^ "Studerus Technology Forum - TEFO'13". Studerus. Архивировано из оригинала 2013-12-26 . Получено 2013-12-25 .
  7. ^ "PasswordsCon 2013 в Бергене". securelist.com . 2013-12-03 . Получено 2023-08-20 .
  8. ^ "PasswordsCon 2013".
  9. ^ "Форум по безопасности приложений - Западная Швейцария 2014". Форум по безопасности приложений - Западная Швейцария. 9 августа 2014 г.
  10. ^ multiOTP (2023-08-11), multiOTP с открытым исходным кодом , получено 2023-08-20
  11. ^ "Dev(Talks): 2015". Catalyst (hipo.ro).
  12. ^ "multiOTP Credential Provider". multiOTP team . Получено 1 февраля 2019 г.
  13. ^ "MultiOneTimePassword Credential Provider". Last Squirrel IT . Получено 28 июля 2015 г. .
  14. ^ "Бэкэнд одноразового пароля для ownCloud". Команда apps.ownCloud.com . Получено 30 октября 2013 г.
  15. ^ "2FA Credential Provider for Windows". Fluid Technology Solutions Ltd. Архивировано из оригинала 2 октября 2013 г. Получено 30 октября 2013 г.
  16. ^ "Строгая аутентификация в веб-приложениях - современное состояние 2011" (PDF) . Compass Security AG . Получено 30 октября 2013 г. .
  17. ^ "Одноразовые пароли. Бакалаврская работа (на чешском языке)". Университет экономики, Прага . Получено 30 октября 2013 г.
Взято с "https://en.wikipedia.org/w/index.php?title=MultiOTP&oldid=1264501603"