From: Jeff Liu <jeff.liu@oracle.com>
To: Kees Cook <keescook@chromium.org>
Cc: "Theodore Ts'o" <tytso@mit.edu>,
akpm@linux-foundation.org, aedilger@gmail.com,
alan@linux.intel.com, gregkh@linuxfoundation.org,
jakub@redhat.com, james.l.morris@oracle.com,
john.sobecki@oracle.com, viro@zeniv.linux.org.uk,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: + binfmt_elfc-use-get_random_int-to-fix-entropy-depleting.patch added to -mm tree
Date: Thu, 08 Nov 2012 14:21:44 +0800 [thread overview]
Message-ID: <509B4F78.4060007@oracle.com> (raw)
In-Reply-To: <CAGXu5jKY9SdZU7BibZf9kLx-MO3tVASPWE2hHZJXSPRkWfivKQ@mail.gmail.com>
On 11/07/2012 11:10 PM, Kees Cook wrote:
> On Wed, Nov 7, 2012 at 1:32 AM, Theodore Ts'o <tytso@mit.edu> wrote:
>> On Tue, Nov 06, 2012 at 05:11:17PM -0800, Kees Cook wrote:
>>> Hrm, I don't like this. get_random_int() specifically says: "Get a
>>> random word for internal kernel use only." The intent of AT_RANDOM is
>>> for userspace pRNG seeding (though glibc currently uses it directly
>>> for stack protector and pointer mangling), which is not "internal
>>> kernel use only". :) Though I suppose this is already being used for
>>> the randomize_stack_top(), but I think it'd still be better to use
>>> higher quality bits.
>>
>> Well, in practice, right now, get_random_int() is only being used for
>> different cases of ASLR of one variety or another (either by the
>> kernel in exec or mmap, or in userspace). So I'm not sure it really
>> is a major issue.
>
> Hrm, yes. I see that the network code uses random32, not
> get_random_int(). How are these different? Is one demonstrably better?
I also have the same question in this point.
Both generators are NOT considered safe for cryptographic use, but the
comments of get_random_int() indicates that it could be used for several
uses the cost of depleting entropy is too high, that's why I chose it.
>
>> If we also change get_random_int() to use a more secure cryptographic
>> random generator (i.e., maybe AES instead of MD5), would that be
>> sufficient to address your concerns? We're not using get_random_int()
>> for anything that's timing sensitive, so that shouldn't be a problem.
>
> I wonder if using AES would have a measurable impact on fork speeds?
>
>> Or maybe we should just add an explicit CRNG set of routines (like the
>> similar discussions to make an explicitly named PRNG set of routines),
>> so callers can use whatever random number generator is appropriate for
>> their performance and security needs.
>
> If we do use get_random_int() here, I'd at least like to see its
> comment changed to reflect its actual purpose (since it's not
> "internal use only") as well as its expected unpredictability. (This
> would help document the utility of get_random_bytes() vs
> get_random_int() vs random32().)
>
> -Kees
Thanks,
-Jeff
next prev parent reply other threads:[~2012-11-08 6:22 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-07 0:16 + binfmt_elfc-use-get_random_int-to-fix-entropy-depleting.patch added to -mm tree akpm
2012-11-07 1:11 ` Kees Cook
2012-11-07 4:21 ` Jeff Liu
2012-11-07 4:29 ` Kees Cook
2012-11-07 4:42 ` Jeff Liu
2012-11-07 9:32 ` Theodore Ts'o
2012-11-07 15:10 ` Kees Cook
2012-11-08 6:21 ` Jeff Liu [this message]
-- strict thread matches above, loose matches on Subject: below --
2012-11-16 22:04 akpm
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=509B4F78.4060007@oracle.com \
--to=jeff.liu@oracle.com \
--cc=aedilger@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=alan@linux.intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=jakub@redhat.com \
--cc=james.l.morris@oracle.com \
--cc=john.sobecki@oracle.com \
--cc=keescook@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tytso@mit.edu \
--cc=viro@zeniv.linux.org.uk \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.