<?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>How to make peripheral can only be connected by specific App?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/9651/how-to-make-peripheral-can-only-be-connected-by-specific-app</link><description>Only my own app could connect other than other Apps such as lightblue etc.</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 09 Oct 2015 20:02:17 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/9651/how-to-make-peripheral-can-only-be-connected-by-specific-app" /><item><title>RE: How to make peripheral can only be connected by specific App?</title><link>https://devzone.nordicsemi.com/thread/35659?ContentTypeID=1</link><pubDate>Fri, 09 Oct 2015 20:02:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:847296bd-f562-46cb-b4b1-c5320e6e0f83</guid><dc:creator>Bill Siever</dc:creator><description>&lt;p&gt;I don&amp;#39;t think there&amp;#39;s a way to be compliant with Bluetooth Low Energy and prevent devices from doing an initial connection (i.e. before any bonding/etc.).   Part of the point of BLE is to have a uniform device discovery mechanism.&lt;/p&gt;
&lt;p&gt;You could try to limit interactions to devices that are running an approved app by using a timer and a service for a challenge/response system.  When a central (app) connects, the device could start the timer.  If the central (app) hasn&amp;#39;t completed the challenge/response in a reasonable time the device could disconnect.  You could also disable all other functionality until the challenge/response is completed.&lt;/p&gt;
&lt;p&gt;This isn&amp;#39;t perfect though. On iOS any apps can access a connected peripheral.  So if YOUR App is authenticated using this scheme and connected, someone could then launch another app, like LightBlue, and interact with the device. There would be ways to limit this to some degree if your app is only used in the foreground.  It could un-authenticate before going into the background, which would make browsing with LightBlue/etc. difficult.&lt;/p&gt;
&lt;p&gt;There are several possible variations on this scheme that could make it difficult for someone to accidentally interact with the device (encryption/rolling keys/etc.).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>