random

Источник защищенных случайных данных

Синтаксис:

random [опции]

Опции:

-h
Вывести сообщение о способах использования.
-i номер
Использовать номер прерывания как источник для сбора случайных данных. Можно указать несколько прерываний, максимум – 32.
-p
Получить системную информацию из /proc и использовать ее как источник случайных данных.
-t
Использовать в качестве источника случайных данных высокоточные часы.

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

aarch64, arm, armv7, e2k, mips, ppc, x86

Описание:


Caution: Для запуска этого менеджера необходимо авторизоваться в системе с учетной записью root.

Служба random выполняется в фоновом режиме и предоставляет источник защищенных случайных данных, которые можно использовать в шифровании и в целях обеспечения безопасности. Служба создает собственный внутренний пул случайных данных из источников, указанных при ее вызове. К этим источникам относятся таймеры, прерывания и подробная системная информация времени выполнения. Служба обеспечивает доступ к этим случайным данным путем создания записей устройств, которые могут быть считаны любым приложением:

/dev/random
Источник высококачественных случайных чисел.
/dev/urandom
Разблокированный источник случайных данных, для создания псевдослучайных битов которого многократно используется внутренний пул. Это означает, что вызов не блокируется, но уровень энтропии выходных данных может быть ниже, чем в соответствующих данных, считанных из /dev/random.

Управление всеми источниками, используемыми при сборе данных, осуществляется с помощью опций источников в командной строке.


Note: Использование прерываний в качестве источников влияет на производительность системы. Если выбрана опция -i, то для уменьшения этого негативного воздействия следует указать только одно или два прерывания, соответствующих устройствам с низкой периодичностью прерываний, например драйверов жесткого диска, устройств ввода, последовательных устройств.

Примеры:

Запуск службы random с использованием трех прерываний в качестве источников:

random -i12 -i14 -i15

Чтение 4 байтов случайных данных из приложения:

int data;
int fd;
fd = open( "/dev/random", O_RDWR );
if ( fd == -1 )
exit( 1 );
read( fd, &data, sizeof( data ) );
close( fd );

Возвращаемое значение:

0
Случайные данные доступны в /dev/random и /dev/urandom.
≠0
Возникла ошибка; /dev/random и /dev/urandom не созданы.

Ошибки:

Если возникла ошибка, random отправляет описание ошибки в slogger, при этом /dev/random и /dev/urandom не создаются.

Предостережения:

Обязательным условием для работы службы random является определение хотя бы одного источника случайных данных (опции -p, -t или -i).

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино»




Предыдущий раздел: Сервисы