Expand description
This module implements the Noise NN handshake for IPC. Note: NN does not provide any sort of authentication, and the keys each side uses are just trusted. This means that a MITM with active tampering is possible and accepted. Thereby it is necessary that either the threat model of the application using IPC assumes that the IPC channel is not exposed to MITM attacks, or that the transport layer prevents MITM with active tampering.
Protocol flow:
- Initiator -> Responder:
HandshakeStartMessage { ciphersuite, noise_frame } - Responder -> Initiator:
HandshakeFinishMessage { noise_frame }
After both messages are processed, each side derives split transport keys from the
handshake state and constructs a PersistentTransportState.
Structsยง
- Handshake
Finish ๐Message - Handshake
Initiator ๐ - Handshake
Responder ๐ - Handshake
Start ๐Message - Read
Error ๐ - Write
Error ๐
Enumsยง
- Cipher
Suite ๐