174 lines
4.8 KiB
Groff
174 lines
4.8 KiB
Groff
.\" $NetBSD: rndctl.8,v 1.29 2021/04/06 22:02:40 riastradh Exp $
|
|
.\"
|
|
.\" Copyright (c) 1997 Michael Graff
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. The name of the author may not be used to endorse or promote products
|
|
.\" derived from this software without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
|
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
|
.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.Dd April 2, 2021
|
|
.Dt RNDCTL 8
|
|
.Os
|
|
.Sh NAME
|
|
.Nm rndctl
|
|
.Nd kernel entropy pool management tool
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl CcEe
|
|
.Op Fl d Ar devname | Fl t Ar devtype
|
|
.Nm
|
|
.Op Fl lsv
|
|
.Op Fl d Ar devname | Fl t Ar devtype
|
|
.Nm
|
|
.Op Fl i
|
|
.Fl L Ar save-file
|
|
.Nm
|
|
.Fl S Ar save-file
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
program displays statistics on the current state of the
|
|
.Xr rnd 4
|
|
device, and controls which sources are allowed to contribute to the
|
|
entropy pool maintained by
|
|
.Xr rnd 4 .
|
|
.Pp
|
|
The following options are available:
|
|
.Bl -tag -width 123456
|
|
.It Fl C
|
|
Disable collection of data for the given device name or device type.
|
|
.It Fl c
|
|
Enable collection of data for the given device name or device type.
|
|
.It Fl d
|
|
Only the device named
|
|
.Ar devname
|
|
is altered or displayed.
|
|
This is mutually exclusive with
|
|
.Fl t .
|
|
.It Fl E
|
|
Ignore estimates of entropy from the drivers for the given device name
|
|
or type.
|
|
.Pp
|
|
If collection is still enabled, data is still collected and mixed into
|
|
the internal entropy pool, but no entropy is assumed to be present and
|
|
data from the selected devices will not unblock
|
|
.Pa /dev/random .
|
|
.It Fl e
|
|
Accept estimates of entropy from the drivers for the given device name
|
|
or type.
|
|
.Pp
|
|
.Cm "rndctl -e"
|
|
does not change the estimate provided by the driver; if the driver's
|
|
estimate is zero, as it generally is for devices of types other than
|
|
.Ic rng ,
|
|
it remains zero after
|
|
.Cm "rndctl -e" .
|
|
.It Fl i
|
|
With the
|
|
.Fl L
|
|
option to load a seed from a file, ignore any estimate in the file of
|
|
the entropy of the seed.
|
|
This still loads the data into the kernel, but won't unblock
|
|
.Pa /dev/random
|
|
even if the file claims to have adequate entropy.
|
|
This is useful if the file is on a medium, such as an NFS share, that
|
|
the operator does not know to be secret.
|
|
.It Fl L
|
|
Load a seed from
|
|
.Ar save-file
|
|
generated by
|
|
.Cm "rndctl -S" .
|
|
Overwrite it with a seed derived by hashing it together with output
|
|
from
|
|
.Pa /dev/urandom
|
|
so that the new seed has at least as much entropy as either the old
|
|
seed had or the system already has.
|
|
If interrupted, either the old seed or the new seed will be in place.
|
|
.It Fl l
|
|
List all sources, or, if the
|
|
.Fl t
|
|
or
|
|
.Fl d
|
|
flags are specified, only those specified by the
|
|
.Ar devtype
|
|
or
|
|
.Ar devname
|
|
specified.
|
|
.It Fl S
|
|
Generate a seed from the system entropy pool and save it to
|
|
.Ar save-file
|
|
for later use with
|
|
.Cm "rndctl -L" .
|
|
.Pp
|
|
The file format is specific to
|
|
.Nm
|
|
and includes an estimate of the amount of saved entropy and a checksum.
|
|
The prior internal state of the system entropy pool cannot be recovered
|
|
from
|
|
.Ar save-file ,
|
|
so disclosure of
|
|
.Ar save-file
|
|
does not compromise past secrets drawn from
|
|
.Pa /dev/urandom
|
|
or equivalent.
|
|
.It Fl s
|
|
Display statistics on the current state of the entropy pool.
|
|
.It Fl t
|
|
All devices of type
|
|
.Ar devtype
|
|
are altered or displayed.
|
|
This is mutually exclusive with
|
|
.Fl d .
|
|
.Pp
|
|
The available types are:
|
|
.Bl -tag -width "diskx"
|
|
.It Ic disk
|
|
Physical hard drives.
|
|
.It Ic net
|
|
Network interfaces.
|
|
.It Ic tape
|
|
Tape devices.
|
|
.It Ic tty
|
|
Terminal, mouse, or other user input devices.
|
|
.It Ic rng
|
|
Hardware random number generators.
|
|
.El
|
|
.It Fl v
|
|
Verbose output.
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr rnd 4 ,
|
|
.Xr entropy 7 ,
|
|
.Xr rnd 9
|
|
.Sh HISTORY
|
|
The
|
|
.Nm
|
|
program was first made available in
|
|
.Nx 1.3 .
|
|
.Sh AUTHORS
|
|
The
|
|
.Nm
|
|
program was written by
|
|
.An Michael Graff
|
|
.Aq explorer@flame.org .
|