[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: PGP key-signing party?
> Dear SAGE members,
> I've suggested to our local IT users group that we hold a PGP
> key-signing party at our next monthly meeting. I've never actually been
> a part of a key-signing party, and so I am looking for suggestions on
> how to structure this critter. I have given it some thought, and
> believe that I know the requirements, but I don't want to overlook
> anything.
> Comments (direct to me) if you have any, and I'll be glad to summarize
> for the list. Thanks in advance.
> Phil
I recently suggested something similar to a Linux users group
of which I'm a member. Here's that messages with some details
about how I envision it. I've been to a couple of PGP key signing
parties --- though I didn't participate:
One idea for an SVLUG/LinuxWorld Event:
A GNUPG/PGP (GNU Privacy Guard) key signing
party.
GPG is pretty close to 1.x now (fully functional on Linux
so far as I know) and will hopefully be widely adopted
over the next few months.
With the number of 'out-of-town' Linux enthusiasts that
we hope to draw to this event --- including a number
of bigname core developers, etc --- this would be a
rare opportunity to extend the "web of trust" through
our digital signatures.
Let me give a bit of background here:
When you receive a digitally signed message which is
purportedly from me you have no direct way of authenticating
that signature. You could check my web pages to see if I've
posted a PGP/GPG "fingerprint" (a two line cryptographic
checksum of my public key). But you don't know for sure
that those are "my" web pages. Likewise for e-mail
infobots, finger, etc.
If you've met me in person, and I gave you my key in
person then you can associate "me" (my face and voice)
with that key. If you checked my drivers license and/or
passport when we met you can make a reasonably strong
(in the legal sense) assertion that associates my
name and face with my key.
If someone you know (with some degree of "trust" ---
say you've been meeting them at SVLUG meetings for a
couple of years, or they worked with you, or you're married
to them, or something) introduces you to me; this also
increases your confidence in who I am. (In this you
trust not only the honesty and integrity of the introducer,
but their competance as well.
That is the heart of the "web of trust." We use digital
signatures to sign public keys to say: "I'm reasonably
certain that this key belongs to a person that I'm
reasonably certain goes by this name at this e-mail
address"
If I get a key that's signed by three or four people
who I know and trust (I trust their competance and
don't perceive them as having any mutual self-interest
in deceiving me) then I can be reasonably certain
that the key is good (or *was* good at the time that it
was signed).
Once I get a (public) key signed by a number of people I can
send it to a key server. People can then query the key
server (generally by e-mail address) to get keys that are
associated thereby. They can then make their own judgement
based on the signatures attached to that key.
The normal protocol for a keysigning party works something
like this:
Each participant creates their key pair
(private and public).
They secure their private key (putting it
on a floppy, protecting it with a non-trivial
passphrase, sequestering it on a "secure"
system, or whatever).
They publish their public key. That is that they
make it available on a web page, ftp site, or
via their .plan (if they maintain an account
with finger enabled).
They produce and print a "fingerprint" of their
public key (and mail that to a "referee"). Then
they show up in person at the key signing party
with their key's fingerprint.
The refereee, or any participant, prints many
copies of the list of fingerprints for everyone
who plans to attend the keysigning.
At the party each fingerprint is read aloud ( or
displayed on an overhead) and "claimed" by someone.
People who are reasonably certain that they "know"
that person will initial their copy of that
fingerprint.
Later, each of the people who is interested will
go home, fetch copies those keys that belong to people
they "trust" (believe that they know) add them
to their keyrings and sign them. They'll return the
signed keys to their owners.
The keys that they've added to their keyring(s) will
accumulate. That becomes their web of trust.
Here's where my understanding of the protocol breaks down.
(Time to confess that I've never used signed PGP keys). The
idea is that I want to take the keys that I have, and the
list of detached signatures to them and bundle them together
to post them to my keyservers (public or private). Then
anyone grabbing the resulting key can look at the list of
signatures and assign a degree of confidence to that new
key based on the number and nature of the people who signed
it (with keys that *are* already on my key ring).
If someone has accepted my key on their ring, and I later
sign the key for a party that was previously unknown to
them, than that third party can offer a signed public key to
the first party. That first party will see my signature and
(probably) decide to trust my signature to some degree.
They will then add the third parties key to one of their
rings. If that third party later signs the key of a fourth
party --- the first party might not trust it (on that basis)
but if the fourth party's key was signed by a couple of
third party key holder (who appeared to have not mutual
self-interest in deceiving me) I might accept that.
Another method for authenticating keys is to call the
purported owner on the phone (using whatever level of
phone directory you "trust") and ask them to read their
key's fingerprint over that.
Again, key signing and building the web of trust is
particularly important at this point in the development
of Linux. There are a few hundred "world-wide known people"
in the community and the recent explosion of Linux'
popularity will mean that you will know far fewer of them
by reputation. (Also there have already been cases of
trojans and forged defamation on mailing lists and
newsgroups). We need to address those concerns.
--
Jim Dennis (800) 938-4078 consulting@starshine.org
Proprietor, Starshine Technical Services: http://www.starshine.org