VOLTTRON / volttron

VOLTTRON Distributed Control System Platform
https://volttron.readthedocs.io/
Other
455 stars 216 forks source link

Enable CURVE encryption for VIP connections over TCP #93

Closed hashstat closed 9 years ago

hashstat commented 9 years ago

Currently, VOLTTRON does not encrypt traffic over VIP sockets. Ideally, anything over TCP should be considered untrusted and encrypted by default.

hashstat commented 9 years ago

Previous commits enable ZeroMQ CURVE encryption by default for the router when bound to TCP addresses. This can be disabled for testing/development by setting the file _$VOLTTRONHOME/curve.key to a zero-length file: truncate --size 0 $VOLTTRON_HOME/curve.key.

The public key is printed to the log at INFO level in two formats on volttron start. The first format is Z85 and the second is a URL-safe base64 string. The latter may be used in addresses passed to agent constructors. See volttron/platform/vip/socket.py for more information.