This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/LAUNCHXL-CC26X2R1: Link Layer encryption without pairing

Part Number: LAUNCHXL-CC26X2R1

Tool/software: Code Composer Studio

We need to support LL encryption as defined in BLE 5.0 core spec Vol.6 PartB LL Specification: 5.1.3 Encryption Procedure

"The Link Layer, upon request from the Host, can enable the encryption of packets after entering the Connection State."


Can you please go into more details on how would we implement this In the application? We are using via NPI an unmodified host_test project at the moment.


As a side question.... I have found these defines in in ll_common.h that seem not to be used anywhere.

#define LL_ENC_REQ_PAYLOAD_LEN                         23
#define LL_ENC_RSP_PAYLOAD_LEN                         13
#define LL_START_ENC_REQ_PAYLOAD_LEN                   1
#define LL_START_ENC_RSP_PAYLOAD_LEN                   1

Are these preparations for future support?

  • Hi,

    Thanks for your inquiry. I notified a team member and he will provide additional insights as soon as possible.

    Regards,

    Rafael

  • Hello krs,

    I am trying to find an answer to your question. Please allow me a couple of days to investigate.

    -Luis

  • Hello krs,

    Thanks for your patience.

    Our stack supports LL Encryption by providing "Pairing" to the application layer. That is, the host portion of the stack makes use of the link layer to achieve encryption.

    Please see the following diagram from the Bluetooth Specification, v5.1.

    That is, the stack does not inherently provide APIs at the Link Layer level to perform security "manually".

    Please take a look at these other sections on the specification v5.1:

    • Vol 3: Host, Part H: Security Manager Specification, Chapter 2: Security Manager
    • Vol 3: Host, Part H: Security Manager Specification, Appendix C: Message sequence charts, Chapter 4. Security Re-established..., Section C.4.1 Master initiated security
    • Vol 6: LE Controller, Part D: Message Sequence Charts, Chapter 6: Connection state, Section 6.6 Start encryption

    There you will see how the host uses the controller (which includes the LL) to provide the security features.

    I hope this answers your question, but feel free to use this thread to ask follow-up questions.

    -Luis