Из блога Yubico:
Разъяснения о безопасности системы YubiKey
2012-06-07
по jas4711
В последнее время была дискуссия на Bitcoin форуме о безопасности системы YubiKey.
Как мы понимаем, заявленную проблему, он сказал, что будет шанс около 1 в 65.000 угадать правильный OTP из YubiKey. Это действительно было бы очень серьезной проблемой. Мы проверили, что в двух текущих реализациях, поддерживаемых Yubico, вероятность правильно угадать действительный OTP меньше 1 в 10.000.000.000.000.000.000. Учитывая тот факт, что угадывание бы сделать по сети, а также задержки участвует в проверке ОТР, это не представляется возможным нападение. Исходя из того, что мы узнали до сих пор (см подробности ниже), мы не считаем, что существует причина для действий по любому из наших клиентов или пользователей.
Yubico предлагает дальнейший анализ наших решений, поскольку это создает в них уверенность. Мы будем обновлять эту запись в блоге, как новая информация.
Уязвимость, которая была описана в том, что можно создать поддельные одноразовых паролей с помощью не пытается одноразовых паролей, пока один из них успеха, и что это по какой-то причине это будет работать с не пренебрежимо малой вероятностью. Прежде чем мы продолжим, мы хотим отметить, что подобные атаки можно с любым OTP или даже схемами паролей, злоумышленники всегда могут попробовать аутентификации много раз. Например, с 6-значным OATH TOTP есть 1 в 1.000.000 вероятности угадать текущий OTP для конкретного пользователя. Мы также хотели бы отметить, что до сих пор ничего не даже предположил, что ключ AES может быть восстановлен.
Алгоритм YubiKey описан в Руководстве YubiKey. Раздел 2 охватывает основные этапы, на которых строка байт подготовлены и зашифрованные с помощью AES в режиме ECB и преобразуется в последовательность символов. Раздел 6 объясняет подробности строки байтов. Для более глубокого обсуждения о свойствах безопасности см нашей YubiKey оценка безопасности.
Утверждение, что было сделано в том, что если вы попытаетесь случайных одноразовых паролей, проверка их удастся с не пренебрежимо малой вероятностью. Для защиты от этой атаки, технология YubiKey использует несколько механизмов. В типичных сценариях Yubikey OTP передаются от клиента к централизованному серверу для проверки. Сервер проверки будет расшифровывать шифрованный OTP, чтобы получить открытый текст. Поскольку AES в режиме ECB используется, дешифрование всегда будет успешным для всех случайных входов. Следующим шагом является проверка 48-битного частного поля ID и 16-битовый CRC значение. Для случайных входов, вероятность для полей, чтобы соответствовать один в 2 ^ (48 + 16) = 2 ^ 64. Это меньше, чем 1 в 10.000.000.000.000.000.000. Мы считаем, что это делает нападение вряд ли будет работать в практических ситуациях, так как злоумышленники редко получают шанс попытаться это много подлинности. Отметим еще раз, что не существует никакого риска, что 128-битный AES ключ открыл этот путь. Мы отдаем себе отчет, что CRC-16 не криптографический безопасный хэш-значение, и это является намеренным и безопасность YubiKey не зависит от каких-либо криптографических свойств функции CRC-16.
Иск в том, что программное обеспечение проверки не сравнивает поле частного ID 48-битную, поворачиваясь вероятность успеха в 1 в 2 ^ 16 или 1 в 65.536. Это было бы серьезным, но мы не смогли подтвердить это. Поскольку на стороне сервера программное обеспечение Yubico является свободным и открытым исходным (FOSS), мы можем предоставить указатели на код и соответствующий код здесь для тех, кто проанализировать. Как вы можете видеть, он сравнивает внутреннюю идентичность с тем, что хранится в базе данных. Для службы YubiCloud Yubico Employés аппаратных YubiHSMs для выполнения дешифрования, как и некоторые из наших клиентов, который использует программное обеспечение питон-pyhsm сервера - однако, в этом сценарии YubiHSM несет ответственность за выполнение сравнения UID. Мы проверили, что YubiHSM надлежащим образом осуществлять сравнение.
Наконец, мы также хотели бы отметить, что если реализация сервера неправильно не выполнять 48-битное внутреннее сравнение идентификатора правильно, нападение обычно приводит к отказу в обслуживании против YubiKey пользователя. Это потому, что со случайными одноразовыми паролями, значения счетчика, как правило, гораздо выше, чем то, что устройство имеет YubiKey, и, следовательно, любой реальный ОТП из устройства YubiKey больше не будет работать.
-
http://status.yubico.com/2012/06/07/clarifications-about-yubikey-system-security