From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: Arnout Vandecappelle <arnout@mind.be>
Cc: "'Jason A. Donenfeld'" <Jason@zx2c4.com>,
David Laight <David.Laight@ACULAB.COM>,
James Hilliard <james.hilliard1@gmail.com>,
buildroot <buildroot@buildroot.org>
Subject: Re: [Buildroot] [PATCH v3] package/urandom-scripts: actually credit seed files via seedrng
Date: Sun, 3 Apr 2022 11:42:36 +0200 [thread overview]
Message-ID: <20220403094236.GF1811301@scaer> (raw)
In-Reply-To: <7bcc0cf7-5759-1ef4-9667-fd8ae0c4741f@mind.be>
All,
On 2022-04-02 19:08 +0200, Arnout Vandecappelle spake thusly:
> On 01/04/2022 13:34, David Laight wrote:
> >From: Jason A. Donenfeld
> >>Sent: 01 April 2022 12:05
> >>On 4/1/22, James Hilliard <james.hilliard1@gmail.com> wrote:
> >>>I should add that I do also think this should be upstreamed to busybox,
> >>>which
> >>>will also reduce the amount of duplicate work as busybox is commonly used
> >>>across many distros.
> >>I'll work on that.
> +1 to have it in busybox.
I still fail to understand why this can't be a standalone project.
The reasoning offered by Jason is that the code should be included
and duplicated into all and each init systems out there.
However, this increases the maintenance burden, as each implementation
has to be actively tracked (FTR: Jason said he would actively maintain
the implementation in Buildroot, which is very nice of him, so I
understand that he would also do so for all other projects where he'd
have seedrng included).
Instead of having one implementation suitable for every init systems
that use shell scripts, we'd end up with many different and diverging
implementations that each have their own warts and fixes (or worse,
counter-productive fixes that actually decrease the robustness of that
implementation).
On the other hand, having a common project would alow to centralise the
fixes. It would also allow to ensure that changes do not actually break
security. Finally, any evolution, be it fixes or features, would be
easily available to every init systems using the common project.
Furthermore, the level of customisation is very low. All that we can
expect to be customisable is the location where the seeds are stored.
This is already accounted for in the existing seedrng git tree. Using
another hash implementation could be another thing, but there's not
much point here, Blake2 being already pretty strong and known. So there
is probably not much more customisation left to do.
Moving it into busybox might seem a good idea at first, but this would
still make for an n-th implementation to track, and since busybox has a
focus on code size, the implementation there would probably diverge
substantially from the canonical code we saw so far, further increasing
the maintenance burden.
That would also not address distributions that do not use busybox (and
do not use systemd either). Buildroot can even be configured in such a
way, using a sys-v init system with coreutils et al,. and no busybox, in
which case having seedrng only in busybox would still not solve the
problem in such a case. And init systems are not limited to what we can
see publicly; there are maybe hundreds or thousands of such custom init
systems behind private doors. Buildroot even has an option to configure
for such an init system (BR2_INIT_NONE, which really means 'custom').
On a final note: systemd has native support for this feature, and thus
one may argue that the feature is indeed already duplicated there.
However, this is different in two ways: first, systemd needs random
numbers for itself already, very early in the boot, possibly in an
initramfs, so it can't easily rely on an external tool to do that;
second, systemd is already C, so it does not make sense for the feature
to be implemented as an external tool either.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2022-04-03 9:42 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-27 5:48 [Buildroot] [PATCH] package/urandom-scripts: actually credit seed files via seedrng Jason A. Donenfeld
2022-03-27 18:01 ` James Hilliard
2022-03-27 19:36 ` Arnout Vandecappelle
2022-03-27 19:58 ` James Hilliard
2022-03-27 20:08 ` Jason A. Donenfeld
2022-03-27 20:10 ` Jason A. Donenfeld
2022-03-27 20:24 ` [Buildroot] [PATCH v2] " Jason A. Donenfeld
2022-03-27 20:29 ` James Hilliard
2022-03-29 5:04 ` [Buildroot] [PATCH v3] " Jason A. Donenfeld
2022-03-29 6:12 ` David Laight
2022-03-30 16:32 ` Peter Korsgaard
2022-03-30 16:57 ` David Laight
2022-03-30 17:13 ` Jason A. Donenfeld
2022-03-31 14:50 ` Jason A. Donenfeld
2022-03-31 14:57 ` [Buildroot] [PATCH v4] " Jason A. Donenfeld
2022-03-31 15:16 ` David Laight
2022-03-31 15:46 ` David Laight
2022-03-31 17:11 ` [Buildroot] [PATCH v3] " Peter Korsgaard
2022-04-01 8:12 ` David Laight
2022-04-01 9:22 ` Jason A. Donenfeld
2022-04-01 10:11 ` David Laight
2022-04-01 10:17 ` Jason A. Donenfeld
2022-04-01 10:57 ` James Hilliard
2022-04-01 11:04 ` Jason A. Donenfeld
2022-04-01 11:34 ` David Laight
2022-04-02 17:08 ` Arnout Vandecappelle
2022-04-03 7:30 ` David Laight
2022-04-04 14:32 ` Jason A. Donenfeld
2022-04-03 9:42 ` Yann E. MORIN [this message]
2022-04-03 23:13 ` James Hilliard
2022-04-04 14:40 ` Jason A. Donenfeld
2022-04-04 14:38 ` Jason A. Donenfeld
2022-03-27 20:25 ` [Buildroot] [PATCH] " James Hilliard
2022-03-27 20:26 ` Jason A. Donenfeld
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=20220403094236.GF1811301@scaer \
--to=yann.morin.1998@free.fr \
--cc=David.Laight@ACULAB.COM \
--cc=Jason@zx2c4.com \
--cc=arnout@mind.be \
--cc=buildroot@buildroot.org \
--cc=james.hilliard1@gmail.com \
/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.