OpenID PHP Library Janrain и установка Auth_OpenID_RAND_SOURCE на ноль - PullRequest
2 голосов
/ 09 марта 2010

Я рассматривал возможность использования OpenID для предстоящего проекта, над которым я собирался работать.Прочитав несколько руководств по реализации OpenID в PHP для Janrain и просмотрев исходный код, я загрузил его на свой сервер и протестировал пример сценария, включенный в мой идентификатор Google, и я получил некоторые ошибки о том, что Auth_OpenID_RAND_SOURCE в CryptUtil.php не установлендолжным образом.Я нашел ответ через Google, чтобы определить его как нуль вместо значения по умолчанию / dev / urandom.Мой вопрос, это явно не безопасно, верно?и является ли / dev / urandom генератором случайных чисел в linux?Что может быть хорошей альтернативой использованию / dev / urandom на моей домашней машине Windows для возни с реализацией?

1 Ответ

1 голос
/ 10 ноября 2010

Ну, CryptUtil.php говорит, что класс

     * Attempts to use a cryptographically secure (not predictable)
     * source of randomness if available. If there is no high-entropy
     * randomness source available, it will fail. As a last resort,
     * for non-critical systems, define
     * <code>Auth_OpenID_RAND_SOURCE</code> as <code>null</code>, and
     * the code will fall back on a pseudo-random number generator.

Итак, если вы определите эту константу как NULL, И она не сможет найти какой-либо другой источник энтропии, это будет означать, что у вас вообще нет источника энтропии - в основном, шифрование не будет. Вот что Википедия должна сказать о / dev / urandom:

Аналогом / dev / random является / dev / urandom («разблокированный» / неблокирующий случайный источник [4]), который повторно использует внутренний пул для генерации большего количества псевдослучайных битов. Это означает, что вызов не будет блокироваться, но выходные данные могут содержать меньше энтропии, чем соответствующее чтение из / dev / random. Намерение состоит в том, чтобы служить криптографически безопасным генератором псевдослучайных чисел. Это может быть использовано для менее безопасных приложений.

Что касается источников энтропии в Win32, то, похоже, не так много хороших опций, доступных для вашей пользовательской среды PHP.

...