<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic KW41Z 802.15.4 Multiple Security Keys in Wireless MCU</title>
    <link>https://community.nxp.com/t5/Wireless-MCU/KW41Z-802-15-4-Multiple-Security-Keys/m-p/751300#M4307</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am using the KW41Z module with the 802.15.4 library. I need to use wireless security with multiple end devices where each end device will use an unique key. I am currently trying to figure out how I need to configure the PIB values for this. The demo application only supports a single end device so it is useful but not 100%. I am in the process of reading through AN4973 but I am having a hard time finding definitions for the different PIB variables in order to set multiple keys, and the document seems to use the same key for multiple devices. Any advice?&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 12 Mar 2018 20:06:03 GMT</pubDate>
    <dc:creator>nick002025</dc:creator>
    <dc:date>2018-03-12T20:06:03Z</dc:date>
    <item>
      <title>KW41Z 802.15.4 Multiple Security Keys</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/KW41Z-802-15-4-Multiple-Security-Keys/m-p/751300#M4307</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am using the KW41Z module with the 802.15.4 library. I need to use wireless security with multiple end devices where each end device will use an unique key. I am currently trying to figure out how I need to configure the PIB values for this. The demo application only supports a single end device so it is useful but not 100%. I am in the process of reading through AN4973 but I am having a hard time finding definitions for the different PIB variables in order to set multiple keys, and the document seems to use the same key for multiple devices. Any advice?&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Mar 2018 20:06:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/KW41Z-802-15-4-Multiple-Security-Keys/m-p/751300#M4307</guid>
      <dc:creator>nick002025</dc:creator>
      <dc:date>2018-03-12T20:06:03Z</dc:date>
    </item>
    <item>
      <title>Re: KW41Z 802.15.4 Multiple Security Keys</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/KW41Z-802-15-4-Multiple-Security-Keys/m-p/751301#M4308</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think I figured it out between the demo code, the MAC/PHY Users Guide, and the demo Application Guide.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I copied the PIB setup from the demo application and modified the defines in MacGlobals.h to allow 1 key per device:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*! The number of keys used by a device. */&lt;BR /&gt;#define gNumKeyTableEntries_c&amp;nbsp;100&lt;BR /&gt;/*! Configure one entry for each KeyIdMode used for a specific key. */&lt;BR /&gt;#define gNumKeyIdLookupListEntries_c 2&lt;BR /&gt;/*! Configure one entry for every device from which secured frames must be received. */&lt;BR /&gt;#define gNumKeyDeviceListEntries_c 1 // unique key per device&lt;BR /&gt;#define gNumDeviceDescriptorHandleListEntries_c 2&lt;BR /&gt;/*! Configure one entry for every secured frame type. */&lt;BR /&gt;#define gNumKeyUsageListEntries_c 2&lt;BR /&gt;/*! Configure one entry for every device from which secured frames must be received. */&lt;BR /&gt;#define gNumDeviceTableEntries_c 1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*! Configure one entry for every secured frame type received. */&lt;BR /&gt;#define gNumSecurityLevelTableEntries_c 2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;These defines modify the static allocation for gPIBKeyTable in MacGlobals.c which is modified by the PIB statements from the demo. I can step through with the debugger watching the Table and see that it is correctly filled out as a client associates.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SUP&gt;&lt;STRONG style="color: #ff0000;"&gt;New&lt;/STRONG&gt;&lt;/SUP&gt;&lt;/P&gt;&lt;P&gt;My new question... If i have 100 entries in gPIBKeyTable, will have have to have a separate lookup table in my application to correlate an end device ID to &lt;SPAN&gt;gPIBKeyTable&amp;nbsp;&lt;/SPAN&gt;index so I can remove old entries as clients are removed or keys change? Will there be an issue with a fragmented&amp;nbsp;&lt;SPAN&gt;gPIBKeyTable array? For example there are 100 clients in the Table and end device #0 is removed because it has been disassociated/or timed out and the device info is scrubbed from the entry in gPIBKeyTable by the use of NWK_MLME_SapHandler command, will there be an issue in the MAC when it sees an empty entry in the first index and stops iterating through the list?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;There are only a finite&amp;nbsp;number of entries in the list so the Table will need to be maintained&amp;nbsp;and scrubbed&amp;nbsp;of any outdated / invalid entries. Without access to the MAC source code, I have no idea of the behavior.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Mar 2018 13:59:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/KW41Z-802-15-4-Multiple-Security-Keys/m-p/751301#M4308</guid>
      <dc:creator>nick002025</dc:creator>
      <dc:date>2018-03-13T13:59:52Z</dc:date>
    </item>
    <item>
      <title>Re: KW41Z 802.15.4 Multiple Security Keys</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/KW41Z-802-15-4-Multiple-Security-Keys/m-p/751302#M4309</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm afraid we can't provide the&amp;nbsp;libraries source code. Let me check and I'll reply you through the internal case as well.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Estephania&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Mar 2018 04:39:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/KW41Z-802-15-4-Multiple-Security-Keys/m-p/751302#M4309</guid>
      <dc:creator>stephanie_m</dc:creator>
      <dc:date>2018-03-27T04:39:52Z</dc:date>
    </item>
    <item>
      <title>Re: KW41Z 802.15.4 Multiple Security Keys</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/KW41Z-802-15-4-Multiple-Security-Keys/m-p/751303#M4310</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Nick,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For your use-case, the device needs to communicate securely with other 100 devices, every one using a different key, the macros needs to be configures as below:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;gNumKeyTableEntries_c 100&lt;/LI&gt;&lt;LI&gt;gNumKeyIdLookupListEntries_c 100&lt;/LI&gt;&lt;LI&gt;gNumKeyDeviceListEntries_c 100&lt;/LI&gt;&lt;LI&gt;gNumKeyUsageListEntries_c 1&lt;/LI&gt;&lt;LI&gt;gNumDeviceTableEntries_c 100&lt;/LI&gt;&lt;LI&gt;gNumSecurityLevelTableEntries_c 1&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;There is no problem if you remove/update a device from the security table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;George&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Mar 2018 09:06:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/KW41Z-802-15-4-Multiple-Security-Keys/m-p/751303#M4310</guid>
      <dc:creator>georgecapraru</dc:creator>
      <dc:date>2018-03-28T09:06:20Z</dc:date>
    </item>
    <item>
      <title>Re: KW41Z 802.15.4 Multiple Security Keys</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/KW41Z-802-15-4-Multiple-Security-Keys/m-p/751304#M4311</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The definitions seem excessive.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Using the above defines,&amp;nbsp;&lt;/P&gt;&lt;P&gt;gPIBKeyDeviceDescriptorTable expands to&amp;nbsp;gPIBKeyDeviceDescriptorTable[1][100 * 100]&lt;/P&gt;&lt;P&gt;gPIBKeyIdLookupDescriptorTable expands to&amp;nbsp;gPIBKeyIdLookupDescriptorTable[1][100 * 100]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Having 100,000 element arrays does not seem correct.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Apr 2018 15:34:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/KW41Z-802-15-4-Multiple-Security-Keys/m-p/751304#M4311</guid>
      <dc:creator>nick002025</dc:creator>
      <dc:date>2018-04-02T15:34:35Z</dc:date>
    </item>
    <item>
      <title>Re: KW41Z 802.15.4 Multiple Security Keys</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/KW41Z-802-15-4-Multiple-Security-Keys/m-p/751305#M4312</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Nick,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You are correct, the number of entries in&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;gPIBKeyDeviceDescriptorTable and&amp;nbsp;&lt;SPAN&gt;gPIBKeyIdLookupDescriptorTable tables should be 100.&amp;nbsp;I've forgot how the sizes of these tables were defined: [gNumKeyDeviceListEntries_c * gNumKeyTableEntries_c]&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;SPAN&gt;In this case the&amp;nbsp;&lt;SPAN style="background-color: #ffffff;"&gt;gNumKeyIdLookupListEntries_c&amp;nbsp;and&amp;nbsp;gNumKeyDeviceListEntries_c defines should have the value of 1.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;SPAN style="background-color: #ffffff;"&gt;Regards,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;SPAN style="background-color: #ffffff;"&gt;George&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Apr 2018 05:16:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/KW41Z-802-15-4-Multiple-Security-Keys/m-p/751305#M4312</guid>
      <dc:creator>georgecapraru</dc:creator>
      <dc:date>2018-04-03T05:16:07Z</dc:date>
    </item>
    <item>
      <title>Re: KW41Z 802.15.4 Multiple Security Keys</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/KW41Z-802-15-4-Multiple-Security-Keys/m-p/751306#M4313</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Which constant is changed if I want to support 2 keys per client?&lt;/P&gt;&lt;P&gt;It would be nice if there was additional definitions for these constants.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Apr 2018 17:26:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/KW41Z-802-15-4-Multiple-Security-Keys/m-p/751306#M4313</guid>
      <dc:creator>nick002025</dc:creator>
      <dc:date>2018-04-03T17:26:13Z</dc:date>
    </item>
    <item>
      <title>Re: KW41Z 802.15.4 Multiple Security Keys</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/KW41Z-802-15-4-Multiple-Security-Keys/m-p/751307#M4314</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In this case&amp;nbsp;gNumKeyTableEntries_c should be (2 * 100)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Apr 2018 05:25:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/KW41Z-802-15-4-Multiple-Security-Keys/m-p/751307#M4314</guid>
      <dc:creator>georgecapraru</dc:creator>
      <dc:date>2018-04-04T05:25:25Z</dc:date>
    </item>
    <item>
      <title>Re: KW41Z 802.15.4 Multiple Security Keys</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/KW41Z-802-15-4-Multiple-Security-Keys/m-p/751308#M4315</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;gNumKeyTableEntries_c&amp;nbsp; = 100 * 2&lt;/P&gt;&lt;P&gt;gNumKeyIdLookupListEntries_c&amp;nbsp; = 1&lt;/P&gt;&lt;P&gt;gNumKeyDeviceListEntries_c&amp;nbsp;= 1... Accordinging to the MacGlobals.h comment this should be = # of devices but this creates a 100*100 array size for&amp;nbsp;gPIBKeyDeviceDescriptorTable.&amp;nbsp;&lt;/P&gt;&lt;P&gt;gNumKeyUsageListEntries_c&amp;nbsp; =1&amp;nbsp; x&lt;/P&gt;&lt;P&gt;gNumDeviceTableEntries_c = 100&amp;nbsp; x&lt;/P&gt;&lt;P&gt;gNumSecurityLevelTableEntries_c&amp;nbsp; = 1 x&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Array sizes&lt;/P&gt;&lt;P&gt;gPIBKeyTable[1][200]&lt;/P&gt;&lt;P&gt;gPIBKeyIdLookupDescriptorTable[&lt;SPAN&gt;1][200]&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;gPIBKeyDeviceDescriptorTable[1][200]&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;gPIBKeyUsageDescriptorTable[1][200]&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;gPIBDeviceAddrTable[1][3]&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;gPIBDeviceTable[1][100]&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;gPIBSecurityLevelTable[1][1]&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;To me the&amp;nbsp;gPIBDeviceAddrTable sizing looks strange. By setting&amp;nbsp;gNumKeyDeviceListEntries_c to 1, the check at line 95 in MacGlobals.h changes the sizing to&amp;nbsp;gNumKeyDeviceListEntries_c + 2 instead of&amp;nbsp;gNumDeviceTableEntries_c.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Apr 2018 17:42:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/KW41Z-802-15-4-Multiple-Security-Keys/m-p/751308#M4315</guid>
      <dc:creator>nick002025</dc:creator>
      <dc:date>2018-04-06T17:42:07Z</dc:date>
    </item>
    <item>
      <title>Re: KW41Z 802.15.4 Multiple Security Keys</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/KW41Z-802-15-4-Multiple-Security-Keys/m-p/751309#M4316</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Nick,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Indeed, the size of the&amp;nbsp;gPIBDeviceAddrTable is wrong. To overcome this, you must add #define gNumDeviceAddrTableEntries_c (100 + 2) in your application's config file (app_preinclude.h) for&amp;nbsp;this use-case.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This happens because some security table definition depends on the value of gNumKeyTableEntries_c, which simplify upper stacks use-cases.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;George&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Apr 2018 08:25:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/KW41Z-802-15-4-Multiple-Security-Keys/m-p/751309#M4316</guid>
      <dc:creator>georgecapraru</dc:creator>
      <dc:date>2018-04-11T08:25:34Z</dc:date>
    </item>
  </channel>
</rss>

