User manual

Nodes that support AES-128 encrypon are not available in all jurisdicons. Also, the Si100x plaorm does not
have an AES-128 build available, due to space constraints. (The RF300/RF301 builds, based on the Si100x
plaorm, have external memory available and therefore do have AES-128 builds available.) Users who would like
some protecon for their data but do not have AES-128 encrypon available can use Basic encrypon instead.
Basic encrypon is not strong encrypon, and should not be relied on for high-security applicaons, but it does
provide a level of protecon to keep your data away from curious onlookers. Basic encrypon is available in all
SNAP nodes running firmware version 2.4 or newer.
Enabling encrypon requires two steps. First you must indicate that you would like to encrypt your traffic, and
specify which form of encrypon you wish to use. Then you must specify what your encrypon key is. Aer
reboong the node, all communicaons from the node (both over the air and over the UARTs) is encrypted, and
the node will expect all incoming communicaons to be encrypted. It will no longer be able to parcipate in
unencrypted networks.
NV parameter #50 is where you indicate which form of encrypon should be used. The valid values are:
0 = Use no encrypon
1 = Use AES-128 encrypon
2 = Use Basic encrypon
NV parameter #51 is where you specify the encrypon key for your encrypted network. The key must be exactly
16 bytes long. You can specify the key as a simple string (e.g., ThEeNcRyPtIoNkEy), as a series of hex values (e.g.,
\x2a\x14\x3b\x44\xd7\x3c\x70\xd2\x61\x96\x71\x91\xf5\x8f\x69\xb9) or as some combinaon of the two (e.g.
\xOF\x06\xe4\xf0Forty-Two!). Standard security pracces suggest you should use a complicated encrypon
key that would be difficult to guess.
No encrypon will be used if:
NV parameter #50 is set to a value other than 1 or 2.
NV parameter #50 is set to 1 in a node that does not have AES-128 encrypon available in its firmware.
The encrypon key in NV parameter #51 is invalid.
When you are establishing encrypon for a network of nodes, it is important that you work “from the outside
in.” In other words, begin by seng up encrypon in the nodes farthest from Portal and work your way in
toward your nearer nodes. This is necessary because once you have configured a node for encrypted
communicaons, it is unable to communicate with an unencrypted node.
Consider a network where you have Portal talking through a bridge node (named Alice), and Alice is
communicang with nodes Bey, Carla, and Daphne. If you configure Alice for encrypon before you configure
Bey, Carla and Daphne, Alice will no longer be able to reach the other three nodes to set up encrypon in
them. They will sll be able to communicate with each other, but will not be able to talk to (or through) Alice
(and therefore will not be able to report back to Portal).
In the same environment, if you are relying on mulple hops in order to get messages to all your nodes, if any
intermediate node is encrypted all the unencrypted nodes beyond that one are essenally orphaned. If Daphne
relays messages through Carla, and Carla relays messages through Bey to Alice (and thus to Portal), and you
configure Carla for encrypon before you configure Daphne, you will not be able to reach Daphne to set the
encrypon type or encrypon key.
As with all configuraon NV parameters, the changes you make will only take effect aer the node reboots.
If you lose contact with a node as a result of a mistyped or forgoen encrypon key, you will have to use Portal
to reset the node back to factory parameters. This will set NV Parameter #50 back to 0 and NV Parameter #51
SNAP® Network Operang System 43