<?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>Unique Id of a device needed</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/10627/unique-id-of-a-device-needed</link><description>Hi​, 
 I am looking for the possibility of getting an unforgeable unique ID of a bonded device within a BLE connection.
Using nRF51422 with SD310 for the peripheral, any smartphone or tablet for the central is intended. 
 After a peripheral has been</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 04 Jan 2016 12:37:26 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/10627/unique-id-of-a-device-needed" /><item><title>RE: Unique Id of a device needed</title><link>https://devzone.nordicsemi.com/thread/39648?ContentTypeID=1</link><pubDate>Mon, 04 Jan 2016 12:37:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a85f3ef2-ea48-4693-b3f1-3eac77432abc</guid><dc:creator>Ulrich Myhre</dc:creator><description>&lt;p&gt;I&amp;#39;m still not understanding exactly what you want to accomplish. Are you trying to recognize a device that has a pre-shared secret, written directly into the app - or are you trying to just make sure you are still connecting to the same device again? What about using normal BLE security and exchanging a long-term key after pairing? Then the LTK can be this &amp;quot;secret&amp;quot;, and you would need to sniff the connection during the initial pairing to be able to copy it. What about that solution would not fit your solution?&lt;/p&gt;
&lt;p&gt;Sorry if I&amp;#39;m misunderstanding, but what you are asking for directly is not possible to accomplish. Everything can be forged by a peer, so I&amp;#39;m looking for alternative ways to solve your problem.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unique Id of a device needed</title><link>https://devzone.nordicsemi.com/thread/39647?ContentTypeID=1</link><pubDate>Thu, 17 Dec 2015 14:36:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2704862d-c9ea-4202-aaa7-79ee9530084e</guid><dc:creator>marko</dc:creator><description>&lt;p&gt;Thanks for your answer. I checked the link layer capabilities carefully but there does not seem to be a feature I can use.
Indeed I have to implement my security functionality on application layer and this was planned too. But therefore I need this unique device ID.
I further think about using the BT device address. After bonding even a private address is resolvable to the original device address if I&amp;#39;m right. So the question is, is it possible to use a counterfeit address for let&amp;#39;s say an Android app?
On the other hand, if I only use the application layer for authentication (without a device specific token) then copying this android app will copy the unique ID in this app. Even if the ID is not stored in the android app code then it seems to be easy to decompile android app and get info about where the ID is taken from. I heard, the android java code is not really safe&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unique Id of a device needed</title><link>https://devzone.nordicsemi.com/thread/39645?ContentTypeID=1</link><pubDate>Tue, 08 Dec 2015 09:29:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:be584342-395d-461c-921a-fb8a2a00b2a2</guid><dc:creator>Ulrich Myhre</dc:creator><description>&lt;p&gt;Thank you for clarifying, I thought you had control of the central in this scenario. Unfortunately, there are no identifiable parameters to a connection that cannot be changed by the peer. The closest is probably reading the remote version, but this is a link-layer feature - often not visible to the app. It is also the same value for all devices using the same SoftDevice version. But even here there could be &amp;quot;rogue&amp;quot; peers that will fake this value if they need to.&lt;/p&gt;
&lt;p&gt;It&amp;#39;s possible that you will have to implement some application security layer yourself, using a verified cryptographic scheme. This requires you to have an application that supports it on both sides, however.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unique Id of a device needed</title><link>https://devzone.nordicsemi.com/thread/39646?ContentTypeID=1</link><pubDate>Mon, 07 Dec 2015 10:28:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:26d9d840-6aa6-4b72-ad38-28fa497e3674</guid><dc:creator>marko</dc:creator><description>&lt;p&gt;For the central any smartphone or tablet is intended. It is beyond our control so there could be everything beside a Nordic based device.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unique Id of a device needed</title><link>https://devzone.nordicsemi.com/thread/39644?ContentTypeID=1</link><pubDate>Mon, 07 Dec 2015 10:07:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:652f4943-2ec4-443c-9608-f951d39ad32f</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Will the central devices be Nordic based as well, or could any BLE central be used?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unique Id of a device needed</title><link>https://devzone.nordicsemi.com/thread/39643?ContentTypeID=1</link><pubDate>Mon, 07 Dec 2015 07:40:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5b76e288-bc02-4277-8421-3162fac1c201</guid><dc:creator>marko</dc:creator><description>&lt;p&gt;Hi,
I already had read this questions and still there are some more I read. But they did not solve my problem. If you read my question then you will see that the problem is not to get an identifier out of a nRF51422. It is about to identify the central device as seen from the perspective of the nRF51422 peripheral. So I am looking for a token related to the BLE connection, and this token should not be able to be manipulated by software.
Regards, Marko&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Unique Id of a device needed</title><link>https://devzone.nordicsemi.com/thread/39642?ContentTypeID=1</link><pubDate>Thu, 03 Dec 2015 15:33:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4516ea14-2753-403a-9f65-0132b4933e04</guid><dc:creator>Ulrich Myhre</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;There have been some questions about this earlier:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/question/5397/unique-device-id/"&gt;devzone.nordicsemi.com/.../&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/question/40603/how-are-the-deviceid-deviceaddr-er-ir-values-set-in-the-ficr/"&gt;devzone.nordicsemi.com/.../&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The take-away is that there are no identifiers that are &lt;strong&gt;guaranteed&lt;/strong&gt; to be unique in the chip&amp;#39;s factory registry. They are randomly generated however, so it is quite unlikely that they will be re-used. DEVICEID, DEVICEADDR, ER and IR are all randomly generated (except 2 bytes of DEVICEADDR for the address type) and together these could make do as a likely unique identifier.&lt;/p&gt;
&lt;p&gt;These values are also not possible to change.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>