git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: Distributed VCS with good user verification?
       [not found] ` <20090505212420.GC2761-KgLppkx3sYOz9XH0brcyGRf3AA1FrM/fXqFh9Ls21Oc@public.gmane.org>
@ 2009-05-10 19:59   ` Yann Dirson
  0 siblings, 0 replies; only message in thread
From: Yann Dirson @ 2009-05-10 19:59 UTC (permalink / raw)
  To: Lasse Kliemann
  Cc: git-u79uwXL29TY76Z2rM5mHXA, better-scm-discuss-0fE9KPoRgkgATYTw5x5z8w

On Tue, May 05, 2009 at 11:24:20PM +0200, Lasse Kliemann wrote:
> This list hasn't seen any traffic for over a year, but since 
> usually no-one unsubscribes from a list with no traffic, I hope 
> someone will read this.
> 
> 
> I am looking for a VCS that makes it easy to see who committed 
> which revision and to be certain that this information is 
> correct.
> 
> When I look at the commit log, I want to see at a glance who 
> committed which revision. I want to be sure that those names 
> displayed are really meaningful. That is, it should be guaranteed 
> that in fact that person which I associate with the displayed 
> name has committed the respective revision.
> 
> In Subversion, a centralized VCS, this can be ensured by 
> correctly setting '--tunnel-user=USER' on the server, when using 
> SSH. Then, a user authenticates himself by his SSH key, then the 
> SSH server picks the corresponding entry in 
> '~/.ssh/authorized_keys', and this will cause the intended user 
> name to be recorded as the committer.
> 
> In a distributed VCS, this is no option since commits happen 
> locally. Instead, revisions must be cryptographically signed.  
> However, signing is not everything. In addition, signatures must 
> be verified, and the commit log should reflect which commits have 
> valid signatures and wich not.


If you're only relying on an ssh tunnel for svn, I suppose it should
be OK for you as well to use this mechanism with a DSCM.  If so,
gitosis provides the necessay infrastucture to do so comfortably on
top of git (gitosis upstream does not seem very active, but there is
at least one gentoo person writing patches, and I registered a mirror
of his repository as a fork on http://repo.or.cz/w/gitosis.git.  FWIW,
I have started to make a couple of cleanups of this code recently, and
will push them as another fork shortly).

OTOH, it does enforce a centralized verification scheme.  If you want
something more flexible, I believe that could easily be done on top of
commit notes (development for that feature has unfortunately stalled
AFAIK).  I'm cc'ing the git list so others have the opportunity to
comment.

> 
> I tested several systems in this respect without finding any 100% 
> satisfactory solution.
> 
> Here is what I found:
> 
> - Mercurial provides an extension to explicitly sign certain 
>   revisions. The act of signing creates a new revision by itself. 
>   It seems like there is no way of automatically checking all 
>   signatures or to detect revisions without signatures.
> 
> - Git only allows to sign tags and to verify those signatures on 
>   demand.
> 
> - Monotone has mandatory signatures, which looks rather good to 
>   me. However, the monotone server does not support encryption 
>   and also does not seem to support SSH tunneling in a convenient 
>   way (like most other systems, by calling 'ssh'), but only by a 
>   "real" tunnel (opening a local port and such). So, 
>   unfortunately, monotone is ruled out by this other criterion.
> 
> - Bazaar can sign revisions, and it can be told to sign each and 
>   every revision upon commit. However, I did not find any 
>   built-in way to check signatures. There is an option 
>   'check_signatures' which can be set to 'required', but I could 
>   not find out what it does actually. It is not documented.
> 
>   There is a plugin for Bazaar, however, with which one can get 
>   statistics on how many revisions are signed and which 
>   signatures cause problems. When this statistics says that 
>   everything is signed and okay, then one can trust the user 
>   names in the commit log.
> 
> Bottom line is that Bazaar is closest to my needs, but not yet 100%.
> 
> Suggestions?
> 
> Thank you!
> Lasse
> 



> _______________________________________________
> Better-scm-discuss mailing list
> Better-scm-discuss-0fE9KPoRgkgATYTw5x5z8w@public.gmane.org
> https://lists.berlios.de/mailman/listinfo/better-scm-discuss

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-05-10 19:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20090505212420.GC2761@lasse.mail.plastictre.net>
     [not found] ` <20090505212420.GC2761-KgLppkx3sYOz9XH0brcyGRf3AA1FrM/fXqFh9Ls21Oc@public.gmane.org>
2009-05-10 19:59   ` Distributed VCS with good user verification? Yann Dirson

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