Using bluetooth for authentication - authentication

I would like to use bluetooth for authenticating a user (bluetooth device).
My first idea was to use iBeacon which would be weared by a user. If that user would approach authenticating device (central), that device would use MAC/UUID/Major/Minor of iBeacon to identify the user. Unfortunately it is possible to clone iBeacon and so more advanced approach is required.
Does BLE has some mechanism for that? One option would be that central device would connect to peripherial one and use some PKI to authenticate it.
Or maybe there is something for this purpose already in BLE protocol.
Is these some well known solution for this?

The FIDO2 standard includes a variant where a Bluetooth device acts as a secure key. Google's Titan Security Key is such an implementation (or rather of the older U2F specification).
The Bluetooth specific part is found in the CTAP2 specification. But it is quite some work to implement it and there is no reference code for Bluetooth.
The overall protocol with a private and a public key and a challenge/attestation procedure will still apply for a simpler implementation.
BTW: FIDO2 is not very wide spread yet but many companies are working hard to implement it. I think it will prevail - but mostly without external security keys such as USB dongles and Bluetooth device. It will be successful with fingerprint readers and face recognition technologies built into all future devices, be it smart phones or laptops.

Related

React Native communicate between 2 android devices

I'm using react native to create a simple app that essentially allows 2 android phones to communicate. These devices will always be next to each other, and will only communicate with one another. As I was doing some research it seems that bluetooth would be the best approach, connect the 2 phones and have them send messages. However, I haven't found a working react-native library. It seems that classic bluetooth (serial) would be the optimal approach and not BLE. I tried libraries that support classic bluetooth such as react-native-bluetooth-cross-platform, react-native-bluetooth-serial, and react-native-bluetooth-serial-next. However, none seem to work properly (they seem fairly outdated). The devices pair, but don't connect in order to send/read messages. Is there another form of secure communication I can use to have these devices communicate with one another? If bluetooth is the best form, is there any better serial bluetooth libraries out there?
Edit: I was also looking into using wifi p2p, however it seems like overkill since it's only these 2 devices that will communicate to each other and no other device. Also if I do use wifi p2p would it be possible to only have 2 devices communicate (i.e no other device can eavesdrop or send messages to the 2). Also, these devices will be stationary and pretty close, so if there is a way for 2-way communication via a cable, that will also work.

Camera Remote API beta SDK: How to synchronize multiple DSC QX 100 cameras

Can we control multiple DSC-QX100 cameras using the Camera Remote API SDK from an iPad OS7?
The objective is to cause multiple cameras to "snap" picture at the exact same time. Perhaps each camera has an address (serial number)...can the software communicate with all cameras at the same time using multiple addresses? Need is limited to still photos and so-called fast, rapid photography. Video not necessary.
If so, how?
Unfortunately you can only control one QX100 lens at a time. This is because the lens connects over WiFi and you are limited to only a single WiFi connection at once on an iPad. It may be possible using a desktop PC with multiple wireless cards installed but that would be the only way.
As the Sony rep said, there's no way to do this with "officially supported" techniques.
The reason for this is that the camera acts as a WiFi Access Point (AP) - so while multiple devices can connect to it, most mobile devices can only connect to it and not anything else (since iOS and Android don't support connection to multiple APs simultaneously). This is also why you can't use other network interfaces when connected to the camera. (I don't know about iOS, but Android always prioritizes WiFi over cell network data, for example.)
Android devices have a feature called "WiFi Direct" that provides more flexibility in terms of peer-to-peer interconnection, but iOS does not support WFD. The QX100 DOES respond to WFD invites, and you can accept a pairing request with (if I remember correctly) a long-press of the shutter button. However, the official app only supports normal WiFi AP connections.
I have not yet attempted to see if using Sony's remote API in combination with the (unsupported but apparently present) WiFi Direct capability works.
More info on Wifi Direct and Android can be found at http://developer.android.com/guide/topics/connectivity/wifip2p.html
Marlin SONY, I disagree, wifi is Ethernet and by definition can handle multiple devices on the same network. If you run a phone or iPad as a hotspot and connect multiple devices, it works.
Multicam Switcher Basic is an example of a free app that supports cutting together multiple camera angles live. Unfortunately the app is still being developed so features like third party camera support isn't included, but it does show what is possible and awaits development.
I think this should be possible. Apps like CollabraCamâ„¢ (Multicam Social Video Production) or RecoLive MultiCam prove that is possible to use mulitple cams simultaneous.
I need someone too to develop an App to be able to use "two" sony dsc-qx for 3D shoots. Please, if You know how or who can do this contact me email#3-d.re

How to send SMS through "USB" connected mobiles?

I am not a professional developer but I want to develop one project that includes sending message through mobile connected through USB port only... And if possible I want to keep it generalized, like no need for handset model and service provider name.
I don't think it's possible to do this. Certainly at the very least it would depend on the model of mobile in use.
However as an alternative approach there are companies that provide a (paid for, but not expensive) SMS service accessible via a web API. This may suit what you are trying to achieve.
I don't think you will find this easy. Messages can be sent in 2 different modes 'text' or PDU. Support for both modes is not universal across all phones. PDU is the most widely available type on modern phones, but is also the most complex. Not all mobile phones expose a modem to the computer eg. Windows mobile 6.*. Many phones use proprietory software that does not support all commands. Different phones will connect to different COM ports so this will need checking every time, and could prove tricky if there is more than one phone/modem connected. However using just one phone and sending messages in text format after configuring the settings manually the first time is very easy.
See an example here http://www.codeproject.com/Articles/34360/vb-net-AT-commands-to-send-SMS

Objective-C Async communication between IOS devices

Is there a way to perform async communication between iPhones/IOS devices? I have been researching and thought maybe APN might fill that void, but it sounds like I can't initiate an APN push from an IOS dvice to another, and even if I could I can't trigger the "event" on the other device with just an APN push from what I can identify.
Does anyone have any examples or general advice for IOS device interaction for devices that are not in GameKit (i.e. wifi/bluetooth) range that does not require an intermediate service (urban airship, dedicated server, etc) or will I need to have a 3rd party in order to trigger and/or sync these interactions between devices?
Sorry I don't have any code or details as this is still in the planning phases for me. Any pointers would be greatly appreciated.
The answer is : use a server side app and have all your devices talk to that server.
If you dont want or cannot host an app, you can use a cloud solution based on websocket like Pusher. You can then subscribe to events and post messages with data.
They have an iOS client library
http://pusher.com/docs/client_libraries
P.S: Also have a look at Parse and Stackmob , i remember that had this kind of feature was in their roadmap, but i don't know if it's available yet..
Hope this helps,
Vincent

How to link to a specific preference pane in iOS 5

Background
The company I'm working in would like to launch an iOS app to support an hardware device that interacts with some mechanical automatism (aimed to home and building automation) we already produce.
Such automatism receives the pulse needed to activate itself from a nearby bluetooth device, whose MAC address is known by a white list.
We already know of the need to sign up to the MFi program for Bluetooth hardware to connect and talk effectively with Apple devices, exchanging significant messages, but what it is demanded here is to simply detect the presence of such MAC address. No need to establish protocol sessions and the like.
The facts
Investigating how to programmatically enable/disable Bluetooth interface in iOS, I learned it is impossible without private frameworks, as this post states; that is not an option for us, as the app has to be published on the App Store and it is known that Apple rejects apps including code that is coming from private frameworks.
By the way, the app usability would greatly benefit from a direct access to that feature, so I started thinking if, instead of directly interact with Bluetooth on/off state, would it be possible to let the user access to the Bluetooth preference pane straight from the application.
Does anyone know about that?
No, unfortunately it's not possible. There was a trick with:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"prefs://"]];
but it was opening only the preferences (not straight to bluetooth settings) and it's disabled in iOS 5.1. So your only chance is to make a really good help screen (with nice graphics and animations maybe) that explains the user how to enable the bluetooth.