Adobe security team posts public key – together with private key

Finnish security researcher Juho Nurminen is a bit of a retweet celebrity right now, for all the wrong reasons.

Not his wrong reasons, but the wrong reasons of Adobe’s Product Security Incident Response Team (PSIRT).

To explain.

Most security teams publish encryption keys so that you can communicate securely with them, using a public key cryptography tool such as PGP or GPG.

Public key encryption, also known as asymmetric encryption, is the sort that uses two keys, rather than one: a public key to lock a file, and a corresponding private key to unlock it.

(You generate these keys, which act as a sort of mathematical function and its inverse, as a pair, and although it’s pretty quick to generate a keypair, it’s as good as impossible – computationally infeasible, in the jargon – to figure out the private key given the public key.)

It’s probably obvious from the nomenclature here that the PUBLIC key is for locking files, and that you share it, well, PUBLICLY so that anyone can encrypt data to send it to you securely.

The PRIVATE key is for unlocking data that was encrypted with your public key, and as long as you keep it, you know, PRIVATE, then only you can ever decrypt that data.

At the risk of labouring the point, you make the public key public, and you keep the private key private.

For this reason, PGP/GPG keys, when converted into text format for easy storage and use, look something like this:

PSIRT PGP Key (0x33E9E596)

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: Mailvelope v1.8.0
Comment: https://www0mailvelope0com

[redacted]

-----END PGP PUBLIC KEY BLOCK----- 

-----BEGIN PGP PRIVATE KEY BLOCK-----
Version: Mailvelope v1.8.0
Comment: https://www0mailvelope0com

[redacted]

-----END PGP PRIVATE KEY BLOCK----- 

When you want to send someone your public key, the ---BEGIN--- and ---END--- blocks are there as a visual clue to help you copy and paste the right one.

Adobe it seems, generated the above keypair within the past few days , giving it a lifetime of one year, presumably to replace last year’s now-expired key.

Of course, a new public key is no use until you make it public, so Adobe popped it onto the PSIRT blog…

…but posted the whole keypair, public and private.

Someone who has Adobe’s private key (which could indeed now be anyone) can not only post messages that apparently have Adobe’s imprimatur, but also decrypt messages that people sent to Adobe under the assumption that only the PSIRT would ever get to read them.

In other words, if you let your your PGP/GPG private key slip, your leak cuts both ways, potentially affecting both you and the other person in the communication, for messages in either direction.

What to do?

  • Don’t use Adobe’s public key with the PGP fingerprint 0x33E9E596 to send information to PSIRT. If the message were to be intercepted, anyone could read it, which defeats the purpose of encrypting it in the first place.
  • Don’t trust any messages signed with the above key, because anyone could have signed them.
  • Don’t make this mistake yourself if you use public-key cryptography tools. (It’s an easy mistake to make when you’re copying text – so, to borrow a saying from carpentry, measure twice, cut once.)

We’ll say it one more time: make the public key public, and keep the private key private!