netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 00/11] 802154: implement link-layer security
@ 2014-05-16 15:46 Phoebe Buckheister
  2014-05-16 15:46 ` [PATCH net-next 02/11] mac802154: update Kconfig Phoebe Buckheister
                   ` (6 more replies)
  0 siblings, 7 replies; 13+ messages in thread
From: Phoebe Buckheister @ 2014-05-16 15:46 UTC (permalink / raw)
  To: netdev-u79uwXL29TY76Z2rM5mHXA
  Cc: davem-fT/PcQaiUtIeIZ0/mPfg9Q,
	linux-zigbee-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

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

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2014-05-16 21:24 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-16 15:46 [PATCH net-next 00/11] 802154: implement link-layer security Phoebe Buckheister
2014-05-16 15:46 ` [PATCH net-next 02/11] mac802154: update Kconfig Phoebe Buckheister
2014-05-16 15:46 ` [PATCH net-next 04/11] mac802154: add llsec encryption method Phoebe Buckheister
2014-05-16 15:46 ` [PATCH net-next 06/11] mac802154: integrate llsec with wpan devices Phoebe Buckheister
     [not found] ` <1400255205-9031-1-git-send-email-phoebe.buckheister-mPn0NPGs4xGatNDF+KUbs4QuADTiUCJX@public.gmane.org>
2014-05-16 15:46   ` [PATCH net-next 01/11] ieee802154: add types for link-layer security Phoebe Buckheister
2014-05-16 15:46   ` [PATCH net-next 03/11] mac802154: add llsec structures and mutators Phoebe Buckheister
2014-05-16 15:46   ` [PATCH net-next 05/11] mac802154: add llsec decryption method Phoebe Buckheister
2014-05-16 15:46   ` [PATCH net-next 07/11] ieee802154: add dgram sockopts for security control Phoebe Buckheister
2014-05-16 15:46   ` [PATCH net-next 08/11] mac802154: add llsec configuration functions Phoebe Buckheister
2014-05-16 15:46   ` [PATCH net-next 09/11] mac802154: propagate device address changes to llsec Phoebe Buckheister
2014-05-16 15:46 ` [PATCH net-next 10/11] ieee802154: add netlink interfaces for llsec Phoebe Buckheister
2014-05-16 15:46 ` [PATCH net-next 11/11] ieee802154, mac802154: implement devkey record option Phoebe Buckheister
2014-05-16 21:24 ` [PATCH net-next 00/11] 802154: implement link-layer security David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).