1. Field of the Invention
The field of the present invention is personal communication systems (hereinafter “PCS”), also commonly known as personal digital assistants (PDA's), smart phones, and hand-held gaming or entertainment devices.
2. Background
A typical personal communication system (PCS), such as a PDA, a smart phone, and a hand-held gaming or entertainment device, has many components integrated together. Some of the common components are CPU, memory for program execution, memory for storing programs and data, microphone, speaker, camera, display, keypad, touchpad, general purpose input/output module (such as a Bluetooth®), environmental sensor, global positioning system (GPS) module, battery/power module, cellular network module, wireless network module, etc., as depicted in U.S. Pat. No. 7,321,783. Depending on the particular use for a PCS, many variations are possible utilizing all or some of these, and other, components.
An operating system (often referred to as “firmware”) is responsible for proper control and operation of all the components of a PCS. Some of the common operating systems used on smart phones, for instance, are Microsoft Windows Mobile®, Google Android®, Palm OS®, Nokia Symbian®, and RIM Blackberry® OS, to name a few. The operating system provides a platform on which applications can access and utilize various components of a PCS to accommodate a wide range of user experience, such as making a phone call, sending and receiving text messages, listening to music, recording voice memos, taking or watching pictures or videos, browsing the Internet, playing games, etc. In fact, the functionalities of PCS's are quite analogous to how personal computers are used today, but PCS's are quite compact and have far less powerful processing power than typical personal computers.
The files used by a PCS's operating system and applications are usually stored in memory, typically in a flash memory embedded in the PCS or in a removable media that extend the capacity of the embedded flash memory. The flash memory or the removable media would essentially look like a local storage device of a personal computer (i.e. a hard disk drive) to the PCS operating system and would have file systems that manage the stored files. The operating system of a PCS uses the file systems to handle file requests from applications or from the operating system itself in a manner quite analogous to how an operating system running on a personal computer handles file requests. Furthermore, the way the operating system of a PCS manages its various components are very similar to how a personal computer manages its various components programmatically. Thus, PCS's have the same kind of security vulnerabilities that personal computers have, such as viruses, malware, unauthorized access, file corruptions due to user errors or application errors, etc. To mitigate the security vulnerabilities a PCS has, the PCS often mimics various methods available to a personal computer.
For instance, a PCS may implement directory-level or file-level access controls to provide certain level of file protection against computer viruses, malware, unauthorized access, file corruptions due to user errors or application errors, etc. The drawback of this method is that this is operating system dependant. Thus, a super user, an administrator, or a process running with full access privileges can accidentally modify, delete, or corrupt important files used by the operating system or applications.
Alternatively, a PCS may use an anti-virus and/or anti-spyware program to deter malicious programs (viruses and spyware) that can inflict detrimental damages to the PCS, especially when such malicious programs gain full access privileges on the PCS. But the use of an anti-virus anti-spyware program on a PCS is quite impractical because, among many other reasons, (a) anti-virus anti-spyware programs are operating system dependent, (b) there are many different operating systems for PCS's, so it is almost impossible to develop anti-virus anti-spyware programs for various brands and models of PCS's, (c) virus/spyware signature files are getting bigger as the number of viruses and spyware are growing, (d) the processors used in most PCS's are not quite powerful enough to perform continuous scan for viruses and spyware, and (e) anti-virus anti-spy programs may have false-positive and erroneously delete or quarantine important files used by the operating system or applications, making PCS's not functional.
In addition, one of the growing concerns in today's wide use of PCS's has to do with data security. Because of their portable sizes, PCS's are often lost or stolen while they hold sensitive data. Anyone who has gained physical access to a PCS can easily access the data stored in the PCS. Many PCS users don't lock their PCS's with passwords. And even if a PCS is locked with a password, there are many ways to rest the password without losing the data stored in the PCS. Some PCS's, such as some smart phone models, have a feature commonly called “remote device wipe” in which a remote command can be sent to a PCS to wipe out the data stored in the PCS. But this “remote device wipe” won't work if the PCS is not connected to the network (i.e. the PCS is in “airplane mode” or the SIM card used by certain cellular carriers is taken out of the PCS).
Thus, a new approach is needed to address the security vulnerabilities inherent to PCS's.
The present invention is directed to a PCS. The PCS includes all or some of the common components mentioned previously, such as CPU, memory for program execution, microphone, speaker, camera, display, keypad, touchpad, general purpose input/output module (such as a Bluetooth®), environmental sensor, global positioning system (GPS) module, battery/power module, etc., but memory for storing programs and data, cellular network module, and wireless network module are replaced with a storage device disclosed in the related applications referenced above.
The storage device includes a device processor, a CPU interface, a network interface, and a system interface. The device processor is communicably connected to the CPU of the PCS through a CPU interface. The device processor is also communicably connected to a network through network interface that can be cellular network interface (or satellite network interface) and/or wireless network interface, such as WiFi, WiMAX, etc. The CPU interface enables the device processor to communicate exclusively with the CPU of the PCS. The system interface is configured to enable the device processor to manage one or more hardware components included as part of the PCS. The network interface enables the device processor to communicate over a network with select file servers of a service provider to the exclusion of other file servers. A storage means is communicably connected to the device processor and includes first and second designated storage sections. The device processor has read-write access to both storage sections and controls CPU access to each storage section, giving the CPU read-only access to the first storage section and read-write access to the second storage section. A removable media storage component is also communicably connected to the device processor.
The storage device may be constructed with additional options to improve functionality of the storage device and the PCS with which the storage device is associated. Any of these options may be implemented on their own or in combination.
As one option, the storage device may include an encryption module, with the device processor being adapted to utilize the encryption module for one or more encryption/decryption functions. Such functions may include encrypted communications with the select file servers, encrypted storage of files on the storage means, and encrypted storage of files using the removable media storage component. Encryption keys used by the encryption module may be obtained from one of the select file servers through the network interface of the storage device.
As another option, the device processor may be programmed to follow a series of sequential steps when a request for a file is received from the CPU. First, the device processor determines whether the file is cached within the first designated storage section, and if the file is there, provides the file to the CPU on a read-only basis (without giving the CPU any capability of modifying or deleting the file). Next, if the file is not found cached, the device processor requests the file from one or more of the select file servers. If the file is available from one of the select file servers, the file is retrieved, cached within the first designated storage area, and provided to the CPU on a read-only basis. Lastly, if the file is not otherwise found, a file unavailable notice is returned to the CPU. As an additional step within this sequence, the device processor may be programmed to determine whether the file is available from the removable media storage component if the file is not available from one of the select file servers. As before, if the file is available, it is cached and provided to the CPU on a read-only basis.
As yet another option, the device processor may be programmed to monitor, control, and/or process user files written to the second designated storage section. Also, if the CPU is communicably connected to a network through the network interface of the storage device, the device processor may be programmed to monitor, control, and/or process network traffic passing through the network interface to and from the CPU.
As yet another option, the storage device may be programmed to copy user files stored within the second designated storage area, whether for backup or archive purposes, to the removable media storage component. Alternatively, or in addition, the storage device may be programmed to copy user files stored within the second designated storage area to one or more of file servers of a service provider if the service provider offers such as an optional data backup/archiving service.
As yet another option, the device processor may be adapted to delete a cached file from the storage means upon receiving a delete command for the cached file from one or more of the select file servers. Alternatively, the cached files may include a file expiration tag, with the device processor being adapted to delete a cached file according to criteria determined by the file expiration tag. Such tags may include an absolute time and date stamp, a relative time and date stamp, or some other non-time related criteria which serves as indicia for when the file should be deleted.
Accordingly, a secure PCS is disclosed. Advantages of the improvements will appear from the drawings and the description of the preferred embodiment.
In the drawings, wherein like reference numerals refer to similar components:
For purposes of the present description, the term “non-user file” means a file that is a component of an operating system of a PCS, a component of an application, or a file that is designated as one to which a user should have read-only access. The term “user file” as used herein means a file that is not defined as a non-user file and is usually generated as a direct result of the user's use of the PCS. Such user files may include temporary files generated by the operating system or the applications for the benefit of the user. Under these definitions, the delineation between a non-user file and a user file is preferably determined by PCS and network administrators and/or service providers (hereinafter simply “administrators”) for any particular PCS and network. Thus, one skilled in the art will recognize that different administrators may elect to place the same file in different categories, i.e., the administrator of a first network may choose to treat a particular file as a non-user file, while the administrator of a second network may choose to treat the exact same file as a user file.
In addition, the term “server” encompasses both a computing device configured to operate as an independent server on a network and a “virtual server”, which effectively simulates the functionality of an independent server in software and enables multiple virtual servers to be hosted by a single networked computing device. While some virtual servers may only simulate the functionality necessary to perform the function of a server, other virtual servers may simulate part or all of the hardware components of a computing device in order to replicate the desired server functionality.
Turning in detail to the drawings,
The CPU 109, loaded with an operating system, is responsible for managing the interaction between the components to form a functional PCS. In particular, the CPU 109 handles file requests that may originate from applications or from the operating system running on the PCS. These file requests arise when the applications or the operating system require access to a file which resides on either memories 112 and 113 that store programs and data. To handle the file requests, the CPU 109 is programmed with the characteristics of how the memories 112 and 113 store programs and data. As such, the CPU 109 is solely responsible for all files, both non-user files and user files, stored in the memories 112 and 113. It can add, modify, or delete files with full access rights. Thus, if the CPU 109 is compromised (i.e. the operating system is hacked, an application is infected with virus, or a malicious program is running in the background), then the functionality of the PCS is seriously compromised and sensitive data may be leaked to an unauthorized person(s).
As mentioned above, a PCS may use an anti-virus anti-spyware program to deter malicious programs (viruses and spyware). But as also mentioned above, use of an anti-virus anti-spyware program on a PCS is quite impractical because, among many other reasons, (a) anti-virus anti-spyware programs are operating system dependent, (b) there are many different operating systems for PCS's, so it is almost impossible to develop anti-virus anti-spyware programs for various brands and models of PCS's, (c) virus/spyware signature files are getting bigger as the number of viruses and spyware are growing, (d) the processors used in most PCS's are not quite powerful enough to perform continuous scan for viruses and spyware, and (e) anti-virus anti-spy programs may have false-positive and erroneously delete or quarantine important files used by the operating system or applications, making PCS's not functional.
The storage device 301 or 501 described herein is independent of the operating system of the PCS and is not constricted by having to conform to any particular protocols or file structures. The operating system of the PCS interacting with the storage device 301 or 501 needs to be programmed only with the protocol needed to request files stored on the storage device 301 or 501 or to access the peripherals of the storage device 501. Advantageously, communications between the CPU 109 of the PCS and the storage devices 301 or 501 may be performed using a small number of procedures. These procedures would be the only ones dependent on the operating system and system architecture of the PCS, and they can be standardized on any PCS platform.
Thus, a secure PCS having a storage device that has separate read-only space and read-write space, removable media component, system management interface, and network interface is disclosed. While embodiments of this invention have been shown and described, it would be apparent to those skilled in the art that many more modifications are possible without departing from the inventive concepts herein. The invention, therefore, is not to be restricted, except in the spirit of the following claims.
Priority is claimed to U.S. provisional patent application No. 61/332,075, filed May 6, 2010, the disclosure of which is incorporated herein by reference in its entirety. The present application is related to U.S. Pat. No. 7,069,351, issued on Jun. 27, 2006, U.S. Pat. No. 7,444,393, issued on Oct. 28, 2008, U.S. patent application Ser. No. 12/113,294, filed on May 1, 2008, and U.S. patent application Ser. No. 12/186,120, filed on Aug. 5, 2008, the disclosures of which are incorporated herein by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
61332075 | May 2010 | US |