Subject: Re: Trust Packets

From: [email-masked] (Peter Gutmann)
Date: Sat, 31 Jan 2004 01:20:57 +1300

Lutz Donnerhacke <[email-masked]> writes:

>I distribute the keys over a bunch of tables.

Hmm, I was afraid you were going to say that.  OTOH once it's all set up you
can do some powerful stuff using the SQL query capabilities, e.g. list all
keys that are about to expire, or all keys signed by X, or whatever.

(In case anyone's interested, I did a paper on using relational databases as
 key stores for ACSAC 2000, you can get it from
 http://www.acsac.org/2000/thu.html.  A longer version is available from my
 home page, the ACSAC page limit was 10 pages so I had to cut some bits out).

>This is very efficient compared to the alternatives:
>  - You search the only the part of the data associated with the query.
>  - Intertable links are indexed using hashs or btrees.
>  - Records are dense.

You forgot:

   - Maintaining 10 tables at once is entertaining for the software developer.

Peter :-).

---

From: Lutz Donnerhacke <[email-masked]>
Date: Fri, 30 Jan 2004 13:28:38 +0100

> keys that are about to expire, or all keys signed by X, or whatever.

Exactly. I added some stuff to automatically remove signatures from revoked
keys, etc. pp.

Furthermore it's easy to implement a keyserver, because you notice how many
new keys/signatures/userid etc. pp. occured. So merging keys is very simple.

> (In case anyone's interested, I did a paper on using relational databases as

Thanx. I should publish the sql based keyserver, too.

>  - Maintaining 10 tables at once is entertaining for the software developer.

Yep. Obtaining standard query strings from you local DB developer (it's fun
for him) and using them as black box is plain recovery. ;-)

---

From: Lutz Donnerhacke <[email-masked]>
Date: Fri, 30 Jan 2004 13:28:38 +0100