[ Content | Sidebar ]

The problem is in the mandatory algorithm. Now what?

May 11th, 2009

Just in case you haven’t heard of it, there’s a new attack vector on the SHA-1 hash algorithm. This is causing all kinds of havoc in communities that use PGP signatures, since signatures are created with this hash function by default. As an accessory to this, GnuPG‘s defaults for a key result in a key such that you cannot use the SHA-2 family of functions (you cannot use anything with more than 160 bits, or, more precisely, you can but it gets truncated), so you’re basically stuck with SHA-1 or RIPEMD/160.

But this is not what I wanted to talk about. There’s really way too much information on this regard on the net already (I’ll give some pointers in the references section of this article). Instead, I’m worried about something else.

See, you can get around the issue of creating signatures with any other hash algorithm you want if you use GnuPG, by specifying the desired function on your ~/.gnupg/gpg.conf via the personal-digest-preferences parameter. This is even OpenPGP compatible to some degree.

The real deal, and what really troubles me, is that the only hash function that you are required to implement in order to be OpenPGP compatible is SHA-1. It is the only one that gets forcibly added to your preferences if you leave it away. So, for a message to be understandable by any OpenPGP application, you should stick to it.

This is even worse for certifications. You can force a hash function for them, but this totally breaks the standard. As the GnuPG man page states, “It is important to be aware that not all  OpenPGP implement  these  optional algorithms and that by forcing their use via  the –cipher-algo, –digest-algo,  –cert-digest-algo,  or  –compress-algo  options  in  GnuPG,  it  is  possible to create a perfectly valid OpenPGP message, but one that cannot be read by the intended recipient.

So, what should be done against this issue? I’m a standards advocate, and am not willing to break them. I think the right solution to this issue must come from the committee that writes OpenPGP standards, whose name eludes me right now.

All this said, I’m kind of lost. For starters, I’ll be updating my key’s preferences. Also I’m considering revoking my 1024 bits DSA signing subkey, as it seems to fall in the deprecated category for me now. Luckily, I didn’t follow the defaults for the primary key, so I’m all right there. I should be creating a new signing key to replace it, capable of using any hash function. And I may be publishing a statement in my site, signed by my primary key, regarding these changes. This also forces me to update my signature and certification policies.

I follow the GnuPG mailing lists religiously, and the most respected users there claim we shouldn’t worry about this for the time being. GnuPG’s developers are included among those people. Still I can’t shake off this sensation of dead-end situation. Anyways, it seems like we still have some time to think before acting.

References

The Earth Hour 2009

March 28th, 2009

As it is about to begin here in Argentina, I’ll be shutting down not only the lights at home, but also my computer and as much electrical stuff as I can. This means, everything except:

  • One TV set, as  Argentina is playing for the FIFA World Cup 2010;
  • My fishing tank’s filter and air pump;
  • A minimal set of inter-networking devices, as I’m not sure if every family member is willing to join the effort;
  • Freezers.

On the other hand, I’ve tried the Earth Hour wordpress plugin, and decided not to use it. The blog will be available, and my “online effort” will just be to spread the word by hand.

For more general information, please see the Earth Hour homepage.