<?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>Selectively Connecting To Devices</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/4490/selectively-connecting-to-devices</link><description>I have an nrf51822-mkit. 
 Let&amp;#39;s say there are 2 BLE phones continuously searching for my module. Phone 1 connects and communicates with the module. The modules determines that this phone is not the correct phone, so it initiates a disconnect. When Phone</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 21 Nov 2014 17:36:19 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/4490/selectively-connecting-to-devices" /><item><title>RE: Selectively Connecting To Devices</title><link>https://devzone.nordicsemi.com/thread/15921?ContentTypeID=1</link><pubDate>Fri, 21 Nov 2014 17:36:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a8e17147-6df9-4ce3-b7c0-f6559aac2ca7</guid><dc:creator>jcady92</dc:creator><description>&lt;p&gt;This could potentially be a solution. I&amp;#39;ve looked, but I can&amp;#39;t find any examples of how to set the device address on Android. Perhaps this isn&amp;#39;t the best place to ask, but I&amp;#39;m not sure if it&amp;#39;s possible.&lt;/p&gt;
&lt;p&gt;Also, it would also seem if someone is designing an app to be malicious, they could relatively easily get an address from the phone that has been whitelisted on the module and set it as the same in the malicious app.&lt;/p&gt;
&lt;p&gt;I do appreciate the ideas!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Selectively Connecting To Devices</title><link>https://devzone.nordicsemi.com/thread/15920?ContentTypeID=1</link><pubDate>Fri, 21 Nov 2014 10:27:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2ffdef66-6e49-4765-a989-e8bd51848d60</guid><dc:creator>David Edwin</dc:creator><description>&lt;p&gt;&lt;strong&gt;One more method:&lt;/strong&gt;
Support multiple Bluetooth addresses on your devices, associate each peer phone to a different Bluetooth address, so this means none of the existing phones can block the advertising when you change over to a new address which is unknown to them, thus allowing new devices to get added.&lt;/p&gt;
&lt;p&gt;Will this work for you ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Selectively Connecting To Devices</title><link>https://devzone.nordicsemi.com/thread/15917?ContentTypeID=1</link><pubDate>Thu, 20 Nov 2014 17:40:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d6df61b3-e59a-41f0-a96b-37642c548227</guid><dc:creator>jcady92</dc:creator><description>&lt;p&gt;Unfortunately, adding devices in private is not possible with our product. Once the module ships, it advertises in a public location and new devices can be added at any time. It looks like I really would need a form of blacklist to block certain phones rather than allow others (because we have no way of know at runtime which phones will be attempting a connection).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Selectively Connecting To Devices</title><link>https://devzone.nordicsemi.com/thread/15918?ContentTypeID=1</link><pubDate>Thu, 20 Nov 2014 10:58:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bd753abd-2a65-42c7-9393-d71488629fbb</guid><dc:creator>David Edwin</dc:creator><description>&lt;p&gt;Then I suggest that the addition process be done in a private location so there is no possibility of an attacker getting added. Once the addition has been done, use whitelisting for regular operation, manage the whitelist as suggested by @user9384 above.
So during normal operation, addition of the phone will not be allowed and whitelisting will be done to manage the phones, this will prevent an attacker from maliciously connecting and blocking the device.&lt;/p&gt;
&lt;p&gt;Will this resolve your issue ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Selectively Connecting To Devices</title><link>https://devzone.nordicsemi.com/thread/15919?ContentTypeID=1</link><pubDate>Tue, 18 Nov 2014 17:23:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cce49b2b-9244-4fff-8d14-48a9260483e9</guid><dc:creator>jcady92</dc:creator><description>&lt;p&gt;I too do not think whitelisting will accomplish my goal.&lt;/p&gt;
&lt;p&gt;I do have control over the app side, so that is an option.  Right now I am maintaining a temporary blacklist on the app side with the device name as the identifier. This sounds similar to what you&amp;#39;re proposing.  The downside to letting the blacklisting reside on the app side is that it leaves the BLE module open to a type of denial of service attack, if it accepts any connection. A malicious device could continuously try to connect to the module, blocking other devices from attempting a connection.  This is a consumer device, so that is a concern.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Selectively Connecting To Devices</title><link>https://devzone.nordicsemi.com/thread/15916?ContentTypeID=1</link><pubDate>Tue, 18 Nov 2014 12:13:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0752d47c-f7b6-4f77-833a-6b91063076bb</guid><dc:creator>David Edwin</dc:creator><description>&lt;p&gt;The white-listing will work if and only if your application on the BLE device is aware of phone 1 and phone 2. If the application is not aware of phone 2 and does not want phone 1 to connect, it cannot add phone 2 to the whitelist. This whitelist logic may not work well when adding 2 phones to the the device as known peers.&lt;/p&gt;
&lt;p&gt;To manage the addition process:
One possible method is to add an ID to the advertising packet. This ID can be a reference to the phones that have the ID should not connect so phones that do not have this ID yet will connect. This works only when you are using your own app on the phone to manage the BLE connections.&lt;/p&gt;
&lt;p&gt;Will this work for you ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Selectively Connecting To Devices</title><link>https://devzone.nordicsemi.com/thread/15915?ContentTypeID=1</link><pubDate>Tue, 18 Nov 2014 06:11:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:519ac0c4-9da5-4442-8dc0-18d293f8f218</guid><dc:creator>Knut Eldhuset</dc:creator><description>&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;The &lt;a href="http://developer.nordicsemi.com/nRF51_SDK/doc/7.0.1/s110/html/a00216.html"&gt;ble_gap_evt_connected_t&lt;/a&gt; struct contains the address of the peer.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;There is no blacklist feature. When setting up your module, you would have to accept connections until you get Phone 2. Then you can add only Phone 2 to the &lt;a href="http://developer.nordicsemi.com/nRF51_SDK/doc/7.0.1/s110/html/a00207.html"&gt;whitelist&lt;/a&gt;, which will then prevent Phone 1 from connecting. Both phones should have an equal chance of connecting to your module, so this should work out fine.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>