From: tytso@mit.edu
To: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Cc: Stephan Mueller <smueller@chronox.de>,
Herbert Xu <herbert@gondor.apana.org.au>,
Linux Crypto Mailing List <linux-crypto@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Sandy Harris <sandyinchina@gmail.com>
Subject: Re: [RFC][PATCH 0/6] /dev/random - a new approach
Date: Tue, 3 May 2016 14:48:24 +0000 [thread overview]
Message-ID: <20160503144824.GB11832@thunk.org> (raw)
In-Reply-To: <CAJU7zaKTjb9QhYP6eVyri0b9Ow_GRpqT5HgOVpNMhaEDrVA4gA@mail.gmail.com>
On Tue, May 03, 2016 at 03:57:15PM +0200, Nikos Mavrogiannopoulos wrote:
>
> I believe their main concern is that they want to protect applications
> which do not check error codes of system calls, when running on a
> kernel which does not provide getrandom(). That way, they have an
> almost impossible task to simulate getrandom() on kernel which do not
> support it.
The whole *point* of creating the getrandom(2) system call is that it
can't be simulated/emulated in userspace. If it can be, then there's
no reason why the system call should exist. This is one of the
reasons why haven't implemented mysql or TLS inside the kernel. :-)
So if their standard is "we need to simulate getrandom(2) on a kernel
which does not have it", we'll **never** see glibc support for it. By
definition, this is *impossible*.
What they can do is do something which is as good as you can get for
someone who is open-coding /dev/urandom support in userspace. That
means that you won't be able to (a) tell if the urandom pool is has
been adequately initialized right after boot, (b) you will need to
somehow deal with the case where the file descriptors have been
exhausted, (c) or if you are running in a chroot where the system
administrator didn't bother to include /dev/urandom. About the best
you can do is call abort(0), or if you want, you can let the
application author specify some kind of "I want to run in insecure
mode", via some magic glibc setting. You could probably default this
to "true" without a huge net reduction of security, because most
application authors weren't getting this right anyway. And then ones
who do care, can set some kind of flag saying, "I promise to check the
error return from getrandom(2) as implemented by glibc".
- Ted
next prev parent reply other threads:[~2016-05-03 14:48 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-21 9:11 [RFC][PATCH 0/6] /dev/random - a new approach Stephan Mueller
2016-04-21 9:12 ` [PATCH 1/6] crypto: DRBG - externalize DRBG functions for LRNG Stephan Mueller
2016-04-21 9:13 ` [PATCH 2/6] random: conditionally compile code depending on LRNG Stephan Mueller
2016-04-21 9:13 ` [PATCH 3/6] crypto: Linux Random Number Generator Stephan Mueller
2016-04-21 9:14 ` [PATCH 4/6] crypto: LRNG - enable compile Stephan Mueller
2016-04-21 9:14 ` [PATCH 5/6] crypto: LRNG - hook LRNG into interrupt handler Stephan Mueller
2016-04-21 9:16 ` [PATCH 6/6] hyperv IRQ handler: trigger LRNG Stephan Mueller
2016-04-21 13:03 ` [RFC][PATCH 0/6] /dev/random - a new approach Nikos Mavrogiannopoulos
2016-04-21 13:09 ` Stephan Mueller
2016-04-21 15:16 ` Stephan Mueller
2016-04-25 7:55 ` Nikos Mavrogiannopoulos
2016-04-25 8:02 ` Stephan Mueller
2016-04-25 8:23 ` Nikos Mavrogiannopoulos
2016-04-26 1:11 ` Theodore Ts'o
2016-05-03 13:57 ` Nikos Mavrogiannopoulos
2016-05-03 14:48 ` tytso [this message]
2016-05-03 16:20 ` Nikos Mavrogiannopoulos
2016-05-03 15:01 ` Austin S. Hemmelgarn
2016-04-22 2:51 ` Theodore Ts'o
2016-04-22 4:59 ` Stephan Mueller
2016-04-22 13:09 ` Sandy Harris
2016-04-24 15:21 ` Pavel Machek
2016-04-24 17:32 ` Stephan Mueller
2016-04-24 21:25 ` Pavel Machek
2016-04-25 5:12 ` Stephan Mueller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160503144824.GB11832@thunk.org \
--to=tytso@mit.edu \
--cc=herbert@gondor.apana.org.au \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nmav@gnutls.org \
--cc=sandyinchina@gmail.com \
--cc=smueller@chronox.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).