This patch series implements 802.15.4-2011 link layer security.

Patches 1 and 2 prepare for llsec by adding data structures to represent the
llsec PIB as specified in 802.15.4-2011. I've changed some structures from
their specification to be more sensible, since 802.15.4 specifies some
structures in not-exactly-useful ways. Nested lists are common, but not very
accessible for netlink methods, and not very fast to traverse when searching
for specific elements either.

Patch 3 implements backends for these structures in mac802154.

Patch 4 and 5 implement the encryption and decryption methods, split from patch
3 to ease review. The encryption and decryption methods are almost entirely
compliant with the specified outgoing/incoming frame procedures. Decryption
deviates from the specification slightly where the specification makes no
sense, i.e. encrypted frames with security level 0 may be sent, but must be
dropped an reception - but transforms for processing such frames are given a
few lines in the standard. I've opted to not drop these frames instead of not
implementing the transforms that wouldn't be used if they were dropped.

Patch 6 links the mac802154 llsec with the SoftMAC devices. This is mainly
init//fini code for llsec context, handling of security subheaders and calling
the encryption/decryption methods.

Patch 7 adds sockopts to 802.15.4 dgram sockets to modifiy outgoing security
parameters on a per-socket basis. Ideally, this would also be available for
sockets on 6lowpan devices, but I'm not sure how to do that nicely.

Patch 8 adds forwarders to the llsec configuration methods for netlink, patch
10 implements these netlink accessors. This is mainly mechanical.

Patch 11, implements a key tracking option for devices that previous patches
haven't, because I'm not entirely sure whether this is the best approach to the
problem. It performs reasonably well though, so I decided to include it as a
separate patch in this series instead of sending an RFC just for this one
option.

---

Phoebe Buckheister (11):
      ieee802154: add types for link-layer security
      mac802154: update Kconfig
      mac802154: add llsec structures and mutators
      mac802154: add llsec encryption method
      mac802154: add llsec decryption method
      mac802154: integrate llsec with wpan devices
      ieee802154: add dgram sockopts for security control
      mac802154: add llsec configuration functions
      mac802154: propagate device address changes to llsec
      ieee802154: add netlink interfaces for llsec
      ieee802154, mac802154: implement devkey record option


 include/linux/nl802154.h        |   31 ++
 include/net/af_ieee802154.h     |   10 +-
 include/net/ieee802154_netdev.h |  135 +++++
 net/ieee802154/dgram.c          |   66 +++
 net/ieee802154/ieee802154.h     |   19 +
 net/ieee802154/netlink.c        |   20 +
 net/ieee802154/nl-mac.c         |  807 +++++++++++++++++++++++++++++
 net/ieee802154/nl_policy.c      |   16 +
 net/mac802154/Kconfig           |    4 +
 net/mac802154/Makefile          |    3 +-
 net/mac802154/llsec.c           | 1067 +++++++++++++++++++++++++++++++++++++++
 net/mac802154/llsec.h           |  108 ++++
 net/mac802154/mac802154.h       |   44 ++
 net/mac802154/mac_cmd.c         |   42 +-
 net/mac802154/mib.c             |  187 +++++++
 net/mac802154/wpan.c            |  144 ++++--
 16 files changed, 2670 insertions(+), 33 deletions(-)


------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Linux-zigbee-devel mailing list
Linux-zigbee-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-zigbee-devel

Reply via email to