all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Mark H Weaver <mhw@netris.org>
To: Giovanni Biscuolo <g@xelera.eu>
Cc: guix-devel@gnu.org, 33600@debbugs.gnu.org
Subject: Trustworthiness of build farms (was Re: CDN performance)
Date: Thu, 20 Dec 2018 19:23:47 -0500	[thread overview]
Message-ID: <87fturwwup.fsf_-_@netris.org> (raw)
In-Reply-To: <87imzpd70s.fsf@roquette.mug.biscuolo.net> (Giovanni Biscuolo's message of "Wed, 19 Dec 2018 13:40:19 +0100")

Hi Giovanni,

Giovanni Biscuolo <g@xelera.eu> writes:

> Mark H Weaver <mhw@netris.org> writes:
>
>> Giovanni Biscuolo <g@xelera.eu> writes:
>>> with a solid infrastructure of "scientifically" trustable build farms,
>>> there are no reasons not to trust substitutes servers (this implies
>>> working towards 100% reproducibility of GuixSD)
>>
>> What does "scientifically trustable" mean?
>
> I'm still not able to elaborate on that (working on it, a sort of
> self-research-hack project) but I'm referencing to this message related
> to reduced bootstrap tarballs:
>
>   https://lists.gnu.org/archive/html/guix-devel/2018-11/msg00347.html
>
> and the related reply by Jeremiah (unfortunately cannot find it in
> archives, Message-ID: <877eh81tm4.fsf@ITSx01.pdp10.guru>)
>
> in particular Jeremiah replied this:
>
>> so, if I don't get it wrong, every skilled engineer will be able to
>> build an "almost analogic" (zero bit of software preloaded) computing
>> machine ad use stage0/mes [1] as the "metre" [2] to calibrate all other
>> computing machines (thanks to reproducible builds)?
>
> well, I haven't thought of it in those terms but yes I guess that is one
> of the properties of the plan.
>
>
> and
>
>> so, having the scientific proof that binary conforms to source, there
>> will be noo need to trust (the untrastable)
>
> Well, that is what someone else could do with it but not a direct goal
> of the work.
>
> maybe a more correct definition of the above "scientific proof" should be
> "mathematical proof"

I agree that a mathematical proof is what we should be aiming for, and
the only kind of proof that I could trust in, in this scenario.

However, it's important to note several caveats:

* A mathematical proof showing that the binary conforms to the source
  requires a proof of correctness of the language implementation, which
  in turn requires formal semantics for both the source language and the
  underlying machine code.  As far as I know, the current
  bootstrappable.org effort does not include anything like this.
  Existing projects that provide this include CakeML and Jitawa.

* One must assume that the hardware behaves according to its formal
  specification.  The veracity of this assumption is not something we
  can currently verify, and even if we could, it would be invalidated if
  someone gained physical access to the machine and modified it.

* The hardware initialization program (e.g. coreboot) and the kernel
  used to perform the bootstrap must still be trusted, and unless I'm
  mistaken, the bootstrappable.org effort does not currently address
  these issues.

* The software running on the substitute servers could be compromised by
  stealing SSH keys from someone with root access.

* If the private signing key of the substitute server can be stolen,
  e.g. by gaining physical access to the machine for a short time, then
  a man-in-the-middle can deliver to users compromised binaries that
  appear to come from the substitute server itself.

* Not only the substitute server, but also all of its build slaves, must
  be trusted as well.

So, while I certainly agree that it will be a *major* improvement to
avoid the need to blindly trust precompiled bootstrap binaries, we
should be clear that the current efforts fall far short of a proof, and
there still remain several valid reasons not to place one's trust in
substitute servers.

Does that make sense?

    Regards,
      Mark

  reply	other threads:[~2018-12-21  0:25 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-03 15:43 [PATCH 0/3] Defaulting to ci.guix.info (aka. berlin.guixsd.org) Ludovic Courtès
2018-12-03 16:12 ` Using a CDN or some other mirror? Ludovic Courtès
2018-12-03 20:47   ` Ricardo Wurmus
2018-12-04 10:40   ` Hartmut Goebel
2018-12-04 14:05     ` Ludovic Courtès
2018-12-04 17:03       ` Pjotr Prins
2018-12-04 17:58       ` Thompson, David
2018-12-05  2:32       ` Meiyo Peng
2018-12-05  5:38         ` Leo Famulari
2018-12-05 10:59         ` Pierre Neidhardt
2018-12-05 11:46       ` Hartmut Goebel
2018-12-07 14:05         ` Ludovic Courtès
2018-12-09  9:44           ` Hartmut Goebel
2018-12-04 21:15     ` ng0
2018-12-04 21:50       ` Thompson, David
2018-12-05  9:28         ` ng0
2018-12-09  3:33   ` Chris Marusich
2018-12-09 12:12     ` Hartmut Goebel
2018-12-09 13:58       ` Ludovic Courtès
2018-12-11 16:38         ` Giovanni Biscuolo
2018-12-11 16:38           ` [bug#33600] " Giovanni Biscuolo
2018-12-14  8:35         ` Hartmut Goebel
2018-12-14  8:35           ` [bug#33600] " Hartmut Goebel
2018-12-14  9:02           ` Pierre Neidhardt
2018-12-14 14:48             ` Compressing nars with lzip or similar Ludovic Courtès
2018-12-14 14:48               ` [bug#33600] " Ludovic Courtès
2018-12-14 15:21               ` Pierre Neidhardt
2018-12-15 12:17                 ` Pierre Neidhardt
2018-12-15 18:06                   ` Ludovic Courtès
2018-12-15 18:06                     ` [bug#33600] " Ludovic Courtès
2019-03-05 11:36                     ` Pierre Neidhardt
2018-12-15 18:04                 ` Ludovic Courtès
2018-12-14 14:45           ` Using a CDN or some other mirror? Ludovic Courtès
2018-12-09 15:59     ` CDN performance Ludovic Courtès
2018-12-11  5:17       ` Meiyo Peng
     [not found]         ` <CAAYZrgbOZYyKhaHzziWfKz-nHVcUWS6WCo4TAq8bbDn9=YMTZA@mail.gmail.com>
2018-12-11  5:59           ` Meiyo Peng
     [not found]             ` <CAAYZrgb431xW1RD0Hf0d15T3AiW5yZWLL6oqHsyanv1qSf8Zuw@mail.gmail.com>
2018-12-11  6:14               ` Meiyo Peng
2018-12-13  7:11         ` Chris Marusich
2018-12-17  6:48           ` Meiyo Peng
2018-12-17  6:48             ` [bug#33600] " Meiyo Peng
2018-12-21 10:22             ` Chris Marusich
2018-12-21 16:04               ` Meiyo Peng
2018-12-21 16:04                 ` [bug#33600] " Meiyo Peng
2018-12-13  8:05       ` Chris Marusich
2018-12-13 10:41         ` Giovanni Biscuolo
2018-12-15  1:40           ` Mark H Weaver
2018-12-19 12:40             ` Giovanni Biscuolo
2018-12-21  0:23               ` Mark H Weaver [this message]
2018-12-21 20:47               ` Marius Bakke
2018-12-21 20:47                 ` [bug#33600] " Marius Bakke
2018-12-24 14:47           ` Ricardo Wurmus
2018-12-14 10:26         ` guix.gnu.org sub-domain Ludovic Courtès
2018-12-15 23:20           ` Chris Marusich
2018-12-15 23:20             ` [bug#33600] " Chris Marusich
2019-01-25  4:54             ` Amin Bandali
2018-12-14 10:35         ` CDN performance Ludovic Courtès
2018-12-13  9:21     ` Using a CDN or some other mirror? Giovanni Biscuolo
2018-12-14 12:17       ` Chris Marusich
2018-12-03 18:20 ` [PATCH 0/3] Defaulting to ci.guix.info (aka. berlin.guixsd.org) Amin Bandali
2018-12-04 14:11   ` Ludovic Courtès
2018-12-11  5:41     ` Amin Bandali
2018-12-03 23:44 ` Mark H Weaver
2018-12-04  5:55   ` Ricardo Wurmus
2018-12-04  5:55     ` [bug#33600] " Ricardo Wurmus
2018-12-04  9:03     ` Ludovic Courtès
2018-12-04 10:08       ` Andreas Enge
2018-12-04  8:59   ` Andreas Enge
2018-12-04 10:28     ` Ludovic Courtès
2018-12-04 10:46       ` Andreas Enge
2018-12-04 14:12         ` Ludovic Courtès
2018-12-04  3:40 ` Meiyo Peng
2018-12-04 14:13   ` Ludovic Courtès
  -- strict thread matches above, loose matches on Subject: below --
2018-12-22 17:23 Trustworthiness of build farms (was Re: CDN performance) Jeremiah
2018-12-23 16:37 ` Mark H Weaver
2018-12-26  2:29 Jeremiah
2018-12-28  7:12 ` Mark H Weaver
2019-01-04 20:57 Jeremiah
2019-01-05 17:16 ` Mark H Weaver
2019-01-05 20:15 jeremiah
2019-01-06 20:47 ` Chris Marusich
2019-01-18 10:54   ` Giovanni Biscuolo
2019-01-20 12:24 Jeremiah

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=87fturwwup.fsf_-_@netris.org \
    --to=mhw@netris.org \
    --cc=33600@debbugs.gnu.org \
    --cc=g@xelera.eu \
    --cc=guix-devel@gnu.org \
    /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.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

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.