RELATED APPLICATION DATAThe present application is a continuation of U.S. patent application Ser. No. 11/750,594 filed on May 18, 2007 and claiming priority from U.S. patent application No. 60/747,588, filed on May 18, 2006, both of which are herein incorporated by reference.
TECHNICAL FIELDThe present application relates to security for mobile communications devices.
BACKGROUNDAs a result of their mobility, mobile communications devices are sometimes lost or stolen. Frequently, the loss of the information stored on a missing device is of greater concern than the loss of the device itself. For example, the device may have sensitive and/or confidential information stored on it that could cause harm if acquired by others. Such sensitive information could include, among other things, stored messages of a confidential nature, and stored communications information that would allow a third party to masquerade electronically as the person to whom the mobile device rightfully belongs.
In some mobile communications networks, once a user discovers that his or her mobile device is missing, he or she can contact the network operator or the system administrator for his or her organization and request that a “kill packet” be sent to the missing mobile device instructing the device to wipe sensitive information from its memory. However, such a system requires that the user realize that the mobile device is missing, and that the mobile device be in communication with the network. If the user relies on the device for communication, they may be unable to report it missing or stolen in a timely manner.
Thus, security for mobile communications devices remains a concern.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a block diagram showing a communications system including a mobile communications device to which embodiments described herein may be applied;
FIG. 2 is a flow diagram of a security process according to a first example embodiment;
FIG. 3 is a flow diagram showing a security sub-process that can work in conjunction with the security process ofFIG. 2;
FIG. 4 is a flow diagram showing a yet further security sub-process that can work in conjunction with the security process ofFIG. 2;
FIG. 5 is a flow diagram showing another example embodiment of a security process that can be applied to the device ofFIG. 1;
FIG. 6 is a flow diagram showing yet another example embodiment of a security process that can be applied to the device ofFIG. 1;
FIG. 7 is a flow diagram showing another security sub-process that can work in conjunction with other security processes described herein; and
FIG. 8 is a block diagram showing a mobile device server to which embodiments described herein may be applied.
It will be noted that throughout the drawings similar features are identified by the same reference numerals.
DETAILED DESCRIPTIONIn accordance with one example embodiment of the present application, there is provided a mobile communications device, comprising: a processor; a communications subsystem connected to the processor operable to exchange signals with a wireless network and with the processor; a storage element connected to the processor and having a plurality of application modules and data stored thereon, the data comprising at least user application data associated with the application modules and service data including data for establishing communications with the wireless network; and a security module operable to detect a locked state of the mobile communications device and initiate a lockout data protection timer for a predetermined duration upon detection of the locked state; and wherein the security module is operable to, after the lockout data protection timer has been initiated, detect if a password shared by the user and the mobile communications device is entered through a user input device within the predetermined duration of the lockout data protection timer; wherein the security module is operable to terminate the lockout data protection timer if entry of the password is detected within the predetermined duration; and wherein the security module is operable to perform a security action comprising erasing or encrypting at least some of the data on the storage element if entry of the password is not detected within the predetermined duration.
In accordance with another example embodiment of the present application, there is provided a method for providing security on a mobile communications device, the mobile communications device being configured to communicate with a wireless communications network and including a storage element having data stored thereon, the method comprising the acts of: monitoring to detect for the locked state of the mobile communications device and initiating a lockout data protection timer for a predetermined duration upon detection of the locked state; and monitoring, after the lockout data protection timer has been initiated, to detect if a password shared by the user and the mobile communications device is entered through the user input device within the predetermined duration of the lockout data protection timer; if entry of the password is detected within the predetermined duration, terminating the lockout data protection timer; and if entry of the password is not detected within the predetermined duration, performing a security action comprising erasing or encrypting at least some of the data on the storage element.
In accordance with a further example embodiment of the present application, there is provided a computer program product comprising a machine-readable medium tangibly embodying instructions executable on a mobile communications device for providing security on the mobile communications device, the machine-readable instructions comprising: code for monitoring to detect for the locked state of the mobile communications device and initiating a lockout data protection timer for a predetermined duration upon detection of the locked state; code for monitoring, after the lockout data protection timer has been initiated, to detect if a password shared by the user and the mobile communications device is entered through the user input device within the predetermined duration of the lockout data protection timer; code for terminating the lockout data protection timer if entry of the password is detected within the predetermined duration; and code for performing a security action comprising erasing or encrypting at least some of the data on the storage element if entry of the password is not detected within the predetermined duration.
Referring now to the drawings,FIG. 1 is a block diagram of amobile communication device10 to which example embodiments described herein can be applied. Themobile communication device10 is a two-way communication device having at least data and possibly also voice communication capabilities and the capability to communicate with other computer systems on the Internet. Depending on the functionality provided by the device, in various embodiments the device may be a data communication device, a multiple-mode communication device configured for both data and voice communication, a mobile telephone, a PDA (personal digital assistant) enabled for wireless communication, or a computer system with a wireless modem, among other things.
Themobile device10 includes awireless communication subsystem11 for exchanging radio frequency signals with awireless network50. Thecommunication subsystem11 includes a receiver, a transmitter, and associated components, such as one or more antenna elements, local oscillators (LOs), and digital signal processor (DSP). As will be apparent to those skilled in the field of communications, the particular design of thecommunication subsystem11 depends on thewireless network50 in whichmobile device10 is intended to operate.
Themobile device10 may send and receive communication signals over thewireless network50 after the required network registration or activation procedures have been completed. Signals received by the antenna through thewireless network50 are input to the receiver, which may perform such common receiver functions as signal amplification, frequency down conversion, filtering, channel selection, and the like, and analog-to-digital (A/D) conversion. A/D conversion of a received signal allows more complex communication functions such as demodulation and decoding to be performed in the DSP. In a similar manner, signals to be transmitted are processed, including modulation and encoding, for example, by DSP. These DSP-processed signals are input to the transmitter for digital-to-analog (D/A) conversion, frequency up conversion, filtering, amplification and transmission over thewireless network50 via the antenna. The DSP not only processes communication signals, but also provides for receiver and transmitter control. For example, the gains applied to communication signals in the receiver and the transmitter may be adaptively controlled through automatic gain control algorithms implemented in the DSP.
Themobile device10 includes a controller in the form of at least onemicroprocessor38 that controls the overall operation of themobile device10. Themicroprocessor38 interacts withcommunications subsystem11 and also interacts with further device subsystems such as thedisplay22,flash memory24, random access memory (RAM)26, auxiliary input/output (I/O)subsystems28,serial port30, keyboard orkeypad32,speaker34,microphone36, a short-range communications subsystem40, a clickable thumbwheel (trackwheel) or trackball (not shown), and any other device subsystems generally designated as42.
Some of the subsystems shown inFIG. 1 perform communication-related functions, whereas other subsystems may provide “resident” or on-device functions. Notably, some subsystems, such askeyboard32 and display22 for example, may be used for both communication-related functions, such as entering a text message for transmission over a communication network, and device-resident functions such as a calculator or task list.
Operating system software54 andvarious software applications58 used by themicroprocessor38 are, in one example embodiment, stored in a persistent store such asflash memory24 or similar storage element. Those skilled in the art will appreciate that theoperating system54,specific device applications58, or parts thereof, may be temporarily loaded into a volatile store such asRAM26. It is contemplated that received communication signals may also be stored toRAM26.
Themicroprocessor38, in addition to its operating system functions, enables execution ofsoftware applications58 on the device. A predetermined set ofapplications58 which control basic device operations, including at least data and voice communication applications for example, will normally be installed on themobile device10 during manufacture. Further applications may also be loaded onto themobile device10 through thenetwork50, an auxiliary I/O subsystem28,serial port30, short-range communications subsystem40 or any othersuitable subsystem42, and installed by a user in theRAM26 or a non-volatile store for execution by themicroprocessor38. Such flexibility in application installation increases the functionality of the device and may provide enhanced on-device functions, communication-related functions, or both. For example, secure communication applications may enable electronic commerce functions and other such financial transactions to be performed using themobile device10.
In a data communication mode, a received signal such as a text message or web page download will be processed by thecommunication subsystem11 and input to themicroprocessor38, which will further process the received signal for output to thedisplay22, or alternatively to an auxiliary I/O device28. A user ofmobile device10 may also compose data items such as email messages for example, using thekeyboard32 in conjunction with thedisplay22 and possibly an auxiliary I/O device28. Such composed items may then be transmitted over a communication network through thecommunication subsystem11.
The serial port30 (which may for example be a Universal Serial Bus (USB) port) inFIG. 1 would normally be implemented in a personal digital assistant (PDA)-type communication device for which synchronization with a user's desktop computer (not shown) may be desirable, but is an optional device component. Such aport30 would enable a user to set preferences through an external device or software application and would extend the capabilities of the device by providing for information or software downloads to themobile device10 other than through a wireless communication network.
A short-range communications subsystem40 is a further component which may provide for communication between themobile device10 and different systems or devices, which need not necessarily be similar devices. For example, thesubsystem40 may include an infrared device and associated circuits and components or a Bluetooth™ communication module to provide for communication with similarly enabled systems and devices. Themobile device10 may be a handheld device. Themobile device10 includes abattery12 as a power source, which will typically be a rechargeable battery that may be charged, for example, through charging circuitry coupled to theUSB port30
Wireless communication network50 is, in an example embodiment, a wireless wide area packet data network, which provides radio coverage tomobile devices10.Wireless communication network50 may also be a voice and data network such as GSM (Global System for Mobile Communication) and GPRS (General Packet Radio System), CDMA (Code Division Multiple Access), or various other third generation networks such as EDGE (Enhanced Data rates for GSM Evolution) or UMTS (Universal Mobile Telecommunications Systems). In some example embodiments,network50 is a wireless local area network (WLAN), such as for example a network compliant with one or more of the IEEE 802.11 family of standards. In some example embodiments, themobile device10 is configured to communicate in both data and voice modes over both wireless WAN and WLAN networks and to roam between such networks.
In an example embodiment,wireless gateway62 is adapted to route data packets received from amobile communication device10 over wirelessmobile network50 to destination electronic mail messaging orInternet access server68 through amobile device server66, and to route data packets received from theserver68 through themobile device server66 over the wirelessmobile network50 to a destination mobile communications device.Wireless gateway62 forms a connection or bridge between the servers and wireless networks associated with wireless e-mail communication and/or Internet access. In an example embodiment,wireless gateway62 is coupled betweenwireless network50 and a hardwired data network (for example anenterprise network70 that is located behind a firewall) that includesmobile device server66 andelectronic mail server68. Thewireless gateway62, in example embodiments, stores system configuration information, system state data, and tables that storemobile device10 information. Themobile device server66, in example embodiments, is a server located in anenterprise network70 behind a firewall and connected to thewireless gateway62 through the Internet or another connection.Mobile device server66 is configured as an enterprise's interface between theenterprise network70 and thewireless network50. Typically, a plurality ofmobile devices10 will be associated with amobile device server66 that is part of theenterprise network70 managed by an organization that the users of suchmobile devices10 are part of.Mail server68 is coupled tomobile device server66 and, in one embodiment, is a conventional electronic mail server. In another embodiment, themobile device server66 is a component of themail server68. In some embodiments, themobile device server66 may be operated by a wireless carrier that operateswireless network50.
Themobile device10stores data60 in an erasable persistent memory, which in one example embodiment isflash memory24. In various embodiments, thedata60 includesservice data61 comprising information required by themobile device10 to establish and maintain communications with the wireless communications network50 (wireless network service data) and the wireless gateway62 (gateway service data). Thedata60 may also includeother data64,user application data63 such as email messages, address book and contact information, calendar and schedule information, notepad documents, image files, and other commonly stored user information stored on themobile device10 by its user. Thedata60 may also include data required for the communications layers managed by themobile device server66 andservers68. Thedata60 often includes critical data that the user of mobile device10 (or others) does not want to be accessed by an unauthorized party.
In some examples,flash memory24 may include both a memory component that is permanently part of themobile device10, as well a removable memory including for example memory on a Subscriber Identity Module (SIM) card. Some of thedata60 may be stored on the SIM card, and some stored on permanent flash memory.
In an example embodiment,mobile device server66 is configured to periodically transmit IT (Information Technology) data protection policy messages72 (sometimes referred to as merely policy messages72) through thewireless gateway62 andwireless network50 to its associatedmobile devices10. Typically,mobiles devices10 will have a number of settings, including security settings that are governed by a data protection policy. The periodic transmission of data protection policy messages from themobile device server66 to addressedmobile device10 that are associated with themobile device server66 assists in ensuring, among other things, that each of themobile devices10 is kept up to date with the latest data protection policy. The content and frequency ofpolicy messages72 can be set by an authorized IT administrator ofenterprise network70.
In order to provide security for a lost or stolenmobile device10, themobile device10 includes asecurity module56, which in one example embodiment is implemented by a software component that is part of theoperating system54. In other embodiments, thesecurity module56 is, or is part of, aspecialized software application58 separate from theoperating system54. Thesecurity module56 includes instructions for configuring themicroprocessor38 to cause themobile device10 to carry out at least parts of the security processes that are described below. Theprocess200 shown inFIG. 2 is intended to address a security situation in which a user'smobile device10 has been lost or stolen and is no longer able to receive messages from themobile device server66 and hence cannot receive a “Kill Packet” or “Device Wipe” command. Generally, in thesecurity process200, a data protection security action (for example, a device wipe) is taken on themobile device10 if a specified amount of time passes without themobile device10 receiving apolicy message72 from its associatedmobile device server66. Thus, if themobile device10 is out of radio coverage for too long a time period, it will be wiped. Also, even if the device is in radio coverage of a wireless network, but that particular network is not a network through which themobile device10 can receive data protection policy packets from themobile device server66, then themobile device10 will be wiped—for example, if themobile device10 moves out of coverage its “home”wireless network50 into an area of alternative network coverage where the operator of the “home”wireless network50 does have appropriate coverage agreements in place, then themobile device10 will be wiped after a predetermined duration. Additionally, as will be explained in greater detail below, in some embodiments, themobile device10 will be wiped if it is turned off for too long and thus does not receive an updatedpolicy message72 due to being in the “off” state. Alternatively, in other embodiments rather than wiping the device (i.e., erasing data from the mobile device10)data60 on themobile device10 may be encrypted.
Prior to explaining the operation of a particularmobile device10 in greater detail in the context ofFIG. 2, the configuration of themobile device server66 will first be discussed. In an example embodiment, an IT manager or administrator makes a decision to enable auto-wipe security for at least some of themobile devices10 that are associated with themobile device server66, and uses an IT data protection policy editor that is coupled to themobile device server66 to set a data protection policy for the affectedmobile devices10 to automatically wipe themobile device10 when the data protection policy is out of date. As part of selecting the auto-wipe policy, the IT administrator can set both the frequency at whichpolicy messages72 are sent, and the duration of time that an auto-wipe should occur after if an updatedpolicy message72 is not received at a mobile device10 (i.e., the duration of a timer(s), as described in more detail below). In some embodiments, these values may be set at the same time or at different times (for example, via separate user interface dialogues or menus). This allows the frequency at whichpolicy messages72 are sent and the duration of timers to be configured independently. In some embodiments, the duration of the timer may be configured to be same as the frequency at whichpolicy messages72 are sent, or may be configured to be different. Setting the frequency ofpolicy messages72 to be the same as the duration of the timer (for example, setting thepolicy messages72 to be sent every 5 minutes and setting the timer duration to 5 minutes) provides a configuration in which themobile device10 cannot miss asingle policy message72 without performing a data protection security action (e.g., a device wipe). This configuration may not be advantageous for users that may be out of coverage periodically, depending on the specific timer duration/frequency ofpolicy messages72. For such users, specifying a timer duration which is greater than the frequency ofpolicy messages72 may allow one ormore policy messages72 to be missed without performing a data protection security action (depending on the specific values assigned to the frequency of thepolicy messages72 and the timer duration), if this capability is desired. By way of illustrative example only, the auto-wipe countdown timer starting time duration could be 24 hours, with the standard duration betweenpolicy messages72 being set at 8 hours, with the result that missing 3consecutive policy messages72 will result in a device wipe.
In some embodiments, the IT administrator has the option of setting the data protection policy globally for allmobile devices10 associated with themobile device server66, or for groups or classes ofmobile devices10 associated with themobile device server66, or for one or more individualmobile devices10 associated with themobile device server66.
Referring now toFIG. 8, an example embodiment of themobile device server66 will be briefly described. Themobile device server66 may be a computer implementing a server application(s) configured for performing the security processes and functions described herein. Themobile device server66 in this example embodiment comprises a processor802 (i.e., microprocessor) for controlling its operation, acommunications subsystem804 connected to theprocessor802 for communicating with thewireless network50 via thewireless gateway62 and with theprocessor802, adisplay805 such as a monitor, one or moreuser input devices806 such as a keyboard and mouse connected to theprocessor802 for sending user input signals to theprocessor802 in response to user inputs, and a memory orstorage element808 such as a hard disk drive (HDD), RAM, ROM and/or other suitable memory connected to theprocessor802, and other suitable input and output devices (not shown) as desired or required.Operating system software810,software applications812, anddata814 used by theprocessor802 are stored in thememory808. Theapplications812 anddata814 configure the operation of themobile device server66. Other features of themobile device server66 for implementing the security processes and functions described herein will be appreciated by persons ordinarily skilled in the art.
Themobile device server66 also includes asecurity module818 which, in this example embodiment, is implemented by one or more software components or modules stored inmemory808. Thesecurity module818 configures theprocessor802 to carry out at least parts of the security processes of themobile device server66 that are described herein. In one example embodiment, thesecurity module818 is configured for sendingpolicy messages72 to one or more of themobile devices10 in the plurality ofmobile communications devices10 associated with themobile device server66 at predetermined intervals in accordance with a predetermined frequency, the policy messages including instructions for execution by the one or more of themobile devices10 to enforce (i.e., initiate, modify, maintain) or terminate a data protection policy, as explained in more detail herein.
Once the data protection policy associated with one or moremobile devices10 is set to specify an auto-wipe policy, a correspondingpolicy message72 specifying the auto-wipe policy is pushed throughwireless gateway62 andwireless network50 to the affectedmobile devices10. In some embodiments, thepolicy message72 containing an auto-wipe policy is sent immediately upon the policy being changed. In other embodiments, the revised data protection policy is sent at the next regularly scheduled interval via apolicy message72. In an example embodiment, so long as the auto-wipe policy is in effect, each of thepolicy messages72 that are sent to the affectedmobile device10 will include confirmation that the auto-wipe policy is in effect. In the event that the administrator chooses to rescind the auto-wipe policy, thenext policy message72 that is sent out from themobile device server66 will omit the auto-wipe policy confirmation.
Turning again toFIG. 2, as indicated instep202, themobile device10 is configured to detect if and when apolicy message72 that specifies an auto-wipe policy is received by themobile device10. Next instep204, if apolicy message72 specifying an auto-wipe policy is received, themobile device10 sets an internal auto-wipe timer to a predetermined time duration, and starts counting down from the predetermined time duration. In an example embodiment, the predetermined time duration to be used for the auto-wipe countdown timer is set in the received policy message72 (and thus set by the IT administrator throughmobile device server66, as indicated above). In other example embodiments, the countdown auto-wipe timer duration can be set directly at themobile device10 by a user thereof (although caution may need to be exercised as user's often won't have an in depth knowledge of how oftenpolicy messages72 are actually sent). In an example embodiment, the countdown auto-wipe timer tracks absolute time relative to when thepolicy message72 is received such that any attempt by a user of the device to alter the time by re-setting the clock time and date on the device (either in a conscious attempt to thwart the pending device wipe, or in an innocent attempt to adjust to a different time zone) does not affect the total duration of time allocated to the auto-wipe countdown timer.
As indicated insteps206 and208, once the auto-wipe timer has been set and begins to countdown, themobile device10 monitors for the earliest of the following two events to occur: (a) for anew policy message72 to be received (step206); or (b) for the auto-wipe timer to time out (step208). In the event that the auto-wipe countdown timer times out before a new dataprotection policy message72 is received by themobile device10, then a device wipe is automatically performed (step212) (described in greater detail below). In the event that a new dataprotection policy message72 is received before time out of the auto-wipe timer, then the timer countdown ends (step207), and a check is done to see if the newly receivedpolicy message72 also specifies an auto-wipe policy (step202). If so, the auto-wipe timer is reset to the time specified in the newly receivedpolicy message72, and the countdown process begins again.
Turing again to step212 ofFIG. 2, a device wipe includes permanently erasing of alluser data60 stored on the permanent storage (for example flash memory24) and transient storage (for example RAM26) of themobile device10. In at least some embodiments, erasing the data includes ensuring that at least the relevant memory locations are overwritten with meaningless bits (for example all zeros or all ones). Thus, in a device wipe, in various embodiments, information required by themobile device10 to function as a communications device is deleted (thereby disabling themobile device10 as a communications device—as a possible exception, the ability of themobile device10 to be used for emergency calls such as 911 calls may be maintained), and any information such as stored email and other messages, address book lists, task items, etc. that may be confidential to the user is deleted. In some example embodiments, a device wipe can include erasing only selected classes of data60 (for example erasing of allservice data61, but notuser application data63, or alternatively, erasing alluser application data63 but not service data61).
With reference toFIG. 3, in at least one example embodiment, thesecurity module56 is also configured to wipe themobile device10 when it is turned off and missing dataprotection policy messages72. Typically, when the mobile device is in an off state its draw onbattery12 is greatly reduced and substantially all of the device's functions are suspended (for example, itsdisplay22 andwireless communications subsystem11 are shut down). Some limited device functions continue even when themobile device10 is powered off, for example, in an off device, an internal clock continues to run and the device monitors for activation of an “ON” button (so long as the battery has sufficient power). When themobile device10 is powered off, it does not have the ability to receive messages (including policy messages72) through thewireless communications subsystem11. In one example embodiment, themobile device10 is configured so that turning the device off will not thwart an impending device wipe. As indicated inprocess245 ofFIG. 3, thesecurity module56 detects if shutdown of the mobile device is initiated (for example, through user selection of a “Turn Power Off” option) while the auto-wipe countdown timer fromprocess200 is running (step250). If the device power off is initiated while the auto-wipe timer is running, then an auto-on time is set corresponding to the time remaining on the auto-wipe countdown timer (step252). If the device is still turned off when the auto-on time is reached, the device automatically powers on and performs the device wipe (step254). In example embodiments, sub-process245 can be enabled and disabled throughpolicy messages72.
Thus it will be appreciated that the security process ofFIG. 2 is based on an underlying assumption that if amobile device10 cannot receive apolicy message72, it cannot receive a kill packet, and accordingly data on the device is potentially at risk. This risk is mitigated by wiping the data automatically after a specified amount of time passes without the mobile device receiving apolicy message72. In at least some example embodiments, as indicated inFIG. 3, themobile device10 will execute the device wipe even if it is turned off prior to the expiry of the specified time duration.
The security process ofFIG. 2 (either on its own or as combined with the process ofFIG. 3) can be varied in example embodiments to reduce the possibility that a device wipe that should otherwise have occurred will not occur due to themobile device10 turning off due to a dischargedbattery12. In this regard, with reference toFIG. 4, a sub-process265 can be performed as part ofprocess200 wherein while the auto-wipe countdown timer ofprocess200 is running, thesecurity module200 monitors to determine if thebattery power12 falls below a particular threshold (step270), and if the battery power does fall below the predetermined threshold, then a device wipe is performed immediately (step272). In at least one example embodiment, the critical low battery threshold is the level at which the mobile device will automatically turn off its RF radio (namely when themobile device10 will turn off the transmitter and receiver circuitry of the wireless communications system11)—the turning off of the radio is a relevant event as themobile device10 can no longer receive a kill packet when its radio is off. In an alternate embodiment, the critical low battery threshold is a predetermined (or dynamically determined) level at which themobile device10 has just enough battery power remaining to execute the wipe process. Thus, the sub-process265 in combination withprocess200 provides a security environment in which a mobile device that is configured to automatically perform a device wipe if a new policy message is not received within a predetermined time duration will perform a pre-emptive device wipe prior to waiting for the entirety of the predetermined time duration if in the meantime battery power goes too low. Such a configuration recognizes that attempting to wait the entire duration of the countdown auto-wipe timer will be ineffective if the battery will not contain enough power to facilitate the wipe at the future time. In example embodiments, sub-process265 can be enabled and disabled throughpolicy messages72.
In some embodiments, the sub-process265 may be implemented independently of theprocess200. In such embodiments, a separate IT data protection policy rule may be implemented indicating that the device should wipe itself when the battery level falls below a predetermined threshold regardless of whether an auto-wipe countdown timer is running.
Another example of a security process that can be applied tomobile device10 according to a further embodiment will now be described with reference toFIG. 5. Thesecurity process500 ofFIG. 5 permits a user's device to be wiped when it has been lost or stolen but has not been reported as such. In such a situation, the IT administrator will not know that a kill packet should be sent, and furthermore, the device may still be receivingpolicy messages72 and accordingly a device wipe through theprocess200 will not necessarily be triggered. In an example embodiment, thesecurity module56 ofmobile device10 is configured to place themobile device10 into standby locked state upon the occurrence of certain events. While themobile device10 is in a locked mode, the device user is prevented from using substantially all of the functionality of the device, including accessing any data stored on themobile device10. In order to get the mobile device out of its locked state, the user must enter a password or other shared secret (for example through a keyboard of the device). The events that trigger placing themobile device10 into a locked state may include, for example, user selection of a device lock option; user inactivity for a predetermined duration; lack of wireless network coverage or activity for a predetermined duration or holstering or closing of themobile device10.
It will be appreciated that the trigger condition for initiating a locked state of themobile device10 may be one of: user input instructing themobile communications device10 to initiate the locked state; the occurrence of a periodic interval or the expiry of a predetermined duration (for example, a long-term timeout may be implemented by the IT administrator which causes themobile communications device10 to lock periodically after a predetermined duration from a trigger condition (such as the unlocking of the device from a previous locked state) regardless of the user activity or network coverage at the time); user inactivity for a predetermined duration (for example, as measured by a lack of user input via theuser input devices28,32); loss of communication with thewireless network50; and holstering of themobile communications device10 if the device is a holsterable device or closing of themobile communications device10 if the device is a flip-style device.
The trigger condition may also include a variance from a predetermined threshold in a communications characteristic (such as a messaging traffic pattern between themobile communications device10 and the wireless network50) between themobile communications device10 and thewireless network50, a lack of communication by themobile communications device10 with thewireless network50 for a predetermined duration of time, and a variance in the use of theinput devices28,32 from a predetermined threshold.
In thesecurity process500 ofFIG. 5, the data protection policy appliedmobile device10 has been configured to specify that a device wipe automatically be performed if themobile device10 remains in a locked state for more than a predetermined time duration. In one embodiment, the data protection policy specifying such an auto-wipe security mode can be set at theenterprise network70 by an IT administrator and provided to themobile device10 through apolicy message72 sent by themobile device server66 through thewireless network50. In a similar manner, the auto-wipesecurity process500 can be disabled by an IT administrator at theenterprise network70.
In the case where thesecurity process500 is enabled by the data protection policy applied to themobile device10, then an auto-wipe countdown timer is set to a specified time (which could be for example be specified in a message previously received from mobile device server66) as soon as themobile device10 is placed into a locked state (step504). Similar to the countdown timer used insecurity process200, the timer used inprocess500 is also based on absolute time so that changes to the clock time or calendar date on themobile device10 do not affect the countdown timer. Once the countdown timer is running, themobile device10 monitors to determine if the user authentication occurs (step506) prior to the expiry of the auto-wipe countdown timer (step508). If the user authenticates within the requisite time period (user authentication including entry of a password or shared secret to unlock the mobile device10), then the countdown timer is stopped (step512). However, if the countdown timer expires before user authentication occurs, then a device wipe occurs (step510) to mitigate against unauthorized access to data on the device.
It will be appreciated that the situation could arise where apolicy message72 enabling the auto-wipe process ofFIG. 5 is received from themobile device server66 while themobile device10 is already in a locked state. In such a situation, thesecurity module56 is configured in an example embodiment to immediately set the countdown timer to a value specified in the receivedpolicy message72 and beginprocess500. Similarly, apolicy message72 may be received at themobile device10 disabling the auto-wipeprocess500 ofFIG. 5 while the device is locked and the countdown timer is running. In such a situation, theprocess500 is terminated without requiring the user entry of the shared secret.
The sub-process245 discussed above (auto-on and device wipe at expiry of timeout period) and the sub-process265 (device-wipe when battery low and auto-wipe timer is running) can be run in combination withsecurity process500 to further enhance security. Additionally, the security processes200 and500 can both be applied simultaneously to amobile device10, with different countdown timers being used for each.
As previously noted, in the example security processes200 and500 described above, theoptional sub-process265 can be used to ensure that themobile device10 is wiped if the device battery is sufficiently discharged at the same time that an auto-wipe countdown timer is running. In at least some example embodiments, thesecurity module56 can be configured to perform a device wipe any time that the battery charge level falls below a threshold, for example, the threshold at which the device radio (wireless communications subsystem11) gets automatically turned off, regardless of whether any auto-wipe countdown timer is running or not. Thus referring toFIG. 4, step270 would be modified so that the only relevant determination to be made is if the battery power is below the threshold, and if so, then a device wipe is automatically performed (step272). In example embodiments, the modified “wipe device when battery low”process265 can be enabled and disabled throughpolicy messages72 received at amobile device10.
Another example embodiment will now be described. As noted above, one approach to mobile device security is for the IT administrator to cause themobile device server66 to send a kill packet or device wipe command to a specificmobile device10 that the IT administrator has reason to believe may be lost or stolen, perhaps due to a notification from the normal device user that he or she is missing his or hermobile device10. In such situations, the kill packet causes a device wipe immediately upon being received by themobile device10. However, there may be circumstances where a device user has misplaced his or her device, but thinks that there is a chance that they may recover it, and so the device user does not want the device immediately wiped upon advising the IT administrator of the missing device. In this regard,security process600 ofFIG. 6 provides a “delayed-wipe process” in which a delayed data protection initiate command sent (e.g., device wipe command) from themobile device server66 includes a specified delay time period (e.g., timer duration), and upon receiving the delayed data protection initiate command, themobile device10 starts delayed data protection timer (e.g., auto-wipe countdown timer) configuring themobile device10 to perform a security action such as a device wipe if one of the following events does not occur prior the expiry of the timer: (i) the device user does not unlock the device prior to expiry of the timer; (ii) themobile device10 does not receive a further message from themobile device server66 that either terminates/revokes the delayed data protection timer; or (iii) themobile device10 does not receive a further message from themobile device server66 that extends the duration of timer.
The illustrated embodiment ofFIG. 6 in which the security action to be performed is a device wipe will now be described in more detail. Theprocess600 commences when an IT administrator causes a delayed device wipe command to be sent from themobile device server66 and the command is received at the device (step602). A delayed device wipe command is similar to apolicy message72 but rather than providing details of an IT data protection policy, the delayed device wipe command instructs themobile device10 to start a timer upon receipt of the command and provides information relevant to the timer such as its duration. Typically, the transport and authentication mechanisms for bothpolicy messages72 and commands are the same, however different transport and authentication mechanism could be used if desired. After receiving the delayed device wipe command, thesecurity module56 ofmobile device10 then sets an auto-wipe countdown timer to a time specified in the received device wipe command (step604). Similar toprocesses200 and500, the auto-wipe countdown timer ofprocess600 measures absolute time so that resetting of the device clock or date has no effect on it. While the auto-wipe countdown timer is running, thesecurity module56 monitors for occurrence of any one of the following three events: (i) user authentication, which occurs when the user enters a password or shared secret to the mobile device10 (step606); (ii) receipt by the mobile device of a terminate auto-wipe command from the mobile device server66 (step608) (useful for example if the device user positively determines that they have left the device in a secure location, but they cannot access it to enter the password); and (iii) receipt by the mobile device of a delay auto-wipe command from the mobile device server66 (step612) (useful for example if the device user is reasonably certain, but not positive, that the device is in a secure location and wants more time to reach the device). Events (ii) and (iii) give the device user flexibility to contact the IT administrator and arrange for cancellation or variation of the delayed wipe command. In the event that user authentication (step606) or receipt of a terminate auto-wipe message (step608) occurs before expiry of the auto-wipe timer, than thesecurity process600 is terminated (step610). In the event of receipt by the mobile device of a delay auto-wipe command from the mobile device server66 (step612) prior to expiry of the auto-wipe countdown timer than the auto-wipe timer is reset to the new value that is specified in the received command (the auto-wipe timer can be shortened by a similar process, if desired, rather than extended). In the event that auto-wipe timer expires prior to the occurrence of one of the above events, then a device wipe is performed (steps616 and618) to erasedata60 and disable themobile device10.
The sub-process245 discussed above (auto-on and device wipe at expiry of timeout period) and the sub-process265 (device wipe when battery low and auto-wipe timer is running) can be run in combination withsecurity process600 to further enhance security. Additionally, either or both of the security processes200 and500 can be applied in conjunction withprocess600 to amobile device10, with different countdown timers being used for each.
FIG. 7 illustrates anothersecurity sub-process700 that can be applied to the mobile device either on its own, or in combination with any or all of theprocesses200,500 and600 and other sub-processes described above. Insub-process700, thesecurity module56 forces themobile device10 to go into a locked state in the event that themobile device10 is out of radio coverage for a predetermined time period, regardless of any current user input activity. As indicated instep702, thesecurity module56 is configured to monitor for a lack of radio coverage throughcommunications subsystem11, and when the lack of coverage time period exceeds a set out-of-coverage time threshold, then themobile device10 is forced into a locked state (step704) regardless of any user interaction with the device at the time. After the device enters the locked state, an authorized user will have the ability to at least temporarily unlock the device upon entry of the correct password or shared secret; however, without the entry of the password or shared secret the device will remain locked.
When sub-process700 is enabled, even if the user successfully unlocks the device, it will again lock itself if it remains out of radio coverage for the predetermined out-of-coverage threshold.Security process700 provides some assurances that when themobile device10 is out of radio coverage (and thus unable to receive a kill packet or device wipe command) that the device will be in a locked state if it is in unauthorized hands. When combined withsecurity process500, the sub-process700 can cause the device lock triggering event for starting the auto-wipe timer ofprocess500. In some embodiments, thesecurity module56 may be configured to perform a long term timeout that will lock the device every N minutes regardless of what the user is doing or what the radio coverage for themobile device10 is. Sub-process700 can be used to effectively shorten the long term timeout period by applying a shorter timeout threshold when the device is out of radio coverage. In example embodiments, the “lock device when out-of coverage”process700 can be enabled and disabled throughpolicy messages72 received at amobile device10.
In accordance with another example embodiment, there is provided amobile communications device10, comprising: a processor for controlling the operation of themobile communications device10; auser input device28,32 connected to theprocessor38 for sending user input signals to theprocessor38 in response to user inputs; acommunications subsystem11 connected to theprocessor38 for exchanging signals with awireless network50 and with theprocessor38; asecurity module56 associated with theprocessor38 for monitoring to detect for a lack of communication through thecommunications subsystem11, if the duration of the lack of communication through thecommunications subsystem11 time period exceeds a predetermined duration, performing a security action comprising erasing or encrypting at least some of thedata60 on thestorage element24,26. Thesecurity module56 may also initiate a locked state of themobile communications device10 if the duration of the lack of communication through thecommunications subsystem11 time period exceeds a predetermined duration, and perform monitoring, after the locked state has been initiated, to detect if a password shared by the user and themobile communications device10 is entered through theuser input device28,32, and if entry of the password is detected, terminate the locked state. Thesecurity module56 may be configured to only perform a security action if the duration of the lack of communication through thecommunications subsystem11 time period exceeds a predetermined duration and themobile communications device10 remains in a locked state. The monitoring to detect for a lack of communication and/or monitoring to detect if a password shared by the user and themobile communications device10 is entered through the user input device may be enabled and disabled byrespective policy messages72 received on themobile communications device10. A related method and server for sendingpolicy messages72 to themobile communications device10 is also provided.
It will be appreciated to persons skilled in the art that various alterations, modifications and variations to the particular embodiments described herein are possible. For example, although the data protection security action has been described primarily as the erasure or “wiping” ofdata60, it will be appreciated that encryption may be used as an alternative to wiping data. In addition, thedata60 which is subject to the data protection security action may be user application data63 (such as that associated with the application modules58),service data61 required to establish and maintain communications with thewireless network50,service data61 required to establish and maintain communications with thewireless gateway62, or combinations thereof. The erasure or encryption ofdata60 may be performed on some or all of each of the above-described data types, or portions thereof. In addition, in some embodiment some of thedata60 may be erased and some of thedata60 may be encrypted. The decision between thedata60 which is erased and thedata60 which is encrypted may be based on the type of data. In addition, thesecurity module56 may be configurable by the user to erase or encrypt thedata60 on thestorage element24,26. In addition, in some embodiments, wheredata60 is erased the data protection security action may further comprise overwriting (with meaningless data/bits, such as ones or zeroes) the portion of thestorage element24,26 where the erased data wasdata60 was formerly stored.
While the present application is primarily described as a method, a person of ordinary skill in the art will understand that the present application is also directed to a communications device (such as the mobile communications device described above), for carrying out the disclosed method and including components for performing each described method step, be it by way of hardware components, a computer programmed by appropriate software to enable the practice of the disclosed method, by any combination of the two, or in any other manner. Moreover, an article of manufacture for use with the apparatus, such as a pre-recorded storage device or other similar computer readable medium including program instructions recorded thereon, or a computer data signal carrying computer readable program instructions may direct an apparatus to facilitate the practice of the disclosed method. It is understood that such apparatus (i.e., a communications device such as the mobile communications device described above), articles of manufacture, and computer data signals also come within the scope of the present application. In addition, a communications system comprising a mobile data server and a plurality of mobile communication devices connected via a wireless communication network, in which the mobile data server is configured to implement at least some of the security processes herein described, and in which one or more of the mobile communication devices are configured to implement at least some of the security processes herein described, also comes within the scope of the present application.
The embodiments of the present application described above are intended to be examples only. Those of skill in the art may effect alterations, modifications and variations to the particular embodiments without departing from the intended scope of the present application. In particular, features from one or more of the above-described embodiments may be selected to create alternate embodiments comprised of a subcombination of features which may not be explicitly described above. In addition, features from one or more of the above-described embodiments may be selected and combined to create alternate embodiments comprised of a combination of features which may not be explicitly described above. Features suitable for such combinations and subcombinations would be readily apparent to persons skilled in the art upon review of the present application as a whole. The subject matter described herein and in the recited claims intends to cover and embrace all suitable changes in technology.