This disclosure claims priority under 35 U.S.C. §119 to: India Application No. 3458/CHE/2013, filed Jul. 31, 2013, and entitled “Systems and Methods for Accessing a Device Using a Paired Device in its Proximity.” The aforementioned application is incorporated herein by reference in its entirety.
This disclosure relates generally to access control systems, and more particularly to systems and methods for accessing a device using a paired device in its proximity.
Consumer devices provide the ability to set security patterns for controlling access to a device. These patterns often operate like numerical passwords and may be used for either authorizing access to the entire device or for providing condition- or level-based access to functionalities of the device.
Currently, for an owner's device to be made accessible to another user, the owner of the device must share the security pattern or device password of his/her device to the user. Such sharing of information may leave the device vulnerable to abuse or unwanted usage. Such usage could include accessing personal information stored in the device, using networking features, etc. With advancements in telecommunication systems, devices are increasingly used to provide functionalities for the user associated with sensitive information. Hence, access information or security codes of a communication device are highly confidential pieces of information that should not be shared or leaked.
In one embodiment, a resource sharing method is disclosed, comprising: obtaining a proximal device identifier associated with a proximal device; identifying a proximal device profile associated with the proximal device identifier; retrieving access privilege data stored in the proximal device profile; generating, via a processor, user interface data based on the access privilege data; and providing the user interface data for display. The method may further comprise: providing, for the proximal device, an authentication key identifier and a request for user security input format data; obtaining, from the proximal device: an authentication key associated with the authentication key identifier and user security input format data. The method may also include determining that the proximal device is authenticated, based on the authentication key, and displaying a user security input interface based on the user security input format data.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles.
Exemplary embodiments are described with reference to the accompanying drawings. Wherever convenient, the same reference numbers are used throughout the drawings to refer to the same or like parts. While examples and features of disclosed principles are described herein, modifications, adaptations, and other implementations are possible without departing from the spirit and scope of the disclosed embodiments. It is intended that the following detailed description be considered as exemplary only, with the true scope and spirit being indicated by the following claims. For example, steps or processes disclosed herein are not limited to being performed in the order described, but may be performed in any order, and some steps may be omitted, consistent with the disclosed embodiments.
Proximal device user 104a may be able to unlock and utilize the resources of proximal device 102a by supplying a password or other authenticating input (e.g., finger swipe pattern, biometric identification, voice authentication, etc.) specific to proximal device 102a. For example, proximal device 102a may present a graphical user interface (UI)—a proximal device user security input UI 105—to the proximal device user 104a via an electronic display operably coupled to the proximal device 102a. The proximal device user may be able to input the password or other authenticating input using the proximal device user security input UI 105, to unlock the resources of the proximal device 102a.
With reference to
Here, an entry <f1,r> may reference a resource <f1> of resource sharing device, and the access privilege profile may specify that the proximal user having proximal user ID “John.public” that is authenticated using a proximal device with proximal device ID “01:23:45:67:89:ab” may read (“r”) for the resource <f1>. Other examples of access privileges include, without limitation, write (“w”), read and/or write (“rw”), execute (“x”), and combinations thereof (e.g., read, write, and/or execute (“rwx”)). In some embodiments, a proximal device profile may apply to a specific set of proximal user IDs associated with a proximal device (e.g., “Profile1,” “Profile2,” and “Profile4” in Table I above). In alternate embodiments, a proximal device profile may apply to any proximal user IDs associated with the proximal device (e.g., “Profile3” and “Profile 5” in Table I above).
In some embodiments, the resource sharing device 101 may present a graphical user interface (UI)—such as resource sharing device UI 106—via an electronic display operably coupled to the resource sharing device 101. The resource sharing device 101 may communicate with the proximal device 102a, and request data from the proximal device 102a such that the resource sharing device 101 can, using the received data from proximal device 102a, recreate the proximal device user security input UI 105 of the proximal device 102a via the electronic display operably coupled to the resource sharing device 101. A proximal device user 104a can provide authentication input (e.g., password, finger swipe pattern, biometric identification, voice authentication, etc.) via the proximal device user security input UI 105 of the proximal device 102a, displayed on the electronic display of the resource sharing device 101, to obtain limited access to the resources of the resource sharing device 101. When the proximal device user 104a provides the authentication input, the resource sharing device 101 may communicate with the proximal device 102a, and provide to the proximal device 102a the authentication input provided into the resource sharing device 101 by the proximal device user 104a. Using the obtained authentication input, the proximal device 102a may determine whether the proximal device user 104a is authenticated, and may communicate the results of the authentication to the resource sharing device 101. With reference to
If the resource sharing device user is authenticated (step 312; YES), the resource sharing device 101 may obtain proximal device data from the proximal device for which an access privilege profile in the resource sharing device's access privilege profile database is to be created and/or updated (step 316). The resource sharing device 101 may generate a set of random authentication keys (e.g., 128-bit encryption keys) (step 317). Using the obtained proximal device data from the proximal device, the randomly generated keys, and optionally input from the resource sharing device user 103, the resource sharing device 101 may generate or update the proximal device access privilege profile (step 318). The resource sharing device 101 may provide a public encryption key (e.g., for proximal device 102a to engage in RSA or other encryption-based communication with the resource sharing device 101) and the set of randomly-generated authentication keys for the proximal device 102a (step 319). The public encryption key may be to ensure the data exchanges are encrypted, and pool of random keys to ensure secure communication on unsecured networks, as explained further below in the description with reference to
If the user selects a traditional unlock mechanism (step 414; NO), the resource sharing device 101 may display a resource sharing device unlock UI (step 415). The user may provide a user unlock input associated with the user profile linked to the resource sharing device 101 (step 416). If the user unlock input properly unlocks the resource sharing device 101 (step 417; YES), the resource sharing device 101 may load a default resource sharing device user profile (step 419) and unlock the resource sharing device 101 for the user (step 420). If the user unlock input does not properly unlock the resource sharing device 101 (step 417; NO), the resource sharing device 101 may display an error message for the user via an electronic display operably coupled to the resource sharing device 101 (step 418). The resource sharing device 101 may return the procedure either to displaying the options UI (see step 412) or the resource sharing device unlock UI (see step 415). For example, the resource sharing device 101 may return the procedure to step 415 for a predetermined number of failed unlock attempts (e.g., three), and thereafter return the procedure to step 412.
With reference to
In response, the proximal device may provide the requested proximal device security input format data and authentication key to the resource sharing device 101 (step 426). The resource sharing device 101 may compare the obtained authentication key from the proximal device to the specific previously-provided, randomly-generated authentication key of the same number, as stored in the proximal device access privilege profile (step 427). If the keys do not match (step 428; NO), the resource sharing device 101 may provide an error notification to the proximal device (step 429), and if there is no request timeout (e.g., too many attempts), see step 430; NO, the resource sharing device 101 may return to step 425 and repeat the request for proximal device security input format data. If there is a request timeout, e.g., too many failed authentication attempts by the proximal device, the procedure may terminate, see step 430; YES.
With reference to
The proximal device 102a may determine whether the user security input is authenticated (step 434). If the user is authenticated (step 435; YES), the proximal device 102a may select an acknowledge key from the randomly-generated set of authentication keys previously provided to the proximal device 102a by the resource sharing device 101 (step 437). If the user is not authenticated (step 435; NO), the proximal device 102a may select an error key from the randomly-generated set of authentication keys previously provided to the proximal device 102a by the resource sharing device 101 (step 436). The proximal device 102a may return the selected key to the resource sharing device 101 (step 438).
With reference to
If the key returned is an acknowledge key (step 439; YES), the resource sharing device 101 may load the access privileges associated with the proximal device (and/or the proximal device user) from the appropriate proximal device profile (step 442). The resource sharing device may also unlock itself to provide access to the user (step 443).
Additional illustrative embodiments are listed below. In one embodiment, an access privilege control apparatus is disclosed, comprising: a processor; and a memory storing processor-executable instructions comprising instructions for: obtaining a proximal device identifier associated with a proximal device; determining one or more access privileges associated with the proximal device; generating access privilege data related to the one or more access privileges; generating a proximal device profile including the proximal device identifier and the access privilege data; and storing the proximal device profile. The apparatus may be, for example, a mobile device, set-top box, television, computer, or other user-interfacing device. The proximal device may be, for example, a mobile device, set-top box, television, computer, or other user-interfacing device. Access privileges may include at least one of: a data access privilege; a user profile access privilege; an application access privilege; an operating system access privilege; and/or a hardware access privilege. The proximal device identifier may be one of: a media access control (MAC) address; a computer network address; an Internet Protocol (IP) address; or any other identifier capable of uniquely identifying a device or user of a device. The access privilege data may be generated in a human-readable data format. Generating the proximal device profile may comprise: identifying a pre-existing device profile associated with the proximal device; and updating the pre-existing device profile to include the proximal device identifier and the access privilege data. The proximal device profile may be stored in a memory device included in or remote from the apparatus. The instructions may further comprise instructions for: storing a plurality of proximal device profiles related to the proximal device; wherein each of the plurality of proximal device profiles is associated with a different user account on the proximal device. The instructions may further comprise instructions for: providing, for the proximal device, a plurality of randomly-generated authentication keys associated with the proximal device profile; and storing the randomly-generated authentication keys. The instructions may further comprise instructions for providing a public encryption key for communication between the proximal device and the apparatus.
In one embodiment, an access privilege control method is disclosed, comprising: obtaining a proximal device identifier associated with a proximal device; determining one or more access privileges associated with the proximal device; generating access privilege data related to the one or more access privileges; generating a proximal device profile including the proximal device identifier and the access privilege data; and storing the proximal device profile. The apparatus performing the method may be, for example, a mobile device, set-top box, television; computer, or other user-interfacing device. The proximal device may be, for example, a mobile device, set-top box, television, computer, or other user-interfacing device. One or more access privileges may include at least one of: a data access privilege; a user profile access privilege; an application access privilege; an operating system access privilege; and/or a hardware access privilege. The proximal device identifier may be one of: a media access control (MAC) address; a computer network address; an Internet Protocol (IP) address; or any other identifier capable of uniquely identifying a device or user of a device. The access privilege data may be generated in a human-readable data format. Generating the proximal device profile may comprise: identifying a pre-existing device profile associated with the proximal device; and updating the pre-existing device profile to include the proximal device identifier and the access privilege data. The proximal device profile may be stored in a memory device included in or remote from the apparatus. The method may further comprise: storing a plurality of proximal device profiles related to the proximal device; wherein each of the plurality of proximal device profiles is associated with a different user account on the proximal device. The method may further comprise: providing, for the proximal device, a plurality of randomly-generated authentication keys associated with the proximal device profile; and storing the randomly-generated authentication keys. The method may further comprise: providing a public encryption key for communication between the proximal device and the apparatus.
In one embodiment, a non-transitory computer-readable medium is disclosed, storing computer-executable access privilege control instructions, the instructions comprising instructions for: obtaining a proximal device identifier associated with a proximal device; determining one or more access privileges associated with the proximal device; generating access privilege data related to the one or more access privileges; generating a proximal device profile including the proximal device identifier and the access privilege data; and storing the proximal device profile. The medium may be embodied in, for example, a mobile device, set-top box, television, computer, or other user-interfacing device. The proximal device may be, for example, a mobile device, set-top box, television, computer, or other user-interfacing device. One or more access privileges may include at least one of: a data access privilege; a user profile access privilege; an application access privilege; an operating system access privilege; and/or a hardware access privilege. The proximal device identifier may be one of: a media access control (MAC) address; a computer network address; and an Internet Protocol (IP) address; or any other identifier capable of uniquely identifying a computing device or user of a device. The access privilege data may be generated in a human-readable data format. Generating the proximal device profile may comprise: identifying a pre-existing device profile associated with the proximal device; and updating the pre-existing device profile to include the proximal device identifier and the access privilege data. The proximal device profile may be stored in a memory device included in or remote from the apparatus. The instructions may further comprise instructions for: storing a plurality of proximal device profiles related to the proximal device; wherein each of the plurality of proximal device profiles is associated with a different user account on the proximal device. The instructions may further comprise instructions for: providing, for the proximal device, a plurality of randomly-generated authentication keys associated with the proximal device profile; and storing the randomly-generated authentication keys. The instructions may further comprise instructions for: providing a public encryption key for communication between the proximal device and the apparatus.
Processor 502 may be disposed in communication with one or more input/output (I/O) devices via I/O interface 503. The I/O interface 503 may employ communication protocols/methods such as, without limitation, audio, analog, digital, monoaural, RCA, stereo, IEEE-1394, serial bus, universal serial bus (USB), infrared, PS/2, BNC, coaxial, component, composite, digital visual interface (DVI), high-definition multimedia interface (HDMI), RF antennas, S-Video, VGA, IEEE 802.n/b/g/n/x, Bluetooth, cellular (e.g., code-division multiple access (CDMA), high-speed packet access (HSPA+), global system for mobile communications (GSM), long-term evolution (LTE), WiMax, or the like), etc.
Using the I/O interface 503, the computer system 501 may communicate with one or more I/O devices. For example, the input device 504 may be an antenna, keyboard, mouse, joystick, (infrared) remote control, camera, card reader, fax machine, dongle, biometric reader, microphone, touch screen, touchpad, trackball, sensor (e.g., accelerometer, light sensor, GPS, gyroscope, proximity sensor, or the like), stylus, scanner, storage device, transceiver, video device/source, visors, etc. Output device 505 may be a printer, fax machine, video display (e.g., cathode ray tube (CRT), liquid crystal display (LCD), light-emitting diode (LED), plasma, or the like), audio speaker, etc. In some embodiments, a transceiver 506 may be disposed in connection with the processor 502. The transceiver may facilitate various types of wireless transmission or reception. For example, the transceiver may include an antenna operatively connected to a transceiver chip (e.g., Texas Instruments WiLink WL1283, Broadcom BCM4750IUB8, Infineon Technologies X-Gold 618-PMB9800, or the like), providing IEEE 802.11a/b/g/n, Bluetooth, FM, global positioning system (GPS), 2G/3G HSDPA/HSUPA communications, etc.
In some embodiments, the processor 502 may be disposed in communication with a communication network 508 via a network interface 507. The network interface 507 may communicate with the communication network 508. The network interface may employ connection protocols including, without limitation, direct connect, Ethernet (e.g., twisted pair 10/100/1000 Base T), transmission control protocol/internet protocol (TCP/IP), token ring, IEEE 802.11a/b/g/n/x, etc. The communication network 508 may include, without limitation, a direct interconnection, local area network (LAN), wide area network (WAN), wireless network (e.g., using Wireless Application Protocol), the Internet, etc. Using the network interface 507 and the communication network 508, the computer system 501 may communicate with devices 509, 510, and 511. These devices may include, without limitation, personal computer(s), server(s), fax machines, printers, scanners, various mobile devices such as cellular telephones, smartphones (e.g., Apple iPhone, Blackberry, Android-based phones, etc.), tablet computers, eBook readers (Amazon Kindle, Nook, etc.), laptop computers, notebooks, gaming consoles (Microsoft Xbox, Nintendo DS, Sony PlayStation, etc.), or the like. In some embodiments, the computer system 501 may itself embody one or more of these devices.
In some embodiments, the processor 502 may be disposed in communication with one or more memory devices (e.g., RAM 513, ROM 514, etc.) via a storage interface 512. The storage interface may connect to memory devices including, without limitation, memory drives, removable disc drives, etc., employing connection protocols such as serial advanced technology attachment (SATA), integrated drive electronics (IDE), IEEE-1394, universal serial bus (USB), fiber channel, small computer systems interface (SCSI), etc. The memory drives may further include a drum, magnetic disc drive, magneto-optical drive, optical drive, redundant array of independent discs (RAID), solid-state memory devices, solid-state drives, etc.
The memory devices may store a collection of program or database components, including, without limitation, an operating system 516, user interface application 517, web browser 518, mail server 519, mail client 520, user/application data 521 (e.g., any data variables or data records discussed in this disclosure), etc. The operating system 516 may facilitate resource management and operation of the computer system 501. Examples of operating systems include, without limitation, Apple Macintosh OS X, Unix, Unix-like system distributions (e.g., Berkeley Software Distribution (BSD), FreeBSD, NetBSD, OpenBSD, etc.), Linux distributions (e.g., Red Hat, Ubuntu, Kubuntu, etc.), IBM OS/2, Microsoft Windows (XP, Vista/7/8, etc.), Apple iOS, Google Android, Blackberry OS, or the like. User interface 517 may facilitate display, execution, interaction, manipulation, or operation of program components through textual or graphical facilities. For example, user interfaces may provide computer interaction interface elements on a display system operatively connected to the computer system 501, such as cursors, icons, check boxes, menus, scrollers, windows, widgets, etc. Graphical user interfaces (GUIs) may be employed, including, without limitation, Apple Macintosh operating systems' Aqua, IBM OS/2, Microsoft Windows (e.g., Aero, Metro, etc.), Unix X-Windows, web interface libraries (e.g., ActiveX, Java, Javascript, AJAX, HTML, Adobe Flash, etc.), or the like.
In some embodiments, the computer system 501 may implement a web browser 518 stored program component. The web browser may be a hypertext viewing application, such as Microsoft Internet Explorer, Google Chrome, Mozilla Firefox, Apple Safari, etc. Secure web browsing may be provided using HTTPS (secure hypertext transport protocol), secure sockets layer (SSL), Transport Layer Security (TLS), etc. Web browsers may utilize facilities such as AJAX, DHTML, Adobe Flash, JavaScript, Java, application programming interfaces (APIs), etc. In some embodiments, the computer system 501 may implement a mail server 519 stored program component. The mail server may be an Internet mail server such as Microsoft Exchange, or the like. The mail server may utilize facilities such as ASP, ActiveX, ANSI C++/C#, Microsoft .NET, CGI scripts, Java, JavaScript, PERL, PHP, Python, WebObjects, etc. The mail server may utilize communication protocols such as internet message access protocol (IMAP), messaging application programming interface (MAPI), Microsoft Exchange, post office protocol (POP), simple mail transfer protocol (SMTP), or the like. In some embodiments, the computer system 501 may implement a mail client 520 stored program component. The mail client may be a mail viewing application, such as Apple Mail, Microsoft Entourage, Microsoft Outlook, Mozilla Thunderbird, etc.
In some embodiments, computer system 501 may store user/application data 521, such as the data, variables, records, etc. (e.g., a proximal device access privilege profile database (see, e.g., Table I above), proximal device list (see, e.g.,
The specification has described systems and methods for accessing a device using a paired device in its proximity. The illustrated steps are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.
Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., be non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.
It is intended that the disclosure and examples be considered as exemplary only, with a true scope and spirit of disclosed embodiments being indicated by the following claims.
Number | Date | Country | Kind |
---|---|---|---|
3458/CHE/2013 | Jul 2013 | IN | national |