[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

US20170006529A1 - Circumventing wireless device spatial tracking based on wireless device identifiers - Google Patents

Circumventing wireless device spatial tracking based on wireless device identifiers Download PDF

Info

Publication number
US20170006529A1
US20170006529A1 US14/788,511 US201514788511A US2017006529A1 US 20170006529 A1 US20170006529 A1 US 20170006529A1 US 201514788511 A US201514788511 A US 201514788511A US 2017006529 A1 US2017006529 A1 US 2017006529A1
Authority
US
United States
Prior art keywords
network
networks
wireless networks
data
wireless
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US14/788,511
Other versions
US9538461B1 (en
Inventor
Paul Anthony Brookes
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to US14/788,511 priority Critical patent/US9538461B1/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BROOKES, Paul Anthony
Priority to EP16742086.8A priority patent/EP3318077B1/en
Priority to PCT/US2016/039469 priority patent/WO2017003892A1/en
Priority to CN201680039268.3A priority patent/CN107852598B/en
Application granted granted Critical
Publication of US9538461B1 publication Critical patent/US9538461B1/en
Publication of US20170006529A1 publication Critical patent/US20170006529A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/16Discovering, processing access restriction or access information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/0005Control or signalling for completing the hand-off
    • H04W36/0011Control or signalling for completing the hand-off for data sessions of end-to-end connection
    • H04W36/0033Control or signalling for completing the hand-off for data sessions of end-to-end connection with transfer of context information
    • H04W36/0038Control or signalling for completing the hand-off for data sessions of end-to-end connection with transfer of context information of security context information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • H04W64/003Locating users or terminals or network equipment for network management purposes, e.g. mobility management locating network equipment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals

Definitions

  • Mobile devices such as smart phones, tablet computers, laptop computers, automobile computers, and smart cameras all provide additional functionality when connected to the Internet.
  • a mobile device that is presently connected to the Internet can receive and send email messages; interact with websites; obtain the full benefit of executing applications that have a backend component; download new programs, program updates, and media artifacts; access remote files; etc.
  • mobile devices connect to the Internet via wireless communications channels.
  • Many mobile devices are equipped to connect to the Internet via cellular data networks operated by wireless telephony carriers. Some mobile devices are not so equipped, however, and those that are may incur significant marginal charges for sending or receiving significant volumes of data via cellular data networks.
  • Wi-Fi networks are often free or inexpensive to use, and can in some places provide Internet connectivity where cellular data networks cannot, many mobile devices are configured to frequently scan for available Wi-Fi networks, such as at any time when the mobile device is not already actively connected to a Wi-Fi network. Performing such scanning enables the mobile device to automatically connect to already-known Wi-Fi networks, and notify its user of new Wi-Fi networks within connection range that the user can choose to connect to.
  • a facility for interacting with data networks using a permanent network identifier persistently stored within a computing system in response to an opportunity to connect to a first data network, the facility identifies information for the first data network, and determines whether the determined identifying information for the first data network matches any of a set of approved data networks. In response to determining that it does, the facility establishes a connection with the first data network using the computing system's permanent network identifier, and conducts the established connection with the first data network using the computing system's permanent network identifier. In response to an opportunity to connect to a second data network, the facility determines identifying information for the second data network, and determines whether the determined identifying information for the second data network matches any of the set of approved data networks.
  • the facility In response to determining that it does not, the facility establishes a connection with the second data network using a temporary network identifier that is different from the computing system's permanent network identifier, and conducts the established connection with the first data network using the temporary network identifier.
  • FIG. 1 is a block diagram showing some of the components that may be incorporated in at least some of the computer systems and other devices on which the facility operates.
  • FIG. 2 is a state diagram showing how the facility transitions between states corresponding to the use of the device's native MAC versus temporary MACs in some examples.
  • FIG. 3 is a network diagram depicting operation of the facility as a device is carried through a path.
  • the inventor has identified significant disadvantages with conventional approaches to the conventional mobile device networking technique of continuously scanning for available Wi-Fi networks.
  • scanning by mobile device involves the mobile device sending a permanent network identifier of the mobile device called a “media access control address” (“MAC address,” or simply “MAC”).
  • MAC address media access control address
  • the inventor has recognized that, by tracking the appearance over time of scanning communications containing a particular MAC address, the operator of a Wi-Fi network in a particular location can discover the times at which a corresponding particular wireless device passes near the Wi-Fi network, thus impairing the privacy of movement of a person carrying the wireless device.
  • the inventor has further deduced that a single entity operating multiple Wi-Fi networks or multiple separate entities operating Wi-Fi networks and sharing such tracking information can construct an even more complete picture of a person's movements.
  • the inventor has conceived and reduced to practice a software and/or hardware facility for circumventing wireless device spatial tracking based on wireless device identifiers (“the facility”).
  • the facility does a significant portion of its scanning for Wi-Fi networks using a rotating, random substitute for its permanent MAC address, referred to herein as a “temporary MAC address” or “temporary MAC.”
  • temporary MAC address When the wireless device is within range of a Wi-Fi network among a group of trusted Wi-Fi networks, the facility uses the device's permanent MAC address to scan for Wi-Fi networks and connect to Wi-Fi networks.
  • the wireless device is not within range of such a trusted Wi-Fi network, the facility uses a temporary MAC address to scan for and connect to Wi-Fi networks.
  • the facility periodically switches, or “cycles” the temporary MAC address being used to inhibit tracking even on a fine timescale.
  • the facility includes Wi-Fi networks in its set of trusted Wi-Fi networks on a variety of bases, including the user explicitly designating a Wi-Fi network as trusted, a user explicitly choosing to connect to a Wi-Fi network, a user providing certain credentials as part of connecting to a Wi-Fi network, external configuration of the set of trusted Wi-Fi networks by an administrator or a certification authority, etc.
  • the facility determines that the device is within range of a trusted Wi-Fi network if the name of a Wi-Fi network identified as available by scanning matches the name of a Wi-Fi network in the set of trusted Wi-Fi networks. In some examples, the facility further or instead requires that geographic positioning services on the device, such as those based upon GPS locating techniques, report that the device is within a range of geographic locations believed to be within the range of a trusted Wi-Fi network.
  • the facility reduces the ability of operators of Wi-Fi networks to spatially track wireless devices without abrogating the benefits produced by Wi-Fi scanning.
  • the facility also permits wireless devices to interact properly with trusted Wi-Fi networks that implement MAC filtering—that is, that only allow connections from devices using an approved native MAC address.
  • FIG. 1 is a block diagram showing some of the components that may be incorporated in at least some of the computer systems and other devices on which the facility operates.
  • these computer systems and other devices 100 can include server computer systems, desktop computer systems, laptop computer systems, tablet computer systems, netbooks, mobile phones, personal digital assistants, televisions, cameras, automobile computers, electronic media players, electronic kiosk devices, electronic table devices, electronic whiteboard devices, etc.
  • the computer systems and devices may include any number of the following: a central processing unit (“CPU”) 101 for executing computer programs; a computer memory 102 for storing programs and data while they are being used, including the facility and associated data, an operating system including a kernel and device drivers, and one or more applications; a persistent storage device 103 , such as a hard drive or flash drive for persistently storing programs and data; a computer-readable media drive 104 , such as a floppy, CD-ROM, or DVD drive, for reading programs and data stored on a computer-readable medium; and/or a communications subsystem 105 for connecting the computer system to other computer systems and/or other devices to send and/or receive data, such as via the Internet or another wired or wireless network and its networking hardware, such as switches, routers, repeaters, electrical cables and optical fibers, light emitters and receivers, radio transmitters and receivers, and the like.
  • CPU central processing unit
  • a computer memory 102 for storing programs and data while they are being used, including the facility and associated
  • FIG. 2 is a state diagram showing how the facility transitions between states corresponding to the use of the device's native MAC versus temporary MACs in some examples.
  • FIG. 2 shows four states, states 210 , 220 , 230 , and 240 , that the facility transitions between.
  • state 210 the facility causes the device to scan for available Wi-Fi networks using a temporary MAC.
  • the facility begins in state 210 when it begins operating.
  • the facility While the facility remains in step 210 , the facility periodically cycles the temporary MAC address that the device is using to scan for Wi-Fi networks. In some examples, the facility performs this cycling at a regular or semi-regular interval, such as every one second, 5 seconds, 15 seconds, 30 seconds, 60 seconds, 90 seconds, 2 minutes, 4 minutes, 5 minutes, 10 minutes, 15 minutes, 30 minutes, etc. In some examples, in order to make it more difficult for the operators of Wi-Fi networks to connect one temporary MAC used before cycling and another temporary MAC used after cycling, the facility does one or both of (1) randomizing the length of the cycling period; and (2) imposing breaks in scanning of varying length between the scanning done with temporary MACs that are adjacent in time.
  • the device and the facility use 48-bit MAC-48 MAC addresses. In some examples, the device and the facility use 48-bit EUI-48 MAC addresses. In some examples, the device and the facility use 64-bit EUI-64 MAC addresses.
  • the facility seeks to inhibit the association of the new temporary MAC with earlier temporary MACs. In some examples, the facility randomizes the entirety of the new temporary MAC. In some examples, the facility randomizes portions of the new temporary MAC that are not likely to be a basis for how wireless networks will treat the device for networking purposes. In some examples, the facility randomizes portions of the new temporary MAC that commonly vary among wireless devices. In some examples, to generate a new temporary MAC, the facility selects a MAC that it determines is presently in use by a nearby device, and randomizes certain portions of the nearby device's MAC.
  • the state diagram shows two state transitions to other states from state 210 : a transition 211 from state 210 to state 220 upon connection to a non-trusted network, and transition 212 from state 210 to state 230 upon entering the range of a trusted network.
  • transition 211 from state 210 to state 220 in state 220 , the facility causes the device to continue to use the temporary MAC that it was using when it connected to the non-trusted network until the facility exits this state. If this connection is disconnected at a time when the device is outside the range of any trusted network, then the facility follows transition 221 from state 220 back to state 210 . While in state 220 , if the connection is disconnected within range of a trusted network, then the facility transitions from state 220 to state 230 .
  • state 230 the device is within range of a trusted network. Accordingly, in state 230 , the facility causes the device to perform Wi-Fi network scanning using its native MAC. If the device subsequently leaves the range of all trusted networks, then the facility follows transition 232 from state 230 to state 210 to revert to scanning using temporary MACs. Conversely, if the facility is in state 210 scanning using temporary MACs and enters the range of a trusted network, then the facility follows transition 212 from state 210 to state 230 to instead scan using the native MAC. While in state 230 , if the device connects to a network while the device is within range of a trusted network, then the facility follows transition 231 from state 230 to state 240 .
  • state 240 the device is connected to a network using its native MAC. If, while in state 240 , disconnection from this network occurs at a time when the device is within range of a trusted network, then the facility follows transition 241 from state 240 to state 232 to cause the device to scan using the device's native MAC. If, on the other hand, disconnection occurs outside the range of any trusted network, then the facility follows transition 242 from state 240 to state 210 to cause the device to scan for networks using a temporary MAC.
  • FIG. 3 is a network diagram depicting operation of the facility as a device is carried through a path.
  • the path 300 is from starting point 301 to ending point 312 .
  • the path traverses four untrusted networks 351 - 354 , and one trusted network 361 .
  • the segments of the path that are chords of a network's roughly circular range are said to be “in range” of the network, either in that the network appears in scans performed throughout the segment, the facility defines the network as occupying this geographic area, or both.
  • the hashes along path 300 indicate the version of the MAC being used by the facility at each point in the path. From point 301 to point 303 , the diagonal hashes indicate that the facility uses a first temporary MAC.
  • a timer maintained by the facility expires, and the facility switches to using a new temporary MAC, which is shown here by hashes that extend in a different diagonal direction.
  • a second horizontal line segment above the hashes shows that the device is connected to untrusted network 352 , using the temporary MAC with which it was scanning when untrusted network 352 became available to the device.
  • the horizontal line shows that this connection ends at point 306 , when the device exits the range of untrusted network 352 .
  • the facility continues scanning with the temporary MAC used to connect to untrusted network 352 from point 306 until point 308 , at which time the timer expires again and the facility switches to a third temporary MAC, with which it scans from point 308 to point 309 .
  • the timer expires again, and the facility switches to using a fourth temporary MAC for network scanning.
  • the device comes in range of trusted network 361 , the trustedness of which is indicated by a double circle. Between points 310 and 311 , the vertical hashes and second horizontal line above them indicate that the facility connects to trusted network 361 using its native MAC.
  • the facility switches from its native MAC to a new temporary MAC to resume scanning. It should be noted that the segment from point 305 to point 306 indicates that the facility connects to at least some untrusted networks using temporary MACs, thus depriving these untrusted networks of opportunities they would otherwise have had to learn the device's native MAC.
  • the facility provides a computer system for interacting with wireless networks.
  • the computer system comprises: a networking module configured to persistently store a network ID identifying the computer system; a radio configured to exchange wireless data communications with wireless networks; a network range testing subsystem configured to determine whether the computer system is in communicative range of a wireless network present on a list of approved wireless networks; and a control subsystem configured to: in response to a determination by the network range testing subsystem that the computer system is in communicative range of a wireless network present on a list of approved wireless networks, cause the radio to establish a connection with a wireless network using the network ID persistently stored by the networking module, and in response to a determination by the network range testing subsystem that the computer system is not in communicative range of a wireless network present on a list of approved wireless networks, cause the radio to establish a connection with a wireless network using a network ID different from the network ID persistently stored by the networking module.
  • the facility provides a computer-readable medium having contents configured to cause a computing device to, in order to manage interactions by the computing device with wireless networks: access a list of trusted wireless networks; recurringly: determine whether the computing device is within communicative range of any of the trusted wireless networks on the accessed list; in response to determining that the computing device is within communicative range of any of the trusted wireless networks on the accessed list, perform a scan for available wireless networks using a native network address stored persistently in the computing device; and in response to determining that the computing device is not within communicative range of any of the trusted wireless networks on the accessed list, perform a scan for available wireless networks using a temporary network address different from the native network address stored persistently in the computing device.
  • the facility provides a method in a computing system for interacting with data networks, the computing system having a permanent network identifier persistently stored within the computing system.
  • the method comprises: in response to an opportunity to connect to a first data network: determining identifying information for the first data network; determining whether the determined identifying information for the first data network matches any of a set of approved data networks; in response to determining that the determined identifying information for the first data network matches one of the set of approved data networks: establishing a connection with the first data network using the computing system's permanent network identifier; conducting the established connection with the first data network using the computing system's permanent network identifier; in response to an opportunity to connect to a second data network: determining identifying information for the second data network; determining whether the determined identifying information for the second data network matches any of the set of approved data networks; in response to determining that the determined identifying information for the second data network matches none of the set of approved data networks: establishing a connection with the second data network using a temporary network identifier

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

A facility for interacting with data networks using a permanent network identifier persistently stored within a computing system is described. In one example facility, in response to each opportunity to connect to a data network, the facility identifies information for the data network, and determines whether the determined identifying matches any of a set of approved data networks. In response to determining that it does, the facility establishes a connection with the first data network using the computing system's permanent network identifier, and conducts the established connection with the first data network using the computing system's permanent network identifier. In response to determining that it does not, the facility establishes a connection with the data network using a temporary network identifier that is different from the computing system's permanent network identifier, and conducts the established connection with the data network using the temporary network identifier.

Description

    BACKGROUND
  • Mobile devices such as smart phones, tablet computers, laptop computers, automobile computers, and smart cameras all provide additional functionality when connected to the Internet. For example, a mobile device that is presently connected to the Internet can receive and send email messages; interact with websites; obtain the full benefit of executing applications that have a backend component; download new programs, program updates, and media artifacts; access remote files; etc.
  • Typically, mobile devices connect to the Internet via wireless communications channels. Many mobile devices are equipped to connect to the Internet via cellular data networks operated by wireless telephony carriers. Some mobile devices are not so equipped, however, and those that are may incur significant marginal charges for sending or receiving significant volumes of data via cellular data networks.
  • Virtually all mobile devices are equipped to connect to the Internet via Wi-Fi networks using networking protocols specified by variants of the IEEE 802.11 standard. Because Wi-Fi networks are often free or inexpensive to use, and can in some places provide Internet connectivity where cellular data networks cannot, many mobile devices are configured to frequently scan for available Wi-Fi networks, such as at any time when the mobile device is not already actively connected to a Wi-Fi network. Performing such scanning enables the mobile device to automatically connect to already-known Wi-Fi networks, and notify its user of new Wi-Fi networks within connection range that the user can choose to connect to.
  • SUMMARY
  • This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key factors or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
  • A facility for interacting with data networks using a permanent network identifier persistently stored within a computing system is described. In one example facility, in response to an opportunity to connect to a first data network, the facility identifies information for the first data network, and determines whether the determined identifying information for the first data network matches any of a set of approved data networks. In response to determining that it does, the facility establishes a connection with the first data network using the computing system's permanent network identifier, and conducts the established connection with the first data network using the computing system's permanent network identifier. In response to an opportunity to connect to a second data network, the facility determines identifying information for the second data network, and determines whether the determined identifying information for the second data network matches any of the set of approved data networks. In response to determining that it does not, the facility establishes a connection with the second data network using a temporary network identifier that is different from the computing system's permanent network identifier, and conducts the established connection with the first data network using the temporary network identifier.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram showing some of the components that may be incorporated in at least some of the computer systems and other devices on which the facility operates.
  • FIG. 2 is a state diagram showing how the facility transitions between states corresponding to the use of the device's native MAC versus temporary MACs in some examples.
  • FIG. 3 is a network diagram depicting operation of the facility as a device is carried through a path.
  • DETAILED DESCRIPTION
  • The inventor has identified significant disadvantages with conventional approaches to the conventional mobile device networking technique of continuously scanning for available Wi-Fi networks. In particular, based upon commonly-used Wi-Fi protocols established in variance of the IEEE 802.11 standard, such scanning by mobile device involves the mobile device sending a permanent network identifier of the mobile device called a “media access control address” (“MAC address,” or simply “MAC”). The inventor has recognized that, by tracking the appearance over time of scanning communications containing a particular MAC address, the operator of a Wi-Fi network in a particular location can discover the times at which a corresponding particular wireless device passes near the Wi-Fi network, thus impairing the privacy of movement of a person carrying the wireless device. The inventor has further deduced that a single entity operating multiple Wi-Fi networks or multiple separate entities operating Wi-Fi networks and sharing such tracking information can construct an even more complete picture of a person's movements.
  • In order to overcome these disadvantages, the inventor has conceived and reduced to practice a software and/or hardware facility for circumventing wireless device spatial tracking based on wireless device identifiers (“the facility”).
  • In some examples, the facility does a significant portion of its scanning for Wi-Fi networks using a rotating, random substitute for its permanent MAC address, referred to herein as a “temporary MAC address” or “temporary MAC.” When the wireless device is within range of a Wi-Fi network among a group of trusted Wi-Fi networks, the facility uses the device's permanent MAC address to scan for Wi-Fi networks and connect to Wi-Fi networks. In general, when the wireless device is not within range of such a trusted Wi-Fi network, the facility uses a temporary MAC address to scan for and connect to Wi-Fi networks. During times when the facility is using a temporary MAC address and is not connected to any Wi-Fi network, the facility periodically switches, or “cycles” the temporary MAC address being used to inhibit tracking even on a fine timescale.
  • In various examples, the facility includes Wi-Fi networks in its set of trusted Wi-Fi networks on a variety of bases, including the user explicitly designating a Wi-Fi network as trusted, a user explicitly choosing to connect to a Wi-Fi network, a user providing certain credentials as part of connecting to a Wi-Fi network, external configuration of the set of trusted Wi-Fi networks by an administrator or a certification authority, etc.
  • In some examples, the facility determines that the device is within range of a trusted Wi-Fi network if the name of a Wi-Fi network identified as available by scanning matches the name of a Wi-Fi network in the set of trusted Wi-Fi networks. In some examples, the facility further or instead requires that geographic positioning services on the device, such as those based upon GPS locating techniques, report that the device is within a range of geographic locations believed to be within the range of a trusted Wi-Fi network.
  • By behaving in some or all of the ways described above, the facility reduces the ability of operators of Wi-Fi networks to spatially track wireless devices without abrogating the benefits produced by Wi-Fi scanning. The facility also permits wireless devices to interact properly with trusted Wi-Fi networks that implement MAC filtering—that is, that only allow connections from devices using an approved native MAC address.
  • FIG. 1 is a block diagram showing some of the components that may be incorporated in at least some of the computer systems and other devices on which the facility operates. In various examples, these computer systems and other devices 100 can include server computer systems, desktop computer systems, laptop computer systems, tablet computer systems, netbooks, mobile phones, personal digital assistants, televisions, cameras, automobile computers, electronic media players, electronic kiosk devices, electronic table devices, electronic whiteboard devices, etc. In various examples, the computer systems and devices may include any number of the following: a central processing unit (“CPU”) 101 for executing computer programs; a computer memory 102 for storing programs and data while they are being used, including the facility and associated data, an operating system including a kernel and device drivers, and one or more applications; a persistent storage device 103, such as a hard drive or flash drive for persistently storing programs and data; a computer-readable media drive 104, such as a floppy, CD-ROM, or DVD drive, for reading programs and data stored on a computer-readable medium; and/or a communications subsystem 105 for connecting the computer system to other computer systems and/or other devices to send and/or receive data, such as via the Internet or another wired or wireless network and its networking hardware, such as switches, routers, repeaters, electrical cables and optical fibers, light emitters and receivers, radio transmitters and receivers, and the like.
  • FIG. 2 is a state diagram showing how the facility transitions between states corresponding to the use of the device's native MAC versus temporary MACs in some examples. FIG. 2 shows four states, states 210, 220, 230, and 240, that the facility transitions between. In state 210, the facility causes the device to scan for available Wi-Fi networks using a temporary MAC. In some examples, the facility begins in state 210 when it begins operating.
  • While the facility remains in step 210, the facility periodically cycles the temporary MAC address that the device is using to scan for Wi-Fi networks. In some examples, the facility performs this cycling at a regular or semi-regular interval, such as every one second, 5 seconds, 15 seconds, 30 seconds, 60 seconds, 90 seconds, 2 minutes, 4 minutes, 5 minutes, 10 minutes, 15 minutes, 30 minutes, etc. In some examples, in order to make it more difficult for the operators of Wi-Fi networks to connect one temporary MAC used before cycling and another temporary MAC used after cycling, the facility does one or both of (1) randomizing the length of the cycling period; and (2) imposing breaks in scanning of varying length between the scanning done with temporary MACs that are adjacent in time.
  • In some examples, the device and the facility use 48-bit MAC-48 MAC addresses. In some examples, the device and the facility use 48-bit EUI-48 MAC addresses. In some examples, the device and the facility use 64-bit EUI-64 MAC addresses. In generating each new temporary MAC, the facility seeks to inhibit the association of the new temporary MAC with earlier temporary MACs. In some examples, the facility randomizes the entirety of the new temporary MAC. In some examples, the facility randomizes portions of the new temporary MAC that are not likely to be a basis for how wireless networks will treat the device for networking purposes. In some examples, the facility randomizes portions of the new temporary MAC that commonly vary among wireless devices. In some examples, to generate a new temporary MAC, the facility selects a MAC that it determines is presently in use by a nearby device, and randomizes certain portions of the nearby device's MAC.
  • The state diagram shows two state transitions to other states from state 210: a transition 211 from state 210 to state 220 upon connection to a non-trusted network, and transition 212 from state 210 to state 230 upon entering the range of a trusted network. With respect to transition 211 from state 210 to state 220, in state 220, the facility causes the device to continue to use the temporary MAC that it was using when it connected to the non-trusted network until the facility exits this state. If this connection is disconnected at a time when the device is outside the range of any trusted network, then the facility follows transition 221 from state 220 back to state 210. While in state 220, if the connection is disconnected within range of a trusted network, then the facility transitions from state 220 to state 230.
  • In state 230, the device is within range of a trusted network. Accordingly, in state 230, the facility causes the device to perform Wi-Fi network scanning using its native MAC. If the device subsequently leaves the range of all trusted networks, then the facility follows transition 232 from state 230 to state 210 to revert to scanning using temporary MACs. Conversely, if the facility is in state 210 scanning using temporary MACs and enters the range of a trusted network, then the facility follows transition 212 from state 210 to state 230 to instead scan using the native MAC. While in state 230, if the device connects to a network while the device is within range of a trusted network, then the facility follows transition 231 from state 230 to state 240. In state 240, the device is connected to a network using its native MAC. If, while in state 240, disconnection from this network occurs at a time when the device is within range of a trusted network, then the facility follows transition 241 from state 240 to state 232 to cause the device to scan using the device's native MAC. If, on the other hand, disconnection occurs outside the range of any trusted network, then the facility follows transition 242 from state 240 to state 210 to cause the device to scan for networks using a temporary MAC.
  • FIG. 3 is a network diagram depicting operation of the facility as a device is carried through a path. The path 300 is from starting point 301 to ending point 312. The path traverses four untrusted networks 351-354, and one trusted network 361. The segments of the path that are chords of a network's roughly circular range are said to be “in range” of the network, either in that the network appears in scans performed throughout the segment, the facility defines the network as occupying this geographic area, or both. The hashes along path 300 indicate the version of the MAC being used by the facility at each point in the path. From point 301 to point 303, the diagonal hashes indicate that the facility uses a first temporary MAC. At point 303, a timer maintained by the facility expires, and the facility switches to using a new temporary MAC, which is shown here by hashes that extend in a different diagonal direction. Between points 305 and 306, a second horizontal line segment above the hashes shows that the device is connected to untrusted network 352, using the temporary MAC with which it was scanning when untrusted network 352 became available to the device. The horizontal line shows that this connection ends at point 306, when the device exits the range of untrusted network 352. The facility continues scanning with the temporary MAC used to connect to untrusted network 352 from point 306 until point 308, at which time the timer expires again and the facility switches to a third temporary MAC, with which it scans from point 308 to point 309. At point 309, the timer expires again, and the facility switches to using a fourth temporary MAC for network scanning. At point 310, the device comes in range of trusted network 361, the trustedness of which is indicated by a double circle. Between points 310 and 311, the vertical hashes and second horizontal line above them indicate that the facility connects to trusted network 361 using its native MAC. When the device reaches point 311 at the edge of trusted network 361's range, the facility switches from its native MAC to a new temporary MAC to resume scanning. It should be noted that the segment from point 305 to point 306 indicates that the facility connects to at least some untrusted networks using temporary MACs, thus depriving these untrusted networks of opportunities they would otherwise have had to learn the device's native MAC.
  • In some examples, the facility provides a computer system for interacting with wireless networks. The computer system comprises: a networking module configured to persistently store a network ID identifying the computer system; a radio configured to exchange wireless data communications with wireless networks; a network range testing subsystem configured to determine whether the computer system is in communicative range of a wireless network present on a list of approved wireless networks; and a control subsystem configured to: in response to a determination by the network range testing subsystem that the computer system is in communicative range of a wireless network present on a list of approved wireless networks, cause the radio to establish a connection with a wireless network using the network ID persistently stored by the networking module, and in response to a determination by the network range testing subsystem that the computer system is not in communicative range of a wireless network present on a list of approved wireless networks, cause the radio to establish a connection with a wireless network using a network ID different from the network ID persistently stored by the networking module.
  • In some examples, the facility provides a computer-readable medium having contents configured to cause a computing device to, in order to manage interactions by the computing device with wireless networks: access a list of trusted wireless networks; recurringly: determine whether the computing device is within communicative range of any of the trusted wireless networks on the accessed list; in response to determining that the computing device is within communicative range of any of the trusted wireless networks on the accessed list, perform a scan for available wireless networks using a native network address stored persistently in the computing device; and in response to determining that the computing device is not within communicative range of any of the trusted wireless networks on the accessed list, perform a scan for available wireless networks using a temporary network address different from the native network address stored persistently in the computing device.
  • In some examples, the facility provides a method in a computing system for interacting with data networks, the computing system having a permanent network identifier persistently stored within the computing system. The method comprises: in response to an opportunity to connect to a first data network: determining identifying information for the first data network; determining whether the determined identifying information for the first data network matches any of a set of approved data networks; in response to determining that the determined identifying information for the first data network matches one of the set of approved data networks: establishing a connection with the first data network using the computing system's permanent network identifier; conducting the established connection with the first data network using the computing system's permanent network identifier; in response to an opportunity to connect to a second data network: determining identifying information for the second data network; determining whether the determined identifying information for the second data network matches any of the set of approved data networks; in response to determining that the determined identifying information for the second data network matches none of the set of approved data networks: establishing a connection with the second data network using a temporary network identifier that is different from the computing system's permanent network identifier; and conducting the established connection with the first data network using the temporary network identifier.
  • It will be appreciated by those skilled in the art that the above-described facility may be straightforwardly adapted or extended in various ways. While the foregoing description makes reference to particular embodiments, the scope of the invention is defined solely by the claims that follow and the elements recited therein.

Claims (20)

1. A computer system for interacting with wireless networks, comprising:
a networking module configured to persistently store a network ID identifying the computer system;
a radio configured to exchange wireless data communications with wireless networks;
a network range testing subsystem configured to determine whether the computer system is in communicative range of any wireless network present on a list of approved wireless networks; and
a control subsystem configured to:
in response to a determination by the network range testing subsystem that the computer system is in communicative range of any wireless network present on a list of approved wireless networks, cause the radio to establish a connection with a wireless network using the network ID persistently stored by the networking module, and
in response to a determination by the network range testing subsystem that the computer system is not in communicative range of any wireless network present on a list of approved wireless networks, cause the radio to establish a connection with a wireless network using a network ID different from the network ID persistently stored by the networking module.
2. The computer system of claim 1 wherein the networking module is a network interface card.
3. The computer system of claim 1 wherein the network IDs are each a media access control address.
4. The computer system of claim 1 wherein the control subsystem is further configured to, in response to a determination by the network range testing subsystem that the computer system is in communicative range of any wireless network present on a list of approved wireless networks, cause the radio to scan for available wireless networks using the network ID persistently stored by the networking module.
5. The computer system of claim 1 wherein the control subsystem is further configured to, in response to a determination by the network range testing subsystem that the computer system is not in communicative range of any wireless network present on a list of approved wireless networks, cause the radio to scan for available wireless networks using any network ID different from the network ID persistently stored by the networking module.
6. The computer system of claim 5, further comprising:
a temporary network ID selection subsystem configured to recurringly select new network IDs to be used to scan for available wireless networks in response to a determination by the network range testing subsystem that the computer system is not in communicative range of any wireless network present on a list of approved wireless networks.
7. A computer-readable storage medium having contents configured to cause a computing device to, in order to manage interactions by the computing device with wireless networks:
access a list of trusted wireless networks;
recurringly:
determine whether the computing device is within communicative range of any of the trusted wireless networks on the accessed list;
in response to determining that the computing device is within communicative range of any of the trusted wireless networks on the accessed list, perform a scan for available wireless networks using a native network address stored persistently in the computing device; and
in response to determining that the computing device is not within communicative range of any of the trusted wireless networks on the accessed list, perform a scan for available wireless networks using a temporary network address different from the native network address stored persistently in the computing device; and
recurringly change the temporary network address used to scan for available wireless networks at intervals of predetermined, varying lengths.
8.-10. (canceled)
11. The computer-readable storage medium of claim 7 wherein the computer-readable storage medium has contents that further cause the computing device to:
receive user input specifying that a selected wireless network is to be added to the accessed list of trusted wireless networks; and
in response to receiving the user input, add the selected wireless network to the accessed list of trusted wireless networks.
12. The computer-readable storage medium of claim 7 wherein the computer-readable storage medium has contents that further cause the computing device to:
receive user input specifying that a selected wireless network is to be removed from the accessed list of trusted wireless networks; and
in response to receiving the user input, remove the selected wireless network from the accessed list of trusted wireless networks.
13. The computer-readable storage medium of claim 7 wherein the computer-readable storage medium has contents that further cause the computing device to:
in response to determining that the computing device is not within communicative range of any of the trusted wireless networks on the accessed list, connect to an available wireless network not on the accessed list using a temporary network address different from the native network address stored persistently in the computing device.
14. The computer-readable storage medium of claim 7 wherein the computer-readable storage medium has contents that further cause the computing device to:
in response to determining that the computing device is within communicative range of any of the trusted wireless networks on the accessed list, connect to an available wireless network not on the accessed list using the native network address stored persistently in the computing device.
15. The computer-readable storage medium of claim 7 wherein the computer-readable storage medium has contents that further cause the computing device to:
in response to determining that the computing device is within communicative range of any of the trusted wireless networks on the accessed list, connect to an available wireless network on the accessed list using the native network address stored persistently in the computing device.
16. A method in a computing system for interacting with data networks, the computing system having a permanent network identifier persistently stored within the computing system, the method comprising:
in response to an opportunity to connect to a first data network:
determining identifying information for the first data network;
determining whether the determined identifying information for the first data network matches any of a set of approved data networks;
in response to determining that the determined identifying information for the first data network matches one of the set of approved data networks:
establishing a connection with the first data network using the computing system's permanent network identifier;
conducting the established connection with the first data network using the computing system's permanent network identifier;
in response to an opportunity to connect to a second data network:
determining identifying information for the second data network;
determining whether the determined identifying information for the second data network matches any of the set of approved data networks;
in response to determining that the determined identifying information for the second data network matches none of the set of approved data networks:
establishing a connection with the second data network using a temporary network identifier that is different from the computing system's permanent network identifier;
conducting the established connection with the second data network using the temporary network identifier;
recurringly:
changing the temporary network identifier used to establish a connection with the second data network; and
delaying performance of establishing a connection with a second data network following the change in the temporary network identifier by a random amount of time.
17. The method of claim 16 wherein the permanent network identifier and temporary network identifier are both MAC addresses.
18. The method of claim 16 wherein the first and second data networks are wireless networks.
19. The method of claim 18 wherein the first and second data networks are Wi-Fi networks.
20. The computer system of claim 1 wherein the control subsystem is further configured to, in response to a determination by the network range testing subsystem that the computer system is in communicative range of any wireless network present on a list of approved wireless networks, cause the radio to scan for available networks using the network ID persistently stored by the networking module upon disconnection with a wireless network.
21. The computing system of claim 3 wherein the media access control address corresponding with the network ID different from the network ID persistently stored by the networking module is based on a media access control address of a nearby device.
22. The method of claim 17 wherein the temporary network identifier MAC address is based on a MAC address of a nearby device.
US14/788,511 2015-06-30 2015-06-30 Circumventing wireless device spatial tracking based on wireless device identifiers Active US9538461B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US14/788,511 US9538461B1 (en) 2015-06-30 2015-06-30 Circumventing wireless device spatial tracking based on wireless device identifiers
EP16742086.8A EP3318077B1 (en) 2015-06-30 2016-06-27 Circumventing wireless device spatial tracking based on wireless device identifiers
PCT/US2016/039469 WO2017003892A1 (en) 2015-06-30 2016-06-27 Circumventing wireless device spatial tracking based on wireless device identifiers
CN201680039268.3A CN107852598B (en) 2015-06-30 2016-06-27 Circumventing wireless device spatial tracking based on wireless device identifiers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/788,511 US9538461B1 (en) 2015-06-30 2015-06-30 Circumventing wireless device spatial tracking based on wireless device identifiers

Publications (2)

Publication Number Publication Date
US9538461B1 US9538461B1 (en) 2017-01-03
US20170006529A1 true US20170006529A1 (en) 2017-01-05

Family

ID=56511890

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/788,511 Active US9538461B1 (en) 2015-06-30 2015-06-30 Circumventing wireless device spatial tracking based on wireless device identifiers

Country Status (4)

Country Link
US (1) US9538461B1 (en)
EP (1) EP3318077B1 (en)
CN (1) CN107852598B (en)
WO (1) WO2017003892A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3126812C (en) * 2019-01-15 2023-07-11 Arris Enterprises Llc Improved handling of unique identifiers for stations
CN111586683B (en) * 2020-05-29 2023-12-15 上海英哈科技有限公司 Mobile radio communication device comprising two iSIMs and an interface for automatically selecting a network

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI113515B (en) 2002-01-18 2004-04-30 Nokia Corp Addressing in wireless LANs
US7185204B2 (en) 2003-08-28 2007-02-27 International Business Machines Corporation Method and system for privacy in public networks
US7433356B2 (en) 2004-05-13 2008-10-07 International Business Machines Corporation Methods and apparatus for creating addresses
US8429393B1 (en) * 2004-09-30 2013-04-23 Rockwell Automation Technologies, Inc. Method for obscuring a control device's network presence by dynamically changing the device's network addresses using a cryptography-based pattern
KR100636209B1 (en) 2004-11-12 2006-10-19 삼성전자주식회사 Method and apparatus for securing MAC address
US7706776B2 (en) 2004-12-06 2010-04-27 Meshnetworks, Inc. Scheme for MAC address privacy in infrastructure-based multi-hop wireless networks
CN101213817B (en) 2005-06-30 2011-08-03 艾利森电话股份有限公司 Mapping original MAC address of terminal to unique locally administrated virtual MAC address
US8009626B2 (en) 2005-07-11 2011-08-30 Toshiba America Research, Inc. Dynamic temporary MAC address generation in wireless networks
CN100499673C (en) * 2005-10-21 2009-06-10 华为技术有限公司 Virtual terminal temporary media access control address dynamic altering method
JP4816161B2 (en) * 2006-03-10 2011-11-16 日本電気株式会社 Wireless communication apparatus, MAC address management system, wireless communication method, and wireless communication program
KR101299792B1 (en) 2007-04-18 2013-08-23 엘지전자 주식회사 Method for performing initial ranging in OFDMA based wireless communication system
KR20100008326A (en) 2008-07-15 2010-01-25 엘지전자 주식회사 Method of supporting location privacy
WO2010120026A1 (en) 2009-04-14 2010-10-21 Lg Electronics Inc. Method for performing uncontrolled handover
US20120076072A1 (en) * 2010-09-24 2012-03-29 Marc Jalfon System and method for maintaining privacy in a wireless network
US9220007B2 (en) 2011-02-17 2015-12-22 Cisco Technology, Inc. Wireless access point MAC address privacy
US8824678B2 (en) 2011-04-05 2014-09-02 Broadcom Corporation MAC address anonymizer
US20130150035A1 (en) * 2011-04-21 2013-06-13 Qualcomm Incorporated Method and apparatus for classifying neighboring devices
US9717005B2 (en) * 2012-11-21 2017-07-25 Empire Technology Development Llc Schemes for connecting to wireless network
KR20140088354A (en) * 2013-01-02 2014-07-10 삼성전자주식회사 Connection Control Method For Access Point And Electronic Device Supporting the same
CN103368941B (en) * 2013-04-22 2017-04-05 北京奇虎科技有限公司 A kind of method and apparatus of the protection based on subscriber network access scene
US20150063205A1 (en) * 2013-08-29 2015-03-05 Brent Elliott Mobile station and method for anonymous media access control addressing
US20150103776A1 (en) * 2013-10-16 2015-04-16 Nearbuy Systems, Inc. Event driven anonymous device identifier generation
US20150281167A1 (en) * 2014-03-31 2015-10-01 Google Inc. Specifying a MAC Address Based on Location
US9668126B2 (en) * 2014-08-12 2017-05-30 Lenovo (Singapore) Pte. Ltd. Preventing location tracking via smartphone MAC address
CN105208206B (en) * 2015-08-31 2018-04-10 北京奇虎科技有限公司 Mobile terminal anti-tracking method and mobile terminal

Also Published As

Publication number Publication date
WO2017003892A1 (en) 2017-01-05
US9538461B1 (en) 2017-01-03
CN107852598B (en) 2020-11-03
CN107852598A (en) 2018-03-27
EP3318077B1 (en) 2019-04-24
EP3318077A1 (en) 2018-05-09

Similar Documents

Publication Publication Date Title
CN109803251B (en) Method and apparatus for privacy management entity selection in a communication system
KR102116401B1 (en) Cross resource subscription to M2M service layer
EP3327992B1 (en) Method of selecting network slice and system utilizing same
US9693296B2 (en) Network connection method and apparatus
US11601429B2 (en) Network service control for access to wireless radio networks
CN111343698B (en) Screen projection control method and device, wireless controller and storage medium
US10187474B2 (en) Method and device for resource sharing between devices
US9749329B2 (en) Network connection managing device, system and method
US11025621B2 (en) Enhancing privacy of network connections
US9648577B1 (en) ADSS enabled global roaming system
TW201601584A (en) Device quarantine in a wireless network
CN113938910A (en) Communication method and device
BR112015003089B1 (en) NETWORK CONNECTION METHOD AND APPLIANCES, AND COMPUTER READABLE MEDIA
US20210314156A1 (en) Authentication method, content delivery network cdn, and content server
CN111221484B (en) Screen projection method and device
US9641395B2 (en) Method of processing device discovery
US9538461B1 (en) Circumventing wireless device spatial tracking based on wireless device identifiers
CN108024306B (en) TCP connection management method and gateway equipment
US20200107185A1 (en) System and method for providing service license aggregation across multiple physical and virtual sim cards
US20240298251A1 (en) Enhanced cellular scanning
US20200120481A1 (en) Profile Prioritization In A Roaming Consortium Environment
WO2022037619A1 (en) Method and apparatus for processing authentication failure, terminal and network side device
CN109327517B (en) Method and equipment for acquiring network state of wireless access point
CN111385371B (en) MAC address acquisition method, device and equipment
WO2023185810A1 (en) Ue route selection policy (ursp) determination method, user equipment, and network-side device

Legal Events

Date Code Title Description
AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BROOKES, PAUL ANTHONY;REEL/FRAME:035943/0755

Effective date: 20150626

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8