<?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>Secret Key Generation Based off of Physical Layer</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/43780/secret-key-generation-based-off-of-physical-layer</link><description>I&amp;#39;m working on a project to get two devices to agree on a secret key based off of physical layer properties. 
 My solution is for devices A and B to make 64 RSSI measurements based off of the channel to the other device and then generate a key using these</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 25 Feb 2019 08:31:33 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/43780/secret-key-generation-based-off-of-physical-layer" /><item><title>RE: Secret Key Generation Based off of Physical Layer</title><link>https://devzone.nordicsemi.com/thread/172689?ContentTypeID=1</link><pubDate>Mon, 25 Feb 2019 08:31:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2a9685d2-ac35-4ed8-8856-9a01a7a5d1a8</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;You can read out the RSSI&amp;nbsp; in p_ind-&amp;gt;service.rssi for each received frame (see main.c-&amp;gt;void mcps_data_ind(mcps_data_ind_t * p_ind))&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secret Key Generation Based off of Physical Layer</title><link>https://devzone.nordicsemi.com/thread/171960?ContentTypeID=1</link><pubDate>Tue, 19 Feb 2019 16:35:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fc9e0461-06e9-4c31-b6b1-c865b23ed945</guid><dc:creator>Kebab</dc:creator><description>&lt;p&gt;I&amp;#39;ve been looking at doing this in 802.15.4 as it seems a bit simpler. How can I implement the RSSI sampling and get each board to take 64 measurements?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secret Key Generation Based off of Physical Layer</title><link>https://devzone.nordicsemi.com/thread/171587?ContentTypeID=1</link><pubDate>Mon, 18 Feb 2019 10:22:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a5d7f110-6fd3-45fa-8020-4a67dc8b1208</guid><dc:creator>Kebab</dc:creator><description>&lt;p&gt;Ok thanks. I have seen a similar problem &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/42247/rssi-implementation-with-nrf52480-on-ble-uart-apk/164855#164855"&gt;here&lt;/a&gt;&amp;nbsp;but even doing this is a bit beyond me. I just don&amp;#39;t know where to begin with adding the features I am looking for. For instance, where does the line &amp;quot;BLE_GAP_EVT_CONNECTED&amp;quot; come from or is there a source where this terminology is explained?&lt;/p&gt;
&lt;p&gt;Sorry about all the basic questions but I appreciate the help.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secret Key Generation Based off of Physical Layer</title><link>https://devzone.nordicsemi.com/thread/171578?ContentTypeID=1</link><pubDate>Mon, 18 Feb 2019 10:05:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4a08ad50-1c20-4c50-aa25-c2243747e151</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Ok, maybe you can start with the UART central and &lt;a href="https://www.nordicsemi.com/DocLib/Content/SDK_Doc/nRF5_SDK/v15-2-0/ble_sdk_app_nus_eval"&gt;peripheral &lt;/a&gt;example, then&amp;nbsp;add&amp;nbsp;RSSI sampling and an implementation of your own key generation. You may find this blog post useful (&lt;a href="https://devzone.nordicsemi.com/b/blog/posts/intro-to-application-level-security-using-the-ecb-"&gt;link&lt;/a&gt;) although it covers encryption with&amp;nbsp;static keys.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secret Key Generation Based off of Physical Layer</title><link>https://devzone.nordicsemi.com/thread/171569?ContentTypeID=1</link><pubDate>Mon, 18 Feb 2019 09:28:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b2c22f2e-49c3-483d-8eda-a1052a683d94</guid><dc:creator>Kebab</dc:creator><description>&lt;p&gt;HI Vidar,&lt;/p&gt;
&lt;p&gt;Thanks for your reply however the purpose of the project is to develop and use the method I mentioned in the original post. I cannot use any already standardized methods to generate the key.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Secret Key Generation Based off of Physical Layer</title><link>https://devzone.nordicsemi.com/thread/171566?ContentTypeID=1</link><pubDate>Mon, 18 Feb 2019 09:14:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e54dfc2e-429d-4a35-a2a2-79cfa847fec9</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;You will likely get better security if you use the built-in Random number generator and a standardized key exchange method such as &amp;quot;Diffie-hellman&amp;quot; for creating the shared secret.&amp;nbsp; The &lt;a href="https://www.nordicsemi.com/DocLib/Content/SDK_Doc/nRF5_SDK/v15-2-0/lib_crypto_ecdh_example"&gt;ECDH Example&lt;/a&gt;&amp;nbsp;provided in SDK 15.2.0 should be a good starting point to get an understanding of the nRF crypto API. Also,&amp;nbsp;we have BLE examples that support LESC pairing (diffie helman key exchange) for securing the link. ble_app_hrs is one of the examples that supports it.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>