From 431530bf6bfd2445fd558d8b22ba11555aae2b18 Mon Sep 17 00:00:00 2001 From: kkrentz Date: Thu, 15 Oct 2015 01:39:42 -0700 Subject: [PATCH] llsec: Added READMEs --- core/net/llsec/README.md | 5 +++++ core/net/llsec/noncoresec/README.md | 21 +++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 core/net/llsec/README.md create mode 100644 core/net/llsec/noncoresec/README.md diff --git a/core/net/llsec/README.md b/core/net/llsec/README.md new file mode 100644 index 000000000..a5ac5854e --- /dev/null +++ b/core/net/llsec/README.md @@ -0,0 +1,5 @@ +Link layer security is implemented as a new netstack layer, which is located in between the MAC and the NETWORK layer. The interface of LLSEC drivers is defined in [llsec.h](llsec.h). Additionally, LLSEC drivers may define a special [FRAMER](../mac/framer.h), which calls the actual FRAMER underneath. By default, the LLSEC driver `nullsec` is used, which does nothing. + +# TODO + +* Most main files do not call LLSEC.init, yet \ No newline at end of file diff --git a/core/net/llsec/noncoresec/README.md b/core/net/llsec/noncoresec/README.md new file mode 100644 index 000000000..00ca46f15 --- /dev/null +++ b/core/net/llsec/noncoresec/README.md @@ -0,0 +1,21 @@ +`noncoresec` is a noncompromise-resilient 802.15.4 security implementation, which uses a network-wide key. Add these lines to your `project_conf.h` to enable `noncoresec`: + +```c +#undef LLSEC802154_CONF_ENABLED +#define LLSEC802154_CONF_ENABLED 1 +#undef NETSTACK_CONF_FRAMER +#define NETSTACK_CONF_FRAMER noncoresec_framer +#undef NETSTACK_CONF_LLSEC +#define NETSTACK_CONF_LLSEC noncoresec_driver +#undef NONCORESEC_CONF_SEC_LVL +#define NONCORESEC_CONF_SEC_LVL 1 +``` +`NONCORESEC_CONF_SEC_LVL` defines the length of MICs and whether encryption is enabled or not. + +Setting the network-wide key works as follows: +```c +#define NONCORESEC_CONF_KEY { 0x00 , 0x01 , 0x02 , 0x03 , \ + 0x04 , 0x05 , 0x06 , 0x07 , \ + 0x08 , 0x09 , 0x0A , 0x0B , \ + 0x0C , 0x0D , 0x0E , 0x0F } +```