xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [XEN PATCH v3] libxl/arm: provide guests with random seed
@ 2021-07-06  6:33 Sergiy Kibrik
  2021-07-06  8:35 ` Michal Orzel
  2021-07-06  8:49 ` Julien Grall
  0 siblings, 2 replies; 3+ messages in thread
From: Sergiy Kibrik @ 2021-07-06  6:33 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson, Wei Liu, Sergiy Kibrik, Julien Grall

Pass 128 bytes of random seed via FDT, so that guests' CRNGs are better seeded
early at boot. This is larger than ChaCha20 key size of 32, so each byte of
CRNG state will be mixed 4 times using this seed. There does not seem to be
advantage in larger seed though.

Depending on its configuration Linux can use the seed as device randomness
or to just quickly initialize CRNG.
In either case this will provide extra randomness to further harden CRNG.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Reviewed-by: Julien Grall <julien@xen.org>

---
	Changes in V3:
		- Rebased on current master

---
 tools/libs/light/libxl_arm.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index e2901f13b7..e3140a6e00 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -305,6 +305,9 @@ static int make_chosen_node(libxl__gc *gc, void *fdt, bool ramdisk,
 {
     int res;
 
+    /* 1024 bit enough to mix Linux CRNG state several times */
+    uint8_t seed[128];
+
     /* See linux Documentation/devicetree/... */
     res = fdt_begin_node(fdt, "chosen");
     if (res) return res;
@@ -343,6 +346,11 @@ static int make_chosen_node(libxl__gc *gc, void *fdt, bool ramdisk,
         if (res) return res;
     }
 
+    res = libxl__random_bytes(gc, seed, sizeof(seed));
+    if (res) return res;
+    res = fdt_property(fdt, "rng-seed", seed, sizeof(seed));
+    if (res) return res;
+
     res = fdt_end_node(fdt);
     if (res) return res;
 
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [XEN PATCH v3] libxl/arm: provide guests with random seed
  2021-07-06  6:33 [XEN PATCH v3] libxl/arm: provide guests with random seed Sergiy Kibrik
@ 2021-07-06  8:35 ` Michal Orzel
  2021-07-06  8:49 ` Julien Grall
  1 sibling, 0 replies; 3+ messages in thread
From: Michal Orzel @ 2021-07-06  8:35 UTC (permalink / raw)
  To: Sergiy Kibrik, xen-devel; +Cc: Ian Jackson, Wei Liu, Julien Grall



On 06.07.2021 08:33, Sergiy Kibrik wrote:
> Pass 128 bytes of random seed via FDT, so that guests' CRNGs are better seeded
> early at boot. This is larger than ChaCha20 key size of 32, so each byte of
> CRNG state will be mixed 4 times using this seed. There does not seem to be
> advantage in larger seed though.
> 
> Depending on its configuration Linux can use the seed as device randomness
> or to just quickly initialize CRNG.
> In either case this will provide extra randomness to further harden CRNG.
> 
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> Reviewed-by: Julien Grall <julien@xen.org>
Reviewed-by: Michal Orzel <michal.orzel@arm.com>
> 
> ---
> 	Changes in V3:
> 		- Rebased on current master
> 
> ---



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [XEN PATCH v3] libxl/arm: provide guests with random seed
  2021-07-06  6:33 [XEN PATCH v3] libxl/arm: provide guests with random seed Sergiy Kibrik
  2021-07-06  8:35 ` Michal Orzel
@ 2021-07-06  8:49 ` Julien Grall
  1 sibling, 0 replies; 3+ messages in thread
From: Julien Grall @ 2021-07-06  8:49 UTC (permalink / raw)
  To: Sergiy Kibrik, xen-devel; +Cc: Ian Jackson, Wei Liu

Hi,

On 06/07/2021 07:33, Sergiy Kibrik wrote:
> Pass 128 bytes of random seed via FDT, so that guests' CRNGs are better seeded
> early at boot. This is larger than ChaCha20 key size of 32, so each byte of
> CRNG state will be mixed 4 times using this seed. There does not seem to be
> advantage in larger seed though.
> 
> Depending on its configuration Linux can use the seed as device randomness
> or to just quickly initialize CRNG.
> In either case this will provide extra randomness to further harden CRNG.
> 
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> Reviewed-by: Julien Grall <julien@xen.org>
> 
> ---
> 	Changes in V3:
> 		- Rebased on current master

Thank you for rebasing the patch. I have now committed it.

Cheers,

-- 
Julien Grall


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-07-06  8:49 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-06  6:33 [XEN PATCH v3] libxl/arm: provide guests with random seed Sergiy Kibrik
2021-07-06  8:35 ` Michal Orzel
2021-07-06  8:49 ` Julien Grall

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).