2020-05-07 22:09:26 +03:00
|
|
|
.\" $NetBSD: rndctl.8,v 1.26 2020/05/07 19:09:26 riastradh Exp $
|
1997-10-13 07:58:05 +04:00
|
|
|
.\"
|
1997-11-04 08:47:24 +03:00
|
|
|
.\" Copyright (c) 1997 Michael Graff
|
1997-10-13 07:58:05 +04:00
|
|
|
.\" 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.
|
1997-11-04 08:47:24 +03:00
|
|
|
.\" 3. The name of the author may not be used to endorse or promote products
|
1997-10-13 07:58:05 +04:00
|
|
|
.\" 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.
|
|
|
|
.\"
|
2014-08-10 21:13:02 +04:00
|
|
|
.Dd August 10, 2014
|
1997-10-13 07:58:05 +04:00
|
|
|
.Dt RNDCTL 8
|
2001-06-05 15:22:41 +04:00
|
|
|
.Os
|
1997-10-13 07:58:05 +04:00
|
|
|
.Sh NAME
|
|
|
|
.Nm rndctl
|
2020-05-07 22:09:26 +03:00
|
|
|
.Nd kernel entropy pool management tool
|
1997-10-13 07:58:05 +04:00
|
|
|
.Sh SYNOPSIS
|
|
|
|
.Nm
|
2014-08-10 21:13:02 +04:00
|
|
|
.Op Fl CcEe
|
2008-11-06 18:58:16 +03:00
|
|
|
.Op Fl d Ar devname | Fl t Ar devtype
|
2003-02-25 13:34:36 +03:00
|
|
|
.Nm
|
2014-08-10 21:13:02 +04:00
|
|
|
.Op Fl lsv
|
2008-11-06 18:58:16 +03:00
|
|
|
.Op Fl d Ar devname | Fl t Ar devtype
|
2011-11-23 14:47:48 +04:00
|
|
|
.Nm
|
2020-05-07 15:58:09 +03:00
|
|
|
.Op Fl i
|
2011-11-23 14:47:48 +04:00
|
|
|
.Fl L Ar save-file
|
|
|
|
.Nm
|
|
|
|
.Fl S Ar save-file
|
1997-10-13 07:58:05 +04:00
|
|
|
.Sh DESCRIPTION
|
|
|
|
The
|
|
|
|
.Nm
|
2001-11-16 13:25:42 +03:00
|
|
|
program displays statistics on the current state of the
|
2000-06-20 06:40:10 +04:00
|
|
|
.Xr rnd 4
|
2020-05-07 22:09:26 +03:00
|
|
|
device, and controls which sources are allowed to contribute to the
|
|
|
|
entropy pool maintained by
|
|
|
|
.Xr rnd 4 .
|
2001-11-16 15:08:19 +03:00
|
|
|
.Pp
|
1997-10-13 07:58:05 +04:00
|
|
|
The following options are available:
|
|
|
|
.Bl -tag -width 123456
|
|
|
|
.It Fl C
|
|
|
|
Disable collection of timing information for the given
|
|
|
|
device name or device type.
|
|
|
|
.It Fl c
|
|
|
|
Enable collection of timing information for the given
|
2011-10-01 06:55:00 +04:00
|
|
|
device name or device type.
|
2002-10-01 18:39:51 +04:00
|
|
|
.It Fl d
|
|
|
|
Only the device named
|
|
|
|
.Ar devname
|
|
|
|
is altered or displayed.
|
2008-11-06 18:58:16 +03:00
|
|
|
This is mutually exclusive with
|
2002-10-01 18:39:51 +04:00
|
|
|
.Fl t .
|
1997-10-13 07:58:05 +04:00
|
|
|
.It Fl E
|
2000-06-20 06:40:10 +04:00
|
|
|
Disable entropy estimation from the collected timing information for
|
2002-10-03 19:41:44 +04:00
|
|
|
the given device name or device type.
|
|
|
|
If collection is still enabled, timing information is still
|
|
|
|
collected and mixed into the internal entropy pool,
|
|
|
|
but no entropy is assumed to be present.
|
1997-10-13 07:58:05 +04:00
|
|
|
.It Fl e
|
|
|
|
Enable entropy estimation using the collected timing information
|
|
|
|
for the given device name or device type.
|
Tweak logic to decide whether a medium is safe for an rndseed.
- Teach rndctl to load the seed, but treat it as zero entropy, if the
medium is read-only or if the update fails.
- Teach rndctl to accept `-i' flag instructing it to ignore the
entropy estimate in the seed.
- Teach /etc/rc.d/random_seed to:
(a) assume nonlocal file systems are unsafe, and use -i, but
(b) assume / is safe, even if it is nonlocal.
If the medium is nonwritable, leave it to rndctl to detect that.
(Could use statvfs and check for ST_LOCAL in rndctl, I guess, but I
already implemented it this way.)
Treating nonlocal / as safe is a compromise: it's up to the operator
to secure the network for (e.g.) nfs mounts, but that's true whether
we're talking entropy or not -- if the adversary has access to the
network that you've mounted / from, they can do a lot more damage
anyway; this reduces warning fatigue for diskless systems, e.g. test
racks.
2020-05-06 21:49:26 +03:00
|
|
|
.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.
|
2011-11-23 16:15:30 +04:00
|
|
|
.It Fl L
|
|
|
|
Load saved entropy from file
|
2019-12-06 17:43:18 +03:00
|
|
|
.Ar save-file
|
|
|
|
and 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.
|
1997-10-13 07:58:05 +04:00
|
|
|
.It Fl l
|
2000-06-20 06:40:10 +04:00
|
|
|
List all sources, or, if the
|
|
|
|
.Fl t
|
|
|
|
or
|
|
|
|
.Fl d
|
|
|
|
flags are specified, only those specified by the
|
1997-10-13 07:58:05 +04:00
|
|
|
.Ar devtype
|
|
|
|
or
|
|
|
|
.Ar devname
|
|
|
|
specified.
|
2011-11-23 16:15:30 +04:00
|
|
|
.It Fl S
|
|
|
|
Save entropy pool to file
|
|
|
|
.Ar save-file .
|
|
|
|
The file format is specific to
|
|
|
|
.Nm
|
|
|
|
and includes an estimate of the amount of saved entropy and a checksum.
|
2002-10-01 18:39:51 +04:00
|
|
|
.It Fl s
|
2020-05-07 22:09:26 +03:00
|
|
|
Display statistics on the current state of the entropy pool.
|
1997-10-13 07:58:05 +04:00
|
|
|
.It Fl t
|
|
|
|
All devices of type
|
|
|
|
.Ar devtype
|
|
|
|
are altered or displayed.
|
2008-11-06 18:58:16 +03:00
|
|
|
This is mutually exclusive with
|
2002-10-01 18:39:51 +04:00
|
|
|
.Fl d .
|
2009-01-04 15:01:43 +03:00
|
|
|
.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
|
2020-05-07 22:09:26 +03:00
|
|
|
Hardware random number generators.
|
2009-01-04 15:01:43 +03:00
|
|
|
.El
|
2014-08-10 20:44:32 +04:00
|
|
|
.It Fl v
|
2020-05-07 22:09:26 +03:00
|
|
|
Verbose output.
|
2000-06-20 06:40:10 +04:00
|
|
|
.El
|
2001-11-16 15:08:19 +03:00
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr rnd 4 ,
|
|
|
|
.Xr rnd 9
|
1997-10-13 07:58:05 +04:00
|
|
|
.Sh HISTORY
|
|
|
|
The
|
|
|
|
.Nm
|
|
|
|
program was first made available in
|
|
|
|
.Nx 1.3 .
|
2001-11-16 15:08:19 +03:00
|
|
|
.Sh AUTHORS
|
1997-10-13 07:58:05 +04:00
|
|
|
The
|
|
|
|
.Nm
|
2002-10-01 18:39:51 +04:00
|
|
|
program was written by
|
2002-10-03 19:41:44 +04:00
|
|
|
.An Michael Graff
|
2002-10-01 18:39:51 +04:00
|
|
|
.Aq explorer@flame.org .
|