rsa secure id что это такое
Rsa secure id что это такое
ГлавнаяМногофакторная аутентификация доступа Двухфакторная аутентификация на основе технологии RSA SecurID
Компания RSA Security (ныне RSA, The Security Division of EMC) уже много лет успешно предлагает собственное решение в области двухфакторной аутентификации. Технология RSA SecurID дает платформо-независимое, проверенное и простое в использовании решение, защищающее сегодня информационные системы ведущих мировых компаний с более чем десятью миллионами пользователей по всему миру.
Описание процесса аутентификации
Пользователь запрашивает доступ к ресурсу, будь то Web-портал, рабочая станция, сетевое хранилище, VNP или Dial-up сервер. Вместо стандартного приглашения на ввод логина и пароля запрашивается логин и кодовая фраза (passcode). Кодовая фраза представляет собой комбинацию пин-кода (4 цифры, которые пользователь помнит) и токен-кода (6 цифр, которые в данный момент высвечиваются на токене). Пользователь просто последовательно вводит эти 2 числа.
Агент предоставленную пользователем информацию передаёт на сервер в зашифрованном виде. Сервер хранит пин-коды пользователей и программные копии всех зарегистрированных токенов, соответственно может проверить предоставленную пользователем информацию.
В зависимости от результата проверки агент либо предоставляет пользователю доступ к ресурсу, либо отказывает в доступе.
Описание алгоритма получения токен-кода
Каждому токену соответствует 128ми битное случайное число – начальный вектор генерации, seed. Плюс к этому в каждый токен встроены часы.
Токен-код меняется раз в минуту, действителен в течение одной минуты, и только один раз.
Так как сервер хранит соответствующие токенам начальные вектора генерации, он в любой момент времени может по тому же самому алгоритму восстановить текущий токен-код. В случае, если часы у сервера и токена расходятся, предусмотрена автоматическая синхронизация. Т.е. если часы у токена, например, убежали вперёд, сервер заносит в базу величину сдвига соответствующую конкретному токену.
RSA Authentication Manager
Один сервер может обрабатывать запросы от десятков агентов. Кроме того, можно построить систему из нескольких серверов таким образом, чтобы каждый сервер защищал свою зону, и в то же время мог взять на себя обработку запросов при выходе из строя своего собрата. Базовая лицензия предусматривает один центральный сервер и одну реплику, расширенная – девять реплик.
RSA Authentication Agents
Данное программное обеспечение устанавливается на защищаемый ресурс. Основная задача – потребовать от пользователя ввод SecurID информации, отправить её на центральный сервер и, в зависимости от ответа, предоставить доступ или отказать в доступе.
Если необходимого ресурса нет в списке, поддерживается аутентификация по RADIUS протоколу. Если этого недостаточно, существует API, который позволит написать необходимый агент самостоятельно.
Hardware&Software Authenticators
Данный компонент системы SecurID выполняется в виде брелока для ключей или программного обеспечения, отображает текущее значение токен-кода и всегда находится у пользователя.
Лицензирование
Данный продукт лицензируется по количеству активных пользователей, т.е. пользователей, которым назначены токены.
Для полного функционирования системы необходимо купить серверную лицензию и токены на необходимое количество пользователей. Так же настоятельно рекомендуется купить поддержку, хотя бы на первый год. Программное обеспечение, как серверное, так и агентское, предоставляется бесплатно.
Минимальное первоначальное количество – 25 пользователей.
Существует пробная версия, распространяемая бесплатно. В неё включена серверная лицензия с ограниченным сроком жизни на двух пользователей и два токена SID700. Данная версия обладает полным функционалом, что позволяет перейти к коммерческому использованию без каких-либо дополнительных настроек.
RSA: от простых чисел до электронной подписи
Выясняем, как и откуда можно получить электронную подпись на примере криптосистемы RSA.
Содержание
Определения и обозначения
Описание криптосистемы RSA
Асимметричные криптографические системы
Шифрование и дешифрование
Получение подписи сообщения по RSA
Электронная подпись документов
Введение
Наверняка вы сталкивались с таким понятием, как «электронная подпись». Если обратиться к федеральному закону, то можно найти следующее её определение:
Задача ЭП ясна, теперь хотелось бы увидеть и прочувствовать, что именно скрывается за этими двумя словами. Копаясь дальше в гугле, можно найти довольно много различных алгоритмов создания цифровой подписи (DSA, ГОСТ Р 34.10-2012, RSA-PSS и т.д.), разбираться в которых неподготовленному пользователю сложно.
Спасти эту ситуацию и помочь разобраться в том, что есть ЭП, может криптосистема RSA, разработанная Ривестом, Шамиром и Адлеманом в 1978 году. Она не загромождена безумным количеством алгоритмов и основывается на относительно простой математике. В связи с этим можно шаг за шагом прийти от модульной арифметики к алгоритму создания электронной подписи, чему я и хочу посвятить данную статью.
Теорминимум
Сформируем небольшой словарик терминов, которые нам пригодятся далее:
Открытый текст – данные, подлежащие шифрованию или полученные в результате расшифрования
Шифртекст – данные, полученные в результате применения шифра к открытому тексту
Шифр – совокупность обратимых преобразований, зависящая от некоторого параметра (ключа)
Ключ – параметр шифра, определяющий выбор одного преобразования из совокупности.
Факторизация – процесс разложения числа на простые множители.
НОД – наибольший общий делитель.
Числа a и b называются взаимно простыми, если НОД этих чисел равен 1.
Функция Эйлера φ(n) – функция, равная количеству натуральных чисел, меньших n и взаимно простых с ним.
Хочу отметить, что на данном этапе подразумевается, что вы знакомы с арифметическими операциями по модулю. Если нет, то здесь можно о них почитать.
Как оно устроено
Прежде, чем окунуться в необъятный мир математики рассмотреть, как именно устроена RSA, обратимся к тому, как работают
Асимметричные криптосистемы
Рассмотрим задачу сохранности содержимого посылки при передаче от отправителя к адресату. Вот картинка с многим полюбившимся Алисой и Бобом:
Алиса хочет передать Бобу посылку. Для начала Боб на своей стороне создает уникальные замок и ключ к нему (открытый и закрытый ключ соответственно). Далее, Боб делится с окружающим миром своим замком, чтобы любой желающий отправить ему посылку смог её закрыть. Поскольку ключ от подобного замка один и находится только у Боба, никто, кроме Боба, просмотреть содержимое после защёлкивания замка не сможет. В конце концов, Алиса с помощью полученного замка закрывает посылку и передаёт Бобу, который открывает её своим ключом. Таким образом устроены асимметричные криптографические системы, которой как раз является RSA.
В схеме передачи посылки все объекты вполне материальны. Однако сообщения, которые мы хотим шифровать, являются ничем иным, как последовательностью бит, которую нельзя «закрыть» на физический замок. Таким образом возникают вопросы: что такое ключ и замок? Как Бобу создать ключи? Каким образом ключи связаны и как с их помощью зашифровать сообщение? Здесь нам поможет математика.
Теперь к математике
Асимметричные криптографические системы основаны на так называемых односторонних функциях с секретом. Под односторонней понимается такая функция я y=f(x), которая легко вычисляется при имеющемся x, но аргумент x при заданном значении функции вычислить сложно. Аналогично, односторонней функцией с секретом называется функция y=f(x, k), которая легко вычисляется при заданном x, причём при заданном секрете k аргумент x по заданному y восстановить просто, а при неизвестном k – сложно.
Подобным свойством обладает операция возведения числа в степень по модулю:
Здесь φ(n) – функция Эйлера числа n. Пока условимся, что это работает, далее это будет доказано более строго. Теперь нужно понять, что из это является ключами Боба, а что сообщением. В нашем распоряжении имеются числа c, m, n, e, d.
Давайте посмотрим на первое выражение. Здесь число c получено в результате возведения в степень по модулю числа m. Назовём это действие шифрованием. Тогда становится очевидно, что m выступает в роли открытого текста, а c – шифртекста. Результат c зависит от степени e, в которую мы возводим m, и от модуля n, по которому мы получаем результат шифрования. Эту пару чисел (e, n) мы будем называть открытым ключом. Им Алиса будет шифровать сообщение.
Смотрим на второе действие. Здесь d является параметром, с помощью которого мы получаем исходный текст m из шифртекста c. Этот параметр мы назовём закрытым ключом и выдадим его Бобу, чтобы он смог расшифровать сообщение Алисы.
Что есть что разобрались, теперь перейдём к конкретике, а именно – генерации ключей Боба. Давайте выберем число n такое, что:
где p и q – некоторые разные простые числа. Для такого n функция Эйлера имеет вид:
Такой выбор n обусловлен следующим. Как вы могли заметить ранее, закрытый ключ d можно получить, зная открытый e. Зная числа p и q, вычислить функцию Эйлера не является вычислительно сложной задачей, ровно как и нахождение обратного элемента по модулю. Однако в открытом ключе указано именно число n. Таким образом, чтобы вычислить значение функции Эйлера от n (а затем получить закрытый ключ), необходимо решить задачу факторизации, которая является вычислительно сложной задачей для больших n (в современных системах, основанных на RSA, n имеет длину 2048 бит).
Возвращаемся к генерации ключей. Выберем целое число e:
Для него вычислим число d:
Для отыскания числа, обратного по модулю, можно воспользоваться алгоритмом Евклида.
Мы завершили с этапом генерации ключей. Теперь Боб публикует свой открытый ключ (e, n), прячет закрытый d, а мы переходим к Алисе.
Шифруем, дешифруем.
Возьмём в качестве сообщения число m (m ∈ [1, n − 1]). Чтобы Алисе зашифровать его, необходимо возвести его в степень e по модулю n. Эти числа идут вместе с открытым ключом Боба:
Здесь за с обозначен шифртекст, который Алиса будет должна передать Бобу. Отметим также, что c ∈ [1, n − 1], как и m. Расшифруем шифртекст, возведя его в степень закрытого ключа Боба d:
Здесь нам понадобится теорема Эйлера:
Также полезной будет китайская теорема об остатках:
Получаем подпись сообщения
Ещё раз напишем две ключевые формулы шифрования и расшифрования соответственно:
Теперь давайте предположим, что Боб хочет отправить Алисе открытку m от своего имени. У Боба в распоряжении уже имеются два ключа (e, n) и d, которые он сгенерировал по алгоритму, описанному ранее. Поскольку d является закрытым ключом, то можно им воспользоваться как уникальным идентификатором Боба. Давайте «зашифруем» m с помощью d:
Результат данной операции и есть подпись сообщения Боба. Заметим, что подпись напрямую зависит от подписываемого сообщения, а не только от того, что его подписывает Боб. Далее, Алиса получает сообщение m, подпись s и открытый ключ (e, n). По аналогии с расшифрованием, проверка подписи осуществляется возведением подписи s в степень открытой экспоненты e:
Если Алиса получила, что m ≡ m′, то подпись считается правильной.
Дочитавших до этого места хочу поздравить с получением первой цифровой подписи «на бумаге»!
Подпись документов
Рассмотренный алгоритм получения подписи изящен и прост в осознании, однако операция возведения в степень несколько «мешается». Наша текущая задача – подписать объёмный документ. Чтобы сэкономить время, мы не будем подписывать содержимое документа, а прибегнем к помощи хэш-функций (если вы не знаете, что такое хэш-функция, рекомендую почитать википедию). Скажу лишь то, что выходная последовательность хэш-функции имеет небольшую (по сравнению с размером ключей) длину, а также по имеющемуся хэшу нельзя однозначно восстановить исходные данные.
На картинках наглядно показано, в какой момент мы используем хэширование. Создание подписи:
В качестве хэш-функции можно использовать SHA-256, как это сделано, например, в PGP. По теме практического создания электронной подписи с использованием PGP на хабре уже написана статья, поэтому на этом месте имеет смысл поставить точку и перейти к заключению.
Заключение
Вот мы и прошли все стадии создания электронной подписи, начиная с простой модульной арифметики и заканчивая, собственно, получением подписи. Обладая этими знаниями, вы можете попробовать перевести их на ваш любимый язык программирования и написать свою защищенную аську, например. В том, как именно их применить, вас ограничит только ваше воображение.
Отмечу, что другие существующие алгоритмы создания ЭП основаны на схожих принципах, поэтому надеюсь, что после прочтения этой статьи вам будет проще разобраться в них. «Следующей по сложности» я обозначу криптосистему Эль-Гамаля, но о ней уже не в этом посте.
Спасибо за внимание!
Источники
Handbook of Applied Cryptography by A. Menezes, P. van Oorschot and S. Vanstone
Криптографические методы защиты информации: учеб. пособие / С. М. Владимиров, Э. М. Габидулин, А. И. Колыбельников, А. С. Кшевецкий; под ред. А. В. Уривского. – М.: МФТИ, 2016
Маховенко Е. Б. Теоретико-числовые методы в криптографии — М.: Гелиос АРВ, 2006.
NIST Special Publication 800-57 Part 3 Revision 1
SecurID
RSA The Security Division of EMC
«Имя, которому больше других доверяют в компьютерной безопасности» [1]
SecurID (также RSA SecurID) — технология, разработанная компанией RSA, (впоследствии известная как RSA The Security Division of EMC) для предоставления двух-факторной аутентификации между пользователем и сетевыми устройствами. Двухфакторная аутентификация RSA SecurID® основывается на том, что Вы знаете (пароль или PIN-код) и у Вас есть ключ, таким образом обеспечивается гораздо более надежный уровень проверки подлинности пользователя по сравнению с многократно используемыми паролями. Данное решение является единственным решением, которое автоматически изменяет пароль каждые 60 секунд. RSA предлагает предприятиям широкий спектр возможностей аутентификации пользователей, которые помогают уверенно определять пользователей прежде, чем они смогут взаимодействовать с критически важными данными и приложениями через различные сети и ресурсы.
Содержание
Структура RSA SecurID
RSA SecurID влючает в себя три основных компонента
RSA Authentication Manager
RSA Authentication Manager является стандартом гарантии подлинности личности. Данная система включает в себя все четыре функции, которые необходимы для обеспечения гарантии подлинности личности: управление учетными данными на основе политики проверки подлинности пользователей, аутентификация, авторизация и интеллектуальная обработка. Гарантия подлинности личности RSA имеет более расширенное понятие аутентификации — от отдельной защитной меры до целостной модели доверия к личности, определяющей, использование учетной записи и каковы её возможности. Применение доверенных учетных записей повышает уровень безопасности ежедневно осуществляемых операций и предоставляет поддержку для новых моделей бизнеса, гарантируя безопасный доступ сотрудникам компании, её клиентам и партнерам и сохраняя необходимый баланс между риском, стоимостью и удобством. Данное программное обеспечение выполняет следующие задачи:
Программное обеспечение RSA® Authentication Manager является управляющим компонентом системы RSA SecurID®. Благодаря этому решению производится обработка запросов на проверку подлинности и осуществляется централизованное управление политикой проверки подлинности пользователей. Работая совместно с аутентификаторами RSA SecurID и программами RSA® Authentication Agent, данное решение обеспечивает двухфакторную проверку подлинности пользователей и защищенный доступ к большому количеству виртуальных частных сетей, беспроводных сетей, web-приложений, бизнес приложений и операционных систем.
RSA Authentication Manager обеспечивает высокую производительность и масштабируемость с такими функциями управления, как репликация базы данных, регистрация и отчетность, поддержка родного LDAP и web-интерфейс управления. Решение RSA Authentication Manager может удовлетворить потребности организаций любого размера. Созданное на основе мультипроцессорной архитектуры корпоративного класса, оно способно обеспечивать поддержку от двадцати пяти до нескольких миллионов пользователей на одном серверe, а также осуществлять сотни проверок подлинности в секунду. RSA Authentication Manager применяется во всем мире в правительственном секторе, в банковском секторе, секторе производства, розничной торговли, высоких технологий и здравоохранения, включая многие мелкие и средние компании. Имеется две версии данного решения: Base Edition (базовая версия) и Enterprise Edition (корпоративная версия).
Функция репликации базы данных
Функция репликации базы данных RSA Authentication Manager обеспечивает повышенную гибкость конфигурации сети и балансировку нагрузки для повышения производительности, что в конечном итоге снижает затраты на управление. В базовой версии имеется один основной сервер и один сервер-реплика. На основном сервере производится управление учетными записям пользователей, а вся информация копируется на сервер-реплику. Запросы на проверку подлинности могут обрабатывать оба сервера; RSA Authentication Agent распределяет рабочую нагрузку между серверами, отслеживая время реакции и направляя запрос на соответствующий сервер в целях оптимизации производительности. Корпоративная версия, которая предназначена для средних и крупных компаний, имеет один основной сервер и до пятнадцати серверов-реплик в одной области (authentication realm), и может соединять до шести отдельных областей. Каждый из серверов в развернутой системе может быть группой из 4 машин, что повышает эффективность распределения нагрузки, связанной с задачами администрирования и проверки подлинности. Это позволяет администраторам отслеживать проверку подлинности пользователей в их системах в реальном времени, одновременно обновлять политику безопасности и разрабатывать глобальную топологию сетей для повышения их производительности.
Аудит и отчетность
RSA Authentication Manager ведет запись всех операций и действий пользователя, поэтому администраторы могут использовать его как инструмент аудита и отчетности, а также проводить проверки на соответствие предъявляемым требованиям. Он содержит шаблоны отчётов, которые можно адаптировать к задачам администрирования, в том числе отчеты о действиях, исключениях, инцидентах и использовании системы. Кроме функций отчетности, данный продукт также содержит монитор реального времени, который отображает все или выбранные администратором действия в глобальной развернутой системе.
Совместимость
RSA Authentication Manager совместим с большинством крупнейших сетевых продуктов и операционных систем, — включая более чем 400 наименований продукции от более чем 200 производителей, обслуживая организации с максимумом гибкости и защиты инвестиций и предоставляя им максимальную гибкость и защиту капиталовложений. Встроенная поддержка RSA Authentication Manager предусмотрена ведущими производителями систем удаленного доступа, виртуальных частных сетей, систем защиты доступа, устройств беспроводной сети, web-серверов и бизнес-приложений.
Поддерживаются следующие операционные системы: Microsoft Windows Server 2003, Sun Solaris, Red Hat Linux, SuSE Linux Enterprise Server, HP-UX, IBM AIX.
Поддержка LDAP
Поддержка родного LDAP поддерживает интеграцию с Sun One и Microsoft Active Directory, RSA Authentication Manager не требует синхронизации. Веб-интерфейс администрирования RSA Authentication Manage не требует от клиента установки программного обеспечения и может управляться с любого компьютера с подключением к интернету и установленным браузером.
RSA Credential Manager
RSA Credential Manager жестко связан с интерфейсом управления RSA Authentication Manager, и не требует отдельной установки. Он предлагает такие функции, как самообслуживание, позволяя конечным пользователям запрашивать различные услуги, такие как получение пароля с токена по требованию для экстренного доступа или подготовка рабочего процесса резервирования(которая позволяет администраторам создавать процессы, посредством которых одобряются запросы и выдаются учетныe данных.
RSA Authentication Agents
Основная задача — потребовать от пользователя ввод SecurID информации, отправить её на центральный сервер и, в зависимости от ответа, предоставить доступ или отказать в доступе. Агенты обеспечивают балансировку нагрузки путем определения времени отклика сервера-реплики и отвечают соответственно.
RSA Authentication Agent программное обеспечение, встроенное в серверы удаленного доступа (RAS), брадмауэры и виртуальные частные сети (VPN), что гарантирует что RSA SecurID технология будет работать без проблем в любой пользовательской среде. Кроме того, агенты позволяют обезопасить веб-страниц и приложения в интранете или экстранете, в то же время защищая критически важные серверные системы.
Агенты также могут обеспечить безопасный доступ к NT доменам и ресурсам, размещенных на серверах UNIX, мэйнфреймам, системам средней удаленности, а также к ряду устаревших узлов. Инструментарий программного обеспечение позволяет создавать пользовательские агенты для защиты других внутренних приложений, которые являются специфическими для конкретной организации.
Список ресурсов, которые могут быть защищены, огромен. В него входят Web-серверы, сетевые ресурсы, VPN и Dial-up серверы, почтовые серверы, рабочие станции, серверы удалённого доступа к приложениям. Полный список, а также инструкции по интеграции можно найти на сайте производителя. Если необходимого ресурса нет в списке, поддерживается аутентификация по RADIUS протоколу. Если этого недостаточно, существует API, который позволит написать необходимый агент самостоятельно.
RSA SecurID Authenticators
Один и тот же токен не может подходит для всех случаев, когда дело доходит до выбора правильного аутентификатора, чтобы сбалансировать безопасность вашей организации, совокупною стоимость предприятия и потребности конечных пользователей. С широким спектром простых в использовании форм-факторов, есть RSA SecurID аутентификаторы способные удовлетворить самые разнообразные требования организаций и приложений.
RSA SecurID Hardware Token
RSA SecurID аппаратные токены производятся с гарантией, что вы не столкнетесь со скрытыми расходами, связанными с бракованными токенами. При выборе RSA SecurID токенов, которые поставляются с пожизненной гарантией, организации могут снизить накладные расходы на распространение замены жетонов и снизить общие затраты на безопасность, обеспечивая целостность и простоту в использовании аутентификации опыт для конечных пользователей. The RSA SecurID аппаратные токен поставляются в виде различных удобных моделей, генерирующие и отображающие новые коды каждые 60 секунд.
Токены RSA SecurID в виде брелоков
Токены RSA SecurID в виде смарт-карт
Базовый аппаратный токен аутентификации RSA SecurID, представлен моделью RSA SD200. Это устройство размером с кредитную карту, обеспечивающее превосходные рабочие характеристики, впрочем гарантированные для каждого устройства аутентификации RSA SecurID. Он выполнен из металла и имеет толщину порядка 5 мм.
Токен RSA SecurID SD 520 аналогичен SD200, но имеет дополнительную цифровую панель. Пин-код пользователя набирается на этой панели. В результате токен отображает не просто токен-код, а комбинацию пин-кода и токен-кода, которая вводится при аутентификации. Данный токен имеет преимущество перед предыдущей моделью в том что, позволяет обеспечить сохранность пин-кода, даже если записываются нажатия клавиш.
Software Authenticators
RSA SecurID Software Authenticators — программные токены используют тот же алгоритм, что и RSA SecurID Hardware(аппаратные токены компании RSA) токены, устраняя необходимость для пользователей следить за аппаратными устройствами. Вместо того, чтобы хранить в аппаратной части RSA SecurID, симметричный ключ хранится с гарантией безопасности на компьютере пользователя или смартфоне. RSA SecurID программные аутентификаторы помогают более эффективно управлять стоимостью при одновременном сокращении количество элементов, необходимых для получения доступа к сети или корпоративным активам, и устраняя необходимость в замене жетонов в случае кто-то покидает компанию или потери маркера.
RSA SecurID software tokens for smartphones
RSA SecurID жетоны программного обеспечения доступны для различных платформ смартфонов, включая BlackBerry, iPhone, Windows Mobile, Java ™ ME, Palm OS и Symbian OS UIQ устройств. Интеграция RSA SecurID токенов на смартфоны облегчается работу с ними для сотрудников компании. [5]
RSA SecurID Token for Windows and RSA SecurID Token for Mac OS X
The RSA SecurID Token for Windows and RSA SecurID Token for Mac OS X удобные форм-факторы установленные на ваш компьютер, предоставляющие автоматическую интеграцию с ведущими клиентами посредством удаленного доступа.
RSA SecurID Toolbar Token
RSA SecurID Toolbar Token, встроенный в браузер токен, позволяет автоматически заполнять формы веб-приложений, уделяя внимание безопасности используя анти-фишинг механизмы.
RSA SecurID On-demand Authenticator
RSA SecurID On-demand Authenticator позволяет пользователям получить одноразовый пароль в виде SMS-сообщение с доставкой на мобильный телефон или по электронной почте. Пользователи запрашивают одноразовый пароль с помощью интуитивно понятного самообслуживания веб-модуля, введя свой PIN-код. RSA SecurID On-demand Authenticator не требует аппаратного или программного токена. Это отличный выбор для пользователей, которым не нужно часто обращаться к сети удаленно.
Описание процесса аутентификации
При запросе пользователя доступа к ресурсу, будь то Web-портал, рабочая станция, сетевое хранилище, VNP или Dial-up сервер. Вместо стандартного приглашения на ввод логина и пароля запрашивается логин и кодовая фраза (passcode). Кодовая фраза представляется в виде особой комбинацию пин-кода (4 цифры, которые пользователь помнит) и токен-кода (6 цифр, которые в данный момент высвечиваются на токене). Пользователь необходимо просто последовательно ввести эти 2 числа.
Предоставленную пользователем информацию агент передает на сервер в зашифрованном виде. В серверу хранится пин-коды пользователей и программные копии всех зарегистрированных токенов, соответственно он может проверить предоставленную пользователем информацию.
В зависимости от результата проверки агент либо предоставляет пользователю доступ к ресурсу, либо отказывает ему в доступе.
Описание алгоритма получения токен-кода
Каждому токену соответствует 128-ми битное случайное число — начальный вектор генерации (seed). Также в каждый токен встроены часы. Токен-код — результат работы запатентованного компанией RSA алгоритма, который в качестве параметров берёт текущее время, и начальный вектор (англ.) генерации. По токен-коду невозможно восстановить начальный вектор генерации, так как алгоритм работает в одну сторону. [6]
Токен-код действителен в течение одной минуты (меняется раз в минуту и только один раз). Так как на сервере хранится соответствующие токенам начальные вектора генерации, то он в любой момент времени может по тому же самому алгоритму восстановить текущий токен-код. Для случая если часы у сервера и токена расходятся, предусмотрена автоматическая синхронизация. То есть В случае если например часы у токена убежали вперёд, то сервер заносит в базу величину сдвига соответствующую конкретному токену. Это достигается благодаря тому, что сервер вычисляет пароль не только для текущей минуты, но так же прошлой и будущей минут. Таким образом, если PIN, введеный пользователем верен, а токен-код соответствует соседним минутам, то рассинхронизация учитывается для дальнейших операций. [7]
Уязвимости технологии
Теоретические уязвимости
SecurID не защищен от атак вида человек-по-середине(man-in-the-middle). Злоумышленник может блокировать для пользователя доступ и подключиться к серверу, пока не будет сгенерирован следующий токен-пароль.
Другой проблемой является случайный подбор пароля. SecurID пытается решить эту проблему с помощью ограничения количества запросов на аутентификацию в течение временного промежутка, на котором пароль не сгенерирован заново.
Самой опасной и и почти неустранимой уязвимостью является потеря или кража токенов.
Нарушение системы безопасности в 2011 году
План атаки на SecurID:
17 марта 2011, RSA объявили, что они стали жертвами «чрезвычайно сложного кибер-нападения». Хотя и компания уверена, что извлеченная информация не позволяла успешных прямых атак на любого из клиентов RSA SecurID, она опасалась, что эта информация могла бы быть использована для снижения эффективности текущей реализации двухфакторной аутентификации, как часть более широкой атаки. На устранение бреши в системе EMC (материнской компании RSA) потратила 66.3 миллиона долларов для расследования атаки, улучшения своей IT-системы и мониторинга операций корпоративных клиентов, в соответствии с решением исполнительного вице-президента и главного финансового директора EMC Дэвид Гульдена, в ходе телефонной конференции с аналитиками.
Рынок OTP
По данным аналитической компании Frost & Sullivan за 2008 год, объём мирового рынка разовых паролей (One Time Password, OTP) оценивался в 430 млн долл. К 2015 году он может составить 690,4 млн долл., среднегодовой рост за этот период составил 7,8 %. И по оценкам экспертов, этот рынок остается развивающимся. Главным стимулом его развития является усиливающаяся тенденция замены устройств аппаратной аутентификации смарт-картами и усилением спроса на ПО для средств OTP корпоративного и розничного применения.
Так как со временем потребности клиентов растут, то такие компании как, к примеру, RSA, Vasco, Aladdin Knowledge Systems (англ.) русск. и ActivIdentity, для удовлетворения специфических запросов создают новые решения, которые опираются не только на устройства аутентификации, но объединяют несколько решений для аутентификации. Многие производители добавили к своим продуктам USB-токены, смарт-карты, ПО для OTP и системы управления аутентификацией. [11]
Бесплатная версия
Существует пробная версия, распространяемая бесплатно. Также в это предложение включена серверная лицензия с ограниченным сроком жизни, и ограничением на двух пользователей, а так же два токена SID700. Данная версия обладает полным функционалом, что позволяет перейти к коммерческому использованию без каких-либо дополнительных настроек. [12]