Re:Rpgp: Pure Rust implementation of OpenPGP
by hpk42 on Monday April 08, 2024 @08:47AM
(#39969154)
Signal acts as a central key server and can present different identity keys to users, so signal itself can middle communications unless there is out-of-band verification of identity keys. This is described here https://www.ndss-symposium.org/wp-content/uploads/2017/09/09... (II. Background) and many other places.
[ Parent
| on HN ]
Re:Rpgp: Pure Rust implementation of OpenPGP
by woodruffw on Monday April 08, 2024 @09:33AM
(#39969558)
This is conflating TOFU and (active) MITM. If you don’t check your peer’s security number in Signal, you are essentially trusting the key directory to be honest about its identity mapping. This is identical to trusting a PGP keyserver, except that Signal has empirically developed a more secure and private key directory than the PGP keyserver ecosystem.
In other words: you always need to perform OOB identity verification, regardless of your messaging system of choice. There is no way around this; it’s a fundamentally social and UX problem rather than a cryptographic one. But this doesn’t change the fact that, once you have a trusted identity, Signal’s MITM protections are significantly stronger than PGP’s (including forward secrecy, as noted before).
Re:Rpgp: Pure Rust implementation of OpenPGP
by remram on Monday April 08, 2024 @09:49AM
(#39969694)
> In other words: you always need to perform OOB identity verification
Web-of-trust alleviates that, to some extent.
Re:Rpgp: Pure Rust implementation of OpenPGP
by woodruffw on Monday April 08, 2024 @10:32AM
(#39970134)
The WoT has been defunct in PGP for over 4 years at this point[1]. It was also never a particularly good solution to this problem, because it (1) was itself largely unauthenticated and blindly trusted by relying parties, much like a normal key directory, and (2) failed to encode what key holding parties were trusted for (the classic example being that I absolutely trust party A to do C for me, but this does not imply that I want to encourage networked party B to trust A for D). And of course the keyserver birthday attacks and DoS, as cherries on top :-)
(I think WoTs can solve these problems. But PGP's implementation has been so far the most ambitious tried by a semi-large audience, and it didn't hold up. We need a better starting point.)