On Jun 27, 2014, at 12:00 PM, Jukka Rissanen <jukka.rissa...@linux.intel.com> 
wrote:
> On to, 2014-06-26 at 16:52 -0700, Drew Stebbins wrote:
>> Hi folks,
>> 
>> I'm working on a project where devices on a WiFi network must occasionally
>> provide an application with the WiFi network's security credentials. These
>> credentials are used to provision new devices via an alternate
>> communication mechanism. For consistency's sake, I'd like for the
>> application to get these credentials from ConnMan via D-Bus. For now, I've
>> added a "Passphrase" property back to the D-Bus service dictionary for WiFi
>> networks. This property was previously removed back in commit
>> eff06f8e1ce3c3dcf5a3d8158d01403ecf6d62a8.
> 
> Although the Passphrase is not very secret information it was too easy
> to get it via dbus without any apparent real use case in mind. That is
> probably why it was removed from dubs.

Certainly the one use case that was prevalent around the time of this refactor 
was agent support. In the particular use case where an old PSK fails and the 
agent interface prompts the client for a new one, the old PSK is provided in an 
adjunct dictionary for the purposes of rendering it directly or substituted by 
bullets (•) in a GUI.

>> The above commit would seem to imply that sensitive information such as
>> passphrases should be kept out of the publicly-visible service dictionary.
>> If so, how would the community suggest ConnMan expose network credentials
>> to an application? I'd like to upstream this functionality if at all
>> possible, as I suspect I'm not the only one with this sort of use case.
> 
> What kind of use case you have in mind? Also note that most people would
> probably not want to expose this information via dubs.
> 
> If you are really eager to get passphrase information, you can always
> dig the settings files in /var/lib/connman directory.

Imagine a deeply-embedded system with WiFi in which there is no physical user 
interface on the device whatsoever. Now, imagine an out-of-band channel in 
which a mobile device, with appropriate authorization over that out-of-band 
channel, would like to extract the currently-provisioned WiFi services for the 
purposes of provisioning another new system.

Imagine another system, different from a mobile device, perhaps like the first 
that can communicate and authenticate with it out-of-band, based on some 
provided user authority. Over that channel, the first device would like to tell 
the second, "When you encounter this WiFi network, you may connect to it with 
these credentials.".

While you're correct that one could certainly root about int he 
/var/lib/connman directory and pull this, such a mechanism will not survive 
connman version changes due to a high-reliance on internal details that are 
subject to change by virtue of being not being part of connman's public API.

Perhaps there could be a config option, deserted by default, that allows this 
property to be exposed when that configuration is asserted?

Best,

Grant
_______________________________________________
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman

Reply via email to