[messaging] Transparency in Keybase
Trevor Perrin
trevp at trevp.net
Mon Aug 25 23:58:09 PDT 2014
Jonathan Rudenberg pointed out that Keybase is providing transparency
similar to what we've talked about [1]:
https://keybase.io/docs/server_security
https://keybase.io/docs/server_security/merkle_root_in_bitcoin_blockchain
Whenever their user database changes they make available (via API) a
new signed Merkle Tree root covering the entire database. Given a
root, users can fetch a small proof that a user's entry was included
[2].
To ensure root hashes are widely seen they
* include them in the Bitcoin blockchain
* have users sign them when they issue signatures. Keybase has a
web-of-trust system of users signing each other's keys ("tracking");
including roots into this seems similar to CT's "gossip".
So that creates a widely-seen record of what they've published.
Seems like efficiency could be improved, particularly if you imagine
this used for real-time monitoring / notifying / checking with a large
userbase. A new root for every change seems ultimately impractical
(for the keyserver as well as monitors and users). CT has the concept
of "merge delay" where logs are issued periodically, so a browser
might need to wait a few hours before performing the post-facto lookup
for a freshly-logged cert's audit proof. I wonder if something like
that might be needed.
Anyways, definitely worth reading above links and poking around, it's
cool to see people trying this.
Trevor
[1]
https://moderncrypto.org/mail-archive/messaging/2014/000226.html
https://moderncrypto.org/mail-archive/messaging/2014/000244.html
[2]
https://keybase.io/docs/api/1.0/call/merkle/root
https://keybase.io/docs/api/1.0/call/merkle/block
More information about the Messaging
mailing list