All of lore.kernel.org
 help / color / mirror / Atom feed
From: Linus Walleij <linus.walleij@linaro.org>
To: Oliver Schinagl <oliver+list@schinagl.nl>,
	"Theodore Ts'o" <tytso@mit.edu>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>,
	Arnd Bergmann <arnd@ardb.de>,
	Greg KH <gregkh@linuxfoundation.org>,
	Oliver Schinagl <oliver@schinagl.nl>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 1/2] Initial support for Allwinner's Security ID fuses
Date: Thu, 23 May 2013 10:20:09 +0200	[thread overview]
Message-ID: <CACRpkdZveQsVpw7_FnecGNZX4nVwWMtVwme7JEcy1R7uvdEe8A@mail.gmail.com> (raw)
In-Reply-To: <519DCEE9.6070208@schinagl.nl>

On Thu, May 23, 2013 at 10:10 AM, Oliver Schinagl
<oliver+list@schinagl.nl> wrote:
> On 05/23/13 09:56, Linus Walleij wrote:
>>
>> On Fri, May 17, 2013 at 3:35 PM, Oliver Schinagl
>> <oliver+list@schinagl.nl> wrote:
>>
>> (...)
>>>
>>> While initially these fuses are used to somewhat determin the chipID,
>>> these
>>> appear to be writeable by the user and thus can be used for other
>>> purpouses.
>>> For example storing a 128 bit root key, a unique serial number, which
>>> could
>>> then even be used as a MAC address.
>>
>> (...)
>> Then follows some code to read out the keys from sysfs I guess..
>>>
>>> +static int __init sid_probe(struct platform_device *pdev)
>>
>>
>> It's really simple to actually make the kernel use this to seed the
>> entropy pool.
>>
>> #include <linux/random.h>
>> add_device_randomness(u8 *, num);
>>
>> If you know after probe that you can read out a number of bytes
>> of device-unique data, I think you should add those bytes to the
>> entropy pool like this.
>
> While that is a great idea, we can't guarantee device uniqueness. We've
> already seen some chips that where 'forgotten' to program and default set to
> all 0. I guess that doesn't have to be a bad thing.

Ted can confirm but AFAIK that is not a problem. This device-unique
numer is just one of the things mixed into the pool, if it's on some
devices just an array of zeroes it does not make things worse, but
in the cases when there is some uniqueness in it make things better.

> It should probably be noted, that the sunxi series have a hardware crypto
> engine, with hardware random seed generator, one for a later project.

That will anyway be augmented with the contents of the entropy
pool rather than returned to random clients right off if I know the
recent changes to random code right.

Yours,
Linus Walleij

WARNING: multiple messages have this Message-ID (diff)
From: linus.walleij@linaro.org (Linus Walleij)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/2] Initial support for Allwinner's Security ID fuses
Date: Thu, 23 May 2013 10:20:09 +0200	[thread overview]
Message-ID: <CACRpkdZveQsVpw7_FnecGNZX4nVwWMtVwme7JEcy1R7uvdEe8A@mail.gmail.com> (raw)
In-Reply-To: <519DCEE9.6070208@schinagl.nl>

On Thu, May 23, 2013 at 10:10 AM, Oliver Schinagl
<oliver+list@schinagl.nl> wrote:
> On 05/23/13 09:56, Linus Walleij wrote:
>>
>> On Fri, May 17, 2013 at 3:35 PM, Oliver Schinagl
>> <oliver+list@schinagl.nl> wrote:
>>
>> (...)
>>>
>>> While initially these fuses are used to somewhat determin the chipID,
>>> these
>>> appear to be writeable by the user and thus can be used for other
>>> purpouses.
>>> For example storing a 128 bit root key, a unique serial number, which
>>> could
>>> then even be used as a MAC address.
>>
>> (...)
>> Then follows some code to read out the keys from sysfs I guess..
>>>
>>> +static int __init sid_probe(struct platform_device *pdev)
>>
>>
>> It's really simple to actually make the kernel use this to seed the
>> entropy pool.
>>
>> #include <linux/random.h>
>> add_device_randomness(u8 *, num);
>>
>> If you know after probe that you can read out a number of bytes
>> of device-unique data, I think you should add those bytes to the
>> entropy pool like this.
>
> While that is a great idea, we can't guarantee device uniqueness. We've
> already seen some chips that where 'forgotten' to program and default set to
> all 0. I guess that doesn't have to be a bad thing.

Ted can confirm but AFAIK that is not a problem. This device-unique
numer is just one of the things mixed into the pool, if it's on some
devices just an array of zeroes it does not make things worse, but
in the cases when there is some uniqueness in it make things better.

> It should probably be noted, that the sunxi series have a hardware crypto
> engine, with hardware random seed generator, one for a later project.

That will anyway be augmented with the contents of the entropy
pool rather than returned to random clients right off if I know the
recent changes to random code right.

Yours,
Linus Walleij

  reply	other threads:[~2013-05-23  8:20 UTC|newest]

Thread overview: 122+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-17 13:35 [PATCH 0/2] Driver for Allwinner sunxi Security ID Oliver Schinagl
2013-05-17 13:35 ` Oliver Schinagl
2013-05-17 13:35 ` [PATCH 1/2] Initial support for Allwinner's Security ID fuses Oliver Schinagl
2013-05-17 13:35   ` Oliver Schinagl
2013-05-17 13:45   ` Arnd Bergmann
2013-05-17 13:45     ` Arnd Bergmann
2013-05-17 18:54     ` Oliver Schinagl
2013-05-17 18:54       ` Oliver Schinagl
2013-05-17 21:18   ` Maxime Ripard
2013-05-17 21:18     ` Maxime Ripard
2013-05-18 17:19     ` Oliver Schinagl
2013-05-18 17:19       ` Oliver Schinagl
2013-05-19 15:22       ` Maxime Ripard
2013-05-19 15:22         ` Maxime Ripard
2013-05-24 21:50       ` Oliver Schinagl
2013-05-24 21:50         ` Oliver Schinagl
2013-05-25 12:22         ` Maxime Ripard
2013-05-25 12:22           ` Maxime Ripard
2013-05-25 19:25           ` Oliver Schinagl
2013-05-25 19:25             ` Oliver Schinagl
2013-05-26  9:35             ` Maxime Ripard
2013-05-26  9:35               ` Maxime Ripard
2013-05-23  7:56   ` Linus Walleij
2013-05-23  7:56     ` Linus Walleij
2013-05-23  8:10     ` Oliver Schinagl
2013-05-23  8:10       ` Oliver Schinagl
2013-05-23  8:20       ` Linus Walleij [this message]
2013-05-23  8:20         ` Linus Walleij
2013-05-23 14:58       ` Maxime Ripard
2013-05-23 14:58         ` Maxime Ripard
2013-05-23 15:05         ` Oliver Schinagl
2013-05-23 15:05           ` Oliver Schinagl
2013-05-23 15:27           ` Maxime Ripard
2013-05-23 15:27             ` Maxime Ripard
2013-05-17 13:35 ` [PATCH 2/2] Add sunxi-sid to dts for sun4i and sun5i Oliver Schinagl
2013-05-17 13:35   ` Oliver Schinagl
2013-05-17 21:21   ` Maxime Ripard
2013-05-17 21:21     ` Maxime Ripard
2013-06-02 14:58 [PATCH 0/2] v2 Driver for Allwinner sunxi Security ID Oliver Schinagl
2013-06-02 14:58 ` [PATCH 1/2] Initial support for Allwinner's Security ID fuses Oliver Schinagl
2013-06-02 14:58   ` Oliver Schinagl
2013-06-02 15:09   ` Russell King - ARM Linux
2013-06-02 15:09     ` Russell King - ARM Linux
2013-06-02 15:21     ` Oliver Schinagl
2013-06-02 15:21       ` Oliver Schinagl
2013-06-06 19:16   ` Andy Shevchenko
2013-06-06 19:16     ` Andy Shevchenko
2013-06-10 21:43     ` Oliver Schinagl
2013-06-10 21:43       ` Oliver Schinagl
2013-06-11 10:51       ` Andy Shevchenko
2013-06-11 10:51         ` Andy Shevchenko
2013-06-14 23:16 [PATCH 0/2] v3 Driver for Allwinner sunxi Security ID Oliver Schinagl
2013-06-14 23:16 ` [PATCH 1/2] Initial support for Allwinner's Security ID fuses Oliver Schinagl
2013-06-14 23:16   ` Oliver Schinagl
2013-06-15  2:14   ` Andy Shevchenko
2013-06-15  2:14     ` Andy Shevchenko
2013-06-15  9:34     ` Oliver Schinagl
2013-06-15  9:34       ` Oliver Schinagl
2013-06-15 10:28   ` Tomasz Figa
2013-06-15 10:28     ` Tomasz Figa
2013-06-17 10:36     ` Oliver Schinagl
2013-06-17 10:36       ` Oliver Schinagl
2013-06-17 11:25       ` Russell King - ARM Linux
2013-06-17 11:25         ` Russell King - ARM Linux
2013-06-17 11:32         ` Oliver Schinagl
2013-06-17 11:32           ` Oliver Schinagl
2013-06-17 11:51       ` Maxime Ripard
2013-06-17 11:51         ` Maxime Ripard
2013-06-17 12:04         ` Oliver Schinagl
2013-06-17 12:04           ` Oliver Schinagl
2013-06-17 12:51       ` Tomasz Figa
2013-06-17 12:51         ` Tomasz Figa
2013-06-17 13:10         ` Oliver Schinagl
2013-06-17 13:10           ` Oliver Schinagl
2013-06-17 13:23           ` Tomasz Figa
2013-06-17 13:23             ` Tomasz Figa
2013-06-17 13:47             ` Oliver Schinagl
2013-06-17 13:47               ` Oliver Schinagl
2013-06-17 20:59 [PATCH 0/2] v4 Driver for Allwinner sunxi Security ID Oliver Schinagl
2013-06-17 20:59 ` [PATCH 1/2] Initial support for Allwinner's Security ID fuses Oliver Schinagl
2013-06-17 20:59   ` Oliver Schinagl
2013-06-17 21:06   ` Tomasz Figa
2013-06-17 21:06     ` Tomasz Figa
2013-06-17 22:58   ` Greg KH
2013-06-17 22:58     ` Greg KH
2013-06-24  9:29     ` Maxime Ripard
2013-06-24  9:29       ` Maxime Ripard
2013-06-24 16:04       ` Greg KH
2013-06-24 16:04         ` Greg KH
2013-06-24 17:11         ` Oliver Schinagl
2013-06-24 17:11           ` Oliver Schinagl
2013-06-24 18:15           ` Greg KH
2013-06-24 18:15             ` Greg KH
2013-06-24 21:21             ` Oliver Schinagl
2013-06-24 21:21               ` Oliver Schinagl
2013-06-24 21:46               ` Greg KH
2013-06-24 21:46                 ` Greg KH
2013-06-26  8:32                 ` Oliver Schinagl
2013-06-26  8:32                   ` Oliver Schinagl
2013-06-26 17:51                   ` Greg KH
2013-06-26 17:51                     ` Greg KH
2013-07-05  7:24                     ` Oliver Schinagl
2013-07-05  7:24                       ` Oliver Schinagl
2013-07-06 19:36                       ` Greg KH
2013-07-06 19:36                         ` Greg KH
2013-07-07  0:17                         ` Greg KH
2013-07-07  0:17                           ` Greg KH
2013-06-26  9:10                 ` Russell King - ARM Linux
2013-06-26  9:10                   ` Russell King - ARM Linux
2013-06-26 17:51                   ` Greg KH
2013-06-26 17:51                     ` Greg KH
2013-06-24 21:04         ` Maxime Ripard
2013-06-24 21:04           ` Maxime Ripard
2013-06-26  9:22         ` Geert Uytterhoeven
2013-06-26  9:22           ` Geert Uytterhoeven
2013-06-26  9:22           ` Geert Uytterhoeven
2013-06-26 17:49           ` Greg KH
2013-06-26 17:49             ` Greg KH
2013-06-26 17:49             ` Greg KH
2013-06-18  5:41   ` Andy Shevchenko
2013-06-18  5:41     ` Andy Shevchenko
2013-08-27 14:13 [PATCHv5 0/2] Driver for Allwinner sunxi Security ID oliver+list
2013-08-27 14:13 ` [PATCH 1/2] Initial support for Allwinner's Security ID fuses oliver+list
2013-08-27 14:13   ` oliver+list at schinagl.nl
2013-08-27 15:42   ` Maxime Ripard
2013-08-27 15:42     ` Maxime Ripard

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=CACRpkdZveQsVpw7_FnecGNZX4nVwWMtVwme7JEcy1R7uvdEe8A@mail.gmail.com \
    --to=linus.walleij@linaro.org \
    --cc=arnd@ardb.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maxime.ripard@free-electrons.com \
    --cc=oliver+list@schinagl.nl \
    --cc=oliver@schinagl.nl \
    --cc=tytso@mit.edu \
    /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.