RELATED APPLICATIONThis application claims priority to and is a continuation application of U.S. patent application Ser. No. 14/312,813, filed on Jun. 24, 2014, which, claims priority to U.S. Provisional Patent Application No. 61/895,670, filed on Oct. 25, 2013, both of which are incorporated herein by reference in their entirety.
BACKGROUNDThis background description is provided for the purpose of generally presenting the context of the disclosure. Unless otherwise indicated herein, material described in this section is neither expressly nor impliedly admitted to be prior art to the present disclosure or the appended claims.
Computing devices often enter a sleep state responsive to expiration of an inactivity timeout or user input to do so. When entering a sleep state, a computing device typically locks (e.g., screen lock) to protect user data or prevent unintentional activation of one of the device's functionalities. Once in the sleep state, various components or subsystems of the computing device are powered down to reduce the device's power consumption and extend battery life.
Waking and/or unlocking the computing device, however, often requires that some components of the device remain active during, or be woken prior to leaving, the sleep state. For example, to enable entry of a personal identification number (PIN) code for device unlocking, a processor, display, and associated touch-screen require power to receive the PIN code from a user. As such, these active components draw current when the device is in the sleep state or while locked, which results in increased power consumption, reduced device runtime, and/or decreased device efficiency.
BRIEF DESCRIPTION OF THE DRAWINGSTechniques and apparatuses for sensor-based near-field communication (NFC) authentication are described with reference to the following drawings. The same numbers are used throughout the drawings to reference like features and components:
FIG. 1 illustrates an example environment in which techniques for sensor-based NFC authentication can be implemented.
FIG. 2 illustrates example device configurations capable of implementing sensor-based NFC authentication.
FIG. 3 illustrates an example stack architecture for implementing embodiments of sensor-based NFC authentication in a device.
FIG. 4 illustrates a method of sensor-based NFC authentication in accordance with one or more embodiments.
FIG. 5 illustrates another method of sensor-based NFC authentication in accordance with one or more embodiments.
FIG. 6 illustrates example method(s) for authenticating with an NFC-enabled entity using sensor-based NFC authentication.
FIG. 7 illustrates various components of an electronic device that can implement techniques for sensor-based NFC authentication.
DETAILED DESCRIPTIONConventional techniques for unlocking a device often rely on keeping active, or unnecessarily waking, various components of the device useful to perform higher-level authentication operations. These kept-active or unnecessarily-woken components, however, drain a battery of the device while the device is in a sleep state. Additionally, hardware and software interdependencies between these components and other components of the device may prevent the device from reaching lower activity states (e.g., deeper sleep state) that provide additional power-savings.
This disclosure describes techniques and apparatuses for sensor-based NFC authentication, which enable a computing device to detect, while in a low-power or sleep state, environmental variances indicating proximity of an NFC enabled-device with which to authenticate. By so doing, components of the computing device may be left in respective low-power or sleep states until initiation of an authentication process to wake and/or unlock the device.
The following discussion first describes an operating environment, followed by techniques that may be employed in this environment, and ends with example apparatuses.
Operating Environment
FIG. 1 illustrates anexample environment100 in which techniques for sensor-based NFC authentication can be implemented. Thisexample environment100 includes acomputing device102,wireless communication medium104, and near-field communication-enabled device106 (NFC device106).Computing device102 can be, or include, many different types of computing or electronic devices capable of implementing authentication operations. In this example,computing device102 is shown as a smart phone, though other devices are contemplated.Other computing devices102 may include, by way of example only, a cellular phone, notebook computer (e.g., netbook or ultrabook), smart-watch, tablet computer, personal media player, personal navigating device (e.g., global positioning system), gaming console, desktop computer, video camera, or portable gaming device.
Computing device102 includes application processor(s)108 and low-power processor110.Application processor108 may be configured as a single or multi-core processor capable of enabling various functionalities ofcomputing device102. In some cases,application processor108 includes a digital-signal processing (DSP) subsystem for processing various signals or data ofcomputing device102.Application processor108 is coupled with, and implements functionalities of, other components ofcomputing device102 as described below.
In various embodiments,application processor108 is a full-featured or high-power processor having one or more processing cores or subsystems. Each core ofapplication processor108 may have multiple operational or activity states, such as full-power, partial-power (e.g., decreased operating voltage or frequency), sleep, or off.Transitioning application processor108, or cores thereof, between these activity states, such as progressing from full-power to sleep, decreases an amount of power consumed byapplication processor108. Alternately or additionally, activity states ofapplication processor108 may correspond with respective activity states ofcomputing device102. Thus, whencomputing device102 enters a sleep state or low-power state,application processor108 can enter a sleep state or low-power state in which power is conserved.
Low-power processor110 may be configured as a low-power processor core, embedded controller, or micro-controller. Low-power processor110 is unable to implement some of the functionalities implemented byapplication processor108. In some cases, low-power processor110 lacks function-specific data interfaces, such as a dedicated communication, memory, or display interface. Low-power processor110 may include an interface to a general purpose data bus (parallel or serial) or general purpose input/outputs (GPIOs) with which to receive or transmit data.
Low-power processor110 may be implemented as a reduced-instruction set computing (RISC) processor, which has a smaller instruction set, operates at a lower frequency, or has fewer processing capabilities than theapplication processor108. For example, whenapplication processor108 is configured as a multi-core processor implementing a 32-bit instruction set, low-power processor110 may be configured as a RISC-based micro-controller that implements a 16-bit instruction set.Application processor108 and/or low-power processor110 may each be implemented separately as disparate components (shown), or implemented together as an application processor with integrated companion micro-controller (not shown).
Computing device102 includes computer readable-media112 and display114. Computer-readable media112 (CRM112) includesdevice data116 andauthenticator118, which in this example is embodied as computer-executable code stored onCRM112.Device data116 may include an operating system, firmware, or applications ofcomputing device102 that are executable byapplication processor108 and/or low-power processor110. Alternately or additionally,device data116 may include various user data, such as images, music, documents, emails, contacts, and the like.
Authenticator118 manages authentication, security, and/or cryptographic operations ofcomputing device102. By way of example,authenticator118 may lockcomputing device102 whencomputing device102 enters a sleep state and unlockcomputing device102 responsive to authenticating a user thereof. Further implementations and uses ofauthenticator118 vary and are described below in greater detail.Display114 enables user interaction with content-related applications or graphical user-interfaces ofcomputing device102. In such cases, the display may be associated with, or include, a touch sensitive input device (e.g., touch-screen) through which user input is received.Display114 can be configured as any suitable type of display, such as an organic light emitting diode (OLED) display, active matrix OLED display, liquid crystal display (LCD), in-plane shifting LCD, and so on.
Although not shown,computing device102 may also include other components to enable user interaction, such as light emitting diodes (LEDs), a vibrator (e.g., vibrational motor), and one or more speakers. These components are useful to provide alerts, notifications, or indications to a user ofcomputing device102. For example, an LED may be turned on, changed to another color, or flashed to provide a notification to a user ofcomputing device102. In other cases,computing device102 may vibrate via a vibrator or emit an audio alert via a speaker.
Computing device102 also includes near-field communication transceiver120 (NFC transceiver120) andwireless transceivers122, which includes personal-area-network transceiver124 (PAN transceiver124).NFC transceiver120 is configured to enable communication withNFC device106 in viawireless communication medium104 in accordance with various NFC standards, such as ISO 18000-3, ISO/IEC 18092, ECMA-340, ISO/IEC 21481, and ECMA 352, just to name a few.NFC transceiver120 may actively search for other NFC-enabled devices within range (e.g., 20 centimeters) with which to communicate.
Wireless transceiver(s)122 may include any suitable type of transceiver configured to communicate via a wireless network (not shown). Examples of these wireless networks include a wireless wide-area networks (WWAN), wireless local-area network (WLAN) and wireless personal-area network (wireless PAN), each of which may be configured, in part or entirely, as infrastructure, ad-hoc, or mesh networks. For example,PAN transceiver124 can be a short-range wireless transceiver configured to communicate over a wireless personal-area-network (PAN) in accordance with a Bluetooth™ protocol. The Bluetooth™ family of protocols support various communication profiles for communicating various types of data and/or enabling different feature sets between devices associated via a wireless PAN.
The Bluetooth™ family of protocols also support “pairing” between devices, which may enablecomputing device102 to associate with other devices. When initially pairing with another device,computing device102 can store self-identifying information (e.g., medium access control (MAC) address) associated with the other device in an information table (e.g., a pairing table) for future use. The information table can also store a context associated with the other device, such as an identity of a user, a mode of use forcomputing device102, or a location of the other device. For example,computing device102 may associated a particular Bluetooth™ ear-bud with a user and subsequently determine proximity with the user wheneverPAN transceiver124 is able to communicate with this particular Bluetooth™ ear-bud.
Although not shown,computing device102 may include wired data interfaces for communicating with other devices, such as an Ethernet transceiver, serial data interface, audio/video port (e.g., high-definition multimedia interface (HDMI) port), or universal serial bus (USB) port. These wired data interfaces may implemented using standard connectors or through the use of proprietary connectors and associated cables providing enhanced security or interconnect density.
Sensors126 enablecomputing device102 to sense various properties, variances, stimuli, or characteristics of an environment in whichcomputing device102 operates. In this particular example,sensors126 include motion sensor(s)128,light sensors130,acoustic sensor132, andmagnetic sensor134. Although not shown,sensors126 may also include temperature/thermal sensors, global-positioning modules, micro-electromechanical systems (MEMS), capacitive touch sensors, and so on. Alternately or additionally,sensors126 enable interaction with, or receive input from, a user ofdevice102. In such a case,sensors126 may include piezoelectric sensors, cameras, capacitive touch sensors, input sensing-logic associated with hardware switches (e.g., keyboards, snap-domes, or dial-pads), and so on.
Motion sensors128 include accelerometers or motion sensitive MEMS configured to sense movement or orientation ofcomputing device102.Motion sensors128 can sense movement or orientation in any suitable aspect, such as in one-dimension, two-dimensions, three-dimensions, multi-axis, combined multi-axis, and the like. In some embodiments,motion sensors128 enablecomputing device102 to sense gesture inputs (e.g., a series of position and/or orientation changes) made when a user movescomputing device102 in a particular way.
Light sensors130 include ambient light sensors, optical sensors, or photo-diodes configured to sense light aroundcomputing device102. Light sensors are capable of sensing ambient light or directed light, which can then be processed by a DSP or processor ofcomputing device102 to determine whether authentication should be initiated. For example, changes in ambient light may indicate that a user has picked upcomputing device102 or removedcomputing device102 from his or her pocket. In some cases, a light-emitting accessory such as a ring or bracelet may be associated with a user. In such cases,light sensors130 may detect a coded pulse of light (visible or infrared) emitted by the ring or bracelet. In some embodiments,computing device102 can identify or differentiate a user based on light or light patterns (e.g., pulses or colors) detected bylight sensors130.
Acoustic sensors132 include microphones or acoustic wave sensors configured to monitor sound of an environment thatcomputing device102 operates.Acoustic sensors132 are capable of receiving voice input of a user, which can then be processed by a DSP or processor ofcomputing device102. Sound captured byacoustic sensors132 may be analyzed or measured for any suitable component, such as pitch, timbre, harmonics, loudness, rhythm, envelope characteristics (e.g., attack, sustain, decay), and so on. In some embodiments,computing device102 identifies or differentiates a user based in input received fromacoustic sensors132.
Magnetic sensors134 include a hall-effect sensor, magneto-diode, magneto-transistor, magnetic sensitive MEMS, or magnetometers configured to sense magnetic field characteristics aroundcomputing device102.Magnetic sensors134 may sense a change in magnetic field strength, magnetic field direction, or magnetic field orientation. In some embodiments,computing device102 determines proximity with a user or another device based on input received frommagnetic sensors134.
In some embodiments,sensors126 are operably coupled with low-power processor110, which can be configured to receive input fromsensors126 while computingdevice102 is in a sleep state (e.g., low-power state). Low-power processor110 is capable of processing the input fromsensors126 to detect properties or parameters of an environment in whichcomputing device102 operates. For example, low-power processor110 can determine an orientation of, or gestures performed with,computing device102 with respect to a three-dimensional coordinate system via accelerometers. Input received fromsensors126 may also be sent to applications executing onapplication processor108 to enable environmental-based functionalities of the applications.
NFC devices106 may be, or include, many different types of circuits or electronic devices capable of communicating via NFC. In this example,NFC devices106 are shown as anNFC tag136 and NFC-enabled magnetic snap138 (NFC snap138).Other NFC devices106 may include, by way of example only, an NFC sticker, point-of-sale (POS) terminal, radio-frequency identification (RFID) tag, NFC-enabled ring, vehicle dock, charging station, authentication token, smart phone, or camera.
EachNFC device106 includes listeningcircuit140 and NFC device media142 (device media142), which may include read-only memory (ROM), random-access memory (RAM), electronically erasable programmable ROM (EEPROM), and the like. Listeningcircuit140 is configured to enable communication withcomputing device102 through NFC viawireless communication medium104. In cases in whichNFC device106 is not self-powered,NFC device106 receives power from computingdevice102 via listeningcircuit140. The power received fromcomputing device102 powers the components ofNFC device106 to enable various functionalities thereof.
Device media142 stores NFC device data144 (NFC data144), which may include any suitable type of data, such as a unique identification number of NFC device106 (e.g., serial number), tag data, uniform resource identifier (URIs), uniform resource locator, passwords, private keys, network-setup information, and so on.NFC data144 is formatted in accordance with NFC data exchange format (NDEF) or another suitable data format (e.g., proprietary or encrypted). Alternately or additionally,NFC data144 may be structured (e.g., serialized, packetized, or framed) for communication or transport using these data formats.
SomeNFC devices106 also include micro-processor(s)146 (μprocessor(s)146) and/ormagnet148. Micro-processor146 can be implemented as an embedded controller or micro-controller capable of performing various data processing tasks. Micro-processor146 may also accessdevice media142 to read, write, or otherwise manipulateNFC data144.Magnet148 generates a magnetic field that is detectable external toNFC device106 and may be any suitable type of magnet or electro-magnet, such as ferrous or rare earth (e.g., neodymium). SomeNFC devices106 may includemultiple magnets148 to provide other functionalities, such as magnetic clasping or attachment to other metallic or magnetic objects.
FIG. 2 illustratesexample device configurations200 that are capable of implementing one or more embodiments of sensor-based NFC authentication. In this particular example,computing device102 isproximate NFC device106 that includes listeningcircuit140 andNFC data144.NFC data140 includes authentication information (not shown) useful to authenticate a user ofcomputing device102. For example, when computingdevice102 is locked, transmission of the authentication information fromNFC device106 tocomputing device102 viawireless communication medium104 enables authentication of the user and unlocking ofcomputing device102.
When computingdevice102 is in a low-power state (e.g., sleep or standby),application processor108,display118, andNFC transceiver120 ofcomputing device102 are powered-down to their respective low-power states. In the context of this example, other components of computing device102 (not shown for visual brevity) may also by powered-down to their respective low-power states. Alternately or additionally, functionalities ofcomputing device102 are locked to protect user data or prevent unintentional activation of the functionalities (e.g., accidental touch dialing).
Low-power processor110, which remains in at least a semi-active state while computingdevice102 sleeps, is operably coupled withsensors126.Sensors126 may include motion sensors, light sensors, acoustic sensors, and/or magnetic sensors configured to monitor an environment in whichcomputing device102 operates. Low-power processor110monitors sensors126 to detect movement, light, sound, or magnetic field variances, which may indicate a presence of magnetically-enabled NFC devices106 (e.g., NFC snap138).
Presence of the NFC devices may be concurrent or prospective, such as within three seconds of detecting the environmental variance. The use of low-power processor110 to detect other devices enablesapplication processor108 andNFC transceiver120 to remain in low-power states, which conserves power ofcomputing device102. In the context of this example, low-power processor110 can sense, viasensors126,environmental variances202 generated by a user's gesture, changes in ambient light, light patterns, user's voice, or a magnet associated with the user (e.g., NFC snap136). In this particular example,environmental variances202 are illustrated asmulti-axial gesture204,ambient light206,voice command208, andmagnetic field210. Alternately or additionally, presence or proximity with an NFC device may be determined via a wireless transceiver. For example,PAN transceiver124 may detect a Bluetooth™ headset of a user, and determine that an NFC tag associated with the user is present.
Once the presence ofNFC device106 is detected (concurrent or prospective), low-power processor110 can wakeapplication processor108 to initiate authentication operations withNFC device106. For example, application processor can implement, viaauthenticator118, authentication operations using authentication data received fromNFC device106 viaNFC transceiver120. Alternately or additionally, application processor can turn ondisplay118 to notify a user of the initiation of authentication operations.Authenticator118 can then unlockcomputing device102 on completion of the authentication operations withNFC device106.
Leavingapplication processor108 and/orNFC transceiver120 in low-power states untilNFC device106 is detected can enable considerable power savings in acomputing device106. Alternately or additionally, the use of low-power processor110 andsensor126 to wake components that perform authentication operations may also preclude a user from having to wake computing device102 (e.g., via hardware button) or manually enter authentication information.
FIG. 3 illustrates anexample stack architecture300 for implementing embodiments of sensor-based NFC authentication in a device.Stack architecture300 includesapplication layer302,framework layer304, andhardware layer306, in which functionalities ofcomputing device102 are implemented. Applications ofcomputing device102, such asNFC authentication application308, execute viaapplication processor108 and are implemented inapplication layer302. In some cases,NFC authentication application308 is implemented by a DSP subsystem ofcomputing device102 to conserve power.NFC authentication application308 may be implemented in association withauthenticator118 to perform various authentication operations.
Applications ofapplication layer302 access data, services, and other resources ofcomputing device102 viaframework layer304.Framework layer304, or components thereof, is provided by an operating system (not shown) ofcomputing device102 that is also executed byapplication processor108. Thus, functionalities ofapplication layer302 andframework layer304 are enabled whenapplication processor108 is an active state. Alternately or additionally, partial functionalities ofapplication layer302 orframework layer304 can be implemented by a DSP subsystem whenapplication processor108 is in a sleep state.
Hardware components ofcomputing device102 are implemented inhardware layer306, which in this example includesNFC transceiver120,wireless transceivers122, andsensors126. Hardware components inhardware layer306 may operate independent of an activity state ofcomputing device102 or higher-level layers ofstack architecture300. For example, when computingdevice102 is in a low-power state,NFC transceiver120,wireless transceivers122, orsensors126 may remain powered and/or in an active state. In the context ofstack architecture300,sensors126 are monitored by low-power processor110 (not shown) whileapplication processor108 is in a low-power state.NFC interface120 may also actively search for other NFC-enabled devices while computingdevice102 orapplication processor108 is in a low-power state. Alternately or additionally, wireless transceivers122 (e.g., PAN transceiver124) may remain in a communicative state to detect wireless networks or other devices with which to communicate.
As shown bystack architecture300,environmental variances202 detected bysensors126 can initiate operations in other layers of the architecture stack. By way of example, assume thatcomputing device102 is placed in proximity (e.g., zero to five centimeters) ofNFC snap138 as shown. Also assume thatcomputing device102 is locked and in a sleep state, in whichapplication processor108 andNFC transceiver120 are also in respective low-power states. Here, low-power processor110 detects, viamagnetic sensor134,magnetic field210 generated by NFC snap138 (e.g., magnetic field caused by magnet148). Low-power processor108 then wakesapplication processor108 to enableapplication layer302 andframework layer304, which in turn enables functionalities of those layers. Alternately or additionally, any sensed combination of two or moreenvironmental variances202 may be effectivewake application processor108 to enable further processing ofenvironmental variances202 or to initiate authentication operations.
The environmental variance (change in magnetic field strength) sensed bysensors126 is communicated toNFC framework310, which then initiates communication withNFC snap138 viaNFC transceiver120 overwireless communication medium104. Here,NFC authentication application308queries NFC snap138 for authentication information with which to perform various authentication operations.NFC authentication application308 is configured to authenticate a user ofcomputing device102 or authenticate with anNFC device106 enabling higher-level interaction therewith (e.g., data exchange, streaming content, or network configuration). In the context of the present example,NFC authentication application308 authenticates a user with whichNFC snap138 is associated and unlockscomputing device102 via screen-lock framework312.
Example Techniques
The following discussion describes techniques for sensor-based NFC authentication, which enable a computing device to detect, in a low-power state, proximity of an NFC-enabled device with which to authenticate via NFC. In at least some embodiments, the computing device detects the NFC-enabled device via a sensor precluding the need for a user to initiate authentication operations. These techniques can be implemented utilizing the previously described environment, such asauthenticator118,NFC transceiver120, and/orsensors126 ofFIG. 1. These techniques include example methods illustrated inFIGS. 4-6, which are shown as operations performed by one or more entities. The orders in which operations of these methods are shown and/or described are not intended to be construed as a limitation, and any number or combination of the described method operations can be combined in any order to implement a method, or an alternate method, including any of those illustrated byFIGS. 4-6.
FIG. 4 illustrates anexample method400 of sensor-based NFC authentication in accordance with one or more embodiments.
At402, an environmental variance that indicates proximity with an NFC enabled entity is detected. The environmental variance is detected by a low-power processor of a device that is in a sleep state and/or locked. The low-power processor detects the environmental variance by monitoring a sensor, such as a motion sensor, acoustic sensor, or magnetic sensor. The NFC-enabled device may include any suitable NFC device, such as an NFC snap, NFC sticker, NFC ring, or other NFC devices described herein. Alternately or additionally, the NFC-enabled device may be configured to generate the environmental variance, such as through use of an integrated magnet or a light-emitting diode configured to generate pulse-coded light.
Consider an example in which a user locked their smart phone and possesses an NFC tag that includes their authentication information. In the context ofexample operating environment100 anddevices configurations200, computing device102 (a smart phone in this example) enters a sleep state when locked, andapplication processor108,display114,NFC transceiver120, and other components are powered-down into low-power states to conserve power. Low-power processor110 then monitorssensors126 while computingdevice102 is in the sleep state, includingmotion sensors128 for an unlock gesture oracoustic sensors134 for the user's voice.
Assume here that the user ofcomputing device102 desires to book travel arrangements via an application of computing device102 (currently locked) and that the user possesses anNFC tag136 that includes the user's authentication information. The user can initiate an unlock sequence by movingcomputing device102 to enter an unlock gesture or use a voice command to do so. Here, when the user speaks a voice command (e.g., “phone unlock”), low-power processor110 detects the spoken voice command of the user, which indicates the user's desire to unlockcomputing device102. Alternately, the user could movecomputing device102 in such a way as to enable low-power processor110 to sense an unlock gesture indicating the user's desire to unlockcomputing device102.
At404, another processor of the device is activated in response to detection of the environmental variance. As noted, this variance indicates proximity with the NFC-enabled entity. This other processor is an application processor or full-featured processor of the device that is capable of implementing authentication and communication functionalities of the device. In some cases, the other processor is a DSP subsystem of the device that consumes less power than an application processor, yet is powerful enough to implement the authentication and communication functionalities of the device.
In the context of the present example, low-power processor110 activatesapplication processor108, which in turn implementsauthenticator118 and enables functionalities ofNFC transceiver120. Other components ofcomputing device102, such asdisplay118,wireless transceivers122, and wired data interfaces may remain in low-power states to continue saving power ofcomputing device102.
At406, authentication information is received from the NFC-enabled entity via an NFC transceiver of the device. The authentication information may include a unique identification number, serial number of the NFC-enabled entity, previously transmitted random number, cryptographic hash number, or any suitable combination thereof. This authentication information enables subsequent authentication operations to be performed for verifying an identity of the NFC-enabled entity or a user in possession thereof. In some cases, the NFC transceiver of the device may be in an idle or sleep state prior to detecting the environmental variance. In such cases, the low-power processor may wake the NFC transceiver to enable communication with the NFC-enabled entity.
In the ongoing example,authenticator118 establishes NFC communications withNFC tag136 viaNFC transceiver120.Authenticator118 then queriesNFC tag136 for authentication information associated with the user ofcomputing device102. Here, assume that the authentication information includes a unique serial number ofNFC tag136 that is appended with a random number previously programmed intoNFC tag136 by computingdevice102.
At408, the NFC-enabled entity is authenticated based on the authentication information received via NFC. Authenticating the NFC-enabled entity includes comparing the received authentication information with known authentication information, which may be stored locally on the device. The authentication is performed using the other processor of the device, through which the NFC framework and authentication applications of the device are accessed. In other cases, the authentication may be performed using a DSP subsystem of the device, enabling the application processor to remain in a sleep state. Once authentication is successful, the device is woken from the sleep state to implement the operating system and application(s) of the device. Alternately or additionally, the device can be unlocked from a locked state to enable a user to access the device.
Concluding the present example,authenticator118 ofcomputing device102 compares the authentication information received fromNFC tag136 with local authentication information stored indevice data116. This local authentication information includes the serial number ofNFC tag136 and the random number thatcomputing device102 had previously programmed intoNFC tag136. Assume here that authenticator118 determines that the received authentication information matches the local authentication information.Authenticator118 then wakes the other components ofcomputing device102 and unlockscomputing device102 so that the user can access his or her email application.
FIG. 5 illustrates anotherexample method500 of sensor-based NFC authentication in accordance with one or more embodiments.
At502, a signal is received from a low-power processor of a device that is locked. The signal indicates an environmental variance at a sensor configured to monitor an environment in which the device operates. In some cases, the environmental variance is associated with a user of the device or an accessory useful to identify the user (e.g., NFC snap). The environmental variance includes movement of the device, sounds or noise around the device, or changes in a magnetic field near the device.
The low-power processor can monitor sensors of the device to determine proximity with NFC-enabled entities with which to authenticate. These sensors may include motion sensors, light sensors, acoustic sensors, magnetic sensors, capacitive touch sensors, and the like. The signal received may be received by another processor of the device that is in a sleep state or low-power state. Alternately or additionally, the signal is received by an entity associated with, and capable of waking, the other processor (e.g.,authenticator118 or a DSP subsystem).
At504, another processor of the device is woken from a low-power state in response to receiving the signal indicating the environmental variance. Prior to detecting the environmental variance, the other processor resides in the low-power state to conserve energy of the device. This other processor is an application processor or a DSP subsystem of the device, which is capable of processing the environmental variance. For example, a DSP subsystem of the device may be woken from a low-power state to process accelerometer output or sound information received by a microphone.
At506 it is determined whether the environmental variance is associated with prospective proximity with an NFC-enabled entity. The environmental variance is compared to known information to determine whether the environmental variance is associated with the NFC-enabled entity or a user of the device. For example, motion sensor data can be compared to known user-associated gestures to determine a user is attempting to initiate an unlock procedure of the device. Alternately, acoustic data can be compared to known user voice-prints or voice-profiles to determine if the sound received by the microphone is a valid user voice-command to initiate an unlock procedure of the device.
At508, the other processor is returned to a sleep state in response to determining the environmental variance is not associated with an NFC-enabled device or a user thereof. This may be responsive to a movement of the device failing to correspond with a known user gesture or captured sound failing to correspond with a known user voice-command. By so doing, power of the computing device is saved until a subsequent detection of an environmental variance and possible authentication attempt. Alternately or additionally, the determination that the environmental variance is not associated with an NFC-enabled entity may be logged for later analysis. For example, the failure and characteristics of the environmental variance may be used in calibrating the sensors of the device to reduce false-positive detections. Fromoperation508,method500 returns tooperation502 where the low-power processor resumes monitoring sensors for environmental variances or stimuli.
At510, a display of the device is activated to indicate initiation of an attempt to authenticate the NFC-enabled entity. Alternately or additionally, a vibrator or LED indicator of the device may be activated indication initiation of the attempt to authenticate. In some cases, the display may present a graphical indication of the authentication, such as a lock-screen animation, visual indication of authentication progress (e.g., progress bar), an icon identifying of the NFC-enabled entity (by name or type), and the like.
At512, authentication information of the NFC-enabled entity is received via an NFC interface of the device. The NFC interface may include an NFC transceiver, NFC resources in a stack framework layer, and an NFC application that is capable of NFC-based authentication. In some cases, the NFC interface of the device is activated from a low-power state prior to receiving the authentication information. As discussed above with respect to the other processor of the device, leaving the NFC interface in the low-power state until the NFC-enabled entity is detected permits the computing device to conserve power.
At514, authentication of the NFC-enabled entity is attempted using the authentication data received via the NFC interface. The attempt to authenticate is executed via the other processor of the device, which is capable of implementing the authentication operations. In some cases, the authentication operations are implemented by a DSP subsystem of the device, precluding the need to activate an application processor. This attempt to authenticate is performed prior to waking other components the device, enabling power to be conserved until an attempt to authenticate is successful.
At516, the device is unlocked in response to successful authentication of the NFC-enabled entity. Unlocking the device is effective to enable access to data and/or functionalities of the device. In some cases, an indication of the unlocking is presented to a user via a display or speaker, such as removal of a lock-screen or playback of an audio alert. In other cases, additional components of the device can activated from low-power states to fully wake the device prior to the unlocking. Alternately, the device may remain locked in response to not authenticating of the NFC-enabled entity.
FIG. 6 illustrates example method(s)600 for authenticating with an NFC-enabled entity using sensor-based NFC authentication.
At602, a sensor is monitored via a low-power processor of a computing device for environmental variances or stimuli. The sensor is monitored while the computing device, and other components thereof, are in respective low-power or sleep states. The computing device may also be locked to prevent unauthorized access of user data or functionalities of the computing device. In some cases, the low-power processor is unable to implement functionalities enabled by the other processor, such as authentication and/or communication.
At604, proximity of an NFC-enabled entity is detected responsive to a particular environmental variance. Proximity with the NFC-enabled entity may be immediate or prospective (i.e., forthcoming, impending, or expected), such as when a user initiates an NFC authentication procedure via the particular environmental variance. The environmental variance may include movement, light, sound, changes in magnetic field characteristics, or any suitable combination thereof.
By way of example only, the environmental variance may include a gesture made with the computing device, a voice-command of a user of the computing device, or a magnetic field change caused by a magnet associated with an NFC authentication accessory of the user. When implemented as an accessory, the NFC-enabled entity is can be embodied as a ring, magnetic snap, token, watch, bracelet, identification card, and the like. Once proximity with the NFC-enabled entity is detected, the NFC-enabled entity may be momentarily “tapped” against the computing device or remain in close proximity for an extended period of time to enable subsequent authentication.
Alternately or additionally, proximity of an NFC-enabled entity can be detected responsive to a wireless transceiver detecting or associating with a known network or another device. For example, detection of a user's Bluetooth™ headset by a Bluetooth™ radio of the computing device can indicate prospective proximity with an NFC-enabled entity also associated with the user.
At606, another processor of the computing device is woken from a sleep state to authenticate with the NFC-enabled entity. The other processor is woken in response to detection of the NFC-enabled entity. In some cases, the environmental variance is processed or analyzed with the other processor to verify an identify of a user associated with the NFC-enabled entity. This other processor is an application processor or full-featured processor of the computing device that is capable of implementing authentication and communication functionalities of the device. In some cases, the other processor is a DSP subsystem of the computing device that is capable of implementing the authentication and communication functionalities, yet may not be powerful enough to fully wake the device.
Optionally at608, initiation of an authentication process is indicated to a user of the computing device. The initiation of the authentication may be indicated using any suitable user-perceptible output of the computing device, such as a display, LED indicator, vibrator, speaker, and the like. For example, the computing device may vibrate in a pulsed manner, emit an audio alert, or blink an LED indicator to alert the user of the authentication process. The indication may be effective to preclude the user from having to manually wake the phone to verify authentication status or re-initiate contact with the NFC-enabled entity.
At610, authentication information is received from the NFC-enabled entity via an NFC communication interface (e.g., NFC transceiver120). The authentication information may include a unique identification number, serial number of the NFC-enabled entity, previously transmitted random number, cryptographic hash number, or any suitable combination thereof. This authentication information enables subsequent authentication operations to be performed for verifying an identity of the NFC-enabled entity or a user in possession thereof.
At612, authentication with the NFC-enabled entity is attempted based on the authentication information. The authentication attempt is executed via the other processor of the computing device. This attempt to authenticate can be performed prior to fully waking the computing device, enabling power to be conserved until a determination is made to unlock the device. Fromoperation612,method600 proceeds tooperation614 responsive to successfully authenticating with the NFC-enabled device, or proceeds tooperation616 responsive to an unsuccessful attempt to authenticate with the NFC-enabled device.
At614, the computing device is unlocked in response to authenticating with the NFC-enabled entity. Unlocking the computing device is effective to enable access to user data or functionalities of the computing device that were previously inaccessible. Prior to unlocking, the computing device and other components thereof may be awoken or activated from their respective low-power or sleep states.
At616, the other processor is returned to a sleep state in response to not authenticating with the NFC-enabled entity. By so doing, power of the computing device is saved until a subsequent attempt of authentication. Alternately or additionally, the failure to authenticate with the NFC-enabled entity may be logged for later analysis. For example, the failure and associated identification information of the NFC-enabled entity may presented when a user unlockscomputing device102 to alert the user of possible attempts by unknown entity to access the device. Fromoperation616,method600 returns tooperation602 where the low-power processor resumes monitoring the sensors for environmental variances of stimuli.
Example Electronic Device
FIG. 7 illustrates various components of an exampleelectronic device700 that can be implemented as a computing device as described with reference to any of the previousFIGS. 1-6. The device may be implemented as any one or combination of a fixed or mobile device, in any form of a consumer, computer, portable, user, communication, phone, navigation, gaming, messaging, Web browsing, paging, media playback, and/or other type of electronic device, such as thecomputing device102 described with reference toFIG. 1.
Electronic device700 includescommunication transceivers702 that enable wired and/or wireless communication of device data704, such as received data and transmitted data. Example communication transceivers include wireless personal area network (WPAN) radios compliant with various IEEE 802.15 (Bluetooth™) standards, wireless local area network (WLAN) radios compliant with any of the various IEEE 802.11 (WiFi™) standards, wireless wide area network (WWAN, 3GPP-compliant) radios for cellular telephony, wireless metropolitan area network (WMAN) radios compliant with various IEEE 802.16 (WiMAX™) standards, and wired local area network (LAN) Ethernet transceivers.Electronic device700 also includesNFC transceiver706, such asNFC transceiver120 as described above, to enable NFC communication with other devices or listener circuits.
In embodiments, theelectronic device700 includes low-power processor708, such as low-power processor110 described with reference toFIG. 1. The electronic device800 may also includesensors710, such asmotion sensor128,light sensor130,acoustic sensor132, and/ormagnetic sensor134 described with reference toFIGS. 1 and 2. The low-power processor708,NFC transceiver706, andsensors710 can be implemented to facilitate sensor-based NFC authentication. For example, when theelectronic device700 enters a sleep or low-power state, low-power processor708 andsensors710 can be leveraged to detect, while more-powerful processors and other subsystems ofelectronic device700 remain powered-down, environmental variances indicative of other devices with which to authenticate.
Electronic device700 may also include one or moredata input ports710 via which any type of data, media content, and/or inputs can be received, such as user-selectable inputs, messages, music, television content, recorded video content, and any other type of audio, video, and/or image data received from any content and/or data source.Data input ports710 may include USB ports, coaxial cable ports, and other serial or parallel connectors (including internal connectors) for flash memory, DVDs, CDs, and the like. These data input ports may be used to couple the electronic device to components, peripherals, or accessories such as keyboards, microphones, or cameras.
Electronic device700 of this example includes processor system712 (e.g., any of application processors, microprocessors, digital-signal-processors, controllers, and the like), or a processor and memory system (e.g., implemented in a SoC), which process (i.e., execute) computer-executable instructions to control operation of the device. Processor system712 (processor(s)712) may be implemented as an application processor or full-power processor, such asapplication processor108 described with reference toFIG. 1. A processing system may be implemented at least partially in hardware, which can include components of an integrated circuit or on-chip system, digital-signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), a complex programmable logic device (CPLD), and other implementations in silicon and/or other hardware. Alternatively or in addition, the electronic device can be implemented with any one or combination of software, hardware, firmware, or fixed logic circuitry that is implemented in connection with processing and control circuits, which are generally identified at714 (processing and control714). Although not shown,electronic device700 can include a system bus, crossbar, or data transfer system that couples the various components within the device. A system bus can include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and/or a processor or local bus that utilizes any of a variety of bus architectures.
Electronic device700 also includes one ormore memory devices716 that enable data storage, examples of which include random access memory (RAM), non-volatile memory (e.g., read-only memory (ROM), flash memory, EPROM, EEPROM, etc.), and a disk storage device. Memory device(s)716 provide data storage mechanisms to store the device data704, other types of information and/or data, and various device applications718 (e.g., software applications). For example,operating system720 can be maintained as software instructions withinmemory device716 and executed byprocessors712. In some aspects,authenticator722 is embodied inmemory devices716 ofelectronic device700 as executable instructions or code. Although represented as a software implementation,authenticator722 may be implemented as any form of a control application, software application, signal-processing and control module, firmware that is installed on the device, a hardware implementation of the controller, and so on.
Electronic device700 also includes audio and/orvideo processing system724 that processes audio data and/or passes through the audio and video data toaudio system726 and/or to displaysystem728.Audio system726 and/ordisplay system728 may include any devices that process, display, and/or otherwise render audio, video, display, and/or image data. Display data and audio signals can be communicated to an audio component and/or to a display component via an RF (radio frequency) link, S-video link, HDMI (high-definition multimedia interface), composite video link, component video link, DVI (digital video interface), analog audio connection, or other similar communication link, such asmedia data port730. In some implementations,audio system726 and/ordisplay system728 are external components toelectronic device700. Alternatively or additionally,display system728 can be an integrated component of the example electronic device, such as part of an integrated touch interface. As described above,authenticator722 may usedisplay system728, or components thereof, in some aspects of sensor-based NFC authentication. For example, whenelectronic device700 is in a sleep or low-power state,authenticator722 may activatedisplay system728 to indicate initiation of an authentication process to a user while other components ofelectrical device700 remain in a low-power state.
Although embodiments of sensor-based NFC authentication have been described in language specific to features and/or methods, the subject of the appended claims is not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as example implementations of sensor-based NFC authentication.