<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Default STK and LTK</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/87727/default-stk-and-ltk</link><description>Do I need to change the default value of STK and LTK between devices?</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 09 May 2022 14:20:39 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/87727/default-stk-and-ltk" /><item><title>RE: Default STK and LTK</title><link>https://devzone.nordicsemi.com/thread/366993?ContentTypeID=1</link><pubDate>Mon, 09 May 2022 14:20:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:45c77128-e0c0-4198-bd46-8e9255f3cfe4</guid><dc:creator>Einar Thorsrud</dc:creator><description>[quote user="DS4"]After generated from FICR(?) are they constant for each device?[/quote]
&lt;p&gt;The FICR is a persistent register (or set of registers) that is populated during production of the IC and is never changed after that.&lt;/p&gt;
[quote user="DS4"]&lt;p&gt;What BLE settings are using those key?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;When am I sending them to the peer device?&lt;/p&gt;[/quote]
&lt;p&gt;In general these are all standard Bluetooth concepts though, so if you need an introduction in Bluetooth security you could for instance refer to some literature on Bluetooth if you want to get an overview. In a nutshell, the IRK is used if you want to ensure that the device cannot be tracked, and then a resolvable random address is regularly calculated base don the IRK. The ERK is used to generate the LTK and. You can refer to&amp;nbsp;Figure 5.2: LE key hierarchy ion page 268 in the Bluetooth core spec 5.3 to see how the keys relate.&lt;/p&gt;
[quote user="DS4"]In case I am producing thousands devices should I randomize the keys I am sending to the stack?[/quote]
&lt;p&gt;Generally, no. As mentioned persistent device keys are unique per IC (generated in production) and other keys are generated based on the RNG peripheral when needed.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Default STK and LTK</title><link>https://devzone.nordicsemi.com/thread/366988?ContentTypeID=1</link><pubDate>Mon, 09 May 2022 14:07:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b192982d-2aba-4676-8969-3e2248e512e8</guid><dc:creator>DS4</dc:creator><description>&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;After generated from FICR are they constant for each device?&lt;/p&gt;
&lt;p&gt;What BLE settings are using those key?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;When am I sending them to the peer device?&lt;/p&gt;
&lt;p&gt;In case I am producing thousands devices should I randomize the keys I am sending to the stack?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;sorry a l lot of questions!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Default STK and LTK</title><link>https://devzone.nordicsemi.com/thread/366986?ContentTypeID=1</link><pubDate>Mon, 09 May 2022 13:59:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:01903fe2-a109-43fd-8ff8-bdf1ec47503d</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Ah, in that case it is different. Both the ERK and IRK are special keys that must be persistent and by default they are read from FICR. This contain random numbers that was generated in production and is unique for each individual IC.&lt;/p&gt;
&lt;p&gt;There are a few reasons you may want to replace the IRK (for instance if factory resetting a device to prevent the old &amp;quot;user&amp;quot; from being able to track it), and therefore it is possible to set it. How to do it depends on which SDK and Bluetooth stack you are using. Note that in this case you will be responsible for storing the new IRK persistently and configuring the Bluetooth stack to use it after every boot.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Default STK and LTK</title><link>https://devzone.nordicsemi.com/thread/366981?ContentTypeID=1</link><pubDate>Mon, 09 May 2022 13:50:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b6c0abcb-c4be-4930-8ae4-313d007d58e6</guid><dc:creator>DS4</dc:creator><description>&lt;p&gt;Sorry, I mean the ERK and IRK default values&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Default STK and LTK</title><link>https://devzone.nordicsemi.com/thread/366978?ContentTypeID=1</link><pubDate>Mon, 09 May 2022 13:48:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9a1161e4-93b6-4109-9431-7b56ed0ed75f</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;No. (There are no default key values. They are automatically generated by the Bluetooth stack based on random numbers from the RNG peripheral).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>