please give us safer defaults for gnupg
Robert J. Hansen
rjh at sixdemonbag.org
Mon Dec 16 20:57:52 CET 2013
> We think...
If you're writing on behalf of a group, I would love to know the name
of the group and the names of its members. Otherwise, I can only
assume you are suffering a mental illness and are speaking for the
multiple voices in your head -- either that or else perhaps you're
fighting off a parasitic infestation and are speaking on behalf of
your guests. :)
> gnupg still is the most used and most important encryption tool
> in the Free Software community. [1]
It is definitely not the most-used, and it is likely not the
most-important. OpenSSL is free software, and is used orders of
magnitude more often than GnuPG. I routinely go days without using
GnuPG, but I rarely go even a few hours without accessing an
OpenSSL-secured webpage.
GnuPG is great, don't get me wrong -- but let's keep the hype in
perspective. :)
> it is a somewhat usable
> racing car but it unfortunately comes with a limiter and you need to
> find out how to get rid of the limiter first.
Although you chose this metaphor, I'm not sure that it's a metaphor
you really want to use.
I am an amateur racer. (My suicide ride of choice is my Mustang GT.)
This is exactly the behavior I want in a race car and exactly what I
*don't* want a novice driver to do. A novice driver should be put
behind the wheel of a limited vehicle, and those limitations should
not be removed until such time as the driver demonstrates his or her
skill behind the wheel. I will not share a track with you at 225kph
without first seeing you demonstrate your skills at 150kph.
The idea of giving a powerful and non-limited tool to a new user is
sort of like putting a new driver behind the wheel of a Jaguar XJ220.
Within an hour you'll have a dead driver and a smoking wreck that used
to be worth half a million quid. What you call "limits" are, in
reality, carefully chosen behaviors meant to keep new users safe from
their own mistakes. I do not believe it is wise or ethical to tell
new users they need to erase their margin for error.
> gnupg comes with poor defaults...
If GnuPG's defaults lead it to being subverted, then I agree it is a
serious problem that will need remedy. However, as near as I can tell
that is not the situation.
> We even have a recommended gpg.conf in torbird's git repo. [2] [3] The
> fact that we even need such a thing is bad.
For as long as GnuPG has existed people have been saying "use this
gpg.conf file that I wrote in order to get the most security." Very
often these 'recommended' gpg.conf files are in conflict with someone
else's 'recommended' gpg.conf file.
> For example cert-digest-algo why is it in gpg still sha1 and not sha256
> or sha512?
Interoperability. SHA-1's long-term prospects are not particularly
good, but for now it is the only MUST digest algorithm in RFC4880.
The people developing RFC4880 are well aware of this problem and the
choice of digest algorithms will be addressed in the next revision of
the standard. Until that new revision is published, GnuPG is choosing
to maximize interoperability.
> Now that a few people know, that short key ids can be easily
> forged [4], why isn't the keyid-format set to 0xlong by default?
Convenience. You should always use a long key ID to retrieve a key,
but there's nothing wrong with using a short ID to refer to an
already-validated key. The main risk of short ID collisions comes
from people pulling the wrong certificate off the keyservers and
mistakenly using that one; but when it comes to using keys you have
already downloaded and validated the risk is minimal.
> Update: now that long key ids can also be forged [8], why not show the
> full fingerprint by default?
Convenience. See above.
> And why does gpg still create 2048 bit keys, if creating 4096 keys
> just takes a few seconds longer and virtually make no difference
> when using
> these keys?
NIST's recommendation is that a 2048-bit key will be sufficient for
the next 30 years. ENISA concurs in this judgment (although they
recommend 3072-bit keys for reasons that are not particularly relevant
here). RSA Data Security also concurs. Given the vast majority of
cryptologic think-tanks in the world believe 2048-bit RSA will be
secure for the next 30 years, GnuPG has taken the reasonable position
of defaulting to 2048-bit RSA.
With respect to "if creating 4096-bit keys just takes a few seconds
longer and virtually make no difference when using these keys," as
several people here have attested to in the past it makes a big
difference for many users. Mobile devices... embedded systems...
sites that do bulk encryption... mailing lists... the list goes on.
> For the sake of argument, let's take it for granted, that 2048 bit is
> still secure enough and can not be broken with brute force.
It is not necessary to take it for the sake of argument. Compelling
thermodynamic arguments exist that say we will not break 2048-bit RSA
until we've had truly science-fiction level breakthroughs in computing
technology.
> Let's imagine, someone finds a
> vulnerability in RSA being able to reduce the difficulty for brute force
> by 1024 bit.
This would be a science-fiction level breakthrough in mathematics. If
we can imagine a 1024-bit breakthrough, why not a 2048-bit, or a
3072-bit, or a 4096-bit, or a 16384-bit? The problem with assuming
the existence of science-fiction level attacks is that once you start
there's no reason to stop.
> Maybe let's add another weak argument to the mix. Part of using
> encryption software is reducing anxiety. Even if using 4096 bit instead
> of 2048 bit does little more than reducing anxiety, we'd argue, that
> reducing anxiety is a one of the tasks of encryption software.
I'm reminded of a _Simpsons_ episode where Lisa gives Homer a
tiger-proof rock. She points out to him that he's not being attacked
by tigers, therefore the tiger-proof rock works. Homer, being
foolish, believes Lisa and asks to buy the rock from her.
I do not believe it is ethical for us to be in the business of giving
people tiger-proof rocks. Even if it "reduces anxiety," as you put
it, it's unethical.
> We do not care about closed source PGP compatible software, namely,
> well... Good question, it's difficult finding alternative
> OpenPGP compatible software at all.
McAfee has an offering, so does Symantec. I know that at least one
major telecommunications firm is using the most brain-damaged and
minimalistic RFC2440 implementation on the planet. There's
BouncyCastle, there's Peter Gutmann's cryptlib, there's...
> Can't remember having this seen anywhere ever.
I'm part of the Enigmail team, and I field a fair number of help
requests from users who are having trouble.
I'm not sure this is the most common help request I see, but it's
close: "I used this gpg.conf a friend of mine told me would give me
the most security..." Almost always, it uses cert-digest-algo,
digest-algo or cipher-algo in a way that is seriously affecting
interoperability.
More information about the Gnupg-users
mailing list