US20160337347A1 - Secondary device as key for authorizing access to resources - Google Patents
Secondary device as key for authorizing access to resources Download PDFInfo
- Publication number
- US20160337347A1 US20160337347A1 US15/220,331 US201615220331A US2016337347A1 US 20160337347 A1 US20160337347 A1 US 20160337347A1 US 201615220331 A US201615220331 A US 201615220331A US 2016337347 A1 US2016337347 A1 US 2016337347A1
- Authority
- US
- United States
- Prior art keywords
- client device
- resource
- primary client
- primary
- distribution rule
- 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.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/107—Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/068—Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Definitions
- Managing access to enterprise resources by network-connected devices is critical to ensure that only authenticated and authorized users and devices gain access to sensitive information or services. To date, this has typically been accomplished by utilizing network firewalls, reverse proxy servers with authentication, and encrypted VPN tunnels.
- enterprise resources are being moved out of enterprise-managed data centers and into the “Cloud.”
- These cloud-based network environments may not provide the configurability and customization necessary to sufficiently protect enterprise resources. For instance, protecting enterprise-managed data centers at a device level can be problematic. Cloud-based data services often do not provide the necessary features to allow enterprises to manage access to the services at a device level.
- a client side application executed on a client device may transmit a request to an authorization service for access to a resource.
- the authorization service may then authenticate user credentials and/or a device identifier received from the client side application. Authenticating the user credentials and/or the device identifier may include determining that the user credentials and/or the device identifier is/are associated with the resource.
- the client side application may then receive from the authorization service an indication that the client device must comply with a distribution rule associated with the resource, where the distribution rule requires a specified secondary client device to be in communication with the client device as a prerequisite to accessing the resource.
- the fact that the specified secondary client device is in communication with the client device is all that is required to authorize the client side application (with the user and/or client device having been previously authenticated) to access the resource, which may be accessed by the client device from an enterprise server or from the local memory of the client device.
- the client side application determines that the client device complies with the distribution rule and then communicates with the secondary client device to gain access to the secure copy of the resource. In some cases this involves the client side application receiving from the secondary client device an authorization credential to be used for receiving authorization to access the resource. In some embodiments, the client side application may transmit the authorization credential to a distribution service that will provide authorization to access the resource upon authenticating the authorization credential.
- the resource is stored in a secure format in a memory of the client device and the authorization credential received from the secondary client device is used to access the resource from the memory.
- the secondary client device may receive the authorization credential from the authorization service after the authorization service authenticates user credentials and/or a device identifier received from the secondary client device. This authentication may include determining that the user credentials and/or the device identifier received from the secondary client device is/are associated with the resource.
- the authorization service further determines whether the secondary client device complies with additional distribution rules associated with the resources and/or the authorization credential.
- the authorization credential may be at least one of a PIN, a key, a password, a certificate, and a token.
- the client device may transmit the secure resource to the secondary device and receive an accessible copy of the resource from the secondary client device.
- the secondary client device may receive the authorization credential required for accessing secure resource from the authorization service.
- the authorization credential may be provisioned in the secondary client device.
- FIG. 1 is a block diagram of a networked environment according to certain embodiments.
- FIG. 2 is a flowchart illustrating an example of a method performed by a client side application attempting to access a resource stored on an enterprise server.
- FIG. 3 is a flowchart illustrating another example of a method performed by a client side application attempting to access a resource stored on an enterprise server.
- FIG. 4 is a flowchart illustrating an example of a method performed by an authorization service for authorizing or denying access to resources.
- FIG. 5 shows schematic block diagrams illustrating certain components of an enterprise server and a client device employed in the networked environment of FIG. 1 .
- the system comprises an enterprise server, a primary client device and at least one secondary client device configured as described herein.
- the enterprise server may store or otherwise control access to resources, such as data, databases, application programs and application files, text files, word processor files, spreadsheet files, presentation files, graphic files, audio files, photographic files, video files and/or the like.
- the enterprise server may execute an authorization service for determining whether to authorize access to resources.
- the enterprise server may also execute a distribution service for providing resources to the client device(s) or providing the client device(s) with access to resources.
- a user operates a primary client device and executes a client side application that attempts to access at least one resource hosted on the enterprise server.
- the authorization service may first attempt to authenticate user credentials associated with the user of the primary client device and/or a device identifier that uniquely identifies the primary client device.
- User credentials may include one or more of a user name and password, biometric data, and/or other data used to identify the user.
- the device identifier may be a unique hardware identifier such as a GUID (Globally Unique Identifier), UUID (Universally Unique Identifier), UDID (Unique Device Identifier), serial number, IMEI (Internationally Mobile Equipment Identity), Wi-Fi MAC (Media Access Control) address, Bluetooth MAC address, a CPU ID, and/or the like, or any combination of two or more such hardware identifiers. Additionally, the device identifier may be represented by a unique software identifier such a token or certificate, based at least in part on the aforementioned unique hardware identifiers.
- the authorization service may require a secondary client device, which may be a specific client device or one of a group of specific client devices (collectively referred to herein as a “key device”) to be in communication with the primary client device as a prerequisite to accessing the requested resource(s). If the primary client device is in communication with the key device, the primary client device may then be authorized to access the resources. Alternatively, the primary client device may be required to interact with the key device to gain access to the requested resource(s), as described herein.
- a secondary client device which may be a specific client device or one of a group of specific client devices (collectively referred to herein as a “key device”) to be in communication with the primary client device as a prerequisite to accessing the requested resource(s). If the primary client device is in communication with the key device, the primary client device may then be authorized to access the resources. Alternatively, the primary client device may be required to interact with the key device to gain access to the requested resource(s), as described herein.
- the primary client device may obtain from the key device an authorization credential, such as a decryption key, PIN, password, certificate and/or token, etc., required for access to the requested resource(s).
- the primary client device may provide the authorization credential to the authorization service or the distribution service to gain access to the requested resource(s).
- the authorization service may instruct the distribution service to provide the requested resource(s) to the primary client device in an encrypted or otherwise secure format.
- the primary client device may obtain a decryption key or another authorization credential from the key device, which may be used to decrypt the resource(s) or otherwise access the resource(s).
- the primary client device may transfer the encrypted or otherwise secure resource(s) to the key device, which may decrypt or otherwise render the resource(s) accessible (unsecure) and return the unsecure resource(s) to the primary client device.
- the key device may already be provisioned with a copy of the decryption key or other applicable authorization credential, or may obtain the decryption key or other authorization credential from the authorization service.
- FIG. 1 illustrates an example of networked environment 100 according to various embodiments.
- the networked environment 100 includes an enterprise server 103 , a primary client device 106 , at least one secondary client device (which functions as the key device 108 ) and a network 109 .
- the network 109 may be or include, for example, any type of wireless network such as a wireless local area network (WLAN), a wireless wide area network (WWAN) or any other type of wireless network now known or later developed. Additionally, the network 109 may be or include the Internet, intranets, extranets, microwave networks, satellite communications, cellular systems, PCS, infrared communications, global area networks, or other suitable networks, etc., or any combination of two or more such networks.
- the network 109 facilitates transmission of communications and resources between one or more client devices 106 , 108 and the enterprise server 103 .
- a client device 106 , 108 may be a desktop computer, a laptop computer, a personal digital assistant, a cellular telephone, a set-top box, a music player, a web pad, a tablet computer system, a game console, and/or another device with like capability.
- a client device 106 , 108 may include a wired network connectivity component (not shown in FIG. 1 ), for example, an Ethernet network adapter, a modem, and/or the like.
- a client device 106 , 108 may further include a wireless network connectivity interface (not shown in FIG.
- a client device 106 , 108 may thus be operable to communicate via wired connection with the enterprise server 103 with the aid of the wired network connectivity component.
- a client device 106 , 108 may be further operable to communicate wirelessly with the enterprise server 103 with the aid of the wireless network connectivity component.
- a client device 106 , 108 may further comprise a memory for storing data and application programs, a processor for executing application programs and other executable instructions stored in the memory, and a local interface such as a bus, as will be described with respect to FIG. 5 .
- a client device 106 , 108 may also include a display 116 , 118 for rendering user interfaces 129 , 131 .
- the memory of the client device 106 , 108 may contain a data store 113 , 115 . In certain embodiments, the data store 113 , 115 may store certain data and application programs.
- the data store 113 may store a device profile 119 , user credentials 127 , a device identifier 128 , an application program for accessing and managing access to resources (referred to herein as a “client side application” 123 ), as well as other application programs and data.
- the data store 115 may store a device identifier 156 , an application program for enabling or facilitating access to resources (referred to herein as a “key application” 163 ), as well as other application programs and data.
- the device profile 119 may indicate various hardware, software, and security attributes or other configurations of the primary client device 106 .
- the device profile 119 may indicate hardware specifications of the primary client device 106 , version and configuration information of various software programs and hardware components installed, enabled and/or executing on the primary client device 106 , transport protocols enabled on the primary client device 106 , version and usage information of various other resources stored on the primary client device 106 , and/or any other attributes associated with the state of the primary client device 106 .
- the information included in the device profile 119 and other data stored on or accessible to the primary client device may be used to verify that the primary client device 106 complies with one or more distribution rule(s) 145 that may be associated with certain resources 139 .
- Distribution rules 145 may specify certain hardware, software and other device parameters or configurations with which the primary client device 106 or any other client device must comply before it will be authorized to access any resources 139 associated with such distribution rules 145 .
- a distribution rule 145 associated with a resource 139 may specify that the primary client device 106 must be in communication with a key device 108 as a prerequisite to the client side application 123 or any other application program executed by the primary client device 106 gaining access to that resource 139 .
- the resource 139 may not be provided or made accessible to the client side application 123 unless and until compliance with the distribution rule 145 is confirmed.
- the client side application 123 will be authorized to access the resource 139 as long as the primary client device 106 is in communication with the key device 108 .
- the authorization service 136 may facilitate access to the resource 139 by the client side application 123 , for example via the distribution service 137 .
- the authorization service 136 or may authorize or enable the client side application 123 to access the resource 139 from the local memory of the primary client device.
- the phrase “in communication” is meant in its broadest sense, i.e., that at least one signal transmitted by one device is received by another device. An active two-way communication session is not required.
- one client device e.g., the key device 108
- the client side application 123 will be required to interact with the secondary client device 106 to gain access to the resource 139 .
- the client side application 123 may receive an authorization credential 166 from a key application 163 executed on the key device 108 and may then provide it to the distribution service 137 or authorization service 136 .
- the resource 139 may be provided to the client side application 123 in a secure format (e.g., encrypted, password protected, etc.) and the client side application 123 will be required to cooperate with the key application 163 executed by the key device 108 to gain access to the secure resource 139 .
- the key application 163 may be configured for retrieving applicable authorization credentials (e.g., decryption keys, PINs, passwords, certificates, and/or tokens, etc.) from the data store 115 of the key device 108 or may request such items from the authorization service 136 as needed.
- applicable authorization credentials e.g., decryption keys, PINs, passwords, certificates, and/or tokens, etc.
- the client side application 123 may be executed to transmit to the enterprise server 103 a request 153 for access to at least one resource 139 .
- the client side application 123 may also include functionality for rendering a user interface 129 on the display 116 and for displaying resources 139 therein.
- the client side application 123 may render an interface that presents an array of resources 139 in a single view, such as in a category-based tree or outline format.
- the client side application 123 may also include functionality for receiving and responding to user input commands generated by various input/output devices.
- the client side application 123 may be a secure container program that may be authorized to receive and render selected resources 139 .
- the secure container program may also execute other application programs within its secure environment, where such application programs are stored locally on the client device 106 and/or on the enterprise server 103 or another network device.
- such other applications may include web browsing applications, email applications, instant messaging applications, and/or other applications capable of receiving and/or rendering resources 139 on the display 116 .
- the client side application 123 may be configured with instructions for communicating with and executing commands received from the authorization service 136 for performing the authorization methods described herein. Such instructions may be included in or called by the program code of the client side application 123 or may be provided by a wrapper applied to the client side application 123 .
- key device 108 may continuously and/or periodically broadcast an authorization indication (such as a location identifier and/or key device identifier 156 ) via network 109 .
- key device 108 may provide such an authorization indication to primary client device 106 upon a manually triggered request from a user of primary client device 106 and/or upon detection of primary client device 106 within a configurable proximity to key device 108 and/or a geographic location served by key device 108 .
- Client device 106 may then create a registration key according to various criteria, such as the authorization indication, user credentials 127 , and/or device characteristic and properties, such as primary client device identifier 128 .
- This registration key may then be provided to enterprise server 103 and/or key device 108 in order to register the primary client device 106 for access to resource(s) 139 .
- Such registration may comprise entry of the registration key in a registration database or other tracking table and may require evaluation of the primary client device 106 with respect to compliance rules and/or distribution rules 145 .
- authorization credentials 166 may be provided to primary client device 106 to enable access to resource(s) 139 .
- the compliance of primary client device 106 with the application compliance and/or distribution rules 133 may be evaluated on a periodic basis and/or each time primary client device 106 requests access to resource(s) 139 .
- the authorization credentials may comprise compliance restrictions such as a requirement for primary client device 106 to remain within a configurable proximity of key device 108 in order to continue and/or request further access to resource(s) 139 .
- the authorization credentials 166 may comprise an expiration time; such an expiration time may comprise a fixed time and/or date that the authorization credentials 166 expire and/or a duration of time from the provision of the authorization credentials 166 .
- the enterprise server 103 may comprise, for example, a server computer or any other system providing and authorizing access to resources 139 .
- a plurality of enterprise servers 103 may be employed that are arranged, for example, in one or more server banks or computer banks or other arrangements.
- a plurality of enterprise servers 103 together may comprise a cloud computing resource, a grid computing resource, and/or any other distributed computing arrangement.
- Such enterprise servers 103 may be located in a single installation or may be distributed among many different geographic locations.
- the enterprise server 103 is referred to herein in the singular. Even though the enterprise server 103 is referred to in the singular, it is understood that a plurality of enterprise servers 103 may be employed in the arrangements as described herein.
- the enterprise server 103 may execute various application programs, services and other processes.
- the enterprise server 103 may execute the authorization service 136 and a distribution service 137 that distributes resources 139 to client devices 106 or otherwise provides client devices 106 with access to resources 139 .
- the authorization service 136 may be executed on one or more other network devices, such as a proxy server and/or a compliance server.
- the functions of and processes performed by the authorization service 136 described herein may be distributed among a plurality of different services, including an authentication service for authenticating user and device credentials and/or a compliance service for determining whether primary client device 106 and other client devices (e.g., the key device 108 ) complies with resource distribution rules and other requirements.
- certain data may be stored in a data store 133 that is contained in or otherwise accessible to the enterprise server 103 .
- the illustrated data store 133 may be representative of a plurality of data stores, as can be appreciated.
- the data store 133 may utilize strong encryption standards to protect against unauthorized access.
- the data store 133 may utilize the Advanced Encryption Standard (AES-256) or Standard Hash Algorithm (SHA-1) or any similar strong encryption standard commonly utilized for server-side data storage.
- AES-256 Advanced Encryption Standard
- SHA-1 Standard Hash Algorithm
- the data stored in the data store 133 includes resources 139 , a listing of approved device identifiers 146 , a listing of approved user credentials 147 , a listing of key device identifiers 149 and distribution rules 145 .
- the approved user credentials 147 represents user credentials that have been previously approved for accessing certain resources 139 .
- the listing of approved device identifiers 146 represents a listing of device identifiers that have been previously approved for accessing certain resources 139 .
- user credentials 127 and device identifiers 128 received from the primary client device 106 are authenticated by comparing them to the listing of approved user credentials 147 and the listing of approved device identifiers 146 , respectively.
- the data store 133 may store a listing of approved pairings of user credential and identifiers and the authentication process may involve determining whether the user credentials 127 and the device identifiers 128 received from primary client device 106 match any of the approved pairings.
- the key device 108 and/or its user may be authenticated in the same way.
- the listing of key device identifiers 149 represents a listing of key devices that may be required to be in communication with the primary client device 106 in order to “unlock” access to certain resources 139 .
- a primary client device 106 is a laptop computer or a tablet computer
- a key device 108 may be, for instance, the user's mobile phone. Any secondary client device capable of executing the key application 163 for obtaining and providing authorization credentials 166 and/or accessing secure resources may function as the key device 108 .
- a service provider or network administrator responsible for maintaining the security of the resources 139 on the enterprise server 103 may specify which secondary client device(s) may function as the key device 108 for a particular user and/or primary client device 106 .
- more than one key device 108 may be specified and/or required for compliance with a distribution rule 145 .
- the authorization service 136 may receive from the primary client device 106 a request 153 to access certain resources 139 .
- the request 153 may include or be sent along with user credentials 127 , a device identifier 128 and/or an indication of the requested resource(s) 139 .
- the authorization service 136 may request some or all of such information from the primary client device 106 in response to receiving the access request 153 .
- the authorization service 136 authenticates the user credentials 127 and/or the device identifier 128 , as described.
- the authorization service 136 may also require the primary client device 106 to comply with certain distribution rules 145 before it authorizes the primary client device 106 to access the requested resource(s) 139 .
- the information required for the compliance check may be included, for example, in the device profile 119 or otherwise stored in the data store 113 of the primary client device 106 . In some cases, the information required for this compliance check may be provided by the primary client device 106 to the authorization service 136 as part of or along with the access request 153 . In some cases, the authorization service 136 may request such information from the primary client device 106 when requesting user credentials 127 and/or the device identifier 128 or in response to authenticating the user credentials 127 and/or the device identifier 128 .
- one or more distribution rules 145 or associated key device identifiers 149 may be provided to the primary client device 106 so that an application program (e.g., the client side application 123 ) or other process executed by the primary client device 106 may perform the compliance check.
- the requested resource(s) 139 may not be provided to or otherwise made accessible to the primary client device 106 until the authorization service 136 receives a notice from the primary client device 106 confirming compliance.
- the requested resource(s) 139 may be provided to or accessed by the primary client device 106 in a secure format before the compliance check is performed (e.g., the applicable distribution rule(s) 145 or key device identifier(s) 149 may be provided contemporaneously with the secure resource(s) 139 ), but the client side application 123 or other application executed by the primary client device 106 may not have the authorization credential 166 required to access or use the resource(s) 139 .
- a distribution rule 145 associated with at least one requested resource 139 may specify that a key device 108 (which may be identified by a key device identifier 149 ) must be in communication with the primary client device as a prerequisite to accessing the requested resource(s) 139 .
- the client side application 123 or another process executed by the primary client device 106 may be configured for receiving the distribution rule 145 or key device identifier 149 and determining whether the specified key device 108 is in communication with the primary client device 106 .
- Communication between the key device 108 and the primary client device 106 may be via any suitable wired or wireless network 109 or any direct wired or wireless communication link 107 between the devices.
- a direct wireless connection 107 may be achieved WiFi, Bluetooth, infrared signal exchanges, Near Field Communication, or any other suitable direct wireless communication link.
- the authorization service 136 may instruct the distribution service 137 to provide the resource(s) 139 in a secure format or provide access to the secure resource(s) 139 to the client side application 123 contemporaneously with the distribution rule 145 or key device identifier 149 .
- the client side application 123 may be configured to interact with the key application 163 executed by the key device 108 to gain access to the secure resource 139 , as described.
- the client side application 123 may be configured to receive an authorization credential 166 from the key application 163 and to provide that authorization credential 166 to the distribution service 137 or the authorization service 136 (which may pass the authorization credential to the distribution service 137 on behalf of the client side application 123 ) in order to gain access to the requested resource(s) 139 .
- FIG. 2 is a flowchart illustrating an example of a method performed by a client side application 123 attempting to access a resource 139 .
- the method begins at start step 202 , where the client side application 123 is executed and determines (e.g., in response to a user input command or other run-time requirement) that it requires access to one or more resources 139 , which may be stored on the enterprise server 103 or locally on the primary client device 106 .
- the client side application 123 transmits a request 153 to the enterprise server 103 (or directly to the authorization service 139 , for example, in cases where its port is known to the client side application 123 or other process executed by the primary client device 106 ) for access to the required resource(s) 139 .
- the request may include user credentials 127 , a device identifier 128 and/or an indication of the resource(s) 139 to which access is requested.
- the method moves to step 206 , where the client side application 123 receives a distribution rule 145 (or the key device identifier 149 associated therewith), requiring confirmation that a key device 108 is in communication with the primary client device 106 .
- the client side application 123 determines whether the specified key device 108 is in communication with the primary client device 106 . This of course may be done by checking all active communication ports, communication links, and potential communication pairings, etc. to determine the identity (e.g., by way of device identifiers) of any device in communication with the primary client device 106 . In some embodiments, the client side application 123 or other process executed by the primary client device 106 determines that the primary client device 106 is in communication with the key device 108 by matching the key device identifier 149 with the device identifier 156 of the key device 108 .
- step 208 If it is determined in step 208 that the primary client device 106 is not in compliance with the distribution rule 145 , the method moves to step 210 where a notice of noncompliance is transmitted to the authorization service 136 (and may be displayed on the display 116 for the user). From step 210 , the method ends at step 220 .
- step 208 if it is determined in step 208 that the primary client device 106 is in compliance with the distribution rule 145 , the method proceeds to step 211 , where a determination is made as to whether further authorization is required for the client side application 123 to access the resource(s) 139 .
- compliance with the distribution rule 145 may require only that the primary client device 106 is in communication with the key device 108 and, if that is confirmed, the authorization service 136 may provide authorization for the client side application 123 to access the resource(s) 139 .
- the client side application 123 may need a further authorization credential 166 to access resource(s) 139 via the distribution service 137 or to access secure resource(s) 139 stored locally on the primary client device 106 .
- step 211 determines whether further authorization is not required. If it is determined in step 211 , that further authorization is not required, the method moves to step 216 where the client side application 123 receives authorization to access to the requested resource(s) 139 . However, if it is determined in step 211 , that further authorization is required, the method moves to step 212 , where an authorization credential 166 is received from the key device 108 (e.g., by the key application 163 ). As described, the authorization credential 166 may be stored in the data store 115 of the key device 108 , or the key application 163 may be configured to request it from the authorization service 136 .
- step 214 the client side application 123 transmits the authorization credential 166 to the distribution service 137 or the authorization service 136 and in step 216 , if the authorization credential is authenticated, receives authorization to access to the requested resource(s) 139 . From step 216 , the method ends at step 220 .
- the requested resource(s) 139 may have previously been stored in the data store 113 of the primary client device 106 , but the client side application 123 may not have been able to access the resource(s) until receiving authorization from the authorization service 136 or until receiving the authentication credential 166 from the key device 108 , by way of above described or similar method.
- the state of the primary client device 106 may be modified after the client side application 123 is authorized to access certain resources 139 .
- the primary client device 106 may lose communication with the key device 108 in contravention of the applicable distribution rule 145 .
- an unauthenticated user may log-on to the primary client device 106 .
- the authorization service 136 and the client side application 123 may periodically communicate in order to reconfirm authentication of the user and/or primary client device 106 and/or compliance with the applicable distribution rule 145 .
- these subsequent authentications and/or compliance checks may be performed as described above (e.g., by the client side application 123 and/or the authentication service 136 ) and, in some embodiments, may be run as background processes so as to not require further input from the user.
- the authorization granted to the client side application 123 for accessing the requested resource(s) 139 may be revoked and the resource(s) 139 may be deleted from the primary client device 106 and the key device, if applicable, whenever the primary client device 106 is determined to be noncompliant with the applicable distribution rule 145 .
- FIG. 3 is a flowchart illustrating another example of a method performed by a client side application 123 attempting to access a resource 139 stored on an enterprise server 103 .
- the method begins at start step 302 , where the client side application 123 is executed and determines (e.g., in response to a user input command or other run-time requirement) that it requires access to one or more resources 139 stored on the enterprise server 103 .
- the client side application 123 transmits a request 153 to the enterprise server 103 (or directly to the authorization service 139 , for example, in cases where its port is known to the client side application 123 or other process executed by the primary client device 106 ) for access to the required resource(s) 139 .
- the request may include user credentials 127 , a device identifier 128 and/or an indication of the resource(s) 139 to which access is requested.
- the method moves to step 306 , where the client side application 123 receives a distribution rule 145 (or the key device identifier 149 associated therewith), requiring confirmation that a key device 108 is in communication with the primary client device 106 . Then, in step 308 , the client side application 123 receives the requested resource(s) 139 in a secure format.
- step 310 the client side application 123 determines whether the specified key device 108 is in communication with the primary client device 106 . If it is determined in step 310 that the primary client device 106 is not in compliance with the distribution rule 145 , the method moves to step 312 where a notice of noncompliance is transmitted to the authorization service 136 (and may be displayed on the display 116 for the user). From step 312 , the method ends at step 320 . However, if it is determined in step 310 that the primary client device 106 is in compliance with the distribution rule 145 , the method proceeds to step 313 , where a determination is made as to whether the client side application 123 has access to the authorization credential 166 required for accessing the secure resource 139 .
- the authorization credential 166 may be stored locally on the primary client device. If so, the method moves to step 318 , where the client side application 123 uses the required authorization credential 166 to access the resource 139 . If it is determined at step 313 that the client side application 123 does not have access to the authorization credential 166 , the method proceeds to step 314 , where secure resource(s) 139 , or a request for the authorization credential 166 , is transmitted to the key device 108 .
- the key application 163 executed on the key device 108 may retrieve the applicable authorization credential 166 from the local data store 115 or may obtain it (or them) from the authorization service 136 .
- the key application 163 will use the applicable authorization credential 166 to render the resource(s) 139 accessible (unsecure). Therefore, in step 316 , the client side application 123 receives either the accessible resource(s) 139 , or the applicable authorization credential 166 , from the key application 163 . Then at step 318 that client side application 123 accesses the resource(s) 139 and, from there, the method ends at step 320 .
- the authorization service 136 and the client side application 123 may periodically communicate in order to reconfirm authentication of the user and/or primary client device 106 and/or compliance with the applicable distribution rule 145 . These subsequent authentications and/or compliance checks may be performed as described above (e.g., by the client side application 123 and/or the authentication service 136 ) and, in some embodiments, may be run as background processes so as to not require further input from the user.
- the authorization granted to the client side application 123 for accessing the requested resource(s) 139 may be revoked and the resource(s) 139 may be deleted from the primary client device 106 whenever the primary client device 106 is determined to be noncompliant with the applicable distribution rule 145 .
- any and all copies of resource(s) 139 provided to the key device 108 may be removed from the key device 108 (e.g., by a function of the key application 163 ) after the key application 163 decrypts or renders them accessible and provides them back to the primary client device 106 .
- FIG. 4 is a flowchart illustrating an example of a method performed by an authorization service 136 for authorizing or denying access to resource(s) 139 stored on an enterprise server 103 .
- the authorization service 136 receives a request 153 from a client side application 136 to access certain resource(s) 139 hosted by the enterprise server 103 .
- user credentials 127 , a device identifier 128 and/or an indication of the requested resource(s) 139 may be included in or sent along with the access request 153 .
- the authorization service 136 may request some or all of that information in response to receiving the access request 153 .
- step 406 the authorization service 136 determines whether the user credentials 127 and/or the device identifier 128 is/are authenticated. As described, this authentication step may involve not only determining that the user credentials 127 and/or the device identifier 128 is/are valid, but also determining if the user credentials 127 and/or the device identifier 128 is/are associated with the requested resource(s) 139 . If not, the method moves to step 408 where a notification of authentication failure is transmitted to the client side application 123 and then the method ends at step 320 .
- step 408 the method proceeds to step 410 , where at least one distribution rule 145 associated with the requested resource(s) 139 is identified and such distribution rule(s) 145 require(s) at least one key device 108 be in communication with the primary client device 106 as a prerequisite to accessing the requested resource(s) 139 .
- the distribution rule(s) 145 or key device identifier(s) 149 are transmitted to the client side application 123 or other process executed on the client device 106 so that the compliance check can be performed locally on the client device 106 .
- the distribution rule 145 may further specify whether (i) no further authorization is required for the client side application 123 to access the requested resource(s) 139 , (ii) requested resource(s) 139 are to remain on the enterprise server 103 until the client side application 123 provides a valid authorization credential 166 , or (iii) whether the requested resource(s) 139 are to be provided to the client side application 123 in a secure format. If no further authorization is required, the method ends at step 424 and the client device 106 will be authorized to access the resource(s) 139 .
- the method moves to step 414 , where the authorization service 136 receives an authorization credential 166 from the client side application 123 . Then at step 416 , the authorization service 136 provides or facilitates the provision of authorization to access the requested resource(s) 139 , for example by authenticating the authorization credential 166 or by transferring the authorization credential 166 to the distribution service 137 for authentication. From step 416 the method ends at step 424 .
- the client side application 123 in some embodiments will provide an authorization credential 166 directly to the distribution service 137 , meaning that steps 414 and 416 will not be performed.
- the method moves to at step 418 , where that action is performed.
- the authorization service 136 receives from the key device 108 a request for an authorization credential 166 required for rendering accessible the secure resource(s) 139 .
- the requested authorization credential 166 is provided to the key device 108 , preferably in response to authenticating user credentials and/or a device identifier 156 associated with the key device 108 .
- the user may be prompted to input user credentials 127 to the key device 108 (e.g., via a user interface 131 of the key application 163 ), which may be transmitted to the authorization service 136 , possibly along with the device identifier 156 of the key device 108 .
- the authorization service 136 will require the key device 108 to comply with additional distribution rules 145 associated with the resource(s) 139 and/or the key device 108 .
- the method ends at step 424 .
- FIG. 5 shows schematic block diagrams illustrating certain components of an enterprise server 103 and each of the client devices 106 , 108 employed in the networked environment of FIG. 1 .
- the enterprise server 103 includes at least one processor circuit, for example, having a processor 503 and a memory 506 , both of which are coupled to a local interface 509 .
- the enterprise server 103 may comprise, for example, at least one server computer or like device.
- the each of client devices 106 , 108 includes at least one processor circuit, for example, having a processor 553 and a memory 556 , both of which are coupled to a local interface 559 .
- each of the client devices 106 , 108 may be in data communication with a display 116 , 118 for rendering user interfaces 129 , 131 ( FIG. 1 ) and one or more other I/O devices 563 for inputting and outputting data.
- each of the client devices 106 , 108 may comprise, for example, at least one client computer or like device.
- the local interface 509 and 559 may comprise, for example, a data bus with an accompanying address/control bus or other bus structure as can be appreciated.
- Stored in the memory 506 and 556 are both data and several components that are executable by the processors 503 and 553 .
- Stored in the memory 506 and 556 are both data and several components that are executable by the processors 503 and 553 .
- Stored in the memory 506 and 556 are both data and several components that are executable by the processors 503 and 553 .
- an authorization service 139 and potentially other applications.
- each of the client devices 106 , 108 stored in the memory 556 and executable by the processor 553 are a client side application 123 or a key application 163 and potentially other applications.
- Also stored in the memory 506 and 556 may be a data store 133 and 113 , 115 and other data.
- an operating system may be stored in the memory 506 and 556 and executable by the processor 503 and 553 .
- any one of a number of programming languages may be employed such as, for example, C, C++, C#, Objective C, Java, Javascript, Perl, PHP, Visual Basic, Python, Ruby, Delphi, Flash, or other programming languages.
- a number of software components are stored in the memory 506 and 556 and are executable by the processor 503 and 553 .
- executable means a program file that is in a form that can ultimately be run by the processor 503 and 553 .
- Examples of executable programs may be, for example, a compiled program that can be translated into machine code in a format that can be loaded into a random access portion of the memory 506 and 556 and run by the processor 503 and 553 , source code that may be expressed in proper format such as object code that is capable of being loaded into a random access portion of the memory 506 and 556 and executed by the processor 503 and 553 , or source code that may be interpreted by another executable program to generate instructions in a random access portion of the memory 506 and 556 to be executed by the processor 503 and 553 , etc.
- An executable program may be stored in any portion or component of the memory 506 and 556 including, for example, random access memory (RAM), read-only memory (ROM), hard drive, solid-state drive, USB flash drive, memory card, optical disc such as compact disc (CD) or digital versatile disc (DVD), floppy disk, magnetic tape, or other memory components.
- RAM random access memory
- ROM read-only memory
- hard drive solid-state drive
- USB flash drive USB flash drive
- memory card such as compact disc (CD) or digital versatile disc (DVD), floppy disk, magnetic tape, or other memory components.
- CD compact disc
- DVD digital versatile disc
- the memory 506 and 556 are defined herein as including both volatile and nonvolatile memory and data storage components. Volatile components are those that do not retain data values upon loss of power. Nonvolatile components are those that retain data upon a loss of power.
- the memory 506 and 556 may comprise, for example, random access memory (RAM), read-only memory (ROM), hard disk drives, solid-state drives, USB flash drives, memory cards accessed via a memory card reader, floppy disks accessed via an associated floppy disk drive, optical discs accessed via an optical disc drive, magnetic tapes accessed via an appropriate tape drive, and/or other memory components, or a combination of any two or more of these memory components.
- the RAM may comprise, for example, static random access memory (SRAM), dynamic random access memory (DRAM), or magnetic random access memory (MRAM) and other such devices.
- the ROM may comprise, for example, a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other like memory device.
- the processor 503 and 553 may represent multiple processors, and the memory 506 and 556 may represent multiple memories that operate in parallel processing circuits, respectively.
- the local interface 509 and 559 may be an appropriate network 109 ( FIG. 1 ) that facilitates communication between any two of the multiple processors 503 and 553 , or between any two of the memories 506 and 556 , etc.
- the local interface 509 and 559 may comprise additional systems designed to coordinate this communication, including, for example, performing load balancing.
- the processor 503 and 553 may be of electrical or of some other available construction.
- authorization service 136 may be embodied in software or code executed by general purpose hardware as discussed above, as an alternative the same may also be embodied in dedicated hardware or a combination of software/general purpose hardware and dedicated hardware. If embodied in dedicated hardware, each can be implemented as a circuit or state machine that employs any one of or a combination of a number of technologies. These technologies may include, but are not limited to, discrete logic circuits having logic gates for implementing various logic functions upon an application of one or more data signals, application specific integrated circuits having appropriate logic gates, or other components, etc. Such technologies are generally well known by those skilled in the art and, consequently, are not described in detail herein.
- each method step or box of the flowcharts may represent a module, segment, or portion of code that comprises program instructions to implement the specified logical function(s).
- the program instructions may be embodied in the form of source code that comprises human-readable statements written in a programming language or machine code that comprises numerical instructions recognizable by a suitable execution system such as a processor 503 and 553 in a computer system or other system.
- the machine code may be converted from the source code, etc. If embodied in hardware, each block may represent a circuit or a number of interconnected circuits to implement the specified logical function(s).
- FIG. 2 , FIG. 3 and FIG. 4 show a specific order of execution, it is understood that the order of execution may differ from that which is depicted. For example, the order of execution of two or more steps may be scrambled relative to the order shown. Also, two or more blocks shown in succession in FIG. 2 , FIG. 3 or FIG. 4 may be executed concurrently or with partial concurrence. Further, in some embodiments, one or more of the steps shown in FIG. 2 , FIG. 3 or FIG. 4 may be skipped or omitted. In addition, any number of counters, state variables, warning semaphores, or messages might be added to the logical flow described herein, for purposes of enhanced utility, accounting, performance measurement, or providing troubleshooting aids, etc. It is understood that all such variations are within the scope of the present disclosure.
- any logic or application described herein, including the authorization service 136 , distribution service 137 , client side application 123 , and key application 163 , that comprises software or code can be embodied in any non-transitory computer-readable medium for use by or in connection with an instruction execution system such as, for example, a processor 503 and 553 in a computer system or other system.
- the logic may comprise, for example, statements including instructions and declarations that can be fetched from the computer-readable medium and executed by the instruction execution system.
- a “computer-readable medium” can be any medium that can contain, store, or maintain the logic or application described herein for use by or in connection with the instruction execution system.
- the computer-readable medium can comprise any one of many physical media such as, for example, magnetic, optical, or semiconductor media. More specific examples of a suitable computer-readable medium would include, but are not limited to, magnetic tapes, magnetic floppy diskettes, magnetic hard drives, memory cards, solid-state drives, USB flash drives, or optical discs. Also, the computer-readable medium may be a random access memory (RAM) including, for example, static random access memory (SRAM) and dynamic random access memory (DRAM), or magnetic random access memory (MRAM).
- RAM random access memory
- SRAM static random access memory
- DRAM dynamic random access memory
- MRAM magnetic random access memory
- the computer-readable medium may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other type of memory device.
- ROM read-only memory
- PROM programmable read-only memory
- EPROM erasable programmable read-only memory
- EEPROM electrically erasable programmable read-only memory
Abstract
A secondary device may be used to provide access to resources to a primary device. Upon receiving an authorization indication at a device, a registration key based on the authorization indication, a user identifier, and a property of the device may be created. Upon determining whether access to at least one resource is permitted according to the registration key the device may be permitted to access the at least one resource.
Description
- This application is a Continuation of U.S. patent application Ser. No. 14/083,718, entitled “Secondary Device as Key for Authorizing Access to Resources,” filed on Nov. 19, 2013, which is a Continuation-in-Part of U.S. patent application Ser. No. 13/841,853, entitled “Secondary Device as Key for Authorizing Access to Resources,” filed on Mar. 15, 2013, both of which are hereby incorporated by reference in their entirety.
- Managing access to enterprise resources by network-connected devices is critical to ensure that only authenticated and authorized users and devices gain access to sensitive information or services. To date, this has typically been accomplished by utilizing network firewalls, reverse proxy servers with authentication, and encrypted VPN tunnels. Today, however, enterprise resources are being moved out of enterprise-managed data centers and into the “Cloud.” These cloud-based network environments may not provide the configurability and customization necessary to sufficiently protect enterprise resources. For instance, protecting enterprise-managed data centers at a device level can be problematic. Cloud-based data services often do not provide the necessary features to allow enterprises to manage access to the services at a device level.
- The disclosed embodiments relate to a system and associated devices and methods for managing access to resources in a networked environment. A client side application executed on a client device may transmit a request to an authorization service for access to a resource. The authorization service may then authenticate user credentials and/or a device identifier received from the client side application. Authenticating the user credentials and/or the device identifier may include determining that the user credentials and/or the device identifier is/are associated with the resource.
- The client side application may then receive from the authorization service an indication that the client device must comply with a distribution rule associated with the resource, where the distribution rule requires a specified secondary client device to be in communication with the client device as a prerequisite to accessing the resource. In some cases, the fact that the specified secondary client device is in communication with the client device is all that is required to authorize the client side application (with the user and/or client device having been previously authenticated) to access the resource, which may be accessed by the client device from an enterprise server or from the local memory of the client device.
- In some embodiments the client side application determines that the client device complies with the distribution rule and then communicates with the secondary client device to gain access to the secure copy of the resource. In some cases this involves the client side application receiving from the secondary client device an authorization credential to be used for receiving authorization to access the resource. In some embodiments, the client side application may transmit the authorization credential to a distribution service that will provide authorization to access the resource upon authenticating the authorization credential.
- In some embodiments, the resource is stored in a secure format in a memory of the client device and the authorization credential received from the secondary client device is used to access the resource from the memory. The secondary client device may receive the authorization credential from the authorization service after the authorization service authenticates user credentials and/or a device identifier received from the secondary client device. This authentication may include determining that the user credentials and/or the device identifier received from the secondary client device is/are associated with the resource. In some embodiments, the authorization service further determines whether the secondary client device complies with additional distribution rules associated with the resources and/or the authorization credential. The authorization credential may be at least one of a PIN, a key, a password, a certificate, and a token.
- In some embodiments the client device may transmit the secure resource to the secondary device and receive an accessible copy of the resource from the secondary client device. Again, the secondary client device may receive the authorization credential required for accessing secure resource from the authorization service. Alternatively, the authorization credential may be provisioned in the secondary client device.
- Many aspects of the present disclosure can be better understood with reference to the following diagrams. The drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating certain features of the disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
-
FIG. 1 is a block diagram of a networked environment according to certain embodiments. -
FIG. 2 is a flowchart illustrating an example of a method performed by a client side application attempting to access a resource stored on an enterprise server. -
FIG. 3 is a flowchart illustrating another example of a method performed by a client side application attempting to access a resource stored on an enterprise server. -
FIG. 4 is a flowchart illustrating an example of a method performed by an authorization service for authorizing or denying access to resources. -
FIG. 5 shows schematic block diagrams illustrating certain components of an enterprise server and a client device employed in the networked environment ofFIG. 1 . - Disclosed are various embodiments for a system and associated devices and methods for managing access to resources in a networked environment. In some embodiments, the system comprises an enterprise server, a primary client device and at least one secondary client device configured as described herein. The enterprise server may store or otherwise control access to resources, such as data, databases, application programs and application files, text files, word processor files, spreadsheet files, presentation files, graphic files, audio files, photographic files, video files and/or the like. The enterprise server may execute an authorization service for determining whether to authorize access to resources. The enterprise server may also execute a distribution service for providing resources to the client device(s) or providing the client device(s) with access to resources.
- In some embodiments, a user operates a primary client device and executes a client side application that attempts to access at least one resource hosted on the enterprise server. The authorization service may first attempt to authenticate user credentials associated with the user of the primary client device and/or a device identifier that uniquely identifies the primary client device. User credentials may include one or more of a user name and password, biometric data, and/or other data used to identify the user. The device identifier may be a unique hardware identifier such as a GUID (Globally Unique Identifier), UUID (Universally Unique Identifier), UDID (Unique Device Identifier), serial number, IMEI (Internationally Mobile Equipment Identity), Wi-Fi MAC (Media Access Control) address, Bluetooth MAC address, a CPU ID, and/or the like, or any combination of two or more such hardware identifiers. Additionally, the device identifier may be represented by a unique software identifier such a token or certificate, based at least in part on the aforementioned unique hardware identifiers.
- As an additional security measure, the authorization service may require a secondary client device, which may be a specific client device or one of a group of specific client devices (collectively referred to herein as a “key device”) to be in communication with the primary client device as a prerequisite to accessing the requested resource(s). If the primary client device is in communication with the key device, the primary client device may then be authorized to access the resources. Alternatively, the primary client device may be required to interact with the key device to gain access to the requested resource(s), as described herein.
- In some embodiments where the primary client device is required to interact with the key device to gain access to the requested resource(s), the primary client device may obtain from the key device an authorization credential, such as a decryption key, PIN, password, certificate and/or token, etc., required for access to the requested resource(s). For example, the primary client device may provide the authorization credential to the authorization service or the distribution service to gain access to the requested resource(s).
- In some embodiments, the authorization service may instruct the distribution service to provide the requested resource(s) to the primary client device in an encrypted or otherwise secure format. The primary client device may obtain a decryption key or another authorization credential from the key device, which may be used to decrypt the resource(s) or otherwise access the resource(s). As another example, the primary client device may transfer the encrypted or otherwise secure resource(s) to the key device, which may decrypt or otherwise render the resource(s) accessible (unsecure) and return the unsecure resource(s) to the primary client device. In such cases, the key device may already be provisioned with a copy of the decryption key or other applicable authorization credential, or may obtain the decryption key or other authorization credential from the authorization service.
-
FIG. 1 illustrates an example ofnetworked environment 100 according to various embodiments. Thenetworked environment 100 includes anenterprise server 103, aprimary client device 106, at least one secondary client device (which functions as the key device 108) and anetwork 109. Thenetwork 109 may be or include, for example, any type of wireless network such as a wireless local area network (WLAN), a wireless wide area network (WWAN) or any other type of wireless network now known or later developed. Additionally, thenetwork 109 may be or include the Internet, intranets, extranets, microwave networks, satellite communications, cellular systems, PCS, infrared communications, global area networks, or other suitable networks, etc., or any combination of two or more such networks. Thenetwork 109 facilitates transmission of communications and resources between one ormore client devices enterprise server 103. - By way of example, a
client device client device FIG. 1 ), for example, an Ethernet network adapter, a modem, and/or the like. Aclient device FIG. 1 ), for example, a PCI (Peripheral Component Interconnect) card, USB (Universal Serial Bus) interface, PCMCIA (Personal Computer Memory Card International Association) card, SDIO (Secure Digital Input-Output) card, NewCard, Cardbus, a modem, a wireless radio transceiver, and/or the like. Aclient device enterprise server 103 with the aid of the wired network connectivity component. Aclient device enterprise server 103 with the aid of the wireless network connectivity component. - Additionally, a
client device FIG. 5 . Aclient device display client device data store data store primary client device 106 and for purposes of the present discussion, thedata store 113 may store adevice profile 119,user credentials 127, adevice identifier 128, an application program for accessing and managing access to resources (referred to herein as a “client side application” 123), as well as other application programs and data. In the case of thekey device 108 and for purposes of the present discussion, thedata store 115 may store a device identifier 156, an application program for enabling or facilitating access to resources (referred to herein as a “key application” 163), as well as other application programs and data. - The
device profile 119 may indicate various hardware, software, and security attributes or other configurations of theprimary client device 106. For instance, thedevice profile 119 may indicate hardware specifications of theprimary client device 106, version and configuration information of various software programs and hardware components installed, enabled and/or executing on theprimary client device 106, transport protocols enabled on theprimary client device 106, version and usage information of various other resources stored on theprimary client device 106, and/or any other attributes associated with the state of theprimary client device 106. The information included in thedevice profile 119 and other data stored on or accessible to the primary client device may be used to verify that theprimary client device 106 complies with one or more distribution rule(s) 145 that may be associated withcertain resources 139. - Distribution rules 145 may specify certain hardware, software and other device parameters or configurations with which the
primary client device 106 or any other client device must comply before it will be authorized to access anyresources 139 associated with such distribution rules 145. In some embodiments, adistribution rule 145 associated with aresource 139 may specify that theprimary client device 106 must be in communication with akey device 108 as a prerequisite to theclient side application 123 or any other application program executed by theprimary client device 106 gaining access to thatresource 139. For example, theresource 139 may not be provided or made accessible to theclient side application 123 unless and until compliance with thedistribution rule 145 is confirmed. - In some embodiments, the
client side application 123 will be authorized to access theresource 139 as long as theprimary client device 106 is in communication with thekey device 108. Theauthorization service 136 may facilitate access to theresource 139 by theclient side application 123, for example via thedistribution service 137. Alternatively, theauthorization service 136 or may authorize or enable theclient side application 123 to access theresource 139 from the local memory of the primary client device. - As used herein the phrase “in communication” is meant in its broadest sense, i.e., that at least one signal transmitted by one device is received by another device. An active two-way communication session is not required. Thus, for instance, one client device (e.g., the key device 108) may broadcast a beacon or some other self-identifying signal that may be received by another device (e.g., the primary client device 106) and, in the context of this disclosure, the devices are considered to be in communication with each other. Therefore, the
client side application 123 may simply search a listing of potential Bluetooth or proximity based communication pairings, etc. to confirm that the specifiedkey device 108 is broadcasting a signal and is within the presence of theprimary client device 106. Therefore, based on the detected presence of thekey device 108, theclient side application 123 may confirm compliance with thedistribution rule 145 and thereby gain access to theresource 139. - In some embodiments, the
client side application 123 will be required to interact with thesecondary client device 106 to gain access to theresource 139. For example, theclient side application 123 may receive anauthorization credential 166 from akey application 163 executed on thekey device 108 and may then provide it to thedistribution service 137 orauthorization service 136. As another example, theresource 139 may be provided to theclient side application 123 in a secure format (e.g., encrypted, password protected, etc.) and theclient side application 123 will be required to cooperate with thekey application 163 executed by thekey device 108 to gain access to thesecure resource 139. Thekey application 163 may be configured for retrieving applicable authorization credentials (e.g., decryption keys, PINs, passwords, certificates, and/or tokens, etc.) from thedata store 115 of thekey device 108 or may request such items from theauthorization service 136 as needed. - In some embodiments, the
client side application 123 may be executed to transmit to the enterprise server 103 arequest 153 for access to at least oneresource 139. Theclient side application 123 may also include functionality for rendering a user interface 129 on thedisplay 116 and for displayingresources 139 therein. In some embodiments, theclient side application 123 may render an interface that presents an array ofresources 139 in a single view, such as in a category-based tree or outline format. As will be appreciated, theclient side application 123 may also include functionality for receiving and responding to user input commands generated by various input/output devices. - In some embodiments, the
client side application 123 may be a secure container program that may be authorized to receive and render selectedresources 139. The secure container program may also execute other application programs within its secure environment, where such application programs are stored locally on theclient device 106 and/or on theenterprise server 103 or another network device. By way of example, such other applications may include web browsing applications, email applications, instant messaging applications, and/or other applications capable of receiving and/orrendering resources 139 on thedisplay 116. - In some embodiments, where the
client side application 123 is not a secure container program, theclient side application 123 may be configured with instructions for communicating with and executing commands received from theauthorization service 136 for performing the authorization methods described herein. Such instructions may be included in or called by the program code of theclient side application 123 or may be provided by a wrapper applied to theclient side application 123. - In some embodiments,
key device 108 may continuously and/or periodically broadcast an authorization indication (such as a location identifier and/or key device identifier 156) vianetwork 109. In some embodiments,key device 108 may provide such an authorization indication toprimary client device 106 upon a manually triggered request from a user ofprimary client device 106 and/or upon detection ofprimary client device 106 within a configurable proximity tokey device 108 and/or a geographic location served bykey device 108.Client device 106 may then create a registration key according to various criteria, such as the authorization indication,user credentials 127, and/or device characteristic and properties, such as primaryclient device identifier 128. This registration key may then be provided toenterprise server 103 and/orkey device 108 in order to register theprimary client device 106 for access to resource(s) 139. Such registration may comprise entry of the registration key in a registration database or other tracking table and may require evaluation of theprimary client device 106 with respect to compliance rules and/or distribution rules 145. Once the registration key has been entered and approved,authorization credentials 166 may be provided toprimary client device 106 to enable access to resource(s) 139. - In some embodiments, the compliance of
primary client device 106 with the application compliance and/ordistribution rules 133 may be evaluated on a periodic basis and/or each timeprimary client device 106 requests access to resource(s) 139. In some embodiments, the authorization credentials may comprise compliance restrictions such as a requirement forprimary client device 106 to remain within a configurable proximity ofkey device 108 in order to continue and/or request further access to resource(s) 139. In some embodiments, theauthorization credentials 166 may comprise an expiration time; such an expiration time may comprise a fixed time and/or date that theauthorization credentials 166 expire and/or a duration of time from the provision of theauthorization credentials 166. - The
enterprise server 103 may comprise, for example, a server computer or any other system providing and authorizing access toresources 139. Alternatively, a plurality ofenterprise servers 103 may be employed that are arranged, for example, in one or more server banks or computer banks or other arrangements. For example, a plurality ofenterprise servers 103 together may comprise a cloud computing resource, a grid computing resource, and/or any other distributed computing arrangement.Such enterprise servers 103 may be located in a single installation or may be distributed among many different geographic locations. For purposes of convenience, theenterprise server 103 is referred to herein in the singular. Even though theenterprise server 103 is referred to in the singular, it is understood that a plurality ofenterprise servers 103 may be employed in the arrangements as described herein. - The
enterprise server 103 may execute various application programs, services and other processes. For example theenterprise server 103 may execute theauthorization service 136 and adistribution service 137 that distributesresources 139 toclient devices 106 or otherwise providesclient devices 106 with access toresources 139. It should be understood that in some embodiments, theauthorization service 136 may be executed on one or more other network devices, such as a proxy server and/or a compliance server. It should also be understood that, in some embodiments, the functions of and processes performed by theauthorization service 136 described herein may be distributed among a plurality of different services, including an authentication service for authenticating user and device credentials and/or a compliance service for determining whetherprimary client device 106 and other client devices (e.g., the key device 108) complies with resource distribution rules and other requirements. - Also, certain data may be stored in a
data store 133 that is contained in or otherwise accessible to theenterprise server 103. The illustrateddata store 133 may be representative of a plurality of data stores, as can be appreciated. Thedata store 133 may utilize strong encryption standards to protect against unauthorized access. For example, thedata store 133 may utilize the Advanced Encryption Standard (AES-256) or Standard Hash Algorithm (SHA-1) or any similar strong encryption standard commonly utilized for server-side data storage. - In some embodiments, the data stored in the
data store 133 includesresources 139, a listing ofapproved device identifiers 146, a listing of approved user credentials 147, a listing ofkey device identifiers 149 and distribution rules 145. The approved user credentials 147 represents user credentials that have been previously approved for accessingcertain resources 139. Similarly, the listing ofapproved device identifiers 146 represents a listing of device identifiers that have been previously approved for accessingcertain resources 139. Accordingly,user credentials 127 anddevice identifiers 128 received from the primary client device 106 (i.e., in connection withrequests 153 for access to resources 139) are authenticated by comparing them to the listing of approved user credentials 147 and the listing ofapproved device identifiers 146, respectively. In some embodiments, thedata store 133 may store a listing of approved pairings of user credential and identifiers and the authentication process may involve determining whether theuser credentials 127 and thedevice identifiers 128 received fromprimary client device 106 match any of the approved pairings. As will be appreciated, thekey device 108 and/or its user may be authenticated in the same way. - The listing of
key device identifiers 149 represents a listing of key devices that may be required to be in communication with theprimary client device 106 in order to “unlock” access tocertain resources 139. In the example where aprimary client device 106 is a laptop computer or a tablet computer, akey device 108 may be, for instance, the user's mobile phone. Any secondary client device capable of executing thekey application 163 for obtaining and providingauthorization credentials 166 and/or accessing secure resources may function as thekey device 108. In some embodiments, a service provider or network administrator responsible for maintaining the security of theresources 139 on theenterprise server 103 may specify which secondary client device(s) may function as thekey device 108 for a particular user and/orprimary client device 106. In some embodiments, more than onekey device 108 may be specified and/or required for compliance with adistribution rule 145. - Accordingly, the
authorization service 136 may receive from the primary client device 106 arequest 153 to accesscertain resources 139. In some embodiments, therequest 153 may include or be sent along withuser credentials 127, adevice identifier 128 and/or an indication of the requested resource(s) 139. In some embodiments, theauthorization service 136 may request some or all of such information from theprimary client device 106 in response to receiving theaccess request 153. Theauthorization service 136 authenticates theuser credentials 127 and/or thedevice identifier 128, as described. - As discussed, the
authorization service 136 may also require theprimary client device 106 to comply withcertain distribution rules 145 before it authorizes theprimary client device 106 to access the requested resource(s) 139. The information required for the compliance check may be included, for example, in thedevice profile 119 or otherwise stored in thedata store 113 of theprimary client device 106. In some cases, the information required for this compliance check may be provided by theprimary client device 106 to theauthorization service 136 as part of or along with theaccess request 153. In some cases, theauthorization service 136 may request such information from theprimary client device 106 when requestinguser credentials 127 and/or thedevice identifier 128 or in response to authenticating theuser credentials 127 and/or thedevice identifier 128. - In some embodiments, one or
more distribution rules 145 or associatedkey device identifiers 149 may be provided to theprimary client device 106 so that an application program (e.g., the client side application 123) or other process executed by theprimary client device 106 may perform the compliance check. In these embodiments, the requested resource(s) 139 may not be provided to or otherwise made accessible to theprimary client device 106 until theauthorization service 136 receives a notice from theprimary client device 106 confirming compliance. In other cases, the requested resource(s) 139 may be provided to or accessed by theprimary client device 106 in a secure format before the compliance check is performed (e.g., the applicable distribution rule(s) 145 or key device identifier(s) 149 may be provided contemporaneously with the secure resource(s) 139), but theclient side application 123 or other application executed by theprimary client device 106 may not have theauthorization credential 166 required to access or use the resource(s) 139. - A
distribution rule 145 associated with at least one requestedresource 139 may specify that a key device 108 (which may be identified by a key device identifier 149) must be in communication with the primary client device as a prerequisite to accessing the requested resource(s) 139. In some embodiments, theclient side application 123 or another process executed by theprimary client device 106 may be configured for receiving thedistribution rule 145 orkey device identifier 149 and determining whether the specifiedkey device 108 is in communication with theprimary client device 106. Communication between thekey device 108 and theprimary client device 106 may be via any suitable wired orwireless network 109 or any direct wired orwireless communication link 107 between the devices. For example, adirect wireless connection 107 may be achieved WiFi, Bluetooth, infrared signal exchanges, Near Field Communication, or any other suitable direct wireless communication link. - In some embodiments, the
authorization service 136 may instruct thedistribution service 137 to provide the resource(s) 139 in a secure format or provide access to the secure resource(s) 139 to theclient side application 123 contemporaneously with thedistribution rule 145 orkey device identifier 149. In such cases, theclient side application 123 may be configured to interact with thekey application 163 executed by thekey device 108 to gain access to thesecure resource 139, as described. In some embodiments, theclient side application 123 may be configured to receive anauthorization credential 166 from thekey application 163 and to provide thatauthorization credential 166 to thedistribution service 137 or the authorization service 136 (which may pass the authorization credential to thedistribution service 137 on behalf of the client side application 123) in order to gain access to the requested resource(s) 139. -
FIG. 2 is a flowchart illustrating an example of a method performed by aclient side application 123 attempting to access aresource 139. The method begins atstart step 202, where theclient side application 123 is executed and determines (e.g., in response to a user input command or other run-time requirement) that it requires access to one ormore resources 139, which may be stored on theenterprise server 103 or locally on theprimary client device 106. Atstep 204, theclient side application 123 transmits arequest 153 to the enterprise server 103 (or directly to theauthorization service 139, for example, in cases where its port is known to theclient side application 123 or other process executed by the primary client device 106) for access to the required resource(s) 139. The request may includeuser credentials 127, adevice identifier 128 and/or an indication of the resource(s) 139 to which access is requested. - Provided that the user and/or the
client device 106 have been authenticated by theauthorization service 136, the method moves to step 206, where theclient side application 123 receives a distribution rule 145 (or thekey device identifier 149 associated therewith), requiring confirmation that akey device 108 is in communication with theprimary client device 106. - Next, in
step 208, theclient side application 123 determines whether the specifiedkey device 108 is in communication with theprimary client device 106. This of course may be done by checking all active communication ports, communication links, and potential communication pairings, etc. to determine the identity (e.g., by way of device identifiers) of any device in communication with theprimary client device 106. In some embodiments, theclient side application 123 or other process executed by theprimary client device 106 determines that theprimary client device 106 is in communication with thekey device 108 by matching thekey device identifier 149 with the device identifier 156 of thekey device 108. If it is determined instep 208 that theprimary client device 106 is not in compliance with thedistribution rule 145, the method moves to step 210 where a notice of noncompliance is transmitted to the authorization service 136 (and may be displayed on thedisplay 116 for the user). Fromstep 210, the method ends atstep 220. - However, if it is determined in
step 208 that theprimary client device 106 is in compliance with thedistribution rule 145, the method proceeds to step 211, where a determination is made as to whether further authorization is required for theclient side application 123 to access the resource(s) 139. For example, compliance with thedistribution rule 145 may require only that theprimary client device 106 is in communication with thekey device 108 and, if that is confirmed, theauthorization service 136 may provide authorization for theclient side application 123 to access the resource(s) 139. In other cases, theclient side application 123 may need afurther authorization credential 166 to access resource(s) 139 via thedistribution service 137 or to access secure resource(s) 139 stored locally on theprimary client device 106. - Therefore, if it is determined in
step 211, that further authorization is not required, the method moves to step 216 where theclient side application 123 receives authorization to access to the requested resource(s) 139. However, if it is determined instep 211, that further authorization is required, the method moves to step 212, where anauthorization credential 166 is received from the key device 108 (e.g., by the key application 163). As described, theauthorization credential 166 may be stored in thedata store 115 of thekey device 108, or thekey application 163 may be configured to request it from theauthorization service 136. Then instep 214, theclient side application 123 transmits theauthorization credential 166 to thedistribution service 137 or theauthorization service 136 and instep 216, if the authorization credential is authenticated, receives authorization to access to the requested resource(s) 139. Fromstep 216, the method ends atstep 220. - In some embodiments, the requested resource(s) 139 may have previously been stored in the
data store 113 of theprimary client device 106, but theclient side application 123 may not have been able to access the resource(s) until receiving authorization from theauthorization service 136 or until receiving theauthentication credential 166 from thekey device 108, by way of above described or similar method. - In some embodiments, the state of the
primary client device 106 may be modified after theclient side application 123 is authorized to accesscertain resources 139. For example, theprimary client device 106 may lose communication with thekey device 108 in contravention of theapplicable distribution rule 145. As another example, an unauthenticated user may log-on to theprimary client device 106. Accordingly, in some embodiments, theauthorization service 136 and theclient side application 123 may periodically communicate in order to reconfirm authentication of the user and/orprimary client device 106 and/or compliance with theapplicable distribution rule 145. These subsequent authentications and/or compliance checks may be performed as described above (e.g., by theclient side application 123 and/or the authentication service 136) and, in some embodiments, may be run as background processes so as to not require further input from the user. In some embodiments, the authorization granted to theclient side application 123 for accessing the requested resource(s) 139 may be revoked and the resource(s) 139 may be deleted from theprimary client device 106 and the key device, if applicable, whenever theprimary client device 106 is determined to be noncompliant with theapplicable distribution rule 145. -
FIG. 3 is a flowchart illustrating another example of a method performed by aclient side application 123 attempting to access aresource 139 stored on anenterprise server 103. The method begins atstart step 302, where theclient side application 123 is executed and determines (e.g., in response to a user input command or other run-time requirement) that it requires access to one ormore resources 139 stored on theenterprise server 103. Atstep 304, theclient side application 123 transmits arequest 153 to the enterprise server 103 (or directly to theauthorization service 139, for example, in cases where its port is known to theclient side application 123 or other process executed by the primary client device 106) for access to the required resource(s) 139. The request may includeuser credentials 127, adevice identifier 128 and/or an indication of the resource(s) 139 to which access is requested. - Provided that the user and/or the
primary client device 106 have been authenticated by theauthorization service 136, the method moves to step 306, where theclient side application 123 receives a distribution rule 145 (or thekey device identifier 149 associated therewith), requiring confirmation that akey device 108 is in communication with theprimary client device 106. Then, instep 308, theclient side application 123 receives the requested resource(s) 139 in a secure format. - Next, in
step 310, theclient side application 123 determines whether the specifiedkey device 108 is in communication with theprimary client device 106. If it is determined instep 310 that theprimary client device 106 is not in compliance with thedistribution rule 145, the method moves to step 312 where a notice of noncompliance is transmitted to the authorization service 136 (and may be displayed on thedisplay 116 for the user). Fromstep 312, the method ends atstep 320. However, if it is determined instep 310 that theprimary client device 106 is in compliance with thedistribution rule 145, the method proceeds to step 313, where a determination is made as to whether theclient side application 123 has access to theauthorization credential 166 required for accessing thesecure resource 139. For example, theauthorization credential 166 may be stored locally on the primary client device. If so, the method moves to step 318, where theclient side application 123 uses the requiredauthorization credential 166 to access theresource 139. If it is determined atstep 313 that theclient side application 123 does not have access to theauthorization credential 166, the method proceeds to step 314, where secure resource(s) 139, or a request for theauthorization credential 166, is transmitted to thekey device 108. - As discussed, the
key application 163 executed on thekey device 108 may retrieve theapplicable authorization credential 166 from thelocal data store 115 or may obtain it (or them) from theauthorization service 136. In the case where the secure resource(s) 139 are provided to thekey device 108, thekey application 163 will use theapplicable authorization credential 166 to render the resource(s) 139 accessible (unsecure). Therefore, instep 316, theclient side application 123 receives either the accessible resource(s) 139, or theapplicable authorization credential 166, from thekey application 163. Then atstep 318 thatclient side application 123 accesses the resource(s) 139 and, from there, the method ends atstep 320. - As in the prior example method, in some embodiments, the
authorization service 136 and theclient side application 123 may periodically communicate in order to reconfirm authentication of the user and/orprimary client device 106 and/or compliance with theapplicable distribution rule 145. These subsequent authentications and/or compliance checks may be performed as described above (e.g., by theclient side application 123 and/or the authentication service 136) and, in some embodiments, may be run as background processes so as to not require further input from the user. In some embodiments, the authorization granted to theclient side application 123 for accessing the requested resource(s) 139 may be revoked and the resource(s) 139 may be deleted from theprimary client device 106 whenever theprimary client device 106 is determined to be noncompliant with theapplicable distribution rule 145. In addition, in some embodiments, any and all copies of resource(s) 139 provided to thekey device 108 may be removed from the key device 108 (e.g., by a function of the key application 163) after thekey application 163 decrypts or renders them accessible and provides them back to theprimary client device 106. -
FIG. 4 is a flowchart illustrating an example of a method performed by anauthorization service 136 for authorizing or denying access to resource(s) 139 stored on anenterprise server 103. Fromstart step 402 the method moves to step 404, where theauthorization service 136 receives arequest 153 from aclient side application 136 to access certain resource(s) 139 hosted by theenterprise server 103. As described,user credentials 127, adevice identifier 128 and/or an indication of the requested resource(s) 139 may be included in or sent along with theaccess request 153. Alternatively, theauthorization service 136 may request some or all of that information in response to receiving theaccess request 153. - Next, in
step 406, theauthorization service 136 determines whether theuser credentials 127 and/or thedevice identifier 128 is/are authenticated. As described, this authentication step may involve not only determining that theuser credentials 127 and/or thedevice identifier 128 is/are valid, but also determining if theuser credentials 127 and/or thedevice identifier 128 is/are associated with the requested resource(s) 139. If not, the method moves to step 408 where a notification of authentication failure is transmitted to theclient side application 123 and then the method ends atstep 320. However, if theuser credentials 127 and/or thedevice identifier 128 is/are authenticated instep 408, the method proceeds to step 410, where at least onedistribution rule 145 associated with the requested resource(s) 139 is identified and such distribution rule(s) 145 require(s) at least onekey device 108 be in communication with theprimary client device 106 as a prerequisite to accessing the requested resource(s) 139. - Next in
step 412, the distribution rule(s) 145 or key device identifier(s) 149 are transmitted to theclient side application 123 or other process executed on theclient device 106 so that the compliance check can be performed locally on theclient device 106. Thedistribution rule 145 may further specify whether (i) no further authorization is required for theclient side application 123 to access the requested resource(s) 139, (ii) requested resource(s) 139 are to remain on theenterprise server 103 until theclient side application 123 provides avalid authorization credential 166, or (iii) whether the requested resource(s) 139 are to be provided to theclient side application 123 in a secure format. If no further authorization is required, the method ends atstep 424 and theclient device 106 will be authorized to access the resource(s) 139. - If the requested resource(s) 139 are to remain on the
enterprise server 103 until theclient side application 123 provides avalid authorization credential 166, the method moves to step 414, where theauthorization service 136 receives anauthorization credential 166 from theclient side application 123. Then atstep 416, theauthorization service 136 provides or facilitates the provision of authorization to access the requested resource(s) 139, for example by authenticating theauthorization credential 166 or by transferring theauthorization credential 166 to thedistribution service 137 for authentication. Fromstep 416 the method ends atstep 424. As previously mentioned, theclient side application 123 in some embodiments will provide anauthorization credential 166 directly to thedistribution service 137, meaning thatsteps - Returning to step 412, if the
distribution rule 145 indicates that the requested resource(s) 139 are to be provided to theclient side application 123 in a secure format, the method moves to atstep 418, where that action is performed. Then atstep 420, theauthorization service 136 receives from the key device 108 a request for anauthorization credential 166 required for rendering accessible the secure resource(s) 139. Atstep 422 the requestedauthorization credential 166 is provided to thekey device 108, preferably in response to authenticating user credentials and/or a device identifier 156 associated with thekey device 108. For example, the user may be prompted to inputuser credentials 127 to the key device 108 (e.g., via a user interface 131 of the key application 163), which may be transmitted to theauthorization service 136, possibly along with the device identifier 156 of thekey device 108. In some embodiments, theauthorization service 136 will require thekey device 108 to comply withadditional distribution rules 145 associated with the resource(s) 139 and/or thekey device 108. Followingstep 422, the method ends atstep 424. -
FIG. 5 shows schematic block diagrams illustrating certain components of anenterprise server 103 and each of theclient devices FIG. 1 . Theenterprise server 103 includes at least one processor circuit, for example, having aprocessor 503 and a memory 506, both of which are coupled to alocal interface 509. To this end, theenterprise server 103 may comprise, for example, at least one server computer or like device. Similarly, the each ofclient devices processor 553 and a memory 556, both of which are coupled to a local interface 559. Additionally, each of theclient devices display FIG. 1 ) and one or more other I/O devices 563 for inputting and outputting data. To this end, each of theclient devices - The following is a general discussion of the components of the
enterprise server 103 and each of theclient devices local interface 509 and 559 may comprise, for example, a data bus with an accompanying address/control bus or other bus structure as can be appreciated. Stored in the memory 506 and 556 are both data and several components that are executable by theprocessors enterprise server 103, stored in the memory 506 and executable by theprocessor 503 are anauthorization service 139 and potentially other applications. Additionally, with regard to each of theclient devices processor 553 are aclient side application 123 or akey application 163 and potentially other applications. Also stored in the memory 506 and 556 may be adata store processor - It is to be understood that there may be other applications that are stored in the memory 506 and 556 and are executable by the
processor - A number of software components are stored in the memory 506 and 556 and are executable by the
processor processor processor processor processor - The memory 506 and 556 are defined herein as including both volatile and nonvolatile memory and data storage components. Volatile components are those that do not retain data values upon loss of power. Nonvolatile components are those that retain data upon a loss of power. Thus, the memory 506 and 556 may comprise, for example, random access memory (RAM), read-only memory (ROM), hard disk drives, solid-state drives, USB flash drives, memory cards accessed via a memory card reader, floppy disks accessed via an associated floppy disk drive, optical discs accessed via an optical disc drive, magnetic tapes accessed via an appropriate tape drive, and/or other memory components, or a combination of any two or more of these memory components. In addition, the RAM may comprise, for example, static random access memory (SRAM), dynamic random access memory (DRAM), or magnetic random access memory (MRAM) and other such devices. The ROM may comprise, for example, a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other like memory device.
- Also, the
processor local interface 509 and 559 may be an appropriate network 109 (FIG. 1 ) that facilitates communication between any two of themultiple processors local interface 509 and 559 may comprise additional systems designed to coordinate this communication, including, for example, performing load balancing. Theprocessor - Although the
authorization service 136,distribution service 137,client side application 123,key application 163, and other various processes and functionality described herein may be embodied in software or code executed by general purpose hardware as discussed above, as an alternative the same may also be embodied in dedicated hardware or a combination of software/general purpose hardware and dedicated hardware. If embodied in dedicated hardware, each can be implemented as a circuit or state machine that employs any one of or a combination of a number of technologies. These technologies may include, but are not limited to, discrete logic circuits having logic gates for implementing various logic functions upon an application of one or more data signals, application specific integrated circuits having appropriate logic gates, or other components, etc. Such technologies are generally well known by those skilled in the art and, consequently, are not described in detail herein. - It is to be understood that the flowcharts of
FIG. 2 ,FIG. 3 andFIG. 4 provide merely examples of the many different types of functional arrangements that may be employed to implement the operation of theclient side application 123 andauthorization service 136, respectively, as described herein. The flowcharts may also be viewed as depicting examples of methods implemented in theclient device 106 and the enterprise server 103 (or other network device), respectively, according to one or more embodiments. If embodied in software, each method step or box of the flowcharts may represent a module, segment, or portion of code that comprises program instructions to implement the specified logical function(s). The program instructions may be embodied in the form of source code that comprises human-readable statements written in a programming language or machine code that comprises numerical instructions recognizable by a suitable execution system such as aprocessor - Although the flowcharts of
FIG. 2 ,FIG. 3 andFIG. 4 show a specific order of execution, it is understood that the order of execution may differ from that which is depicted. For example, the order of execution of two or more steps may be scrambled relative to the order shown. Also, two or more blocks shown in succession inFIG. 2 ,FIG. 3 orFIG. 4 may be executed concurrently or with partial concurrence. Further, in some embodiments, one or more of the steps shown inFIG. 2 ,FIG. 3 orFIG. 4 may be skipped or omitted. In addition, any number of counters, state variables, warning semaphores, or messages might be added to the logical flow described herein, for purposes of enhanced utility, accounting, performance measurement, or providing troubleshooting aids, etc. It is understood that all such variations are within the scope of the present disclosure. - Also, any logic or application described herein, including the
authorization service 136,distribution service 137,client side application 123, andkey application 163, that comprises software or code can be embodied in any non-transitory computer-readable medium for use by or in connection with an instruction execution system such as, for example, aprocessor - It should be emphasized that the above-described embodiments of the present disclosure are merely possible examples of implementations set forth for a clear understanding of the principles of the disclosure. Many variations and modifications may be made to the above-described and other possible embodiment(s) without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included within the scope of this disclosure and the following claims.
Claims (20)
1. A method, comprising:
causing a resource to be encrypted to create an encrypted version of the resource, the encrypted version of the resource being configured to be inaccessible by a primary client device, the encrypted version of the resource being configured to be decrypted using an authorization credential to create an unencrypted version of the resource, and the unencrypted version of the resource being configured to be accessible by the primary client device;
causing the encrypted version of the resource to be provided to the primary client device;
determining that the primary client device is authorized to access the unencrypted version of the resource based at least in part on a first distribution rule, the first distribution rule being associated with the primary client device;
determining that a secondary client device is authorized to provide the primary client device with the unencrypted version of the resource based at least in part on a second distribution rule, the second distribution rule being associated with the secondary client device; and,
causing the authorization credential to be provided to the secondary client device.
2. The method of claim 1 , further comprising:
identifying a request by the primary client device to access the resource.
3. The method of claim 1 , further comprising:
identifying a request by the secondary client device for authorization to provide the primary client device with the unencrypted version of the resource.
4. The method of claim 1 , wherein the authorization credential comprises a decryption key.
5. The method of claim 1 , wherein the first distribution rule specifies that the primary client device must be physically located within a particular threshold distance of the secondary client device.
6. The method of claim 1 , wherein the first distribution rule specifies that the primary client device must be communicatively coupled to the secondary client device through a particular network.
7. A non-transitory computer readable medium comprising executable instructions, which when executed by at least one processor, cause a computing device to at least:
cause a resource to be encrypted to create an encrypted version of the resource, the encrypted version of the resource being configured to be inaccessible by a primary client device, the encrypted version of the resource being configured to be decrypted using an authorization credential to create an unencrypted version of the resource, and the unencrypted version of the resource being configured to be accessible by the primary client device;
cause the encrypted version of the resource to be provided to the primary client device;
determine that the primary client device is authorized to access the unencrypted version of the resource based at least in part on a first distribution rule, the first distribution rule being associated with the primary client device;
determine that a secondary client device is authorized to provide the primary client device with the unencrypted version of the resource based at least in part on a second distribution rule, the second distribution rule being associated with the secondary client device; and,
cause the authorization credential to be provided to the secondary client device.
8. The non-transitory computer readable medium of claim 7 , further including executable instructions, which when executed by the at least one processor, cause the computing device to:
identify a request by the primary client device to access the resource.
9. The non-transitory computer readable medium of claim 7 , further including executable instructions, which when executed by the at least one processor, cause the computing device to:
identify a request by the secondary client device for authorization to provide the primary client device with the unencrypted version of the resource.
10. The non-transitory computer readable medium of claim 7 , wherein the first distribution rule specifies that the primary client device must comprise at least one of: a particular hardware component, a particular software component, or a particular device configuration.
11. The non-transitory computer readable medium of claim 10 , further including executable instructions, which when executed by the at least one processor, cause the computing device to:
identify information describing at least one aspect of the primary client device, the at least one aspect comprising at least one of: a hardware component of the primary client device, a software component of the primary client device, or a particular device configuration of the primary client device.
12. The non-transitory computer readable medium of claim 7 , wherein the second distribution rule specifies that the secondary client device must comprise at least one of: a particular hardware component, a particular software component, or a particular device configuration.
13. The non-transitory computer readable medium of claim 12 , further including executable instructions, which when executed by the at least one processor, cause the computing device to:
identify information describing at least one aspect of the secondary client device, the at least one aspect comprising at least one of: a hardware component of the secondary client device, a software component of the secondary client device, or a particular device configuration of the secondary client device.
14. A computing device, including:
at least one processor; and,
at least one memory comprising executable instructions, which when executed by the at least one processor, cause the computing device to at least:
cause a resource to be encrypted to create an encrypted version of the resource, the encrypted version of the resource being configured to be inaccessible by a primary client device, the encrypted version of the resource being configured to be decrypted using an authorization credential to create an unencrypted version of the resource, and the unencrypted version of the resource being configured to be accessible by the primary client device;
cause the encrypted version of the resource to be provided to the primary client device;
determine that the primary client device is authorized to access the unencrypted version of the resource based at least in part on a first distribution rule, the first distribution rule being associated with the primary client device;
determine that a secondary client device is authorized to provide the primary client device with the unencrypted version of the resource based at least in part on a second distribution rule, the second distribution rule being associated with the secondary client device; and,
cause the authorization credential to be provided to the secondary client device.
15. The computing device of claim 14 , further including executable instructions, which when executed by the at least one processor, cause the computing device to:
identify a request for the primary client device to access the resource.
16. The computing device of claim 14 , further including executable instructions, which when executed by the at least one processor, cause the computing device to:
identify a request by the secondary client device for authorization to provide the primary client device with the unencrypted version of the resource.
17. The computing device of claim 14 , wherein the first distribution rule specifies that the primary client device must be operated by an authorized user based at least in part on a user credential provided by a user of the primary client device.
18. The computing device of claim 17 , wherein the user credential comprises at least one of: a personal identification number (PIN), a password, a certificate, or a token.
19. The computing device of claim 14 , wherein the second distribution rule specifies that the secondary client device must be operated by an authorized user based at least in part on a user credential provided to the secondary client device.
20. The computing device of claim 19 , wherein the user credential comprises at least one of: a personal identification number (PIN), a password, a certificate, or a token.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/220,331 US20160337347A1 (en) | 2013-03-15 | 2016-07-26 | Secondary device as key for authorizing access to resources |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/841,853 US20140282895A1 (en) | 2013-03-15 | 2013-03-15 | Secondary device as key for authorizing access to resources |
US14/083,718 US9401915B2 (en) | 2013-03-15 | 2013-11-19 | Secondary device as key for authorizing access to resources |
US15/220,331 US20160337347A1 (en) | 2013-03-15 | 2016-07-26 | Secondary device as key for authorizing access to resources |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/083,718 Continuation US9401915B2 (en) | 2013-03-15 | 2013-11-19 | Secondary device as key for authorizing access to resources |
Publications (1)
Publication Number | Publication Date |
---|---|
US20160337347A1 true US20160337347A1 (en) | 2016-11-17 |
Family
ID=51534962
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/083,718 Active 2033-06-15 US9401915B2 (en) | 2013-03-15 | 2013-11-19 | Secondary device as key for authorizing access to resources |
US15/220,331 Abandoned US20160337347A1 (en) | 2013-03-15 | 2016-07-26 | Secondary device as key for authorizing access to resources |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/083,718 Active 2033-06-15 US9401915B2 (en) | 2013-03-15 | 2013-11-19 | Secondary device as key for authorizing access to resources |
Country Status (1)
Country | Link |
---|---|
US (2) | US9401915B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018158750A1 (en) * | 2017-03-03 | 2018-09-07 | Gopc Pty Ltd | Computing systems and methods |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8713173B2 (en) | 2008-12-19 | 2014-04-29 | Openpeak Inc. | System and method for ensuring compliance with organizational policies |
US8695060B2 (en) | 2011-10-10 | 2014-04-08 | Openpeak Inc. | System and method for creating secure applications |
US9380077B2 (en) * | 2013-08-08 | 2016-06-28 | Iboss, Inc. | Switching between networks |
US8910263B1 (en) | 2013-09-17 | 2014-12-09 | Iboss, Inc. | Mobile device management profile distribution |
US10148669B2 (en) * | 2014-05-07 | 2018-12-04 | Dell Products, L.P. | Out-of-band encryption key management system |
US10212136B1 (en) | 2014-07-07 | 2019-02-19 | Microstrategy Incorporated | Workstation log-in |
US10111100B2 (en) * | 2014-08-25 | 2018-10-23 | Microsoft Technology Licensing, Llc | Multidevice authentication |
US9232013B1 (en) | 2014-09-05 | 2016-01-05 | Openpeak Inc. | Method and system for enabling data usage accounting |
US8938547B1 (en) | 2014-09-05 | 2015-01-20 | Openpeak Inc. | Method and system for data usage accounting in a computing device |
US9350818B2 (en) | 2014-09-05 | 2016-05-24 | Openpeak Inc. | Method and system for enabling data usage accounting for unreliable transport communication |
US9100390B1 (en) | 2014-09-05 | 2015-08-04 | Openpeak Inc. | Method and system for enrolling and authenticating computing devices for data usage accounting |
US20160071040A1 (en) | 2014-09-05 | 2016-03-10 | Openpeak Inc. | Method and system for enabling data usage accounting through a relay |
US20160125015A1 (en) * | 2014-10-31 | 2016-05-05 | Microsoft Corporation | Database data distribution management |
US10630686B2 (en) | 2015-03-12 | 2020-04-21 | Fornetix Llc | Systems and methods for organizing devices in a policy hierarchy |
US10560440B2 (en) | 2015-03-12 | 2020-02-11 | Fornetix Llc | Server-client PKI for applied key management system and process |
US10965459B2 (en) | 2015-03-13 | 2021-03-30 | Fornetix Llc | Server-client key escrow for applied key management system and process |
US9232078B1 (en) | 2015-03-16 | 2016-01-05 | Openpeak Inc. | Method and system for data usage accounting across multiple communication networks |
US10366243B2 (en) * | 2016-02-04 | 2019-07-30 | Airwatch, Llc | Preventing restricted content from being presented to unauthorized individuals |
US10231128B1 (en) | 2016-02-08 | 2019-03-12 | Microstrategy Incorporated | Proximity-based device access |
US10855664B1 (en) | 2016-02-08 | 2020-12-01 | Microstrategy Incorporated | Proximity-based logical access |
US10880281B2 (en) | 2016-02-26 | 2020-12-29 | Fornetix Llc | Structure of policies for evaluating key attributes of encryption keys |
US10860086B2 (en) * | 2016-02-26 | 2020-12-08 | Fornetix Llc | Policy-enabled encryption keys having complex logical operations |
CA2975517C (en) | 2016-09-06 | 2022-06-14 | Legic Identsystems Ag | Method and devices for transmitting a secured data package to a communication device |
US11005859B1 (en) * | 2016-09-23 | 2021-05-11 | EMC IP Holding Company LLC | Methods and apparatus for protecting against suspicious computer operations using multi-channel protocol |
US10375083B2 (en) * | 2017-01-25 | 2019-08-06 | International Business Machines Corporation | System, method and computer program product for location verification |
US10771458B1 (en) | 2017-04-17 | 2020-09-08 | MicoStrategy Incorporated | Proximity-based user authentication |
US10657242B1 (en) * | 2017-04-17 | 2020-05-19 | Microstrategy Incorporated | Proximity-based access |
US11140157B1 (en) | 2017-04-17 | 2021-10-05 | Microstrategy Incorporated | Proximity-based access |
CN107465688B (en) * | 2017-09-04 | 2020-09-11 | 广西电网有限责任公司电力科学研究院 | Method for identifying network application permission of state monitoring and evaluating system |
US10911236B2 (en) * | 2017-12-13 | 2021-02-02 | Paypal, Inc. | Systems and methods updating cryptographic processes in white-box cryptography |
CN108769992B (en) * | 2018-06-12 | 2021-06-18 | 腾讯科技(深圳)有限公司 | User authentication method, device, terminal and storage medium |
US11876798B2 (en) * | 2019-05-20 | 2024-01-16 | Citrix Systems, Inc. | Virtual delivery appliance and system with remote authentication and related methods |
US11610012B1 (en) * | 2019-11-26 | 2023-03-21 | Gobeep, Inc. | Systems and processes for providing secure client controlled and managed exchange of data between parties |
Citations (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020049580A1 (en) * | 2000-07-04 | 2002-04-25 | Ken Kutaragi | Content providing method, content providing server, and client terminal in a content providing infrastructure |
US20040003133A1 (en) * | 2002-06-27 | 2004-01-01 | Salil Pradhan | Event-driven discovery method and apparatus |
US20040008113A1 (en) * | 2002-07-11 | 2004-01-15 | Hewlett Packard Development Company | Location aware device |
US20050005113A1 (en) * | 2003-06-17 | 2005-01-06 | Dillon Pattie Suozzi | Method, system, and apparatus for identification number authentication |
US20050097327A1 (en) * | 2003-09-03 | 2005-05-05 | France Telecom | System and method for distributing data |
US20050198029A1 (en) * | 2004-02-05 | 2005-09-08 | Nokia Corporation | Ad-hoc connection between electronic devices |
US20060149846A1 (en) * | 2002-10-11 | 2006-07-06 | Marko Schuba | Method for linking of devices |
US20070300070A1 (en) * | 2004-06-28 | 2007-12-27 | Nds Limited | System for Proximity Determination |
US20080014947A1 (en) * | 2004-12-17 | 2008-01-17 | Murat Carnall | Method and apparatus for recording events |
US20080268895A1 (en) * | 2004-02-13 | 2008-10-30 | Sony Ericsson Mobile Communications Ab | Method and Device for Message Delivery |
US20080291897A1 (en) * | 2005-11-01 | 2008-11-27 | Eci Telecom Ltd. | Access System for the Provisioning of Different Communications Sevices, and Method for Using Same |
US20090080650A1 (en) * | 2007-09-24 | 2009-03-26 | Selgas Thomas D | Secure email communication system |
US20090086964A1 (en) * | 2007-09-27 | 2009-04-02 | Adobe Systems Incorporated | Providing local storage service to applications that run in an application execution environment |
US20090287921A1 (en) * | 2008-05-16 | 2009-11-19 | Microsoft Corporation | Mobile device assisted secure computer network communication |
US20090298514A1 (en) * | 2006-09-14 | 2009-12-03 | Shah Ullah | Real world behavior measurement using identifiers specific to mobile devices |
US20100064354A1 (en) * | 2006-12-01 | 2010-03-11 | David Irvine | Maidsafe.net |
US20100087144A1 (en) * | 2008-10-02 | 2010-04-08 | Roni Korenshtein | Short Range Exchange of Information |
US20100094981A1 (en) * | 2005-07-07 | 2010-04-15 | Cordray Christopher G | Dynamically Deployable Self Configuring Distributed Network Management System |
US20100131527A1 (en) * | 2008-11-25 | 2010-05-27 | At&T Intellectual Property I, L.P. | Systems and methods to select media content |
US20100131844A1 (en) * | 2008-11-25 | 2010-05-27 | At&T Intellectual Property I, L.P. | Systems and methods to select media content |
US20100257421A1 (en) * | 2007-11-15 | 2010-10-07 | Michinari Kohno | Radio Communication Device, Radio Communication System, Program and Radio Communication Method |
US20100262829A1 (en) * | 2009-04-08 | 2010-10-14 | Research In Motion Limited | Systems, devices, and methods for securely transmitting a security parameter to a computing device |
US20100262828A1 (en) * | 2009-04-08 | 2010-10-14 | Research In Motion Limited | Systems, devices, and methods for securely transmitting a security parameter to a computing device |
US7921155B2 (en) * | 2001-07-06 | 2011-04-05 | Intel Corporation | Method and apparatus for peer-to-peer services |
US20110113094A1 (en) * | 2005-07-22 | 2011-05-12 | Rathod Yogesh Chunilal | System and method of peer to peer searching, sharing, social networking and communication in one or more networks |
US20110320819A1 (en) * | 2010-06-23 | 2011-12-29 | Weber Karon A | Accessing restricted content based on proximity |
US20120011007A1 (en) * | 2010-07-07 | 2012-01-12 | At&T Intellectual Property I, L.P. | Mobile Payment Using DTMF Signaling |
US20120054385A1 (en) * | 2010-08-26 | 2012-03-01 | Samsung Electronics Co., Ltd. | Method and apparatus for establishing communication |
US8155587B2 (en) * | 2002-06-10 | 2012-04-10 | Sony Corporation | Communication method, communication system, and communication device for performing communication having altering communication ranges |
US20120110345A1 (en) * | 2010-11-01 | 2012-05-03 | Research In Motion Limited | Method and system for securing data of a mobile communications device |
US8276209B2 (en) * | 2004-09-17 | 2012-09-25 | Koninklijke Philips Electronics N.V. | Proximity check server |
US20120252494A1 (en) * | 2011-03-31 | 2012-10-04 | Verizon Patent And Licensing, Inc. | Providing a location-based service using real-time radio access network (ran) modeling |
US20120272287A1 (en) * | 2011-04-20 | 2012-10-25 | Cisco Technology, Inc. | Location based content filtering and dynamic policy |
US20120284322A1 (en) * | 2011-04-12 | 2012-11-08 | Citrix Systems, Inc | Using Geographic Location Data of a Mobile Device by an Application Executing Remotely on a Server |
US20120291104A1 (en) * | 2007-02-28 | 2012-11-15 | Hasek Charles A | Personal content server apparatus and methods |
US20120288091A1 (en) * | 2009-12-14 | 2012-11-15 | Sumitomo Electric Networks, Inc. | Content receiving device, content reproducing device, content receiving and reproducing device, content receiving method, and program |
US20130036459A1 (en) * | 2011-08-05 | 2013-02-07 | Safefaces LLC | Methods and systems for identity verification |
US20130046971A1 (en) * | 2009-12-28 | 2013-02-21 | China Mobile Communications Corporation | Authentication method, system and device |
US20130055363A1 (en) * | 2011-08-23 | 2013-02-28 | Siddhartha Dattagupta | Connecting remote and local networks using an identification device associated with the remote network |
US8411834B2 (en) * | 2010-04-27 | 2013-04-02 | Cox Communications, Inc. | Device-to-device call disposition |
US8423511B1 (en) * | 2011-07-07 | 2013-04-16 | Symantec Corporation | Systems and methods for securing data on mobile devices |
US8472874B2 (en) * | 2007-03-14 | 2013-06-25 | Apple Inc. | Method and system for pairing of wireless devices using physical presence |
US20130174223A1 (en) * | 2011-12-30 | 2013-07-04 | United Video Properties, Inc. | Systems and methods for temporary assignment and exchange of digital access rights |
US20130226696A1 (en) * | 2012-02-24 | 2013-08-29 | Meetme, Inc. | Social discovery system using computing device proximity |
US20130229930A1 (en) * | 2012-03-02 | 2013-09-05 | Qualcomm Atheros, Inc. | Proximity-based wireless handshaking for connection establishment |
US20130285855A1 (en) * | 2000-06-02 | 2013-10-31 | Tracbeam Llc | Services and applications for a communications network |
US20130304898A1 (en) * | 2012-05-09 | 2013-11-14 | Qualcomm Innovation Center, Inc. | Method for proximity determination between mobile peers while maintaining privacy |
US20140068717A1 (en) * | 2011-04-18 | 2014-03-06 | Nearfield Communications Limited | Method and system for controlling access |
US20140073244A1 (en) * | 2012-09-10 | 2014-03-13 | Samsung Electronics Co., Ltd. | Method and device for executing application |
US20140084067A1 (en) * | 2012-09-21 | 2014-03-27 | Alcatel-Lucent Bell N.V. | Data exchange using streamed barcodes |
US8687536B2 (en) * | 2007-02-23 | 2014-04-01 | Qualcomm Incorporated | Method and apparatus to create multicast groups based on proximity |
US20140096212A1 (en) * | 2012-09-28 | 2014-04-03 | Ned Smith | Multi-factor authentication process |
US20140096180A1 (en) * | 2012-09-28 | 2014-04-03 | Ansuya Negi | System, devices, and methods for proximity-based parental controls |
US20140113556A1 (en) * | 2012-10-19 | 2014-04-24 | Verizon Patent And Licensing, Inc. | Network-assisted device-to-device communication |
US20140123224A1 (en) * | 2012-09-23 | 2014-05-01 | Farhad David Nosrati | Method and apparatus for a portable wireless security device |
US20140162688A1 (en) * | 2012-12-10 | 2014-06-12 | Qualcomm Incorporated | Techniques for determining actual and/or near states of proximity between mobile devices |
US20140198024A1 (en) * | 2013-01-11 | 2014-07-17 | Samsung Electronics Co. Ltd. | System and method for detecting three dimensional gestures to initiate and complete the transfer of application data between networked devices |
US20140215212A1 (en) * | 2011-07-10 | 2014-07-31 | Philip Edward Dempster | Electronic data sharing device and method of use |
US20140213179A1 (en) * | 2013-01-29 | 2014-07-31 | Einar Rosenberg | System and Method for Establishing Communications between Two Devices |
US20140222504A1 (en) * | 2011-07-10 | 2014-08-07 | Blendology Limited | Electronic data sharing device and method of use |
US20140223177A1 (en) * | 2011-07-10 | 2014-08-07 | Blendogy Limited | Electronic data sharing device and method of use |
US20140230038A1 (en) * | 2011-09-19 | 2014-08-14 | E-Lock Corporation Sdn. Bhd. | Method of controlling access to an internet-based application |
US20140237614A1 (en) * | 2006-12-01 | 2014-08-21 | Maidsafe Ltd | Communication system and method |
US20140237235A1 (en) * | 2012-08-24 | 2014-08-21 | Sony Corporation | Information processing device, information storage device, server, information processing system, information processing method, and program |
US20140282877A1 (en) * | 2013-03-13 | 2014-09-18 | Lookout, Inc. | System and method for changing security behavior of a device based on proximity to another device |
US8843413B2 (en) * | 2004-02-13 | 2014-09-23 | Microsoft Corporation | Binding content to a domain |
US20140287688A1 (en) * | 2011-07-10 | 2014-09-25 | Blendology Limited | Electronic data sharing device and method of use |
US8933778B2 (en) * | 2012-09-28 | 2015-01-13 | Intel Corporation | Mobile device and key fob pairing for multi-factor security |
US8934841B2 (en) * | 2010-08-19 | 2015-01-13 | Samsung Electronics Co., Ltd. | Bluetooth communication method and system |
US20150163336A1 (en) * | 2012-05-09 | 2015-06-11 | Nearbytes Tecnologia Da Informacao Ltda | Method for the transmission of data between devices over sound waves |
Family Cites Families (147)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5666530A (en) | 1992-12-02 | 1997-09-09 | Compaq Computer Corporation | System for automatic synchronization of common file between portable computer and host computer via communication channel selected from a plurality of usable channels there between |
US6278936B1 (en) | 1993-05-18 | 2001-08-21 | Global Research Systems, Inc. | System and method for an advance notification system for monitoring and reporting proximity of a vehicle |
US6748318B1 (en) | 1993-05-18 | 2004-06-08 | Arrivalstar, Inc. | Advanced notification systems and methods utilizing a computer network |
US6618668B1 (en) | 2000-04-26 | 2003-09-09 | Arrivalstar, Inc. | System and method for obtaining vehicle schedule information in an advance notification system |
US5668876A (en) | 1994-06-24 | 1997-09-16 | Telefonaktiebolaget Lm Ericsson | User authentication method and apparatus |
US5574786A (en) | 1995-02-06 | 1996-11-12 | International Business Machines Corporation | Securing trusted personal computer system against unauthorized movement |
US6226622B1 (en) | 1995-11-27 | 2001-05-01 | Alan James Dabbiere | Methods and devices utilizing a GPS tracking system |
JPH10111727A (en) | 1996-10-03 | 1998-04-28 | Toshiba Corp | Information equipment having telephone function and security rearising method therefor |
US6021492A (en) | 1996-10-09 | 2000-02-01 | Hewlett-Packard Company | Software metering management of remote computing devices |
US6085192A (en) | 1997-04-11 | 2000-07-04 | Roampage, Inc. | System and method for securely synchronizing multiple copies of a workspace element in a network |
US7287271B1 (en) | 1997-04-08 | 2007-10-23 | Visto Corporation | System and method for enabling secure access to services in a computer network |
US6131116A (en) | 1996-12-13 | 2000-10-10 | Visto Corporation | System and method for globally accessing computer services |
US20060195595A1 (en) | 2003-12-19 | 2006-08-31 | Mendez Daniel J | System and method for globally and securely accessing unified information in a computer network |
US6708221B1 (en) | 1996-12-13 | 2004-03-16 | Visto Corporation | System and method for globally and securely accessing unified information in a computer network |
US6023708A (en) | 1997-05-29 | 2000-02-08 | Visto Corporation | System and method for using a global translator to synchronize workspace elements across a network |
US6766454B1 (en) | 1997-04-08 | 2004-07-20 | Visto Corporation | System and method for using an authentication applet to identify and authenticate a user in a computer network |
GB2361558B (en) | 1997-05-28 | 2003-07-23 | Ericsson Telefon Ab L M | A method for securing access to a remote system |
US6151606A (en) | 1998-01-16 | 2000-11-21 | Visto Corporation | System and method for using a workspace data manager to access, manipulate and synchronize network data |
US20030110084A1 (en) | 1998-03-04 | 2003-06-12 | Martin Forest Eberhard | Secure content distribution system |
US7792297B1 (en) | 1998-03-31 | 2010-09-07 | Piccionelli Greg A | System and process for limiting distribution of information on a communication network based on geographic location |
US6779118B1 (en) | 1998-05-04 | 2004-08-17 | Auriq Systems, Inc. | User specific automatic data redirection system |
US6233341B1 (en) | 1998-05-19 | 2001-05-15 | Visto Corporation | System and method for installing and using a temporary certificate at a remote site |
US6131096A (en) | 1998-10-05 | 2000-10-10 | Visto Corporation | System and method for updating a remote database in a network |
US6553375B1 (en) | 1998-11-25 | 2003-04-22 | International Business Machines Corporation | Method and apparatus for server based handheld application and database management |
US6078260A (en) | 1998-12-21 | 2000-06-20 | Sony Corporation | Method and apparatus for keeping track of children |
US7430757B1 (en) | 1999-01-08 | 2008-09-30 | International Business Machines Corporation | Oblivious proxying using a secure coprocessor |
US7373517B1 (en) | 1999-08-19 | 2008-05-13 | Visto Corporation | System and method for encrypting and decrypting files |
KR100348249B1 (en) | 1999-10-08 | 2002-08-09 | 엘지전자 주식회사 | Data architecture of VCT and method for transmit/receiving service information |
US6560772B1 (en) | 1999-10-15 | 2003-05-06 | International Business Machines Corporation | Method, system, and program for accessing data in different environments |
US7363361B2 (en) | 2000-08-18 | 2008-04-22 | Akamai Technologies, Inc. | Secure content delivery system |
WO2001046833A2 (en) | 1999-12-23 | 2001-06-28 | Logistics.Com, Inc. | Bid positioning system |
US7739334B1 (en) | 2000-03-17 | 2010-06-15 | Visto Corporation | System and method for automatically forwarding email and email events via a computer network to a server computer |
WO2001091002A2 (en) | 2000-05-22 | 2001-11-29 | Manhattan Associates | System, method and apparatus for integrated supply chain management |
US7991697B2 (en) | 2002-12-16 | 2011-08-02 | Irdeto Usa, Inc. | Method and system to digitally sign and deliver content in a geographically controlled manner via a network |
US7225231B2 (en) | 2000-09-20 | 2007-05-29 | Visto Corporation | System and method for transmitting workspace elements across a network |
WO2002041661A2 (en) | 2000-11-06 | 2002-05-23 | Qualcomm Incorporated | Method and apparatus for preventing access to information stored at a node |
US7660902B2 (en) | 2000-11-20 | 2010-02-09 | Rsa Security, Inc. | Dynamic file access control and management |
US7512806B2 (en) | 2000-11-30 | 2009-03-31 | Palmsource, Inc. | Security technique for controlling access to a network by a wireless device |
US7702785B2 (en) | 2001-01-31 | 2010-04-20 | International Business Machines Corporation | Methods, systems and computer program products for selectively allowing users of a multi-user system access to network resources |
US7603703B2 (en) | 2001-04-12 | 2009-10-13 | International Business Machines Corporation | Method and system for controlled distribution of application code and content data within a computer network |
US6996841B2 (en) | 2001-04-19 | 2006-02-07 | Microsoft Corporation | Negotiating secure connections through a proxy server |
US7284045B1 (en) | 2001-06-01 | 2007-10-16 | Visto Corporation | Method and system for determining information to access an electronic mail account |
US7228383B2 (en) | 2001-06-01 | 2007-06-05 | Visto Corporation | System and method for progressive and hierarchical caching |
US7444375B2 (en) | 2001-06-19 | 2008-10-28 | Visto Corporation | Interactive voice and text message system |
US20030009595A1 (en) | 2001-07-09 | 2003-01-09 | Roger Collins | System and method for compressing data using field-based code word generation |
US7064688B2 (en) | 2001-07-09 | 2006-06-20 | Good Technology, Inc. | System and method for compressing data on a bandwidth-limited network |
US7308710B2 (en) | 2001-09-28 | 2007-12-11 | Jp Morgan Chase Bank | Secured FTP architecture |
EP1451718B1 (en) | 2001-10-23 | 2012-08-08 | Beechwood Limited Partnership | System and method for merging remote and local data in a single user interface |
US7752166B2 (en) | 2001-11-15 | 2010-07-06 | Visto Corporation | System and methods for asynchronous synchronization |
US8108687B2 (en) | 2001-12-12 | 2012-01-31 | Valve Corporation | Method and system for granting access to system and content |
US7496957B2 (en) | 2002-01-02 | 2009-02-24 | Hewlett-Packard Development Company, L.P. | System and method for preventing use of a wireless device |
US6741232B1 (en) | 2002-01-23 | 2004-05-25 | Good Technology, Inc. | User interface for a data processing apparatus |
JP2005539409A (en) | 2002-03-01 | 2005-12-22 | エンテラシス ネットワークス インコーポレイテッド | Position recognition data network |
US8094591B1 (en) | 2002-03-19 | 2012-01-10 | Good Technology, Inc. | Data carrier detector for a packet-switched communication network |
US7788382B1 (en) | 2002-03-26 | 2010-08-31 | Good Technology, Inc. | Server initiated synchronization |
US7447506B1 (en) | 2002-03-29 | 2008-11-04 | Good Technology, Inc. | Apparatus and method for reducing network congestion |
US7310535B1 (en) | 2002-03-29 | 2007-12-18 | Good Technology, Inc. | Apparatus and method for reducing power consumption in a wireless device |
US6726106B1 (en) | 2002-04-02 | 2004-04-27 | Good Technology, Inc. | Power management and device illumination mechanisms for a personal digital assistant |
US20030204716A1 (en) | 2002-04-24 | 2003-10-30 | Rockwood Troy Dean | System and methods for digital content distribution |
US7447799B2 (en) | 2002-04-24 | 2008-11-04 | Good Technology, Inc. | System and method for automatically updating a wireless device |
US6727856B1 (en) | 2002-06-06 | 2004-04-27 | Good Technology, Inc. | Antenna system for a wireless device |
US7032181B1 (en) | 2002-06-18 | 2006-04-18 | Good Technology, Inc. | Optimized user interface for small screen devices |
CA2391717A1 (en) | 2002-06-26 | 2003-12-26 | Ibm Canada Limited-Ibm Canada Limitee | Transferring data and storing metadata across a network |
TW588243B (en) | 2002-07-31 | 2004-05-21 | Trek 2000 Int Ltd | System and method for authentication |
US8012219B2 (en) | 2002-08-09 | 2011-09-06 | Visto Corporation | System and method for preventing access to data on a compromised remote device |
US7665125B2 (en) | 2002-09-23 | 2010-02-16 | Heard Robert W | System and method for distribution of security policies for mobile devices |
US7437752B2 (en) | 2002-09-23 | 2008-10-14 | Credant Technologies, Inc. | Client architecture for portable device with security policies |
US7665118B2 (en) | 2002-09-23 | 2010-02-16 | Credant Technologies, Inc. | Server, computer memory, and method to support security policy maintenance and distribution |
US20060190984A1 (en) | 2002-09-23 | 2006-08-24 | Credant Technologies, Inc. | Gatekeeper architecture/features to support security policy maintenance and distribution |
US7353533B2 (en) | 2002-12-18 | 2008-04-01 | Novell, Inc. | Administration of protection of data accessible by a mobile device |
US7308703B2 (en) | 2002-12-18 | 2007-12-11 | Novell, Inc. | Protection of data accessible by a mobile device |
US7363349B2 (en) | 2003-01-31 | 2008-04-22 | Visto Corporation | Asynchronous real-time retrieval of data |
US7203959B2 (en) | 2003-03-14 | 2007-04-10 | Symantec Corporation | Stream scanning through network proxy servers |
US6995749B2 (en) | 2003-03-28 | 2006-02-07 | Good Technology, Inc. | Auto font magnification mechanism |
GB0308991D0 (en) | 2003-04-17 | 2003-05-28 | Psion Digital Ltd | A data access replication or communication system comprising a distributed software application |
US7275073B2 (en) | 2003-05-07 | 2007-09-25 | Good Technology, Inc. | System and method for notifying mobile devices based on device type and network capabilities |
US7890091B2 (en) | 2003-05-08 | 2011-02-15 | Good Technology, Inc. | Collaborative data and intelligent synchronization for mobile devices |
US7840631B2 (en) | 2003-05-09 | 2010-11-23 | Good Technology, Inc. | Multimedia control with one-click device selection |
US20040224703A1 (en) | 2003-05-09 | 2004-11-11 | Takaki Steven M. | Method and system for enhancing venue participation by venue participants |
US7184801B2 (en) | 2003-05-12 | 2007-02-27 | Good Technology, Inc. | Mobile application builder |
US20140143852A1 (en) | 2008-08-21 | 2014-05-22 | Ntrepid Corporation | Secure network privacy system |
US7515717B2 (en) | 2003-07-31 | 2009-04-07 | International Business Machines Corporation | Security containers for document components |
US7735122B1 (en) | 2003-08-29 | 2010-06-08 | Novell, Inc. | Credential mapping |
US20050081055A1 (en) | 2003-10-10 | 2005-04-14 | Bea Systems, Inc. | Dynamically configurable distributed security system |
US7421741B2 (en) | 2003-10-20 | 2008-09-02 | Phillips Ii Eugene B | Securing digital content system and method |
US20050097032A1 (en) | 2003-10-29 | 2005-05-05 | Lucent Technologies Inc. | Network support for automatic credit for dropped calls |
US7039394B2 (en) | 2003-11-25 | 2006-05-02 | Good Technology, Inc. | Communication system and method for compressing information sent by a communication device to a target portable communication device |
CA2560271A1 (en) | 2004-03-18 | 2005-09-29 | Francisco Jauffred | Transportation management system and method for shipment planning optimization |
US7543146B1 (en) | 2004-06-18 | 2009-06-02 | Blue Coat Systems, Inc. | Using digital certificates to request client consent prior to decrypting SSL communications |
JP4552540B2 (en) | 2004-07-09 | 2010-09-29 | ソニー株式会社 | Content recording apparatus, content reproducing apparatus, content recording method, content reproducing method, and program |
US7475152B2 (en) | 2004-09-20 | 2009-01-06 | International Business Machines Corporation | Approach to provide self-protection function to web content at client side |
US7620001B2 (en) | 2004-10-13 | 2009-11-17 | Good Technology, Inc. | Communication system and method with mobile devices |
US8001082B1 (en) | 2004-10-28 | 2011-08-16 | Good Technology, Inc. | System and method of data security in synchronizing data with a wireless device |
US7970386B2 (en) | 2005-06-03 | 2011-06-28 | Good Technology, Inc. | System and method for monitoring and maintaining a wireless device |
US7590403B1 (en) | 2005-06-07 | 2009-09-15 | Good Technology, Inc. | Wireless device dormancy override |
US20070130473A1 (en) | 2005-12-02 | 2007-06-07 | Mazotas James S | System and method for access control |
US20070136492A1 (en) | 2005-12-08 | 2007-06-14 | Good Technology, Inc. | Method and system for compressing/decompressing data for communication with wireless devices |
US8006289B2 (en) | 2005-12-16 | 2011-08-23 | International Business Machines Corporation | Method and system for extending authentication methods |
US8621549B2 (en) | 2005-12-29 | 2013-12-31 | Nextlabs, Inc. | Enforcing control policies in an information management system |
US7702322B1 (en) | 2006-02-27 | 2010-04-20 | Good Technology, Llc | Method and system for distributing and updating software in wireless devices |
US7620392B1 (en) | 2006-02-27 | 2009-11-17 | Good Technology, Inc. | Method and system for distributing and updating software in wireless devices |
WO2007106539A2 (en) | 2006-03-14 | 2007-09-20 | Internoded, Inc. | Apparatus and method for provisioning wireless data communication devices |
CA2647737A1 (en) | 2006-03-31 | 2007-10-11 | Visto Corporation | System and method for searching disparate datastores via a remote device |
US20070261099A1 (en) | 2006-05-02 | 2007-11-08 | Broussard Scott J | Confidential content reporting system and method with electronic mail verification functionality |
US8745227B2 (en) | 2006-06-07 | 2014-06-03 | Apple Inc. | Distributed secure content delivery |
US7917963B2 (en) | 2006-08-09 | 2011-03-29 | Antenna Vaultus, Inc. | System for providing mobile data security |
US8046823B1 (en) | 2006-10-03 | 2011-10-25 | Stamps.Com Inc. | Secure application bridge server |
US8538028B2 (en) | 2006-11-20 | 2013-09-17 | Toposis Corporation | System and method for secure electronic communication services |
US9324074B2 (en) | 2007-01-17 | 2016-04-26 | Eagency, Inc. | Mobile communication device monitoring systems and methods |
WO2008103608A2 (en) | 2007-02-19 | 2008-08-28 | Ondeego, Inc. | Methods and system to create applications and distribute applications to a remote device |
US8225085B2 (en) | 2007-06-05 | 2012-07-17 | Blue Coat Systems, Inc. | System and method for distributed SSL processing between co-operating nodes |
US20080318548A1 (en) | 2007-06-19 | 2008-12-25 | Jose Bravo | Method of and system for strong authentication and defense against man-in-the-middle attacks |
US8060074B2 (en) | 2007-07-30 | 2011-11-15 | Mobile Iron, Inc. | Virtual instance architecture for mobile device management systems |
US8456293B1 (en) | 2007-10-22 | 2013-06-04 | Alarm.Com Incorporated | Providing electronic content based on sensor data |
CN101965563A (en) | 2007-11-05 | 2011-02-02 | 维斯托公司 | Service management system & associated methodology of providing service related message prioritization in a mobile client |
US8447303B2 (en) | 2008-02-07 | 2013-05-21 | Research In Motion Limited | Method and system for automatic seamless mobility |
US9185554B2 (en) | 2008-02-15 | 2015-11-10 | Appcentral, Inc. | System and methods to store, retrieve, manage, augment and monitor applications on appliances |
WO2009129337A1 (en) | 2008-04-15 | 2009-10-22 | Problem Resolution Enterprise, Llc | Method and process for registering a device to verify transactions |
US8910255B2 (en) | 2008-05-27 | 2014-12-09 | Microsoft Corporation | Authentication for distributed secure content management system |
US8763071B2 (en) | 2008-07-24 | 2014-06-24 | Zscaler, Inc. | Systems and methods for mobile application security classification and enforcement |
WO2010028194A1 (en) | 2008-09-05 | 2010-03-11 | Tim Collins | System, apparatus and associated methodology for enriching contact of a remote client |
US8555351B2 (en) | 2008-09-29 | 2013-10-08 | International Business Machines Corporation | Trusted database authentication through an untrusted intermediary |
US8346234B2 (en) | 2008-11-08 | 2013-01-01 | Absolute Software Corporation | Secure platform management with power savings capacity |
US8260320B2 (en) | 2008-11-13 | 2012-09-04 | Apple Inc. | Location specific content |
US8909925B2 (en) | 2008-11-17 | 2014-12-09 | Prakash Baskaran | System to secure electronic content, enforce usage policies and provide configurable functionalities |
US20100138667A1 (en) | 2008-12-01 | 2010-06-03 | Neil Patrick Adams | Authentication using stored biometric data |
US20100222645A1 (en) | 2009-02-27 | 2010-09-02 | Verizon Patent And Licensing Inc. | Health and wellness monitoring system |
US8695058B2 (en) | 2009-05-20 | 2014-04-08 | Mobile Iron, Inc. | Selective management of mobile device data in an enterprise environment |
US20100299152A1 (en) | 2009-05-20 | 2010-11-25 | Mobile Iron, Inc. | Selective Management of Mobile Devices in an Enterprise Environment |
US8898748B2 (en) | 2009-05-21 | 2014-11-25 | Mobile Iron, Inc. | Remote verification for configuration updates |
US20100299362A1 (en) | 2009-05-24 | 2010-11-25 | Roger Frederick Osmond | Method for controlling access to data containers in a computer system |
US8214862B1 (en) | 2009-07-13 | 2012-07-03 | Sprint Communications Company L.P. | Conserving bandwidth by restricting videos communicated in a wireless telecommunications network |
US8706272B2 (en) | 2009-08-14 | 2014-04-22 | Apple Inc. | Adaptive encoding and compression of audio broadcast data |
US8984657B2 (en) | 2009-09-08 | 2015-03-17 | Appcentral, Inc. | System and method for remote management of applications downloaded to a personal portable wireless appliance |
JP5370131B2 (en) | 2009-12-22 | 2013-12-18 | セイコーエプソン株式会社 | Image display apparatus and control method |
US8825732B2 (en) | 2010-02-15 | 2014-09-02 | Unwired Planet, Llc | Scripting/proxy systems, methods and circuit arrangements |
US9135434B2 (en) | 2010-04-19 | 2015-09-15 | Appcentral, Inc. | System and method for third party creation of applications for mobile appliances |
US9350708B2 (en) | 2010-06-01 | 2016-05-24 | Good Technology Corporation | System and method for providing secured access to services |
US9558476B2 (en) | 2010-07-01 | 2017-01-31 | Good Technology Holdings Limited | Method and device for editing workspace data objects |
US9576068B2 (en) | 2010-10-26 | 2017-02-21 | Good Technology Holdings Limited | Displaying selected portions of data sets on display devices |
US8566923B2 (en) | 2011-02-01 | 2013-10-22 | Rockwell Automation Technologies, Inc. | Enhanced organization and automatic navigation of display screens facilitating automation control |
US9659165B2 (en) | 2011-09-06 | 2017-05-23 | Crimson Corporation | Method and apparatus for accessing corporate data from a mobile device |
US8713646B2 (en) | 2011-12-09 | 2014-04-29 | Erich Stuntebeck | Controlling access to resources on a network |
US8622836B2 (en) | 2011-12-22 | 2014-01-07 | Igt | Use of wireless signal strength to determine connection |
US10042603B2 (en) | 2012-09-20 | 2018-08-07 | Samsung Electronics Co., Ltd. | Context aware service provision method and apparatus of user device |
US9451551B2 (en) | 2012-12-21 | 2016-09-20 | Apple Inc. | Controlling a power state of a cellular packet data subsystem in a portable electronic device |
US10251059B2 (en) | 2014-01-21 | 2019-04-02 | Everykey Inc. | Authentication device and method |
-
2013
- 2013-11-19 US US14/083,718 patent/US9401915B2/en active Active
-
2016
- 2016-07-26 US US15/220,331 patent/US20160337347A1/en not_active Abandoned
Patent Citations (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130285855A1 (en) * | 2000-06-02 | 2013-10-31 | Tracbeam Llc | Services and applications for a communications network |
US20020049580A1 (en) * | 2000-07-04 | 2002-04-25 | Ken Kutaragi | Content providing method, content providing server, and client terminal in a content providing infrastructure |
US7921155B2 (en) * | 2001-07-06 | 2011-04-05 | Intel Corporation | Method and apparatus for peer-to-peer services |
US8155587B2 (en) * | 2002-06-10 | 2012-04-10 | Sony Corporation | Communication method, communication system, and communication device for performing communication having altering communication ranges |
US20040003133A1 (en) * | 2002-06-27 | 2004-01-01 | Salil Pradhan | Event-driven discovery method and apparatus |
US20040008113A1 (en) * | 2002-07-11 | 2004-01-15 | Hewlett Packard Development Company | Location aware device |
US20060149846A1 (en) * | 2002-10-11 | 2006-07-06 | Marko Schuba | Method for linking of devices |
US20050005113A1 (en) * | 2003-06-17 | 2005-01-06 | Dillon Pattie Suozzi | Method, system, and apparatus for identification number authentication |
US20050097327A1 (en) * | 2003-09-03 | 2005-05-05 | France Telecom | System and method for distributing data |
US20050198029A1 (en) * | 2004-02-05 | 2005-09-08 | Nokia Corporation | Ad-hoc connection between electronic devices |
US20080268895A1 (en) * | 2004-02-13 | 2008-10-30 | Sony Ericsson Mobile Communications Ab | Method and Device for Message Delivery |
US8843413B2 (en) * | 2004-02-13 | 2014-09-23 | Microsoft Corporation | Binding content to a domain |
US20070300070A1 (en) * | 2004-06-28 | 2007-12-27 | Nds Limited | System for Proximity Determination |
US8276209B2 (en) * | 2004-09-17 | 2012-09-25 | Koninklijke Philips Electronics N.V. | Proximity check server |
US20080014947A1 (en) * | 2004-12-17 | 2008-01-17 | Murat Carnall | Method and apparatus for recording events |
US20100094981A1 (en) * | 2005-07-07 | 2010-04-15 | Cordray Christopher G | Dynamically Deployable Self Configuring Distributed Network Management System |
US20110113094A1 (en) * | 2005-07-22 | 2011-05-12 | Rathod Yogesh Chunilal | System and method of peer to peer searching, sharing, social networking and communication in one or more networks |
US20080291897A1 (en) * | 2005-11-01 | 2008-11-27 | Eci Telecom Ltd. | Access System for the Provisioning of Different Communications Sevices, and Method for Using Same |
US20090298514A1 (en) * | 2006-09-14 | 2009-12-03 | Shah Ullah | Real world behavior measurement using identifiers specific to mobile devices |
US20140237614A1 (en) * | 2006-12-01 | 2014-08-21 | Maidsafe Ltd | Communication system and method |
US20100064354A1 (en) * | 2006-12-01 | 2010-03-11 | David Irvine | Maidsafe.net |
US8687536B2 (en) * | 2007-02-23 | 2014-04-01 | Qualcomm Incorporated | Method and apparatus to create multicast groups based on proximity |
US20120291104A1 (en) * | 2007-02-28 | 2012-11-15 | Hasek Charles A | Personal content server apparatus and methods |
US8472874B2 (en) * | 2007-03-14 | 2013-06-25 | Apple Inc. | Method and system for pairing of wireless devices using physical presence |
US20090080650A1 (en) * | 2007-09-24 | 2009-03-26 | Selgas Thomas D | Secure email communication system |
US20090086964A1 (en) * | 2007-09-27 | 2009-04-02 | Adobe Systems Incorporated | Providing local storage service to applications that run in an application execution environment |
US20100257421A1 (en) * | 2007-11-15 | 2010-10-07 | Michinari Kohno | Radio Communication Device, Radio Communication System, Program and Radio Communication Method |
US20090287921A1 (en) * | 2008-05-16 | 2009-11-19 | Microsoft Corporation | Mobile device assisted secure computer network communication |
US20100087144A1 (en) * | 2008-10-02 | 2010-04-08 | Roni Korenshtein | Short Range Exchange of Information |
US20100131844A1 (en) * | 2008-11-25 | 2010-05-27 | At&T Intellectual Property I, L.P. | Systems and methods to select media content |
US20100131527A1 (en) * | 2008-11-25 | 2010-05-27 | At&T Intellectual Property I, L.P. | Systems and methods to select media content |
US20100262828A1 (en) * | 2009-04-08 | 2010-10-14 | Research In Motion Limited | Systems, devices, and methods for securely transmitting a security parameter to a computing device |
US20100262829A1 (en) * | 2009-04-08 | 2010-10-14 | Research In Motion Limited | Systems, devices, and methods for securely transmitting a security parameter to a computing device |
US20120288091A1 (en) * | 2009-12-14 | 2012-11-15 | Sumitomo Electric Networks, Inc. | Content receiving device, content reproducing device, content receiving and reproducing device, content receiving method, and program |
US20130046971A1 (en) * | 2009-12-28 | 2013-02-21 | China Mobile Communications Corporation | Authentication method, system and device |
US8411834B2 (en) * | 2010-04-27 | 2013-04-02 | Cox Communications, Inc. | Device-to-device call disposition |
US20110320819A1 (en) * | 2010-06-23 | 2011-12-29 | Weber Karon A | Accessing restricted content based on proximity |
US20120011007A1 (en) * | 2010-07-07 | 2012-01-12 | At&T Intellectual Property I, L.P. | Mobile Payment Using DTMF Signaling |
US8934841B2 (en) * | 2010-08-19 | 2015-01-13 | Samsung Electronics Co., Ltd. | Bluetooth communication method and system |
US20120054385A1 (en) * | 2010-08-26 | 2012-03-01 | Samsung Electronics Co., Ltd. | Method and apparatus for establishing communication |
US20120110345A1 (en) * | 2010-11-01 | 2012-05-03 | Research In Motion Limited | Method and system for securing data of a mobile communications device |
US20120252494A1 (en) * | 2011-03-31 | 2012-10-04 | Verizon Patent And Licensing, Inc. | Providing a location-based service using real-time radio access network (ran) modeling |
US20120284322A1 (en) * | 2011-04-12 | 2012-11-08 | Citrix Systems, Inc | Using Geographic Location Data of a Mobile Device by an Application Executing Remotely on a Server |
US20140068717A1 (en) * | 2011-04-18 | 2014-03-06 | Nearfield Communications Limited | Method and system for controlling access |
US20120272287A1 (en) * | 2011-04-20 | 2012-10-25 | Cisco Technology, Inc. | Location based content filtering and dynamic policy |
US8423511B1 (en) * | 2011-07-07 | 2013-04-16 | Symantec Corporation | Systems and methods for securing data on mobile devices |
US20140287688A1 (en) * | 2011-07-10 | 2014-09-25 | Blendology Limited | Electronic data sharing device and method of use |
US20140215212A1 (en) * | 2011-07-10 | 2014-07-31 | Philip Edward Dempster | Electronic data sharing device and method of use |
US20140223177A1 (en) * | 2011-07-10 | 2014-08-07 | Blendogy Limited | Electronic data sharing device and method of use |
US20140222504A1 (en) * | 2011-07-10 | 2014-08-07 | Blendology Limited | Electronic data sharing device and method of use |
US20130036459A1 (en) * | 2011-08-05 | 2013-02-07 | Safefaces LLC | Methods and systems for identity verification |
US20130055363A1 (en) * | 2011-08-23 | 2013-02-28 | Siddhartha Dattagupta | Connecting remote and local networks using an identification device associated with the remote network |
US20140230038A1 (en) * | 2011-09-19 | 2014-08-14 | E-Lock Corporation Sdn. Bhd. | Method of controlling access to an internet-based application |
US20130174223A1 (en) * | 2011-12-30 | 2013-07-04 | United Video Properties, Inc. | Systems and methods for temporary assignment and exchange of digital access rights |
US20130226696A1 (en) * | 2012-02-24 | 2013-08-29 | Meetme, Inc. | Social discovery system using computing device proximity |
US20130229930A1 (en) * | 2012-03-02 | 2013-09-05 | Qualcomm Atheros, Inc. | Proximity-based wireless handshaking for connection establishment |
US20130304898A1 (en) * | 2012-05-09 | 2013-11-14 | Qualcomm Innovation Center, Inc. | Method for proximity determination between mobile peers while maintaining privacy |
US20150163336A1 (en) * | 2012-05-09 | 2015-06-11 | Nearbytes Tecnologia Da Informacao Ltda | Method for the transmission of data between devices over sound waves |
US20140237235A1 (en) * | 2012-08-24 | 2014-08-21 | Sony Corporation | Information processing device, information storage device, server, information processing system, information processing method, and program |
US20140073244A1 (en) * | 2012-09-10 | 2014-03-13 | Samsung Electronics Co., Ltd. | Method and device for executing application |
US20140084067A1 (en) * | 2012-09-21 | 2014-03-27 | Alcatel-Lucent Bell N.V. | Data exchange using streamed barcodes |
US20140123224A1 (en) * | 2012-09-23 | 2014-05-01 | Farhad David Nosrati | Method and apparatus for a portable wireless security device |
US20140096212A1 (en) * | 2012-09-28 | 2014-04-03 | Ned Smith | Multi-factor authentication process |
US20140096180A1 (en) * | 2012-09-28 | 2014-04-03 | Ansuya Negi | System, devices, and methods for proximity-based parental controls |
US8933778B2 (en) * | 2012-09-28 | 2015-01-13 | Intel Corporation | Mobile device and key fob pairing for multi-factor security |
US20140113556A1 (en) * | 2012-10-19 | 2014-04-24 | Verizon Patent And Licensing, Inc. | Network-assisted device-to-device communication |
US20140162688A1 (en) * | 2012-12-10 | 2014-06-12 | Qualcomm Incorporated | Techniques for determining actual and/or near states of proximity between mobile devices |
US20140198024A1 (en) * | 2013-01-11 | 2014-07-17 | Samsung Electronics Co. Ltd. | System and method for detecting three dimensional gestures to initiate and complete the transfer of application data between networked devices |
US20140213179A1 (en) * | 2013-01-29 | 2014-07-31 | Einar Rosenberg | System and Method for Establishing Communications between Two Devices |
US20140282877A1 (en) * | 2013-03-13 | 2014-09-18 | Lookout, Inc. | System and method for changing security behavior of a device based on proximity to another device |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018158750A1 (en) * | 2017-03-03 | 2018-09-07 | Gopc Pty Ltd | Computing systems and methods |
Also Published As
Publication number | Publication date |
---|---|
US9401915B2 (en) | 2016-07-26 |
US20140282846A1 (en) | 2014-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11689516B2 (en) | Application program as key for authorizing access to resources | |
US9401915B2 (en) | Secondary device as key for authorizing access to resources | |
AU2018250465B2 (en) | Secondary device as key for authorizing access to resources | |
US9686287B2 (en) | Delegating authorization to applications on a client device in a networked environment | |
US10949526B2 (en) | User device authentication | |
US9769266B2 (en) | Controlling access to resources on a network | |
US20180013747A1 (en) | Controlling Access to Resources on a Network | |
US9547756B2 (en) | Registration of devices in a digital rights management environment | |
US9247432B2 (en) | Systems and methods for controlling network access | |
US20140109194A1 (en) | Authentication Delegation | |
AU2014235152B9 (en) | Delegating authorization to applications on a client device in a networked environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCV | Information on status: appeal procedure |
Free format text: ON APPEAL -- AWAITING DECISION BY THE BOARD OF APPEALS |
|
STCV | Information on status: appeal procedure |
Free format text: BOARD OF APPEALS DECISION RENDERED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION |