High Level Architecture MeshCentral.com
5 As a result, at a high level peer communicate to each other following this timeline When the
HTTPS session is established, each node uses a TLS certificate that is derived from its node certificate in such away that each node can compute the other node’s node identifier. The node identifier is the SHA256 hash of the node’s public key. In this design, the nodes never
transmit what nodeid they have, rather the nodeid is inferred using the certificate using in the
HTTPS session. In order for Node B to
maintain no state about Node A, the session key returned by Node Bis actually a hash of the Node A identifier with anode B secret session random. This way, Node B does
not have to keep any state yet, can decrypt all UDP messages sent by Node A.
UDP messages are encrypted using AES-CBC and authenticated using HMAC-SHA256. The periodic UDP Sync serves to indicate that the peer is still present and serves to trade any state that may have changed. All peer-to-peer state in this design is blocks that are signed using
RSA2048
certificates, so state that is moved from node to node can’t be changed while in transit.
Share with your friends: