Генерация otp для windows

Python | Программа для генерации одноразового пароля (OTP)

Одноразовые пароли (OTP) — это пароль, который действителен только для одного сеанса входа в систему или транзакции на компьютере или цифровом устройстве. В наши дни OTP используются почти во всех сервисах, таких как интернет-банкинг, онлайн-транзакции и т. Д. Они обычно представляют собой комбинацию из 4 или 6 цифр или 6-значный буквенно-цифровой.

Функция random () может использоваться для генерации случайного OTP, который предопределен в случайной библиотеке. Давайте посмотрим, как генерировать OTP с помощью Python.

random.random(): This function returns any random number between 0 to 1.
math.floor(): It returns floor of any floating number to a integer value.

Using the above function pick random index of string array which contains all the possible candidates of a particular digit of the OTP.

Пример № 1: Генерация 4-значного числового OTP

import math, random

# функция для генерации OTP

# Объявить переменную цифр

# который хранит все цифры

# длина пароля может быть изменена

# путем изменения значения в диапазоне

for i in range ( 4 ) :

OTP + = digits[math.floor(random.random() * 10 )]

if __name__ = = «__main__» :

print ( «OTP of 4 digits:» , generateOTP())

Выход:

Пример № 2: Генерация буквенно-цифрового OTP длиной 6

import math, random

# функция для генерации OTP

# Объявить строковую переменную

# который хранит всю строку

length = len (string)

for i in range ( 6 ) :

OTP + = string[math.floor(random.random() * length)]

if __name__ = = «__main__» :

print ( «OTP of length 6:» , generateOTP())

Выход:

Пример № 3: Использование строковых констант

# Импортировать случайные для генерации
# случайная последовательность строк

Средства генерации одноразовых паролей (OTP)

Инструменты для генерации и аутентификации с помощью одноразовых паролей (OTP)

Выбор средств защиты

Поиск

Мнение

Описание и назначение

Cистемы One-time password (OTP), или одноразовые пароли — это способ аутентификации, при котором пользователю предоставляется пароль, активный только для одного сеанса входа или транзакции в информационной системе.

Технология OTP имеет ряд преимуществ, таких как:

  • Защищенность от повторных атак. Другими словами, если одноразовый пароль был скомпрометирован и злоумышленник получил вход в систему однажды, после того как его сеанс работы завершится, он не сможет получить доступ к системе по скомпрометированному паролю, так как последний уже утратит срок действия.
  • Защита от несанкционированного доступа к ряду систем, в которые есть доступ у пользователя. В отличие от систем, построенных на технологии единого входа (SSO), компрометация одноразового пароля от одной системы не приведет к получению злоумышленником доступа в другие информационные системы.
  • Сложные технологии генерации одноразовых паролей. Многие OTP-системы обеспечивают защищенность передаваемых данных для исключения возможности перехвата. Одним из способов защиты является несвязность или непредсказуемость данных, созданных во время предыдущей сессии доступа.

Существуют два основных метода генерации одноразовых паролей:

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

При этом токенами безопасности также могут быть:

  • Текстовые сообщения, передаваемые на смартфоны. Однако в этом случае есть высокая вероятность того, что злоумышленники смогут расшифровать передаваемое сообщение. В связи с этим данный способ не рекомендуется для реализации двухфакторной аутентификации из-за возможности перехвата SMS-сообщений.
  • Приложения на мобильных устройствах. На смартфонах одноразовые пароли также можно доставлять непосредственно через мобильные приложения, включая специальные приложения для аутентификации, такие как Authy, Duo и Google Authenticator, или в существующем приложении службы, например, в случае Steam. Эти системы не имеют одинаковых уязвимостей безопасности, таких как SMS, и не обязательно требуют подключения к используемой мобильной сети, поскольку они работают при подключении к интернету.
  • Веб-метод, позволяющий не использовать токены. Он зависит от способности пользователя распознавать предварительно выбранные категории из случайно созданной сетки изображений. При первой регистрации на веб-сайте пользователь выбирает несколько секретных категорий вещей. Каждый раз, когда пользователь заходит на веб-сайт, ему предоставляется произвольно созданная сетка с изображениями. Пользователь ищет изображения, соответствующие предварительно выбранным категориям, и вводит соответствующие буквенно-цифровые символы для формирования одноразового кода доступа.
Читайте также:  Mac os sierra как обновить систему

Токены-генераторы одноразовых паролей (OTP) ActivID®

OTP tокены (OTP) компании HID Global позволяют предприятиям выйти за рамки использования простых статических паролей и являются простым способом повышения надежности аутентификации пользователей, получающих доступ к необходимым ресурсам. Когда пользователю необходимо получить доступ к сетевым или системным ресурсам, а также к облачным приложениям, он просто использует какую-либо известную ему комбинацию (например, PIN-код) в сочетании с паролем, случайно генерируемым OTP-токеном.

Линейка OTP tокеновкомпании HID Global включает:

  • Карманные OTP токены (Pocket Token): портативные прочные устройства, предназначенные для высокомобильных пользователей
  • Мини-OTP токены (Mini Token): разработанные для использования в крупномасштабных системах, являются идеальным решением для идентификации клиентов и персонала; влагонепроницаемые устройства с опциональной возможностью нанесения индивидуальных логотипов и окраски корпуса в разлчиные цвета.
  • Настольные OTP токены (Desktop Token): экран дисплея с большой диагональю и крупные кнопки упрощают ввод PIN-кодов и помогают снизить напряжение глаз, что делает их идеальным решением для дома или офиса.
  • Token One: популярные средства идентификации сотрудников благодаря наличию функций разблокировки с помощью ввода PIN-кодов и аутентификации «запрос/ответ» с клавиатуры.
  • Токены-брелоки (Keychain Token): компактный прочный корпус токена делает его удобным средством идентификации сотрудников.

OTP tокены компании HID Global обеспечивают многофакторную аутентификацию, необходимую для повышения надежности идентификации сотрудников предприятия и защиты доступа к корпоративным сетям, системным и облачным приложениям. HID Global производит OTP токены, которые удовлетворяют специфическим техническим требованиям предприятий, обеспечивая:

  • Длительный срок службы и повышенную прочность OTP-токенов, производимых HID Global — компанией, имеющей продолжительный опыт в области разработки энергосберегающих устройств с оптимальной конструкцией и длительным сохранением заряда
  • Полную поддержку широкого спектра алгоритмов, форм-факторов и вариантов конструкции, что позволяет выбирать OTP-токены в соответствии с конкретными нуждами предприятия.
  • Совместимость с программным обеспечением сторонних производителей и OATH-алгоритмом защищенной аутентификации с использованием одноразового пароля (HMAC-based One-Time Password, HOTP), являющимся открытым стандартом двухфакторной аутентификации.
  • Доступ в любое время, в любом месте, с использованием открытого, стандартного механизма «запрос-ответ», предотвращающего проблемы с рассинхронизацией.
  • Надежность за счет использования алгоритма обработки только событий (event-only), что обеспечивает требуемый уровень безопасности для выполнения повседневных операций по аутентификации пользователей.

OTP-токены компании HID Global способны взаимодействовать с сервером удаленного доступа 4TRESS AAA, решениями ActivID Appliance и ActivID Authentication Server, или с любым другим сервером, использующим стандарт открытой аутентификации OATH (Open Authentication).

Функциональные характеристики:

  • Генерация одноразового пароля:
    • Основанный на событиях и/или времени алгоритм ActivIdentity с использованием Triple DES
    • Поддержка алгоритма OATH – HOTP (по событию) или TOTP (по времени)
  • «Запрос/отклик» и генерация цифровой подписи * :
    • Основанный на событиях и/или времени алгоритм ActivIdentity с использованием Triple DES
    • Стандартный алгоритм OATH, OCRA
  • Защита PIN-кодом с безопасной автономной системой сброса PIN-кода на основе обратного метода «запрос/отклик» *
  • Срок службы: около 6 лет

Защита PIN-кодом с использованием метода «запрос/отклик» и генерация цифровой подписи не доступны для мини-токенов

Национальная библиотека им. Н. Э. Баумана
Bauman National Library

Персональные инструменты

OTP (One Time Password)

One Time Password (также известен как одноразовый пин-код или OTP ) — это механизм, для входа в сеть, либо службу, с использованием уникального пароля, который можно использовать только один раз. Действие такого пароля также возможно на протяжении определенного промежутка времени.
Использование таких паролей позволяет предотвратить кражу личных данных, а также блокирует злоумышленнику возможность повторно использовать перехваченный пароль в преступных целях. OTP — это форма реализации строгой аутентификации, которая используется для защиты данных банковских счетов, корпоративных и других сетей, которые могут содержать конфиденциальные данные. Одна из форм реализации этого решения: двухфакторная аутентификация.
Одноразовые пароли сложны для их запоминания пользователем, в связи с этим, зачастую требуются дополнительные технические решения для их реализации. [Источник 1]

Содержание

Генерация и распространение OTP

Алгоритмы создания OTP используют псевдослучайные или случайные наборы чисел, а также хэш-функции, которые можно использовать для повторного получения значения, однако очень сложно получить данные хэша для их повторного использования. Такие механизмы необходимы, поскольку в ином случае, было бы легко предсказать по какому принципу генерируются OTP, наблюдая его предыдущие вариации. Конкретные алгоритмы OTP сильно различаются в деталях. Выделяют следующие механизмы реализации одноразовых паролей [Источник 2] :

  • Основанные на временной синхронизации между сервером и клиентом, обеспечивающей пароль (такие пароли действительны в течении ограниченного периода времени);
  • Использующие математические алгоритмы для создания нового пароля на основе предыдущих (пароли фактически составляют цепочку, и должны быть использованы в определённом порядке);
  • Использующие математический алгоритм, где новый пароль основан на запросе (например, случайное число, выбираемое сервером или части входящего сообщения) и/или счётчике;
Читайте также:  Восстановление пароля windows 10 через командную строку

Кроме того, существуют различные способы информирования пользователя о следующем используемом OTP. Многие системы используют специальные электронные токены, которые пользователь носит с собой. Данные токены создают пароль и выводят его на маленький экран. Прочие системы состоят из программ, которые пользователь может самостоятельно запустить на мобильном телефоне. Все остальные системы генерируют пароль на стороне сервера и отправляют его пользователю по внеполосному каналу, например, при помощи SMS. В некоторых системах OTP печатается на бумаге, либо скетч-карте, которую пользователю необходимо иметь при себе.

Методы генерации OTP

Синхронизированные по времени

Синхронизированные по времени OTP обычно привязаны с так называемыми токенами безопасности (например, каждому пользователю предоставляется токен, который генерирует одноразовый пароль). Обычно такие токены (см. рис. 2) выглядят как маленькие калькуляторы или брелок с ЖК-дисплеем, который показывает число, которое время от времени изменяется. Внутри такого токена находятся встроенные часы, которые синхронизированы с часами на проприетарном сервере аутентификации. В подобных системах OTP, время является ключевой частью алгоритма паролей, так как генерация новых паролей основана на текущем времени, а не на предыдущем пароле или секретном ключе, или в дополнение к нему.

В настоящее время появилась возможность встраивать электронные компоненты, связанные с постоянными токен-часами, такие, как от ActivIdentity, InCard, RSA, SafeNet, Vasco, VeriSign и Protectimus, в форм-фактор кредитной карты. Однако, учитывая то, что толщина пластиковых карт не расчитана на вживление традиционных элементов батареек, необходимо использование специальных батареек, основанных на использовании полимеров, время жизни которых значительно превосходит время жизни мини-батареек. Кроме этого, для стабильной работы такого устройства, в нем должны быть использованы маломощные полупроводниковые компоненты для экономии питания во время ожидания или использования. Производством подобных тонких устройств занимаются компании Identita и NagraID.

Математический алгоритм

Каждый новый OTP создается на основе всех предыдущих. Данный подход разработан Лесли Лэмпортом и использует одностороннюю функцию, условно, назовем ее f. Данная система паролей работает следующим образом:

  1. Выбирается начальное значение s.
  2. Хэш-функция F(s) применяется повторно (например 1000 раз к начальному значению, что дает: f(f(f( . f(s) . ))). Это значение, которое можно назвать f 1000 (s), сохраняется в целевой системе.
  3. Первый логин пользователя использует пароль p, полученный путем применения f 999 раз к начальному числу, то есть f 999 (s). Целевая система может аутентифицировать, что это правильный пароль, так как f(p) будет равно f 1000 (s), что является сохраненным значением. Сохраненное значение затем меняется на p и пользователь получает доступ в систему.
  4. Следующий логин пользователя будет использовать пароль, который уже будет вычисляться по функции f 998 (s). Новое значение будет вновь записано в p и пользователь точно также сможет войти в систему.
  5. Такое вычисление может быть повторено еще 997 раз. Хэш-функции необходимы, и их чрезвычайно сложно повторить. Если злоумышленнику удается получить пароль он может получить доступ только на один период времени или одно соединение, но это становится бесполезным, когда этот период закончится.

Чтобы получить следующий пароль в цепочке из предыдущих, необходимо найти способ вычисления обратной функции f -1 . Так как f была выбрана односторонней, то сделать это невозможно. Если f — криптографическая хеш-функция, которая обычно используется, то, насколько известно, это будет вычислительно неосуществимая задача.
В некоторых схемах математических алгоритмов пользователь может предоставить серверу статический ключ для использования в качестве ключа шифрования, отправив только одноразовый пароль.
Использование одноразовых паролей «вызов-ответ» требует от пользователя предоставления ответа на вызов. Например, это можно сделать, введя значение, сгенерированное токеном, в сам токен. Чтобы избежать дублирования, обычно используется дополнительный счетчик, поэтому, если один и тот же вызов получен дважды, это все равно приводит к использованию разных одноразовых паролей. Однако такое вычисление не будет использовать предыдущий OTP, то есть в таком случае используется один из двух алгоритмов, а не оба. [Источник 3]

Информирование пользователя об OTP

Телефоны

Распространенной технологией, используемой для информирования пользователя об OTP, является обмен текстовыми сообщениями. Поскольку обмен текстовыми сообщениями является повсеместным каналом связи, он доступен напрямую практически на всех мобильных телефонах и, благодаря преобразованию текста в речь, на любой мобильный или стационарный телефон, обмен текстовыми сообщениями имеет большой потенциал для охвата всех потребителей с низкой общей стоимостью реализации решения. Однако, стоимость обмена текстовыми сообщениями для каждого отдельно взятого OTP может быть неприемлема для конечного пользователя. Сообщение, содержащее OTP обычно шифруется с использованием стандарта A5/x, однако, злоумышленники уже умеют легко расшифровывать подобные сообщения.
Кроме того, из за недостатков в безопасности протокола маршрутизации SS7, сообщения могут быть перенаправлены и попасть в руки злоумышленников. Так, в 2017 году, в Германии, злоумышленники смогли получить доступ к банковским счетам нескольких клиентов компании O2. Компания NIST не рекомендует использовать данный метод для реализации двухфакторной аутентификации, так как вполне реальна угроза перехвата SMS сообщений и получения несанкционированного доступа к личной информации.
На смартфонах, зачастую, одноразовые пароли доставляются напрямую через мобильные приложения. В том числе, через специальные приложения для аутентификации, такие как Authy, Duo и Google Authenticator, или в рамках существующего приложения службы, например, Steam (см. рис. 3). Эти системы не подвержены уязвимостям SMS, а также не всегда требуют подключения к сети интернет.

Читайте также:  Образ загрузочной флешки windows 10 uefi

Веб-методы

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

Распечатка

В некоторых странах в режиме онлайн-банкинга банк отправляет пользователю нумерованный список OTP, которые напечатаны на бумаге. Другие банки отправляют пластиковые карты с фактическими OTP, скрытыми слоем, который пользователь должен стереть, чтобы выявить пронумерованный OTP (скретч-карты (см. рис. 1)). Для каждой онлайн-транзакции пользователь должен ввести определенный OTP из этого списка. Некоторые системы запрашивают пронумерованные OTP последовательно, другие псевдослучайно выбирают OTP для ввода. В Германии и многих других странах, таких как Австрия и Бразилия, эти OTP обычно называются TAN («номера аутентификации транзакций»). Некоторые банки даже отправляют такие TAN на мобильный телефон пользователя посредством SMS, и в этом случае они называются mTAN («мобильные TAN»).

Сравнение технологий

С точки зрения затрат на производство, самым дешевым методом реализации OTP является распечатка их на бумаге, либо специальных скретч-картах. Приближена по стоимости генерация одноразовых паролей на мобильном устройстве. Это связано с тем, что приведенные методы исключают траты на производство специальных токенов безопасности, или с тратами на мобильное SMS информирование.
Системы же, которые основаны на синхронизации часов на токенах и сервере, должны решить проблему с рассинхроном, что влечет за собой дополнительные затраты на разработку. Однако, они позволяют избегать расходов на установку электронных часов в эти токены, а также их коррекцию с учетом временного дрейфа.
OTP уязвимы для фишинга. В конце 2005 года у пользователей Банка Швеции обманом выманили их одноразовые пароли. Даже синхронизированные по времени пароли уязвимы для фишинга, в случаях, когда взломщик успевает быстро воспользоваться паролем. Это было замечено в 2006 году по атаке на пользователей Citibank в США. [1]
Несмотря на то, что одноразовые пароли являются одними из наиболее безопасных, они все еще являются уязвимыми, например, для атак типа «человек посередине». В связи с этим одноразовые пароли ни в коем случае не должны передаваться третьей стороне. Синхронизация OTP по времени, в основном, никак не влияет на степень его уязвимости. Основанные на запросе одноразовые пароли тоже являются уязвимыми, хотя успешная атака требует от злоумышленника чуть более активных действий, чем для других типов OTP. [2]

Стандартизация

Многие технологии OTP запатентованы. Это усложняет стандартизацию в этой области, поскольку каждая компания пытается продвигать свои собственные технологии. Стандарты, тем не менее, существуют — например, RFC 1760 ( S / KEY ), RFC 2289 (OTP), RFC 4226 ( HOTP ) и RFC 6238 ( TOTP ).

Связанные технологии

Чаще всего одноразовые пароли являются воплощением двухфакторной аутентификации (2FA или T-FA). 2FA — это форма многоуровневой защиты, при которой маловероятно, что оба уровня будут скомпрометированы кем-либо, использующим только один тип атаки.

Некоторые решения единой регистрации используют одноразовые пароли.

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

Оцените статью