3

Setup

  • I connected to an XFINITY wifi hotspot (SSID xfinitywifi) roughly 2 hours ago on my iPhone 5S (iOS 7.1.2). These hotspots require no username or password (unencrypted), but do require authenticating with a Comcast username/password at the captive portal web page after connecting. (image below)

xfinitywifi network information

  • I have iCloud Keychain enabled on my iPhone and on my MacBook Pro (OS X 10.9.4). The information for xfinitywifi was automatically copied to my MacBook Pro. (image below)

OS X wifi network list

  • I have Safari set not to remember usernames and passwords on either device (this is unrelated to wifi and my question below, but I thought it might potentially give clarity to some readers/answerers).

Question

How (or perhaps where) does iCloud store this unsecured hotspot network information for syncing with other devices which have iCloud Keychain enabled, especially devices running OS X?

On encrypted networks, the information is stored in the Keychain Access app as an "AirPort network password" keychain entry. However, there is no entry for xfinitywifi in Keychain Access. I even searched for various other related strings such as comcast, etc. but found no relevant entries (see screenshot below).

Search in Keychain Access

0

2 Answers 2

0
+100

As one can see you have the "Remember Networks this computer has joined" Enabled.

When you join new network, that information is saved in the

com.apple.airport.preferences.plist

located in SystemConfiguration folder.

Obviously iCloud gets that file.

EDIT

Since you asked a new question and want to know how iCloud does that read this. (and click on User defaults database to expand)

Designing for Key-Value Data in iCloud

To store discrete values in iCloud for app preferences, app configuration, or app state, use iCloud key-value storage. Key-value storage is similar to the local user defaults database; but values that you place in key-value storage are available to every instance of your app on all of a user’s various devices. If one instance of your app changes a value, the other instances see that change and can use it to update their configuration.

iCloud

and

iCloud2

9
  • 1
    Tell me more about the "Obviously iCloud gets that file" part.
    – jsejcksn
    Sep 18, 2014 at 5:57
  • 1
    For example, can you link me to some documentation that lists the manifest of files that are synced with "iCloud Keychain" and their location in the filesystem?
    – jsejcksn
    Sep 18, 2014 at 6:19
  • 3
    iCloud may not be getting that specific file, but it's getting some of the data from it, at least. Apple doesn't publicly document how iCloud or Keychain Sync works, so there is no way to know for sure without reverse engineering it (the sync operation is basically a black box.) It would probably be necessary to set up an SSL proxy to examine the packets coming into/out of your Mac and also running a root-level process to log all filesystem access to see what it's actually doing (and that still wouldn't tell you how Apple stores it on their end although you might see what is being sent.) Sep 18, 2014 at 12:42
  • @pattern86 see my update explaining how iCloud knows your Airport preferences. (saved networks)
    – Ruskes
    Sep 18, 2014 at 15:36
  • It clearly says it is used to store/transfer system preferences files from to iCloud. Why would you assume that Apple is not using it?? It is a method described by Apple how to set up iCloud (for developer) and it is the system in use by Apple.
    – Ruskes
    Sep 19, 2014 at 1:42
0

You have a keychain in your Keychain Access named 'iCloud' and that is where webforms and application passwords and airport passwords are saved, and synced via iCloud keychain sync.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .