US20040123153A1 - Administration of protection of data accessible by a mobile device - Google Patents
Administration of protection of data accessible by a mobile device Download PDFInfo
- Publication number
- US20040123153A1 US20040123153A1 US10/413,443 US41344303A US2004123153A1 US 20040123153 A1 US20040123153 A1 US 20040123153A1 US 41344303 A US41344303 A US 41344303A US 2004123153 A1 US2004123153 A1 US 2004123153A1
- Authority
- US
- United States
- Prior art keywords
- policy
- module
- security
- network
- mobile device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 90
- 230000007246 mechanism Effects 0.000 claims abstract description 22
- 238000004891 communication Methods 0.000 claims description 86
- 238000001514 detection method Methods 0.000 claims description 49
- 238000013475 authorization Methods 0.000 claims description 25
- 230000000694 effects Effects 0.000 claims description 24
- 230000008859 change Effects 0.000 claims description 17
- 238000003745 diagnosis Methods 0.000 claims description 16
- 238000012544 monitoring process Methods 0.000 claims description 11
- 238000010295 mobile communication Methods 0.000 claims description 4
- 230000002155 anti-virotic effect Effects 0.000 abstract description 5
- 230000003044 adaptive effect Effects 0.000 abstract description 2
- 230000000903 blocking effect Effects 0.000 abstract description 2
- 238000007726 management method Methods 0.000 description 57
- 238000001914 filtration Methods 0.000 description 14
- 238000012546 transfer Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 11
- 230000008901 benefit Effects 0.000 description 10
- 230000009471 action Effects 0.000 description 9
- 238000012360 testing method Methods 0.000 description 9
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 101001094649 Homo sapiens Popeye domain-containing protein 3 Proteins 0.000 description 5
- 101000608234 Homo sapiens Pyrin domain-containing protein 5 Proteins 0.000 description 5
- 101000578693 Homo sapiens Target of rapamycin complex subunit LST8 Proteins 0.000 description 5
- 102100027802 Target of rapamycin complex subunit LST8 Human genes 0.000 description 5
- 238000013459 approach Methods 0.000 description 5
- 238000012550 audit Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 108091006110 nucleoid-associated proteins Proteins 0.000 description 5
- 241000234295 Musa Species 0.000 description 4
- 235000021015 bananas Nutrition 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 241000700605 Viruses Species 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 239000002023 wood Substances 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000003449 preventive effect Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000007727 signaling mechanism Effects 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 241000549343 Myadestes Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 238000000060 site-specific infrared dichroism spectroscopy Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- 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
- H04L63/0492—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 by using a location-limited connection, e.g. near-field communication or limited proximity of entities
-
- 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/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
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/30—Security of mobile devices; Security of mobile applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/30—Security of mobile devices; Security of mobile applications
- H04W12/37—Managing security policies for mobile devices or for controlling mobile applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/875—Monitoring of systems including the internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/63—Location-dependent; Proximity-dependent
Definitions
- This application relates to the field of security of data accessible by mobile devices.
- Mobile devices are using wired and wireless technologies to access networks at work, at home, or in public ‘hot spots.’
- Those same mobile devices have documents, spreadsheets, e-mail, and other files with valuable company information if not valuable personal information in them.
- NAP wired and wireless network access points
- PDAs personal digital assistants
- the present invention provides one or more embodiments of a system for providing administration of protection of data accessible by one or more mobile devices based upon criteria such as a location associated with a network environment in which each mobile device is operating and/or security features associated with each of the mobile devices. Furthermore, the present invention provides one or more embodiments of a method for providing administration of protection of data accessible by one or more mobile devices based upon criteria such as a location associated with a network environment and/or security features associated with each of the mobile devices.
- the one or more embodiments of the present invention may also be embodied as instructions stored in one or more computer usable mediums some examples of which are a memory, a disk, a compact disc, a field programmable gate array, a flash card or an integrated circuit.
- the present invention also provides one or more embodiments of a system for remotely diagnosing one or more mobile devices, and a method for remotely diagnosing one or more mobile devices.
- Mobile devices include portable computing devices that access a network or another computer.
- Mobile devices include devices that access a network or another computer through a wired connection as well as portable computing devices that access a network or another computer through a wireless connection.
- a notebook computer accessing a network through a T1 line or phone line at an airport is a mobile device.
- the same notebook computer may also access a network through a wireless connection to a network access point (NAP).
- NAP network access point
- a portable computing device having a wireless connection capability is often referred to in this connection context as a wireless device which is a type of mobile device.
- the protection of data is administered through one or more security policies.
- One function of a security policy is determining accessibility of data for the mobile device. For example, based on the current location associated with the mobile device, a file resident on the device may be encrypted or may be hidden as required or recommended by a security policy. Additionally, a security policy may not allow a particular network service or application or both to be used based upon either or both of a particular detected location or the activity status of a security feature.
- FIG. 1 illustrates one or more examples of location categories which may be assigned to a mobile device in accordance with an embodiment of the present invention.
- FIG. 2A illustrates a computer system for administering the protection of data accessible by one or more mobile devices based on either or both of a location associated with the mobile device or a security feature in accordance with an embodiment of the present invention.
- FIG. 2B illustrates a system in a client mobile device for protecting data accessible by the mobile device based on either or both of a location associated with the mobile device or a security feature in accordance with an embodiment of the present invention.
- FIG. 3A illustrates a method for managing one or more security policies for the protection of data accessible by a mobile device based upon criteria in accordance with an embodiment of the present invention.
- FIG. 3B illustrates a method for distributing a security policy by a server computer system for the protection of data accessible by a mobile device in accordance with an embodiment of the present invention.
- FIG. 3C illustrates a method for obtaining security information by a mobile client device from a server system in accordance with an embodiment of the present invention.
- FIG. 3D illustrates a method for protecting data accessible by a mobile device based on a location associated with a network environment in which the mobile device is operating in accordance with an embodiment of the present invention.
- FIG. 3E illustrates a method for protecting data accessible by a mobile device based on a location associated with a network environment in which the mobile device is operating and a security feature in accordance with another embodiment of the present invention.
- FIG. 3F illustrates a method for protecting data accessible by a mobile device based on a security feature in accordance with another embodiment of the present invention.
- FIG. 4A illustrates an example of a graphical user interface displaying examples of locations in accordance with an embodiment of the present invention.
- FIG. 4B illustrates an example of a graphical user interface displaying examples of combinations of a location and a security feature, each combination forming the basis of selecting a security policy in accordance with an embodiment of the present invention.
- FIG. 5A illustrates a method for defining criteria for an aspect of a security policy in accordance with an embodiment of the present invention.
- FIG. 5B illustrates a graphical user interface example illustrating a method for defining criteria with respect to environmental network parameters or characteristics to define a location in accordance with an embodiment of the present invention.
- FIG. 5C illustrates a graphical user interface example displaying the network services in further illustration of the method example described in FIGS. 5B, 5D, 5 E and 5 F.
- FIG. 5D illustrates a graphical user interface example for configuring parameters associated with one of the selected network services, in this example Gateway services, of the method example described in FIGS. 5B, 5C, 5 E and 5 F in accordance with an embodiment of the present invention providing for further configuration of the selection of services.
- FIG. 5E illustrates another graphical user interface example for configuring parameters associated with one of the selected network services, in this example Domain Name System (DNS) Servers, of the method described in FIGS. 5B, 5C, 5 D and 5 F in accordance with an embodiment of the present invention providing for further configuration of the selection of services.
- DNS Domain Name System
- FIG. 5F illustrates an example user interface for indicating a minimum number of network services or service providers to be present within the network environment for a valid location identification in continuing illustration of the example of a method in accordance with an embodiment of the present invention illustrated in FIGS. 5B, 5C, 5 D, and 5 E.
- FIG. 6A illustrates a method for detecting location based upon a defined criteria in accordance with an embodiment of the present invention.
- FIG. 6B illustrates one version of the method in accordance with this embodiment of the present invention illustrated in FIG. 6A in which the criteria is a matching criteria.
- FIG. 6C illustrates one version of the method in accordance with this embodiment of the present invention illustrated in FIG. 6A in which the criteria is a weighted average of N network parameters.
- FIG. 7 illustrates a system in a mobile client device for protecting data accessible by a mobile device in accordance with an embodiment of the present invention.
- FIG. 8 illustrates a server system embodiment for administering the protection of data accessible by a mobile device in accordance with another embodiment of the present invention interacting with a system in a client mobile device for protecting data accessible by the mobile device in accordance with another embodiment of the present invention.
- FIG. 9A illustrates an example of a method for determining whether the security feature of a connection type of wireless or wired is in effect for a communication session between the mobile device and another computer in accordance with an embodiment of the present invention.
- FIG. 9B illustrates an example of a method for determining whether the security feature of a security software program is currently executing on a mobile device for a communication session between the mobile device and another computer in accordance with an embodiment of the present invention.
- FIG. 9C illustrates an example of a method for determining one or more security features of a network access point with which the mobile device is communicating in accordance with an embodiment of the present invention.
- FIGS. 10A and 10B illustrates a method of enforcing a security policy using illustrative examples of events in accordance with an embodiment of the present invention.
- FIG. 11 illustrates an embodiment of a method for providing remote diagnostic support from a server computer system to a mobile client device in accordance with an embodiment of the invention.
- FIG. 1 illustrates one or more examples of location categories 102 , 104 , 106 , 108 which may be assigned based on the network environment in which a mobile device is operating in accordance with an embodiment of the present invention.
- a location category is “Home” 104 .
- the network environment in which each of the mobile devices 148 , 150 communicates via a network connection at a user's home is detected.
- each of the mobile devices is assigned a location indicator or type of “Home” 104 .
- each of the laptop 148 and the PDA 150 communicating with the illustrated wireless network access point will have its location set to “Home.”
- the location “Work” 106 is an example of a location associated with a network environment maintained by a user's employer.
- a notebook computer 164 has a wired CAT-5 Ethernet connection 168 to the corporate server of his or her employer.
- the notebook computer 164 may also communicate with the server 112 through a wireless NAP 162 as illustrated.
- a location category is “Mobile” 102 .
- a mobile device such as the illustrated notebook computer 122 accesses a network environment respectively through a wired connection 126 (in this example a T1 line) to a wired network access point 128 .
- This wired network access point 128 may provide access to an Internet shopping site server 110 because the user desires to browse the site while waiting for departure.
- the notebook computer 122 and the personal digital assistant (PDA) 124 have a wireless connection to a wireless NAP 130 , in this example an 802.11b connection through which they may communicate at the airport.
- the security policy associated with the “Mobile” location may take into account the connection type of wired or wireless.
- the network environment provided at the airport does not match with a defined environment associated with a location such as “Work” 106 or “Home” 104 so “Mobile” 102 is assigned or associated with the PDA 124 and the notebook computer 122 as a default location.
- the last location example is “Alternate” 108 .
- a specific environment e.g. an environment associated with a university computer lab or an environment associated with a type of network class
- a “Custom” or another named location may also be defined.
- the wireless network access point 182 is associated with a cellular base station providing network access through a General Packet Radio Services (GPRS) system, Global System for Mobile communication (GSM) system, third generation wireless 3G system or other kind of mobile wireless communication system.
- GPRS General Packet Radio Services
- GSM Global System for Mobile communication
- 3G third generation wireless 3G system or other kind of mobile wireless communication system.
- FIGS. 2A and 2B illustrate interaction between a computer system 200 (FIG. 2A) acting in a server role with respect to a mobile computer system 201 (FIG. 2B) acting in a client role for the purposes of managing security with respect to the client system in accordance with an embodiment of the invention.
- FIGS. 2A and 2B also illustrate interaction between the server computer system 200 and the mobile client computer system 201 for the purpose of providing diagnostic assistance to the client computer system.
- the system 200 in FIG. 2A may be implemented as software executing in a standalone computer having a processor being accessible to memory, the processor being communicatively coupled with one or more network interfaces, a display and input/output devices such as a keyboard and a pointing device.
- the system 200 may be implemented by a series of networked computers as may typically be implemented by an enterprise. Additionally, the system 200 in FIG. 2A may also be implemented in another mobile computing device.
- the server or server-side system 200 allows an administrator to manage and distribute policies and software upgrades, analyze logs, and perform remote diagnostics.
- the client system 201 in FIG. 2B may be implemented as software executing in a mobile computing device having a processor being accessible to memory, the processor being communicatively coupled with one or more network interfaces, a display and input/output devices such as a keyboard and a pointing device.
- the client side system 201 monitors the user's changes in location and/or security features and applies the appropriate policies automatically as the user moves about or different security features are activated or deactivated.
- the client 201 enforces the policies set up by the administrator, and performs diagnostics.
- the client 201 can also create and manage policies for the client mobile device when run in a self-managed mode.
- the server system 200 is discussed first.
- FIG. 2A illustrates a system 200 for administering protection of data accessible by a mobile device based on either or both of a location associated with a network environment in which the mobile device is operating or an activity status of a security feature associated with the mobile device or the environment in which it is communicating in accordance with an embodiment of the present invention.
- the illustrated system embodiment 200 comprises an authorization module 232 , a policy distribution module 234 , a policy management module 236 , illustrated here with an optional policy setting module 238 and an optional policy enforcement module 244 , a remote diagnostics module 224 and a user interface module 240 .
- the system embodiment 200 protects data accessible by the mobile device that may be resident (See FIG.
- each of these modules has a communication interface or is communicatively coupled to each of the other modules and has access to data objects 242 stored in memory 242 of the server system 200 and also has access to a network 204 (e.g. Internet).
- a network 204 e.g. Internet
- the policy management module 236 manages security policies.
- One aspect of managing security policies is defining the policies.
- the policy management module 236 comprises instructions for establishing this pre-defined criteria based upon user input processed by the communicatively coupled user interface module 240 .
- Defining policies includes the creation of policies and the modification of policies. Examples of aspects of a policy includes specification of rules and permissions (e.g. policy override), defining one or more locations associated with network environments, defining or identifying security features to be monitored, ports to be monitored, network services to be monitored, applications to be monitored, enforcement mechanisms to be put in place for a particular policy, level identification for a policy or policy aspect for flexibility (optional, recommended, mandatory, invisible), and feedback (e.g. custom error messages) to alert an administrator via a user interface screen using the server system 200 of certain conditions or to alert a client device user via a user interface screen of certain conditions.
- rules and permissions e.g. policy override
- defining one or more locations associated with network environments defining or
- policies There may be several layers of policies.
- the attributes of the base policy may be incorporated into other policies which add on additional attributes. For example, a base policy for the group including engineers in the user interface design department may be allowed access to files on a certain disk drive. Another policy based on location that incorporates the attributes of the base policy may only allow access to encrypted versions of the files if a mobile device through which a UI design engineer is logged in is operating in a “Home” network location.
- the optional policy setting module 238 is discussed below in the discussion of the client policy setting module 212 of FIG. 2B.
- the optional policy enforcement module 244 is discussed below in the discussion of the client policy enforcement control module 214 of FIG. 2B.
- the policy management module 236 is provided with an enterprise's existing group structures.
- the policy management module 236 compensates for a failing in the traditional makeup of groups. Since groups are not hierarchical, it is common for one person to be a member of several groups, and if each group has its own security policy, an issue arises as to how to determine which policy to apply to a particular user.
- the policy management module 236 inputs a prioritized list of groups from a memory location 242 .
- the policy management module 236 searches the groups in priority order of the list. Thus, if a person is a member of “engineering” and “executive staff,” that person will get the security policy for whichever of those two groups comes first in the prioritized list.
- the policy distribution module 234 distributes security information to the one or more client mobile devices.
- the policy distribution module 234 has a communication interface or is communicatively coupled to the policy management module 236 for receiving notifications of updated security information.
- security information are versions of existing policies, policies, or software.
- An example of communication interface is a bus between a processor executing one or more of the modules and a memory controller responsible for memory reads/writes. Another example is one module reading a parameter stored in a memory location by another module.
- Other communication interfaces known to those of ordinary skill in the art may also be used.
- the authorization module 232 authorizes a communication exchange between the client mobile device and the policy distribution or policy management modules.
- the authorization module 232 is a further safeguard against unauthorized or rogue mobile devices trying to hijack the security policies or corporate data.
- Various authorization protocols and techniques may be used.
- One example is a simple username and password verification scheme.
- Another example of a type of authorization protocol is a cryptographic authentication protocol.
- the authorization module 232 may also be used to authorize a communication exchange between the client system 201 and the remote diagnostics module 224 .
- the remote diagnostics module 224 is illustrated in the context of a server computer system embodiment 200 in FIG. 2A concerned with security or protection of data accessible by mobile client devices. However, the remote diagnostics module 224 may also function to provide diagnostic support for computer problems generally encountered by mobile client devices independently of security related software. In this embodiment, the remote diagnostics module 224 provides diagnostic assistance and/or corrective instructions with respect to problems not only associated with security but also provides such support with other problems generally encountered by mobile client devices.
- the remote diagnostics module 224 has a communication interface or is communicatively coupled with the user interface module 240 , the authorization module 232 , the policy management module 236 and the policy distribution module 234 . This allows a person using the mobile device to get the device repaired where they are as opposed to having to mail the device or wait until he or she is back in the office to get help.
- the remote diagnostics module 224 comprises three modules or sub-modules: a monitoring module 226 , a diagnosis module 228 , and a diagnosis distribution module 230 .
- the monitoring module 226 receives diagnostic information such as events or audit logs from a client device and stores the information in a data object ( 242 ) for the client device.
- a client diagnostics module e.g. FIG. 2B, 246 periodically and automatically initiates tests. Results including errors from these tests are reported over a network 204 (e.g. Internet) to the remote diagnostics module 224 .
- Other examples of diagnostic information retrieved from the client are debug output files, examples of which include system event logs, crash dumps, and diagnostic outputs from a client diagnostics module (e.g. 246 , FIG. 2B). This information may be received periodically over a network 204 from the client diagnostics module 246 , or upon an initial network connection by the mobile device with the server, or because the client diagnostics module 246 requests diagnostic assistance.
- the diagnosis module 228 analyzes diagnostic information stored for the mobile device. For example the diagnosis module 228 may perform analysis according to pre-stored diagnostic programs or according to an interactive user environment or a combination of the two. The diagnosis module 228 may provide a repair to a problem in the client device, determine that a trend is occurring for the device, or determine that preventive maintenance is to be scheduled for the client device. In one example, the diagnosis module 228 initiates requests to the client mobile device for additional information. The additional information may be based on input received via the user interface module 240 or according to a pre-stored diagnosis method. In one embodiment, the diagnosis module 228 provides requested information to the user interface module 240 responsive to user input.
- the diagnosis module 228 may provide requested information transmitted via the diagnostics distribution module 230 over the network 204 to the client mobile device responsive to requests received at a user interface module on the client device (e.g. FIG. 2B, 218).
- support information may be distributed to the mobile device under the control of the diagnosis distribution module 230 .
- support information may be in the form of instructions or code to the client device to repair a problem or perform maintenance. This provides an advantage of taking corrective or preventive actions without requiring user intervention or action.
- Another example of support information that may be forwarded are messages for display by the client device providing a diagnostic report or requesting specific input from a user of the device.
- Either or both of the monitoring module 226 or the diagnosis module 228 may initiate tests and/or queries to determine the readiness or robustness of the existing client device population. Trends may be noted. Again, these tests may be run during a connection with a device without requiring user intervention.
- the remote diagnostics module 224 may also probe a particular client to verify its status. For example, client configuration information may be retrieved such as the current version of the security policy software components on the client device, the current policy settings on the device, and attributes in accordance with those settings, for example, which ports are blocked. This information may be stored for later assistance in a diagnostics situation or for use with a current diagnostics situation.
- FIG. 2B illustrates a system 201 for protecting data accessible by a mobile device based on a location associated with a network environment in which the mobile device is operating in accordance with an embodiment of the present invention. Additionally, the system 201 in FIG. 2B illustrates a system for determining and enforcing security policies based upon the activity status of a security feature in a communication session between the mobile device and another computer.
- the illustrated system embodiment 201 comprises a location detection module 208 , a policy setting module 212 , security features determination module 210 , a policy enforcement control module 214 , a layer manager 206 , a user interface module 218 , memory location(s) 216 , an authorization module 245 , and a client diagnostics module 246 .
- the system 201 protects data accessible by the mobile device that may be in resident memory 220 on the device or be data 242 accessible over a network 204 .
- each of these modules has a communication interface or is communicatively coupled to each of the other modules. Resident memory 220 may be accessed by one or more of these modules.
- the authorization module 245 provides authorization information to the authorization module 232 of the server system 200 to establish communication exchanges with the client mobile device for the exchange of security information or diagnostic information or both.
- the client diagnostics module 246 collects diagnostic information which is sent to the remote diagnostics module 224 of the server system embodiment 200 .
- the layer manager 206 has a communication interface to one or more modules 208 , 210 , 212 , 214 , 245 , 246 .
- a layer manager 206 processes network traffic which may include inbound data (e.g. 242 , FIG. 2A) accessible over a network and outbound copies of data objects from resident memory 220 .
- the layer manager 206 processes information in one or more layers of a model for communications between computers in a network.
- An example of such a model is the Open Systems Interconnection (OSI) data communications model.
- the seven layers of the OSI model are the physical layer, the data-link layer, the network layer, the transport layer, the session layer, the presentation layer, and the application layer.
- Another example is the layered Internet Protocol stack. It is represented as four layers including the subnetwork layer, the Internet layer, the transport layer, and the application layer.
- the layer manager 206 has a communication interface, for example a software interface or buffers for storing parameters, to a location detection module 208 .
- the layer manager 206 forwards network parameters to the location detection module 208 .
- the location detection module 208 detects or determines the location associated with the current network environment based upon criteria defined in a downloaded policy from the server system 200 .
- the policy setting module 212 receives, installs and updates the security information including security policies and/or software updates received from the policy management module 236 via the policy distribution module 234 over the network connection 204 .
- the policy setting module 212 may define criteria or if permissions set by the policy management module 236 allow, supplemental policy definitions or customization of policy definitions based upon user input processed by the mobile device user interface module 218 . Similarly, if operating in a standalone mode not under the control of the server system, the policy setting module 212 defines an aspect of a policy such as location criteria or security features criteria based upon user input processed by user interface module 218 .
- memory locations 216 including indicators of security features and/or location indicators, have a communication interface (e.g. a bus between a processor executing one or more of the modules and a memory controller responsible for memory reads/writes) to the location detection module 208 , the security features determination module 210 , the policy setting module 212 , the policy enforcement control module 214 , the authorization module 245 , and the client diagnostics module 246 .
- the location detection module 208 has a communication interface to the policy setting module 212 .
- the policy setting module 212 determines a security policy based upon the location detected by the location detection module 208 and communicated via a communication interface.
- the policy setting module 212 may read a current location indicator 216 updated in a memory location 216 by the location detection module 208 .
- the policy setting module 212 may then read the location indicator 216 periodically or responsive to a notification message from the location detection module 208 .
- the location detection module 208 may pass the currently detected location to the policy setting module 212 as a parameter in a message.
- other communication interfaces known to those of ordinary skill in the art for use in notifying the policy setting module 212 of the current location may also be used.
- an optional policy setting module 238 may operate on a server computer system such as the one illustrated in FIG. 2A that determines the selection of the current security policy for the mobile device based on criteria information received from the mobile device including location and activity status of one or more security features or based on network parameters forwarded by the layer manager 206 .
- a module on the client device such as the policy enforcement control module 214 receives commands from the policy setting module 238 and executes them on the mobile device.
- the policy setting module 212 also has a communication interface to a policy enforcement module 214 .
- the policy enforcement module 214 comprises instructions for enforcing the security policy currently set by the policy setting module 212 .
- the enforcement module 214 comprises instructions for one or more enforcement mechanisms associated with a security policy.
- an optional policy enforcement module 244 in a server computer system 200 with which the client device has a network connection 204 may send instructions to the mobile device for the enforcement of a security policy as determined by the optional policy setting module 238 for the local device on the server side.
- a user interface module 218 has a communication interface to one or more of these modules 208 , 210 , 212 , 214 , 245 , 246 .
- the user interface module 218 receives input from a user input device such as a keyboard, mouse, or touchpad, and causes user interfaces to be displayed for use by a user for establishing criteria for defining an aspect of a security policy as allowed by permissions associated with the policy or when operating in a standalone mode not under the control of the server system 200 .
- the illustrated system 201 embodiment in accordance with the present invention further comprises a security feature module 210 for determining whether one or more security features have an activity status of inactive or active in a communication session between the mobile device and another computer.
- An example of a security feature is a connection type of wired or wireless. In one example, this connection type may be indicated by the association of the port over which data is communicated with a wireless or wired network adapter or network interface card (NIC). In another example, this connection type may be indicated by the association of a local IP address with data communicated over a wireless or wired network adapter or network interface card (NIC).
- NIC wireless or wired network adapter or network interface card
- policies may be set based on particular features besides simply connection type. For example, a different security policy may be applied for different brands of NICs or particular classes (e.g. 802.3, 802.11a, 802.11b, GPRS, GSM) of NICs. Furthermore, different security policies may be assigned based on the operating system employed or the version of the operating system because different systems or versions provide different security features. Furthermore, different policies may be employed based on the security features (e.g. a firewall) provided by different types of network access points (NAP).
- NAP network access points
- the presence or absence of upgraded NIC support for enhanced security protocols e.g. 802.11i
- the presence or absence of security software such as virtual private network (VPN), or antivirus software, or intrusion-detection software may be the basis for setting different policies on a particular port, network adapter or data.
- enhanced security protocols e.g. 802.11i
- security software such as virtual private network (VPN)
- VPN virtual private network
- intrusion-detection software may be the basis for setting different policies on a particular port, network adapter or data.
- the security features module 210 has a communication interface to the policy setting module 212 in this embodiment as well as the memory locations 216 .
- the activity status of active or inactive for a security feature may be indicated by an activity status indicator field for the feature stored in the memory locations 216 .
- the policy setting module 212 may be notified of the active features via the communication interface implemented in the same manner described in any one of the examples discussed above with respect to the location detection module 208 or in any manner known to those of ordinary skill in the art.
- the policy setting module 212 communicates the current security policy to the policy enforcement control module 214 via a communication interface implemented in the same manner described in any one of the examples discussed above with respect to the location detection module 208 or in any manner known to those of ordinary skill in the art.
- the policy enforcement module 214 comprises one or more enforcement mechanism modules as specified by the policy. For example, in a communication session between the mobile device and another computer in which data is being transferred over a wireless connection, based on this connection type, in one example, the enforcement module 214 may prevent certain files from being transferred over the wireless connection as opposed to the cases in which the data is being transferred over a wired connection, or the case in which 802.11i cryptography is being used over the wireless connection.
- the policy enforcement control module 244 may operate as part of a separate computer system that transfers commands over a network to the mobile device.
- a remote diagnostics module 246 processes events and performs audits relating to processing performed by one or more of the modules.
- the remote diagnostics module 246 transmits over a network 204 diagnostic information to the remote diagnostic module 224 on the server computer system. Examples of tasks that the diagnostics module 246 performs in order to obtain diagnostics information are as follows:
- Verify e.g. checksum
- Examples of other tasks that the client diagnostics module 246 may perform to provide diagnostic information to the remote diagnostics module 224 on the server computer system 200 include enabling and disabling advanced debugging and sending debugging output to the server computer system 200 .
- enabling and disabling advanced debugging includes turning on system event logging with options including which parameters to log, when to log, etc. and allowing a debug version of a system component to be installed.
- the system event log or portions of it and any special debug output files that debug components generate are sent to the remote diagnostics module 224 on the server.
- FIG. 11 illustrates an embodiment of a method for providing remote diagnostic support from a server computer system to a mobile client device in accordance with an embodiment of the invention.
- the method may be performed by a combination of diagnostic software modules in a server computer system (e.g. remote diagnostics module 224 in FIG. 2A) and by diagnostic software on the mobile client device such as the client diagnostics module 246 in the system embodiment of FIG. 2B.
- the method will be discussed in the context of FIGS. 2A and 2B.
- the remote diagnostic module 224 receives 1102 a notification of an error occurrence on a client mobile device.
- the client diagnostics module 246 retrieves 1104 the diagnostic information such as a crash dump or system error log associated with the error and forwards it to the server computer system.
- the remote diagnostics module 224 determines the one or more software modules 1105 in which the error or errors have occurred, and downloads 1106 a debug version for each of the effected software modules or portions.
- the client diagnostics module 246 may request that the user interface module 218 cause the debug output to be displayed 1107 on a screen of the mobile device. This feature allows the mobile device user to possibly assist in the diagnostic/debugging process. Debug versions of the software in which the error occurred are downloaded from the server system and installed 1108 on the client device.
- the output from these debug versions are captured 1110 and sent to the remote diagnostics module 224 .
- the diagnosis module 228 uses pre-stored diagnostic programs to analyze 1112 the output from the debug versions, or provides information as requested by user input from user interface module 240 , or analyzes 1112 the data through a combination of stored programs and interactive directives.
- support information is provided 1114 from the diagnosis distribution module 230 over the network 204 to the client diagnostics module 246 .
- Some examples of support information are software instructions for corrective action or messages of an instructive or diagnostic nature which the client diagnostics module 246 sends to the client user interface module 218 to cause to be displayed on the screen of the mobile device.
- the client diagnostics module 246 may also run tests with respect to the security policies. For example, tests may be run that attempt to communicate to the outside world on blocked ports or an IP address may be pinged. Output may be saved in a debug output file and sent to a screen on the mobile computing device and/or sent to the remote diagnostics module 224 on the server computer system.
- any one of the modules may have an event logging module and/or an auditing module which sends diagnostic information to the remote diagnostics module 224 .
- each of the event logging module or the auditing module may record events pertinent to its respective module (e.g. location detection module 208 ).
- either or both of the event logging module or the auditing module may process events and perform audits relating to the processing performed by more than one of the modules.
- FIG. 3A illustrates a method for managing one or more security policies for the protection of data accessible by a mobile device based upon criteria in accordance with an embodiment of the present invention.
- the policy management module 236 defines 302 a security policy applicable to a client mobile device based upon criteria.
- criteria is the location associated with the network environment in which the mobile device is operating.
- criteria are the presence or the activity status of one or more security features.
- a combination of location and one or more security features may also form a criteria basis for defining a security policy.
- the policy management module 236 designates 304 one or more client devices associated with the policy. In one example, this association may be based on an entity or class to which the security policy is applicable.
- An example of an entity is a group with one or more members.
- An example of a member may be a user of the client mobile device.
- a policy may be set that is applicable to the group of all engineers in the software development department.
- Another example of a member is the mobile device itself. For example, the capabilities of different mobile devices may be the basis for classifying them into different groups.
- the policy management module 236 provides 306 the one or more designated client mobile devices with authorization information for use in contacting the server system securely.
- authorization information is an encrypted token provided by the authorization module 232 to the mobile client device during a trusted connection between the two.
- An example of a trusted connection may be an internal connection behind the firewall of and within the internal network of the enterprise with which both the server system and the mobile client device system are associated.
- an authority server within the firewall in the internal network provides the authorization information.
- a client mobile device connects via the Internet, it interacts with one or more of the enterprise side servers external to the firewall. The client contacts the external servers to retrieve policies and instructions. The external servers also perform key/identity management, client disable methods (e.g. unmanaged mode) and policy persistence.
- the external servers communicate with the authority server through the firewall for client management information such as a key, a user, a group, and version information associated with a client mobile device system.
- client management information such as a key, a user, a group, and version information associated with a client mobile device system.
- the policy management module 236 provides 308 the designated client mobile device with cryptographic information which the client device can store and use to decrypt the security information.
- An example of cryptographic information is a key for use with a cryptographic authentication protocol. In one example, Microsoft® web keys may be used.
- the policy management module 236 sets 310 the permissions for the one or more associated mobile devices with respect to the one or more policies.
- permissions typically relate to the allowable modification that may be made to a downloaded policy or client software by the client mobile device. Permissions may be applied to various policies and to the criteria upon which policies are defined. For example, there may be permissions set for a policy, but permissions may also be set with respect to a location.
- a permission setting or a level of identification for each of the permissions may also be set.
- Modifiable The user has permission to modify the setting freely.
- the policy management module 236 determines 309 whether the security information is to be encrypted. If not, the policy management module 236 stores 312 the security policy. If it is to be encrypted, the policy is encrypted 311 . Similarly the policy management module 236 may also encrypted other types of security information such as software updates before they are stored. For example, the security policy may be stored as a data object in a memory 242 accessible via an internal enterprise network. In another example, security policies may be included in XML documents which may themselves be encrypted. In an alternate embodiment, the policy management module 236 may store the policy unencrypted, the policy distribution module 234 makes the determination of whether encryption applies to the policy or other security information, and the policy distribution module 234 encrypts the security information before distributing it.
- the policy management module 236 manages the one or more client devices for security purposes.
- One aspect of client management is that the policy management module 236 maintains 314 client management information for the mobile device and the one or more policies associated with it.
- the following list of information fields is an example of the types of information which may be included in client management information.
- Connection state which is one of:
- the information may be organized in a data object stored in a memory 242 accessible to the server computer system.
- GUI graphical user interface
- FIG. 3B illustrates a method for distributing a security policy by a server computer system for the protection of data accessible by a mobile device in accordance with an embodiment of the present invention.
- each of the client mobile devices sends a status request upon network access starting up to the server system.
- the status request provides information regarding the client mobile device, examples of which are authorization information, policies and their version numbers resident on the device, and diagnostic information.
- the authorization module 232 receives 322 the status request with authorization information from a client mobile device, and it determines 324 whether a communication exchange with this mobile device is authorized. If not, the status request is ignored 326 or an error message is sent 326 .
- the policy distribution module 234 determines 328 if security information (e.g. a policy or software) applicable to the mobile client device has been updated since the last status request. If not, the status request is ignored 325 or a no update message is sent 325 . Responsive to a new policy, a new version, or new software being available that is applicable to the requesting client device, the policy distribution module 234 distributes 327 the updated security information to the mobile device over the network (e.g. Internet) 204 . In an alternate embodiment (not shown), the distribution module 234 determines if the information has been designated to be encrypted. If not, it distributes 327 the security information to the client device. If it is to be encrypted, the security information is encrypted and then distributed 327 to the client device.
- security information e.g. a policy or software
- FIG. 3C illustrates a method for obtaining security information by a mobile client device from a server system in accordance with an embodiment of the present invention.
- the client policy setting module 212 determines whether a network connection has been 332 activated. If not, a communication session with the server is not sought 333 . However, responsive to a network connection being activated, the authorization module 245 on the client device sends 334 sends a status request checking if new security information is available along with authorization information to the server system 200 .
- a key is generated and stored in an encrypted file. This encrypted file is copied and distributed to the clients and any other servers in the server system.
- the key generation uses a pseudorandom number generator code. This key may be used for two purposes: authentication of clients and authentication of a downloaded security information such as policies by a client as discussed below. Clients installed by some other enterprise will have a different key, and clients installed in an unmanaged mode will not have a key.
- the new security information is downloaded 337 .
- the client policy setting module 212 determines 338 if the security information is encrypted 338 . If so, the security information is decrypted 340 using cryptographic information stored in memory (e.g. 220 ) that was previously downloaded in a secure session within the enterprise's internal network. For example, on the server side, a SHA1 hash of the file is performed, and the result is appended to the file. In this example, the file data is encrypted with the key for example using the Advanced Encryption Standard (AES). On the client side, a hash is performed with the key, and a comparison of the result made.
- AES Advanced Encryption Standard
- the security information is authenticated 341 by the client system, for example by the authorization module 245 in the embodiment of FIG. 2B.
- the client decrypts the security information, which will be a policy in this illustration
- a SHA1 hash of the policy is performed, and compared to the SHA1 hash found at the end of the decrypted file. If the comparison succeeds, then the client can safely conclude that the policy was generated on an authorized server, and that the policy has not been corrupted (nor tampered with).
- the security information is installed 342 for execution on the client mobile device.
- a session may be established between the server system 200 and the client system 201 using protocols.
- the protocols are designed to be extensible and straightforward to allow addition of new verbs later.
- An example “Establish Session” protocol that may be used to authenticate the client as a first step in all client-server transactions is illustrated below:
- the server computes the same SHA1 hash, and if it doesn't match what the client sent, then the server drops the connection with no further ado. Otherwise, after this protocol is finished, the server has authenticated the client.
- the client diagnostics module 246 creates 328 an audit event noting failure to establish the session.
- the client policy setting module 212 sends an update query to the server system. Two examples of update query protocols may be used as discussed below:
- the “Query Policy Update” protocol is used to find out if a new policy is available for download.
- the “Query Software Update” protocol can be required as a step in all first connections or periodically as designated by the administrator.
- the new security information is downloaded (e.g. 337 ).
- download protocols Two examples of download protocols that may be used are illustrated below:
- the “Download Policy” protocol may be used to retrieve the software update.
- the “Download Software” protocol may be used to retrieve the software update.
- the server takes the initiative and “pushes” security information to at least one client.
- a protocol is used not to actually push a software update or a policy, but to notify clients that a software update is available as illustrated below.
- a multicast notification may be transmitted and in another example, a broadcast notification may be transmitted. The transmission may be to all currently connected clients in one instance. In another, the notification may be transmitted to all currently connected clients and to all other clients at that last known locations stored in client device profiles in memory 242 .
- protocol version “Push Software” verb, software version, software update size, total number of clients, max number of simultaneous clients, SHA1(protocol version, software version, software update size, total number of clients, max number of simultaneous clients, key) or for a policy:
- s-->all c's protocol version, “Push Policy” verb, policy version, policy size, total number of clients, max number of simultaneous clients, SHA1 (protocol version, policy version, policy size, total number of clients, max number of simultaneous clients, key).
- the clients use the “software update size,” or the “policy size”, “total number of clients,” and “max number of simultaneous clients” to calculate a randomized waiting period before attempting to download the software update or policy.
- An example of a calculation for the randomized waiting period is as follows:
- a server system provides for anti-virus file scanning between a client and server.
- a benefit of this embodiment is that this approach decreases the latency typically found in responding to new computer viruses.
- a software application on the client mobile device processes all incoming file and email transfers.
- the software calculates signatures of each file received and forwards these to a centralized server (e.g. corporate server).
- the server compares incoming signatures against its current database of virus signatures and responds to the client device with its results. In this way, the client device uses the latest virus signatures with which the server has been updated.
- Another aspect of the invention provides for allowing managed mobile clients to do secure “peer to peer” communications and file transfers via an intermediate policy server.
- One embodiment of a method for allowing managed mobile clients to do secure “peer to peer” communications and file transfers in accordance with the invention is described next. This embodiment illustrates the ability for a client to send a file to another client who may or may not be available on line. In the latter case, the files are transferred and cached to the policy server. When the receiving client comes on line, the files would then be transferred to it. Text messages may be handled in a similar fashion to files and queued where appropriate. This embodiment may provide that communications between clients would be encrypted according to a policy defined by the policy server administrator.
- This embodiment may also provide that the type, size, format and other attributes of transferred files would be controllable by the policy server administrator.
- Files transfers and/or user-to-user communications may be subject to other policies. Additionally, files transferred between users may be checked for malicious software by the policy server prior to be forwarded to the recipient. For email between users who are on the same corporate domain, email APIs may be used to redirect email and attachments through an encrypted channel to the policy server to the corporate mail server.
- a method for placing a client device temporarily in self-manage mode comprises the following:
- the client generates a random challenge key.
- a policy management module 236 in the associated server computer system 200 of the client generates a response key as an update flag which is read by an administrator over the phone to the user, who types it in to the client device.
- the client authorization module 245 stores the update flag.
- the client system 201 enters a self-managed mode, allowing the user to edit and modify the client's security policies.
- FIGS. 3D, 3E and 3 F are discussed in the context of the system embodiment of FIG. 2B.
- FIG. 3D illustrates a method 360 for protecting data accessible by a mobile device based on a location associated with the mobile device in accordance with an embodiment of the present invention.
- the location detection module 208 detects 362 a location associated with a network environment in which a mobile device is operating.
- the policy setting module 212 determines 364 what security policy is to be the currently enforced or current security policy based upon the detected location associated with the mobile device.
- the policy enforcement module 214 enforces 366 the current security policy.
- FIG. 3E illustrates a method 380 for protecting data accessible by a mobile device based on a location associated with the mobile device and a security feature in accordance with another embodiment of the present invention.
- the location detection module 208 detects 382 a location associated with a network environment in which a mobile device is operating.
- the security features module 210 determines 384 whether one or more security features have an activity status of active or inactive in a communication session between the mobile device and another computer.
- the policy setting module 212 determines 386 the current security policy based upon the detected location and the activity status of the one or more security features associated with the mobile device.
- the policy enforcement module 214 enforces 388 the current security policy that has been set by the policy setting module 212 .
- FIG. 3F illustrates a method 390 for protecting data accessible by a mobile device based on a security feature in accordance with another embodiment of the present invention.
- the security features module 210 determines 392 whether one or more security features have an activity status of active or inactive in a communication session between the mobile device and another computer.
- the policy setting module 212 determines 394 the current security policy based upon the activity status of the one or more security features.
- the policy enforcement module 214 enforces 396 the current security policy that has been set by the policy setting module 212 .
- a system embodiment such as that in FIG. 2B may execute one or more of the method embodiments shown in FIGS. 3A, 3B or 3 C on a continuous basis such as may be implemented for example using a periodic time setting or a loop.
- the location detection module 208 continues detecting or monitoring the location using one or more location detection methods.
- the security module 210 continuously monitors the activity status with respect to one or more security features.
- the policy setting module 212 determines whether a change in the current security policy is necessary.
- the policy enforcement module 214 is notified of the change and enforces the new security policy set as the current policy.
- a notification of a change in policy, location, security feature or a combination of any of these may be sent by the policy setting module 212 or policy enforcement module 214 to the user interface module 218 which may then cause a notification indicating the change to be displayed in order to provide the user an opportunity to intervene in the policy change if he desires and is allowed to do so. Whether a notification is displayed or not, the security policy change in this embodiment is performed automatically without requiring user intervention.
- FIG. 4A illustrates an example of a graphical user interface displaying examples of locations in accordance with an embodiment of the present invention. The examples illustrated correspond to those shown in FIG. 1, “Mobile” 102 , “Home” 104 , “Work” 106 and “Alternate” 108 .
- FIG. 4B illustrates an example of a graphical user interface displaying examples of combinations of a location and a security feature, each combination forming the basis of selecting a security policy in accordance with an embodiment of the present invention.
- a location and a connection type detected are matched with an indicator.
- This indicator serves the dual role of a location indicator and a security feature indicator.
- the combination of having a “Wired connection to Home Network” results in an indicator or category of “Home.”
- a “Wireless Connection to Home Network” results in an indicator or category of “Home Wireless” signifying that the associated policy accounts for security risks associated with a wireless connection.
- Security policies may be stored as data objects accessible over a network 242 in FIG. 2A or in resident memory 220 in FIG. 2B. In another example, security policies may be stored as XML documents.
- a security policy may have associated with it or be associated with more than one location or security feature.
- a security policy may be defined as a container having an object type of “location” and a data object type of “security feature.”
- the “location” data object has attributes of “security features” and rules defining the policy associated with the location type.
- Policy Locations Location list
- Adapters Wired Adapter Wireless Adapter Permissions Rules File Encryption is illustrated below Policy Locations Location (list) Adapters Wired Adapter Wireless Adapter Permissions Rules File Encryption .
- network adapters are generalized into the two categories of wired and wireless and when the policy is put into action on the mobile device, whatever adapters exist on the mobile device inherit the properties of these two prototype adapters in the policy object.
- FIGS. 5A through 5F are discussed for illustrative purposes only in the context of the policy management module 236 and user interface module 240 of FIG. 2A.
- the optional policy setting module 238 of the server system in FIG. 2A may also provide the same functionality as the policy management module 236 in defining an aspect of a policy.
- the policy setting module 212 and user interface module 218 in FIG. 2B may provide similar functionality in defining an aspect of a policy as the policy management module 236 and user interface module 240 as allowed by the permissions set by the policy management module 236 .
- FIG. 5A illustrates a method 500 for defining criteria for an aspect of a security policy in accordance with an embodiment of the present invention.
- An example of an aspect of a policy is a location or a security feature.
- Another example is a component to be monitored such as a port or port group or a file.
- Some examples of a file are an e-mail, a text message, a TIFF file, or a Word document.
- the policy management module 236 receives 502 user input from the user interface module 240 defining criteria for an aspect of a policy, and the policy management module 236 updates 504 the aspect of the policy in accordance with the received user input.
- FIGS. 5B, 5C, 5 D, 5 E and 5 F illustrate graphical user interfaces illustrating an example of how an aspect of a policy may be defined.
- FIG. 5B illustrates a graphical user interface example illustrating a method for defining criteria with respect to environmental network parameters or characteristics to define a location in accordance with an embodiment of the present invention.
- the policy management module 236 may receive from the user interface module 240 a user-selected name for a location to be defined via such a graphical user interface as this illustrated example. A user-provided description may also be received for this location via the illustrated interface.
- the network parameters are defined based upon user input received from user interface module 240 for each location to be defined.
- a “Stamp” button in this embodiment, one or more network parameters are determined.
- the policy setting module 212 requests a snapshot of the current network environment parameters which it receives in the example of FIG. 2B from the layer manager 206 .
- network parameters are identifications of network services such as Gateways, Domain Name System (DNS) Servers, (Dynamic Host Control Protocol) DHCP and Domain servers.
- the policy management module 236 may receive the “stamped” network parameters from the policy setting module 212 or the location detection module 208 on the client device after a snapshot has been taken in order to define locations.
- FIG. 5C illustrates a graphical user interface example displaying the network services identified in a network snapshot in further illustration of the method example described in FIGS. 5B, 5D, 5 E and 5 F.
- the policy management module 236 directs the user interface module 240 to display the types of servers which the user interface module 240 causes to be displayed in such an interface as the illustrated example of FIG. 5C.
- the displayed user interface example of FIG. 5C illustrates by check marks user input that has been received via an input device identifying those services selected for further configuration.
- FIG. 5D illustrates a graphical user interface example for configuring parameters associated with one of the selected network services, in this example Gateway services, of the method example described in FIGS. 5B, 5C, 5 E and 5 F in accordance with an embodiment of the present invention providing for further configuration of the selection of services.
- FIG. 5D presents an example user interface for configuring a “Gateway Service Definition.”
- the service definition specifies the specific servers that provide network service for this location.
- a service definition may be defined by a service identifier having a value of a NETBIOS name such as “NET-GATEWAY” or an IP address.
- NETBIOS name such as “NET-GATEWAY”
- a service identifier designation is received by the policy management module 236 from the user interface module 240 .
- the service identifier designation indicates whether or not a particular service identifier provided by a service provider during location detection in operation of the mobile device must match this service identifier by a “Yes” or a “No” input designation.
- the policy management module 236 stores the service identifiers and their corresponding service identifier designations so that they are associated with the location being defined.
- FIG. 5E illustrates another graphical user interface example for configuring parameters associated with one of the selected network services, in this example Domain Name System (DNS) Servers, of the method described in FIGS. 5B, 5C, 5 D and 5 F in accordance with an embodiment of the present invention providing for further configuration of the selection of services.
- DNS Domain Name System
- the parameter associated with each of these identified servers is an IP address, and user input designates by “Yes” or “No” whether the IP Address is a parameter to be associated with the location associated with this network environment.
- FIG. 5F illustrates an example user interface for indicating a minimum number of network services or service providers to be present within the network environment for a valid location identification in continuing illustration of the example of a method in accordance with the present invention illustrated in FIGS. 5B, 5C, 5 D, and 5 E.
- the minimum number is received by the user interface module 240 and forwarded to the policy management module 236 .
- This minimum number may include the number of service providers whose service identifiers must match plus a number of service providers whose identifiers may optionally match according to a user defined criteria.
- These one or more network parameters identifying the location are stored in a data object (e.g. look-up table) in memory 242 for the associated client device. Similarly, they may be stored in a data object in resident memory 220 , particularly for locations defined by the client system 201 .
- FIG. 6A illustrates a method 600 for detecting location based upon a defined criteria in accordance with an embodiment of the present invention.
- the defined criteria may be based on network parameters such as the examples of a Domain, Gateway, DHCP, DNS1, DNS2, DNS3, and WINS servers as discussed with reference to FIGS. 5 B- 5 F. Additionally, the criteria may include one network parameter or a combination of network parameters available within the same layer of a communication model or across layers of a communication model.
- Such parameters include a MAC address associated with the data-link layer of the OSI model or the subnetwork layer of the Internet Protocol Stack (IPS), an IP address typically associated with the network layer of the OSI model and the Internet layer of the IPS model, a port value typically associated with the transport layer in the OSI or IPS models, and an application parameter (e.g. an application identifier or information derived by an application) typically associated with the application layer in the OSI or IPS models.
- IPS Internet Protocol Stack
- the layer manager 206 obtains 604 a set of N pre-selected network parameters from the network environment 602 to which the mobile device is connected and forwards them to the location detection module 208 .
- the location detection module 208 processes 606 each of the N parameters received. Such processing may be done in a loop 606 , 620 .
- For each parameter it is determined 608 whether it matches a counterpart in the set associated with the current location. If yes, the location detection module 208 associates 616 the current location with this parameter. For example the association may be accomplished using a lookup table.
- FIG. 6B illustrates one version 660 of the method in accordance with this embodiment of the present invention illustrated in FIG. 6A in which the criteria is a matching criteria. It is determined 622 whether all the locations associated with a subset M of the N parameters are the same. If they are, it is determined 624 whether this location is the current location. If it is, then the next set of N parameters is processed (See 604 in FIG. 6A). The following example illustrates a subset M of N parameters that may be used to identify a network.
- Gateway 10.0.0.254 (Should Match,#1)
- the Domain of “AcmeBananas” may be defined as a parameter that is required to match.
- the second required match for the subset M may be that any one of, but at least one of, the three DNS servers' IP addresses must match its counterpart in the defined criteria for this “work” location.
- the match may be selected from a set parameters. In the example above, if either of the Gateway IP address or the WINS server IP address matches, the three required matches have been found satisfying the defined criteria for the “work” location.
- An event logging module may be helpful in tracking which parameters match successfully on a consistent basis.
- the client user or an administrator may view the event log and see that there has never been a match for DNS3 since the “work” location was defined. This may indicate that a check of the IP address for DNS3 may be in order to verify it was entered correctly. In another example, this trend may be noted by the monitoring module 226 on the server side or the client diagnostics module 246 on the device. If it is not the current location, it is determined 626 if it is another defined location. If so, then the policy setting module is notified 628 that the location has changed to this other defined location, and the next set of N parameters is processed 604 .
- M may have different numbers. For example, it may be one. Perhaps for a home wireless network, the MAC address for a network access point is the only parameter tested to identify the home network environment. All other locations may be assigned a Mobile location designation. M may be the minimum number described with respect to FIG. 5F representing a number of network environment parameters to be examined.
- a location detection test may detect location based on parameters from different layers in a model for communications between computers in a network.
- the N parameters in the illustrated Acme Bananas example may also define a MAC address, a layer 2 data-link parameter, a TCP port, a layer 4 transport parameter and a layer 7 application parameter including information derived by the application in the criteria for a location.
- the two additional terms below illustrate an example.
- the MAC address: 00-01-03-32-72-AB for DNS1 is a layer 2 parameter.
- Each of these parameters may be required to match or may be a discretionary parameter, such as the Gateway IP address or WINS server IP address in the example above, whose match may be used in a location detection test.
- a discretionary parameter such as the Gateway IP address or WINS server IP address in the example above, whose match may be used in a location detection test.
- the location detection module 208 may have an application proxy that emulates a POP3 client in order to verify that the POP3 service is actually running on the specified server on port 99 in this example (which is not the standard POP3 port of port 110 ).
- This information is a layer 7 or application layer parameter upon which a location detection decision may be based.
- different layers can provide additional verification of parameters received at other layers.
- the layer 7 parameter is verifying the layer 4 parameter.
- criteria to be used for identifying a location are other examples of criteria to be used for identifying a location:
- the policy setting module is notified 630 that a default location is the current location, and the next set of N parameters is processed 604 .
- FIG. 6C illustrates another version 670 of the method embodiment in FIG. 6A in which the criteria 621 for determining location is a weighted average of N network parameters. It is determined 632 how many locations have been associated with any of the current set of N parameters. For each location, the average of the weighted values is computed 634 for the N parameters for that location. It is determined 636 for each of the averages associated with a location, if the average is above a valid threshold. If it is, then the location is stored 638 in a set of possible locations. The processing would repeat 640 if there are more than one location associated with any of the N parameters. It is determined 642 whether there is more than one location in the set of possible locations.
- the location in the set is set 644 to the current detected location. Responsive to the determination that there are more than one locations in the possible set, optionally, a notification may be displayed 648 on a user interface (e.g. 240 or 218 ). The location is set 650 to a default location.
- each of the N parameters may be assigned a confidence or weighted value. Parameters of more significance receive higher confidence values. An average or a sum of the confidence values may be computed to determine location.
- percentages or percentiles are assigned to each of the seven parameters in accordance with a user-defined location definition for “work.” Assume the domain name has a confidence value of 0.4, each of the DNS servers has a value of 0.4, and the WINS server has a confidence value of 0.25.
- a threshold of one as a sum of the confidence values is the threshold criteria for associating this network environment with the location “work,” if the domain name, at least one of the DNS servers' IP addresses, and the WINS IP address match their predetermined counterparts, the sum of their confidence values exceeds one. “Work” is associated with the mobile device operating in this network environment.
- FIGS. 6A, 6B, and 6 C may also be applied in defining criteria for activation state of security features which define or trigger the setting of a particular security policy.
- the method embodiment of FIGS. 6A, 6B, and 6 C may be used to define criteria for setting a policy based on a combination of network parameters for a location and active security features.
- Another method of location detection involves a cryptographic authentication protocol (CAP) between the mobile device and a server for which a successful exchange identifies the client as being in a known environment. For example, in FIG. 1, one of the mobile devices depicted may exchange a key with the Internet shopping site 110 .
- CAP cryptographic authentication protocol
- a custom location of “shopping” may be associated with the mobile device and the policy associated with the “shopping” location may be enforced when communicating with the servers under the control of this Internet shopping site.
- a cryptographic authentication protocol e.g. occurring when a network connection is initiated
- Types of cryptographic authentication protocol protocols that may be used are those employing private keys, public keys or both (i.e., asymmetric or symmetrical authentication protocols may be used.)
- other cryptographic authentication protocols include Secure Sockets Layer (SSL) certificates.
- SSL Secure Sockets Layer
- the location detection module 208 of FIG. 2B verifies that the internet shopping site is the proper or authentic site using the public key.
- the location detection module 208 determines whether the mobile device is operating in the “work” location network environment.
- the location detection module 208 sends a random challenge such as a number encrypted using the corporate server's (e.g. 112 ) public key.
- the corporate server decrypts the random challenge using its private key.
- the server performs a hash function (e.g. SHA1) of the random challenge result from its decryption and a random nonce such as a number.
- the server forwards the hash result and the random nonce back to the location detection module 208 .
- the location detection module 208 performs a hash of the random challenge it originally sent and the random nonce received from the server. It then compares this second hash result with the one received from the server.
- the location detection module 208 associates “work” with the mobile device.
- the authorization module 245 may perform the cryptographic authentication protocol and send a notification to the location detection module 208 of the successful result which indicates the “work” location.
- detection of a location may be based upon identifying one or more Network Access Points (NAP) with which a mobile device is associated or whose range it has roamed within based on the known presence of the one or more NAPs.
- NAP Network Access Points
- the presence of the NAPs may be stored in a look-up table accessible by the mobile device.
- the MAC address of the NAP may be exchanged in an association or authentication protocol between the mobile device and the NAP.
- a “work” location e.g. 106
- One of the parameters for determining a “work” location may be a MAC address which must match one of these wireless NAPs.
- the MAC address in this example may be used to define sub-locations within the work environment. For example, a particular NAP may be in the software lab while another is in a conference room. The policy for the “software lab” environment allows a mobile device accessing a corporate server to access certain files while a mobile device trying to access the files via the conference room NAP receives a notification that these files cannot be found.
- the policy associated with the conference room sub-location may allow the files to be accessed in the conference room if a virtual private network (VPN), as indicated by a port, a layer 2 tunneling parameter, a layer 3 tunneling parameter or an application parameter, is used to access these certain files copied from certain network drives.
- VPN virtual private network
- the IP address of each wireless NAP may be used as a basis for location detection as well.
- Other examples of parameters that may be used as a basis for location detection are known (wired equivalency protection) WEP keys for NAPs, 802.1X protocols, and a Cisco® discovery protocol.
- SSID Service Set Identifier
- the location detection module 208 determines the name of the NAP being used. There can be a policy that defines a set of SSIDs that can be used at a particular location by a given mobile device.
- FIG. 7 illustrates a system 700 for protecting data accessible by a mobile device in accordance with an embodiment of the present invention.
- the system 700 comprises a policy rule engine 704 embodied as a software application that has a communication interface (e.g. a software interface) to a user interface module 702 and a communication interface to a filter engine 710 embodied in a driver software program 706 operating in the kernal space of an operating system.
- the filter engine 710 may be embodied within a Network Driver Interface Specification (NDIS) driver 706 typically used in a Windows® operating system.
- NDIS Network Driver Interface Specification
- the filter engine acts as a layer manager in processing parameters at the network layer in the OSI or IPS models.
- Network packets from the network interface card (NIC) are received by a Miniport Driver 708 .
- the Miniport Driver 708 has a communication interface to the filter engine 710 and forwards packets to the filter engine 710 .
- the filter engine 710 detects one or more parameters in a packet. For example, the filter engine may detect an IP source address for the packet. Additionally, the MAC address of the server as well as that of the network access point that routed the packet may be detected. Also, the filter engine may read the packet header for a port address or determine the port group with which the packet is associated.
- the filter engine 710 has a communication interface to a transport driver 712 software program. Information that the transport driver 712 may determine is session information associated with the transport layer in the OSI model. Session information usually defines a session by an IP address and a port address.
- the filter engine 710 also acts by analogy as a policy enforcement module 214 under the control of the policy rule engine 704 .
- the policy rule engine in this embodiment is analogous to the policy setting module 212 in FIG. 2B.
- the policy rule engine 704 has a communication interface to filter engine 710 from which it receives notification of a detected location or a detected security feature or attribute.
- An example of a security feature which may have been detected is that a certain port is using a wireless connection.
- the policy rule engine 704 selects the security policy based on either of the detected location or the detected security feature or both.
- the filter engine 710 is instructed by the policy rule engine 704 to execute one or more enforcement mechanisms in accordance with the current settings or policy.
- the filter engine 710 checks packets for port destination. If the port is associated with file sharing, the packets for that port are dropped. If the packets are for Internet access, they are allowed.
- the policy rule engine 704 may apply different rules with respect to inbound packets than for outbound packets. For example, if the file sharing request is initiated by the client device in outbound packets, inbound packets responsive to that request as determined by an IP address, a port identifier, IP subnet address, or an application parameter may be forwarded if the policy allows. However, an inbound initial request for file sharing may be dropped and not processed at all.
- the policy rule engine 704 directs the filter engine 710 to drop all packets associated with a port identifier, representing for example, a TCP port, a port group type such as web surfing ports, or a TCP port range, using a wireless connection.
- the filter engine 710 drops all packets on that port but allows access, for example Internet access and e-mail, over other ports associated with a wired local area network (LAN) connection.
- LAN local area network
- no communication with other computers may be allowed so that the filter engine 710 drops all packets.
- the policy allows all packets to be passed through which the filter engine 710 does.
- the user interface module 702 is analogous to the user interface module 218 in FIG. 2B. For example, it processes input and output to assist a user in defining a policy aspect or in viewing and responding to notifications.
- FIG. 8 illustrates a system 800 in accordance with another embodiment of the invention comprising a server system embodiment for administering the protection of data accessible by a mobile device interacting with a system in a client mobile device for protecting data accessible by a mobile device.
- the server system allows an administrator to manage and distribute policies and software upgrades, analyze logs, and perform remote diagnostics.
- the client system embodiment obtains policy updates from the policy server, updates a local or working policy in accordance with the updates, monitors changes in the mobile device's network environment associated with different locations, and applies the appropriate policies automatically as the user moves about.
- the client system applies the appropriate policies automatically as the security features of the mobile device or a network environment become active and inactive.
- the client side system also receives software updates from the server and provides its status, usage and error logs to the server.
- the server system embodiment comprises a policy server 850 having an administrator user interface 846 .
- This system is communicatively coupled over a network with the client side system through a communication port 842 .
- the policy server 850 may be implemented in one or more computers or computer systems. For example, it may comprise an authority server executing on one machine for establishing communication sessions and a number of computers with which client devices may communicate in order to obtain their updates and receive diagnostic assistance.
- the client side system embodiment comprises a policy engine 832 operating in application space having a communication interface to management tools 816 of the operating system, a communication interface to a file filter 824 operating in the kernel space that controls access to the file system 826 , a communication interface to a user interface module 802 , a communication interface with the layered service provider (LSP) 814 , and also having a communication interface to a packet filter engine 818 operating within a driver 834 .
- the driver 834 is an NDIS intermediate driver 834 operating within the kernel of the operating system of the mobile device.
- the packet filter engine 818 has a communication interface with the layered service provider (LSP) 814 operating in application space.
- the policy engine 832 further comprises a diagnostics module 844 , a rule processing module 808 , Rules 840 and representative examples of rules subsets, packet rules 810 and file rules 812 .
- the driver 834 further comprises an application filter 822 , in this example, implemented as a transport driver interface (TDI) filter 822 and a VPN module 820 embodied here as a VPN Lite 820 implementation discussed below.
- the TDI filter 822 comprises a communication interface with the packet rules subset 810 and the file rules 812 subset in this example. It also communicates with the packet filter engine 818 as part of the driver 834 .
- the TDI filter 822 further comprises a communication interface with a Windows Socket (Winsock) layer 828 in application space.
- Winsock communicates with layered service provider 814 implemented in this example as a Windows socket filter, the layered service provider 814 having a communication interface as well with one or more applications 830 in application space.
- network environment location detection is performed by the policy engine 832 , in accordance with rules implementing one or more location detection tests in the Rules set 840 , based on network parameters obtained by the NDIS driver for OSI layers 2-5, and by the layered service provider for OSI layers 6 and 7.
- the layered service provider 814 captures information about network applications starting and stopping and what ports the applications will be using. This information is provided to the filter 818 and the policy engine 832 to provide application awareness.
- the policy engine 832 in accordance with the current security policy, provides to the layered service provider 814 rules with respect to applications. For example, the engine 832 may provide a list of which applications can or cannot access the network, as well as the target IP addresses and ports that they are or not allowed to use. The layered service provider 814 then enforces the current policy in accordance with these rules applicable to applications.
- layered service provider 814 is a windows socket filter is used to determine which application (e.g. browser e-mail application such as Outlook Exchange®) is accessing the network and what networking services the application will be using.
- An example of an application's network service usage could include Outlook Express opening a specific set of Winsock ports, each using a separate protocol and target I.P. address.
- the layered service provider 814 will pass this information to the packet filter engine 818 , which then informs the policy engine 832 using an event signaling mechanism.
- An example of an event signaling mechanism is to used named events to signal the policy engine 832 that some event has occurred.
- Filtering of specific applications provides further resolution for location detection and enforcement mechanisms.
- the context of Microsoft® Networking provides an example of the benefits of such a filter.
- Several applications such as Exchange and Microsoft® File Sharing can and do use the same TCP and UDP ports.
- the NDIS filter driver 834 cannot determine which application is active based solely on TCP and UDP ports.
- the NDIS filter driver will act on the low level information i.e. TCP or UDP port numbers.
- the TDI filter driver 822 determines based on one or more application parameters for which Microsoft Networking application a packet is destined and if the packet should be forwarded or filtered.
- the LSP provides to the driver, via IOCTL calls, “sessions” which provide information about applications opening ports for sending, listening (receiving), and details such as what protocol is being used and the target I.P. address of sent packets.
- “sessions” provide information about applications opening ports for sending, listening (receiving), and details such as what protocol is being used and the target I.P. address of sent packets.
- a benefit of this embodiment is that it allows the NDIS filter driver to do low level filtering based on port or protocol information and not have the overhead of application specific parsing.
- a modular approach to packet and application filtering is allowed.
- the policy engine 832 also has a communication interface to management tools 816 of the operating system.
- the management tools 816 provide information to the policy engine 832 such as the types of adapters connected to the mobile device and specific information about each of them such as their brand name.
- the policy engine 832 also receives from the management tools 816 the local IP address associated with each adapter. Additionally management tools 816 alert the policy engine 832 regarding which applications are running. For example, a process table maintained by the operating system may be monitored and notifications sent by the management tools 816 to the policy engine 832 . For example, it may be determined whether 802.11i wired equivalency protection (WEP) software is running on a network adapter card through which wireless data is being sent and received. In this way, the policy engine 832 determines which security features are available in a system.
- WEP 802.11i wired equivalency protection
- the Policy Engine 832 may create a security policy that is not inconsistent with the policies downloaded from the policy server 850 . Additionally, modification and local management of policies as allowed, for example in accordance with permissions of policies set by the policy server 850 .
- the Policy Engine 832 receives user input and sends output via a communication interface with the user interface module 802 to display and change policy settings responsive to user input.
- Rules 840 comprise rules that define one or more security policies to be enforced by the Policy Engine 832 .
- the policy engine 832 comprises a rule processing module 808 which executes tasks in accordance with determinations to be made as set by the rules for the current security policy and for directing the appropriate results dictated by the rules of the current policy.
- rules are pairings of logically grouped conditions with results.
- conditions which may be connected by logical operators:
- FIG. 8 Examples of subsets of rules are illustrated in FIG. 8, packet rules 810 and file rules 812 . These subsets illustrate examples of enforcement mechanisms that may work at different layers of a communication model, for example at the network layer and at the application layer.
- One example of an enforcement mechanism is referred to as stateful filtering.
- a security policy is called a type of shield or is referred to as a particular type of shield level.
- the state may hereafter be referred to as the shield state or shield.
- a packet filter such as the packet filter engine 818 as it name suggests filters packets based on a state set by the currently enforced policy with respect to a parameter.
- a parameter include source I.P. addresses (for received packets) or target I.P. addresses (for sent packets), port numbers, port types or a port group.
- a port group is a list of ports that are used by a particular application, network service or function. For example, a port group can be created that includes all the ports for a particular instant messaging application, or for all supported instant messaging applications, or for all applications used internally at a company. Examples of port groups that may be selected for processing by a policy include web surfing ports, gaming ports, FTP and SMTP ports, file sharing and network ports, and anti-virus updates and administration ports.
- a port group can contain individual port items or other port groups.
- FIG. 1 we discuss a version of stateful filtering called adaptive port blocking.
- the ports are the actual port numbers, the port types enumerate the possible port types e.g. UDP, TCP, IP, or Ethertype, and the actions are what is to be done with this particular port e.g. filter, forward, or inform.
- the inform action will post an event to the policy engine 832 when a packet is sent or received on the specified port. Filter and forward action control the sending and receiving of packets on the specified port.
- a policy is in effect that each port is in one of three modes: open, closed, or stateful.
- open all traffic (both incoming and outgoing) on that port is permitted to flow through the packet filter.
- closed all traffic on that port is blocked (both incoming and outgoing)
- incoming responses to that outgoing traffic are allowed back through, but unsolicited incoming traffic is blocked.
- incoming and outgoing traffic may be blocked on a basis, examples of which are a network service or an application.
- components such as the policy engine 832 , the packet filter engine 818 , the layered service provider 814 and the TDI filter 822 may be employed for supporting stateful filtering.
- a session is created when a mobile device initiates communications with a particular remote or a specified set of remote computing devices.
- the stateful filtering as may be performed by the packet filter engine 818 and/or the TDI filter 822 in accordance with rules 840 , for example rules in the subset of the packet rules 810 , applicable to the current policy, may use the transport protocol to determine when a session is starting and the address of the remote device.
- Forward and filter decisions in accordance with rules in the set of rules 840 or the subset of the packet rules 810 may be based upon the session information obtained at session startup. Additionally, forward and filter decisions may be based on application parameters received via the layered service provider 814 . This provides the benefit of more refined application filtering as illustrated in the example discussed above.
- the policy engine will pass the rules to the packet filter engine as commands using the existing IOCTL interface. In one example, the policy engine determines based upon its current rules which ports or range of ports should do stateful filtering. These rules are then passed to the packet filter engine 818 by an IOCTL command. In another example, the policy engine 832 determines that rules of the current security policy do not support certain applications accessing a network. These rules are passed to the packet filter engine as well as the TDI filter 822 for application specific filtering. The policy engine 832 may also pass rules about application-specific network access to the layered service provider 814 via an IOCTL interface.
- Each component of the system may also provide health checks on the others.
- the policy engine 832 , the layered service provider 814 , the file filter 824 , and the packet filter engine 818 report whether any of the other services have been disabled or removed from the system to the diagnostics module 844 .
- This information may be relayed to the policy server 850 as it indicates a possible compromise of the protective system.
- the policy server 850 in that case provides diagnostic support information to the diagnostics module 844 .
- the filter engine will examine the port to determine a response to a given multicast packet.
- session control block will be completed i.e. the source address of this incoming packet will be used as the remote address for this particular session.
- more than one remote may respond to a given multicast packet, which will require a session control block be created for that particular remote.
- the broadcast packets may be handled in the same manner as the multicast.
- the file rules subset 812 have a communications interface such as an IOCTL interface with a file filter 824 having a communication control interface with a file system 826 .
- the file filter 824 may implement one or more filter related enforcement mechanisms.
- a policy may protect files based on the location in which they are created and/or modified as well as the location in which the mobile device is operating. The policy specifies a set of locations in which the files are to be made available, and whenever the mobile device is not operating in one of those locations, those files are unavailable. In another embodiment, policies may require that files be encrypted only if they were copied from certain network drives.
- the files can be located (e.g., they are not hidden).
- the files are hidden.
- One purpose of this mechanism is to prevent the user from accidentally revealing the contents of sensitive files while in locations where access to those files is not authorized.
- One mechanism for hiding the files is to simply mark them “hidden” in their Windows properties pages, and to cache the access control list (ACL) on the file and then modify the permissions to deny all access by non-administrators.
- Other versions may use the file-system filter to more effectively render the files unavailable.
- files that are subject to location-based protection by the policy are always stored encrypted.
- the files can be decrypted.
- the files cannot be decrypted. This mechanism provides a benefit of preventing unauthorized persons who may have stolen the device from gaining access to sensitive files.
- One mechanism for encrypting the files is to simply mark them “encrypted” in their properties pages, and to rely on the file hiding feature (see above) to stop the files from being decrypted in an unauthorized location.
- Other versions may use the file-system filter to more effectively encrypt the files in a way that does not depend on the operating system to prevent them from being decrypted in an unauthorized location.
- Policies can have rules controlling the use of VPNs. For example, a rule can require that when the VPN is in use, all other ports are closed. This prevents hackers near the user from co-opting the user's device and coming in to the corporate network over the user's VPN connection.
- a lightweight web-based VPN is used that allows traffic from selected applications (e.g., email) to be encrypted with Transport Layer Security (TLS).
- selected applications e.g., email
- TLS Transport Layer Security
- a VPN Lite 820 having a communication interface with the packet filter engine 818 establishes a TLS-encrypted, authenticated connection with the server, and then sends and receives traffic over this connection.
- the layered service provider 814 diverts the outgoing traffic from the application to a VPN client piece, and incoming traffic from the VPN client piece to the application.
- a layer is inserted into the Winsock environment, which opens up a Transport Layer Security (TLS) or Secure Socket Layer (SSL) socket to the VPN server, and tunnels all application network traffic through that connection to the VPN server.
- TLS Transport Layer Security
- SSL Secure Socket Layer
- the applications are unaware that the VPN is active.
- the VPN has a very small footprint, since TLS is included in Windows.®
- using the Winsock Environment all communication between client and server is routed through a secure channel. Unlike current clientless VPNs, all existing applications are supported
- the packet filter engine 818 and the layered service provider 814 comprise implementation examples of functionality analogous to that of layer manager 206 in FIG. 2B.
- the policy engine 832 performs implementation examples of functions of determining location analogous to those of the location detection module 208 , of determining policies analogous to those of the policy setting module 212 and of identifying active security features analogous to those of the security features determination module 210 .
- the packet filter engine 818 , the TDI Filter 822 , and the layered service provider 814 also perform implementation examples of enforcement mechanisms that the policy enforcement control module 214 may analogously perform.
- the diagnostics module 844 of the policy engine 832 performs similar functions discussed with respect to the client diagnostics module 246 of FIG. 2B. For example, it provides status, configuration, error logs, audit logs, and debug information to the server system. Similarly, it would assist a server side remote diagnostics module such as module 224 in FIG. 2A in debugging an error, for example in a method such as that described in FIG. 11.
- policy documents are XML documents.
- XML allows great flexibility in design, usage, and enhancement of policies. Using the flexibility of XML as the means to distribute enterprise wide policies simplifies the complex problem of distributing and enforcing enterprise wide policies.
- Policies are defined by the enterprise including but not limited to program usage, network access, hardware restrictions, VPN access, data access, and many other policies. The definition of these polices is performed at the enterprise level using XML Schemas and documents. The policies may then be distributed to the enterprise clients via various forms of data transfer. Furthermore, the policies may also be protected from hacking by encryption or signatures (i.e. XKMS, XMLDSIG, XMLENC, or proprietary encryptions).
- the policy is then enforced on the client by a process that can interpret the policy distributed by the enterprise.
- This approach allows a policy to be extensible and easily changed by the administrator.
- policy management, compilation and interpretation is performed by policy aware application interfaces.
- the administrator can configure elements of the policy such that they are configurable by the end user.
- the XML schema or XSD is derived from the standard XML schema http://www.w3.org/2001/XMLSchema (May 2001).
- a schema defines one set of types that is used by both the server (group) and the client policies. Policies may be signed to ensure integrity. Additionally individual policy elements will be signed to ensure integrity of policy enforcement.
- a very thin client host application resides on a client mobile device.
- it may be part of the policy setting module 212 for the embodiment of FIG. 2B or part of the policy engine 832 in FIG. 8.
- the central policy server or server system pushes execution instructions to the client, described by XML.
- XML execution instructions
- a small relatively stable execution environment is available as part of the client device.
- this new functionality is pushed to the client in an XML format.
- version vX.01 of a product supports two types of security policies.
- version X.02 it is necessary to implement a third type of security policy.
- the implementation and associated behaviors of the policy would be described within XML and published to the clients via the policy server.
- Clients running vX.01 would then effectively be upgraded without user intervention.
- this approach could be used for instantiating portions of an application to clients in a cafeteria style—e.g. they want feature 1, 2, 3, 6, 8 and not 4, 5, 7. If the client requires a change to their implementation, they change their menu selections and implementation and behaviors are pushed to their respective client instances.
- FIGS. 9A, 9B and 9 C are discussed in the context of the system embodiment of FIG. 8.
- FIG. 9A illustrates an example of a method 900 for determining whether the security feature of a connection type of wireless or wired is in effect for a communication session between the mobile device and another computer in accordance with an embodiment of the present invention.
- the policy engine 832 determines 902 whether a connection is associated with a wired or wireless adapter based on one or more characteristics of the network adapter obtained from the operating system on the mobile device. For example, the management tools 816 of the operating system may retrieve these network characteristics from a look-up table in memory (e.g. a registry in a Windows® operating system) responsive to a query from the policy engine 832 .
- a look-up table in memory e.g. a registry in a Windows® operating system
- the policy engine 832 associates 904 the connection with an adapter type value of wired or wireless in an adapter data object associated with each policy.
- the policy engine 832 may also determine 906 from the operating system the class (e.g. 802.11b, 802.3, 802.11a, 802.11 g, GSM, GPRS, 3G) of the network adapters on the mobile device, and assign 908 a value to an adapter class field in the adapter data object associated with each policy.
- the policy engine 832 may determine 910 from the operating system the hardware brand of the network adapters on the mobile device, and assign 912 a value to an adapter brand field in the adapter data object associated with each policy.
- FIG. 9B illustrates an example of a method 920 for determining whether the security feature of a security software program is currently executing on a mobile device for a communication session between the mobile device and another computer in accordance with an embodiment of the present invention.
- the policy engine 832 determines 922 from the operating system of the mobile device which security software programs (e.g. anti-virus, intrusion detection, VPN driver, 802.1 i enhanced cryptography) are currently running on the mobile device.
- security software programs e.g. anti-virus, intrusion detection, VPN driver, 802.1 i enhanced cryptography
- the management tools 816 operating in the operating system space may identify which security programs are running based on process tables the operating system maintains for each running software program responsive to a query from the policy engine 832 .
- the policy engine 832 then assigns 924 a value in a field corresponding to the security software in a data object associated with each policy.
- FIG. 9C illustrates an example of a method 930 for determining one or more security features of a network access point with which the mobile device is communicating in accordance with an embodiment of the present invention.
- network management software such as Simple Network Management Protocol (SNMP) is used to query the access point to obtain its operational characteristics.
- SNMP Simple Network Management Protocol
- the policy engine 832 may determine whether the security feature of a security software program is currently executing on a network access point for a communication session in accordance with an embodiment of the present invention. In one instance, the policy engine 832 determines 932 from the operating system of the mobile device the security software associated with a network access point.
- the management tools 816 operating in the operating system space may identify processes executing on the mobile device in cooperation with security programs running on a wired or wireless network access point based on the process tables again responsive to a query from the policy engine 832 .
- the operating system management tools 816 may query the network access point regarding security software running in its LAN.
- the policy engine 832 assigns 934 a value in a field corresponding to the security feature such as the security software, in a data object associated with each policy.
- FIGS. 10A and 10B illustrate a method of enforcing a security policy using illustrative examples of events in accordance with an embodiment of the present invention.
- the illustrated method embodiment illustrated in FIGS. 10A and 10B is discussed in the context of the system embodiment of FIG. 8.
- the illustrated method embodiment illustrated in FIGS. 10A and 10B is discussed in the context of the system embodiment of FIG. 8.
- the type of network service being used may be monitored.
- An example of a type of network service is a service protocol for transferring data over a network.
- a network service e.g. File Transfer Protocol (FTP), Post Office Protocol (POP), Internet Mail Access Protocol (IMAP), Virtual Private Network (VPN), HTTP, HTTPS, SMTP, Telnet, etc.
- FTP File Transfer Protocol
- POP Post Office Protocol
- IMAP Internet Mail Access Protocol
- VPN Virtual Private Network
- HTTP HTTPS
- Telnet Telnet
- the policy engine 832 determines 1016 whether the current policy allows this network service or a specific version of it, to execute. Responsive to a determination that the current policy, as defined in the embodiment of FIG.
- the packet filter engine 818 allows network traffic embodied in packets using this network service to be transferred 1018 . Responsive to a determination that the current policy, as defined in the embodiment of FIG. 8 above in the packet rules 810 , does not allow or prohibits this network service, the packet filter engine 818 blocks 1020 all network traffic embodied in the example in packets for this network service.
- the policy engine 832 determines 1026 whether the current policy allows access to this file.
- the file rules 812 may define this aspect of the current policy.
- the file may be located in resident memory (see 220 ) or be accessible over a network (see 242 ). Responsive to a determination that the current policy allows access to this file, the policy engine 832 determines 1030 further whether only an encrypted version of the file is allowed to be accessed. Again, in FIG. 8, the file rules 812 may define this aspect of the current policy. Responsive to a determination that only an encrypted file is allowed to be accessed, the file filter 824 allows access to 1032 an encrypted copy of the file.
- the file filter 824 allows access to 1034 an unencrypted copy of the file. Responsive to a determination that the current policy does not allow or prohibits access to this file, the policy engine 832 hides 1028 the file.
- the file may be hidden in various ways known to those of ordinary skill in the art. Examples include sending a notification that the file was not found instead of the file descriptor.
- the policy engine 832 determines 1056 whether the current policy allows this application or a specific version of it, to execute. Responsive to a determination that the current policy, as defined in the embodiment of FIG. 8 above in the packet rules 810 , allows this application, the packet filter engine 818 allows 1060 network traffic embodied in packets using this application to be transferred. Furthermore, the TDI filter 822 also monitors application parameters and allows the traffic associated with this application to be forwarded for further processing by the mobile device. Responsive to a determination that the current policy, as defined in the embodiment of FIG.
- the packet filter engine 818 blocks 1058 all network traffic embodied in the example in packets for this application. Furthermore, in the embodiment of FIG. 8, the TDI filter 822 also monitors application parameters to block any network traffic at the upper layers for the prohibited application that may have bypassed the packet filter engine 818 .
- the policy engine 832 determines 1094 whether the current policy allows this application or a specific version of it, to be opened. Responsive to a determination that the current policy, as defined in the embodiment of FIG. 8 above in the packet rules 810 , allows this application to be opened, the file filter 824 allows 1096 the application to be opened. Responsive to the policy rules not allowing this application to be opened, the file filter 824 prevents 1098 the application from being opened.
- an application e.g. a game such as solitaire or minesweeper
- the policy engine 832 performs the task of determining 1038 whether the current policy allows the request or prohibits it. Based on the outcome of this determination, the appropriate version of a policy enforcement module 214 such as the packet filter engine 818 , the layered service provider 814 , the file filter 824 either alone or in combination, enforce the policy by denying 1040 the request or satisfying 1042 the request with the criteria established by the current policy for this type of request.
- a policy enforcement module 214 such as the packet filter engine 818 , the layered service provider 814 , the file filter 824 either alone or in combination, enforce the policy by denying 1040 the request or satisfying 1042 the request with the criteria established by the current policy for this type of request.
- modules, routines, features, attributes, methodologies and other aspects of the present invention can be implemented as software, hardware, firmware or any combination of the three.
- a component an example of which is a module, of the present invention is implemented as software
- the component can be implemented as a standalone program, as part of a larger program, as a plurality of separate programs, as a statically or dynamically linked library, as a kernel loadable module, as a device driver, and/or in every and any other way known now or in the future to those of ordinary skill in the art of computer programming.
- the present invention is in no way limited to implementation in any specific programming language, or for any specific operating system or environment. Accordingly, the disclosure of the present invention is intended to be illustrative, but not limiting, of the scope of the present invention, which is set forth in the following claims.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
- This application claims priority under 35 U.S.C. § 120 as a continuation-in-part of pending U.S. patent application Ser. No. 10/377, 265 entitled “Protection of Data Accessible by a Mobile Device,” filed on Feb. 28, 2003, having inventors Michael Wright, Peter Boucher, Gabe Nault, Merrill Smith, Sterling Jacobsen, Jonathan Wood and Robert Mims, which is hereby incorporated by reference.
- This application claims the benefit of priority under 35 U.S.C. § 119(e) to U.S. provisional patent application No. 60/434,485, filed on Dec. 18, 2002, entitled “System And Method For Protecting Data Based On Location Of Mobile Devices” having inventors Michael Wright, Peter Boucher, Gabe Nault, Merrill Smith, Sterling Jacobsen, and Jonathan Wood, which is hereby incorporated by reference.
- This application also claims the benefit of priority under 35 U.S.C. § 119(e) to U.S. provisional patent application No. 60/438,556, filed on Jan. 6, 2003, entitled “Remote Management For Protecting And Accessing Data Based On A Connection Type Or An Environment Of A Mobile Device” having inventors Michael Wright, Peter Boucher, Gabe Nault, Merrill Smith, Sterling Jacobsen, Jonathan Wood and Robert Mims, which is hereby incorporated by reference.
- Field of Invention
- This application relates to the field of security of data accessible by mobile devices. Mobile devices are using wired and wireless technologies to access networks at work, at home, or in public ‘hot spots.’ Those same mobile devices have documents, spreadsheets, e-mail, and other files with valuable company information if not valuable personal information in them.
- The availability of wired and wireless network access points (NAP) allow mobile devices like laptop computers and personal digital assistants (PDAs) to enable users today to be more mobile, providing access to corporate networks, e-mail, home networks and the Internet from anywhere. With the advent of the IEEE 802.11 standard for wireless communication, and other popular wireless technologies, software products that protect against unwanted access to information stored on mobile devices and corporate servers is highly desirable.
- Traditional security architectures assume that the information assets being protected are ‘tethered’—wired to a particular network infrastructure such as a company's network infrastructure. But mobile users can pick up valuable corporate information, such as that stored on their laptops, and walk away from the corporate network, and connect to other networks with different security policies. Users with laptops and mobile devices want to take advantage of wireless technologies, to connect wherever they are—at work, at home, in the conference room of another company, at the airport, a hotel, a highway or at the coffee shop on the corner. The mobile device's network environment is constantly changing as the user moves about. Each environment has different needs in terms of security. Each environment presents different challenges to protect the information on the mobile device while allowing access to e-mail, the Internet, and company Virtual Private Networks (VPNs).
- Personal firewalls are designed to deal with static environments. A personal firewall could be ideally suited for mobile users if users knew how to adapt their configuration for their particular mobile application. Unfortunately, security settings for one situation can compromise data security in another. The configuration of popular personal firewalls typically requires a level of expertise on how the technology actually works that average users do not possess. Additionally, personal firewalls don't protect against all 802.11 intrusions. For example, when a user configures a personal firewall off to surf the Internet through their wireless device, their files may be vulnerable to unauthorized malicious wireless attacks on their computer.
- Solutions which secure data in transit, for example a (VPN) connection, from a corporate server to a mobile client device do not protect the data once it is stored on the mobile device. For example, an executive could be retrieving sensitive files or emails from the corporate network, and the VPN will stop eavesdroppers from seeing the data in transit, but once the data is stored on the executive's remote device, hackers in the parking lot could break into the remote device and copy or maliciously alter the data. With the onset of new powerful mobile devices that can store corporate data, IT managers see their network perimeters having to extend to the new limits of these mobile wireless connections.
- Simple to use, mobile-aware security tools providing different levels of security protection for different locations and/or security features are highly desirable. It is desirable to provide technology that automatically senses the network environment of the mobile device, associates the network environment with a location, and adjusts its security configuration and settings accordingly. It is also highly desirable to take security features in a particular network environment into account. For example, setting a security policy based on whether the data is being received over a wireless network adapter or over a wired one is highly desirable. This would allow unprecedented ease of use allowing users to move between different environments without needing to manually change security parameters, adjust difficult-to-configure firewalls, disable and enable network file sharing features, or worry about remembering what security protocols are currently set. Furthermore, enterprises seek a centralized approach to the administration of security policies used by the mobile devices storing company data and accessing company data stored on the enterprises' systems via network environments not under the control of the enterprise.
- The present invention provides one or more embodiments of a system for providing administration of protection of data accessible by one or more mobile devices based upon criteria such as a location associated with a network environment in which each mobile device is operating and/or security features associated with each of the mobile devices. Furthermore, the present invention provides one or more embodiments of a method for providing administration of protection of data accessible by one or more mobile devices based upon criteria such as a location associated with a network environment and/or security features associated with each of the mobile devices. The one or more embodiments of the present invention may also be embodied as instructions stored in one or more computer usable mediums some examples of which are a memory, a disk, a compact disc, a field programmable gate array, a flash card or an integrated circuit.
- The present invention also provides one or more embodiments of a system for remotely diagnosing one or more mobile devices, and a method for remotely diagnosing one or more mobile devices.
- As discussed above, the present invention provides for the administration of the protection of data accessible by a mobile device. Mobile devices include portable computing devices that access a network or another computer. Mobile devices include devices that access a network or another computer through a wired connection as well as portable computing devices that access a network or another computer through a wireless connection. For example, a notebook computer accessing a network through a T1 line or phone line at an airport is a mobile device. The same notebook computer may also access a network through a wireless connection to a network access point (NAP). A portable computing device having a wireless connection capability is often referred to in this connection context as a wireless device which is a type of mobile device.
- In one or more embodiments in accordance with the present invention, the protection of data is administered through one or more security policies. One function of a security policy is determining accessibility of data for the mobile device. For example, based on the current location associated with the mobile device, a file resident on the device may be encrypted or may be hidden as required or recommended by a security policy. Additionally, a security policy may not allow a particular network service or application or both to be used based upon either or both of a particular detected location or the activity status of a security feature.
- FIG. 1 illustrates one or more examples of location categories which may be assigned to a mobile device in accordance with an embodiment of the present invention.
- FIG. 2A illustrates a computer system for administering the protection of data accessible by one or more mobile devices based on either or both of a location associated with the mobile device or a security feature in accordance with an embodiment of the present invention.
- FIG. 2B illustrates a system in a client mobile device for protecting data accessible by the mobile device based on either or both of a location associated with the mobile device or a security feature in accordance with an embodiment of the present invention.
- FIG. 3A illustrates a method for managing one or more security policies for the protection of data accessible by a mobile device based upon criteria in accordance with an embodiment of the present invention.
- FIG. 3B illustrates a method for distributing a security policy by a server computer system for the protection of data accessible by a mobile device in accordance with an embodiment of the present invention.
- FIG. 3C illustrates a method for obtaining security information by a mobile client device from a server system in accordance with an embodiment of the present invention.
- FIG. 3D illustrates a method for protecting data accessible by a mobile device based on a location associated with a network environment in which the mobile device is operating in accordance with an embodiment of the present invention.
- FIG. 3E illustrates a method for protecting data accessible by a mobile device based on a location associated with a network environment in which the mobile device is operating and a security feature in accordance with another embodiment of the present invention.
- FIG. 3F illustrates a method for protecting data accessible by a mobile device based on a security feature in accordance with another embodiment of the present invention.
- FIG. 4A illustrates an example of a graphical user interface displaying examples of locations in accordance with an embodiment of the present invention.
- FIG. 4B illustrates an example of a graphical user interface displaying examples of combinations of a location and a security feature, each combination forming the basis of selecting a security policy in accordance with an embodiment of the present invention.
- FIG. 5A illustrates a method for defining criteria for an aspect of a security policy in accordance with an embodiment of the present invention.
- FIG. 5B illustrates a graphical user interface example illustrating a method for defining criteria with respect to environmental network parameters or characteristics to define a location in accordance with an embodiment of the present invention.
- FIG. 5C illustrates a graphical user interface example displaying the network services in further illustration of the method example described in FIGS. 5B, 5D,5E and 5F.
- FIG. 5D illustrates a graphical user interface example for configuring parameters associated with one of the selected network services, in this example Gateway services, of the method example described in FIGS. 5B, 5C,5E and 5F in accordance with an embodiment of the present invention providing for further configuration of the selection of services.
- FIG. 5E illustrates another graphical user interface example for configuring parameters associated with one of the selected network services, in this example Domain Name System (DNS) Servers, of the method described in FIGS. 5B, 5C,5D and 5F in accordance with an embodiment of the present invention providing for further configuration of the selection of services.
- FIG. 5F illustrates an example user interface for indicating a minimum number of network services or service providers to be present within the network environment for a valid location identification in continuing illustration of the example of a method in accordance with an embodiment of the present invention illustrated in FIGS. 5B, 5C,5D, and 5E.
- FIG. 6A illustrates a method for detecting location based upon a defined criteria in accordance with an embodiment of the present invention.
- FIG. 6B illustrates one version of the method in accordance with this embodiment of the present invention illustrated in FIG. 6A in which the criteria is a matching criteria.
- FIG. 6C illustrates one version of the method in accordance with this embodiment of the present invention illustrated in FIG. 6A in which the criteria is a weighted average of N network parameters.
- FIG. 7 illustrates a system in a mobile client device for protecting data accessible by a mobile device in accordance with an embodiment of the present invention.
- FIG. 8 illustrates a server system embodiment for administering the protection of data accessible by a mobile device in accordance with another embodiment of the present invention interacting with a system in a client mobile device for protecting data accessible by the mobile device in accordance with another embodiment of the present invention.
- FIG. 9A illustrates an example of a method for determining whether the security feature of a connection type of wireless or wired is in effect for a communication session between the mobile device and another computer in accordance with an embodiment of the present invention.
- FIG. 9B illustrates an example of a method for determining whether the security feature of a security software program is currently executing on a mobile device for a communication session between the mobile device and another computer in accordance with an embodiment of the present invention.
- FIG. 9C illustrates an example of a method for determining one or more security features of a network access point with which the mobile device is communicating in accordance with an embodiment of the present invention.
- FIGS. 10A and 10B illustrates a method of enforcing a security policy using illustrative examples of events in accordance with an embodiment of the present invention.
- FIG. 11 illustrates an embodiment of a method for providing remote diagnostic support from a server computer system to a mobile client device in accordance with an embodiment of the invention.
- FIG. 1 illustrates one or more examples of
location categories mobile devices laptop 148 and thePDA 150 communicating with the illustrated wireless network access point will have its location set to “Home.” - The location “Work”106 is an example of a location associated with a network environment maintained by a user's employer. In the illustrated example, a
notebook computer 164 has a wired CAT-5Ethernet connection 168 to the corporate server of his or her employer. However, thenotebook computer 164 may also communicate with theserver 112 through awireless NAP 162 as illustrated. - One example of a location category is “Mobile”102. For example, at an airport, a mobile device such as the illustrated
notebook computer 122 accesses a network environment respectively through a wired connection 126 (in this example a T1 line) to a wirednetwork access point 128. This wirednetwork access point 128 may provide access to an Internetshopping site server 110 because the user desires to browse the site while waiting for departure. Thenotebook computer 122 and the personal digital assistant (PDA) 124 have a wireless connection to awireless NAP 130, in this example an 802.11b connection through which they may communicate at the airport. Additionally, as discussed below, the security policy associated with the “Mobile” location may take into account the connection type of wired or wireless. In this example, the network environment provided at the airport does not match with a defined environment associated with a location such as “Work” 106 or “Home” 104 so “Mobile” 102 is assigned or associated with thePDA 124 and thenotebook computer 122 as a default location. - The last location example is “Alternate”108. In one example, a specific environment (e.g. an environment associated with a university computer lab or an environment associated with a type of network class) may be associated with “Alternate.” Similarly, a “Custom” or another named location may also be defined. In this example, the wireless
network access point 182 is associated with a cellular base station providing network access through a General Packet Radio Services (GPRS) system, Global System for Mobile communication (GSM) system, third generation wireless 3G system or other kind of mobile wireless communication system. - FIGS. 2A and 2B illustrate interaction between a computer system200 (FIG. 2A) acting in a server role with respect to a mobile computer system 201 (FIG. 2B) acting in a client role for the purposes of managing security with respect to the client system in accordance with an embodiment of the invention. Similarly, FIGS. 2A and 2B also illustrate interaction between the
server computer system 200 and the mobileclient computer system 201 for the purpose of providing diagnostic assistance to the client computer system. Thesystem 200 in FIG. 2A may be implemented as software executing in a standalone computer having a processor being accessible to memory, the processor being communicatively coupled with one or more network interfaces, a display and input/output devices such as a keyboard and a pointing device. Similarly, thesystem 200 may be implemented by a series of networked computers as may typically be implemented by an enterprise. Additionally, thesystem 200 in FIG. 2A may also be implemented in another mobile computing device. The server or server-side system 200 allows an administrator to manage and distribute policies and software upgrades, analyze logs, and perform remote diagnostics. Theclient system 201 in FIG. 2B may be implemented as software executing in a mobile computing device having a processor being accessible to memory, the processor being communicatively coupled with one or more network interfaces, a display and input/output devices such as a keyboard and a pointing device. Theclient side system 201 monitors the user's changes in location and/or security features and applies the appropriate policies automatically as the user moves about or different security features are activated or deactivated. Theclient 201 enforces the policies set up by the administrator, and performs diagnostics. Theclient 201 can also create and manage policies for the client mobile device when run in a self-managed mode. Theserver system 200 is discussed first. - FIG. 2A illustrates a
system 200 for administering protection of data accessible by a mobile device based on either or both of a location associated with a network environment in which the mobile device is operating or an activity status of a security feature associated with the mobile device or the environment in which it is communicating in accordance with an embodiment of the present invention. The illustratedsystem embodiment 200 comprises anauthorization module 232, apolicy distribution module 234, apolicy management module 236, illustrated here with an optionalpolicy setting module 238 and an optionalpolicy enforcement module 244, aremote diagnostics module 224 and auser interface module 240. Thesystem embodiment 200 protects data accessible by the mobile device that may be resident (See FIG. 2B, 220) ordata 242 that is accessible by the mobile device over anetwork 204. Examples of such data may include security policies, corporate data, group files indicating the organization of personnel into various groups, client device management data, and diagnostic information related to the mobile devices or computers internal to the corporate network. As is apparent, these are examples of information valuable to a company. As illustrated, each of these modules has a communication interface or is communicatively coupled to each of the other modules and has access todata objects 242 stored inmemory 242 of theserver system 200 and also has access to a network 204 (e.g. Internet). - The
policy management module 236 manages security policies. One aspect of managing security policies is defining the policies. In this example, thepolicy management module 236 comprises instructions for establishing this pre-defined criteria based upon user input processed by the communicatively coupleduser interface module 240. Defining policies includes the creation of policies and the modification of policies. Examples of aspects of a policy includes specification of rules and permissions (e.g. policy override), defining one or more locations associated with network environments, defining or identifying security features to be monitored, ports to be monitored, network services to be monitored, applications to be monitored, enforcement mechanisms to be put in place for a particular policy, level identification for a policy or policy aspect for flexibility (optional, recommended, mandatory, invisible), and feedback (e.g. custom error messages) to alert an administrator via a user interface screen using theserver system 200 of certain conditions or to alert a client device user via a user interface screen of certain conditions. - There may be several layers of policies. There may be a base policy applicable to a group of entities. Examples of entities may be users or the mobile devices themselves. In these examples, the group may include one instance of an entity. The attributes of the base policy may be incorporated into other policies which add on additional attributes. For example, a base policy for the group including engineers in the user interface design department may be allowed access to files on a certain disk drive. Another policy based on location that incorporates the attributes of the base policy may only allow access to encrypted versions of the files if a mobile device through which a UI design engineer is logged in is operating in a “Home” network location. The optional
policy setting module 238 is discussed below in the discussion of the clientpolicy setting module 212 of FIG. 2B. The optionalpolicy enforcement module 244 is discussed below in the discussion of the client policyenforcement control module 214 of FIG. 2B. - In one embodiment, the
policy management module 236 is provided with an enterprise's existing group structures. Thepolicy management module 236 compensates for a failing in the traditional makeup of groups. Since groups are not hierarchical, it is common for one person to be a member of several groups, and if each group has its own security policy, an issue arises as to how to determine which policy to apply to a particular user. Thepolicy management module 236 inputs a prioritized list of groups from amemory location 242. Thepolicy management module 236 searches the groups in priority order of the list. Thus, if a person is a member of “engineering” and “executive staff,” that person will get the security policy for whichever of those two groups comes first in the prioritized list. There is a default policy for users who are not members of any of the groups on the prioritized list. Further, there is a highest priority group that always has the highest priority. An example of such a group is a “stolen mobile device” group that always has the highest priority, because it doesn't matter what other groups the device is associated with if the device is in the hands of a thief. - The
policy distribution module 234 distributes security information to the one or more client mobile devices. Thepolicy distribution module 234 has a communication interface or is communicatively coupled to thepolicy management module 236 for receiving notifications of updated security information. Examples of security information are versions of existing policies, policies, or software. An example of communication interface is a bus between a processor executing one or more of the modules and a memory controller responsible for memory reads/writes. Another example is one module reading a parameter stored in a memory location by another module. Of course, other communication interfaces known to those of ordinary skill in the art may also be used. - In this embodiment, the
authorization module 232 authorizes a communication exchange between the client mobile device and the policy distribution or policy management modules. Theauthorization module 232 is a further safeguard against unauthorized or rogue mobile devices trying to hijack the security policies or corporate data. Various authorization protocols and techniques may be used. One example is a simple username and password verification scheme. Another example of a type of authorization protocol is a cryptographic authentication protocol. Theauthorization module 232 may also be used to authorize a communication exchange between theclient system 201 and theremote diagnostics module 224. - The
remote diagnostics module 224 is illustrated in the context of a servercomputer system embodiment 200 in FIG. 2A concerned with security or protection of data accessible by mobile client devices. However, theremote diagnostics module 224 may also function to provide diagnostic support for computer problems generally encountered by mobile client devices independently of security related software. In this embodiment, theremote diagnostics module 224 provides diagnostic assistance and/or corrective instructions with respect to problems not only associated with security but also provides such support with other problems generally encountered by mobile client devices. Theremote diagnostics module 224 has a communication interface or is communicatively coupled with theuser interface module 240, theauthorization module 232, thepolicy management module 236 and thepolicy distribution module 234. This allows a person using the mobile device to get the device repaired where they are as opposed to having to mail the device or wait until he or she is back in the office to get help. - The
remote diagnostics module 224 comprises three modules or sub-modules: amonitoring module 226, adiagnosis module 228, and adiagnosis distribution module 230. Themonitoring module 226 receives diagnostic information such as events or audit logs from a client device and stores the information in a data object (242) for the client device. In one embodiment, a client diagnostics module (e.g. FIG. 2B, 246) periodically and automatically initiates tests. Results including errors from these tests are reported over a network 204 (e.g. Internet) to theremote diagnostics module 224. Other examples of diagnostic information retrieved from the client are debug output files, examples of which include system event logs, crash dumps, and diagnostic outputs from a client diagnostics module (e.g. 246, FIG. 2B). This information may be received periodically over anetwork 204 from theclient diagnostics module 246, or upon an initial network connection by the mobile device with the server, or because theclient diagnostics module 246 requests diagnostic assistance. - The
diagnosis module 228 analyzes diagnostic information stored for the mobile device. For example thediagnosis module 228 may perform analysis according to pre-stored diagnostic programs or according to an interactive user environment or a combination of the two. Thediagnosis module 228 may provide a repair to a problem in the client device, determine that a trend is occurring for the device, or determine that preventive maintenance is to be scheduled for the client device. In one example, thediagnosis module 228 initiates requests to the client mobile device for additional information. The additional information may be based on input received via theuser interface module 240 or according to a pre-stored diagnosis method. In one embodiment, thediagnosis module 228 provides requested information to theuser interface module 240 responsive to user input. In another embodiment, thediagnosis module 228 may provide requested information transmitted via thediagnostics distribution module 230 over thenetwork 204 to the client mobile device responsive to requests received at a user interface module on the client device (e.g. FIG. 2B, 218). Once a diagnosis has been made with respect to a problem, support information may be distributed to the mobile device under the control of thediagnosis distribution module 230. For example, support information may be in the form of instructions or code to the client device to repair a problem or perform maintenance. This provides an advantage of taking corrective or preventive actions without requiring user intervention or action. Another example of support information that may be forwarded are messages for display by the client device providing a diagnostic report or requesting specific input from a user of the device. - Either or both of the
monitoring module 226 or thediagnosis module 228 may initiate tests and/or queries to determine the readiness or robustness of the existing client device population. Trends may be noted. Again, these tests may be run during a connection with a device without requiring user intervention. - The
remote diagnostics module 224 may also probe a particular client to verify its status. For example, client configuration information may be retrieved such as the current version of the security policy software components on the client device, the current policy settings on the device, and attributes in accordance with those settings, for example, which ports are blocked. This information may be stored for later assistance in a diagnostics situation or for use with a current diagnostics situation. - FIG. 2B illustrates a
system 201 for protecting data accessible by a mobile device based on a location associated with a network environment in which the mobile device is operating in accordance with an embodiment of the present invention. Additionally, thesystem 201 in FIG. 2B illustrates a system for determining and enforcing security policies based upon the activity status of a security feature in a communication session between the mobile device and another computer. The illustratedsystem embodiment 201 comprises alocation detection module 208, apolicy setting module 212, security featuresdetermination module 210, a policyenforcement control module 214, alayer manager 206, auser interface module 218, memory location(s) 216, anauthorization module 245, and aclient diagnostics module 246. Thesystem 201 protects data accessible by the mobile device that may be inresident memory 220 on the device or bedata 242 accessible over anetwork 204. In this illustrated example, each of these modules has a communication interface or is communicatively coupled to each of the other modules.Resident memory 220 may be accessed by one or more of these modules. - The
authorization module 245 provides authorization information to theauthorization module 232 of theserver system 200 to establish communication exchanges with the client mobile device for the exchange of security information or diagnostic information or both. Theclient diagnostics module 246 collects diagnostic information which is sent to theremote diagnostics module 224 of theserver system embodiment 200. - The
layer manager 206 has a communication interface to one ormore modules layer manager 206 processes network traffic which may include inbound data (e.g. 242, FIG. 2A) accessible over a network and outbound copies of data objects fromresident memory 220. In this embodiment, thelayer manager 206 processes information in one or more layers of a model for communications between computers in a network. An example of such a model is the Open Systems Interconnection (OSI) data communications model. The seven layers of the OSI model are the physical layer, the data-link layer, the network layer, the transport layer, the session layer, the presentation layer, and the application layer. Another example is the layered Internet Protocol stack. It is represented as four layers including the subnetwork layer, the Internet layer, the transport layer, and the application layer. - In this embodiment, the
layer manager 206 has a communication interface, for example a software interface or buffers for storing parameters, to alocation detection module 208. Thelayer manager 206 forwards network parameters to thelocation detection module 208. Thelocation detection module 208 detects or determines the location associated with the current network environment based upon criteria defined in a downloaded policy from theserver system 200. In this example, thepolicy setting module 212 receives, installs and updates the security information including security policies and/or software updates received from thepolicy management module 236 via thepolicy distribution module 234 over thenetwork connection 204. Thepolicy setting module 212 may define criteria or if permissions set by thepolicy management module 236 allow, supplemental policy definitions or customization of policy definitions based upon user input processed by the mobile deviceuser interface module 218. Similarly, if operating in a standalone mode not under the control of the server system, thepolicy setting module 212 defines an aspect of a policy such as location criteria or security features criteria based upon user input processed byuser interface module 218. - In this embodiment,
memory locations 216, including indicators of security features and/or location indicators, have a communication interface (e.g. a bus between a processor executing one or more of the modules and a memory controller responsible for memory reads/writes) to thelocation detection module 208, the security featuresdetermination module 210, thepolicy setting module 212, the policyenforcement control module 214, theauthorization module 245, and theclient diagnostics module 246. Thelocation detection module 208 has a communication interface to thepolicy setting module 212. In the embodiment, thepolicy setting module 212 determines a security policy based upon the location detected by thelocation detection module 208 and communicated via a communication interface. In one example of the communication interface, thepolicy setting module 212 may read acurrent location indicator 216 updated in amemory location 216 by thelocation detection module 208. Thepolicy setting module 212 may then read thelocation indicator 216 periodically or responsive to a notification message from thelocation detection module 208. In another example, thelocation detection module 208 may pass the currently detected location to thepolicy setting module 212 as a parameter in a message. Of course, other communication interfaces known to those of ordinary skill in the art for use in notifying thepolicy setting module 212 of the current location may also be used. - In an alternate embodiment, an optional
policy setting module 238 may operate on a server computer system such as the one illustrated in FIG. 2A that determines the selection of the current security policy for the mobile device based on criteria information received from the mobile device including location and activity status of one or more security features or based on network parameters forwarded by thelayer manager 206. In this embodiment, a module on the client device such as the policyenforcement control module 214 receives commands from thepolicy setting module 238 and executes them on the mobile device. - The
policy setting module 212 also has a communication interface to apolicy enforcement module 214. Thepolicy enforcement module 214 comprises instructions for enforcing the security policy currently set by thepolicy setting module 212. Theenforcement module 214 comprises instructions for one or more enforcement mechanisms associated with a security policy. Again, in an alternate embodiment, an optionalpolicy enforcement module 244 in aserver computer system 200 with which the client device has anetwork connection 204 may send instructions to the mobile device for the enforcement of a security policy as determined by the optionalpolicy setting module 238 for the local device on the server side. - In this embodiment, a
user interface module 218 has a communication interface to one or more of thesemodules user interface module 218 receives input from a user input device such as a keyboard, mouse, or touchpad, and causes user interfaces to be displayed for use by a user for establishing criteria for defining an aspect of a security policy as allowed by permissions associated with the policy or when operating in a standalone mode not under the control of theserver system 200. - The illustrated
system 201 embodiment in accordance with the present invention further comprises asecurity feature module 210 for determining whether one or more security features have an activity status of inactive or active in a communication session between the mobile device and another computer. An example of a security feature is a connection type of wired or wireless. In one example, this connection type may be indicated by the association of the port over which data is communicated with a wireless or wired network adapter or network interface card (NIC). In another example, this connection type may be indicated by the association of a local IP address with data communicated over a wireless or wired network adapter or network interface card (NIC). These classes or categories may be further subdivided into network classes subdivided further into types of wireless connections (e.g. 802.11, GPRS, GSM, 3G, etc.) and types of wired connections (e.g. modem, digital subscriber line (DSL), T1 line). In other embodiments, policies may be set based on particular features besides simply connection type. For example, a different security policy may be applied for different brands of NICs or particular classes (e.g. 802.3, 802.11a, 802.11b, GPRS, GSM) of NICs. Furthermore, different security policies may be assigned based on the operating system employed or the version of the operating system because different systems or versions provide different security features. Furthermore, different policies may be employed based on the security features (e.g. a firewall) provided by different types of network access points (NAP). Additionally, the presence or absence of upgraded NIC support for enhanced security protocols (e.g. 802.11i), or the presence or absence of security software such as virtual private network (VPN), or antivirus software, or intrusion-detection software may be the basis for setting different policies on a particular port, network adapter or data. - As with the
location detection module 208, the security featuresmodule 210 has a communication interface to thepolicy setting module 212 in this embodiment as well as thememory locations 216. In one example, the activity status of active or inactive for a security feature may be indicated by an activity status indicator field for the feature stored in thememory locations 216. Thepolicy setting module 212 may be notified of the active features via the communication interface implemented in the same manner described in any one of the examples discussed above with respect to thelocation detection module 208 or in any manner known to those of ordinary skill in the art. - The
policy setting module 212 communicates the current security policy to the policyenforcement control module 214 via a communication interface implemented in the same manner described in any one of the examples discussed above with respect to thelocation detection module 208 or in any manner known to those of ordinary skill in the art. Thepolicy enforcement module 214 comprises one or more enforcement mechanism modules as specified by the policy. For example, in a communication session between the mobile device and another computer in which data is being transferred over a wireless connection, based on this connection type, in one example, theenforcement module 214 may prevent certain files from being transferred over the wireless connection as opposed to the cases in which the data is being transferred over a wired connection, or the case in which 802.11i cryptography is being used over the wireless connection. Again, in an alternate embodiment the policyenforcement control module 244 may operate as part of a separate computer system that transfers commands over a network to the mobile device. In the illustrated embodiment of FIG. 2B, aremote diagnostics module 246 processes events and performs audits relating to processing performed by one or more of the modules. Theremote diagnostics module 246 transmits over anetwork 204 diagnostic information to the remotediagnostic module 224 on the server computer system. Examples of tasks that thediagnostics module 246 performs in order to obtain diagnostics information are as follows: - Verify that correct files are in correct locations.
- Verify (e.g. checksum) all files to verify no corruption.
- Verify time/date stamps for correct versions.
- Check for outdated installation (INF, PNF) files.
- Verify that all registry entries are correct and correct any errors found. For example, it is verified whether the indications of the installation of the network interface cards (NICs) is accurate.
- Examples of other tasks that the
client diagnostics module 246 may perform to provide diagnostic information to theremote diagnostics module 224 on theserver computer system 200 include enabling and disabling advanced debugging and sending debugging output to theserver computer system 200. For example, enabling and disabling advanced debugging includes turning on system event logging with options including which parameters to log, when to log, etc. and allowing a debug version of a system component to be installed. In this example, the system event log or portions of it and any special debug output files that debug components generate are sent to theremote diagnostics module 224 on the server. - FIG. 11 illustrates an embodiment of a method for providing remote diagnostic support from a server computer system to a mobile client device in accordance with an embodiment of the invention. In one embodiment, the method may be performed by a combination of diagnostic software modules in a server computer system (e.g.
remote diagnostics module 224 in FIG. 2A) and by diagnostic software on the mobile client device such as theclient diagnostics module 246 in the system embodiment of FIG. 2B. For illustrative purposes, the method will be discussed in the context of FIGS. 2A and 2B. The remotediagnostic module 224 receives 1102 a notification of an error occurrence on a client mobile device. Theclient diagnostics module 246 retrieves 1104 the diagnostic information such as a crash dump or system error log associated with the error and forwards it to the server computer system. Theremote diagnostics module 224 determines the one ormore software modules 1105 in which the error or errors have occurred, and downloads 1106 a debug version for each of the effected software modules or portions. Optionally, theclient diagnostics module 246 may request that theuser interface module 218 cause the debug output to be displayed 1107 on a screen of the mobile device. This feature allows the mobile device user to possibly assist in the diagnostic/debugging process. Debug versions of the software in which the error occurred are downloaded from the server system and installed 1108 on the client device. The output from these debug versions, for example time stamped values of parameters, are captured 1110 and sent to theremote diagnostics module 224. Thediagnosis module 228 uses pre-stored diagnostic programs to analyze 1112 the output from the debug versions, or provides information as requested by user input fromuser interface module 240, or analyzes 1112 the data through a combination of stored programs and interactive directives. Once the diagnostic information is analyzed, support information is provided 1114 from thediagnosis distribution module 230 over thenetwork 204 to theclient diagnostics module 246. Some examples of support information are software instructions for corrective action or messages of an instructive or diagnostic nature which theclient diagnostics module 246 sends to the clientuser interface module 218 to cause to be displayed on the screen of the mobile device. - The
client diagnostics module 246 may also run tests with respect to the security policies. For example, tests may be run that attempt to communicate to the outside world on blocked ports or an IP address may be pinged. Output may be saved in a debug output file and sent to a screen on the mobile computing device and/or sent to theremote diagnostics module 224 on the server computer system. - Alternatively, in the embodiment of FIG. 2B, any one of the modules (e.g.206, 208, 210, 212, 214, 218, 245) may have an event logging module and/or an auditing module which sends diagnostic information to the
remote diagnostics module 224. In one example, each of the event logging module or the auditing module may record events pertinent to its respective module (e.g. location detection module 208). In another example, either or both of the event logging module or the auditing module may process events and perform audits relating to the processing performed by more than one of the modules. - For illustrative purposes only, the method embodiments illustrated in FIGS. 3A and 3B are discussed in the context of the system embodiment of FIG. 2A. FIG. 3A illustrates a method for managing one or more security policies for the protection of data accessible by a mobile device based upon criteria in accordance with an embodiment of the present invention. In the system embodiment of FIG. 2A, the
policy management module 236 defines 302 a security policy applicable to a client mobile device based upon criteria. One example of criteria is the location associated with the network environment in which the mobile device is operating. Other examples of criteria are the presence or the activity status of one or more security features. Of course, a combination of location and one or more security features may also form a criteria basis for defining a security policy. Thepolicy management module 236 designates 304 one or more client devices associated with the policy. In one example, this association may be based on an entity or class to which the security policy is applicable. An example of an entity is a group with one or more members. An example of a member may be a user of the client mobile device. A policy may be set that is applicable to the group of all engineers in the software development department. Another example of a member is the mobile device itself. For example, the capabilities of different mobile devices may be the basis for classifying them into different groups. In a secure manner, thepolicy management module 236 provides 306 the one or more designated client mobile devices with authorization information for use in contacting the server system securely. One example of authorization information is an encrypted token provided by theauthorization module 232 to the mobile client device during a trusted connection between the two. An example of a trusted connection may be an internal connection behind the firewall of and within the internal network of the enterprise with which both the server system and the mobile client device system are associated. In one embodiment, an authority server within the firewall in the internal network provides the authorization information. When a client mobile device connects via the Internet, it interacts with one or more of the enterprise side servers external to the firewall. The client contacts the external servers to retrieve policies and instructions. The external servers also perform key/identity management, client disable methods (e.g. unmanaged mode) and policy persistence. The external servers communicate with the authority server through the firewall for client management information such as a key, a user, a group, and version information associated with a client mobile device system. In a similar manner, responsive to security information such as a policy or software being designated for encryption, thepolicy management module 236 provides 308 the designated client mobile device with cryptographic information which the client device can store and use to decrypt the security information. An example of cryptographic information is a key for use with a cryptographic authentication protocol. In one example, Microsoft® web keys may be used. Thepolicy management module 236 sets 310 the permissions for the one or more associated mobile devices with respect to the one or more policies. In one aspect, permissions typically relate to the allowable modification that may be made to a downloaded policy or client software by the client mobile device. Permissions may be applied to various policies and to the criteria upon which policies are defined. For example, there may be permissions set for a policy, but permissions may also be set with respect to a location. Some examples of permissions specific to policies are as follows: - Ability to see the tray icon
- Ability to shut down the service
- Ability to go to unmanaged mode
- Ability to go to self-managed mode
- Ability to change to a different policy server, or get a policy from another server in the same enterprise
- Ability to not pull down new policies when they are available
- Ability to get software updates directly from a vendor
- Ability to launch the settings application
- Ability to modify visual settings
- Ability to modify feedback levels
- Ability to see/modify server-defined global objects (for each type of object)
- Ability to create new global objects (for each type of object)
- Ability to see/modify global objects in the policy (for each type of object)
- Ability to change the global objects used in the policy (for each type of object)
- Ability to remove adapters from the policy.
- Some examples of permissions specific to locations are as follows:
- Ability to manually switch to a location
- Ability to override a location.
- Ability to manually switch to a different location
- Ability to change enforcement mechanisms.
- In one embodiment, in setting the permissions, for flexibility, a permission setting or a level of identification for each of the permissions may also be set. Some examples of these possible settings or levels are as follows:
- Modifiable: The user has permission to modify the setting freely.
- Recommended: The user has permission to modify the setting, but the application will recommend the policy's default.
- Mandatory: The user does not have permission to modify the setting.
- Hidden: The user does not have permission to view or modify the setting.
- The
policy management module 236 determines 309 whether the security information is to be encrypted. If not, thepolicy management module 236stores 312 the security policy. If it is to be encrypted, the policy is encrypted 311. Similarly thepolicy management module 236 may also encrypted other types of security information such as software updates before they are stored. For example, the security policy may be stored as a data object in amemory 242 accessible via an internal enterprise network. In another example, security policies may be included in XML documents which may themselves be encrypted. In an alternate embodiment, thepolicy management module 236 may store the policy unencrypted, thepolicy distribution module 234 makes the determination of whether encryption applies to the policy or other security information, and thepolicy distribution module 234 encrypts the security information before distributing it. Additionally, in the embodiment of FIG. 2A, thepolicy management module 236 manages the one or more client devices for security purposes. One aspect of client management is that thepolicy management module 236 maintains 314 client management information for the mobile device and the one or more policies associated with it. The following list of information fields is an example of the types of information which may be included in client management information. - User Name
- Group
- Connection state, which is one of:
- Connected
- Last connected time
- Never connected
- Policy for this user
- Policy version for this user
- Software version for this user
- Current enforcement mechanisms
- Diagnostic level, including diagnostic options available in the client settings
- Diagnostic information
- Auditing level
- Auditing information
- Locations Previously Detected
- The information may be organized in a data object stored in a
memory 242 accessible to the server computer system. - Through a user interface, a system administrator provides input indicating actions to be taken with respect to managing clients. In the embodiment of FIG. 2A, the
user interface module 240 provides the input to thepolicy management module 236. In one example, a graphical user interface (GUI) for managing mobile client devices provides a list of information identifying directly or indirectly all mobile client devices that have connected to the server system, and has controls for managing them. Information displayed may be based on information sent during client-server negotiation. Below are some examples of actions to be taken for one or more client devices selected in accordance with user input. - Remove this client device from the current list of connected client devices (although the client device is re-added the next time he connects).
- Change auditing level (to one of the options described below).
- Change the diagnostic level.
- View the diagnostic or event log for this client device.
- Reassign this client device to another group.
- Define Properties (e.g. required hardware, required software, data accessibility rights, data visibility rights.)
- FIG. 3B illustrates a method for distributing a security policy by a server computer system for the protection of data accessible by a mobile device in accordance with an embodiment of the present invention. In one embodiment, each of the client mobile devices sends a status request upon network access starting up to the server system. The status request provides information regarding the client mobile device, examples of which are authorization information, policies and their version numbers resident on the device, and diagnostic information. In the illustrative context of FIG. 2A, the
authorization module 232 receives 322 the status request with authorization information from a client mobile device, and it determines 324 whether a communication exchange with this mobile device is authorized. If not, the status request is ignored 326 or an error message is sent 326. If the communication exchange is an authorized one, thepolicy distribution module 234 determines 328 if security information (e.g. a policy or software) applicable to the mobile client device has been updated since the last status request. If not, the status request is ignored 325 or a no update message is sent 325. Responsive to a new policy, a new version, or new software being available that is applicable to the requesting client device, thepolicy distribution module 234 distributes 327 the updated security information to the mobile device over the network (e.g. Internet) 204. In an alternate embodiment (not shown), thedistribution module 234 determines if the information has been designated to be encrypted. If not, it distributes 327 the security information to the client device. If it is to be encrypted, the security information is encrypted and then distributed 327 to the client device. - FIG. 3C illustrates a method for obtaining security information by a mobile client device from a server system in accordance with an embodiment of the present invention. In the embodiment of FIG. 2B, the client
policy setting module 212 determines whether a network connection has been 332 activated. If not, a communication session with the server is not sought 333. However, responsive to a network connection being activated, theauthorization module 245 on the client device sends 334 sends a status request checking if new security information is available along with authorization information to theserver system 200. - For authentication purposes, in one embodiment, when the server system is installed, a key is generated and stored in an encrypted file. This encrypted file is copied and distributed to the clients and any other servers in the server system. In one example, the key generation uses a pseudorandom number generator code. This key may be used for two purposes: authentication of clients and authentication of a downloaded security information such as policies by a client as discussed below. Clients installed by some other enterprise will have a different key, and clients installed in an unmanaged mode will not have a key.
- Responsive to it being determined335 that new security information, for example a policy, software, or a message, is available, the new security information is downloaded 337. The client
policy setting module 212 determines 338 if the security information is encrypted 338. If so, the security information is decrypted 340 using cryptographic information stored in memory (e.g. 220) that was previously downloaded in a secure session within the enterprise's internal network. For example, on the server side, a SHA1 hash of the file is performed, and the result is appended to the file. In this example, the file data is encrypted with the key for example using the Advanced Encryption Standard (AES). On the client side, a hash is performed with the key, and a comparison of the result made. - After the decryption or if none was needed, the security information is authenticated341 by the client system, for example by the
authorization module 245 in the embodiment of FIG. 2B. In one example, after the client decrypts the security information, which will be a policy in this illustration, a SHA1 hash of the policy is performed, and compared to the SHA1 hash found at the end of the decrypted file. If the comparison succeeds, then the client can safely conclude that the policy was generated on an authorized server, and that the policy has not been corrupted (nor tampered with). Next, the security information is installed 342 for execution on the client mobile device. - In an alternate embodiment, a session may be established between the
server system 200 and theclient system 201 using protocols. The protocols are designed to be extensible and straightforward to allow addition of new verbs later. An example “Establish Session” protocol that may be used to authenticate the client as a first step in all client-server transactions is illustrated below: - 1. c-->s: protocol version, (user identification) UID
- 2. s-->c: random challenge
- 3. c-->s: SHA1(random challenge, key)
- The server computes the same SHA1 hash, and if it doesn't match what the client sent, then the server drops the connection with no further ado. Otherwise, after this protocol is finished, the server has authenticated the client.
- Responsive to a session not being authorized or being established, in this embodiment, the
client diagnostics module 246 creates 328 an audit event noting failure to establish the session. Responsive to a session being established, the clientpolicy setting module 212 sends an update query to the server system. Two examples of update query protocols may be used as discussed below: - The “Query Policy Update” protocol is used to find out if a new policy is available for download.
- 1. c-->s: the “Query Policy Update” verb, policy version
- 2. s-->c: message indicating either “there is a newer version,” or “your version is up-to-date.”
- The “Query Software Update” protocol can be required as a step in all first connections or periodically as designated by the administrator.
- 1. c—>s: the “Query Software Update” verb, software version s—>c: message indicating either “there is a newer version,” or “your version is up-to-date”
- As in FIG. 3C, responsive to it being determined (e.g.335) that new security information, for example a policy, software, or a message, is available, the new security information is downloaded (e.g. 337). Two examples of download protocols that may be used are illustrated below:
- After performing “Establish Session” protocol, and optionally the “Query Policy Update” protocol, then the “Download Policy” protocol may be used to retrieve the software update.
- 1. c-->s: the “Download Policy” verb
- 2. s-->c: the encrypted policy file
- After performing “Establish Session” protocol, and optionally the “Query Software Update” protocol, then the “Download Software” protocol may be used to retrieve the software update.
- 1. c-->s: the “Download Software” verb
- 2. s-->c: the encrypted software update file
- At times, the server takes the initiative and “pushes” security information to at least one client. In one example, a protocol is used not to actually push a software update or a policy, but to notify clients that a software update is available as illustrated below. In one example, a multicast notification may be transmitted and in another example, a broadcast notification may be transmitted. The transmission may be to all currently connected clients in one instance. In another, the notification may be transmitted to all currently connected clients and to all other clients at that last known locations stored in client device profiles in
memory 242. - s-->all c's: protocol version: “Push Software” verb, software version, software update size, total number of clients, max number of simultaneous clients, SHA1(protocol version, software version, software update size, total number of clients, max number of simultaneous clients, key) or for a policy:
- s-->all c's: protocol version, “Push Policy” verb, policy version, policy size, total number of clients, max number of simultaneous clients, SHA1 (protocol version, policy version, policy size, total number of clients, max number of simultaneous clients, key).
- The clients use the “software update size,” or the “policy size”, “total number of clients,” and “max number of simultaneous clients” to calculate a randomized waiting period before attempting to download the software update or policy. An example of a calculation for the randomized waiting period is as follows:
- a) Calculate the number of excess users (“total number of clients”−“max number of simultaneous clients”).
- b) Use the “software update size” or “policy size” to calculate an estimated download time.
- c) Calculate a pseudo-random waiting period between zero and the estimated download time.
- d) Multiply the waiting period by the number of excess users, and wait for the resulting amount of time.
- If more than “max number of simultaneous clients” connect at any one time, the overflow connections are dropped by the server, and the clients calculate another randomized waiting period before attempting to download the software update or policy again.
- The interaction between a server system and a client system in administering protection of data can also provide a benefit of decreasing downloads to clients to keep them current. For example, one embodiment of a method in accordance with the present invention provides for anti-virus file scanning between a client and server. A benefit of this embodiment is that this approach decreases the latency typically found in responding to new computer viruses. In this embodiment, a software application on the client mobile device processes all incoming file and email transfers. The software calculates signatures of each file received and forwards these to a centralized server (e.g. corporate server). The server compares incoming signatures against its current database of virus signatures and responds to the client device with its results. In this way, the client device uses the latest virus signatures with which the server has been updated.
- Another aspect of the invention provides for allowing managed mobile clients to do secure “peer to peer” communications and file transfers via an intermediate policy server. One embodiment of a method for allowing managed mobile clients to do secure “peer to peer” communications and file transfers in accordance with the invention is described next. This embodiment illustrates the ability for a client to send a file to another client who may or may not be available on line. In the latter case, the files are transferred and cached to the policy server. When the receiving client comes on line, the files would then be transferred to it. Text messages may be handled in a similar fashion to files and queued where appropriate. This embodiment may provide that communications between clients would be encrypted according to a policy defined by the policy server administrator. This embodiment may also provide that the type, size, format and other attributes of transferred files would be controllable by the policy server administrator. Files transfers and/or user-to-user communications may be subject to other policies. Additionally, files transferred between users may be checked for malicious software by the policy server prior to be forwarded to the recipient. For email between users who are on the same corporate domain, email APIs may be used to redirect email and attachments through an encrypted channel to the policy server to the corporate mail server.
- To address the problem of users on the road demanding changes to be made immediately to their policy when the policy server is unavailable from their location, a method for placing a client device temporarily in self-manage mode in accordance with an embodiment of the invention comprises the following:
- 1. The client generates a random challenge key.
- 2. A
policy management module 236 in the associatedserver computer system 200 of the client generates a response key as an update flag which is read by an administrator over the phone to the user, who types it in to the client device. - 3. The
client authorization module 245 stores the update flag. Theclient system 201 enters a self-managed mode, allowing the user to edit and modify the client's security policies. - 4. The client remains in this mode until it enters a location from which the policy server is available.
- 5. When the client enters a location from which the policy server is available, a new policy is automatically downloaded and the client exits self-manage mode (i.e., becomes managed again).
- When the client enters a location tagged with the update flag, a new policy is automatically downloaded and the client becomes managed again.
- For illustrative purposes only, the method embodiments illustrated in FIGS. 3D, 3E and3F are discussed in the context of the system embodiment of FIG. 2B.
- FIG. 3D illustrates a
method 360 for protecting data accessible by a mobile device based on a location associated with the mobile device in accordance with an embodiment of the present invention. In the system embodiment of FIG. 2B, thelocation detection module 208 detects 362 a location associated with a network environment in which a mobile device is operating. Thepolicy setting module 212 determines 364 what security policy is to be the currently enforced or current security policy based upon the detected location associated with the mobile device. Thepolicy enforcement module 214 enforces 366 the current security policy. - FIG. 3E illustrates a
method 380 for protecting data accessible by a mobile device based on a location associated with the mobile device and a security feature in accordance with another embodiment of the present invention. In the system embodiment of FIG. 2B, thelocation detection module 208 detects 382 a location associated with a network environment in which a mobile device is operating. Furthermore, in the system embodiment of FIG. 2B, the security featuresmodule 210 determines 384 whether one or more security features have an activity status of active or inactive in a communication session between the mobile device and another computer. Thepolicy setting module 212 determines 386 the current security policy based upon the detected location and the activity status of the one or more security features associated with the mobile device. Thepolicy enforcement module 214 enforces 388 the current security policy that has been set by thepolicy setting module 212. - FIG. 3F illustrates a
method 390 for protecting data accessible by a mobile device based on a security feature in accordance with another embodiment of the present invention. In the system embodiment of FIG. 2B, the security featuresmodule 210 determines 392 whether one or more security features have an activity status of active or inactive in a communication session between the mobile device and another computer. Thepolicy setting module 212 determines 394 the current security policy based upon the activity status of the one or more security features. Thepolicy enforcement module 214 enforces 396 the current security policy that has been set by thepolicy setting module 212. - A system embodiment such as that in FIG. 2B may execute one or more of the method embodiments shown in FIGS. 3A, 3B or3C on a continuous basis such as may be implemented for example using a periodic time setting or a loop. As a user moves through different network environments associated with different locations, the
location detection module 208 continues detecting or monitoring the location using one or more location detection methods. Similarly thesecurity module 210 continuously monitors the activity status with respect to one or more security features. With each change in location or security feature or both, thepolicy setting module 212 determines whether a change in the current security policy is necessary. Thepolicy enforcement module 214 is notified of the change and enforces the new security policy set as the current policy. A notification of a change in policy, location, security feature or a combination of any of these may be sent by thepolicy setting module 212 orpolicy enforcement module 214 to theuser interface module 218 which may then cause a notification indicating the change to be displayed in order to provide the user an opportunity to intervene in the policy change if he desires and is allowed to do so. Whether a notification is displayed or not, the security policy change in this embodiment is performed automatically without requiring user intervention. - FIG. 4A illustrates an example of a graphical user interface displaying examples of locations in accordance with an embodiment of the present invention. The examples illustrated correspond to those shown in FIG. 1, “Mobile”102, “Home” 104, “Work” 106 and “Alternate” 108.
- FIG. 4B illustrates an example of a graphical user interface displaying examples of combinations of a location and a security feature, each combination forming the basis of selecting a security policy in accordance with an embodiment of the present invention. In this example, a location and a connection type detected are matched with an indicator. This indicator serves the dual role of a location indicator and a security feature indicator. As illustrated, the combination of having a “Wired connection to Home Network” results in an indicator or category of “Home.” A “Wireless Connection to Home Network” results in an indicator or category of “Home Wireless” signifying that the associated policy accounts for security risks associated with a wireless connection.
- Security policies may be stored as data objects accessible over a
network 242 in FIG. 2A or inresident memory 220 in FIG. 2B. In another example, security policies may be stored as XML documents. A security policy may have associated with it or be associated with more than one location or security feature. For example, a security policy may be defined as a container having an object type of “location” and a data object type of “security feature.” In one example, the “location” data object has attributes of “security features” and rules defining the policy associated with the location type. One example in which the security feature of adapter type is included in the location data type definition is illustrated belowPolicy Locations Location (list) Adapters Wired Adapter Wireless Adapter Permissions Rules File Encryption ....... - In the illustrated example, network adapters are generalized into the two categories of wired and wireless and when the policy is put into action on the mobile device, whatever adapters exist on the mobile device inherit the properties of these two prototype adapters in the policy object.
- FIGS. 5A through 5F are discussed for illustrative purposes only in the context of the
policy management module 236 anduser interface module 240 of FIG. 2A. However the optionalpolicy setting module 238 of the server system in FIG. 2A may also provide the same functionality as thepolicy management module 236 in defining an aspect of a policy. Similarly, thepolicy setting module 212 anduser interface module 218 in FIG. 2B may provide similar functionality in defining an aspect of a policy as thepolicy management module 236 anduser interface module 240 as allowed by the permissions set by thepolicy management module 236. - FIG. 5A illustrates a
method 500 for defining criteria for an aspect of a security policy in accordance with an embodiment of the present invention. An example of an aspect of a policy is a location or a security feature. Another example is a component to be monitored such as a port or port group or a file. Some examples of a file are an e-mail, a text message, a TIFF file, or a Word document. For illustrative purposes only, the method embodiment is discussed in the context of the system of FIG. 2A. Thepolicy management module 236 receives 502 user input from theuser interface module 240 defining criteria for an aspect of a policy, and thepolicy management module 236updates 504 the aspect of the policy in accordance with the received user input. FIGS. 5B, 5C, 5D, 5E and 5F illustrate graphical user interfaces illustrating an example of how an aspect of a policy may be defined. - FIG. 5B illustrates a graphical user interface example illustrating a method for defining criteria with respect to environmental network parameters or characteristics to define a location in accordance with an embodiment of the present invention. In the embodiment of FIG. 2A, the
policy management module 236 may receive from the user interface module 240 a user-selected name for a location to be defined via such a graphical user interface as this illustrated example. A user-provided description may also be received for this location via the illustrated interface. In one example, the network parameters are defined based upon user input received fromuser interface module 240 for each location to be defined. For additional locations in which the client user is allowed to define a location associated with a network environment of if the device is operating in a standalone mode, responsive to a selection of a button indicating the user wants the location to be defined, a “Stamp” button in this embodiment, one or more network parameters are determined. In the example in the context of FIG. 2B, responsive to the “Stamp” request, thepolicy setting module 212 requests a snapshot of the current network environment parameters which it receives in the example of FIG. 2B from thelayer manager 206. Examples of network parameters are identifications of network services such as Gateways, Domain Name System (DNS) Servers, (Dynamic Host Control Protocol) DHCP and Domain servers. Other examples include identifications for Windows® Internet Naming Service (WINS) servers. Alternatively, thepolicy management module 236 may receive the “stamped” network parameters from thepolicy setting module 212 or thelocation detection module 208 on the client device after a snapshot has been taken in order to define locations. - FIG. 5C illustrates a graphical user interface example displaying the network services identified in a network snapshot in further illustration of the method example described in FIGS. 5B, 5D,5E and 5F. In the example in the context of FIG. 2A, the
policy management module 236 directs theuser interface module 240 to display the types of servers which theuser interface module 240 causes to be displayed in such an interface as the illustrated example of FIG. 5C. The displayed user interface example of FIG. 5C illustrates by check marks user input that has been received via an input device identifying those services selected for further configuration. - FIG. 5D illustrates a graphical user interface example for configuring parameters associated with one of the selected network services, in this example Gateway services, of the method example described in FIGS. 5B, 5C,5E and 5F in accordance with an embodiment of the present invention providing for further configuration of the selection of services. FIG. 5D presents an example user interface for configuring a “Gateway Service Definition.” In this embodiment, the service definition specifies the specific servers that provide network service for this location. In this example, for each service provider entry, a service definition may be defined by a service identifier having a value of a NETBIOS name such as “NET-GATEWAY” or an IP address. In the example in the context of FIG. 2A, a service identifier designation is received by the
policy management module 236 from theuser interface module 240. In the illustrated example of FIG. 5D, the service identifier designation indicates whether or not a particular service identifier provided by a service provider during location detection in operation of the mobile device must match this service identifier by a “Yes” or a “No” input designation. Thepolicy management module 236 stores the service identifiers and their corresponding service identifier designations so that they are associated with the location being defined. - FIG. 5E illustrates another graphical user interface example for configuring parameters associated with one of the selected network services, in this example Domain Name System (DNS) Servers, of the method described in FIGS. 5B, 5C,5D and 5F in accordance with an embodiment of the present invention providing for further configuration of the selection of services. In this example, the parameter associated with each of these identified servers is an IP address, and user input designates by “Yes” or “No” whether the IP Address is a parameter to be associated with the location associated with this network environment.
- FIG. 5F illustrates an example user interface for indicating a minimum number of network services or service providers to be present within the network environment for a valid location identification in continuing illustration of the example of a method in accordance with the present invention illustrated in FIGS. 5B, 5C,5D, and 5E. In the example in the context of FIG. 2A, the minimum number is received by the
user interface module 240 and forwarded to thepolicy management module 236. This minimum number may include the number of service providers whose service identifiers must match plus a number of service providers whose identifiers may optionally match according to a user defined criteria. These one or more network parameters identifying the location are stored in a data object (e.g. look-up table) inmemory 242 for the associated client device. Similarly, they may be stored in a data object inresident memory 220, particularly for locations defined by theclient system 201. - FIG. 6A illustrates a
method 600 for detecting location based upon a defined criteria in accordance with an embodiment of the present invention. The defined criteria may be based on network parameters such as the examples of a Domain, Gateway, DHCP, DNS1, DNS2, DNS3, and WINS servers as discussed with reference to FIGS. 5B-5F. Additionally, the criteria may include one network parameter or a combination of network parameters available within the same layer of a communication model or across layers of a communication model. Examples of such parameters include a MAC address associated with the data-link layer of the OSI model or the subnetwork layer of the Internet Protocol Stack (IPS), an IP address typically associated with the network layer of the OSI model and the Internet layer of the IPS model, a port value typically associated with the transport layer in the OSI or IPS models, and an application parameter (e.g. an application identifier or information derived by an application) typically associated with the application layer in the OSI or IPS models. - For illustrative purposes only, the method embodiments illustrated in FIGS. 6A, 6B and6C are discussed in the context of the system embodiment of FIG. 2B. The
layer manager 206 obtains 604 a set of N pre-selected network parameters from thenetwork environment 602 to which the mobile device is connected and forwards them to thelocation detection module 208. Thelocation detection module 208processes 606 each of the N parameters received. Such processing may be done in aloop location detection module 208associates 616 the current location with this parameter. For example the association may be accomplished using a lookup table. The next parameter is selected 618 for review (e.g. K=K+1). If the parameter value does not match the predefined value for the current location, it is determined 610 if it matches the predefined value for another location. If so,associate 612 this other location with this parameter (e.g. in a lookup table). Otherwise, associate 614 a default location with this parameter in a lookup table. After the N parameters have been processed, the location is determined 621 based on criteria. - FIG. 6B illustrates one
version 660 of the method in accordance with this embodiment of the present invention illustrated in FIG. 6A in which the criteria is a matching criteria. It is determined 622 whether all the locations associated with a subset M of the N parameters are the same. If they are, it is determined 624 whether this location is the current location. If it is, then the next set of N parameters is processed (See 604 in FIG. 6A). The following example illustrates a subset M of N parameters that may be used to identify a network. - (Minimum of 3 matches)
- Domain: AcmeBananas (Must Match, #1)
- Gateway: 10.0.0.254 (Should Match,#1)
- DHCP: 10.0.0.12
- DNS1:10.0.123.1 (One of the DNS's Must Match, #2)
- DNS2: 10.0.123.2
- DNS3: 10.0.132.1
- WINS: 10.0.0.212 (Should Match, #2)
- Suppose N=7, and M=3 in order to define this location as “work” for the mobile device of an Acme Bananas employee. The Domain of “AcmeBananas” may be defined as a parameter that is required to match. Additionally, the second required match for the subset M may be that any one of, but at least one of, the three DNS servers' IP addresses must match its counterpart in the defined criteria for this “work” location. For the third required match in this example of M=3, the match may be selected from a set parameters. In the example above, if either of the Gateway IP address or the WINS server IP address matches, the three required matches have been found satisfying the defined criteria for the “work” location.
- An event logging module may be helpful in tracking which parameters match successfully on a consistent basis. In the above example, the client user or an administrator may view the event log and see that there has never been a match for DNS3 since the “work” location was defined. This may indicate that a check of the IP address for DNS3 may be in order to verify it was entered correctly. In another example, this trend may be noted by the
monitoring module 226 on the server side or theclient diagnostics module 246 on the device. If it is not the current location, it is determined 626 if it is another defined location. If so, then the policy setting module is notified 628 that the location has changed to this other defined location, and the next set of N parameters is processed 604. - In different examples, M may have different numbers. For example, it may be one. Perhaps for a home wireless network, the MAC address for a network access point is the only parameter tested to identify the home network environment. All other locations may be assigned a Mobile location designation. M may be the minimum number described with respect to FIG. 5F representing a number of network environment parameters to be examined.
- Similarly, a location detection test may detect location based on parameters from different layers in a model for communications between computers in a network. For example, the N parameters in the illustrated Acme Bananas example may also define a MAC address, a
layer 2 data-link parameter, a TCP port, a layer 4 transport parameter and a layer 7 application parameter including information derived by the application in the criteria for a location. The two additional terms below illustrate an example. - DNS1: 00-01-03-32-72-AB
- POP3: 10.0.0.35:99
- Assume for this example, that Acme Bananas operates its POP3 mail service on port99, a layer 4 parameter, instead of a standard port 10. In this example, the MAC address: 00-01-03-32-72-AB for DNS1 is a
layer 2 parameter. Each of these parameters may be required to match or may be a discretionary parameter, such as the Gateway IP address or WINS server IP address in the example above, whose match may be used in a location detection test. For this illustrative example, we refer to the system of FIG. 2B again for purposes of illustration and not limitation. Thelocation detection module 208 may have an application proxy that emulates a POP3 client in order to verify that the POP3 service is actually running on the specified server on port 99 in this example (which is not the standard POP3 port of port 110). This information is a layer 7 or application layer parameter upon which a location detection decision may be based. As seen in this example, different layers can provide additional verification of parameters received at other layers. Here the layer 7 parameter is verifying the layer 4 parameter. Here are other examples of criteria to be used for identifying a location: - 1) The Default Gateway IP address and MAC address must both match the stored values, or
- 2) The DHCP server IP address and MAC address must both match the stored values, or
- 3) The Default Gateway IP address and the DHCP server IP address must both match the stored values, or
- 4) The local IP address must match the stored value.
- If it was determined622 that all the locations associated with the M parameters were not the same, the policy setting module is notified 630 that a default location is the current location, and the next set of N parameters is processed 604.
- FIG. 6C illustrates another
version 670 of the method embodiment in FIG. 6A in which thecriteria 621 for determining location is a weighted average of N network parameters. It is determined 632 how many locations have been associated with any of the current set of N parameters. For each location, the average of the weighted values is computed 634 for the N parameters for that location. It is determined 636 for each of the averages associated with a location, if the average is above a valid threshold. If it is, then the location is stored 638 in a set of possible locations. The processing would repeat 640 if there are more than one location associated with any of the N parameters. It is determined 642 whether there is more than one location in the set of possible locations. If not, then the location in the set is set 644 to the current detected location. Responsive to the determination that there are more than one locations in the possible set, optionally, a notification may be displayed 648 on a user interface (e.g. 240 or 218). The location is set 650 to a default location. - In a variation of the method embodiment of FIG. 6C, instead of an average, each of the N parameters may be assigned a confidence or weighted value. Parameters of more significance receive higher confidence values. An average or a sum of the confidence values may be computed to determine location. Consider the example of Acme Bananas again. Assume percentages or percentiles are assigned to each of the seven parameters in accordance with a user-defined location definition for “work.” Assume the domain name has a confidence value of 0.4, each of the DNS servers has a value of 0.4, and the WINS server has a confidence value of 0.25. Assuming a threshold of one as a sum of the confidence values is the threshold criteria for associating this network environment with the location “work,” if the domain name, at least one of the DNS servers' IP addresses, and the WINS IP address match their predetermined counterparts, the sum of their confidence values exceeds one. “Work” is associated with the mobile device operating in this network environment.
- Those of ordinary skill in the art will recognize that in another version, the method embodiments illustrated in FIGS. 6A, 6B, and6C may also be applied in defining criteria for activation state of security features which define or trigger the setting of a particular security policy. Also, in another version, the method embodiment of FIGS. 6A, 6B, and 6C may be used to define criteria for setting a policy based on a combination of network parameters for a location and active security features. Another method of location detection involves a cryptographic authentication protocol (CAP) between the mobile device and a server for which a successful exchange identifies the client as being in a known environment. For example, in FIG. 1, one of the mobile devices depicted may exchange a key with the
Internet shopping site 110. A custom location of “shopping” may be associated with the mobile device and the policy associated with the “shopping” location may be enforced when communicating with the servers under the control of this Internet shopping site. In another example, a cryptographic authentication protocol (e.g. occurring when a network connection is initiated) may be one of several network characteristics to be verified to establish the location of “work” 106. Types of cryptographic authentication protocol protocols that may be used are those employing private keys, public keys or both (i.e., asymmetric or symmetrical authentication protocols may be used.) Similarly, other cryptographic authentication protocols include Secure Sockets Layer (SSL) certificates. For example, thelocation detection module 208 of FIG. 2B verifies that the internet shopping site is the proper or authentic site using the public key. In another example thelocation detection module 208 determines whether the mobile device is operating in the “work” location network environment. Thelocation detection module 208 sends a random challenge such as a number encrypted using the corporate server's (e.g. 112) public key. The corporate server decrypts the random challenge using its private key. The server performs a hash function (e.g. SHA1) of the random challenge result from its decryption and a random nonce such as a number. The server forwards the hash result and the random nonce back to thelocation detection module 208. Thelocation detection module 208 performs a hash of the random challenge it originally sent and the random nonce received from the server. It then compares this second hash result with the one received from the server. A match indicates that this is thecorporate server 112 of the user's employer, thelocation detection module 208 associates “work” with the mobile device. Similarly, theauthorization module 245 may perform the cryptographic authentication protocol and send a notification to thelocation detection module 208 of the successful result which indicates the “work” location. - In another embodiment, detection of a location may be based upon identifying one or more Network Access Points (NAP) with which a mobile device is associated or whose range it has roamed within based on the known presence of the one or more NAPs. The presence of the NAPs may be stored in a look-up table accessible by the mobile device. The MAC address of the NAP may be exchanged in an association or authentication protocol between the mobile device and the NAP.
- Consider the example, in a workplace of a complex of buildings, that there may be several wireless NAPs. One of the parameters for determining a “work” location (e.g.106) may be a MAC address which must match one of these wireless NAPs. Furthermore, the MAC address in this example may be used to define sub-locations within the work environment. For example, a particular NAP may be in the software lab while another is in a conference room. The policy for the “software lab” environment allows a mobile device accessing a corporate server to access certain files while a mobile device trying to access the files via the conference room NAP receives a notification that these files cannot be found. In another version of this last scenario, the policy associated with the conference room sub-location may allow the files to be accessed in the conference room if a virtual private network (VPN), as indicated by a port, a
layer 2 tunneling parameter, alayer 3 tunneling parameter or an application parameter, is used to access these certain files copied from certain network drives. In addition to or instead of the MAC address, the IP address of each wireless NAP may be used as a basis for location detection as well. Other examples of parameters that may be used as a basis for location detection are known (wired equivalency protection) WEP keys for NAPs, 802.1X protocols, and a Cisco® discovery protocol. Similarly, a Service Set Identifier (SSID) may also be used alone or in combination, for example with the MAC address and IP address of a NAP in its segment, as a basis for location detection as well. Based upon the SSID, thelocation detection module 208 determines the name of the NAP being used. There can be a policy that defines a set of SSIDs that can be used at a particular location by a given mobile device. - FIG. 7 illustrates a
system 700 for protecting data accessible by a mobile device in accordance with an embodiment of the present invention. Thesystem 700 comprises apolicy rule engine 704 embodied as a software application that has a communication interface (e.g. a software interface) to auser interface module 702 and a communication interface to afilter engine 710 embodied in adriver software program 706 operating in the kernal space of an operating system. In one example, thefilter engine 710 may be embodied within a Network Driver Interface Specification (NDIS)driver 706 typically used in a Windows® operating system. - In this embodiment, the filter engine acts as a layer manager in processing parameters at the network layer in the OSI or IPS models. Network packets from the network interface card (NIC) are received by a
Miniport Driver 708. TheMiniport Driver 708 has a communication interface to thefilter engine 710 and forwards packets to thefilter engine 710. Thefilter engine 710 detects one or more parameters in a packet. For example, the filter engine may detect an IP source address for the packet. Additionally, the MAC address of the server as well as that of the network access point that routed the packet may be detected. Also, the filter engine may read the packet header for a port address or determine the port group with which the packet is associated. Thefilter engine 710 has a communication interface to atransport driver 712 software program. Information that thetransport driver 712 may determine is session information associated with the transport layer in the OSI model. Session information usually defines a session by an IP address and a port address. - In this embodiment, the
filter engine 710 also acts by analogy as apolicy enforcement module 214 under the control of thepolicy rule engine 704. The policy rule engine in this embodiment is analogous to thepolicy setting module 212 in FIG. 2B. Thepolicy rule engine 704 has a communication interface to filterengine 710 from which it receives notification of a detected location or a detected security feature or attribute. An example of a security feature which may have been detected is that a certain port is using a wireless connection. Thepolicy rule engine 704 selects the security policy based on either of the detected location or the detected security feature or both. Thefilter engine 710 is instructed by thepolicy rule engine 704 to execute one or more enforcement mechanisms in accordance with the current settings or policy. - For example, if the current security policy does not allow file sharing to be activated for the mobile device, but allows Internet access, the
filter engine 710 checks packets for port destination. If the port is associated with file sharing, the packets for that port are dropped. If the packets are for Internet access, they are allowed. Thepolicy rule engine 704 may apply different rules with respect to inbound packets than for outbound packets. For example, if the file sharing request is initiated by the client device in outbound packets, inbound packets responsive to that request as determined by an IP address, a port identifier, IP subnet address, or an application parameter may be forwarded if the policy allows. However, an inbound initial request for file sharing may be dropped and not processed at all. - In another example, the
policy rule engine 704 directs thefilter engine 710 to drop all packets associated with a port identifier, representing for example, a TCP port, a port group type such as web surfing ports, or a TCP port range, using a wireless connection. Thefilter engine 710 drops all packets on that port but allows access, for example Internet access and e-mail, over other ports associated with a wired local area network (LAN) connection. - In another example, no communication with other computers may be allowed so that the
filter engine 710 drops all packets. In yet another example, the policy allows all packets to be passed through which thefilter engine 710 does. - The
user interface module 702 is analogous to theuser interface module 218 in FIG. 2B. For example, it processes input and output to assist a user in defining a policy aspect or in viewing and responding to notifications. - FIG. 8 illustrates a
system 800 in accordance with another embodiment of the invention comprising a server system embodiment for administering the protection of data accessible by a mobile device interacting with a system in a client mobile device for protecting data accessible by a mobile device. The server system allows an administrator to manage and distribute policies and software upgrades, analyze logs, and perform remote diagnostics. As with the other client system embodiments, the client system embodiment obtains policy updates from the policy server, updates a local or working policy in accordance with the updates, monitors changes in the mobile device's network environment associated with different locations, and applies the appropriate policies automatically as the user moves about. Similarly, the client system applies the appropriate policies automatically as the security features of the mobile device or a network environment become active and inactive. The client side system also receives software updates from the server and provides its status, usage and error logs to the server. - As illustrated, the server system embodiment comprises a
policy server 850 having anadministrator user interface 846. This system is communicatively coupled over a network with the client side system through acommunication port 842. Also, as is apparent to those of ordinary skill in the art, thepolicy server 850 may be implemented in one or more computers or computer systems. For example, it may comprise an authority server executing on one machine for establishing communication sessions and a number of computers with which client devices may communicate in order to obtain their updates and receive diagnostic assistance. - The client side system embodiment comprises a
policy engine 832 operating in application space having a communication interface tomanagement tools 816 of the operating system, a communication interface to afile filter 824 operating in the kernel space that controls access to thefile system 826, a communication interface to auser interface module 802, a communication interface with the layered service provider (LSP) 814, and also having a communication interface to apacket filter engine 818 operating within adriver 834. In this example, thedriver 834 is an NDISintermediate driver 834 operating within the kernel of the operating system of the mobile device. Thepacket filter engine 818 has a communication interface with the layered service provider (LSP) 814 operating in application space. - The
policy engine 832 further comprises adiagnostics module 844, arule processing module 808,Rules 840 and representative examples of rules subsets,packet rules 810 and file rules 812. In addition to thepacket filter engine 818, thedriver 834 further comprises anapplication filter 822, in this example, implemented as a transport driver interface (TDI)filter 822 and aVPN module 820 embodied here as aVPN Lite 820 implementation discussed below. TheTDI filter 822 comprises a communication interface with the packet rulessubset 810 and the file rules 812 subset in this example. It also communicates with thepacket filter engine 818 as part of thedriver 834. TheTDI filter 822 further comprises a communication interface with a Windows Socket (Winsock)layer 828 in application space. The Winsock layer communicates withlayered service provider 814 implemented in this example as a Windows socket filter, thelayered service provider 814 having a communication interface as well with one ormore applications 830 in application space. - In this embodiment, network environment location detection is performed by the
policy engine 832, in accordance with rules implementing one or more location detection tests in the Rules set 840, based on network parameters obtained by the NDIS driver for OSI layers 2-5, and by the layered service provider for OSI layers 6 and 7. For example, the layered service provider 814 (LSP) captures information about network applications starting and stopping and what ports the applications will be using. This information is provided to thefilter 818 and thepolicy engine 832 to provide application awareness. Furthermore, thepolicy engine 832, in accordance with the current security policy, provides to thelayered service provider 814 rules with respect to applications. For example, theengine 832 may provide a list of which applications can or cannot access the network, as well as the target IP addresses and ports that they are or not allowed to use. Thelayered service provider 814 then enforces the current policy in accordance with these rules applicable to applications. - In this example,
layered service provider 814 is a windows socket filter is used to determine which application (e.g. browser e-mail application such as Outlook Exchange®) is accessing the network and what networking services the application will be using. An example of an application's network service usage could include Outlook Express opening a specific set of Winsock ports, each using a separate protocol and target I.P. address. Thelayered service provider 814 will pass this information to thepacket filter engine 818, which then informs thepolicy engine 832 using an event signaling mechanism. An example of an event signaling mechanism is to used named events to signal thepolicy engine 832 that some event has occurred. - Filtering of specific applications provides further resolution for location detection and enforcement mechanisms. The context of Microsoft® Networking provides an example of the benefits of such a filter. Several applications such as Exchange and Microsoft® File Sharing can and do use the same TCP and UDP ports. The
NDIS filter driver 834 cannot determine which application is active based solely on TCP and UDP ports. The NDIS filter driver will act on the low level information i.e. TCP or UDP port numbers. When the packet arrives at theTDI layer 822, theTDI filter driver 822 determines based on one or more application parameters for which Microsoft Networking application a packet is destined and if the packet should be forwarded or filtered. For example, the LSP provides to the driver, via IOCTL calls, “sessions” which provide information about applications opening ports for sending, listening (receiving), and details such as what protocol is being used and the target I.P. address of sent packets. Once the application closes the Winsock port, the LSP can inform the packet driver that the session is now closed. These sessions allow the driver to be able to detect what incoming and outgoing packets should be allowed through the system and which packets should be forwarded or filtered. - A benefit of this embodiment is that it allows the NDIS filter driver to do low level filtering based on port or protocol information and not have the overhead of application specific parsing. A modular approach to packet and application filtering is allowed.
- The
policy engine 832 also has a communication interface tomanagement tools 816 of the operating system. Themanagement tools 816 provide information to thepolicy engine 832 such as the types of adapters connected to the mobile device and specific information about each of them such as their brand name. Thepolicy engine 832 also receives from themanagement tools 816 the local IP address associated with each adapter. Additionallymanagement tools 816 alert thepolicy engine 832 regarding which applications are running. For example, a process table maintained by the operating system may be monitored and notifications sent by themanagement tools 816 to thepolicy engine 832. For example, it may be determined whether 802.11i wired equivalency protection (WEP) software is running on a network adapter card through which wireless data is being sent and received. In this way, thepolicy engine 832 determines which security features are available in a system. - The
Policy Engine 832 may create a security policy that is not inconsistent with the policies downloaded from thepolicy server 850. Additionally, modification and local management of policies as allowed, for example in accordance with permissions of policies set by thepolicy server 850. ThePolicy Engine 832 receives user input and sends output via a communication interface with theuser interface module 802 to display and change policy settings responsive to user input. -
Rules 840 comprise rules that define one or more security policies to be enforced by thePolicy Engine 832. Thepolicy engine 832 comprises arule processing module 808 which executes tasks in accordance with determinations to be made as set by the rules for the current security policy and for directing the appropriate results dictated by the rules of the current policy. - In one embodiment, rules are pairings of logically grouped conditions with results. The following are examples of conditions, which may be connected by logical operators:
- Check for the existence of a registry key
- Check for a registry value
- Check for the existence of a file
- Check for a currently running application
- Check for a currently running service
- Check for the existence of network environment settings (includes a list of environments)
- Verify that specified applications are running
- Verify that specified protocols are enabled
- Verify that specified VPN is running
- The following are examples of results:
- Can/Can't use the network
- Can/Can't use the machine
- Locked in to a certain location
- Can/Can't access the file
- Can/Can't use the application
- Only transfer encrypted version of file.
- Examples of subsets of rules are illustrated in FIG. 8,
packet rules 810 and file rules 812. These subsets illustrate examples of enforcement mechanisms that may work at different layers of a communication model, for example at the network layer and at the application layer. - One example of an enforcement mechanism is referred to as stateful filtering. In one example, a security policy is called a type of shield or is referred to as a particular type of shield level. The state may hereafter be referred to as the shield state or shield.
- If the filtering is performed on a packet basis, it is referred to as stateful packet filtering. In stateful packet filtering, a packet filter such as the
packet filter engine 818 as it name suggests filters packets based on a state set by the currently enforced policy with respect to a parameter. Examples of such a parameter include source I.P. addresses (for received packets) or target I.P. addresses (for sent packets), port numbers, port types or a port group. A port group is a list of ports that are used by a particular application, network service or function. For example, a port group can be created that includes all the ports for a particular instant messaging application, or for all supported instant messaging applications, or for all applications used internally at a company. Examples of port groups that may be selected for processing by a policy include web surfing ports, gaming ports, FTP and SMTP ports, file sharing and network ports, and anti-virus updates and administration ports. A port group can contain individual port items or other port groups. - In this example, we discuss a version of stateful filtering called adaptive port blocking. In this example, there are rules comprising a mapping between a set of ports, port types, and actions. The ports are the actual port numbers, the port types enumerate the possible port types e.g. UDP, TCP, IP, or Ethertype, and the actions are what is to be done with this particular port e.g. filter, forward, or inform. The inform action will post an event to the
policy engine 832 when a packet is sent or received on the specified port. Filter and forward action control the sending and receiving of packets on the specified port. - In one example, a policy is in effect that each port is in one of three modes: open, closed, or stateful. When the port is open, all traffic (both incoming and outgoing) on that port is permitted to flow through the packet filter. When the port is closed, all traffic on that port is blocked (both incoming and outgoing) When the port is stateful, all outgoing traffic on that port is permitted to flow through the packet filter, and incoming responses to that outgoing traffic are allowed back through, but unsolicited incoming traffic is blocked. In another example, incoming and outgoing traffic may be blocked on a basis, examples of which are a network service or an application.
- In the system embodiment illustrated in FIG. 8, components such as the
policy engine 832, thepacket filter engine 818, thelayered service provider 814 and theTDI filter 822 may be employed for supporting stateful filtering. In one example, a session is created when a mobile device initiates communications with a particular remote or a specified set of remote computing devices. The stateful filtering, as may be performed by thepacket filter engine 818 and/or theTDI filter 822 in accordance withrules 840, for example rules in the subset of the packet rules 810, applicable to the current policy, may use the transport protocol to determine when a session is starting and the address of the remote device. Forward and filter decisions in accordance with rules in the set ofrules 840 or the subset of the packet rules 810 may be based upon the session information obtained at session startup. Additionally, forward and filter decisions may be based on application parameters received via thelayered service provider 814. This provides the benefit of more refined application filtering as illustrated in the example discussed above. - The policy engine will pass the rules to the packet filter engine as commands using the existing IOCTL interface. In one example, the policy engine determines based upon its current rules which ports or range of ports should do stateful filtering. These rules are then passed to the
packet filter engine 818 by an IOCTL command. In another example, thepolicy engine 832 determines that rules of the current security policy do not support certain applications accessing a network. These rules are passed to the packet filter engine as well as theTDI filter 822 for application specific filtering. Thepolicy engine 832 may also pass rules about application-specific network access to thelayered service provider 814 via an IOCTL interface. - Each component of the system may also provide health checks on the others. For example, the
policy engine 832, thelayered service provider 814, thefile filter 824, and thepacket filter engine 818 report whether any of the other services have been disabled or removed from the system to thediagnostics module 844. This information may be relayed to thepolicy server 850 as it indicates a possible compromise of the protective system. Thepolicy server 850 in that case provides diagnostic support information to thediagnostics module 844. - Stateful packet filtering deals with packets with different types of address. Outgoing packets have three different types of addresses: directed, multicast, or broadcast. Directed addresses are specific devices. Broadcast packets are typically used to obtain network configuration information whereas multicast packets are used for group applications such as NetMeeting.®
- To establish session state information with a directed address is straightforward. The IP address and the port number are recorded in a session control block. When the remote responds the receive side of the filter engine will forward the packet because a session control block will exist for that particular session.
- When the outgoing packet is a multicast packet there is a problem. Multicast packets are sent to a group; however, a multicast address is not used as a source address. Hence any replies to the outgoing multicast will have directed addresses in the source IP address. In this case the filter engine will examine the port to determine a response to a given multicast packet. When a response to the specified port is found session control block will be completed i.e. the source address of this incoming packet will be used as the remote address for this particular session. However, more than one remote may respond to a given multicast packet, which will require a session control block be created for that particular remote. The broadcast packets may be handled in the same manner as the multicast.
- The file rules
subset 812 have a communications interface such as an IOCTL interface with afile filter 824 having a communication control interface with afile system 826. Thefile filter 824 may implement one or more filter related enforcement mechanisms. A policy may protect files based on the location in which they are created and/or modified as well as the location in which the mobile device is operating. The policy specifies a set of locations in which the files are to be made available, and whenever the mobile device is not operating in one of those locations, those files are unavailable. In another embodiment, policies may require that files be encrypted only if they were copied from certain network drives. - One reason for requiring that all files created and/or modified in one of the specified locations is so that copies of sensitive files or data derived from the sensitive files are also protected. Specific mechanisms for protecting the files include file hiding and file encryption.
- When the mobile device is operating in one of the specified locations, the files can be located (e.g., they are not hidden). When the mobile device is operating in some other location, the files are hidden. One purpose of this mechanism is to prevent the user from accidentally revealing the contents of sensitive files while in locations where access to those files is not authorized.
- One mechanism for hiding the files is to simply mark them “hidden” in their Windows properties pages, and to cache the access control list (ACL) on the file and then modify the permissions to deny all access by non-administrators. Other versions may use the file-system filter to more effectively render the files unavailable.
- In one embodiment, files that are subject to location-based protection by the policy are always stored encrypted. When the mobile device is associated with one of the specified locations, the files can be decrypted. When the mobile device is associated with some other location, the files cannot be decrypted. This mechanism provides a benefit of preventing unauthorized persons who may have stolen the device from gaining access to sensitive files.
- One mechanism for encrypting the files is to simply mark them “encrypted” in their properties pages, and to rely on the file hiding feature (see above) to stop the files from being decrypted in an unauthorized location. Other versions may use the file-system filter to more effectively encrypt the files in a way that does not depend on the operating system to prevent them from being decrypted in an unauthorized location.
- Policies can have rules controlling the use of VPNs. For example, a rule can require that when the VPN is in use, all other ports are closed. This prevents hackers near the user from co-opting the user's device and coming in to the corporate network over the user's VPN connection. In one embodiment, a lightweight web-based VPN is used that allows traffic from selected applications (e.g., email) to be encrypted with Transport Layer Security (TLS).
- In one embodiment, a
VPN Lite 820 having a communication interface with thepacket filter engine 818 establishes a TLS-encrypted, authenticated connection with the server, and then sends and receives traffic over this connection. Thelayered service provider 814 diverts the outgoing traffic from the application to a VPN client piece, and incoming traffic from the VPN client piece to the application. - In one implementation example in accordance with the present invention a layer is inserted into the Winsock environment, which opens up a Transport Layer Security (TLS) or Secure Socket Layer (SSL) socket to the VPN server, and tunnels all application network traffic through that connection to the VPN server. The applications are unaware that the VPN is active. The VPN has a very small footprint, since TLS is included in Windows.® In this example, using the Winsock Environment, all communication between client and server is routed through a secure channel. Unlike current clientless VPNs, all existing applications are supported
- As seen in the embodiment of FIG. 8, the
packet filter engine 818 and thelayered service provider 814 comprise implementation examples of functionality analogous to that oflayer manager 206 in FIG. 2B. Thepolicy engine 832 performs implementation examples of functions of determining location analogous to those of thelocation detection module 208, of determining policies analogous to those of thepolicy setting module 212 and of identifying active security features analogous to those of the security featuresdetermination module 210. Furthermore, thepacket filter engine 818, theTDI Filter 822, and thelayered service provider 814 also perform implementation examples of enforcement mechanisms that the policyenforcement control module 214 may analogously perform. - The
diagnostics module 844 of thepolicy engine 832 performs similar functions discussed with respect to theclient diagnostics module 246 of FIG. 2B. For example, it provides status, configuration, error logs, audit logs, and debug information to the server system. Similarly, it would assist a server side remote diagnostics module such asmodule 224 in FIG. 2A in debugging an error, for example in a method such as that described in FIG. 11. - In one embodiment, policy documents are XML documents. XML allows great flexibility in design, usage, and enhancement of policies. Using the flexibility of XML as the means to distribute enterprise wide policies simplifies the complex problem of distributing and enforcing enterprise wide policies. Policies are defined by the enterprise including but not limited to program usage, network access, hardware restrictions, VPN access, data access, and many other policies. The definition of these polices is performed at the enterprise level using XML Schemas and documents. The policies may then be distributed to the enterprise clients via various forms of data transfer. Furthermore, the policies may also be protected from hacking by encryption or signatures (i.e. XKMS, XMLDSIG, XMLENC, or proprietary encryptions). The policy is then enforced on the client by a process that can interpret the policy distributed by the enterprise. This approach allows a policy to be extensible and easily changed by the administrator. Furthermore, policy management, compilation and interpretation is performed by policy aware application interfaces. Also, the administrator can configure elements of the policy such that they are configurable by the end user. In one example, the XML schema or XSD is derived from the standard XML schema http://www.w3.org/2001/XMLSchema (May 2001). In this example, a schema defines one set of types that is used by both the server (group) and the client policies. Policies may be signed to ensure integrity. Additionally individual policy elements will be signed to ensure integrity of policy enforcement.
- In one embodiment, a very thin client host application resides on a client mobile device. For example, it may be part of the
policy setting module 212 for the embodiment of FIG. 2B or part of thepolicy engine 832 in FIG. 8. The central policy server or server system pushes execution instructions to the client, described by XML. As a result, a small relatively stable execution environment is available as part of the client device. When additional or different functionality is needed on the client, this new functionality is pushed to the client in an XML format. - For example, assume version vX.01 of a product supports two types of security policies. For version X.02 it is necessary to implement a third type of security policy. The implementation and associated behaviors of the policy would be described within XML and published to the clients via the policy server. Clients running vX.01 would then effectively be upgraded without user intervention. In another example, this approach could be used for instantiating portions of an application to clients in a cafeteria style—e.g. they want
feature - For illustrative purposes only, the illustrated method embodiments illustrated in FIGS. 9A, 9B and9C are discussed in the context of the system embodiment of FIG. 8.
- FIG. 9A illustrates an example of a
method 900 for determining whether the security feature of a connection type of wireless or wired is in effect for a communication session between the mobile device and another computer in accordance with an embodiment of the present invention. Thepolicy engine 832 determines 902 whether a connection is associated with a wired or wireless adapter based on one or more characteristics of the network adapter obtained from the operating system on the mobile device. For example, themanagement tools 816 of the operating system may retrieve these network characteristics from a look-up table in memory (e.g. a registry in a Windows® operating system) responsive to a query from thepolicy engine 832. Thepolicy engine 832associates 904 the connection with an adapter type value of wired or wireless in an adapter data object associated with each policy. In a similar manner, thepolicy engine 832 may also determine 906 from the operating system the class (e.g. 802.11b, 802.3, 802.11a, 802.11 g, GSM, GPRS, 3G) of the network adapters on the mobile device, and assign 908 a value to an adapter class field in the adapter data object associated with each policy. Furthermore, thepolicy engine 832 may determine 910 from the operating system the hardware brand of the network adapters on the mobile device, and assign 912 a value to an adapter brand field in the adapter data object associated with each policy. - FIG. 9B illustrates an example of a
method 920 for determining whether the security feature of a security software program is currently executing on a mobile device for a communication session between the mobile device and another computer in accordance with an embodiment of the present invention. In one example, thepolicy engine 832 determines 922 from the operating system of the mobile device which security software programs (e.g. anti-virus, intrusion detection, VPN driver, 802.1 i enhanced cryptography) are currently running on the mobile device. For example, themanagement tools 816 operating in the operating system space may identify which security programs are running based on process tables the operating system maintains for each running software program responsive to a query from thepolicy engine 832. Thepolicy engine 832 then assigns 924 a value in a field corresponding to the security software in a data object associated with each policy. - FIG. 9C illustrates an example of a
method 930 for determining one or more security features of a network access point with which the mobile device is communicating in accordance with an embodiment of the present invention. In one example for determining the security features of the access point, network management software such as Simple Network Management Protocol (SNMP) is used to query the access point to obtain its operational characteristics. - It is determined932 whether one or more security features of the network access point are operational in a communication session with the mobile device. For example, the
policy engine 832 may determine whether the security feature of a security software program is currently executing on a network access point for a communication session in accordance with an embodiment of the present invention. In one instance, thepolicy engine 832 determines 932 from the operating system of the mobile device the security software associated with a network access point. One manner in which this may be done is that themanagement tools 816 operating in the operating system space may identify processes executing on the mobile device in cooperation with security programs running on a wired or wireless network access point based on the process tables again responsive to a query from thepolicy engine 832. In another manner, the operatingsystem management tools 816 may query the network access point regarding security software running in its LAN. Thepolicy engine 832 assigns 934 a value in a field corresponding to the security feature such as the security software, in a data object associated with each policy. - FIGS. 10A and 10B illustrate a method of enforcing a security policy using illustrative examples of events in accordance with an embodiment of the present invention. For discussion purposes only, the illustrated method embodiment illustrated in FIGS. 10A and 10B is discussed in the context of the system embodiment of FIG. 8. In the
event 1002 that data is to be transferred 1004 over a certain port, it is determined 1006 whether the current policy allows data to be received and/or sent over this port. Responsive to a determination that the current policy does not allow data transfer over this port, drop 1008 all network traffic, in this example embodied as packets, for this port. Responsive to a determination that the current policy does allow data transfer over this port, forward 1010 all network traffic, again in the form of packets in this example, for this port. - The type of network service being used may be monitored. An example of a type of network service is a service protocol for transferring data over a network. In the
event 1002 that a request is received 1014 for processing data using a network service (e.g. File Transfer Protocol (FTP), Post Office Protocol (POP), Internet Mail Access Protocol (IMAP), Virtual Private Network (VPN), HTTP, HTTPS, SMTP, Telnet, etc.), thepolicy engine 832 determines 1016 whether the current policy allows this network service or a specific version of it, to execute. Responsive to a determination that the current policy, as defined in the embodiment of FIG. 8 above in the packet rules 810, allows this network service, thepacket filter engine 818 allows network traffic embodied in packets using this network service to be transferred 1018. Responsive to a determination that the current policy, as defined in the embodiment of FIG. 8 above in the packet rules 810, does not allow or prohibits this network service, thepacket filter engine 818blocks 1020 all network traffic embodied in the example in packets for this network service. - In the
event 1002 that a request is received 1024 for a file, thepolicy engine 832 determines 1026 whether the current policy allows access to this file. As defined in the embodiment of FIG. 8, the file rules 812 may define this aspect of the current policy. The file may be located in resident memory (see 220) or be accessible over a network (see 242). Responsive to a determination that the current policy allows access to this file, thepolicy engine 832 determines 1030 further whether only an encrypted version of the file is allowed to be accessed. Again, in FIG. 8, the file rules 812 may define this aspect of the current policy. Responsive to a determination that only an encrypted file is allowed to be accessed, thefile filter 824 allows access to 1032 an encrypted copy of the file. Responsive to a determination that encryption of the file is not required, thefile filter 824 allows access to 1034 an unencrypted copy of the file. Responsive to a determination that the current policy does not allow or prohibits access to this file, thepolicy engine 832 hides 1028 the file. The file may be hidden in various ways known to those of ordinary skill in the art. Examples include sending a notification that the file was not found instead of the file descriptor. - In the
event 1002 that a request is received 1054 for processing data for an application (e.g. a browser, e-mail, NetMeeting, Remote Desktop, File Sharing or games), thepolicy engine 832 determines 1056 whether the current policy allows this application or a specific version of it, to execute. Responsive to a determination that the current policy, as defined in the embodiment of FIG. 8 above in the packet rules 810, allows this application, thepacket filter engine 818 allows 1060 network traffic embodied in packets using this application to be transferred. Furthermore, theTDI filter 822 also monitors application parameters and allows the traffic associated with this application to be forwarded for further processing by the mobile device. Responsive to a determination that the current policy, as defined in the embodiment of FIG. 8 above in the packet rules 810, does not allow or prohibits this application, thepacket filter engine 818blocks 1058 all network traffic embodied in the example in packets for this application. Furthermore, in the embodiment of FIG. 8, theTDI filter 822 also monitors application parameters to block any network traffic at the upper layers for the prohibited application that may have bypassed thepacket filter engine 818. - In the
event 1002 that a request is received 1092 for opening an application (e.g. a game such as solitaire or minesweeper), thepolicy engine 832 determines 1094 whether the current policy allows this application or a specific version of it, to be opened. Responsive to a determination that the current policy, as defined in the embodiment of FIG. 8 above in the packet rules 810, allows this application to be opened, thefile filter 824 allows 1096 the application to be opened. Responsive to the policy rules not allowing this application to be opened, thefile filter 824 prevents 1098 the application from being opened. - In the
event 1002 of arequest 1050 for a file using a type of network service for transfer, it is determined 1044 whether the current policy allows access to this file. If no, hide 1046 the file. If yes, it is determined 1048 whether the file may be transferred using this type of network service. If not, thepolicy engine 832 again hides 1046 the file. If access to the file is allowed for this network service type, it is determined 1086 whether the current policy only allows an encrypted version of the file to be transferred using this type of network service. If an encrypted version is required,transfer 1088 the encrypted copy or version. Otherwise,transfer 1090 an unencrypted copy of the file. - In the
event 1002 of arequest 1076 for a file using a type of application for transfer, it is determined 1080 whether the current policy allows access to this file. If no, hide 1078 the file. If yes, it is determined 1082 whether the file may be accessed using this type of application. If not, thepolicy engine 832 again hides 1084 the file. If access to the file is allowed for this application type, it is determined 1070 whether the current policy only allows an encrypted version of the file to be accessed. If an encrypted version is required,access 1072 the encrypted copy or version. Otherwise,access 1074 an unencrypted copy of the file. - In the
event 1002 of anyother request 1036, thepolicy engine 832 performs the task of determining 1038 whether the current policy allows the request or prohibits it. Based on the outcome of this determination, the appropriate version of apolicy enforcement module 214 such as thepacket filter engine 818, thelayered service provider 814, thefile filter 824 either alone or in combination, enforce the policy by denying 1040 the request or satisfying 1042 the request with the criteria established by the current policy for this type of request. - The foregoing description of the embodiments of the present invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the present invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the present invention be limited not by this detailed description, but rather by the hereto appended claims. As will be understood by those familiar with the art, the present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. Likewise, the particular naming and division of the modules, routines, features, attributes, methodologies and other aspects are not mandatory or significant, and the mechanisms that implement the present invention or its features may have different names, divisions and/or formats. Furthermore, as will be apparent to one of ordinary skill in the relevant art, the modules, routines, features, attributes, methodologies and other aspects of the present invention can be implemented as software, hardware, firmware or any combination of the three. Of course, wherever a component, an example of which is a module, of the present invention is implemented as software, the component can be implemented as a standalone program, as part of a larger program, as a plurality of separate programs, as a statically or dynamically linked library, as a kernel loadable module, as a device driver, and/or in every and any other way known now or in the future to those of ordinary skill in the art of computer programming.
- Additionally, the present invention is in no way limited to implementation in any specific programming language, or for any specific operating system or environment. Accordingly, the disclosure of the present invention is intended to be illustrative, but not limiting, of the scope of the present invention, which is set forth in the following claims.
Claims (39)
Priority Applications (13)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/413,443 US7353533B2 (en) | 2002-12-18 | 2003-04-11 | Administration of protection of data accessible by a mobile device |
AU2003299729A AU2003299729A1 (en) | 2002-12-18 | 2003-12-18 | Methods and apparatus for administration of policy based protection of data accessible by a mobile device |
PCT/US2003/040546 WO2004057834A2 (en) | 2002-12-18 | 2003-12-18 | Methods and apparatus for administration of policy based protection of data accessible by a mobile device |
US10/897,060 US7526800B2 (en) | 2003-02-28 | 2004-07-21 | Administration of protection of data accessible by a mobile device |
US11/176,999 US9237514B2 (en) | 2003-02-28 | 2005-07-07 | System and method for filtering access points presented to a user and locking onto an access point |
US11/330,530 US9197668B2 (en) | 2003-02-28 | 2006-01-11 | Access control to files based on source information |
US11/926,314 US7636936B2 (en) | 2002-12-18 | 2007-10-29 | Administration of protection of data accessible by a mobile device |
US11/926,436 US7478420B2 (en) | 2003-02-28 | 2007-10-29 | Administration of protection of data accessible by a mobile device |
US11/926,371 US20080109679A1 (en) | 2003-02-28 | 2007-10-29 | Administration of protection of data accessible by a mobile device |
US11/926,454 US8020192B2 (en) | 2003-02-28 | 2007-10-29 | Administration of protection of data accessible by a mobile device |
US14/175,640 US20160164913A9 (en) | 2003-02-28 | 2014-02-07 | Access control to files based on source information |
US14/991,848 US10652745B2 (en) | 2003-02-28 | 2016-01-08 | System and method for filtering access points presented to a user and locking onto an access point |
US16/871,999 US20210029547A1 (en) | 2002-12-18 | 2020-05-11 | System and method for filtering access points presented to a user and locking onto an access point |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US43448502P | 2002-12-18 | 2002-12-18 | |
US43855603P | 2003-01-06 | 2003-01-06 | |
US10/377,265 US7308703B2 (en) | 2002-12-18 | 2003-02-28 | Protection of data accessible by a mobile device |
US10/413,443 US7353533B2 (en) | 2002-12-18 | 2003-04-11 | Administration of protection of data accessible by a mobile device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/377,265 Continuation-In-Part US7308703B2 (en) | 2002-12-18 | 2003-02-28 | Protection of data accessible by a mobile device |
Related Child Applications (8)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/377,265 Continuation-In-Part US7308703B2 (en) | 2002-12-18 | 2003-02-28 | Protection of data accessible by a mobile device |
US10/897,060 Continuation-In-Part US7526800B2 (en) | 2002-12-18 | 2004-07-21 | Administration of protection of data accessible by a mobile device |
US11/176,999 Continuation-In-Part US9237514B2 (en) | 2002-12-18 | 2005-07-07 | System and method for filtering access points presented to a user and locking onto an access point |
US11/330,530 Continuation-In-Part US9197668B2 (en) | 2003-02-28 | 2006-01-11 | Access control to files based on source information |
US11/926,454 Continuation-In-Part US8020192B2 (en) | 2003-02-28 | 2007-10-29 | Administration of protection of data accessible by a mobile device |
US11/926,371 Division US20080109679A1 (en) | 2003-02-28 | 2007-10-29 | Administration of protection of data accessible by a mobile device |
US11/926,314 Division US7636936B2 (en) | 2002-12-18 | 2007-10-29 | Administration of protection of data accessible by a mobile device |
US11/926,436 Continuation-In-Part US7478420B2 (en) | 2003-02-28 | 2007-10-29 | Administration of protection of data accessible by a mobile device |
Publications (2)
Publication Number | Publication Date |
---|---|
US20040123153A1 true US20040123153A1 (en) | 2004-06-24 |
US7353533B2 US7353533B2 (en) | 2008-04-01 |
Family
ID=46299159
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/413,443 Expired - Lifetime US7353533B2 (en) | 2002-12-18 | 2003-04-11 | Administration of protection of data accessible by a mobile device |
US11/926,314 Expired - Lifetime US7636936B2 (en) | 2002-12-18 | 2007-10-29 | Administration of protection of data accessible by a mobile device |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/926,314 Expired - Lifetime US7636936B2 (en) | 2002-12-18 | 2007-10-29 | Administration of protection of data accessible by a mobile device |
Country Status (1)
Country | Link |
---|---|
US (2) | US7353533B2 (en) |
Cited By (282)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030041136A1 (en) * | 2001-08-23 | 2003-02-27 | Hughes Electronics Corporation | Automated configuration of a virtual private network |
US20030055990A1 (en) * | 2001-08-23 | 2003-03-20 | Hughes Electronics Corporation, | Single-modem multi-user virtual private network |
US20040224664A1 (en) * | 2003-05-07 | 2004-11-11 | Nokia Corporation | Mobile user location privacy solution based on the use of multiple identities |
US20050080860A1 (en) * | 2003-10-14 | 2005-04-14 | Daniell W. Todd | Phonetic filtering of undesired email messages |
US20050080642A1 (en) * | 2003-10-14 | 2005-04-14 | Daniell W. Todd | Consolidated email filtering user interface |
US20050091321A1 (en) * | 2003-10-14 | 2005-04-28 | Daniell W. T. | Identifying undesired email messages having attachments |
US20050097174A1 (en) * | 2003-10-14 | 2005-05-05 | Daniell W. T. | Filtered email differentiation |
WO2004084465A3 (en) * | 2003-03-14 | 2005-05-19 | Thomson Licensing Sa | Automatic configuration of client terminal in public hot spot |
US20050114504A1 (en) * | 2003-07-09 | 2005-05-26 | Sunil Marolia | Carrier network capable of conducting remote diagnostics in a mobile handset |
US20050198556A1 (en) * | 2003-05-21 | 2005-09-08 | Tripp Travis S. | Computer support network with customer portal to monitor incident-handling status by vendor's computer service system |
US20050216956A1 (en) * | 2004-03-24 | 2005-09-29 | Arbor Networks, Inc. | Method and system for authentication event security policy generation |
US20050228886A1 (en) * | 2004-04-12 | 2005-10-13 | Nokia, Inc. | System and method for enabling authorization of a network device using attribute certificates |
US20060026676A1 (en) * | 2004-07-30 | 2006-02-02 | Nokia Corporation | Method for the monitoring of system security in electronic devices |
US20060031929A1 (en) * | 2004-08-04 | 2006-02-09 | Fuji Xerox Co., Ltd. | Network system, internal server, terminal device, storage medium and packet relay method |
US20060031529A1 (en) * | 2004-06-03 | 2006-02-09 | Keith Robert O Jr | Virtual application manager |
WO2006017756A2 (en) * | 2004-08-05 | 2006-02-16 | Motorola, Inc. | Method and system for controlling access to a wireless client device |
US20060047946A1 (en) * | 2004-07-09 | 2006-03-02 | Keith Robert O Jr | Distributed operating system management |
US20060048218A1 (en) * | 2004-09-02 | 2006-03-02 | International Business Machines Corporation | System and method for on-demand dynamic control of security policies/rules by a client computing device |
US20060047716A1 (en) * | 2004-06-03 | 2006-03-02 | Keith Robert O Jr | Transaction based virtual file system optimized for high-latency network connections |
EP1650633A1 (en) * | 2004-10-21 | 2006-04-26 | Lucent Technologies Inc. | Method, apparatus and system for enforcing security policies |
US20060095953A1 (en) * | 2004-10-28 | 2006-05-04 | Frank Edward H | Method and system for policy based authentication |
US20060101028A1 (en) * | 2004-10-21 | 2006-05-11 | Banks Lanette E | Method and apparatus for efficient electronic document management |
US20060112433A1 (en) * | 2004-05-25 | 2006-05-25 | Mcisaac Joseph | System and method for controlling access to an electronic message recipient |
US20060149844A1 (en) * | 2003-09-05 | 2006-07-06 | International Business Machines Corporation | Automatic mobile device detection |
US20060156017A1 (en) * | 2002-08-09 | 2006-07-13 | Mcisaac Joseph E | System and method for controlling access to an electronic message recipient |
US20060168455A1 (en) * | 2005-01-24 | 2006-07-27 | International Business Machines Corporation | Secure computer password system and method |
US20060184654A1 (en) * | 2005-02-11 | 2006-08-17 | Microsoft Corporation | Server-functionality role extensibility model |
US20060190986A1 (en) * | 2005-01-22 | 2006-08-24 | Mont Marco C | System and method for dynamically allocating resources |
US7099957B2 (en) | 2001-08-23 | 2006-08-29 | The Directtv Group, Inc. | Domain name system resolution |
US20060206440A1 (en) * | 2005-03-09 | 2006-09-14 | Sun Microsystems, Inc. | Automated policy constraint matching for computing resources |
US20060224544A1 (en) * | 2005-03-04 | 2006-10-05 | Keith Robert O Jr | Pre-install compliance system |
US20060242286A1 (en) * | 2003-05-21 | 2006-10-26 | Joshua Hawkins | Systems and methods for controlling error reporting and resolution |
US20060259539A1 (en) * | 2005-05-12 | 2006-11-16 | Sun Microsystems, Inc. | Cumputer system comprising a communication device |
US20060265446A1 (en) * | 2004-04-14 | 2006-11-23 | Ipass Inc. | Dynamic executable |
US20070006289A1 (en) * | 2005-06-30 | 2007-01-04 | Microsoft Corporation | Enforcing device settings for mobile devices |
US20070083606A1 (en) * | 2001-12-05 | 2007-04-12 | Bellsouth Intellectual Property Corporation | Foreign Network Spam Blocker |
WO2007053848A1 (en) * | 2005-11-01 | 2007-05-10 | Mobile Armor, Llc | Centralized dynamic security control for a mobile device network |
US20070118759A1 (en) * | 2005-10-07 | 2007-05-24 | Sheppard Scott K | Undesirable email determination |
US20070169169A1 (en) * | 2004-12-28 | 2007-07-19 | Huawei Technologies Co., Ltd. | Method, System and Apparatus for Implementing Data Service Security in Mobile Communication System |
US20070168454A1 (en) * | 2006-01-19 | 2007-07-19 | International Business Machines Corporation | System and method for host-to-host communication |
US20070199060A1 (en) * | 2005-12-13 | 2007-08-23 | Shlomo Touboul | System and method for providing network security to mobile devices |
US20070233633A1 (en) * | 2005-03-04 | 2007-10-04 | Keith Robert O Jr | Computer hardware and software diagnostic and report system |
US20070234061A1 (en) * | 2006-03-30 | 2007-10-04 | Teo Wee T | System And Method For Providing Transactional Security For An End-User Device |
US20070234270A1 (en) * | 2006-03-31 | 2007-10-04 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Event evaluation using extrinsic state information |
US20070266250A1 (en) * | 2003-01-22 | 2007-11-15 | Werner Kampert | Mobile Data Transmission Method and System |
US20070274315A1 (en) * | 2006-05-24 | 2007-11-29 | Keith Robert O | System for and method of securing a network utilizing credentials |
WO2007134448A1 (en) * | 2006-05-18 | 2007-11-29 | Research In Motion Limited | Automatic security action invocation for mobile communications device |
FR2901941A1 (en) * | 2006-06-06 | 2007-12-07 | France Telecom | General purpose computing work station e.g. personal computer, diagnosing method for e.g. electronic cafe, involves qualifying computing environment to establish situation state, and editing state in form of information report |
US20080028225A1 (en) * | 2006-07-26 | 2008-01-31 | Toerless Eckert | Authorizing physical access-links for secure network connections |
WO2008031078A2 (en) * | 2006-09-07 | 2008-03-13 | Black Lab Security Systems, Inc. | Method of performing software updates (installations), on networked 32/64-bit microsoft computers in an automated environment without introducing a possible security threat |
US20080077622A1 (en) * | 2006-09-22 | 2008-03-27 | Keith Robert O | Method of and apparatus for managing data utilizing configurable policies and schedules |
US20080077630A1 (en) * | 2006-09-22 | 2008-03-27 | Keith Robert O | Accelerated data transfer using common prior data segments |
WO2008039395A2 (en) * | 2006-09-22 | 2008-04-03 | Maxsp Corporation | Secure virtual private network |
US20080086761A1 (en) * | 2006-07-14 | 2008-04-10 | At&T Intellectual Property, Inc. | Methods, devices, and computer program products for controlling wireless connection access |
US20080091815A1 (en) * | 2006-10-16 | 2008-04-17 | Hewlett-Packard Development Company, L.P. | Diagnostic agent in device that retrieves key performance indicators |
US20080127342A1 (en) * | 2006-07-27 | 2008-05-29 | Sourcefire, Inc. | Device, system and method for analysis of fragments in a fragment train |
US20080133523A1 (en) * | 2004-07-26 | 2008-06-05 | Sourcefire, Inc. | Methods and systems for multi-pattern searching |
US7395423B1 (en) * | 2003-08-25 | 2008-07-01 | Nortel Networks Limited | Security association storage and recovery in group key management |
US20080196102A1 (en) * | 2006-10-06 | 2008-08-14 | Sourcefire, Inc. | Device, system and method for use of micro-policies in intrusion detection/prevention |
US20080198856A1 (en) * | 2005-11-14 | 2008-08-21 | Vogel William A | Systems and methods for modifying network map attributes |
US20080244741A1 (en) * | 2005-11-14 | 2008-10-02 | Eric Gustafson | Intrusion event correlation with network discovery information |
US20080271150A1 (en) * | 2007-04-30 | 2008-10-30 | Paul Boerger | Security based on network environment |
US20080276316A1 (en) * | 2004-07-29 | 2008-11-06 | Roelker Daniel J | Intrusion detection strategies for hypertext transport protocol |
US20080276319A1 (en) * | 2007-04-30 | 2008-11-06 | Sourcefire, Inc. | Real-time user awareness for a computer network |
US20080275829A1 (en) * | 2006-09-27 | 2008-11-06 | Direct Computer Resources, Inc. | System and method for obfuscation of data across an enterprise |
US20080276302A1 (en) * | 2005-12-13 | 2008-11-06 | Yoggie Security Systems Ltd. | System and Method for Providing Data and Device Security Between External and Host Devices |
US7467205B1 (en) | 2003-05-12 | 2008-12-16 | Sourcefire, Inc. | Systems and methods for identifying the client applications of a network |
US20090007259A1 (en) * | 2007-06-29 | 2009-01-01 | Lauren Argott | Restricting Access to Information |
US20090013407A1 (en) * | 2007-02-14 | 2009-01-08 | Brad Doctor | Intrusion detection system/intrusion prevention system with enhanced performance |
WO2009007985A2 (en) * | 2007-07-06 | 2009-01-15 | Elitecore Technologies Limited | Identity and policy-based network security and management system and method |
US20090037976A1 (en) * | 2006-03-30 | 2009-02-05 | Wee Tuck Teo | System and Method for Securing a Network Session |
US7496662B1 (en) | 2003-05-12 | 2009-02-24 | Sourcefire, Inc. | Systems and methods for determining characteristics of a network and assessing confidence |
US7512584B2 (en) | 2005-03-04 | 2009-03-31 | Maxsp Corporation | Computer hardware and software diagnostic and report system |
US20090092057A1 (en) * | 2007-10-09 | 2009-04-09 | Latis Networks, Inc. | Network Monitoring System with Enhanced Performance |
WO2005117356A3 (en) * | 2004-05-24 | 2009-04-16 | Toshiba America Res Inc | Quarantine networking |
US20090126003A1 (en) * | 2007-05-30 | 2009-05-14 | Yoggie Security Systems, Inc. | System And Method For Providing Network And Computer Firewall Protection With Dynamic Address Isolation To A Device |
US20090187991A1 (en) * | 2008-01-22 | 2009-07-23 | Authentium, Inc. | Trusted secure desktop |
US20090187763A1 (en) * | 2008-01-22 | 2009-07-23 | Authentium, Inc. | System and method for protecting data accessed through a network connection |
US7584508B1 (en) | 2008-12-31 | 2009-09-01 | Kaspersky Lab Zao | Adaptive security for information devices |
US20090249465A1 (en) * | 2008-03-26 | 2009-10-01 | Shlomo Touboul | System and Method for Implementing Content and Network Security Inside a Chip |
US7607174B1 (en) * | 2008-12-31 | 2009-10-20 | Kaspersky Lab Zao | Adaptive security for portable information devices |
US20090262659A1 (en) * | 2008-04-17 | 2009-10-22 | Sourcefire, Inc. | Speed and memory optimization of intrusion detection system (IDS) and intrusion prevention system (IPS) rule processing |
US20090319771A1 (en) * | 2008-05-15 | 2009-12-24 | Qualcomm Incorporated | Context aware security |
US20100037321A1 (en) * | 2008-08-04 | 2010-02-11 | Yoggie Security Systems Ltd. | Systems and Methods for Providing Security Services During Power Management Mode |
US20100088767A1 (en) * | 2008-10-08 | 2010-04-08 | Sourcefire, Inc. | Target-based smb and dce/rpc processing for an intrusion detection system or intrusion prevention system |
US20100088316A1 (en) * | 2008-05-02 | 2010-04-08 | Salesforce.Com, Inc. | Method and system for managing recent data in a mobile device linked to an on-demand service |
US20100095109A1 (en) * | 2008-10-14 | 2010-04-15 | Research In Motion Limited | Method for Managing Opaque Presence Indications Within a Presence Access Layer |
US7701945B2 (en) | 2006-08-10 | 2010-04-20 | Sourcefire, Inc. | Device, system and method for analysis of segments in a transmission control protocol (TCP) session |
US20100100617A1 (en) * | 2008-10-16 | 2010-04-22 | Research In Motion Limited | System for Assignment of a Service Identifier as a Mechanism for Establishing a Seamless Profile in a Contextually Aware Presence Access Layer |
US20100099387A1 (en) * | 2008-10-16 | 2010-04-22 | Research In Motion Limited | Controlling and/or Limiting Publication Through the Presence Access Layer |
US20100131754A1 (en) * | 2008-11-21 | 2010-05-27 | Research In Motion Limited | Apparatus, and an Associated Method, for Providing and Using Opaque Presence Indications in a Presence Service |
US20100212012A1 (en) * | 2008-11-19 | 2010-08-19 | Yoggie Security Systems Ltd. | Systems and Methods for Providing Real Time Access Monitoring of a Removable Media Device |
US7844686B1 (en) | 2006-12-21 | 2010-11-30 | Maxsp Corporation | Warm standby appliance |
US7865828B1 (en) * | 2005-04-22 | 2011-01-04 | Mcafee, Inc. | System, method and computer program product for updating help content via a network |
US20110071999A1 (en) * | 2006-12-12 | 2011-03-24 | Amit Kumar | Selecting and presenting user search results based on user information |
US7987449B1 (en) * | 2003-05-22 | 2011-07-26 | Hewlett-Packard Development Company, L.P. | Network for lifecycle management of firmware and software in electronic devices |
US8069352B2 (en) | 2007-02-28 | 2011-11-29 | Sourcefire, Inc. | Device, system and method for timestamp analysis of segments in a transmission control protocol (TCP) session |
US8175418B1 (en) | 2007-10-26 | 2012-05-08 | Maxsp Corporation | Method of and system for enhanced data storage |
KR101141330B1 (en) * | 2007-03-07 | 2012-05-23 | 콸콤 인코포레이티드 | Systems and methods for controlling service access on a wireless communication device |
US8307239B1 (en) | 2007-10-26 | 2012-11-06 | Maxsp Corporation | Disaster recovery appliance |
US8312092B2 (en) | 2008-10-15 | 2012-11-13 | Research In Motion Limited | Use of persistent sessions by a presence access layer |
US20130014212A1 (en) * | 2011-05-09 | 2013-01-10 | Google Inc. | Permission-based administrative controls |
US8423821B1 (en) | 2006-12-21 | 2013-04-16 | Maxsp Corporation | Virtual recovery server |
US8433790B2 (en) | 2010-06-11 | 2013-04-30 | Sourcefire, Inc. | System and method for assigning network blocks to sensors |
US8526940B1 (en) | 2004-08-17 | 2013-09-03 | Palm, Inc. | Centralized rules repository for smart phone customer care |
US20130232542A1 (en) * | 2012-03-02 | 2013-09-05 | International Business Machines Corporation | System and method to provide server control for access to mobile client data |
US20130263287A1 (en) * | 2012-03-30 | 2013-10-03 | Aetherpal Inc. | Access control list for applications on mobile devices during a remote control session |
US8578361B2 (en) | 2004-04-21 | 2013-11-05 | Palm, Inc. | Updating an electronic device with update agent code |
US8589323B2 (en) | 2005-03-04 | 2013-11-19 | Maxsp Corporation | Computer hardware and software diagnostic and report system incorporating an expert system and agents |
US8601034B2 (en) | 2011-03-11 | 2013-12-03 | Sourcefire, Inc. | System and method for real time data awareness |
US8626128B2 (en) | 2011-04-07 | 2014-01-07 | Microsoft Corporation | Enforcing device settings for mobile devices |
US8631492B2 (en) | 2012-03-14 | 2014-01-14 | Kaspersky Lab Zao | Dynamic management of resource utilization by an antivirus application |
US8645515B2 (en) | 2007-10-26 | 2014-02-04 | Maxsp Corporation | Environment manager |
US8671182B2 (en) | 2010-06-22 | 2014-03-11 | Sourcefire, Inc. | System and method for resolving operating system or service identity conflicts |
US8677486B2 (en) | 2010-04-16 | 2014-03-18 | Sourcefire, Inc. | System and method for near-real time network attack detection, and system and method for unified detection via detection routing |
US20140080461A1 (en) * | 2005-06-24 | 2014-03-20 | Nuance Communications, Inc. | Local intercept methods, such as applications for providing customer assistance for training, information calls and diagnostics |
US20140109176A1 (en) * | 2012-10-15 | 2014-04-17 | Citrix Systems, Inc. | Configuring and providing profiles that manage execution of mobile applications |
US8713646B2 (en) | 2011-12-09 | 2014-04-29 | Erich Stuntebeck | Controlling access to resources on a network |
US8752044B2 (en) | 2006-07-27 | 2014-06-10 | Qualcomm Incorporated | User experience and dependency management in a mobile device |
US8756426B2 (en) | 2013-07-03 | 2014-06-17 | Sky Socket, Llc | Functionality watermarking and management |
US8776206B1 (en) * | 2004-10-18 | 2014-07-08 | Gtb Technologies, Inc. | Method, a system, and an apparatus for content security in computer networks |
US8775815B2 (en) | 2013-07-03 | 2014-07-08 | Sky Socket, Llc | Enterprise-specific functionality watermarking and management |
US20140208398A1 (en) * | 2011-05-31 | 2014-07-24 | Red Hat, Inc. | Resource-Centric Authorization Schemes |
US20140215554A1 (en) * | 2006-02-27 | 2014-07-31 | Blackberry Limited | Method of customizing a standardized it policy |
US8806217B2 (en) | 2013-07-03 | 2014-08-12 | Sky Socket, Llc | Functionality watermarking and management |
US8826432B2 (en) | 2012-12-06 | 2014-09-02 | Airwatch, Llc | Systems and methods for controlling email access |
US8832785B2 (en) | 2012-12-06 | 2014-09-09 | Airwatch, Llc | Systems and methods for controlling email access |
US8832817B2 (en) | 2011-10-11 | 2014-09-09 | Google Inc. | Application marketplace administrative controls |
US20140259164A1 (en) * | 2010-05-13 | 2014-09-11 | Salesforce.Com, Inc. | Security monitoring |
US20140289822A1 (en) * | 2013-03-22 | 2014-09-25 | Brendon J. Wilson | System and method for confirming location using supplemental sensor and/or location data |
US8848899B2 (en) * | 2000-11-17 | 2014-09-30 | Qualcomm Incorporated | Operator network that routes customer care calls based on subscriber / device profile and CSR skill set |
AU2012241073B2 (en) * | 2005-12-13 | 2014-10-09 | Cupp Computing As | System and method for providing network security to mobile devices |
US8862868B2 (en) | 2012-12-06 | 2014-10-14 | Airwatch, Llc | Systems and methods for controlling email access |
US8893110B2 (en) | 2006-06-08 | 2014-11-18 | Qualcomm Incorporated | Device management in a network |
US20140359301A1 (en) * | 2003-04-29 | 2014-12-04 | Assa Abloy Ab | Uniform modular framework for a host computer system |
US8914013B2 (en) | 2013-04-25 | 2014-12-16 | Airwatch Llc | Device management macros |
US8924608B2 (en) | 2013-06-25 | 2014-12-30 | Airwatch Llc | Peripheral device management |
US20150007327A1 (en) * | 2005-06-30 | 2015-01-01 | Webroot Solutions Ltd | Methods and apparatus for dealing with malware |
US20150067402A1 (en) * | 2013-08-30 | 2015-03-05 | International Business Machines Corporation | Providing a remote diagnosis for an information appliance via a secure connection |
US8978110B2 (en) | 2012-12-06 | 2015-03-10 | Airwatch Llc | Systems and methods for controlling email access |
US8997187B2 (en) | 2013-03-15 | 2015-03-31 | Airwatch Llc | Delegating authorization to applications on a client device in a networked environment |
US9021037B2 (en) | 2012-12-06 | 2015-04-28 | Airwatch Llc | Systems and methods for controlling email access |
US9058495B2 (en) | 2013-05-16 | 2015-06-16 | Airwatch Llc | Rights management services integration with mobile device management |
US20150186675A1 (en) * | 2009-01-20 | 2015-07-02 | Microsoft Technology Licensing, Llc | Protecting content from third party using client-side security protection |
DE102014000963A1 (en) * | 2014-01-23 | 2015-07-23 | Unify Gmbh & Co. Kg | Method for handling security settings in a mobile terminal or for access control, mobile terminal, computer program, software product and digital storage medium |
US20150229664A1 (en) * | 2014-02-13 | 2015-08-13 | Trevor Tyler HAWTHORN | Assessing security risks of users in a computing network |
US9111105B2 (en) | 2011-10-11 | 2015-08-18 | Citrix Systems, Inc. | Policy-based application management |
US9123031B2 (en) | 2013-04-26 | 2015-09-01 | Airwatch Llc | Attendance tracking via device presence |
US20150248562A1 (en) * | 2007-06-15 | 2015-09-03 | Blackberry Limited | Method and devices for providing secure data backup from a mobile communication device to an external computing device |
US9137262B2 (en) | 2011-10-11 | 2015-09-15 | Citrix Systems, Inc. | Providing secure mobile device access to enterprise resources using application tunnels |
US9148416B2 (en) | 2013-03-15 | 2015-09-29 | Airwatch Llc | Controlling physical access to secure areas via client devices in a networked environment |
US9158895B2 (en) | 2013-03-29 | 2015-10-13 | Citrix Systems, Inc. | Providing a managed browser |
US9189645B2 (en) | 2012-10-12 | 2015-11-17 | Citrix Systems, Inc. | Sharing content across applications and devices having multiple operation modes in an orchestration framework for connected devices |
US20150334131A1 (en) * | 2003-04-03 | 2015-11-19 | Tekla Pehr Llc | Spoofing Detection |
US20150339495A1 (en) * | 2007-01-19 | 2015-11-26 | Blackberry Limited | Selectively wiping a remote device |
US9203820B2 (en) | 2013-03-15 | 2015-12-01 | Airwatch Llc | Application program as key for authorizing access to resources |
US9215225B2 (en) | 2013-03-29 | 2015-12-15 | Citrix Systems, Inc. | Mobile device locking with context |
US9219741B2 (en) | 2013-05-02 | 2015-12-22 | Airwatch, Llc | Time-based configuration policy toggling |
US9246918B2 (en) | 2013-05-10 | 2016-01-26 | Airwatch Llc | Secure application leveraging of web filter proxy services |
US9247432B2 (en) | 2012-10-19 | 2016-01-26 | Airwatch Llc | Systems and methods for controlling network access |
US9258301B2 (en) | 2013-10-29 | 2016-02-09 | Airwatch Llc | Advanced authentication techniques |
US20160044040A1 (en) * | 2014-08-11 | 2016-02-11 | Robert G. Caffary, Jr. | Environment-Aware Security Tokens |
US9270777B2 (en) | 2013-06-06 | 2016-02-23 | Airwatch Llc | Social media and data sharing controls for data security purposes |
US9275245B2 (en) | 2013-03-15 | 2016-03-01 | Airwatch Llc | Data access sharing |
US9280377B2 (en) | 2013-03-29 | 2016-03-08 | Citrix Systems, Inc. | Application with multiple operation modes |
CN105432022A (en) * | 2012-12-27 | 2016-03-23 | 赛奎特实验室 | Utilizations and applications of near field communications in mobile device management and security |
US9301128B2 (en) | 2004-02-20 | 2016-03-29 | Nuance Communications, Inc. | Call intercept methods, such as for customer self-support on a mobile device |
US9313606B2 (en) | 2005-12-13 | 2016-04-12 | Nuance Communications, Inc. | Method for performing interactive services on mobile device, such as time or location initiated interactive services |
US9357031B2 (en) | 2004-06-03 | 2016-05-31 | Microsoft Technology Licensing, Llc | Applications as a service |
US9369449B2 (en) | 2013-03-29 | 2016-06-14 | Citrix Systems, Inc. | Providing an enterprise application store |
US9378350B2 (en) | 2013-03-15 | 2016-06-28 | Airwatch Llc | Facial capture managing access to resources by a device |
US9401915B2 (en) | 2013-03-15 | 2016-07-26 | Airwatch Llc | Secondary device as key for authorizing access to resources |
US9413533B1 (en) | 2014-05-02 | 2016-08-09 | Nok Nok Labs, Inc. | System and method for authorizing a new authenticator |
US9413754B2 (en) | 2014-12-23 | 2016-08-09 | Airwatch Llc | Authenticator device facilitating file security |
US20160253254A1 (en) * | 2015-02-27 | 2016-09-01 | Commvault Systems, Inc. | Diagnosing errors in data storage and archiving in a cloud or networking environment |
US9455979B2 (en) | 2014-07-31 | 2016-09-27 | Nok Nok Labs, Inc. | System and method for establishing trust using secure transmission protocols |
US9455886B2 (en) | 2013-03-29 | 2016-09-27 | Citrix Systems, Inc. | Providing mobile device management functionalities |
US9473417B2 (en) | 2013-03-14 | 2016-10-18 | Airwatch Llc | Controlling resources used by computing devices |
US9497200B2 (en) * | 2015-02-16 | 2016-11-15 | International Business Machines Corporation | Managing limited network access configuration |
US9516005B2 (en) | 2013-08-20 | 2016-12-06 | Airwatch Llc | Individual-specific content management |
US9516022B2 (en) | 2012-10-14 | 2016-12-06 | Getgo, Inc. | Automated meeting room |
US9521117B2 (en) | 2012-10-15 | 2016-12-13 | Citrix Systems, Inc. | Providing virtualized private network tunnels |
US9535857B2 (en) | 2013-06-25 | 2017-01-03 | Airwatch Llc | Autonomous device interaction |
US9544306B2 (en) | 2013-10-29 | 2017-01-10 | Airwatch Llc | Attempted security breach remediation |
US9552478B2 (en) | 2010-05-18 | 2017-01-24 | AO Kaspersky Lab | Team security for portable information devices |
US9577999B1 (en) | 2014-05-02 | 2017-02-21 | Nok Nok Labs, Inc. | Enhanced security for registration of authentication devices |
US9584964B2 (en) | 2014-12-22 | 2017-02-28 | Airwatch Llc | Enforcement of proximity based policies |
US9584437B2 (en) | 2013-06-02 | 2017-02-28 | Airwatch Llc | Resource watermarking and management |
US9602474B2 (en) | 2012-10-16 | 2017-03-21 | Citrix Systems, Inc. | Controlling mobile device access to secure data |
US9600670B2 (en) * | 2014-12-23 | 2017-03-21 | Intel Corporation | Provisioning location-based security policy |
US9606774B2 (en) | 2012-10-16 | 2017-03-28 | Citrix Systems, Inc. | Wrapping an application with field-programmable business logic |
US9635547B1 (en) * | 2014-07-28 | 2017-04-25 | Amazon Technologies, Inc. | Systems, devices, and methods for obfuscating location |
US9654469B1 (en) | 2014-05-02 | 2017-05-16 | Nok Nok Labs, Inc. | Web-based user authentication techniques and applications |
US9665723B2 (en) | 2013-08-15 | 2017-05-30 | Airwatch, Llc | Watermarking detection and management |
US9680763B2 (en) | 2012-02-14 | 2017-06-13 | Airwatch, Llc | Controlling distribution of resources in a network |
US9705813B2 (en) | 2012-02-14 | 2017-07-11 | Airwatch, Llc | Controlling distribution of resources on a network |
US9736154B2 (en) | 2014-09-16 | 2017-08-15 | Nok Nok Labs, Inc. | System and method for integrating an authentication service within a network architecture |
US9749131B2 (en) | 2014-07-31 | 2017-08-29 | Nok Nok Labs, Inc. | System and method for implementing a one-time-password using asymmetric cryptography |
US9762614B2 (en) | 2014-02-13 | 2017-09-12 | Cupp Computing As | Systems and methods for providing network security using a secure digital device |
US9774658B2 (en) | 2012-10-12 | 2017-09-26 | Citrix Systems, Inc. | Orchestration framework for connected devices |
US20170289107A1 (en) * | 2016-03-30 | 2017-10-05 | Oracle International Corporation | Enforcing data security in a cleanroom data processing envrionment |
US9787686B2 (en) | 2013-04-12 | 2017-10-10 | Airwatch Llc | On-demand security policy activation |
US20170300689A1 (en) * | 2016-04-14 | 2017-10-19 | Airwatch Llc | Anonymized application scanning for mobile devices |
US9813454B2 (en) | 2014-08-01 | 2017-11-07 | Wombat Security Technologies, Inc. | Cybersecurity training system with automated application of branded content |
US9819682B2 (en) | 2013-03-15 | 2017-11-14 | Airwatch Llc | Certificate based profile confirmation |
CN107534861A (en) * | 2015-04-16 | 2018-01-02 | 阿尔卡特朗讯公司 | Pass through network personalized access storage device |
US9875347B2 (en) | 2014-07-31 | 2018-01-23 | Nok Nok Labs, Inc. | System and method for performing authentication using data analytics |
US9887983B2 (en) | 2013-10-29 | 2018-02-06 | Nok Nok Labs, Inc. | Apparatus and method for implementing composite authenticators |
US9893961B2 (en) | 2006-05-24 | 2018-02-13 | Microsoft Technology Licensing, Llc | Applications and services as a bundle |
US9900261B2 (en) | 2013-06-02 | 2018-02-20 | Airwatch Llc | Shared resource watermarking and management |
US9917862B2 (en) * | 2016-04-14 | 2018-03-13 | Airwatch Llc | Integrated application scanning and mobile enterprise computing management system |
EP2533170B1 (en) * | 2011-06-07 | 2018-03-14 | BlackBerry Limited | Methods and devices for controlling access to a computing resource by applications executable on a computing device |
US9961077B2 (en) | 2013-05-30 | 2018-05-01 | Nok Nok Labs, Inc. | System and method for biometric authentication with device attestation |
US9973501B2 (en) | 2012-10-09 | 2018-05-15 | Cupp Computing As | Transaction security systems and methods |
US9971585B2 (en) | 2012-10-16 | 2018-05-15 | Citrix Systems, Inc. | Wrapping unmanaged applications on a mobile device |
US9985850B2 (en) | 2013-03-29 | 2018-05-29 | Citrix Systems, Inc. | Providing mobile device management functionalities |
US10091195B2 (en) | 2016-12-31 | 2018-10-02 | Nok Nok Labs, Inc. | System and method for bootstrapping a user binding |
US10129242B2 (en) | 2013-09-16 | 2018-11-13 | Airwatch Llc | Multi-persona devices and management |
US10148630B2 (en) | 2014-07-31 | 2018-12-04 | Nok Nok Labs, Inc. | System and method for implementing a hosted authentication service |
US10169162B2 (en) | 2014-06-11 | 2019-01-01 | Commvault Systems, Inc. | Conveying value of implementing an integrated data management and protection system |
US10237070B2 (en) | 2016-12-31 | 2019-03-19 | Nok Nok Labs, Inc. | System and method for sharing keys across authenticators |
US10257194B2 (en) | 2012-02-14 | 2019-04-09 | Airwatch Llc | Distribution of variably secure resources in a networked environment |
US10270748B2 (en) | 2013-03-22 | 2019-04-23 | Nok Nok Labs, Inc. | Advanced authentication techniques and applications |
US10284627B2 (en) | 2013-03-29 | 2019-05-07 | Citrix Systems, Inc. | Data management for an application with multiple operation modes |
US20190261222A1 (en) * | 2009-01-28 | 2019-08-22 | Headwater Research Llc | Security, Fraud Detection, and Fraud Mitigation in Device-Assisted Services Systems |
US10404615B2 (en) | 2012-02-14 | 2019-09-03 | Airwatch, Llc | Controlling distribution of resources on a network |
US10462185B2 (en) | 2014-09-05 | 2019-10-29 | Sequitur Labs, Inc. | Policy-managed secure code execution and messaging for computing devices and computing device security |
US10459710B2 (en) | 2012-12-27 | 2019-10-29 | Commvault Systems, Inc. | Automatic identification of storage requirements, such as for use in selling data storage management solutions |
US10515334B2 (en) | 2013-06-04 | 2019-12-24 | Airwatch Llc | Item delivery optimization |
US10530833B2 (en) * | 2013-12-17 | 2020-01-07 | International Business Machines Corporation | Identity service management in limited connectivity environments |
US10547712B2 (en) * | 2017-03-14 | 2020-01-28 | Vmware, Inc | Reserving physical resources based upon a physical identifier |
US10574630B2 (en) | 2011-02-15 | 2020-02-25 | Webroot Inc. | Methods and apparatus for malware threat research |
US10635634B2 (en) | 2012-12-21 | 2020-04-28 | Commvault Systems, Inc. | Data storage system for analysis of data across heterogeneous information management systems |
US10637853B2 (en) | 2016-08-05 | 2020-04-28 | Nok Nok Labs, Inc. | Authentication techniques including speech and/or lip movement analysis |
US10652242B2 (en) | 2013-03-15 | 2020-05-12 | Airwatch, Llc | Incremental compliance remediation |
US10652745B2 (en) | 2003-02-28 | 2020-05-12 | Apple Inc. | System and method for filtering access points presented to a user and locking onto an access point |
US10685130B2 (en) | 2015-04-21 | 2020-06-16 | Sequitur Labs Inc. | System and methods for context-aware and situation-aware secure, policy-based access control for computing devices |
US10700865B1 (en) | 2016-10-21 | 2020-06-30 | Sequitur Labs Inc. | System and method for granting secure access to computing services hidden in trusted computing environments to an unsecure requestor |
US10716006B2 (en) | 2009-01-28 | 2020-07-14 | Headwater Research Llc | End user device that secures an association of application to service policy with an application certificate check |
US10749887B2 (en) | 2011-04-08 | 2020-08-18 | Proofpoint, Inc. | Assessing security risks of users in a computing network |
US20200264861A1 (en) * | 2019-02-19 | 2020-08-20 | Fuji Xerox Co., Ltd. | Software providing apparatus and non-transitory computer readable medium |
US10754966B2 (en) | 2013-04-13 | 2020-08-25 | Airwatch Llc | Time-based functionality restrictions |
US10769635B2 (en) | 2016-08-05 | 2020-09-08 | Nok Nok Labs, Inc. | Authentication techniques including speech and/or lip movement analysis |
US10771980B2 (en) | 2009-01-28 | 2020-09-08 | Headwater Research Llc | Communications device with secure data path processing agents |
US10791471B2 (en) | 2009-01-28 | 2020-09-29 | Headwater Research Llc | System and method for wireless network offloading |
US10798558B2 (en) | 2009-01-28 | 2020-10-06 | Headwater Research Llc | Adapting network policies based on device service processor configuration |
US10798252B2 (en) | 2009-01-28 | 2020-10-06 | Headwater Research Llc | System and method for providing user notifications |
US10834577B2 (en) | 2009-01-28 | 2020-11-10 | Headwater Research Llc | Service offer set publishing to device agent with on-device service selection |
US10848330B2 (en) | 2009-01-28 | 2020-11-24 | Headwater Research Llc | Device-assisted services for protecting network capacity |
US10896047B2 (en) * | 2015-12-28 | 2021-01-19 | Hewlett-Packard Development Company, L.P. | Booting a computer using a wireless network connection |
US10908896B2 (en) | 2012-10-16 | 2021-02-02 | Citrix Systems, Inc. | Application wrapping for application management framework |
US10979459B2 (en) | 2006-09-13 | 2021-04-13 | Sophos Limited | Policy management |
US10997303B2 (en) * | 2017-09-12 | 2021-05-04 | Sophos Limited | Managing untyped network traffic flows |
US20210141915A1 (en) * | 2018-03-05 | 2021-05-13 | Microsoft Technology Licensing, Llc | System for automatic classification and protection unified to both cloud and on-premise environments |
US11010261B2 (en) | 2017-03-31 | 2021-05-18 | Commvault Systems, Inc. | Dynamically allocating streams during restoration of data |
US11032350B2 (en) | 2017-03-15 | 2021-06-08 | Commvault Systems, Inc. | Remote commands framework to control clients |
US11122054B2 (en) * | 2019-08-27 | 2021-09-14 | Bank Of America Corporation | Security tool |
US11157976B2 (en) | 2013-07-08 | 2021-10-26 | Cupp Computing As | Systems and methods for providing digital content marketplace security |
US11158207B1 (en) | 2011-04-08 | 2021-10-26 | Proofpoint, Inc. | Context-aware cybersecurity training systems, apparatuses, and methods |
US11165786B2 (en) * | 2018-12-18 | 2021-11-02 | International Business Machines Corporation | Remote assistance controller that provides control over what a remote assistor can access |
US11194775B2 (en) | 2015-05-20 | 2021-12-07 | Commvault Systems, Inc. | Efficient database search and reporting, such as for enterprise customers having large and/or numerous files |
US11219074B2 (en) | 2009-01-28 | 2022-01-04 | Headwater Research Llc | Enterprise access control and accounting allocation for access networks |
US20220014512A1 (en) * | 2020-07-13 | 2022-01-13 | Headwater Research Llc | End User Device That Secures an Association of Application to Service Policy With an Application Certificate Check |
US11323482B2 (en) * | 2019-12-31 | 2022-05-03 | Mcafee, Llc | Methods, systems, and media for protecting computer systems from user-created objects |
US20220159029A1 (en) * | 2020-11-13 | 2022-05-19 | Cyberark Software Ltd. | Detection of security risks based on secretless connection data |
US11425168B2 (en) | 2015-05-14 | 2022-08-23 | Sequitur Labs, Inc. | System and methods for facilitating secure computing device control and operation |
CN115118775A (en) * | 2022-06-21 | 2022-09-27 | 杭州迪普科技股份有限公司 | Method and device for processing browser access request and electronic equipment |
US11570309B2 (en) | 2009-01-28 | 2023-01-31 | Headwater Research Llc | Service design center for device assisted services |
US11573862B2 (en) | 2017-03-15 | 2023-02-07 | Commvault Systems, Inc. | Application aware backup of virtual machines |
US11792024B2 (en) | 2019-03-29 | 2023-10-17 | Nok Nok Labs, Inc. | System and method for efficient challenge-response authentication |
US11824644B2 (en) | 2013-03-14 | 2023-11-21 | Airwatch, Llc | Controlling electronically communicated resources |
US11831409B2 (en) | 2018-01-12 | 2023-11-28 | Nok Nok Labs, Inc. | System and method for binding verifiable claims |
US11847237B1 (en) | 2015-04-28 | 2023-12-19 | Sequitur Labs, Inc. | Secure data protection and encryption techniques for computing devices and information storage |
US11868995B2 (en) | 2017-11-27 | 2024-01-09 | Nok Nok Labs, Inc. | Extending a secure key storage for transaction confirmation and cryptocurrency |
US11968234B2 (en) | 2009-01-28 | 2024-04-23 | Headwater Research Llc | Wireless network service interfaces |
US11985155B2 (en) | 2009-01-28 | 2024-05-14 | Headwater Research Llc | Communications device with secure data path processing agents |
US12041039B2 (en) | 2019-02-28 | 2024-07-16 | Nok Nok Labs, Inc. | System and method for endorsing a new authenticator |
US12095632B2 (en) | 2009-01-28 | 2024-09-17 | Headwater Research Llc | Adaptive ambient services |
US12101434B2 (en) | 2009-01-28 | 2024-09-24 | Headwater Research Llc | Device assisted CDR creation, aggregation, mediation and billing |
US12126613B2 (en) | 2021-09-17 | 2024-10-22 | Nok Nok Labs, Inc. | System and method for pre-registration of FIDO authenticators |
US12137004B2 (en) | 2009-01-28 | 2024-11-05 | Headwater Research Llc | Device group partitions and settlement platform |
US12294602B2 (en) | 2024-04-09 | 2025-05-06 | Headwater Research Llc | Communications device with secure data path processing agents |
Families Citing this family (165)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
US7904187B2 (en) | 1999-02-01 | 2011-03-08 | Hoffberg Steven M | Internet appliance system and method |
US8479189B2 (en) | 2000-11-17 | 2013-07-02 | Hewlett-Packard Development Company, L.P. | Pattern detection preprocessor in an electronic device update generation system |
US7409685B2 (en) | 2002-04-12 | 2008-08-05 | Hewlett-Packard Development Company, L.P. | Initialization and update of software and/or firmware in electronic devices |
US8910241B2 (en) | 2002-04-25 | 2014-12-09 | Citrix Systems, Inc. | Computer security system |
US7231664B2 (en) * | 2002-09-04 | 2007-06-12 | Secure Computing Corporation | System and method for transmitting and receiving secure data in a virtual private group |
US20080109679A1 (en) * | 2003-02-28 | 2008-05-08 | Michael Wright | Administration of protection of data accessible by a mobile device |
US8020192B2 (en) * | 2003-02-28 | 2011-09-13 | Michael Wright | Administration of protection of data accessible by a mobile device |
US9197668B2 (en) * | 2003-02-28 | 2015-11-24 | Novell, Inc. | Access control to files based on source information |
MXPA05009877A (en) * | 2003-03-14 | 2006-02-28 | Thomson Licensing | A flexible wlan access point architecture capable of accommodating different user devices. |
JP3831364B2 (en) * | 2003-08-21 | 2006-10-11 | 株式会社東芝 | Communication system and security policy distribution method in the communication system |
US8555273B1 (en) | 2003-09-17 | 2013-10-08 | Palm. Inc. | Network for updating electronic devices |
DE10346007A1 (en) * | 2003-10-02 | 2005-04-28 | Siemens Ag | Communication device and method for setting a security configuration of a communication device |
US7978716B2 (en) * | 2003-11-24 | 2011-07-12 | Citrix Systems, Inc. | Systems and methods for providing a VPN solution |
US7984485B1 (en) * | 2004-01-29 | 2011-07-19 | Hewlett-Packard Development Company, L.P. | Ingestion interface for transferring update package containers into a distribution network |
US7400878B2 (en) | 2004-02-26 | 2008-07-15 | Research In Motion Limited | Computing device with environment aware features |
US8234374B2 (en) * | 2004-04-26 | 2012-07-31 | Microsoft Corporation | Privacy model that grants access rights and provides security to shared content |
WO2005107144A1 (en) | 2004-04-30 | 2005-11-10 | Research In Motion Limited | System and method for handling data transfers |
US8136149B2 (en) * | 2004-06-07 | 2012-03-13 | Check Point Software Technologies, Inc. | Security system with methodology providing verified secured individual end points |
US8495305B2 (en) | 2004-06-30 | 2013-07-23 | Citrix Systems, Inc. | Method and device for performing caching of dynamically generated objects in a data communication network |
US8739274B2 (en) | 2004-06-30 | 2014-05-27 | Citrix Systems, Inc. | Method and device for performing integrated caching in a data communication network |
US7757074B2 (en) | 2004-06-30 | 2010-07-13 | Citrix Application Networking, Llc | System and method for establishing a virtual private network |
US7978714B2 (en) | 2004-07-23 | 2011-07-12 | Citrix Systems, Inc. | Methods and systems for securing access to private networks using encryption and authentication technology built in to peripheral devices |
AU2005266943C1 (en) | 2004-07-23 | 2011-01-06 | Citrix Systems, Inc. | Systems and methods for optimizing communications between network nodes |
CN101076992A (en) | 2004-08-13 | 2007-11-21 | 塞特里克斯系统公司 | A method and systems for securing remote access to private networks |
GB0419889D0 (en) * | 2004-09-08 | 2004-10-13 | Ibm | Accessing a data item in a memory of a computer system |
US7711835B2 (en) * | 2004-09-30 | 2010-05-04 | Citrix Systems, Inc. | Method and apparatus for reducing disclosure of proprietary data in a networked environment |
US8613048B2 (en) | 2004-09-30 | 2013-12-17 | Citrix Systems, Inc. | Method and apparatus for providing authorized remote access to application sessions |
US7748032B2 (en) | 2004-09-30 | 2010-06-29 | Citrix Systems, Inc. | Method and apparatus for associating tickets in a ticket hierarchy |
GB0424490D0 (en) * | 2004-11-05 | 2004-12-08 | Ibm | Management of persistence in a data processing system |
US7904940B1 (en) * | 2004-11-12 | 2011-03-08 | Symantec Corporation | Automated environmental policy awareness |
WO2006054340A1 (en) * | 2004-11-17 | 2006-05-26 | Fujitsu Limited | Portable wireless terminal and its security system |
US7734051B2 (en) * | 2004-11-30 | 2010-06-08 | Novell, Inc. | Key distribution |
US8219807B1 (en) * | 2004-12-17 | 2012-07-10 | Novell, Inc. | Fine grained access control for linux services |
US8271785B1 (en) * | 2004-12-20 | 2012-09-18 | Novell, Inc. | Synthesized root privileges |
US7810089B2 (en) * | 2004-12-30 | 2010-10-05 | Citrix Systems, Inc. | Systems and methods for automatic installation and execution of a client-side acceleration program |
US8706877B2 (en) | 2004-12-30 | 2014-04-22 | Citrix Systems, Inc. | Systems and methods for providing client-side dynamic redirection to bypass an intermediary |
US8954595B2 (en) | 2004-12-30 | 2015-02-10 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP buffering |
US8700695B2 (en) | 2004-12-30 | 2014-04-15 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP pooling |
US8549149B2 (en) | 2004-12-30 | 2013-10-01 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing |
JP5183214B2 (en) | 2005-01-24 | 2013-04-17 | サイトリックス システムズ,インコーポレイテッド | System and method for performing caching of dynamically generated objects in a network |
US8255456B2 (en) | 2005-12-30 | 2012-08-28 | Citrix Systems, Inc. | System and method for performing flash caching of dynamically generated objects in a data communication network |
US8024568B2 (en) | 2005-01-28 | 2011-09-20 | Citrix Systems, Inc. | Method and system for verification of an endpoint security scan |
US7627123B2 (en) * | 2005-02-07 | 2009-12-01 | Juniper Networks, Inc. | Wireless network having multiple security interfaces |
US7490072B1 (en) | 2005-02-16 | 2009-02-10 | Novell, Inc. | Providing access controls |
US20060203736A1 (en) * | 2005-03-10 | 2006-09-14 | Stsn General Holdings Inc. | Real-time mobile user network operations center |
JP4622627B2 (en) * | 2005-03-30 | 2011-02-02 | ブラザー工業株式会社 | COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND PROGRAM |
US8352935B2 (en) | 2005-05-19 | 2013-01-08 | Novell, Inc. | System for creating a customized software distribution based on user requirements |
US8074214B2 (en) | 2005-05-19 | 2011-12-06 | Oracle International Corporation | System for creating a customized software installation on demand |
CA2614887A1 (en) * | 2005-07-25 | 2007-02-01 | Toyo Ink Mfg. Co., Ltd. | Active energy beam-curable ink for injet printing |
US8301839B2 (en) | 2005-12-30 | 2012-10-30 | Citrix Systems, Inc. | System and method for performing granular invalidation of cached dynamically generated objects in a data communication network |
US7921184B2 (en) * | 2005-12-30 | 2011-04-05 | Citrix Systems, Inc. | System and method for performing flash crowd caching of dynamically generated objects in a data communication network |
US7613826B2 (en) * | 2006-02-09 | 2009-11-03 | Cisco Technology, Inc. | Methods and apparatus for providing multiple policies for a virtual private network |
US8676973B2 (en) * | 2006-03-07 | 2014-03-18 | Novell Intellectual Property Holdings, Inc. | Light-weight multi-user browser |
US8151323B2 (en) * | 2006-04-12 | 2012-04-03 | Citrix Systems, Inc. | Systems and methods for providing levels of access and action control via an SSL VPN appliance |
US8732476B1 (en) | 2006-04-13 | 2014-05-20 | Xceedium, Inc. | Automatic intervention |
US7843912B2 (en) * | 2006-08-03 | 2010-11-30 | Citrix Systems, Inc. | Systems and methods of fine grained interception of network communications on a virtual private network |
US8495181B2 (en) | 2006-08-03 | 2013-07-23 | Citrix Systems, Inc | Systems and methods for application based interception SSI/VPN traffic |
US8869262B2 (en) * | 2006-08-03 | 2014-10-21 | Citrix Systems, Inc. | Systems and methods for application based interception of SSL/VPN traffic |
US7730480B2 (en) | 2006-08-22 | 2010-06-01 | Novell, Inc. | System and method for creating a pattern installation by cloning software installed another computer |
WO2008028072A2 (en) * | 2006-08-30 | 2008-03-06 | Hewlett-Packard Development Company, L.P. | Electronic device management |
US8522304B2 (en) * | 2006-09-08 | 2013-08-27 | Ibahn General Holdings Corporation | Monitoring and reporting policy compliance of home networks |
US8533846B2 (en) * | 2006-11-08 | 2013-09-10 | Citrix Systems, Inc. | Method and system for dynamically associating access rights with a resource |
US8316427B2 (en) * | 2007-03-09 | 2012-11-20 | International Business Machines Corporation | Enhanced personal firewall for dynamic computing environments |
US8695081B2 (en) * | 2007-04-10 | 2014-04-08 | International Business Machines Corporation | Method to apply network encryption to firewall decisions |
WO2008128119A1 (en) | 2007-04-12 | 2008-10-23 | Snapin Software Inc. | System and method for detecting mutually supported capabilities between mobile devices |
US8908700B2 (en) | 2007-09-07 | 2014-12-09 | Citrix Systems, Inc. | Systems and methods for bridging a WAN accelerator with a security gateway |
US8516539B2 (en) * | 2007-11-09 | 2013-08-20 | Citrix Systems, Inc | System and method for inferring access policies from access event records |
US8990910B2 (en) * | 2007-11-13 | 2015-03-24 | Citrix Systems, Inc. | System and method using globally unique identities |
AU2009206251B2 (en) | 2008-01-27 | 2014-03-27 | Citrix Systems, Inc. | Methods and systems for remoting three dimensional graphics |
US9240945B2 (en) * | 2008-03-19 | 2016-01-19 | Citrix Systems, Inc. | Access, priority and bandwidth management based on application identity |
US8510805B2 (en) * | 2008-04-23 | 2013-08-13 | Samsung Electronics Co., Ltd. | Safe and efficient access control mechanisms for computing environments |
US8943575B2 (en) | 2008-04-30 | 2015-01-27 | Citrix Systems, Inc. | Method and system for policy simulation |
US8391834B2 (en) | 2009-01-28 | 2013-03-05 | Headwater Partners I Llc | Security techniques for device assisted services |
US8402111B2 (en) | 2009-01-28 | 2013-03-19 | Headwater Partners I, Llc | Device assisted services install |
US8340634B2 (en) | 2009-01-28 | 2012-12-25 | Headwater Partners I, Llc | Enhanced roaming services and converged carrier networks with device assisted services and a proxy |
US8548428B2 (en) | 2009-01-28 | 2013-10-01 | Headwater Partners I Llc | Device group partitions and settlement platform |
US8924543B2 (en) | 2009-01-28 | 2014-12-30 | Headwater Partners I Llc | Service design center for device assisted services |
US8346225B2 (en) | 2009-01-28 | 2013-01-01 | Headwater Partners I, Llc | Quality of service for device assisted services |
US8626115B2 (en) | 2009-01-28 | 2014-01-07 | Headwater Partners I Llc | Wireless network service interfaces |
US8635335B2 (en) | 2009-01-28 | 2014-01-21 | Headwater Partners I Llc | System and method for wireless network offloading |
US8924469B2 (en) | 2008-06-05 | 2014-12-30 | Headwater Partners I Llc | Enterprise access control and accounting allocation for access networks |
US8898293B2 (en) | 2009-01-28 | 2014-11-25 | Headwater Partners I Llc | Service offer set publishing to device agent with on-device service selection |
US8839388B2 (en) | 2009-01-28 | 2014-09-16 | Headwater Partners I Llc | Automated device provisioning and activation |
US8725123B2 (en) | 2008-06-05 | 2014-05-13 | Headwater Partners I Llc | Communications device with secure data path processing agents |
US20120036559A1 (en) * | 2008-06-26 | 2012-02-09 | Redknee Inc | System, method and apparatus for security management of an electronic device |
US20100113005A1 (en) * | 2008-10-31 | 2010-05-06 | Symbol Technologies, Inc. | Methods and apparatus for mobile units with local action and remediation |
US8087081B1 (en) * | 2008-11-05 | 2011-12-27 | Trend Micro Incorporated | Selection of remotely located servers for computer security operations |
US8990573B2 (en) * | 2008-11-10 | 2015-03-24 | Citrix Systems, Inc. | System and method for using variable security tag location in network communications |
US8156388B2 (en) * | 2008-11-24 | 2012-04-10 | Symbol Technologies, Inc. | Analysis leading to automatic action |
US20100138893A1 (en) * | 2008-12-02 | 2010-06-03 | Inventec Corporation | Processing method for accelerating packet filtering |
US8566571B2 (en) * | 2008-12-12 | 2013-10-22 | Novell, Inc. | Pre-boot securing of operating system (OS) for endpoint evaluation |
US8325133B1 (en) * | 2009-01-07 | 2012-12-04 | Sprint Communications Company L.P. | Secure opportunistic use of external interfaces |
US10248996B2 (en) | 2009-01-28 | 2019-04-02 | Headwater Research Llc | Method for operating a wireless end-user device mobile payment agent |
US9557889B2 (en) | 2009-01-28 | 2017-01-31 | Headwater Partners I Llc | Service plan design, user interfaces, application programming interfaces, and device management |
US10492102B2 (en) | 2009-01-28 | 2019-11-26 | Headwater Research Llc | Intermediate networking devices |
US8893009B2 (en) | 2009-01-28 | 2014-11-18 | Headwater Partners I Llc | End user device that secures an association of application to service policy with an application certificate check |
US9609510B2 (en) | 2009-01-28 | 2017-03-28 | Headwater Research Llc | Automated credential porting for mobile devices |
US10057775B2 (en) | 2009-01-28 | 2018-08-21 | Headwater Research Llc | Virtualized policy and charging system |
US9858559B2 (en) | 2009-01-28 | 2018-01-02 | Headwater Research Llc | Network service plan design |
US10200541B2 (en) | 2009-01-28 | 2019-02-05 | Headwater Research Llc | Wireless end-user device with divided user space/kernel space traffic policy system |
US11218854B2 (en) | 2009-01-28 | 2022-01-04 | Headwater Research Llc | Service plan design, user interfaces, application programming interfaces, and device management |
US10484858B2 (en) | 2009-01-28 | 2019-11-19 | Headwater Research Llc | Enhanced roaming services and converged carrier networks with device assisted services and a proxy |
US11973804B2 (en) | 2009-01-28 | 2024-04-30 | Headwater Research Llc | Network service plan design |
US9755842B2 (en) | 2009-01-28 | 2017-09-05 | Headwater Research Llc | Managing service user discovery and service launch object placement on a device |
US9270559B2 (en) | 2009-01-28 | 2016-02-23 | Headwater Partners I Llc | Service policy implementation for an end-user device having a control application or a proxy agent for routing an application traffic flow |
US9253663B2 (en) | 2009-01-28 | 2016-02-02 | Headwater Partners I Llc | Controlling mobile device communications on a roaming network based on device state |
US10064055B2 (en) | 2009-01-28 | 2018-08-28 | Headwater Research Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
US10779177B2 (en) | 2009-01-28 | 2020-09-15 | Headwater Research Llc | Device group partitions and settlement platform |
US10783581B2 (en) | 2009-01-28 | 2020-09-22 | Headwater Research Llc | Wireless end-user device providing ambient or sponsored services |
US9578182B2 (en) | 2009-01-28 | 2017-02-21 | Headwater Partners I Llc | Mobile device and service management |
US9954975B2 (en) | 2009-01-28 | 2018-04-24 | Headwater Research Llc | Enhanced curfew and protection associated with a device group |
US9571559B2 (en) | 2009-01-28 | 2017-02-14 | Headwater Partners I Llc | Enhanced curfew and protection associated with a device group |
US8606911B2 (en) | 2009-03-02 | 2013-12-10 | Headwater Partners I Llc | Flow tagging for service policy implementation |
US8793758B2 (en) | 2009-01-28 | 2014-07-29 | Headwater Partners I Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
US8745191B2 (en) | 2009-01-28 | 2014-06-03 | Headwater Partners I Llc | System and method for providing user notifications |
US9351193B2 (en) | 2009-01-28 | 2016-05-24 | Headwater Partners I Llc | Intermediate networking devices |
US8351898B2 (en) | 2009-01-28 | 2013-01-08 | Headwater Partners I Llc | Verifiable device assisted service usage billing with integrated accounting, mediation accounting, and multi-account |
US10715342B2 (en) | 2009-01-28 | 2020-07-14 | Headwater Research Llc | Managing service user discovery and service launch object placement on a device |
US10264138B2 (en) | 2009-01-28 | 2019-04-16 | Headwater Research Llc | Mobile device and service management |
US9647918B2 (en) | 2009-01-28 | 2017-05-09 | Headwater Research Llc | Mobile device and method attributing media services network usage to requesting application |
US9955332B2 (en) | 2009-01-28 | 2018-04-24 | Headwater Research Llc | Method for child wireless device activation to subscriber account of a master wireless device |
US8769068B2 (en) * | 2009-02-24 | 2014-07-01 | Telcordia Technologies, Inc. | System and method for policy based management for a high security MANET |
US8838804B2 (en) * | 2009-03-12 | 2014-09-16 | Novell, Inc. | Securing a network connection by way of an endpoint computing device |
US8239668B1 (en) | 2009-04-15 | 2012-08-07 | Trend Micro Incorporated | Computer security threat data collection and aggregation with user privacy protection |
US8387131B2 (en) | 2009-05-18 | 2013-02-26 | Novell, Inc. | Enforcing secure internet connections for a mobile endpoint computing device |
US8336080B2 (en) * | 2009-06-26 | 2012-12-18 | Symbol Technologies, Inc. | Methods and apparatus for rating device security and automatically assessing security compliance |
US8296822B2 (en) * | 2009-07-14 | 2012-10-23 | Microsoft Corporation | State-updating authorization |
US8751844B2 (en) * | 2009-09-24 | 2014-06-10 | Citrix Systems, Inc. | Systems and methods for attributing an amount of power consumption to a workload |
US8458769B2 (en) * | 2009-12-12 | 2013-06-04 | Akamai Technologies, Inc. | Cloud based firewall system and service |
US8533780B2 (en) * | 2009-12-22 | 2013-09-10 | Cisco Technology, Inc. | Dynamic content-based routing |
JP5396314B2 (en) | 2010-03-10 | 2014-01-22 | 株式会社日立製作所 | Unauthorized operation detection system and unauthorized operation detection method |
US9124616B2 (en) | 2010-04-02 | 2015-09-01 | Hitachi, Ltd. | Computer system management method and client computer |
WO2012001765A1 (en) * | 2010-06-29 | 2012-01-05 | 株式会社日立製作所 | Illicit operation sensing method and computer that senses illicit operation |
US8848679B2 (en) | 2010-08-19 | 2014-09-30 | Blackberry Limited | Method of limiting use of a mobile wireless access point near a wireless local area network |
WO2012065264A1 (en) * | 2010-11-15 | 2012-05-24 | Research In Motion Limited | Controlling data transfer on mobile devices |
US9450781B2 (en) * | 2010-12-09 | 2016-09-20 | Alcatel Lucent | Spam reporting and management in a communication network |
US9154826B2 (en) | 2011-04-06 | 2015-10-06 | Headwater Partners Ii Llc | Distributing content and service launch objects to mobile devices |
US9161226B2 (en) | 2011-10-17 | 2015-10-13 | Blackberry Limited | Associating services to perimeters |
US9385982B2 (en) * | 2011-10-19 | 2016-07-05 | International Business Machines Corporation | Identification to a recipient of an electronic communication of another user who has accessed the electronic communication |
US9613219B2 (en) | 2011-11-10 | 2017-04-04 | Blackberry Limited | Managing cross perimeter access |
US8799227B2 (en) | 2011-11-11 | 2014-08-05 | Blackberry Limited | Presenting metadata from multiple perimeters |
US9787655B2 (en) | 2011-12-09 | 2017-10-10 | Airwatch Llc | Controlling access to resources on a network |
US9369466B2 (en) | 2012-06-21 | 2016-06-14 | Blackberry Limited | Managing use of network resources |
US8990932B2 (en) * | 2012-06-28 | 2015-03-24 | Secureage Technology, Inc. | System and method for prevention of malware attacks on data |
US9053343B1 (en) * | 2012-11-14 | 2015-06-09 | Amazon Technologies, Inc. | Token-based debugging of access control policies |
US8839354B2 (en) * | 2012-12-31 | 2014-09-16 | Verizon Patent And Licensing Inc. | Mobile enterprise server and client device interaction |
US9367699B2 (en) * | 2013-02-07 | 2016-06-14 | Steelcloud, Llc | Automating the creation and maintenance of policy compliant environments |
US8990559B2 (en) * | 2013-02-07 | 2015-03-24 | Steelcloud, Llc | Automating the creation and maintenance of policy compliant environments |
US9112749B2 (en) | 2013-07-25 | 2015-08-18 | Airwatch Llc | Functionality management via application modification |
US9226155B2 (en) | 2013-07-25 | 2015-12-29 | Airwatch Llc | Data communications management |
CN105493093A (en) * | 2013-09-27 | 2016-04-13 | 英特尔公司 | Mechanism for facilitating dynamic context-based access control of resources |
US10225152B1 (en) | 2013-09-30 | 2019-03-05 | Amazon Technologies, Inc. | Access control policy evaluation and remediation |
US10320624B1 (en) | 2013-09-30 | 2019-06-11 | Amazon Technologies, Inc. | Access control policy simulation and testing |
CN103746958B (en) * | 2013-11-18 | 2018-05-29 | 广州多益网络股份有限公司 | A kind of method and device logged in limited time |
RU2587422C2 (en) * | 2013-12-27 | 2016-06-20 | Закрытое акционерное общество "Лаборатория Касперского" | Method and system for automatic license management |
RU2562444C2 (en) * | 2013-12-27 | 2015-09-10 | Закрытое акционерное общество "Лаборатория Касперского" | Method and system for automatic assignment of coding policy to devices |
US20150281003A1 (en) | 2014-03-31 | 2015-10-01 | Sonicwall, Inc. | Mobile application control |
US11350254B1 (en) * | 2015-05-05 | 2022-05-31 | F5, Inc. | Methods for enforcing compliance policies and devices thereof |
US10375026B2 (en) | 2015-10-28 | 2019-08-06 | Shape Security, Inc. | Web transaction status tracking |
US10491602B2 (en) * | 2017-02-28 | 2019-11-26 | Microsoft Technology Licensing, Llc | Content management based on spatial and temporal information |
US10355864B2 (en) | 2017-08-29 | 2019-07-16 | Citrix Systems, Inc. | Policy based authentication |
US11824895B2 (en) | 2017-12-27 | 2023-11-21 | Steelcloud, LLC. | System for processing content in scan and remediation processing |
CN114365128A (en) * | 2019-09-09 | 2022-04-15 | 百可德罗德公司 | Method and system for data self-protection |
US12192168B1 (en) * | 2023-11-30 | 2025-01-07 | Adriano Monteiro Marques | Unified programmable dynamic context-aware configuration for domain name service |
Citations (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5724487A (en) * | 1995-07-07 | 1998-03-03 | Streit; Roy L. | Neural network for maximum likelihood classification with supervised and unsupervised training capability |
US5930810A (en) * | 1995-08-09 | 1999-07-27 | Taylor Corporation | Printing system with pre-defined user modifiable forms and local and remote printing |
US5987611A (en) * | 1996-12-31 | 1999-11-16 | Zone Labs, Inc. | System and methodology for managing internet access on a per application basis for client computers connected to the internet |
US6088457A (en) * | 1995-08-16 | 2000-07-11 | Wireless Access | Method and apparatus for over the air programming a communication device |
US20010038626A1 (en) * | 1999-01-19 | 2001-11-08 | 3Com Corporation | Dynamic allocation of wireless mobile nodes over an internet protocol (IP) network |
US20010044849A1 (en) * | 2000-05-16 | 2001-11-22 | Awele Ndili | System for providing network content to wireless devices |
US20020055817A1 (en) * | 2000-08-18 | 2002-05-09 | Yue-Hong Chou | Real-time smart mobile device for location information processing |
US20020078361A1 (en) * | 2000-12-15 | 2002-06-20 | David Giroux | Information security architecture for encrypting documents for remote access while maintaining access control |
US20020095486A1 (en) * | 2001-01-12 | 2002-07-18 | Paramvir Bahl | Systems and methods for locating mobile computer users in a wireless network |
US20020112046A1 (en) * | 2000-12-05 | 2002-08-15 | Rakesh Kushwaha | System and method for wireless data terminal management using mobitex network |
US20020161905A1 (en) * | 2001-04-26 | 2002-10-31 | Nokia Corporation | IP security and mobile networking |
US20020160745A1 (en) * | 2000-07-20 | 2002-10-31 | Ray Wang | Method and system for location-aware wireless mobile devices including mobile user network message interfaces and protocol |
US20020166068A1 (en) * | 2001-05-02 | 2002-11-07 | Tantivy Communications, Inc. | Firewall protection for wireless users |
US6484261B1 (en) * | 1998-02-17 | 2002-11-19 | Cisco Technology, Inc. | Graphical network security policy management |
US20020186688A1 (en) * | 1997-09-05 | 2002-12-12 | Kabushiki Kaisha Toshiba | Mobile IP communication scheme incorporating individual user authentication |
US20020191593A1 (en) * | 2001-06-14 | 2002-12-19 | O'neill Alan | Methods and apparatus for supporting session signaling and mobility management in a communications system |
US20030053475A1 (en) * | 2001-05-23 | 2003-03-20 | Malathi Veeraraghavan | Transferring data such as files |
US20030055962A1 (en) * | 2001-07-06 | 2003-03-20 | Freund Gregor P. | System providing internet access management with router-based policy enforcement |
US20030065942A1 (en) * | 2001-09-28 | 2003-04-03 | Lineman David J. | Method and apparatus for actively managing security policies for users and computers in a network |
US20030070067A1 (en) * | 2001-09-21 | 2003-04-10 | Shin Saito | Communication processing system, communication processing method, server and computer program |
US20030084323A1 (en) * | 2001-10-31 | 2003-05-01 | Gales George S. | Network intrusion detection system and method |
US20030081621A1 (en) * | 2001-10-26 | 2003-05-01 | Godfrey James A. | System and method for controlling configuration settings for mobile communication devices and services |
US6577274B1 (en) * | 2001-12-19 | 2003-06-10 | Intel Corporation | Method and apparatus for controlling access to mobile devices |
US6580914B1 (en) * | 1998-08-17 | 2003-06-17 | At&T Wireless Services, Inc. | Method and apparatus for automatically providing location-based information content on a wireless device |
US20030112178A1 (en) * | 2001-12-19 | 2003-06-19 | Bajikar Sundeep M. | Method and apparatus for location based wireless roaming between communication networks |
US20030135749A1 (en) * | 2001-10-31 | 2003-07-17 | Gales George S. | System and method of defining the security vulnerabilities of a computer system |
US6609196B1 (en) * | 1997-07-24 | 2003-08-19 | Tumbleweed Communications Corp. | E-mail firewall with stored key encryption/decryption |
US20030159060A1 (en) * | 2001-10-31 | 2003-08-21 | Gales George S. | System and method of defining the security condition of a computer system |
US20030167405A1 (en) * | 2001-07-27 | 2003-09-04 | Gregor Freund | System methodology for automatic local network discovery and firewall reconfiguration for mobile computing devices |
US20030177389A1 (en) * | 2002-03-06 | 2003-09-18 | Zone Labs, Inc. | System and methodology for security policy arbitration |
US20030194500A1 (en) * | 2002-04-15 | 2003-10-16 | Nippon Paint Co., Ltd. | Process for formation of coating film on plastic material and coated article |
US20040003289A1 (en) * | 2002-06-27 | 2004-01-01 | International Business Machines Corporation | Method and apparatus for handling files containing confidential or sensitive information |
US20040010579A1 (en) * | 2000-08-31 | 2004-01-15 | Esko Freese | Wireless device management |
US6681107B2 (en) * | 2000-12-06 | 2004-01-20 | Xybernaut Corporation | System and method of accessing and recording messages at coordinate way points |
US20040018844A1 (en) * | 2002-07-03 | 2004-01-29 | International Business Machines Corporation | Managing resources for information delivery in a large network |
US20040052232A1 (en) * | 2002-09-13 | 2004-03-18 | Kumar Ramaswamy | Method and apparatus for detecting the presence of a wireless local area network using a position location system |
US6728885B1 (en) * | 1998-10-09 | 2004-04-27 | Networks Associates Technology, Inc. | System and method for network access control using adaptive proxies |
US6772213B2 (en) * | 1999-12-29 | 2004-08-03 | Harry A. Glorikian | Internet system for connecting client-travelers with geographically-associated data |
US6778837B2 (en) * | 2001-03-22 | 2004-08-17 | International Business Machines Corporation | System and method for providing access to mobile devices based on positional data |
US20040192339A1 (en) * | 2002-06-14 | 2004-09-30 | Brian Wilson | Method for providing location-based services in a wireless network, such as varying levels of services |
US20040203718A1 (en) * | 2002-06-20 | 2004-10-14 | Robert Knauerhase | Communal discovery of network coverage |
US20040203902A1 (en) * | 2002-06-14 | 2004-10-14 | Brian Wilson | Data structures and methods for location-based services within a wireless network |
US20040203903A1 (en) * | 2002-06-14 | 2004-10-14 | Brian Wilson | System for providing location-based services in a wireless network, such as modifying locating privileges among individuals and managing lists of individuals associated with such privileges |
US20040215956A1 (en) * | 2000-02-22 | 2004-10-28 | Microsoft Corporation | Methods and systems for accessing networks, methods and systems for accessing the internet |
US6873988B2 (en) * | 2001-07-06 | 2005-03-29 | Check Point Software Technologies, Inc. | System and methods providing anti-virus cooperative enforcement |
US7069581B2 (en) * | 2001-10-04 | 2006-06-27 | Mcafee, Inc. | Method and apparatus to facilitate cross-domain push deployment of software in an enterprise environment |
US7093283B1 (en) * | 2002-02-15 | 2006-08-15 | Cisco Technology, Inc. | Method and apparatus for deploying configuration instructions to security devices in order to implement a security policy on a network |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2285743T3 (en) | 1996-12-30 | 2007-11-16 | Battelle Memorial Institute | USE OF AN ANTICHANGERIGEN PHARMACO NOT ENCAPSULATED FOR THE PREPARATION OF A FORMULATION TO TREAT NEOPLASIAS BY INHLATION. |
US6684330B1 (en) * | 1998-10-16 | 2004-01-27 | Tecsec, Inc. | Cryptographic information and flow control |
AU2002213065A1 (en) * | 2000-10-09 | 2002-04-22 | Mohamed Ishan | Automated information entry for wireless devices |
AUPR333101A0 (en) | 2001-02-23 | 2001-03-22 | I-Sprint Innovations Pte Limited | A hierarchy model |
US7325248B2 (en) * | 2001-11-19 | 2008-01-29 | Stonesoft Corporation | Personal firewall with location dependent functionality |
US7197699B2 (en) * | 2002-05-02 | 2007-03-27 | International Business Machines Corporation | Dynamic server page engines |
-
2003
- 2003-04-11 US US10/413,443 patent/US7353533B2/en not_active Expired - Lifetime
-
2007
- 2007-10-29 US US11/926,314 patent/US7636936B2/en not_active Expired - Lifetime
Patent Citations (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5724487A (en) * | 1995-07-07 | 1998-03-03 | Streit; Roy L. | Neural network for maximum likelihood classification with supervised and unsupervised training capability |
US5930810A (en) * | 1995-08-09 | 1999-07-27 | Taylor Corporation | Printing system with pre-defined user modifiable forms and local and remote printing |
US6088457A (en) * | 1995-08-16 | 2000-07-11 | Wireless Access | Method and apparatus for over the air programming a communication device |
US5987611A (en) * | 1996-12-31 | 1999-11-16 | Zone Labs, Inc. | System and methodology for managing internet access on a per application basis for client computers connected to the internet |
US6609196B1 (en) * | 1997-07-24 | 2003-08-19 | Tumbleweed Communications Corp. | E-mail firewall with stored key encryption/decryption |
US20020186688A1 (en) * | 1997-09-05 | 2002-12-12 | Kabushiki Kaisha Toshiba | Mobile IP communication scheme incorporating individual user authentication |
US6484261B1 (en) * | 1998-02-17 | 2002-11-19 | Cisco Technology, Inc. | Graphical network security policy management |
US6580914B1 (en) * | 1998-08-17 | 2003-06-17 | At&T Wireless Services, Inc. | Method and apparatus for automatically providing location-based information content on a wireless device |
US6728885B1 (en) * | 1998-10-09 | 2004-04-27 | Networks Associates Technology, Inc. | System and method for network access control using adaptive proxies |
US20010038626A1 (en) * | 1999-01-19 | 2001-11-08 | 3Com Corporation | Dynamic allocation of wireless mobile nodes over an internet protocol (IP) network |
US6772213B2 (en) * | 1999-12-29 | 2004-08-03 | Harry A. Glorikian | Internet system for connecting client-travelers with geographically-associated data |
US20040215956A1 (en) * | 2000-02-22 | 2004-10-28 | Microsoft Corporation | Methods and systems for accessing networks, methods and systems for accessing the internet |
US20010044849A1 (en) * | 2000-05-16 | 2001-11-22 | Awele Ndili | System for providing network content to wireless devices |
US20020160745A1 (en) * | 2000-07-20 | 2002-10-31 | Ray Wang | Method and system for location-aware wireless mobile devices including mobile user network message interfaces and protocol |
US20020055817A1 (en) * | 2000-08-18 | 2002-05-09 | Yue-Hong Chou | Real-time smart mobile device for location information processing |
US20040010579A1 (en) * | 2000-08-31 | 2004-01-15 | Esko Freese | Wireless device management |
US20020112046A1 (en) * | 2000-12-05 | 2002-08-15 | Rakesh Kushwaha | System and method for wireless data terminal management using mobitex network |
US6681107B2 (en) * | 2000-12-06 | 2004-01-20 | Xybernaut Corporation | System and method of accessing and recording messages at coordinate way points |
US20020078361A1 (en) * | 2000-12-15 | 2002-06-20 | David Giroux | Information security architecture for encrypting documents for remote access while maintaining access control |
US20020095486A1 (en) * | 2001-01-12 | 2002-07-18 | Paramvir Bahl | Systems and methods for locating mobile computer users in a wireless network |
US6778837B2 (en) * | 2001-03-22 | 2004-08-17 | International Business Machines Corporation | System and method for providing access to mobile devices based on positional data |
US20020161905A1 (en) * | 2001-04-26 | 2002-10-31 | Nokia Corporation | IP security and mobile networking |
US20020166068A1 (en) * | 2001-05-02 | 2002-11-07 | Tantivy Communications, Inc. | Firewall protection for wireless users |
US20030053475A1 (en) * | 2001-05-23 | 2003-03-20 | Malathi Veeraraghavan | Transferring data such as files |
US20020191593A1 (en) * | 2001-06-14 | 2002-12-19 | O'neill Alan | Methods and apparatus for supporting session signaling and mobility management in a communications system |
US6873988B2 (en) * | 2001-07-06 | 2005-03-29 | Check Point Software Technologies, Inc. | System and methods providing anti-virus cooperative enforcement |
US20030055962A1 (en) * | 2001-07-06 | 2003-03-20 | Freund Gregor P. | System providing internet access management with router-based policy enforcement |
US20030167405A1 (en) * | 2001-07-27 | 2003-09-04 | Gregor Freund | System methodology for automatic local network discovery and firewall reconfiguration for mobile computing devices |
US20030070067A1 (en) * | 2001-09-21 | 2003-04-10 | Shin Saito | Communication processing system, communication processing method, server and computer program |
US20030065942A1 (en) * | 2001-09-28 | 2003-04-03 | Lineman David J. | Method and apparatus for actively managing security policies for users and computers in a network |
US7069581B2 (en) * | 2001-10-04 | 2006-06-27 | Mcafee, Inc. | Method and apparatus to facilitate cross-domain push deployment of software in an enterprise environment |
US20030081621A1 (en) * | 2001-10-26 | 2003-05-01 | Godfrey James A. | System and method for controlling configuration settings for mobile communication devices and services |
US20030159060A1 (en) * | 2001-10-31 | 2003-08-21 | Gales George S. | System and method of defining the security condition of a computer system |
US20030084323A1 (en) * | 2001-10-31 | 2003-05-01 | Gales George S. | Network intrusion detection system and method |
US20030135749A1 (en) * | 2001-10-31 | 2003-07-17 | Gales George S. | System and method of defining the security vulnerabilities of a computer system |
US20030112178A1 (en) * | 2001-12-19 | 2003-06-19 | Bajikar Sundeep M. | Method and apparatus for location based wireless roaming between communication networks |
US20030184474A1 (en) * | 2001-12-19 | 2003-10-02 | Bajikar Sundeep M. | Method and apparatus for controlling access to mobile devices |
US6577274B1 (en) * | 2001-12-19 | 2003-06-10 | Intel Corporation | Method and apparatus for controlling access to mobile devices |
US7093283B1 (en) * | 2002-02-15 | 2006-08-15 | Cisco Technology, Inc. | Method and apparatus for deploying configuration instructions to security devices in order to implement a security policy on a network |
US20030177389A1 (en) * | 2002-03-06 | 2003-09-18 | Zone Labs, Inc. | System and methodology for security policy arbitration |
US20030194500A1 (en) * | 2002-04-15 | 2003-10-16 | Nippon Paint Co., Ltd. | Process for formation of coating film on plastic material and coated article |
US20040192339A1 (en) * | 2002-06-14 | 2004-09-30 | Brian Wilson | Method for providing location-based services in a wireless network, such as varying levels of services |
US20040203902A1 (en) * | 2002-06-14 | 2004-10-14 | Brian Wilson | Data structures and methods for location-based services within a wireless network |
US20040203903A1 (en) * | 2002-06-14 | 2004-10-14 | Brian Wilson | System for providing location-based services in a wireless network, such as modifying locating privileges among individuals and managing lists of individuals associated with such privileges |
US20040203718A1 (en) * | 2002-06-20 | 2004-10-14 | Robert Knauerhase | Communal discovery of network coverage |
US20040003289A1 (en) * | 2002-06-27 | 2004-01-01 | International Business Machines Corporation | Method and apparatus for handling files containing confidential or sensitive information |
US20040018844A1 (en) * | 2002-07-03 | 2004-01-29 | International Business Machines Corporation | Managing resources for information delivery in a large network |
US20040052232A1 (en) * | 2002-09-13 | 2004-03-18 | Kumar Ramaswamy | Method and apparatus for detecting the presence of a wireless local area network using a position location system |
Cited By (636)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8848899B2 (en) * | 2000-11-17 | 2014-09-30 | Qualcomm Incorporated | Operator network that routes customer care calls based on subscriber / device profile and CSR skill set |
US20030055990A1 (en) * | 2001-08-23 | 2003-03-20 | Hughes Electronics Corporation, | Single-modem multi-user virtual private network |
US7099957B2 (en) | 2001-08-23 | 2006-08-29 | The Directtv Group, Inc. | Domain name system resolution |
US20060271707A1 (en) * | 2001-08-23 | 2006-11-30 | Cheline Douglas A | Domain name system resolution |
US7197550B2 (en) * | 2001-08-23 | 2007-03-27 | The Directv Group, Inc. | Automated configuration of a virtual private network |
US20030041136A1 (en) * | 2001-08-23 | 2003-02-27 | Hughes Electronics Corporation | Automated configuration of a virtual private network |
US7769838B2 (en) * | 2001-08-23 | 2010-08-03 | The Directv Group, Inc. | Single-modem multi-user virtual private network |
US20070083606A1 (en) * | 2001-12-05 | 2007-04-12 | Bellsouth Intellectual Property Corporation | Foreign Network Spam Blocker |
US8090778B2 (en) | 2001-12-05 | 2012-01-03 | At&T Intellectual Property I, L.P. | Foreign network SPAM blocker |
US7870260B2 (en) | 2002-08-09 | 2011-01-11 | Reflexion Networks, Inc. | System and method for controlling access to an electronic message recipient |
US8239471B2 (en) | 2002-08-09 | 2012-08-07 | Reflexion Networks, Inc. | System and method for controlling access to an electronic message recipient |
US20060156017A1 (en) * | 2002-08-09 | 2006-07-13 | Mcisaac Joseph E | System and method for controlling access to an electronic message recipient |
US10972429B2 (en) | 2002-08-09 | 2021-04-06 | Reflexion Networks, Inc. | Electronic message identifier aliasing |
US10686757B2 (en) | 2002-08-09 | 2020-06-16 | Reflexion Networks, Inc. | Electronic message address aliasing |
US8850555B2 (en) | 2002-08-09 | 2014-09-30 | Reflexion Networks, Inc. | System and method for controlling access to an electronic message recipient |
US20070266250A1 (en) * | 2003-01-22 | 2007-11-15 | Werner Kampert | Mobile Data Transmission Method and System |
US10652745B2 (en) | 2003-02-28 | 2020-05-12 | Apple Inc. | System and method for filtering access points presented to a user and locking onto an access point |
US8522315B2 (en) | 2003-03-14 | 2013-08-27 | Thomson Licensing | Automatic configuration of client terminal in public hot spot |
US20060173844A1 (en) * | 2003-03-14 | 2006-08-03 | Junbiao Zhang | Automatic configuration of client terminal in public hot spot |
WO2004084465A3 (en) * | 2003-03-14 | 2005-05-19 | Thomson Licensing Sa | Automatic configuration of client terminal in public hot spot |
US10320840B2 (en) | 2003-04-03 | 2019-06-11 | Ol Security Limited Liability Company | Spoofing detection for a wireless system |
US10581913B2 (en) | 2003-04-03 | 2020-03-03 | Ozmo Licensing Llc | Spoofing detection |
US20150334131A1 (en) * | 2003-04-03 | 2015-11-19 | Tekla Pehr Llc | Spoofing Detection |
US9800612B2 (en) * | 2003-04-03 | 2017-10-24 | Ol Security Limited Liability Company | Spoofing detection |
US9576111B2 (en) * | 2003-04-29 | 2017-02-21 | Assa Abloy Ab | Uniform modular framework for a host computer system |
US20140359301A1 (en) * | 2003-04-29 | 2014-12-04 | Assa Abloy Ab | Uniform modular framework for a host computer system |
US7088989B2 (en) * | 2003-05-07 | 2006-08-08 | Nokia Corporation | Mobile user location privacy solution based on the use of multiple identities |
US20040224664A1 (en) * | 2003-05-07 | 2004-11-11 | Nokia Corporation | Mobile user location privacy solution based on the use of multiple identities |
US7885190B1 (en) | 2003-05-12 | 2011-02-08 | Sourcefire, Inc. | Systems and methods for determining characteristics of a network based on flow analysis |
US7949732B1 (en) * | 2003-05-12 | 2011-05-24 | Sourcefire, Inc. | Systems and methods for determining characteristics of a network and enforcing policy |
US7801980B1 (en) | 2003-05-12 | 2010-09-21 | Sourcefire, Inc. | Systems and methods for determining characteristics of a network |
US7496662B1 (en) | 2003-05-12 | 2009-02-24 | Sourcefire, Inc. | Systems and methods for determining characteristics of a network and assessing confidence |
US7467205B1 (en) | 2003-05-12 | 2008-12-16 | Sourcefire, Inc. | Systems and methods for identifying the client applications of a network |
US8578002B1 (en) | 2003-05-12 | 2013-11-05 | Sourcefire, Inc. | Systems and methods for determining characteristics of a network and enforcing policy |
US7716742B1 (en) | 2003-05-12 | 2010-05-11 | Sourcefire, Inc. | Systems and methods for determining characteristics of a network and analyzing vulnerabilities |
US7730175B1 (en) | 2003-05-12 | 2010-06-01 | Sourcefire, Inc. | Systems and methods for identifying the services of a network |
US7373553B2 (en) * | 2003-05-21 | 2008-05-13 | Hewlett-Packard Development Company, L.P. | Computer support network with customer portal to monitor incident-handling status by vendor's computer service system |
US20050198556A1 (en) * | 2003-05-21 | 2005-09-08 | Tripp Travis S. | Computer support network with customer portal to monitor incident-handling status by vendor's computer service system |
US20060242286A1 (en) * | 2003-05-21 | 2006-10-26 | Joshua Hawkins | Systems and methods for controlling error reporting and resolution |
US9069666B2 (en) | 2003-05-21 | 2015-06-30 | Hewlett-Packard Development Company, L.P. | Systems and methods for controlling error reporting and resolution |
US7987449B1 (en) * | 2003-05-22 | 2011-07-26 | Hewlett-Packard Development Company, L.P. | Network for lifecycle management of firmware and software in electronic devices |
US20050114504A1 (en) * | 2003-07-09 | 2005-05-26 | Sunil Marolia | Carrier network capable of conducting remote diagnostics in a mobile handset |
US7395423B1 (en) * | 2003-08-25 | 2008-07-01 | Nortel Networks Limited | Security association storage and recovery in group key management |
US20060149844A1 (en) * | 2003-09-05 | 2006-07-06 | International Business Machines Corporation | Automatic mobile device detection |
US7908379B2 (en) * | 2003-09-05 | 2011-03-15 | International Business Machines Corporation | Automatic mobile device detection |
US20050097174A1 (en) * | 2003-10-14 | 2005-05-05 | Daniell W. T. | Filtered email differentiation |
US20050080860A1 (en) * | 2003-10-14 | 2005-04-14 | Daniell W. Todd | Phonetic filtering of undesired email messages |
US20050091321A1 (en) * | 2003-10-14 | 2005-04-28 | Daniell W. T. | Identifying undesired email messages having attachments |
US20100077051A1 (en) * | 2003-10-14 | 2010-03-25 | At&T Intellectual Property I, L.P. | Phonetic Filtering of Undesired Email Messages |
US7930351B2 (en) | 2003-10-14 | 2011-04-19 | At&T Intellectual Property I, L.P. | Identifying undesired email messages having attachments |
US7949718B2 (en) | 2003-10-14 | 2011-05-24 | At&T Intellectual Property I, L.P. | Phonetic filtering of undesired email messages |
US7664812B2 (en) | 2003-10-14 | 2010-02-16 | At&T Intellectual Property I, L.P. | Phonetic filtering of undesired email messages |
US20050080642A1 (en) * | 2003-10-14 | 2005-04-14 | Daniell W. Todd | Consolidated email filtering user interface |
US7610341B2 (en) | 2003-10-14 | 2009-10-27 | At&T Intellectual Property I, L.P. | Filtered email differentiation |
US9301128B2 (en) | 2004-02-20 | 2016-03-29 | Nuance Communications, Inc. | Call intercept methods, such as for customer self-support on a mobile device |
US20050216956A1 (en) * | 2004-03-24 | 2005-09-29 | Arbor Networks, Inc. | Method and system for authentication event security policy generation |
US8146160B2 (en) * | 2004-03-24 | 2012-03-27 | Arbor Networks, Inc. | Method and system for authentication event security policy generation |
US9191365B2 (en) | 2004-03-24 | 2015-11-17 | Arbor Networks, Inc. | Method and system for authentication event security policy generation |
US7650409B2 (en) * | 2004-04-12 | 2010-01-19 | Nokia Siemens Networks Oy | System and method for enabling authorization of a network device using attribute certificates |
US20050228886A1 (en) * | 2004-04-12 | 2005-10-13 | Nokia, Inc. | System and method for enabling authorization of a network device using attribute certificates |
US20060265446A1 (en) * | 2004-04-14 | 2006-11-23 | Ipass Inc. | Dynamic executable |
US7836121B2 (en) * | 2004-04-14 | 2010-11-16 | Ipass Inc. | Dynamic executable |
US8578361B2 (en) | 2004-04-21 | 2013-11-05 | Palm, Inc. | Updating an electronic device with update agent code |
WO2005117356A3 (en) * | 2004-05-24 | 2009-04-16 | Toshiba America Res Inc | Quarantine networking |
US20060112433A1 (en) * | 2004-05-25 | 2006-05-25 | Mcisaac Joseph | System and method for controlling access to an electronic message recipient |
US20110219432A1 (en) * | 2004-05-25 | 2011-09-08 | Reflexion Networks, Inc | System and Method for Controlling Access to an Electronic Message Recipient |
US8484749B2 (en) | 2004-05-25 | 2013-07-09 | Raytheon Company | System and method for controlling access to an electronic message recipient |
US7917961B2 (en) * | 2004-05-25 | 2011-03-29 | Reflexion Networks, Inc. | System and method for controlling access to an electronic message recipient |
US9569194B2 (en) | 2004-06-03 | 2017-02-14 | Microsoft Technology Licensing, Llc | Virtual application manager |
US20060031529A1 (en) * | 2004-06-03 | 2006-02-09 | Keith Robert O Jr | Virtual application manager |
US9357031B2 (en) | 2004-06-03 | 2016-05-31 | Microsoft Technology Licensing, Llc | Applications as a service |
US8812613B2 (en) | 2004-06-03 | 2014-08-19 | Maxsp Corporation | Virtual application manager |
US20060047716A1 (en) * | 2004-06-03 | 2006-03-02 | Keith Robert O Jr | Transaction based virtual file system optimized for high-latency network connections |
US7908339B2 (en) | 2004-06-03 | 2011-03-15 | Maxsp Corporation | Transaction based virtual file system optimized for high-latency network connections |
US20060047946A1 (en) * | 2004-07-09 | 2006-03-02 | Keith Robert O Jr | Distributed operating system management |
US7664834B2 (en) | 2004-07-09 | 2010-02-16 | Maxsp Corporation | Distributed operating system management |
US7756885B2 (en) | 2004-07-26 | 2010-07-13 | Sourcefire, Inc. | Methods and systems for multi-pattern searching |
US20080133523A1 (en) * | 2004-07-26 | 2008-06-05 | Sourcefire, Inc. | Methods and systems for multi-pattern searching |
US7996424B2 (en) | 2004-07-26 | 2011-08-09 | Sourcefire, Inc. | Methods and systems for multi-pattern searching |
US7539681B2 (en) | 2004-07-26 | 2009-05-26 | Sourcefire, Inc. | Methods and systems for multi-pattern searching |
US20080276316A1 (en) * | 2004-07-29 | 2008-11-06 | Roelker Daniel J | Intrusion detection strategies for hypertext transport protocol |
US7496962B2 (en) | 2004-07-29 | 2009-02-24 | Sourcefire, Inc. | Intrusion detection strategies for hypertext transport protocol |
WO2006010791A1 (en) * | 2004-07-30 | 2006-02-02 | Nokia Corporation | Method for the monitoring of system security in electronic devices |
US20060026676A1 (en) * | 2004-07-30 | 2006-02-02 | Nokia Corporation | Method for the monitoring of system security in electronic devices |
US7506799B2 (en) | 2004-07-30 | 2009-03-24 | Nokia Corporation | Method for the monitoring of system security in electronic devices |
US7707628B2 (en) * | 2004-08-04 | 2010-04-27 | Fuji Xerox Co., Ltd. | Network system, internal server, terminal device, storage medium and packet relay method |
US20060031929A1 (en) * | 2004-08-04 | 2006-02-09 | Fuji Xerox Co., Ltd. | Network system, internal server, terminal device, storage medium and packet relay method |
WO2006017756A2 (en) * | 2004-08-05 | 2006-02-16 | Motorola, Inc. | Method and system for controlling access to a wireless client device |
WO2006017756A3 (en) * | 2004-08-05 | 2007-08-09 | Motorola Inc | Method and system for controlling access to a wireless client device |
US8526940B1 (en) | 2004-08-17 | 2013-09-03 | Palm, Inc. | Centralized rules repository for smart phone customer care |
US20060048218A1 (en) * | 2004-09-02 | 2006-03-02 | International Business Machines Corporation | System and method for on-demand dynamic control of security policies/rules by a client computing device |
US7475424B2 (en) * | 2004-09-02 | 2009-01-06 | International Business Machines Corporation | System and method for on-demand dynamic control of security policies/rules by a client computing device |
US20090044263A1 (en) * | 2004-09-02 | 2009-02-12 | International Business Machines Corporation | System and Method for On-Demand Dynamic Control of Security Policies/Rules by a Client Computing Device |
US7882540B2 (en) * | 2004-09-02 | 2011-02-01 | International Business Machines Corporation | System and method for on-demand dynamic control of security policies/rules by a client computing device |
US8776206B1 (en) * | 2004-10-18 | 2014-07-08 | Gtb Technologies, Inc. | Method, a system, and an apparatus for content security in computer networks |
EP1650633A1 (en) * | 2004-10-21 | 2006-04-26 | Lucent Technologies Inc. | Method, apparatus and system for enforcing security policies |
US20060101028A1 (en) * | 2004-10-21 | 2006-05-11 | Banks Lanette E | Method and apparatus for efficient electronic document management |
US9032192B2 (en) * | 2004-10-28 | 2015-05-12 | Broadcom Corporation | Method and system for policy based authentication |
US20060095953A1 (en) * | 2004-10-28 | 2006-05-04 | Frank Edward H | Method and system for policy based authentication |
US9609024B2 (en) | 2004-10-28 | 2017-03-28 | Nxp, B.V. | Method and system for policy based authentication |
US20070169169A1 (en) * | 2004-12-28 | 2007-07-19 | Huawei Technologies Co., Ltd. | Method, System and Apparatus for Implementing Data Service Security in Mobile Communication System |
US9137113B2 (en) * | 2005-01-22 | 2015-09-15 | Hewlett-Packard Development Company, L.P. | System and method for dynamically allocating resources |
US20060190986A1 (en) * | 2005-01-22 | 2006-08-24 | Mont Marco C | System and method for dynamically allocating resources |
US20060168455A1 (en) * | 2005-01-24 | 2006-07-27 | International Business Machines Corporation | Secure computer password system and method |
US7669057B2 (en) * | 2005-01-24 | 2010-02-23 | International Business Machines Corporation | Secure computer password system and method |
US20060184654A1 (en) * | 2005-02-11 | 2006-08-17 | Microsoft Corporation | Server-functionality role extensibility model |
US7536449B2 (en) * | 2005-02-11 | 2009-05-19 | Microsoft Corporation | Server-functionality role extensibility model |
US8234238B2 (en) | 2005-03-04 | 2012-07-31 | Maxsp Corporation | Computer hardware and software diagnostic and report system |
US7624086B2 (en) | 2005-03-04 | 2009-11-24 | Maxsp Corporation | Pre-install compliance system |
US20070233633A1 (en) * | 2005-03-04 | 2007-10-04 | Keith Robert O Jr | Computer hardware and software diagnostic and report system |
US8589323B2 (en) | 2005-03-04 | 2013-11-19 | Maxsp Corporation | Computer hardware and software diagnostic and report system incorporating an expert system and agents |
US20060224544A1 (en) * | 2005-03-04 | 2006-10-05 | Keith Robert O Jr | Pre-install compliance system |
US7512584B2 (en) | 2005-03-04 | 2009-03-31 | Maxsp Corporation | Computer hardware and software diagnostic and report system |
US20060206440A1 (en) * | 2005-03-09 | 2006-09-14 | Sun Microsystems, Inc. | Automated policy constraint matching for computing resources |
US7478419B2 (en) * | 2005-03-09 | 2009-01-13 | Sun Microsystems, Inc. | Automated policy constraint matching for computing resources |
US7865828B1 (en) * | 2005-04-22 | 2011-01-04 | Mcafee, Inc. | System, method and computer program product for updating help content via a network |
US8443094B2 (en) * | 2005-05-12 | 2013-05-14 | Oracle America, Inc. | Computer system comprising a communication device |
US20060259539A1 (en) * | 2005-05-12 | 2006-11-16 | Sun Microsystems, Inc. | Cumputer system comprising a communication device |
US20140080461A1 (en) * | 2005-06-24 | 2014-03-20 | Nuance Communications, Inc. | Local intercept methods, such as applications for providing customer assistance for training, information calls and diagnostics |
US9131047B2 (en) * | 2005-06-24 | 2015-09-08 | Nuance Communications, Inc. | Local intercept methods, such as applications for providing customer assistance for training, information calls and diagnostics |
US10803170B2 (en) * | 2005-06-30 | 2020-10-13 | Webroot Inc. | Methods and apparatus for dealing with malware |
US10382263B2 (en) | 2005-06-30 | 2019-08-13 | Microsoft Technology Licensing, Llc | Enforcing device settings for mobile devices |
US9929904B2 (en) | 2005-06-30 | 2018-03-27 | Microsoft Technology Licensing, Llc | Enforcing device settings for mobile devices |
US8010997B2 (en) * | 2005-06-30 | 2011-08-30 | Microsoft Corporation | Enforcing device settings for mobile devices |
US11379582B2 (en) | 2005-06-30 | 2022-07-05 | Webroot Inc. | Methods and apparatus for malware threat research |
US20070006289A1 (en) * | 2005-06-30 | 2007-01-04 | Microsoft Corporation | Enforcing device settings for mobile devices |
US20150007327A1 (en) * | 2005-06-30 | 2015-01-01 | Webroot Solutions Ltd | Methods and apparatus for dealing with malware |
US9014673B2 (en) | 2005-06-30 | 2015-04-21 | Microsoft Technology Licensing, Llc | Enforcing device settings for mobile devices |
US20070118759A1 (en) * | 2005-10-07 | 2007-05-24 | Sheppard Scott K | Undesirable email determination |
US20070266422A1 (en) * | 2005-11-01 | 2007-11-15 | Germano Vernon P | Centralized Dynamic Security Control for a Mobile Device Network |
WO2007053848A1 (en) * | 2005-11-01 | 2007-05-10 | Mobile Armor, Llc | Centralized dynamic security control for a mobile device network |
US8046833B2 (en) | 2005-11-14 | 2011-10-25 | Sourcefire, Inc. | Intrusion event correlation with network discovery information |
US20080244741A1 (en) * | 2005-11-14 | 2008-10-02 | Eric Gustafson | Intrusion event correlation with network discovery information |
US8289882B2 (en) | 2005-11-14 | 2012-10-16 | Sourcefire, Inc. | Systems and methods for modifying network map attributes |
US20100205675A1 (en) * | 2005-11-14 | 2010-08-12 | Sourcefire, Inc. | Systems and methods for modifying network map attributes |
US7733803B2 (en) | 2005-11-14 | 2010-06-08 | Sourcefire, Inc. | Systems and methods for modifying network map attributes |
US20080198856A1 (en) * | 2005-11-14 | 2008-08-21 | Vogel William A | Systems and methods for modifying network map attributes |
US9262456B2 (en) | 2005-12-02 | 2016-02-16 | Salesforce.Com, Inc. | Method and system for managing recent data in a mobile device linked to an on-demand service |
US10402382B2 (en) | 2005-12-02 | 2019-09-03 | Salesforce.Com, Inc. | Method and system for managing recent data in a mobile device linked to an on-demand service |
US8627452B2 (en) | 2005-12-13 | 2014-01-07 | Cupp Computing As | System and method for providing network security to mobile devices |
US10621344B2 (en) * | 2005-12-13 | 2020-04-14 | Cupp Computing As | System and method for providing network security to mobile devices |
US10313368B2 (en) | 2005-12-13 | 2019-06-04 | Cupp Computing As | System and method for providing data and device security between external and host devices |
US20230252142A1 (en) * | 2005-12-13 | 2023-08-10 | Cupp Computing As | System and method for providing network security to mobile devices |
US11822653B2 (en) * | 2005-12-13 | 2023-11-21 | Cupp Computing As | System and method for providing network security to mobile devices |
US8381297B2 (en) * | 2005-12-13 | 2013-02-19 | Yoggie Security Systems Ltd. | System and method for providing network security to mobile devices |
US20150215282A1 (en) * | 2005-12-13 | 2015-07-30 | Cupp Computing As | System and method for implementing content and network security inside a chip |
US20140090046A1 (en) * | 2005-12-13 | 2014-03-27 | Yoggie Security Systems Ltd. | System and method for providing network security to mobile devices |
US11461466B2 (en) | 2005-12-13 | 2022-10-04 | Cupp Computing As | System and method for providing network security to mobile devices |
US9497622B2 (en) * | 2005-12-13 | 2016-11-15 | Cupp Computing As | System and method for providing network security to mobile devices |
US9747444B1 (en) * | 2005-12-13 | 2017-08-29 | Cupp Computing As | System and method for providing network security to mobile devices |
US9781164B2 (en) * | 2005-12-13 | 2017-10-03 | Cupp Computing As | System and method for providing network security to mobile devices |
US10541969B2 (en) * | 2005-12-13 | 2020-01-21 | Cupp Computing As | System and method for implementing content and network security inside a chip |
AU2012241073B2 (en) * | 2005-12-13 | 2014-10-09 | Cupp Computing As | System and method for providing network security to mobile devices |
US9313606B2 (en) | 2005-12-13 | 2016-04-12 | Nuance Communications, Inc. | Method for performing interactive services on mobile device, such as time or location initiated interactive services |
US20070199060A1 (en) * | 2005-12-13 | 2007-08-23 | Shlomo Touboul | System and method for providing network security to mobile devices |
US10839075B2 (en) * | 2005-12-13 | 2020-11-17 | Cupp Computing As | System and method for providing network security to mobile devices |
US20080276302A1 (en) * | 2005-12-13 | 2008-11-06 | Yoggie Security Systems Ltd. | System and Method for Providing Data and Device Security Between External and Host Devices |
US10089462B2 (en) * | 2005-12-13 | 2018-10-02 | Cupp Computing As | System and method for providing network security to mobile devices |
WO2007069245A3 (en) * | 2005-12-13 | 2009-04-16 | Yoggie Security Systems Ltd | System and method for providing network security to mobile devices |
US10417421B2 (en) * | 2005-12-13 | 2019-09-17 | Cupp Computing As | System and method for providing network security to mobile devices |
JP2007193812A (en) * | 2006-01-19 | 2007-08-02 | Internatl Business Mach Corp <Ibm> | System and method for communication between hosts |
US20070168454A1 (en) * | 2006-01-19 | 2007-07-19 | International Business Machines Corporation | System and method for host-to-host communication |
US9621587B2 (en) * | 2006-02-27 | 2017-04-11 | Blackberry Limited | Method of customizing a standardized IT policy |
US20140215554A1 (en) * | 2006-02-27 | 2014-07-31 | Blackberry Limited | Method of customizing a standardized it policy |
US9112897B2 (en) | 2006-03-30 | 2015-08-18 | Advanced Network Technology Laboratories Pte Ltd. | System and method for securing a network session |
US20070234061A1 (en) * | 2006-03-30 | 2007-10-04 | Teo Wee T | System And Method For Providing Transactional Security For An End-User Device |
US20090037976A1 (en) * | 2006-03-30 | 2009-02-05 | Wee Tuck Teo | System and Method for Securing a Network Session |
US20110209222A1 (en) * | 2006-03-30 | 2011-08-25 | Safecentral, Inc. | System and method for providing transactional security for an end-user device |
US8434148B2 (en) | 2006-03-30 | 2013-04-30 | Advanced Network Technology Laboratories Pte Ltd. | System and method for providing transactional security for an end-user device |
US8893111B2 (en) * | 2006-03-31 | 2014-11-18 | The Invention Science Fund I, Llc | Event evaluation using extrinsic state information |
US20070234270A1 (en) * | 2006-03-31 | 2007-10-04 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Event evaluation using extrinsic state information |
US20070257354A1 (en) * | 2006-03-31 | 2007-11-08 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Code installation decisions for improving aggregate functionality |
US20100317324A1 (en) * | 2006-05-18 | 2010-12-16 | Research In Motion Limited | Automatic security action invocation for mobile communications device |
US7809353B2 (en) | 2006-05-18 | 2010-10-05 | Research In Motion Limited | Automatic security action invocation for mobile communications device |
WO2007134448A1 (en) * | 2006-05-18 | 2007-11-29 | Research In Motion Limited | Automatic security action invocation for mobile communications device |
US20080009264A1 (en) * | 2006-05-18 | 2008-01-10 | Research In Motion Limited | Automatic security action invocation for mobile communications device |
US8667306B2 (en) | 2006-05-18 | 2014-03-04 | Blackberry Limited | Automatic security action invocation for mobile communications device |
US8140863B2 (en) | 2006-05-18 | 2012-03-20 | Research In Motion Limited | Automatic security action invocation for mobile communications device |
US9077485B2 (en) * | 2006-05-18 | 2015-07-07 | Blackberry Limited | Automatic security action invocation for mobile communications device |
US9603010B2 (en) | 2006-05-18 | 2017-03-21 | Blackberry Limited | Automatic security action invocation for mobile communications device |
US20070298767A1 (en) * | 2006-05-18 | 2007-12-27 | Research In Motion Limited | Automatic security action invocation for mobile communications device |
US20080005561A1 (en) * | 2006-05-18 | 2008-01-03 | Research In Motion Limited | Automatic security action invocation for mobile communications device |
US9893961B2 (en) | 2006-05-24 | 2018-02-13 | Microsoft Technology Licensing, Llc | Applications and services as a bundle |
US20070274315A1 (en) * | 2006-05-24 | 2007-11-29 | Keith Robert O | System for and method of securing a network utilizing credentials |
US10511495B2 (en) | 2006-05-24 | 2019-12-17 | Microsoft Technology Licensing, Llc | Applications and services as a bundle |
US9160735B2 (en) | 2006-05-24 | 2015-10-13 | Microsoft Technology Licensing, Llc | System for and method of securing a network utilizing credentials |
US8811396B2 (en) | 2006-05-24 | 2014-08-19 | Maxsp Corporation | System for and method of securing a network utilizing credentials |
US9906418B2 (en) | 2006-05-24 | 2018-02-27 | Microsoft Technology Licensing, Llc | Applications and services as a bundle |
US9584480B2 (en) | 2006-05-24 | 2017-02-28 | Microsoft Technology Licensing, Llc | System for and method of securing a network utilizing credentials |
FR2901941A1 (en) * | 2006-06-06 | 2007-12-07 | France Telecom | General purpose computing work station e.g. personal computer, diagnosing method for e.g. electronic cafe, involves qualifying computing environment to establish situation state, and editing state in form of information report |
US8893110B2 (en) | 2006-06-08 | 2014-11-18 | Qualcomm Incorporated | Device management in a network |
US8032928B2 (en) * | 2006-07-14 | 2011-10-04 | At&T Intellectual Property I, L.P. | Methods, devices, and computer program products for controlling wireless connection access |
US20080086761A1 (en) * | 2006-07-14 | 2008-04-10 | At&T Intellectual Property, Inc. | Methods, devices, and computer program products for controlling wireless connection access |
US8886934B2 (en) * | 2006-07-26 | 2014-11-11 | Cisco Technology, Inc. | Authorizing physical access-links for secure network connections |
US20080028225A1 (en) * | 2006-07-26 | 2008-01-31 | Toerless Eckert | Authorizing physical access-links for secure network connections |
US8752044B2 (en) | 2006-07-27 | 2014-06-10 | Qualcomm Incorporated | User experience and dependency management in a mobile device |
US20080127342A1 (en) * | 2006-07-27 | 2008-05-29 | Sourcefire, Inc. | Device, system and method for analysis of fragments in a fragment train |
US7948988B2 (en) | 2006-07-27 | 2011-05-24 | Sourcefire, Inc. | Device, system and method for analysis of fragments in a fragment train |
US7701945B2 (en) | 2006-08-10 | 2010-04-20 | Sourcefire, Inc. | Device, system and method for analysis of segments in a transmission control protocol (TCP) session |
US20100205650A1 (en) * | 2006-09-07 | 2010-08-12 | Cwi | Method of performing software updates (installations), on networked 32/64-bit microsoft computers in an automated environment without introducing a possible security threat |
WO2008031078A2 (en) * | 2006-09-07 | 2008-03-13 | Black Lab Security Systems, Inc. | Method of performing software updates (installations), on networked 32/64-bit microsoft computers in an automated environment without introducing a possible security threat |
WO2008031078A3 (en) * | 2006-09-07 | 2008-09-18 | Black Lab Security Systems Inc | Method of performing software updates (installations), on networked 32/64-bit microsoft computers in an automated environment without introducing a possible security threat |
US8375418B2 (en) | 2006-09-07 | 2013-02-12 | Cw International, Llc | Method of performing software updates (installations), on networked 32/64-bit microsoft computers in an automated environment without introducing a possible security threat |
US10979459B2 (en) | 2006-09-13 | 2021-04-13 | Sophos Limited | Policy management |
US9317506B2 (en) | 2006-09-22 | 2016-04-19 | Microsoft Technology Licensing, Llc | Accelerated data transfer using common prior data segments |
US20110047118A1 (en) * | 2006-09-22 | 2011-02-24 | Maxsp Corporation | Secure virtual private network utilizing a diagnostics policy and diagnostics engine to establish a secure network connection |
US20080077622A1 (en) * | 2006-09-22 | 2008-03-27 | Keith Robert O | Method of and apparatus for managing data utilizing configurable policies and schedules |
WO2008039395A2 (en) * | 2006-09-22 | 2008-04-03 | Maxsp Corporation | Secure virtual private network |
US20080127294A1 (en) * | 2006-09-22 | 2008-05-29 | Keith Robert O | Secure virtual private network |
WO2008039395A3 (en) * | 2006-09-22 | 2008-08-07 | Maxsp Corp | Secure virtual private network |
US8099378B2 (en) | 2006-09-22 | 2012-01-17 | Maxsp Corporation | Secure virtual private network utilizing a diagnostics policy and diagnostics engine to establish a secure network connection |
US7840514B2 (en) | 2006-09-22 | 2010-11-23 | Maxsp Corporation | Secure virtual private network utilizing a diagnostics policy and diagnostics engine to establish a secure network connection |
US20080077630A1 (en) * | 2006-09-22 | 2008-03-27 | Keith Robert O | Accelerated data transfer using common prior data segments |
US8001607B2 (en) * | 2006-09-27 | 2011-08-16 | Direct Computer Resources, Inc. | System and method for obfuscation of data across an enterprise |
US20080275829A1 (en) * | 2006-09-27 | 2008-11-06 | Direct Computer Resources, Inc. | System and method for obfuscation of data across an enterprise |
US20080196102A1 (en) * | 2006-10-06 | 2008-08-14 | Sourcefire, Inc. | Device, system and method for use of micro-policies in intrusion detection/prevention |
US20080091815A1 (en) * | 2006-10-16 | 2008-04-17 | Hewlett-Packard Development Company, L.P. | Diagnostic agent in device that retrieves key performance indicators |
US9331928B2 (en) * | 2006-10-16 | 2016-05-03 | Qualcomm Incorporated | Diagnostic agent in device that retrieves key performance indicators |
US20110071999A1 (en) * | 2006-12-12 | 2011-03-24 | Amit Kumar | Selecting and presenting user search results based on user information |
US8341144B2 (en) * | 2006-12-12 | 2012-12-25 | Yahoo! Inc. | Selecting and presenting user search results based on user information |
US7844686B1 (en) | 2006-12-21 | 2010-11-30 | Maxsp Corporation | Warm standby appliance |
US8745171B1 (en) | 2006-12-21 | 2014-06-03 | Maxsp Corporation | Warm standby appliance |
US9645900B2 (en) | 2006-12-21 | 2017-05-09 | Microsoft Technology Licensing, Llc | Warm standby appliance |
US8423821B1 (en) | 2006-12-21 | 2013-04-16 | Maxsp Corporation | Virtual recovery server |
US20190080114A1 (en) * | 2007-01-19 | 2019-03-14 | Blackberry Limited | Selectively wiping a remote device |
US10162983B2 (en) * | 2007-01-19 | 2018-12-25 | Blackberry Limited | Selectively wiping a remote device |
US20170206378A1 (en) * | 2007-01-19 | 2017-07-20 | Blackberry Limited | Selectively wiping a remote device |
US11030338B2 (en) * | 2007-01-19 | 2021-06-08 | Blackberry Limited | Selectively wiping a remote device |
US9652629B2 (en) * | 2007-01-19 | 2017-05-16 | Blackberry Limited | Selectively wiping a remote device |
US20150339495A1 (en) * | 2007-01-19 | 2015-11-26 | Blackberry Limited | Selectively wiping a remote device |
US10540520B2 (en) * | 2007-01-19 | 2020-01-21 | Blackberry Limited | Selectively wiping a remote device |
US20090013407A1 (en) * | 2007-02-14 | 2009-01-08 | Brad Doctor | Intrusion detection system/intrusion prevention system with enhanced performance |
US8069352B2 (en) | 2007-02-28 | 2011-11-29 | Sourcefire, Inc. | Device, system and method for timestamp analysis of segments in a transmission control protocol (TCP) session |
US10419459B2 (en) | 2007-03-05 | 2019-09-17 | Cupp Computing As | System and method for providing data and device security between external and host devices |
US10567403B2 (en) | 2007-03-05 | 2020-02-18 | Cupp Computing As | System and method for providing data and device security between external and host devices |
US11652829B2 (en) | 2007-03-05 | 2023-05-16 | Cupp Computing As | System and method for providing data and device security between external and host devices |
US10999302B2 (en) | 2007-03-05 | 2021-05-04 | Cupp Computing As | System and method for providing data and device security between external and host devices |
TWI383637B (en) * | 2007-03-07 | 2013-01-21 | Qualcomm Inc | Systems and methods for controlling service access on a wireless communication device |
KR101141330B1 (en) * | 2007-03-07 | 2012-05-23 | 콸콤 인코포레이티드 | Systems and methods for controlling service access on a wireless communication device |
US8127353B2 (en) | 2007-04-30 | 2012-02-28 | Sourcefire, Inc. | Real-time user awareness for a computer network |
US20110185408A1 (en) * | 2007-04-30 | 2011-07-28 | Hewlett-Packard Development Company, L.P. | Security based on network environment |
US20080271150A1 (en) * | 2007-04-30 | 2008-10-30 | Paul Boerger | Security based on network environment |
US20080276319A1 (en) * | 2007-04-30 | 2008-11-06 | Sourcefire, Inc. | Real-time user awareness for a computer network |
GB2461460B (en) * | 2007-04-30 | 2012-05-16 | Hewlett Packard Development Co | Security based on network environment |
US10284603B2 (en) | 2007-05-30 | 2019-05-07 | Cupp Computing As | System and method for providing network and computer firewall protection with dynamic address isolation to a device |
US20090126003A1 (en) * | 2007-05-30 | 2009-05-14 | Yoggie Security Systems, Inc. | System And Method For Providing Network And Computer Firewall Protection With Dynamic Address Isolation To A Device |
US9756079B2 (en) | 2007-05-30 | 2017-09-05 | Cupp Computing As | System and method for providing network and computer firewall protection with dynamic address isolation to a device |
US11757941B2 (en) | 2007-05-30 | 2023-09-12 | CUPP Computer AS | System and method for providing network and computer firewall protection with dynamic address isolation to a device |
US12255926B2 (en) | 2007-05-30 | 2025-03-18 | Cupp Computing As | System and method for providing network and computer firewall protection with dynamic address isolation to a device |
US8365272B2 (en) | 2007-05-30 | 2013-01-29 | Yoggie Security Systems Ltd. | System and method for providing network and computer firewall protection with dynamic address isolation to a device |
US10057295B2 (en) | 2007-05-30 | 2018-08-21 | Cupp Computing As | System and method for providing network and computer firewall protection with dynamic address isolation to a device |
US10904293B2 (en) | 2007-05-30 | 2021-01-26 | Cupp Computing As | System and method for providing network and computer firewall protection with dynamic address isolation to a device |
US10951659B2 (en) | 2007-05-30 | 2021-03-16 | Cupp Computing As | System and method for providing network and computer firewall protection with dynamic address isolation to a device |
US20180302444A1 (en) | 2007-05-30 | 2018-10-18 | Cupp Computing As | System and method for providing network and computer firewall protection with dynamic address isolation to a device |
US9391956B2 (en) | 2007-05-30 | 2016-07-12 | Cupp Computing As | System and method for providing network and computer firewall protection with dynamic address isolation to a device |
US20150248562A1 (en) * | 2007-06-15 | 2015-09-03 | Blackberry Limited | Method and devices for providing secure data backup from a mobile communication device to an external computing device |
US9594916B2 (en) * | 2007-06-15 | 2017-03-14 | Blackberry Limited | Method and devices for providing secure data backup from a mobile communication device to an external computing device |
US20090007259A1 (en) * | 2007-06-29 | 2009-01-01 | Lauren Argott | Restricting Access to Information |
US8205093B2 (en) * | 2007-06-29 | 2012-06-19 | At&T Intellectual Property I, L.P. | Restricting access to information |
WO2009007985A3 (en) * | 2007-07-06 | 2009-04-16 | Elitecore Technologies Ltd | Identity and policy-based network security and management system and method |
WO2009007985A2 (en) * | 2007-07-06 | 2009-01-15 | Elitecore Technologies Limited | Identity and policy-based network security and management system and method |
US8984620B2 (en) | 2007-07-06 | 2015-03-17 | Cyberoam Technologies Pvt. Ltd. | Identity and policy-based network security and management system and method |
US20100100949A1 (en) * | 2007-07-06 | 2010-04-22 | Abhilash Vijay Sonwane | Identity and policy-based network security and management system and method |
US20090092057A1 (en) * | 2007-10-09 | 2009-04-09 | Latis Networks, Inc. | Network Monitoring System with Enhanced Performance |
US8645515B2 (en) | 2007-10-26 | 2014-02-04 | Maxsp Corporation | Environment manager |
US8307239B1 (en) | 2007-10-26 | 2012-11-06 | Maxsp Corporation | Disaster recovery appliance |
US9092374B2 (en) | 2007-10-26 | 2015-07-28 | Maxsp Corporation | Method of and system for enhanced data storage |
US9448858B2 (en) | 2007-10-26 | 2016-09-20 | Microsoft Technology Licensing, Llc | Environment manager |
US8175418B1 (en) | 2007-10-26 | 2012-05-08 | Maxsp Corporation | Method of and system for enhanced data storage |
US8422833B2 (en) | 2007-10-26 | 2013-04-16 | Maxsp Corporation | Method of and system for enhanced data storage |
US20090187763A1 (en) * | 2008-01-22 | 2009-07-23 | Authentium, Inc. | System and method for protecting data accessed through a network connection |
US8918865B2 (en) | 2008-01-22 | 2014-12-23 | Wontok, Inc. | System and method for protecting data accessed through a network connection |
WO2009094372A1 (en) * | 2008-01-22 | 2009-07-30 | Authentium, Inc. | System and method for protecting data accessed through a network connection |
US20090187991A1 (en) * | 2008-01-22 | 2009-07-23 | Authentium, Inc. | Trusted secure desktop |
US8225404B2 (en) | 2008-01-22 | 2012-07-17 | Wontok, Inc. | Trusted secure desktop |
US8869270B2 (en) | 2008-03-26 | 2014-10-21 | Cupp Computing As | System and method for implementing content and network security inside a chip |
US20090249465A1 (en) * | 2008-03-26 | 2009-10-01 | Shlomo Touboul | System and Method for Implementing Content and Network Security Inside a Chip |
US12192170B2 (en) | 2008-03-26 | 2025-01-07 | Cupp Computing As | System and method for implementing content and network security inside a chip |
US11757835B2 (en) | 2008-03-26 | 2023-09-12 | Cupp Computing As | System and method for implementing content and network security inside a chip |
US11050712B2 (en) | 2008-03-26 | 2021-06-29 | Cupp Computing As | System and method for implementing content and network security inside a chip |
US8474043B2 (en) | 2008-04-17 | 2013-06-25 | Sourcefire, Inc. | Speed and memory optimization of intrusion detection system (IDS) and intrusion prevention system (IPS) rule processing |
US20090262659A1 (en) * | 2008-04-17 | 2009-10-22 | Sourcefire, Inc. | Speed and memory optimization of intrusion detection system (IDS) and intrusion prevention system (IPS) rule processing |
US8645376B2 (en) * | 2008-05-02 | 2014-02-04 | Salesforce.Com, Inc. | Method and system for managing recent data in a mobile device linked to an on-demand service |
US20100088316A1 (en) * | 2008-05-02 | 2010-04-08 | Salesforce.Com, Inc. | Method and system for managing recent data in a mobile device linked to an on-demand service |
US11636076B2 (en) | 2008-05-02 | 2023-04-25 | Salesforce, Inc. | Method and system for managing recent data in a mobile device linked to an on-demand service |
US20090319771A1 (en) * | 2008-05-15 | 2009-12-24 | Qualcomm Incorporated | Context aware security |
US8788804B2 (en) * | 2008-05-15 | 2014-07-22 | Qualcomm Incorporated | Context aware security |
US8631488B2 (en) | 2008-08-04 | 2014-01-14 | Cupp Computing As | Systems and methods for providing security services during power management mode |
US9516040B2 (en) | 2008-08-04 | 2016-12-06 | Cupp Computing As | Systems and methods for providing security services during power management mode |
US9843595B2 (en) | 2008-08-04 | 2017-12-12 | Cupp Computing As | Systems and methods for providing security services during power management mode |
US10404722B2 (en) | 2008-08-04 | 2019-09-03 | Cupp Computing As | Systems and methods for providing security services during power management mode |
US11775644B2 (en) | 2008-08-04 | 2023-10-03 | Cupp Computing As | Systems and methods for providing security services during power management mode |
US20100037321A1 (en) * | 2008-08-04 | 2010-02-11 | Yoggie Security Systems Ltd. | Systems and Methods for Providing Security Services During Power Management Mode |
US10084799B2 (en) | 2008-08-04 | 2018-09-25 | Cupp Computing As | Systems and methods for providing security services during power management mode |
US10951632B2 (en) | 2008-08-04 | 2021-03-16 | Cupp Computing As | Systems and methods for providing security services during power management mode |
US9106683B2 (en) | 2008-08-04 | 2015-08-11 | Cupp Computing As | Systems and methods for providing security services during power management mode |
US11449613B2 (en) | 2008-08-04 | 2022-09-20 | Cupp Computing As | Systems and methods for providing security services during power management mode |
US11947674B2 (en) | 2008-08-04 | 2024-04-02 | Cupp Computing As | Systems and methods for providing security services during power management mode |
US9055094B2 (en) | 2008-10-08 | 2015-06-09 | Cisco Technology, Inc. | Target-based SMB and DCE/RPC processing for an intrusion detection system or intrusion prevention system |
US9450975B2 (en) | 2008-10-08 | 2016-09-20 | Cisco Technology, Inc. | Target-based SMB and DCE/RPC processing for an intrusion detection system or intrusion prevention system |
US8272055B2 (en) | 2008-10-08 | 2012-09-18 | Sourcefire, Inc. | Target-based SMB and DCE/RPC processing for an intrusion detection system or intrusion prevention system |
US20100088767A1 (en) * | 2008-10-08 | 2010-04-08 | Sourcefire, Inc. | Target-based smb and dce/rpc processing for an intrusion detection system or intrusion prevention system |
US20100095109A1 (en) * | 2008-10-14 | 2010-04-15 | Research In Motion Limited | Method for Managing Opaque Presence Indications Within a Presence Access Layer |
US8473733B2 (en) * | 2008-10-14 | 2013-06-25 | Research In Motion Limited | Method for managing opaque presence indications within a presence access layer |
US8312092B2 (en) | 2008-10-15 | 2012-11-13 | Research In Motion Limited | Use of persistent sessions by a presence access layer |
US8751584B2 (en) | 2008-10-16 | 2014-06-10 | Blackberry Limited | System for assignment of a service identifier as a mechanism for establishing a seamless profile in a contextually aware presence access layer |
US20100099387A1 (en) * | 2008-10-16 | 2010-04-22 | Research In Motion Limited | Controlling and/or Limiting Publication Through the Presence Access Layer |
US20100100617A1 (en) * | 2008-10-16 | 2010-04-22 | Research In Motion Limited | System for Assignment of a Service Identifier as a Mechanism for Establishing a Seamless Profile in a Contextually Aware Presence Access Layer |
US10417400B2 (en) | 2008-11-19 | 2019-09-17 | Cupp Computing As | Systems and methods for providing real time security and access monitoring of a removable media device |
US11604861B2 (en) | 2008-11-19 | 2023-03-14 | Cupp Computing As | Systems and methods for providing real time security and access monitoring of a removable media device |
US8789202B2 (en) | 2008-11-19 | 2014-07-22 | Cupp Computing As | Systems and methods for providing real time access monitoring of a removable media device |
US11036836B2 (en) | 2008-11-19 | 2021-06-15 | Cupp Computing As | Systems and methods for providing real time security and access monitoring of a removable media device |
US20100212012A1 (en) * | 2008-11-19 | 2010-08-19 | Yoggie Security Systems Ltd. | Systems and Methods for Providing Real Time Access Monitoring of a Removable Media Device |
US20100131754A1 (en) * | 2008-11-21 | 2010-05-27 | Research In Motion Limited | Apparatus, and an Associated Method, for Providing and Using Opaque Presence Indications in a Presence Service |
US8386769B2 (en) | 2008-11-21 | 2013-02-26 | Research In Motion Limited | Apparatus, and an associated method, for providing and using opaque presence indications in a presence service |
US20100138926A1 (en) * | 2008-12-02 | 2010-06-03 | Kashchenko Nadezhda V | Self-delegating security arrangement for portable information devices |
US8370946B2 (en) * | 2008-12-02 | 2013-02-05 | Kaspersky Lab Zao | Self-delegating security arrangement for portable information devices |
US7584508B1 (en) | 2008-12-31 | 2009-09-01 | Kaspersky Lab Zao | Adaptive security for information devices |
US7607174B1 (en) * | 2008-12-31 | 2009-10-20 | Kaspersky Lab Zao | Adaptive security for portable information devices |
US20150186675A1 (en) * | 2009-01-20 | 2015-07-02 | Microsoft Technology Licensing, Llc | Protecting content from third party using client-side security protection |
US9756080B2 (en) | 2009-01-20 | 2017-09-05 | Microsoft Technology Licensing, Llc | Protecting content from third party using client-side security protection |
US10044763B2 (en) | 2009-01-20 | 2018-08-07 | Microsoft Technology Licensing, Llc | Protecting content from third party using client-side security protection |
US9418244B2 (en) * | 2009-01-20 | 2016-08-16 | Microsoft Technology Licensing, Llc | Protecting content from third party using client-side security protection |
US11570309B2 (en) | 2009-01-28 | 2023-01-31 | Headwater Research Llc | Service design center for device assisted services |
US10771980B2 (en) | 2009-01-28 | 2020-09-08 | Headwater Research Llc | Communications device with secure data path processing agents |
US11985155B2 (en) | 2009-01-28 | 2024-05-14 | Headwater Research Llc | Communications device with secure data path processing agents |
US11968234B2 (en) | 2009-01-28 | 2024-04-23 | Headwater Research Llc | Wireless network service interfaces |
US12137004B2 (en) | 2009-01-28 | 2024-11-05 | Headwater Research Llc | Device group partitions and settlement platform |
US20190261222A1 (en) * | 2009-01-28 | 2019-08-22 | Headwater Research Llc | Security, Fraud Detection, and Fraud Mitigation in Device-Assisted Services Systems |
US12166596B2 (en) | 2009-01-28 | 2024-12-10 | Disney Enterprises, Inc. | Device-assisted services for protecting network capacity |
US11582593B2 (en) | 2009-01-28 | 2023-02-14 | Head Water Research Llc | Adapting network policies based on device service processor configuration |
US10848330B2 (en) | 2009-01-28 | 2020-11-24 | Headwater Research Llc | Device-assisted services for protecting network capacity |
US11219074B2 (en) | 2009-01-28 | 2022-01-04 | Headwater Research Llc | Enterprise access control and accounting allocation for access networks |
US10841839B2 (en) * | 2009-01-28 | 2020-11-17 | Headwater Research Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
US10834577B2 (en) | 2009-01-28 | 2020-11-10 | Headwater Research Llc | Service offer set publishing to device agent with on-device service selection |
US20230269625A1 (en) * | 2009-01-28 | 2023-08-24 | Headwater Research Llc | Security, Fraud Detection, and Fraud Mitigation in Device-Assisted Services Systems |
US11665592B2 (en) * | 2009-01-28 | 2023-05-30 | Headwater Research Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
US10798252B2 (en) | 2009-01-28 | 2020-10-06 | Headwater Research Llc | System and method for providing user notifications |
US11665186B2 (en) | 2009-01-28 | 2023-05-30 | Headwater Research Llc | Communications device with secure data path processing agents |
US10798558B2 (en) | 2009-01-28 | 2020-10-06 | Headwater Research Llc | Adapting network policies based on device service processor configuration |
US11405224B2 (en) | 2009-01-28 | 2022-08-02 | Headwater Research Llc | Device-assisted services for protecting network capacity |
US10791471B2 (en) | 2009-01-28 | 2020-09-29 | Headwater Research Llc | System and method for wireless network offloading |
US12095632B2 (en) | 2009-01-28 | 2024-09-17 | Headwater Research Llc | Adaptive ambient services |
US11923995B2 (en) | 2009-01-28 | 2024-03-05 | Headwater Research Llc | Device-assisted services for protecting network capacity |
US12120551B2 (en) * | 2009-01-28 | 2024-10-15 | Headwater Research Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
US11589216B2 (en) | 2009-01-28 | 2023-02-21 | Headwater Research Llc | Service selection set publishing to device agent with on-device service selection |
US10716006B2 (en) | 2009-01-28 | 2020-07-14 | Headwater Research Llc | End user device that secures an association of application to service policy with an application certificate check |
US12101434B2 (en) | 2009-01-28 | 2024-09-24 | Headwater Research Llc | Device assisted CDR creation, aggregation, mediation and billing |
US12200786B2 (en) | 2009-01-28 | 2025-01-14 | Headwater Research Llc | Enterprise access control and accounting allocation for access networks |
US11425580B2 (en) | 2009-01-28 | 2022-08-23 | Headwater Research Llc | System and method for wireless network offloading |
US8677486B2 (en) | 2010-04-16 | 2014-03-18 | Sourcefire, Inc. | System and method for near-real time network attack detection, and system and method for unified detection via detection routing |
US20140259164A1 (en) * | 2010-05-13 | 2014-09-11 | Salesforce.Com, Inc. | Security monitoring |
US9552478B2 (en) | 2010-05-18 | 2017-01-24 | AO Kaspersky Lab | Team security for portable information devices |
US9110905B2 (en) | 2010-06-11 | 2015-08-18 | Cisco Technology, Inc. | System and method for assigning network blocks to sensors |
US8433790B2 (en) | 2010-06-11 | 2013-04-30 | Sourcefire, Inc. | System and method for assigning network blocks to sensors |
US8671182B2 (en) | 2010-06-22 | 2014-03-11 | Sourcefire, Inc. | System and method for resolving operating system or service identity conflicts |
US10574630B2 (en) | 2011-02-15 | 2020-02-25 | Webroot Inc. | Methods and apparatus for malware threat research |
US8601034B2 (en) | 2011-03-11 | 2013-12-03 | Sourcefire, Inc. | System and method for real time data awareness |
US9584535B2 (en) | 2011-03-11 | 2017-02-28 | Cisco Technology, Inc. | System and method for real time data awareness |
US9135432B2 (en) | 2011-03-11 | 2015-09-15 | Cisco Technology, Inc. | System and method for real time data awareness |
US8626128B2 (en) | 2011-04-07 | 2014-01-07 | Microsoft Corporation | Enforcing device settings for mobile devices |
US10749887B2 (en) | 2011-04-08 | 2020-08-18 | Proofpoint, Inc. | Assessing security risks of users in a computing network |
US11158207B1 (en) | 2011-04-08 | 2021-10-26 | Proofpoint, Inc. | Context-aware cybersecurity training systems, apparatuses, and methods |
US12069083B2 (en) | 2011-04-08 | 2024-08-20 | Proofpoint, Inc. | Assessing security risks of users in a computing network |
US11310261B2 (en) | 2011-04-08 | 2022-04-19 | Proofpoint, Inc. | Assessing security risks of users in a computing network |
US20130014212A1 (en) * | 2011-05-09 | 2013-01-10 | Google Inc. | Permission-based administrative controls |
US9602517B2 (en) * | 2011-05-31 | 2017-03-21 | Red Hat, Inc. | Resource-centric authorization schemes |
US20140208398A1 (en) * | 2011-05-31 | 2014-07-24 | Red Hat, Inc. | Resource-Centric Authorization Schemes |
US9344430B2 (en) * | 2011-05-31 | 2016-05-17 | Red Hat, Inc. | Resource-centric authorization schemes |
EP2533170B1 (en) * | 2011-06-07 | 2018-03-14 | BlackBerry Limited | Methods and devices for controlling access to a computing resource by applications executable on a computing device |
US9143530B2 (en) | 2011-10-11 | 2015-09-22 | Citrix Systems, Inc. | Secure container for protecting enterprise data on a mobile device |
US9213850B2 (en) | 2011-10-11 | 2015-12-15 | Citrix Systems, Inc. | Policy-based application management |
US8832817B2 (en) | 2011-10-11 | 2014-09-09 | Google Inc. | Application marketplace administrative controls |
US9286471B2 (en) | 2011-10-11 | 2016-03-15 | Citrix Systems, Inc. | Rules based detection and correction of problems on mobile devices of enterprise users |
US9898592B2 (en) | 2011-10-11 | 2018-02-20 | Google Llc | Application marketplace administrative controls |
US10402546B1 (en) | 2011-10-11 | 2019-09-03 | Citrix Systems, Inc. | Secure execution of enterprise applications on mobile devices |
US9143529B2 (en) | 2011-10-11 | 2015-09-22 | Citrix Systems, Inc. | Modifying pre-existing mobile applications to implement enterprise security policies |
US10469534B2 (en) | 2011-10-11 | 2019-11-05 | Citrix Systems, Inc. | Secure execution of enterprise applications on mobile devices |
US9378359B2 (en) | 2011-10-11 | 2016-06-28 | Citrix Systems, Inc. | Gateway for controlling mobile device access to enterprise resources |
US9521147B2 (en) | 2011-10-11 | 2016-12-13 | Citrix Systems, Inc. | Policy based application management |
US9529996B2 (en) | 2011-10-11 | 2016-12-27 | Citrix Systems, Inc. | Controlling mobile device access to enterprise resources |
US9721074B2 (en) | 2011-10-11 | 2017-08-01 | Google Inc. | Application marketplace administrative controls |
US11134104B2 (en) | 2011-10-11 | 2021-09-28 | Citrix Systems, Inc. | Secure execution of enterprise applications on mobile devices |
US9137262B2 (en) | 2011-10-11 | 2015-09-15 | Citrix Systems, Inc. | Providing secure mobile device access to enterprise resources using application tunnels |
US10044757B2 (en) | 2011-10-11 | 2018-08-07 | Citrix Systems, Inc. | Secure execution of enterprise applications on mobile devices |
US10063595B1 (en) | 2011-10-11 | 2018-08-28 | Citrix Systems, Inc. | Secure execution of enterprise applications on mobile devices |
US9111105B2 (en) | 2011-10-11 | 2015-08-18 | Citrix Systems, Inc. | Policy-based application management |
US8713646B2 (en) | 2011-12-09 | 2014-04-29 | Erich Stuntebeck | Controlling access to resources on a network |
US10404615B2 (en) | 2012-02-14 | 2019-09-03 | Airwatch, Llc | Controlling distribution of resources on a network |
US10951541B2 (en) | 2012-02-14 | 2021-03-16 | Airwatch, Llc | Controlling distribution of resources on a network |
US11483252B2 (en) | 2012-02-14 | 2022-10-25 | Airwatch, Llc | Controlling distribution of resources on a network |
US9705813B2 (en) | 2012-02-14 | 2017-07-11 | Airwatch, Llc | Controlling distribution of resources on a network |
US11082355B2 (en) | 2012-02-14 | 2021-08-03 | Airwatch, Llc | Controllng distribution of resources in a network |
US10257194B2 (en) | 2012-02-14 | 2019-04-09 | Airwatch Llc | Distribution of variably secure resources in a networked environment |
US9680763B2 (en) | 2012-02-14 | 2017-06-13 | Airwatch, Llc | Controlling distribution of resources in a network |
US12081452B2 (en) | 2012-02-14 | 2024-09-03 | Airwatch Llc | Controlling distribution of resources in a network |
US10375116B2 (en) * | 2012-03-02 | 2019-08-06 | International Business Machines Corporation | System and method to provide server control for access to mobile client data |
US9594921B2 (en) * | 2012-03-02 | 2017-03-14 | International Business Machines Corporation | System and method to provide server control for access to mobile client data |
US20130232542A1 (en) * | 2012-03-02 | 2013-09-05 | International Business Machines Corporation | System and method to provide server control for access to mobile client data |
US8631492B2 (en) | 2012-03-14 | 2014-01-14 | Kaspersky Lab Zao | Dynamic management of resource utilization by an antivirus application |
US9224001B2 (en) * | 2012-03-30 | 2015-12-29 | Aetherpal Inc. | Access control list for applications on mobile devices during a remote control session |
US20130263287A1 (en) * | 2012-03-30 | 2013-10-03 | Aetherpal Inc. | Access control list for applications on mobile devices during a remote control session |
US9973501B2 (en) | 2012-10-09 | 2018-05-15 | Cupp Computing As | Transaction security systems and methods |
US10397227B2 (en) | 2012-10-09 | 2019-08-27 | Cupp Computing As | Transaction security systems and methods |
US10904254B2 (en) | 2012-10-09 | 2021-01-26 | Cupp Computing As | Transaction security systems and methods |
US11757885B2 (en) | 2012-10-09 | 2023-09-12 | Cupp Computing As | Transaction security systems and methods |
US9386120B2 (en) | 2012-10-12 | 2016-07-05 | Citrix Systems, Inc. | Single sign-on access in an orchestration framework for connected devices |
US9854063B2 (en) | 2012-10-12 | 2017-12-26 | Citrix Systems, Inc. | Enterprise application store for an orchestration framework for connected devices |
US9774658B2 (en) | 2012-10-12 | 2017-09-26 | Citrix Systems, Inc. | Orchestration framework for connected devices |
US9189645B2 (en) | 2012-10-12 | 2015-11-17 | Citrix Systems, Inc. | Sharing content across applications and devices having multiple operation modes in an orchestration framework for connected devices |
US9516022B2 (en) | 2012-10-14 | 2016-12-06 | Getgo, Inc. | Automated meeting room |
US9467474B2 (en) | 2012-10-15 | 2016-10-11 | Citrix Systems, Inc. | Conjuring and providing profiles that manage execution of mobile applications |
US20140109176A1 (en) * | 2012-10-15 | 2014-04-17 | Citrix Systems, Inc. | Configuring and providing profiles that manage execution of mobile applications |
US9654508B2 (en) | 2012-10-15 | 2017-05-16 | Citrix Systems, Inc. | Configuring and providing profiles that manage execution of mobile applications |
US9521117B2 (en) | 2012-10-15 | 2016-12-13 | Citrix Systems, Inc. | Providing virtualized private network tunnels |
US9973489B2 (en) | 2012-10-15 | 2018-05-15 | Citrix Systems, Inc. | Providing virtualized private network tunnels |
US9606774B2 (en) | 2012-10-16 | 2017-03-28 | Citrix Systems, Inc. | Wrapping an application with field-programmable business logic |
US10908896B2 (en) | 2012-10-16 | 2021-02-02 | Citrix Systems, Inc. | Application wrapping for application management framework |
US10545748B2 (en) | 2012-10-16 | 2020-01-28 | Citrix Systems, Inc. | Wrapping unmanaged applications on a mobile device |
US9602474B2 (en) | 2012-10-16 | 2017-03-21 | Citrix Systems, Inc. | Controlling mobile device access to secure data |
US9858428B2 (en) | 2012-10-16 | 2018-01-02 | Citrix Systems, Inc. | Controlling mobile device access to secure data |
US9971585B2 (en) | 2012-10-16 | 2018-05-15 | Citrix Systems, Inc. | Wrapping unmanaged applications on a mobile device |
US10986095B2 (en) | 2012-10-19 | 2021-04-20 | Airwatch Llc | Systems and methods for controlling network access |
US9247432B2 (en) | 2012-10-19 | 2016-01-26 | Airwatch Llc | Systems and methods for controlling network access |
US9853928B2 (en) | 2012-12-06 | 2017-12-26 | Airwatch Llc | Systems and methods for controlling email access |
US11050719B2 (en) | 2012-12-06 | 2021-06-29 | Airwatch, Llc | Systems and methods for controlling email access |
US8978110B2 (en) | 2012-12-06 | 2015-03-10 | Airwatch Llc | Systems and methods for controlling email access |
US10681017B2 (en) | 2012-12-06 | 2020-06-09 | Airwatch, Llc | Systems and methods for controlling email access |
US9021037B2 (en) | 2012-12-06 | 2015-04-28 | Airwatch Llc | Systems and methods for controlling email access |
US12120077B2 (en) | 2012-12-06 | 2024-10-15 | Omnissa, Llc | Systems and methods for controlling email access |
US10243932B2 (en) | 2012-12-06 | 2019-03-26 | Airwatch, Llc | Systems and methods for controlling email access |
US10666591B2 (en) | 2012-12-06 | 2020-05-26 | Airwatch Llc | Systems and methods for controlling email access |
US8862868B2 (en) | 2012-12-06 | 2014-10-14 | Airwatch, Llc | Systems and methods for controlling email access |
US8826432B2 (en) | 2012-12-06 | 2014-09-02 | Airwatch, Llc | Systems and methods for controlling email access |
US8832785B2 (en) | 2012-12-06 | 2014-09-09 | Airwatch, Llc | Systems and methods for controlling email access |
US9882850B2 (en) | 2012-12-06 | 2018-01-30 | Airwatch Llc | Systems and methods for controlling email access |
US9450921B2 (en) | 2012-12-06 | 2016-09-20 | Airwatch Llc | Systems and methods for controlling email access |
US9391960B2 (en) | 2012-12-06 | 2016-07-12 | Airwatch Llc | Systems and methods for controlling email access |
US9325713B2 (en) | 2012-12-06 | 2016-04-26 | Airwatch Llc | Systems and methods for controlling email access |
US9813390B2 (en) | 2012-12-06 | 2017-11-07 | Airwatch Llc | Systems and methods for controlling email access |
US9426129B2 (en) | 2012-12-06 | 2016-08-23 | Airwatch Llc | Systems and methods for controlling email access |
US10635634B2 (en) | 2012-12-21 | 2020-04-28 | Commvault Systems, Inc. | Data storage system for analysis of data across heterogeneous information management systems |
US10459710B2 (en) | 2012-12-27 | 2019-10-29 | Commvault Systems, Inc. | Automatic identification of storage requirements, such as for use in selling data storage management solutions |
EP2939347A4 (en) * | 2012-12-27 | 2016-10-05 | Sequitur Labs Inc | Utilizations and applications of near field communications in mobile device management and security |
CN105432022A (en) * | 2012-12-27 | 2016-03-23 | 赛奎特实验室 | Utilizations and applications of near field communications in mobile device management and security |
US11824644B2 (en) | 2013-03-14 | 2023-11-21 | Airwatch, Llc | Controlling electronically communicated resources |
US9473417B2 (en) | 2013-03-14 | 2016-10-18 | Airwatch Llc | Controlling resources used by computing devices |
US10116583B2 (en) | 2013-03-14 | 2018-10-30 | Airwatch Llc | Controlling resources used by computing devices |
US11069168B2 (en) | 2013-03-15 | 2021-07-20 | Airwatch, Llc | Facial capture managing access to resources by a device |
US9847986B2 (en) | 2013-03-15 | 2017-12-19 | Airwatch Llc | Application program as key for authorizing access to resources |
US10127751B2 (en) | 2013-03-15 | 2018-11-13 | Airwatch Llc | Controlling physical access to secure areas via client devices in a networked environment |
US9819682B2 (en) | 2013-03-15 | 2017-11-14 | Airwatch Llc | Certificate based profile confirmation |
USRE49585E1 (en) | 2013-03-15 | 2023-07-18 | Airwatch Llc | Certificate based profile confirmation |
US11689516B2 (en) | 2013-03-15 | 2023-06-27 | Vmware, Inc. | Application program as key for authorizing access to resources |
US9203820B2 (en) | 2013-03-15 | 2015-12-01 | Airwatch Llc | Application program as key for authorizing access to resources |
US10560453B2 (en) | 2013-03-15 | 2020-02-11 | Airwatch Llc | Certificate based profile confirmation |
US11824859B2 (en) | 2013-03-15 | 2023-11-21 | Airwatch Llc | Certificate based profile confirmation |
US11283803B2 (en) | 2013-03-15 | 2022-03-22 | Airwatch Llc | Incremental compliance remediation |
US9438635B2 (en) | 2013-03-15 | 2016-09-06 | Airwatch Llc | Controlling physical access to secure areas via client devices in a network environment |
US9148416B2 (en) | 2013-03-15 | 2015-09-29 | Airwatch Llc | Controlling physical access to secure areas via client devices in a networked environment |
US10412081B2 (en) | 2013-03-15 | 2019-09-10 | Airwatch, Llc | Facial capture managing access to resources by a device |
US10965658B2 (en) | 2013-03-15 | 2021-03-30 | Airwatch Llc | Application program as key for authorizing access to resources |
US9686287B2 (en) | 2013-03-15 | 2017-06-20 | Airwatch, Llc | Delegating authorization to applications on a client device in a networked environment |
US9401915B2 (en) | 2013-03-15 | 2016-07-26 | Airwatch Llc | Secondary device as key for authorizing access to resources |
US9378350B2 (en) | 2013-03-15 | 2016-06-28 | Airwatch Llc | Facial capture managing access to resources by a device |
US10972467B2 (en) | 2013-03-15 | 2021-04-06 | Airwatch Llc | Certificate based profile confirmation |
US9275245B2 (en) | 2013-03-15 | 2016-03-01 | Airwatch Llc | Data access sharing |
US8997187B2 (en) | 2013-03-15 | 2015-03-31 | Airwatch Llc | Delegating authorization to applications on a client device in a networked environment |
US10108808B2 (en) | 2013-03-15 | 2018-10-23 | Airwatch Llc | Data access sharing |
US10652242B2 (en) | 2013-03-15 | 2020-05-12 | Airwatch, Llc | Incremental compliance remediation |
US10366218B2 (en) | 2013-03-22 | 2019-07-30 | Nok Nok Labs, Inc. | System and method for collecting and utilizing client data for risk assessment during authentication |
US9305298B2 (en) | 2013-03-22 | 2016-04-05 | Nok Nok Labs, Inc. | System and method for location-based authentication |
US10706132B2 (en) | 2013-03-22 | 2020-07-07 | Nok Nok Labs, Inc. | System and method for adaptive user authentication |
US10282533B2 (en) | 2013-03-22 | 2019-05-07 | Nok Nok Labs, Inc. | System and method for eye tracking during authentication |
US10268811B2 (en) | 2013-03-22 | 2019-04-23 | Nok Nok Labs, Inc. | System and method for delegating trust to a new authenticator |
US11929997B2 (en) | 2013-03-22 | 2024-03-12 | Nok Nok Labs, Inc. | Advanced authentication techniques and applications |
US10270748B2 (en) | 2013-03-22 | 2019-04-23 | Nok Nok Labs, Inc. | Advanced authentication techniques and applications |
US10762181B2 (en) | 2013-03-22 | 2020-09-01 | Nok Nok Labs, Inc. | System and method for user confirmation of online transactions |
US9396320B2 (en) | 2013-03-22 | 2016-07-19 | Nok Nok Labs, Inc. | System and method for non-intrusive, privacy-preserving authentication |
US9898596B2 (en) | 2013-03-22 | 2018-02-20 | Nok Nok Labs, Inc. | System and method for eye tracking during authentication |
US10776464B2 (en) | 2013-03-22 | 2020-09-15 | Nok Nok Labs, Inc. | System and method for adaptive application of authentication policies |
US9367676B2 (en) * | 2013-03-22 | 2016-06-14 | Nok Nok Labs, Inc. | System and method for confirming location using supplemental sensor and/or location data |
US20140289822A1 (en) * | 2013-03-22 | 2014-09-25 | Brendon J. Wilson | System and method for confirming location using supplemental sensor and/or location data |
US10176310B2 (en) | 2013-03-22 | 2019-01-08 | Nok Nok Labs, Inc. | System and method for privacy-enhanced data synchronization |
US9280377B2 (en) | 2013-03-29 | 2016-03-08 | Citrix Systems, Inc. | Application with multiple operation modes |
US9948657B2 (en) | 2013-03-29 | 2018-04-17 | Citrix Systems, Inc. | Providing an enterprise application store |
US10097584B2 (en) | 2013-03-29 | 2018-10-09 | Citrix Systems, Inc. | Providing a managed browser |
US9215225B2 (en) | 2013-03-29 | 2015-12-15 | Citrix Systems, Inc. | Mobile device locking with context |
US9455886B2 (en) | 2013-03-29 | 2016-09-27 | Citrix Systems, Inc. | Providing mobile device management functionalities |
US10476885B2 (en) | 2013-03-29 | 2019-11-12 | Citrix Systems, Inc. | Application with multiple operation modes |
US10965734B2 (en) | 2013-03-29 | 2021-03-30 | Citrix Systems, Inc. | Data management for an application with multiple operation modes |
US9369449B2 (en) | 2013-03-29 | 2016-06-14 | Citrix Systems, Inc. | Providing an enterprise application store |
US10284627B2 (en) | 2013-03-29 | 2019-05-07 | Citrix Systems, Inc. | Data management for an application with multiple operation modes |
US9158895B2 (en) | 2013-03-29 | 2015-10-13 | Citrix Systems, Inc. | Providing a managed browser |
US9413736B2 (en) | 2013-03-29 | 2016-08-09 | Citrix Systems, Inc. | Providing an enterprise application store |
US9355223B2 (en) | 2013-03-29 | 2016-05-31 | Citrix Systems, Inc. | Providing a managed browser |
US10701082B2 (en) | 2013-03-29 | 2020-06-30 | Citrix Systems, Inc. | Application with multiple operation modes |
US9985850B2 (en) | 2013-03-29 | 2018-05-29 | Citrix Systems, Inc. | Providing mobile device management functionalities |
US10116662B2 (en) | 2013-04-12 | 2018-10-30 | Airwatch Llc | On-demand security policy activation |
US10785228B2 (en) | 2013-04-12 | 2020-09-22 | Airwatch, Llc | On-demand security policy activation |
US11902281B2 (en) | 2013-04-12 | 2024-02-13 | Airwatch Llc | On-demand security policy activation |
US9787686B2 (en) | 2013-04-12 | 2017-10-10 | Airwatch Llc | On-demand security policy activation |
US11880477B2 (en) | 2013-04-13 | 2024-01-23 | Airwatch Llc | Time-based functionality restrictions |
US10754966B2 (en) | 2013-04-13 | 2020-08-25 | Airwatch Llc | Time-based functionality restrictions |
US8914013B2 (en) | 2013-04-25 | 2014-12-16 | Airwatch Llc | Device management macros |
US9123031B2 (en) | 2013-04-26 | 2015-09-01 | Airwatch Llc | Attendance tracking via device presence |
US10402789B2 (en) | 2013-04-26 | 2019-09-03 | Airwatch Llc | Attendance tracking via device presence |
US9219741B2 (en) | 2013-05-02 | 2015-12-22 | Airwatch, Llc | Time-based configuration policy toggling |
US11204993B2 (en) | 2013-05-02 | 2021-12-21 | Airwatch, Llc | Location-based configuration profile toggling |
US9426162B2 (en) | 2013-05-02 | 2016-08-23 | Airwatch Llc | Location-based configuration policy toggling |
US9703949B2 (en) | 2013-05-02 | 2017-07-11 | Airwatch, Llc | Time-based configuration profile toggling |
US10303872B2 (en) | 2013-05-02 | 2019-05-28 | Airwatch, Llc | Location based configuration profile toggling |
US9246918B2 (en) | 2013-05-10 | 2016-01-26 | Airwatch Llc | Secure application leveraging of web filter proxy services |
US9825996B2 (en) | 2013-05-16 | 2017-11-21 | Airwatch Llc | Rights management services integration with mobile device management |
US9516066B2 (en) | 2013-05-16 | 2016-12-06 | Airwatch Llc | Rights management services integration with mobile device management |
US9058495B2 (en) | 2013-05-16 | 2015-06-16 | Airwatch Llc | Rights management services integration with mobile device management |
US9961077B2 (en) | 2013-05-30 | 2018-05-01 | Nok Nok Labs, Inc. | System and method for biometric authentication with device attestation |
US9584437B2 (en) | 2013-06-02 | 2017-02-28 | Airwatch Llc | Resource watermarking and management |
US9900261B2 (en) | 2013-06-02 | 2018-02-20 | Airwatch Llc | Shared resource watermarking and management |
US11962510B2 (en) | 2013-06-02 | 2024-04-16 | Vmware, Inc. | Resource watermarking and management |
US11651325B2 (en) | 2013-06-04 | 2023-05-16 | Airwatch Llc | Item delivery optimization |
US10515334B2 (en) | 2013-06-04 | 2019-12-24 | Airwatch Llc | Item delivery optimization |
US10824757B2 (en) | 2013-06-06 | 2020-11-03 | Airwatch Llc | Social media and data sharing controls |
US9270777B2 (en) | 2013-06-06 | 2016-02-23 | Airwatch Llc | Social media and data sharing controls for data security purposes |
US9535857B2 (en) | 2013-06-25 | 2017-01-03 | Airwatch Llc | Autonomous device interaction |
US9514078B2 (en) | 2013-06-25 | 2016-12-06 | Airwatch Llc | Peripheral device management |
US8924608B2 (en) | 2013-06-25 | 2014-12-30 | Airwatch Llc | Peripheral device management |
US8806217B2 (en) | 2013-07-03 | 2014-08-12 | Sky Socket, Llc | Functionality watermarking and management |
US9195811B2 (en) | 2013-07-03 | 2015-11-24 | Airwatch Llc | Functionality watermarking and management |
US9552463B2 (en) | 2013-07-03 | 2017-01-24 | Airwatch Llc | Functionality watermarking and management |
US9202025B2 (en) | 2013-07-03 | 2015-12-01 | Airwatch Llc | Enterprise-specific functionality watermarking and management |
US8756426B2 (en) | 2013-07-03 | 2014-06-17 | Sky Socket, Llc | Functionality watermarking and management |
US8775815B2 (en) | 2013-07-03 | 2014-07-08 | Sky Socket, Llc | Enterprise-specific functionality watermarking and management |
US9699193B2 (en) | 2013-07-03 | 2017-07-04 | Airwatch, Llc | Enterprise-specific functionality watermarking and management |
US11157976B2 (en) | 2013-07-08 | 2021-10-26 | Cupp Computing As | Systems and methods for providing digital content marketplace security |
US9665723B2 (en) | 2013-08-15 | 2017-05-30 | Airwatch, Llc | Watermarking detection and management |
US9516005B2 (en) | 2013-08-20 | 2016-12-06 | Airwatch Llc | Individual-specific content management |
US20150067402A1 (en) * | 2013-08-30 | 2015-03-05 | International Business Machines Corporation | Providing a remote diagnosis for an information appliance via a secure connection |
US9697069B2 (en) * | 2013-08-30 | 2017-07-04 | International Business Machines Corporation | Providing a remote diagnosis for an information appliance via a secure connection |
US10129242B2 (en) | 2013-09-16 | 2018-11-13 | Airwatch Llc | Multi-persona devices and management |
US11070543B2 (en) | 2013-09-16 | 2021-07-20 | Airwatch, Llc | Multi-persona management and devices |
US9544306B2 (en) | 2013-10-29 | 2017-01-10 | Airwatch Llc | Attempted security breach remediation |
US9887983B2 (en) | 2013-10-29 | 2018-02-06 | Nok Nok Labs, Inc. | Apparatus and method for implementing composite authenticators |
US10798087B2 (en) | 2013-10-29 | 2020-10-06 | Nok Nok Labs, Inc. | Apparatus and method for implementing composite authenticators |
US9258301B2 (en) | 2013-10-29 | 2016-02-09 | Airwatch Llc | Advanced authentication techniques |
US10530833B2 (en) * | 2013-12-17 | 2020-01-07 | International Business Machines Corporation | Identity service management in limited connectivity environments |
US11019128B2 (en) | 2013-12-17 | 2021-05-25 | International Business Machines Corporation | Identity service management in limited connectivity environments |
US11349878B2 (en) | 2014-01-23 | 2022-05-31 | Unify Gmbh & Co. Kg | Method for handling security settings in a mobile end device |
DE102014000963A1 (en) * | 2014-01-23 | 2015-07-23 | Unify Gmbh & Co. Kg | Method for handling security settings in a mobile terminal or for access control, mobile terminal, computer program, software product and digital storage medium |
US10728285B2 (en) | 2014-01-23 | 2020-07-28 | Unify Gmbh & Co. Kg | Method for handling security settings in a mobile end device |
US12034772B2 (en) | 2014-02-13 | 2024-07-09 | Cupp Computing As | Systems and methods for providing network security using a secure digital device |
US9762614B2 (en) | 2014-02-13 | 2017-09-12 | Cupp Computing As | Systems and methods for providing network security using a secure digital device |
US11316905B2 (en) | 2014-02-13 | 2022-04-26 | Cupp Computing As | Systems and methods for providing network security using a secure digital device |
US20180205760A1 (en) | 2014-02-13 | 2018-07-19 | Cupp Computing As | Systems and methods for providing network security using a secure digital device |
US20150229664A1 (en) * | 2014-02-13 | 2015-08-13 | Trevor Tyler HAWTHORN | Assessing security risks of users in a computing network |
US11743297B2 (en) | 2014-02-13 | 2023-08-29 | Cupp Computing As | Systems and methods for providing network security using a secure digital device |
US10666688B2 (en) | 2014-02-13 | 2020-05-26 | Cupp Computing As | Systems and methods for providing network security using a secure digital device |
US10291656B2 (en) | 2014-02-13 | 2019-05-14 | Cupp Computing As | Systems and methods for providing network security using a secure digital device |
US9577999B1 (en) | 2014-05-02 | 2017-02-21 | Nok Nok Labs, Inc. | Enhanced security for registration of authentication devices |
US10326761B2 (en) | 2014-05-02 | 2019-06-18 | Nok Nok Labs, Inc. | Web-based user authentication techniques and applications |
US9654469B1 (en) | 2014-05-02 | 2017-05-16 | Nok Nok Labs, Inc. | Web-based user authentication techniques and applications |
US9413533B1 (en) | 2014-05-02 | 2016-08-09 | Nok Nok Labs, Inc. | System and method for authorizing a new authenticator |
US10169162B2 (en) | 2014-06-11 | 2019-01-01 | Commvault Systems, Inc. | Conveying value of implementing an integrated data management and protection system |
US9635547B1 (en) * | 2014-07-28 | 2017-04-25 | Amazon Technologies, Inc. | Systems, devices, and methods for obfuscating location |
US9749131B2 (en) | 2014-07-31 | 2017-08-29 | Nok Nok Labs, Inc. | System and method for implementing a one-time-password using asymmetric cryptography |
US10148630B2 (en) | 2014-07-31 | 2018-12-04 | Nok Nok Labs, Inc. | System and method for implementing a hosted authentication service |
US9875347B2 (en) | 2014-07-31 | 2018-01-23 | Nok Nok Labs, Inc. | System and method for performing authentication using data analytics |
US9455979B2 (en) | 2014-07-31 | 2016-09-27 | Nok Nok Labs, Inc. | System and method for establishing trust using secure transmission protocols |
US9813454B2 (en) | 2014-08-01 | 2017-11-07 | Wombat Security Technologies, Inc. | Cybersecurity training system with automated application of branded content |
CN107004080A (en) * | 2014-08-11 | 2017-08-01 | 文件编辑器有限责任公司 | Environment sensing security token |
EP3180730A4 (en) * | 2014-08-11 | 2018-03-21 | Document Dynamics, LLC | Environment-aware security tokens |
US10122696B2 (en) | 2014-08-11 | 2018-11-06 | Document Dynamics, Llc | Environment-aware security tokens |
US20190327221A1 (en) * | 2014-08-11 | 2019-10-24 | Document Dynamics, Llc | Environment-Aware Security Tokens |
US9608980B2 (en) | 2014-08-11 | 2017-03-28 | Document Dynamics, Llc | Environment-aware security tokens |
US9590971B2 (en) | 2014-08-11 | 2017-03-07 | Document Dynamics, Llc | Environment-aware security tokens |
US20160044040A1 (en) * | 2014-08-11 | 2016-02-11 | Robert G. Caffary, Jr. | Environment-Aware Security Tokens |
US9449187B2 (en) * | 2014-08-11 | 2016-09-20 | Document Dynamics, Llc | Environment-aware security tokens |
US10462185B2 (en) | 2014-09-05 | 2019-10-29 | Sequitur Labs, Inc. | Policy-managed secure code execution and messaging for computing devices and computing device security |
US9736154B2 (en) | 2014-09-16 | 2017-08-15 | Nok Nok Labs, Inc. | System and method for integrating an authentication service within a network architecture |
US10194266B2 (en) | 2014-12-22 | 2019-01-29 | Airwatch Llc | Enforcement of proximity based policies |
US9584964B2 (en) | 2014-12-22 | 2017-02-28 | Airwatch Llc | Enforcement of proximity based policies |
US9600670B2 (en) * | 2014-12-23 | 2017-03-21 | Intel Corporation | Provisioning location-based security policy |
US9922194B2 (en) * | 2014-12-23 | 2018-03-20 | Intel Corporation | Provisioning location-based security policy |
US9813247B2 (en) | 2014-12-23 | 2017-11-07 | Airwatch Llc | Authenticator device facilitating file security |
US20170147822A1 (en) * | 2014-12-23 | 2017-05-25 | Intel Corporation | Provisioning Location-Based Security Policy |
US9413754B2 (en) | 2014-12-23 | 2016-08-09 | Airwatch Llc | Authenticator device facilitating file security |
US9497200B2 (en) * | 2015-02-16 | 2016-11-15 | International Business Machines Corporation | Managing limited network access configuration |
US20160253254A1 (en) * | 2015-02-27 | 2016-09-01 | Commvault Systems, Inc. | Diagnosing errors in data storage and archiving in a cloud or networking environment |
US10956299B2 (en) * | 2015-02-27 | 2021-03-23 | Commvault Systems, Inc. | Diagnosing errors in data storage and archiving in a cloud or networking environment |
CN107534861A (en) * | 2015-04-16 | 2018-01-02 | 阿尔卡特朗讯公司 | Pass through network personalized access storage device |
US10685130B2 (en) | 2015-04-21 | 2020-06-16 | Sequitur Labs Inc. | System and methods for context-aware and situation-aware secure, policy-based access control for computing devices |
US11847237B1 (en) | 2015-04-28 | 2023-12-19 | Sequitur Labs, Inc. | Secure data protection and encryption techniques for computing devices and information storage |
US11425168B2 (en) | 2015-05-14 | 2022-08-23 | Sequitur Labs, Inc. | System and methods for facilitating secure computing device control and operation |
US11194775B2 (en) | 2015-05-20 | 2021-12-07 | Commvault Systems, Inc. | Efficient database search and reporting, such as for enterprise customers having large and/or numerous files |
US10896047B2 (en) * | 2015-12-28 | 2021-01-19 | Hewlett-Packard Development Company, L.P. | Booting a computer using a wireless network connection |
US20170289107A1 (en) * | 2016-03-30 | 2017-10-05 | Oracle International Corporation | Enforcing data security in a cleanroom data processing envrionment |
US20170289169A1 (en) * | 2016-03-30 | 2017-10-05 | Oracle International Corporation | Establishing a cleanroom data processing environment |
US10225259B2 (en) * | 2016-03-30 | 2019-03-05 | Oracle International Corporation | Establishing a cleanroom data processing environment |
US10212169B2 (en) * | 2016-03-30 | 2019-02-19 | Oracle International Corporation | Enforcing data security in a cleanroom data processing environment |
US10491597B2 (en) | 2016-03-30 | 2019-11-26 | Oracle International Corporation | Enforcing data security in a cleanroom data processing environment |
US20170300689A1 (en) * | 2016-04-14 | 2017-10-19 | Airwatch Llc | Anonymized application scanning for mobile devices |
US9917862B2 (en) * | 2016-04-14 | 2018-03-13 | Airwatch Llc | Integrated application scanning and mobile enterprise computing management system |
US9916446B2 (en) * | 2016-04-14 | 2018-03-13 | Airwatch Llc | Anonymized application scanning for mobile devices |
US10354068B2 (en) * | 2016-04-14 | 2019-07-16 | Airwatch, Llc | Anonymized application scanning for mobile devices |
US10637853B2 (en) | 2016-08-05 | 2020-04-28 | Nok Nok Labs, Inc. | Authentication techniques including speech and/or lip movement analysis |
US10769635B2 (en) | 2016-08-05 | 2020-09-08 | Nok Nok Labs, Inc. | Authentication techniques including speech and/or lip movement analysis |
US10700865B1 (en) | 2016-10-21 | 2020-06-30 | Sequitur Labs Inc. | System and method for granting secure access to computing services hidden in trusted computing environments to an unsecure requestor |
US10091195B2 (en) | 2016-12-31 | 2018-10-02 | Nok Nok Labs, Inc. | System and method for bootstrapping a user binding |
US10237070B2 (en) | 2016-12-31 | 2019-03-19 | Nok Nok Labs, Inc. | System and method for sharing keys across authenticators |
US10547712B2 (en) * | 2017-03-14 | 2020-01-28 | Vmware, Inc | Reserving physical resources based upon a physical identifier |
US11573862B2 (en) | 2017-03-15 | 2023-02-07 | Commvault Systems, Inc. | Application aware backup of virtual machines |
US11032350B2 (en) | 2017-03-15 | 2021-06-08 | Commvault Systems, Inc. | Remote commands framework to control clients |
US11010261B2 (en) | 2017-03-31 | 2021-05-18 | Commvault Systems, Inc. | Dynamically allocating streams during restoration of data |
US11615002B2 (en) | 2017-03-31 | 2023-03-28 | Commvault Systems, Inc. | Dynamically allocating streams during restoration of data |
US12039036B2 (en) | 2017-09-12 | 2024-07-16 | Sophos Limited | Secure firewall configurations |
US11620396B2 (en) | 2017-09-12 | 2023-04-04 | Sophos Limited | Secure firewall configurations |
US11966482B2 (en) | 2017-09-12 | 2024-04-23 | Sophos Limited | Managing untyped network traffic flows |
US11093624B2 (en) | 2017-09-12 | 2021-08-17 | Sophos Limited | Providing process data to a data recorder |
US10997303B2 (en) * | 2017-09-12 | 2021-05-04 | Sophos Limited | Managing untyped network traffic flows |
US11017102B2 (en) | 2017-09-12 | 2021-05-25 | Sophos Limited | Communicating application information to a firewall |
US11868995B2 (en) | 2017-11-27 | 2024-01-09 | Nok Nok Labs, Inc. | Extending a secure key storage for transaction confirmation and cryptocurrency |
US11831409B2 (en) | 2018-01-12 | 2023-11-28 | Nok Nok Labs, Inc. | System and method for binding verifiable claims |
US20210141915A1 (en) * | 2018-03-05 | 2021-05-13 | Microsoft Technology Licensing, Llc | System for automatic classification and protection unified to both cloud and on-premise environments |
US11165786B2 (en) * | 2018-12-18 | 2021-11-02 | International Business Machines Corporation | Remote assistance controller that provides control over what a remote assistor can access |
US20200264861A1 (en) * | 2019-02-19 | 2020-08-20 | Fuji Xerox Co., Ltd. | Software providing apparatus and non-transitory computer readable medium |
US11099825B2 (en) * | 2019-02-19 | 2021-08-24 | Fujifilm Business Innovation Corp. | Software providing apparatus and non-transitory computer readable medium |
US12041039B2 (en) | 2019-02-28 | 2024-07-16 | Nok Nok Labs, Inc. | System and method for endorsing a new authenticator |
US11792024B2 (en) | 2019-03-29 | 2023-10-17 | Nok Nok Labs, Inc. | System and method for efficient challenge-response authentication |
US11122054B2 (en) * | 2019-08-27 | 2021-09-14 | Bank Of America Corporation | Security tool |
US11949684B2 (en) | 2019-08-27 | 2024-04-02 | Bank Of America Corporation | Security tool |
US11323482B2 (en) * | 2019-12-31 | 2022-05-03 | Mcafee, Llc | Methods, systems, and media for protecting computer systems from user-created objects |
US20220014512A1 (en) * | 2020-07-13 | 2022-01-13 | Headwater Research Llc | End User Device That Secures an Association of Application to Service Policy With an Application Certificate Check |
US20220159029A1 (en) * | 2020-11-13 | 2022-05-19 | Cyberark Software Ltd. | Detection of security risks based on secretless connection data |
US12126613B2 (en) | 2021-09-17 | 2024-10-22 | Nok Nok Labs, Inc. | System and method for pre-registration of FIDO authenticators |
CN115118775A (en) * | 2022-06-21 | 2022-09-27 | 杭州迪普科技股份有限公司 | Method and device for processing browser access request and electronic equipment |
US12294602B2 (en) | 2024-04-09 | 2025-05-06 | Headwater Research Llc | Communications device with secure data path processing agents |
Also Published As
Publication number | Publication date |
---|---|
US7636936B2 (en) | 2009-12-22 |
US7353533B2 (en) | 2008-04-01 |
US20080077971A1 (en) | 2008-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7353533B2 (en) | Administration of protection of data accessible by a mobile device | |
US8020192B2 (en) | Administration of protection of data accessible by a mobile device | |
US7526800B2 (en) | Administration of protection of data accessible by a mobile device | |
US20210029547A1 (en) | System and method for filtering access points presented to a user and locking onto an access point | |
US20080109679A1 (en) | Administration of protection of data accessible by a mobile device | |
US7308703B2 (en) | Protection of data accessible by a mobile device | |
US9197668B2 (en) | Access control to files based on source information | |
WO2004057834A2 (en) | Methods and apparatus for administration of policy based protection of data accessible by a mobile device | |
Scarfone et al. | Guide to intrusion detection and prevention systems (idps) | |
US8495700B2 (en) | Mobile data security system and methods | |
CN108600251B (en) | Mobile device management and security | |
US8200818B2 (en) | System providing internet access management with router-based policy enforcement | |
US9300670B2 (en) | Remote access to resources over a network | |
US20240129310A1 (en) | Hybrid appliance for zero trust network access to customer applications | |
Sangster et al. | Network endpoint assessment (NEA): Overview and requirements | |
Scarfone et al. | Sp 800-94. guide to intrusion detection and prevention systems (idps) | |
Turnbull | Hardening Linux | |
Dedo | Windows mobile-based devices and security: Protecting sensitive business information | |
EP4521688A1 (en) | Zero trust network access connector for customer premises | |
WO2024081014A1 (en) | Cloud-based zero trust network access services | |
Souppaya et al. | Guidance for Securing Microsoft Windows XP Systems for IT Professionals: A NIST Security Configuration Checklist | |
Mani et al. | Network Working Group P. Sangster Request for Comments: 5209 Symantec Category: Informational H. Khosravi Intel | |
Tulyagijja | Implementing a secure windows 2000 servers for the internet | |
Scarfone et al. | Guide to Securing Microsoft Windows XP Systems for IT Professionals: A NIST Security Configuration Checklist | |
Orvis et al. | Connecting to the Internet Securely; Protecting Home Networks CIAC-2324 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SENFORCE TECHNOLOGIES, INC., UTAH Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WRIGHT, MICHAEL;BOUCHER, PETER;NAULT, GABE;AND OTHERS;REEL/FRAME:013869/0206 Effective date: 20030703 |
|
AS | Assignment |
Owner name: NOVELL, INC., UTAH Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SENFORCE TECHNOLOGIES, INC.;REEL/FRAME:020010/0387 Effective date: 20071015 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
REMI | Maintenance fee reminder mailed | ||
FPAY | Fee payment |
Year of fee payment: 4 |
|
SULP | Surcharge for late payment | ||
AS | Assignment |
Owner name: CREDIT SUISSE AG, AS COLLATERAL AGENT, NEW YORK Free format text: GRANT OF PATENT SECURITY INTEREST FIRST LIEN;ASSIGNOR:NOVELL, INC.;REEL/FRAME:028252/0216 Effective date: 20120522 Owner name: CREDIT SUISSE AG, AS COLLATERAL AGENT, NEW YORK Free format text: GRANT OF PATENT SECURITY INTEREST SECOND LIEN;ASSIGNOR:NOVELL, INC.;REEL/FRAME:028252/0316 Effective date: 20120522 |
|
AS | Assignment |
Owner name: CPTN HOLDINGS LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NOVELL, INC.;REEL/FRAME:028841/0047 Effective date: 20110427 |
|
AS | Assignment |
Owner name: APPLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CPTN HOLDINGS LLC;REEL/FRAME:028856/0230 Effective date: 20120614 |
|
AS | Assignment |
Owner name: NOVELL, INC., UTAH Free format text: RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316;ASSIGNOR:CREDIT SUISSE AG;REEL/FRAME:034469/0057 Effective date: 20141120 Owner name: NOVELL, INC., UTAH Free format text: RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216;ASSIGNOR:CREDIT SUISSE AG;REEL/FRAME:034470/0680 Effective date: 20141120 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |