Connect password + out of band verification ===========================================
Another variant on other people's ideas. We have a connection password, which may be (relatively) public. This enables a user to send a message to the node asking for a connection. This includes the name of the user, and a random string of bytes. We construct an authorisation key: Key = encrypt MY_RANDOM with HIS_RANDOM We keep MY_RANDOM. The node receiving the message relays the connection attempt to the user: A node called <name> wants to connect, if you know this person please contact them and verify the connection by sending them the following string: [ Key above turned into words as a la PGP ] When the sending node receives the string, it sends that, and when the receiving node decrypts it and finds its random, the nodes exchange references. Dependancies ------------ Again, UP&P would be very helpful. Variants -------- We could have a full blown noderef instead of a simple connection password, and keep the verification stage. This would eliminate dictionary attacks. Attacks ------- A dictionary attack against the connection password (which will generally be reasonably human readable) is possible, and would be a DoS. It is probably possible to find such connection attempts from passive traffic analysis. MITM should not be possible even if we have the connection key (which is mostly used to keep out port scanners etc) because we cannot obtain MY_RANDOM. If the attacker can spy on the out of band verification mechanism, he may be able to MITM. So this isn't safe against Echelon, but what is? :) -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: <https://emu.freenetproject.org/pipermail/tech/attachments/20070306/e21912ab/attachment.pgp>
