unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: zimoun <zimon.toutoune@gmail.com>
Cc: 41767@debbugs.gnu.org
Subject: [bug#41767] [PATCH 0/9] Authenticate channels
Date: Tue, 09 Jun 2020 16:16:34 +0200	[thread overview]
Message-ID: <875zc0jpdp.fsf@gnu.org> (raw)
In-Reply-To: <CAJ3okZ0dqFbpQJ7OHCSpA5Evp7Rsfs5M4dB=pQDXkRwWtGsm=w@mail.gmail.com> (zimoun's message of "Tue, 9 Jun 2020 12:52:38 +0200")

Hi Simon,

zimoun <zimon.toutoune@gmail.com> skribis:

> From my understanding, there are 4 situations
>
>  1- add signed material to a signed channel
>  2- introduce authentication to an unsigned channel
>  3- add unsigned material to a signed channel
>  4- add unsigned material to unsigned channel

I’m not sure what material you have in mind.

There are in my view only two situations: a channel that can be
authenticated (it has signed commits, ‘.guix-authorizations’, and an
“introduction”), and one that cannot.

The idea is that a channel that can be authenticated would remain that
way “forever”.

> And I am interested by how it works for the situation #3.  For a
> concrete example of 3., e.g.,
>
> git clone https://git.savannah.gnu.org/git/guix.git
> git worktree add -b foo wk/foo
> cd wk/foo
> # add my unready stuff
> ./pre-inst-env guix pull --branch=foo --url=$PWS -p /tmp/foo
> /tmp/foo/bin/guix install unready-stuff
>
> In this case, do I have to use the option '--disable-authentication'?

Yes, you can always use it.

> And this is the scenario for almost all the patches on guix-patches;
> even if 'pull' is generally not necessary when testing the patch. :-)

Right.  When hacking, I just use ./pre-inst-env to test my stuff.

> Another example is let consider that this channel [2] -- or any other
> public one used by labs to publish specific tools; I am not aware
> about one by INRIA ;-) -- and let imagine that this channel is
> authenticated, i.e., there is a '.guix-authorizations' file.  Now, can
> I fork this channel and my unsigned material without entering in the
> security dance?  Do I need to use the option
> '--disable-authentication'?

Note that this patch set changes nothing for third-party channels.
(Attentive readers will find out how to make an authenticated channel,
but it’s undocumented and inconvenient to use.)

In the future, I think ‘guix pull’ will merely print a warning when
using an unauthenticated channel.  That’s something we’ll have to
discuss.

If you want to fork an “authenticated channel”, you don’t have to keep
it authenticated.  In essence, something who writes:

  (channel (name 'zimoun) (url "https://zimoun.example.org"))

states that they want to fetch code from your channel, but that no
authentication will take place because there’s no ‘introduction’ field.

> Moreover, if this forked channel is added to
> '~/.config/guix/channels.scm', i.e., in addition to
> '%default-channel', what happens for pulling?  Well, it is not
> possible to pull a signed channel and an "unauthorized fork from a
> signed channel" in only one command, right?

With this patch set, ‘guix pull’ just behaves the same as now.
In the future, it would probably just print a warning about the
unauthenticated channel.

> Well, I am sorry to be insistent but this authentication machinery
> seems having an hard implication in my workflow and I would like to be
> prepared.

Definitely, feedback like this is very helpful.

I think it’s important for all of us to think about the implications.
Surely we want security, but not at the cost of usability.

Thanks,
Ludo’.




  reply	other threads:[~2020-06-09 14:19 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-08 21:52 [bug#41767] [PATCH 0/9] Authenticate channels Ludovic Courtès
2020-06-08 22:02 ` [bug#41767] [PATCH 1/9] git-authenticate: Cache takes a key parameter Ludovic Courtès
2020-06-08 22:02   ` [bug#41767] [PATCH 2/9] git-authenticate: 'authenticate-commits' takes a #:keyring parameter Ludovic Courtès
2020-06-08 22:02   ` [bug#41767] [PATCH 3/9] tests: Move OpenPGP helpers to (guix tests gnupg) Ludovic Courtès
2020-06-08 22:02   ` [bug#41767] [PATCH 4/9] channels: 'latest-channel-instance' authenticates Git checkouts Ludovic Courtès
2020-06-09 17:49     ` Maxim Cournoyer
2020-06-11  9:24       ` Ludovic Courtès
2020-06-11 13:15         ` Maxim Cournoyer
2020-06-08 22:02   ` [bug#41767] [PATCH 5/9] channels: Make 'validate-pull' call right after clone/pull Ludovic Courtès
2020-06-08 22:02   ` [bug#41767] [PATCH 6/9] .guix-channel: Add 'keyring-reference' Ludovic Courtès
2020-06-08 22:02   ` [bug#41767] [PATCH 7/9] channels: Automatically add introduction for the official 'guix' channel Ludovic Courtès
2020-06-08 22:02   ` [bug#41767] [PATCH 8/9] pull: Add '--disable-authentication' Ludovic Courtès
2020-06-08 22:02   ` [bug#41767] [PATCH 9/9] DROP? channels: Add prehistorical authorizations to <channel-introduction> Ludovic Courtès
2020-06-09 18:35     ` Maxim Cournoyer
2020-06-10 13:21       ` Ludovic Courtès
2020-06-09  7:15 ` [bug#41767] [PATCH 0/9] Authenticate channels Ludovic Courtès
2020-06-09 10:52 ` zimoun
2020-06-09 14:16   ` Ludovic Courtès [this message]
2020-06-13 11:42     ` zimoun
2020-06-14 13:51       ` Ludovic Courtès
2020-06-16 14:22 ` bug#41767: " Ludovic Courtès

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

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=875zc0jpdp.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=41767@debbugs.gnu.org \
    --cc=zimon.toutoune@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.
Code repositories for project(s) associated with this public inbox

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

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 read-only IMAP folder(s) and NNTP newsgroup(s).