System and method for safe booting electronic devices

An improved system and method for safe booting an electronic device. In situations such as where a virus is infecting various devices within a network, the present invention provides an authentication centre with the ability to instruct a device on the network to safe boot. During the safe boot, it can be arranged such that no third party applications are run, only backup, restoration, or uninstallation of programs are possible, and/or only programs in the device's read-only memory are loaded. The present invention also provides a user with the ability to go through the boot process in a step-by-step manner.

FIELD OF THE INVENTION

The present invention relates generally to mobile electronic devices. More particularly, the present invention relates to mobile electronic devices including a “safe boot” where only ROM-based, factory-installed, or trusted software is loaded during the startup process.

BACKGROUND OF THE INVENTION

Open platform devices such as mobile telephones, personal computers and personal digital assistants include large amounts of software. In many instances, some of the individual software programs may be malicious and/or do not behave satisfactorily with other software programs on the device. In the case of a virus or a propagating Trojan horse (worm) attack, virus killing programs may not react quickly enough to prevent the malicious entity from contaminating other programs and/or any data on the device. Furthermore, in devices such as mobile telephones, there may not be any virus killing programs installed at all.

Virus killers have recently been implemented on open mobile phone platforms. These programs, however, require a network connection in order to update their virus databases. Although platform security enhancements help to reduce worm and virus threats, they cannot completely eliminate them. In any event, it is extremely important for the device to be capable of halting the propagation of harmful software from the devices extremely quickly.

Various safe-boot systems currently exist for allowing a device to start up in a “safe” mode. In a safe boot, the end user is given the opportunity to go step-by-step through the boot process. This is often initiated by actuating a certain key, such as a “function” key on a personal computer.

One system for implementing a safe boot is described in U.S. Pat. No. 6,640,316, issued on Oct. 28, 2003 and incorporated herein by reference. In this system, the contents of a diagnostics indicator are evaluated to determine whether the indicator contains a “simple boot” value. In at least one embodiment, the “simple boot” value is equivalent to a “set” state. The method includes determining, if the diagnostics value is set, whether a platform corruption has occurred. If the simple boot flag is set and a platform corruption has not occurred, then a simple boot is performed. Otherwise (i.e., either the simple boot flag is not set or a platform corruption has occurred, or both) one or more diagnostic routines are executed.

In many Symbian telephones and other conventional systems, a safe boot can be conducted by loading only programs stored in the devices read-only memory (ROM) or other software whose trustworthiness can be assured by other methods. However, the decision whether to load programs from the device's ROM is based on self-diagnostics and is not dependent on any external commands. Furthermore, a mobile phone may reach a condition where it can no longer boot properly due to user data failure.

SUMMARY OF THE INVENTION

The present invention permits a network within which a mobile device is located to instruct the mobile device to start up in a safe mode in which no third party programs can be run, and/or wherein only the backup, restoration and uninstallation of programs are possible, and/or in which no third party software is started in the boot process. The present invention also provides for an operator-initiated safe-boot, wherein the user can actuate one of several “triggers” to begin the safe-boot process.

The present invention provides for a number of advantages for mobile devices, such as mobile telephones, over the prior art. For example, with the present invention it can be virtually ensured that the device always boots up, because ROM-based software is nearly always bootable. The end user can also address and solve problems in the device without having to take the device to an after-sales service point for maintenance. Additionally, the present invention provides all of the devices on a network with the ability to be informed of when a safe boot may be necessary. The present invention can also be incorporated into virtually any type of electronic device that communicates within a network.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention provides a network within which a mobile device is located with the ability to instruct the mobile device to start up in a safe mode, in which no third party programs can be run, or only backup, restore and uninstallation of programs are possible, or in which no third party software is started in the boot time.

FIG. 1shows an exemplary system10in which the present invention can be utilized, comprising multiple communication devices that can communicate through a network. The system10may comprise any combination of wired or wireless networks including, but not limited to, a mobile telephone network, a wireless Local Area Network (WLAN), a Bluetooth personal area network, an Ethernet LAN, a token ring LAN, a wide area network, the Internet, etc. The system10may include both wired and wireless communication devices.

For exemplification, the system10shown inFIG. 1includes a mobile telephone network11and the Internet28. Connectivity to the Internet28may include, but is not limited to, long range wireless connections, short range wireless connections, and various wired connections including, but not limited to, telephone lines, cable lines, power lines, and the like.

The exemplary communication devices of system10may include, but are not limited to, a mobile telephone12, a combination PDA and mobile telephone14, a PDA16, an IMD18, a desktop computer20, and a notebook computer22. The communication devices may be stationary or mobile as when carried by an individual who is moving. The communication devices may also be located in a mode of transportation including, but not limited to, an automobile, a truck, a taxi, a bus, a boat, an airplane, a bicycle, a motorcycle, etc. Some or all of the communication devices may send and receive calls and messages and communicate with service providers through a wireless connection25to a base station24. The base station24may be connected to a network server26that allows communication between the mobile telephone network11and the Internet28. The system10may include additional communication devices and communication devices of different types.

The communication devices may communicate using various transmission technologies including, but not limited to, Code Division Multiple Access (CDMA), Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), Time Division Multiple Access (TDMA), Transmission Control Protocol/Internet Protocol (TCP/IP), Short Messaging Service (SMS), Multimedia Messaging Service (MMS), e-mail, Instant Messaging Service (IMS), Bluetooth, IEEE 802.11, etc. A communication device may communicate using various media including, but not limited to, radio, infrared, laser, cable connection, and the like.

FIGS. 2 and 3show one representative mobile telephone12according to one embodiment of the invention. It should be understood, however, that the present invention is not intended to be limited to one particular type of mobile telephone12or other electronic device. The mobile telephone12ofFIGS. 2 and 3includes a housing30, a display32in the form of a liquid crystal display, a keypad34, a microphone36, an ear-piece38, a battery40, a communication link42(for example, in the form of an infrared port), an antenna44, a smart card46in the form of a universal integrated circuit card (UICC) according to one embodiment of the invention, a card reader48, and mobile telephone circuitry50. In addition to the above, the mobile telephone12can include a wide variety of input devices, including but not limited to an external keypad, a stylus, a built-in computer mouse, and/or other devices. The mobile telephone circuitry50includes remote interface circuitry52, coded circuitry54, a controller or processor56and a memory58. Individual circuits and elements are all of a type well known in the art, for example in the Nokia range of mobile telephones.

The present invention is described herein as pertaining to a network of mobile telephones12. However, it should be understood that the present invention is not limited to mobile telephones12or any particular type of electronic device.

As discussed previously, there may be occasions where it is desirable to safe boot any mobile telephones12that exist within the mobile telephone network11. For example, if a virus begins infecting various mobile telephones12within the mobile telephone network11, an operator of the mobile telephone network11may decide that all mobile telephones12within the mobile telephone network11should be safe booted to prevent further infections and/or to fix problems that have resulted from an infection.

When the operator determines that one, some, or all of the mobile telephones12must be safe booted, an authentication centre, represented at27inFIG. 1, initiates a special mode of operation as discussed below. The authentication centre27, like the mobile telephone12, includes features such as a processor, a data communication link and a processor or controller. The operator then initiates a re-authentication of all mobiles in their network. This process is depicted inFIG. 4.

As represented at410inFIG. 4the mobile telephone12starts authentication with the GSM network authentication centre27. The authentication centre27transmits a random challenge, in the form of a 128-bit number referred to as RAND, to the mobile telephone12at step420. This may also be relayed by other network elements, e.g. in a general packet radio service (GPRS) it is relayed by a Serving GPRS Support Node (SGSN).

The present invention essentially alters the meaning of RAND so that there is a specific RAND value that is never used for anything other than initiating a safe boot operation. When a compliant mobile telephone12receives this RAND value, the mobile telephone12sets an internal flag to “boot in safe mode” at step430. The mobile telephone12responds with the calculated 32-bit signed response, referred to as an SRES (based upon the dummy RAND described above) at step440, so that the authentication centre27knows that the special value has been received. However, the authentication centre27then deliberately fails the authentication at step450, causing the mobile telephone12to initiate safe boot procedures at step460. It is also possible that, before the safe boot procedure is initiated at step460, the mobile telephone12could query the user regarding the upcoming procedure.

The next time that the authentication centre27transmits a RAND to the mobile telephone12at step470, it is a “normal” RAND and the authentication process proceeds correctly, with the mobile telephone12transmitting an appropriate authentication response at step480. In this situation, the authentication centre27recognizes that this particular mobile telephone12has already been issued an altered RAND, and the mobile telephone12knows that it should be now starting up in safe mode, which occurs at step490.

FIG. 5is a flow chart showing the actions that occur if the mobile telephone12is a non-compliant phone. If the mobile telephone12is a non-compliant phone, it only calculates the correct SRES response at step510. Because the authentication centre27will refuse authentication at step520, the user will receive an error message (such as “not allowed”) at step530. The user would then restart the mobile telephone12at step540and, after the restarting process has been completed at step550, the authentication will be successful at step560. In this manner, all mobile telephones12can be informed about a requirement to perform a safe boot without transmitting a message, such as a SMS messages, that might not even get through to the mobile device12in the first place.

The RAND/SRES authentication process is a very low-level operation in GSM systems, so the software handling the RAND/SRES authentication process can be very well-shielded from viruses and other types of “malware” and can therefore be considered “trusted.” This system and method therefore provides an operator with the possibility to address all of the devices that exist on the mobile telephone network11without needing to know which particular devices are actually vulnerable. All of the steps required to complete this process can be implemented by computer program code stored in the memory58of the mobile telephone12and the authentication centre27.

One issue that may arise during the implementation of the present invention is that non-compliant phones would receive one “access denied” message and, in the case of the re-authentication of currently authenticated mobile telephones12, the re-authentication process can cause a call to be dropped. However, this issue can be resolved in a number of manners. For example, compliant mobile telephones12can answer the dummy RAND with a dummy SRES, indicating that they have accepted the reboot instruction and will comply. Non-compliant mobile telephones12, on the other hand, respond with a correct SRES and will either be allowed to remain on the network (if they already were on the network when the authentication took place) or receive an “access denied” only one time (if they were switched on and were authenticated because of that). In this way, no calls need to be dropped from non-compliant mobile telephones12.

In another embodiment of the present invention, a safe boot can also be activated and initiated by the mobile telephone12itself in various situations. For example, a safe boot can be activated whenever the mobile telephone12detects a fatal error on device user data which needs to be recovered, as well as when the mobile telephone12has been locked into a safe mode (e.g. an extended device lock). The lock can be set by a safe boot application to ensure proper functionality. A safe boot could also be initiated if a virus is detected during a normal use condition.

Whenever the safe boot mode is required, the whole system software may be commanded to enter into a restricted mode. The special safe boot application may then be launched to handle the functionality that is allowed in the safe mode.

According to one embodiment of the invention, when the mobile telephone12is in a safe mode, a number of actions occur. For example, user data drives (C:, D:, E: etc. drives) may not be mounted initially. Executable files may be loaded from ROM only. ROM-based components may not attempt to scan or read user data. For this reason, only ROM-based (factory) software settings and data files may be used to boot up the mobile device. Additionally, the mobile device may be switched to an off-line state, where communications with the network may be controlled by the safe boot application. Furthermore, a special safe boot application user interface may be initiated to handle that functionality that is possible in the safe boot mode.

Potential options that can be implemented in the safe boot mode include, but are not necessarily limited to, the mounting of user data drive(s), the formatting of user data, the uninstalling of software components, the unlocking of the mobile device from the safe mode, and the connecting of the mobile device to cellular network services.

According to the present invention, the safe boot mode can be activated in various ways. For example, but without limitation, the safe boot mode can be activated by having the network instruct the cellular software boot manager (and the whole system) to enter safe mode. As discussed above, this can be accomplished through the use of the authentication centre27. Alternatively, the safe boot mode can be activated by any boot manager (cellular, base or system) that detects that a defined safe boot key combination has been pressed by an end-user. The safe boot mode can also be activated when any boot manager detects a fatal system failure that requires the entire system to enter safe boot mode. The safe boot mode can also be initiated when the mobile device security subsystem requires a safe boot, for example when a device lock is required.

In the Symbian software boot, there are two principal phases: the Symbian software base boot and the Symbian software system boot. Both of these phases use cellular modem software via an adaptation layer. All of the subsystems for the mobile telephone12need to be aware of the safe boot mode in order to offer controlled access to phone services.

FIGS. 6,7and8show architectural representations of how a device enters a safe boot mode. Architecturally, to support a safe boot means ensuring that both the base boot and the system boot know that a safe boot has been requested by the cellular modem software.FIG. 6shows the Symbian software base boot architecture, andFIG. 7shows the higher level Symbian software system boot architecture.FIG. 8shows a general, simplified boot sequence.

In the Symbian software base boot architecture ofFIG. 6, the key architectural subsystems are the cellular modem software610, the Symbian software base boot620, and the Symbian software system boot630. The cellular modem software610controls the cellular network640and device security subsystems650such as SIM locks and device locks. The cellular modem software610has its own cellular software boot manager which wakes up necessary services for the Symbian software.

The Symbian software base boot620has a base boot manager which takes care of the Symbian software-side low-level (base) startup. The base boot manager also synchronizes the boot including mode with the cellular modem boot manager610. The Symbian software base boot manager retrieves the boot mode information from the cellular software boot manager610via an adaptation layer670. In the safe mode, the Symbian software base boot manager activates a safe boot initiator660which initiates the Symbian base software (e.g., the file manager, kernel, etc.) into the proper mode. The Symbian software base boot manager then starts the Symbian software system boot630which wakes up the high-level frameworks, such as the telephony application, application shell, etc., and other applications offering user interfaces to the end user. In the safe mode, the special safe boot applications are launched to handle the issue.

In the higher-level Symbian software system boot architecture ofFIG. 7, the Symbian software system boot630starts all boot-aware high-level frameworks into the safe mode. The framework can be an application user interface, a server process, a hardware device driver, or any software entity that needs to be started upon boot. The system boot manager starts the necessary key frameworks, such as telephony and system frameworks, into safe mode first. One special component that is started later in the process is the safe boot application720. The safe boot application720initially offers a visible user interface to the end user to display functionality that is only available in the safe mode. This functionality can include, but is not necessarily limited to, the uninstalling applications to eliminate malicious applications; the formatting of user data to recover from corrupt data errors; and the unlocking of the mobile device from the safe mode.

The safe boot application may offer the option of switching to the normal mode, and the started frameworks can listen to mode changes. Therefore, the system boot manager of the present invention offers an application programming interface (API) for the frameworks to switch modes and to obtain notifications from boot mode changes caused by the safe boot application.

As mentioned above,FIG. 8is a representation of a simplified boot sequence that is used to start system boot manager up and running in the safe mode. The base boot manager may alter the boot mode to “safe” when needed.

FIG. 9is a representation of the various boot modes available according to one embodiment of the present invention. The mobile device has various boot modes to reflect different use situations. In a normal mode910, the mobile telephone12is started when the end user simply actuates the power button or key when the device is in an “off” position915. In an “alarm” mode920, the mobile telephone12is started when a set clock alarm activates when the mobile telephone12is in the off position915. In a “charging” mode930, the mobile telephone12is started when a charger is connected to the mobile telephone12when the mobile telephone12is in the off position915. In the safe mode940and as discussed earlier, the mobile telephone12is booted into the safe mode940. According to one embodiment of the invention, the method for entering the safe mode940is specified by mobile device manufacturer, e.g. by actuating a pre-defined key combination on the keypad34pressed during the boot process. In some devices, the safe mode940can also be entered into by pressing a specified, inlaid button using a stylus, pencil or similar instrument. In the safe mode940, the safe boot application offers recovery actions to the end user and allows optional switching back to the normal mode910.

In an alternate embodiment of the invention, any boot manager (e.g., the cellular, base, or system boot manager) that detects special accessory hardware (such as a MMC card, a RFID based device, etc.) that requires the entire system to enter the safe boot mode can instruct the mobile device to enter the safe boot mode. Furthermore, a wireless identity card (such as a SIM lock), represented at680inFIG. 6, could also cause the whole system to enter the safe mode915.

While several embodiments have been shown and described herein, it should be understood that changes and modifications can be made to the invention without departing from the invention in its broader aspects. For example, but without limitation, although the present invention may be particularly useful for mobile telephones12that have very limited anti-virus capabilities, the present invention can be incorporated into virtually any type of electronic device that resides within a network, regardless of whether the device is a mobile telephone12, another type of mobile electronic device, or a type of non-mobile electronic device. Additionally, although present invention as described herein refers to Symbian software, other software/operating systems could also incorporate the principal features of the present invention. The present invention can be incorporated into mobile telephones that have WLAN capabilities, such as the Nokia 9500 series of mobile telephones. Furthermore, a safe boot operation according to the present invention could also be initiated by corporate security systems via a virtual private network (VPN) or by transmitting an instruction to operators that all corporate phones must be safe-booted. In one alternative embodiment of the invention, the safe-boot could be initiated through an RFID or Bluetooth device. This embodiment could be used in, for example, corporate networks. As an exemplary use of this embodiment, the following situation can be considered: When a visitor arrives into the corporate building, his/hers phone could be forced to safe-boot in the reception area. As a consequence, the visitor could be prevented from running any 3rdpart application in the corporate network. Various features of the invention are defined in the following Claims: