ZEBRA RFC source tree location #ble

Dean Gereaux

The ZEBRA RFC (see RFC: https://github.com/zephyrproject-rtos/zephyr/issues/23465) is a feature proposal for a simple way to add secure authentication between two Bluetooth devices.  ZEBRA is not part of the Bluetooth stack, it uses the Bluetooth stack via the firmware application to authenticate.   There are several places where the ZEBRA code could potentially resided within the Zephyr code base:

  1. As a sub directory of subsys.   subsys/auth
Good option.  The subsys directory contains key components of Zephyr.  While you can use Zephyr without a sub system, say networking, these components are often critical and used in an embedded system.  The subsys/auth subdirectory would contain ZEBRA and other authentication methods such as Google Fast Pair.   As security becomes more important to real time systems, it makes sense to make authentication a key component of Zephyr.  A subsys/auth would also enable code sharing between different authentication methods.

2.  As a sub directory lib.   lib/auth
Good option.  The lib directory contains various libraries, ZEBRA can is essentially a library sitting on top of the Bluetooth stack providing authentication services.  Other authentication methods would be separate libraries. 

Looking for suggestions and comments on which option would work the best. 

I personally prefer option #1.  


Dean Gereaux