The instant invention relates to the field of computer security and in particular to a method and system for securely storing temporary data stored in non-volatile memory.
Information theft has become a major concern for every organization. A misconception shared by many is that printers, copiers, and fax machines are benign office machines and no more of a security threat than a mechanical typewriter. A recent survey of IT professionals revealed that 47% believed that copiers and printers didn't contain non-volatile memory such as a hard drive. Additionally, 65% believed that copiers and printers presented little or no risk to data security.
Since non-volatile memory such as disk-storage is substantially cheaper for data volumes than volatile memory such as RAM, modern copiers, printers, and fax machines often contain non-volatile memory in the form of hard drives similar to those found in workstations, personal computers, and laptops. These devices automatically store on the hard drive any digital data that are received or generated for printing, copying, or faxing, i.e. they often contain sensitive data on the hard drive resulting in an often overlooked security risk. The stored data are easily accessed by removing the hard drive from the device, for example, during maintenance or when the device is powered down, and connecting the hard drive to a computer. In high security areas, for example, military installations, there is often a requirement that all data stored in non-volatile memory such as a hard drive be inaccessible. To fulfill this requirement, security personnel must remove each hard drive from each common area device after power-down, store the same in a secure location such as a safe, and reinstall the same prior to power-up of the devices. As is evident, this is an expensive and inefficient routine for securing data.
Another security risk of non-volatile memory is that even when data have been “erased,” it is still possible to recover and read the data. For example, data are recovered because only a directory entry or a pointer to the data is often erased in erasing of data, because data compression or multi-bit coding techniques do not overwrite a substantial portion of the data, or because techniques exist for detecting residual elements of a magnetic pattern remaining on the disk after an overwrite has been used.
It would be beneficial to overcome the drawbacks of the present technology and to increase data security in devices such as printers, copiers, and fax machines.
It is, therefore, an object of aspects of the invention to provide a method and system for securing temporary data stored in non-volatile memory.
In accordance with an aspect of the present invention there is provided a method comprising: providing a device comprising a non-volatile memory; receiving digital data for being stored in the non-volatile memory; prior to storing the digital data in the non-volatile memory, encoding the digital data using a key stored in a volatile memory that is supplied with power only when the device is in a powered-on condition, the volatile memory for being erased automatically upon interruption of supply of power thereto, the encoding for preventing access to the digital data in a non-encoded form absent the key; storing the encoded digital data in the non-volatile memory; and, subsequent to storing the encoded digital data in the non-volatile memory, erasing the key from the volatile memory.
In accordance with an aspect of the present invention there is provided a system comprising: volatile memory for storing a key therein, the volatile memory for being erased upon interruption of supply of power thereto; a communication and output port; circuitry connected to the communication and output port, to the volatile memory and for being connected to non-volatile memory of a device, the circuitry for: receiving temporary digital data for storage in the non-volatile memory of the device; encoding the temporary digital data using the key stored in the volatile memory, the encoding for preventing access to the encoded temporary digital data absent the key, the key other than stored within non-volatile memory of the device; providing the encoded temporary digital data for storage in the non-volatile memory; retrieving the encoded temporary digital data from the non-volatile memory; decoding the retrieved encoded temporary digital data using the key stored in the volatile memory; and, providing the temporary digital data.
In accordance with an aspect of the present invention there is provided a computer readable storage medium having stored thereon executable commands for execution on a processor, the processor when executing the commands performing: one of generating a key and receiving a key for use in encoding; storing the key in volatile memory; receiving digital data for storage in non-volatile memory of a device; encoding the digital data using the key stored in the volatile memory, the encoding for preventing access to the encoded digital data in a non-encoded form absent the key, the key other than stored within non-volatile memory of the device; providing the encoded digital data for storage in the non-volatile memory; retrieving the encoded digital data from the non-volatile memory; decoding the retrieved encoded digital data using the key stored in the volatile memory; and, providing the digital data.
In accordance with an aspect of the present invention there is provided a method comprising: providing a device for processing digital data and comprising a queue, the queue comprising non-volatile memory; receiving digital data for being stored within the queue and processed by the device; ciphering the received digital data with a key to provide secure data, the key stored in volatile memory and for being erased when at least one of power is other than provided to the volatile memory and the received digital data has been ciphered; storing the secure data within the queue; retrieving the secure data from the queue; deciphering the secure data using the key stored in volatile memory; and processing the deciphered secure data.
Exemplary embodiments of the invention will now be described in conjunction with the following drawings, in which:
a is a simplified flow diagram of a method for securing data stored in non-volatile memory according to an embodiment of the instant invention;
b is a simplified flow diagram of a method for securing data stored in non-volatile memory according to an embodiment of the instant invention;
a is a simplified block diagram of a system according to an embodiment of the instant invention for implementing the methods shown in
b is a simplified block diagram of a system according to an embodiment of the instant invention for implementing the methods shown in
c is a simplified block diagram of a system according to an embodiment of the instant invention for implementing the methods shown in
d is a simplified block diagram of a system according to an embodiment of the instant invention for implementing the methods shown in
The following description is presented to enable a person skilled in the art to make and use the invention, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the scope of the invention. Thus, the present invention is not intended to be limited to the embodiments disclosed, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
Referring to
At 12, a key is generated using, for example, processor 104 executing commands stored in memory 108 and is then stored in volatile memory 106, for example, Random Access Memory (RAM) of the processor 104. Encoding data using, for example, a cipher or encryption key and generation of the same is well known in the art and there are numerous encryption processes applicable. Depending on: the processing capability available; the digital data to be encoded; and, the security level to be ensured, one of skill in the art will readily select a suitable encryption process such as, for example, one of the symmetric encryption processes—Twofish, Serpent, AES, Blowfish, CAST5, RC4, TDES, and IDEA—to name a few. Alternatively, the key is generated outside the system 100, for example, using a trusted entity 125 installed in the server 124 or a key service provider connected to the server, transmitted to the device 120, 122 and received at port 102. Upon receipt, the key is then stored in the volatile memory 106.
At 14, digital data are received for storage, for example in a queue in the non-volatile memory 110. The received digital data are, for example, temporary digital data such as cache data or buffer data and are, for example, allocated to a temporary file directory. For example, temporary digital data are stored in non-volatile memory in the printer—received digital data for printing multiple copies; in the copier—digital data generated by scanning a document for printing multiple copies; in the fax machine—received digital data or digital data generated by scanning a document for sending multiple faxes; and in the workstation—temporary files of various applications for document recovery and temporary internet files for multiple access of a same website, to name but a few non-limiting examples. Upon receipt, using the processor 104, the digital data are encoded using the key stored in the volatile memory 106—at 16—in order to secure the same. The encoded digital data are then stored in the non-volatile memory 110—at 18.
As long as there has been no interruption of supply of power—at 20—to the volatile memory 106, the key is available enabling decoding the encoded digital data. For example, upon receipt of a request the processor 104 retrieves the encoded digital data from the non-volatile memory 110—at 22—decodes the retrieved encoded digital data using the key stored in the volatile memory 106—at 24—and provides the decoded digital data—at 26, for example, for printing multiple copies.
Upon interruption of supply of power to the volatile memory 106—at 20—data within the volatile memory 106—i.e. the key—is erased—at 28. Absent the key, access to the encoded digital data stored in the non-volatile memory 110 is prevented. For example, the volatile memory 106 is erased upon power-down of the device 120, 122, 130. This provides a simple solution for securing temporary data stored in non-volatile memory without user intervention, i.e. when the device 120, 122, 130 is powered-down, for example, after office hours or for maintenance, access to the digital data stored in the non-volatile memory is automatically prevented. Accordingly, removing the non-volatile memory from the device 120, 122, 130 and retrieving the encoded digital data is futile. As is evident, techniques for detecting residual elements of a magnetic pattern remaining on the disk are also not useful in accessing the digital data for the same reason.
Optionally, the processor 104 also interrupts the power supply to the volatile memory 106 prior to switching of the device 120, 122, 130 into one of a stand-by mode and hibernation mode. Erasing the key prior to switching into the one of a stand-by mode and hibernation mode is beneficial in situations where the device 120, 122, 130 is used by numerous users, for example, a central copier in an office. For example, a dishonest employee is then prevented from printing documents belonging to colleagues at times, for example during lunch break, when the copier is not used but still powered-on.
Referring to
During a first time period the method for securing data stored in non-volatile memory that is shown in
At 34, second digital data are received for storage in the non-volatile memory 110. Upon receipt, using the processor 104, the second digital data are encoded using the second key stored in the volatile memory 106—at 36. The encoded second digital data are then stored in the non-volatile memory 110—at 38. As long as there has been no interruption of supply of power—at 20—to the volatile memory 106, the second key is available enabling decoding of the encoded digital data. For example, upon receipt of a request the processor 104 retrieves the encoded second digital data from the non-volatile memory 110—at 40—decodes the retrieved encoded second digital data using the second key stored in the volatile memory 106—at 42—and provides the decoded digital data—at 44, for example, for printing multiple copies.
Upon interruption of supply of power to the volatile memory 106—at 20—data within the volatile memory 106—i.e. the key—is erased—at 28. Absent the key, access to the encoded second digital data stored in the non-volatile memory 110 is prevented. For example, the volatile memory 106 is erased upon power-down of the device 120, 122, 130.
Of course, it is possible to repeat the steps 30 to 44 numerous times, i.e. generating a new key after either a further predetermined time interval has elapsed or a predetermined event has occurred, and using the new key for encoding the received digital data, until the device 120, 122, 130 is powered-down.
For example, a new key is generated after predetermined time intervals; after completion of an application executed on the device—for example, after a web browser application is closed, access to the temporary internet files stored during this session is prevented by generating a new key; during a logoff process; and during a process for switching the device into one of a stand-by mode and hibernation mode. Alternatively, a new key is generated in dependence upon a state of the temporary data store and the future usefulness of data therein for its intended purpose. For example, an empty print queue prompts generation of a new key.
The above methods for securing data stored in non-volatile memory are implementable using the system 100 shown in
Alternatively, in the system 200 that is shown in
Further alternatively, as shown in the system 300 according to the invention of
As is evident, the systems shown in
Numerous other embodiments of the invention will be apparent to persons skilled in the art without departing from the spirit and scope of the invention as defined in the appended claims.
This application claims the benefit of U.S. Provisional Application No. 60/929,754 filed on Jul. 11, 2007, the entire content of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60929754 | Jul 2007 | US |