WO2010109495A1 - Portable device for enciphering and deciphering data for a mass-storage peripheral device - Google Patents

Portable device for enciphering and deciphering data for a mass-storage peripheral device Download PDF

Info

Publication number
WO2010109495A1
WO2010109495A1 PCT/IT2009/000107 IT2009000107W WO2010109495A1 WO 2010109495 A1 WO2010109495 A1 WO 2010109495A1 IT 2009000107 W IT2009000107 W IT 2009000107W WO 2010109495 A1 WO2010109495 A1 WO 2010109495A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing apparatus
data
peripheral device
storage peripheral
enciphering
Prior art date
Application number
PCT/IT2009/000107
Other languages
French (fr)
Inventor
Umberto Ruggero
Davide Palusci
Original Assignee
Elsag Datamat Spa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Elsag Datamat Spa filed Critical Elsag Datamat Spa
Priority to PCT/IT2009/000107 priority Critical patent/WO2010109495A1/en
Publication of WO2010109495A1 publication Critical patent/WO2010109495A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data

Definitions

  • the present invention relates to a portable device for enciphering and deciphering data for a mass-storage peripheral device, in particular operating according to the USB
  • mass-storage peripheral devices which connect up externally to a processing apparatus (a fixed or portable computer, a PDA, etc.) for storage and keeping of data.
  • mass-storage peripheral devices using the USB communication standard specifically the USB Mass Storage Protocol standard
  • USB communication standard specifically the USB Mass Storage Protocol standard
  • USB Flash Disk USBs
  • USB keys also referred to as "USB keys”, “USB pens” or “pen drives”
  • USB hard disks are widely used for storing and transfer of data from one processing apparatus to another, affording undoubted advantages in terms of portability, robustness, reliability, and storage capacity.
  • the aim of the present invention is to solve, either totally or partially, the problems highlighted above, and in particular to provide a secure and reliable solution for enciphering and deciphering of the data stored in a mass- storage peripheral device.
  • a portable device is consequently provided for enciphering and deciphering data for a mass-storage peripheral device, as defined in claim 1.
  • Figure 1 illustrates a schematic block diagram of the architecture of a portable device for enciphering and deciphering data, according to one embodiment of the present invention
  • Figure 2 is a schematic illustration of a possible implementation of the device of Figure 1, for the USB standard.
  • Figure 3 shows a detailed block diagram of a further embodiment of the device of Figure 1.
  • a particular aspect of the present invention envisages providing a portable electronic device designed to interface with a mass-storage peripheral device and with a processing apparatus (hence being distinct and autonomous with respect to the same processing apparatus) , for handling the operations of enciphering and deciphering of the data stored in, and read from, the storage peripheral device by the processing apparatus.
  • a processing apparatus for handling the operations of enciphering and deciphering of the data stored in, and read from, the storage peripheral device by the processing apparatus.
  • the device is configured so that these operations are carried out in a way totally transparent to the processing apparatus
  • a portable device for data enciphering and deciphering comprises: a first interface unit 2, which is designed to interface with a processing apparatus 3 (for example, a personal computer) , in a wired or wireless mode, for receiving and sending data, and is provided for this purpose with appropriate means for connection to the processing apparatus and for handling of the data-transfer protocol; a second interface unit 4, which is designed to interface with a mass-storage peripheral device 5 (for example, a flash disk operating according to the USB standard) , to store or read data, and is provided for this purpose with appropriate means for connection to the peripheral device and for handling of the data-transfer protocol; a data-processing stage 6, which is operatively coupled to the first interface unit 2 and to the second interface unit 4, is, for example, constituted by an ASIC (Application-Specific Integrated Circuit) or by an FPGA (Field Programmable Gate Array) unit, implementing appropriate algorithms in VHDL (ASIC (Application-Specific Integrated Circuit) or by an FPGA (Field Programmable
  • AES is a symmetrical-key cryptography algorithm, of the block type, which can use 128- , 192- or 256-bit keys and algorithms for executing operations known as "SubByte”, “ShiftRow”, “MixColumn” , “AddRoundKey” .
  • the device 1 further comprises an input unit 10, which is operatively coupled to the logic control unit 8 and can be used by a user for inputting appropriate cryptographic keys
  • the input unit 10 can, for example, comprise a numeric or alphanumeric keypad that can be used by the user, integrated in the device 1, or else an external loading unit, for example, a so-called "fill-gun" unit of the type commonly used in military applications or high-security applications.
  • the cryptographic keys inputted are stored in a volatile memory 12 (i.e., a memory which is to lose the data stored when the electric power supply is interrupted) , for example, contained within the logic control unit 8.
  • a volatile memory 12 i.e., a memory which is to lose the data stored when the electric power supply is interrupted
  • the device 1 can be provided with an autonomous supply source, for example a battery source, or else can receive the electric power supply directly through the connection with the processing apparatus 3, as, for example, commonly occurs with the USB peripherals of a known type (the USB standard envisages in fact sending of a supply signal, for example with a voltage of 5 V, from the processor to the USB peripheral connected thereto) .
  • the device 1 is connected to the processing apparatus 3 (for example, using the same port that would have been occupied by the mass-storage peripheral device 5) , and the mass-storage peripheral device 5 is connected, for data writing/reading operations, to the device 1, instead of being connected to the processing apparatus 3.
  • the device 1 is hence functionally interposed between the processing apparatus 3 and the mass-storage peripheral device 5.
  • the user then inputs, via the input unit 10, the cryptographic key to be used in the operations of enciphering/deciphering of the data, this key being known only to the same user, who may communicate it to possible destinees of the stored data.
  • the first interface unit 2 presents to the processing apparatus 3 a file system associated to the mass-storage peripheral device 5 (in a given standard format, for example, the FAT 32) so as to enable handling (for example reading) of the data already stored and writing of new data, and the second interface unit 4 executes all the operations necessary in regard to the mass-storage peripheral device 5 (according to the required protocol) for executing the operations of reading and writing of the data.
  • a file system associated to the mass-storage peripheral device 5 in a given standard format, for example, the FAT 32
  • a command for writing of a data block by the processing apparatus 3 is received and interpreted by the first interface unit 2, the data block is then subjected to enciphering by the data-processing stage 6 via the cryptographic key stored in the volatile memory 12 of the logic control unit 8, and the block of enciphered data is written inside the mass-storage peripheral device 5 by means of the second interface unit 4 (and under the supervision of the logic control unit 8) .
  • the second interface unit 4 retrieves the data block from the mass-storage peripheral device 5, these data are then deciphered by the data-processing stage 6 via the same cryptographic key stored in the volatile memory 12, and the deciphered data are sent to the processing apparatus 3 by means of the first interface unit 2 (and again under the supervision of the logic control unit 8) .
  • the enciphering/deciphering operations hence do not entail any modification to the general modes of use of the mass-storage peripheral device 5 by the processing apparatus 3, since they are altogether transparent to the same processing apparatus and to the user.
  • the cryptographic keys stored in the volatile memory 12 of the logic control unit 8 are erased at the moment when the supply to the device 1 is interrupted, for example, when the device is disconnected from the processing apparatus 3, hence reducing to the minimum the possibility of the same keys coming into the possession of non-authorized persons.
  • the latter is required to use a respective device for enciphering/deciphering data, in which the mass-storage peripheral device 5 containing these data is to be inserted.
  • the cryptographic key to be entered manually in the device for the deciphering operations can be communicated to the second user for example by means of a telephone communication, or else in any way deemed secure (the cryptographic keys can hence be defined as portable and communicable between the users) .
  • FIG. 2 illustrates a possible implementation of the device 1, in which the USB standard for transfer of the data and for communication between the processing apparatus 3 (here not illustrated) and the mass-storage peripheral device 5 is used.
  • the device 1 comprises in this case a host/slave USB controller for implementing the first interface unit 2 and the second interface unit 4, and in particular, respectively, a slave USB interface in regard to the processing apparatus 3 and a host USB interface in regard to the mass-storage peripheral device 5, here constituted by a Flash-disk USB unit
  • the host/slave USB controller can be implemented inside the same microcontroller (for example, a PIC), designated by
  • Both of the host and slave USB interfaces can, for example, be in compliance with the USB 2.0 specifications, and hence be able to support a theoretical transfer rate of 480 Mbit/s (of non-enciphered- data traffic) .
  • the device 1 is able to operate in a way completely transparent both to the processing apparatus 3 and to the
  • the first interface unit 2 is configured so as to present to the processing apparatus 3 an interface analogous to the one that would be presented by the mass-storage peripheral device 5 in the case of a direct connection (and which thus corresponds to the interface with which the processing apparatus 3 expects to operate in the presence of a mass-storage peripheral device 5 of a USB type)
  • the second interface unit 4 is configured so as to present to the mass-storage peripheral device 5 an interface analogous to the one that the processing apparatus 3 would present in the case of a direct connection (and which thus corresponds to the interface with which the mass-storage peripheral device 5 expects to operate in the reading and writing operations in regard to the processing apparatus 3) .
  • the data enciphering/deciphering operations are executed in a way altogether transparent to the processing apparatus 3, which continues to propose to the user the same operations (of reading, writing, and in general of data handling) that would be available in the case where the mass-storage peripheral device 5 were connected directly to the same processing apparatus 3.
  • the microcontroller 21 is mechanically and electrically coupled to a printed-circuit board (PCB) 22, which is housed within a case 24, made, for example, of plastic material, having reduced overall dimensions (for example, in the region of a few centimetres) .
  • PCB printed-circuit board
  • Coupled to the printed circuit 22 are moreover: an FPGA unit 25, programmed so as to implement the algorithm for data enciphering/deciphering; a first USB connector 26 (of any known type, standard, mini- or micro-USB) , designed in use to be engaged by the corresponding USB connector of the Flash- disk USB unit 20; and a second USB connector 27 (which is also of any known type) , possibly associated to which is a cable 28, designed in use to engage a corresponding connector of the processing apparatus 3. Both the first and the second USB connectors 26, 27 protrude from the case 24 so as to be accessible from outside.
  • the numeric keypad 29 of the input unit 10 is moreover coupled to the case 24, or else (in a way not illustrated) a purposely provided interface for an external loading unit (such as a fill-gun unit) is coupled thereto.
  • the microcontroller 21 has an additional interface, for example, of a USB or PS/2 type, for entering the enciphering/deciphering keys through the numeric keypad 29 or through the external fill-gun unit.
  • the cryptographic keys stored in memories of a volatile type, can also be erased once loaded into the FPGA unit 25 (to increase further the security and inaccessibility of the data) .
  • the logic control unit 8 is configured in such a way that, if the Flash disk USB 20 does not contain an enciphered- data structure, during reading operation the data are represented in the original format, and execution of the operation corresponding to their secure formatting is proposed. Secure formatting enables, for example, generation of an enciphered file system that can be read only through inputting of the codes (cryptographic key) entered in the formatting step. In this operating mode the device carries out enumeration using the USB storage class towards the processing apparatus 3 and reconstructing a structure of a standard FAT type .
  • the host/slave USB controller is implemented by a dedicated component 30 with specific functions (instead of being implemented within the microcontroller 21 of the logic control unit 8) .
  • the FTDI Vinculum controller can, for example, be used (further information can be found at the link http://www.vinculum.com); this controller, in a per-se known manner that for this reason is not described in detail, actually enables implementation of a slave USB interface and a host USB interface.
  • a further variant can envisage the use of a microcontroller manufactured by Microchip, according to what is described in the Application Note AN1003: "USB MASS STORAGE DEVICE USING A PIC MCU".
  • the flow of the data to be enciphered/deciphered is carried towards the FPGA unit 25, which contains an appropriate VHDL code, which is able to encipher and decipher the data in both directions.
  • the microcontroller 21 moreover controls the possible inputs of the test and programming logic 38 of the host-slave USB controller 30, designed to enable programming of the internal Flash memory 34, and of the clock circuit 39, which is designed to generate the timing signals.
  • the device operates in a completely transparent way both in regard to the processing apparatus and in regard to the mass-storage peripheral device with which it is used, in such a way as not to require any hardware modification or installation of any additional software. Operation is hence altogether separate from the hardware configuration (with the possible associated security problems) of the same processing apparatus.
  • neither the processing apparatus nor the storage peripheral device comprise any application package dedicated to the data enciphering and deciphering operations.
  • the cryptographic keys after being inputted in a physical/manual way into the device are stored in a volatile manner in its internal memory, and are in no way accessible from outside.
  • the cryptographic keys used never come to the knowledge to the processing apparatus with which the device is used.
  • These keys are moreover automatically erased when the device is disconnected from the processing apparatus and is no longer supplied. All this renders the level of security offered completely independent of the environment to which it is connected, enabling a certification of security of the product to be obtained without any assumption being made regarding the surrounding environment, hence rendering it potentially suitable for the protection of classified data.
  • the device described can find advantageous application in a plurality of contexts, which range from consumer applications to military applications.
  • Typical fields of application are for example: protection of company data during transport via flash disk or external portable hard disk (which, on account of the reduced dimensions, are particularly subject to theft or to being mislaid) ; secure storing of sensitive personal data (that fall under the law on privacy) ; control of access to confidential data such as medical data, judicial investigations, economic offers, design and project documentation, etc. (in particular, in all these applications, only a person who knows the enciphering key of the storage peripheral device can gain access to the data contained therein) .
  • the device described represents a solution, autonomous and stand-alone, simple, inexpensive and effective, for enabling protection of the confidentiality of the data stored in mass-storage peripherals, for example, operating according to the USB standard, without this in any way jeopardizing the advantages that have rendered use of said peripherals popular (amongst which the universality of use, the portability, the convenience of use, and the robustness) .
  • the device described can be used in combination with different types of mass-storage peripherals (for example, Flash Memory Cards of the Secure Digital - SD - or Memory Stick type) and different data-transfer standards, with the appropriate modifications to the second interface unit 4 and to the logic control unit 8.
  • different data-communication techniques can be used between the processing apparatus 3 and the device, for example, a wireless communication with the USB wireless standard, to which the processing apparatus 3 is enabled (again, not requiring any hardware or software modifications to the same processing apparatus) .
  • the enciphering and deciphering operations would be implemented in a way transparent to the processing apparatus 3, to which, during data reading and writing operations, only the mass- storage peripheral device with the corresponding file system would again be presented.
  • the portable device for enciphering and deciphering data could be of a multi-format type and present a plurality of second interfaces 4 to respective mass-storage peripheral devices 5, for example, a Flash-disk USB unit and a Memory Card, enabling protection of the data stored therein.
  • the peripheral devices would be presented to the processing apparatus, via the first interface unit, as normal storage media (with the respective file system associated thereto) , rendering the operations of data enciphering and deciphering altogether transparent.
  • circuit architecture of the device described could be different, and comprise, for example, a single microprocessor circuit designed to perform the enciphering/deciphering functions and moreover handle the data-transfer functions.
  • different algorithms for data enciphering/deciphering could be used.

Abstract

Described herein is a portable device (1) for data enciphering and deciphering, designed to couple operatively between a processing apparatus (3) and a storage peripheral device (5), external to the processing apparatus (3), in such a way as to encipher, with a given enciphering algorithm, data to be transferred from the processing apparatus (3) to the storage peripheral device (5), and to decipher, on the basis of the same enciphering algorithm, data to be transferred from the storage peripheral device (5) to the processing apparatus (3). The device (1) is built in such a way that data enciphering and deciphering operations are executed in a transparent way to the processing apparatus (3) and to the storage peripheral device (5).

Description

PORTABLE DEVICE FOR ENCIPHERING AND DECIPHERING DATA FOR A MASS-STORAGE PERIPHERAL DEVICE
TECHNICAL FIELD The present invention relates to a portable device for enciphering and deciphering data for a mass-storage peripheral device, in particular operating according to the USB
(Universal Serial Bus) standard, to which the ensuing description will make particular reference, without this implying any loss of generality.
BACKGROUND ART
Currently known and widely used are mass-storage peripheral devices, which connect up externally to a processing apparatus (a fixed or portable computer, a PDA, etc.) for storage and keeping of data. In particular, mass-storage peripheral devices using the USB communication standard, specifically the USB Mass Storage Protocol standard, are today by far the most widely used devices, representing the de facto standard for portable data storage, thanks to the simplicity of use and of construction, the reduced costs, the high compatibility with the processing apparatuses currently available on the market
(given that they are substantially irrespective of the type of processor and operating system used) , as well as the data- transfer rate that is compatible with the majority of common applications (480 Mbit/s in the 2.0 version of the USB protocol, which is to increase further with the 3.0 version soon to be implemented) . Peripherals like the so-called "Flash Disk USBs" (also referred to as "USB keys", "USB pens" or "pen drives"), which use internal flash memories of various size for data storage, or external USB hard disks are widely used for storing and transfer of data from one processing apparatus to another, affording undoubted advantages in terms of portability, robustness, reliability, and storage capacity. Notwithstanding the number of advantageous features, these mass-storage peripherals suffer, however, from a potential drawback linked to data security and confidentiality, which renders them somewhat less than usable (or in any case unadvisable) in fields having high security requirements. In fact, given their high portability and their small dimensions, the risk for these peripherals being mislaid or stolen by ill- intentioned persons is high, with a high risk of exposure and removal of the stored data.
To overcome this drawback, the use has been proposed of techniques for enciphering of the data, before they are stored inside the peripherals, and corresponding techniques for deciphering of the data, at the moment of their subsequent reading. In particular, known techniques envisage the use of purposely designed software application packages to be previously installed in the processing apparatus that is to use the mass-storage peripherals (in writing and/or reading operations) and to interface, in use, with the user and with the peripheral to be protected; alternatively, the use of permanent "agents" resident in the memory of the same processing apparatus has been proposed.
Even though solutions of the above sort enable a protection of the stored data via their enciphering, they are not altogether free from problems, given that they are closely linked and dependent upon the degree of integrity of the software and hardware environment designed to interface with the mass- storage peripheral, a degree of integrity that very frequently the user is not able to evaluate beforehand. In particular, it is not currently possible to avoid the possibility of ill- intentioned persons from violating the aforesaid software application packages and learning of the enciphering techniques used, thus being able to interpret the data stored in the storage peripheral devices. DISCLOSURE OF INVENTION
The aim of the present invention is to solve, either totally or partially, the problems highlighted above, and in particular to provide a secure and reliable solution for enciphering and deciphering of the data stored in a mass- storage peripheral device.
According to the present invention, a portable device is consequently provided for enciphering and deciphering data for a mass-storage peripheral device, as defined in claim 1.
BRIEF DESCRIPTION OF THE DRAWINGS
For a better understanding of the present invention, a preferred embodiment thereof is now described, purely by way of non-limiting example, with reference to the attached plates of drawings, wherein:
Figure 1 illustrates a schematic block diagram of the architecture of a portable device for enciphering and deciphering data, according to one embodiment of the present invention;
Figure 2 is a schematic illustration of a possible implementation of the device of Figure 1, for the USB standard; and
Figure 3 shows a detailed block diagram of a further embodiment of the device of Figure 1.
BEST MODE FOR CARRYING OUT THE INVENTION
As will be clarified in detail in what follows, a particular aspect of the present invention envisages providing a portable electronic device designed to interface with a mass-storage peripheral device and with a processing apparatus (hence being distinct and autonomous with respect to the same processing apparatus) , for handling the operations of enciphering and deciphering of the data stored in, and read from, the storage peripheral device by the processing apparatus. In particular, - A -
the device is configured so that these operations are carried out in a way totally transparent to the processing apparatus
(i.e., without the processing apparatus realizing that they are being executed and without there being required any modification to its usual operation) and to the storage peripheral device so as to be totally independent of the software and hardware used by the processing apparatus and moreover so as not to require any hardware and/or software modification in the same processing apparatus (or in the mass- storage peripheral device) .
In detail, and as illustrated in Figure 1, a portable device for data enciphering and deciphering according to one embodiment of the present invention, designated by the reference number 1, comprises: a first interface unit 2, which is designed to interface with a processing apparatus 3 (for example, a personal computer) , in a wired or wireless mode, for receiving and sending data, and is provided for this purpose with appropriate means for connection to the processing apparatus and for handling of the data-transfer protocol; a second interface unit 4, which is designed to interface with a mass-storage peripheral device 5 (for example, a flash disk operating according to the USB standard) , to store or read data, and is provided for this purpose with appropriate means for connection to the peripheral device and for handling of the data-transfer protocol; a data-processing stage 6, which is operatively coupled to the first interface unit 2 and to the second interface unit 4, is, for example, constituted by an ASIC (Application-Specific Integrated Circuit) or by an FPGA (Field Programmable Gate Array) unit, implementing appropriate algorithms in VHDL (VHSIC Hardware Description Language) , and is configured so as to carry out appropriate enciphering and corresponding deciphering of the data exchanged between the processing apparatus 3 and the mass-storage peripheral device 5, for example via the 256-bit AES (Advanced Encryption Standard); and a logic control unit 8, such as a microcontroller, for example of the 8-bit RISC type, which is operatively coupled to the processing stage 6 and is designed to manage and supervise the general operation of the device 1. In a per-se known manner, not described in detail herein (for further information see, for example: Joan Daemen and Vincent Rijmen, "The Design of Rijndael: AES - The Advanced Encryption Standard" Springer-Verlag, 2002), AES is a symmetrical-key cryptography algorithm, of the block type, which can use 128- , 192- or 256-bit keys and algorithms for executing operations known as "SubByte", "ShiftRow", "MixColumn" , "AddRoundKey" .
The device 1 further comprises an input unit 10, which is operatively coupled to the logic control unit 8 and can be used by a user for inputting appropriate cryptographic keys
(or similar secret codes) for enciphering and deciphering data by the data-processing stage 6. The input unit 10 can, for example, comprise a numeric or alphanumeric keypad that can be used by the user, integrated in the device 1, or else an external loading unit, for example, a so-called "fill-gun" unit of the type commonly used in military applications or high-security applications.
The cryptographic keys inputted are stored in a volatile memory 12 (i.e., a memory which is to lose the data stored when the electric power supply is interrupted) , for example, contained within the logic control unit 8.
The device 1 can be provided with an autonomous supply source, for example a battery source, or else can receive the electric power supply directly through the connection with the processing apparatus 3, as, for example, commonly occurs with the USB peripherals of a known type (the USB standard envisages in fact sending of a supply signal, for example with a voltage of 5 V, from the processor to the USB peripheral connected thereto) . In use, the device 1 is connected to the processing apparatus 3 (for example, using the same port that would have been occupied by the mass-storage peripheral device 5) , and the mass-storage peripheral device 5 is connected, for data writing/reading operations, to the device 1, instead of being connected to the processing apparatus 3. The device 1 is hence functionally interposed between the processing apparatus 3 and the mass-storage peripheral device 5. The user then inputs, via the input unit 10, the cryptographic key to be used in the operations of enciphering/deciphering of the data, this key being known only to the same user, who may communicate it to possible destinees of the stored data.
The first interface unit 2 presents to the processing apparatus 3 a file system associated to the mass-storage peripheral device 5 (in a given standard format, for example, the FAT 32) so as to enable handling (for example reading) of the data already stored and writing of new data, and the second interface unit 4 executes all the operations necessary in regard to the mass-storage peripheral device 5 (according to the required protocol) for executing the operations of reading and writing of the data.
In particular, a command for writing of a data block by the processing apparatus 3 is received and interpreted by the first interface unit 2, the data block is then subjected to enciphering by the data-processing stage 6 via the cryptographic key stored in the volatile memory 12 of the logic control unit 8, and the block of enciphered data is written inside the mass-storage peripheral device 5 by means of the second interface unit 4 (and under the supervision of the logic control unit 8) . Likewise, following upon a command for reading of a data block by the processing apparatus 3, the second interface unit 4 retrieves the data block from the mass-storage peripheral device 5, these data are then deciphered by the data-processing stage 6 via the same cryptographic key stored in the volatile memory 12, and the deciphered data are sent to the processing apparatus 3 by means of the first interface unit 2 (and again under the supervision of the logic control unit 8) .
The enciphering/deciphering operations hence do not entail any modification to the general modes of use of the mass-storage peripheral device 5 by the processing apparatus 3, since they are altogether transparent to the same processing apparatus and to the user. There may only be a reduction of the data- transfer rate due to the enciphering and deciphering operations; this reduction may in any case be limited according to the performance of the enciphering/deciphering algorithms used, to the computing power of the data-processing stage 6, and, in the specific case of implementation through FPGA, to the performance of the FPGA used and the efficiency of the VHDL code implemented thereby.
Advantageously, the cryptographic keys stored in the volatile memory 12 of the logic control unit 8 are erased at the moment when the supply to the device 1 is interrupted, for example, when the device is disconnected from the processing apparatus 3, hence reducing to the minimum the possibility of the same keys coming into the possession of non-authorized persons.
In the case where the data stored in an enciphered way are to be transferred from a first user to a second user, the latter is required to use a respective device for enciphering/deciphering data, in which the mass-storage peripheral device 5 containing these data is to be inserted. The cryptographic key to be entered manually in the device for the deciphering operations can be communicated to the second user for example by means of a telephone communication, or else in any way deemed secure (the cryptographic keys can hence be defined as portable and communicable between the users) . The result is that only a person who possesses a device of the type described and the correct cryptographic key is able to use the data stored in the mass-storage peripheral device 5 irrespective of the type of processor and operating system used and of the availability of Internet access or of specific software.
Figure 2 illustrates a possible implementation of the device 1, in which the USB standard for transfer of the data and for communication between the processing apparatus 3 (here not illustrated) and the mass-storage peripheral device 5 is used.
The device 1 comprises in this case a host/slave USB controller for implementing the first interface unit 2 and the second interface unit 4, and in particular, respectively, a slave USB interface in regard to the processing apparatus 3 and a host USB interface in regard to the mass-storage peripheral device 5, here constituted by a Flash-disk USB unit
20. The host/slave USB controller can be implemented inside the same microcontroller (for example, a PIC), designated by
21, which provides the logic control unit 8, in particular through the implementation of the USB stack present, in a perse known manner, in the microcontroller 21. Both of the host and slave USB interfaces can, for example, be in compliance with the USB 2.0 specifications, and hence be able to support a theoretical transfer rate of 480 Mbit/s (of non-enciphered- data traffic) .
The device 1 is able to operate in a way completely transparent both to the processing apparatus 3 and to the
Flash-disk USB unit 20, emulating the USB Mass Storage
Protocol standard towards the processing apparatus 3 and the host USB interface towards the Flash-disk USB unit 20. In other words, the first interface unit 2 is configured so as to present to the processing apparatus 3 an interface analogous to the one that would be presented by the mass-storage peripheral device 5 in the case of a direct connection (and which thus corresponds to the interface with which the processing apparatus 3 expects to operate in the presence of a mass-storage peripheral device 5 of a USB type) , and the second interface unit 4 is configured so as to present to the mass-storage peripheral device 5 an interface analogous to the one that the processing apparatus 3 would present in the case of a direct connection (and which thus corresponds to the interface with which the mass-storage peripheral device 5 expects to operate in the reading and writing operations in regard to the processing apparatus 3) . In this way, the data enciphering/deciphering operations are executed in a way altogether transparent to the processing apparatus 3, which continues to propose to the user the same operations (of reading, writing, and in general of data handling) that would be available in the case where the mass-storage peripheral device 5 were connected directly to the same processing apparatus 3.
The microcontroller 21 is mechanically and electrically coupled to a printed-circuit board (PCB) 22, which is housed within a case 24, made, for example, of plastic material, having reduced overall dimensions (for example, in the region of a few centimetres) .
Coupled to the printed circuit 22 are moreover: an FPGA unit 25, programmed so as to implement the algorithm for data enciphering/deciphering; a first USB connector 26 (of any known type, standard, mini- or micro-USB) , designed in use to be engaged by the corresponding USB connector of the Flash- disk USB unit 20; and a second USB connector 27 (which is also of any known type) , possibly associated to which is a cable 28, designed in use to engage a corresponding connector of the processing apparatus 3. Both the first and the second USB connectors 26, 27 protrude from the case 24 so as to be accessible from outside. As illustrated schematically, the numeric keypad 29 of the input unit 10 is moreover coupled to the case 24, or else (in a way not illustrated) a purposely provided interface for an external loading unit (such as a fill-gun unit) is coupled thereto. In particular, the microcontroller 21 has an additional interface, for example, of a USB or PS/2 type, for entering the enciphering/deciphering keys through the numeric keypad 29 or through the external fill-gun unit. The cryptographic keys, stored in memories of a volatile type, can also be erased once loaded into the FPGA unit 25 (to increase further the security and inaccessibility of the data) .
In use, if the device 1 is connected to the processing apparatus 3 without the presence of the Flash-disk USB unit 20, the slave USB interface is not detected as being connected; the enumeration process on the USB bus is started only when the Flash-disk USB unit 20 has been inserted. In addition, the logic control unit 8 is configured in such a way that, if the Flash disk USB 20 does not contain an enciphered- data structure, during reading operation the data are represented in the original format, and execution of the operation corresponding to their secure formatting is proposed. Secure formatting enables, for example, generation of an enciphered file system that can be read only through inputting of the codes (cryptographic key) entered in the formatting step. In this operating mode the device carries out enumeration using the USB storage class towards the processing apparatus 3 and reconstructing a structure of a standard FAT type .
In a further alternative embodiment, illustrated schematically in Figure 3 (where elements similar to others already described are designated by the same reference numbers) , the host/slave USB controller is implemented by a dedicated component 30 with specific functions (instead of being implemented within the microcontroller 21 of the logic control unit 8) . For this purpose, the FTDI Vinculum controller can, for example, be used (further information can be found at the link http://www.vinculum.com); this controller, in a per-se known manner that for this reason is not described in detail, actually enables implementation of a slave USB interface and a host USB interface. A further variant can envisage the use of a microcontroller manufactured by Microchip, according to what is described in the Application Note AN1003: "USB MASS STORAGE DEVICE USING A PIC MCU".
In extreme synthesis and as illustrated in Figure 3, in this case the data transfer between the host USB interface, designated by 31, to which the Flash-disk unit 20 is connected in use, and the slave USB interface, designated by 32, connected in use to the processing apparatus 3, occurs through the use of a DMA controller 33, which enables direct access to an internal Flash memory 34 by a communication bus (first internal I/O bus 35) . The microcontroller 21 is interfaced to the host-slave USB controller 30 through an SPI (Serial Parallel Interface) bus (second internal I/O bus 36). Through a bus of a parallel type (the external I/O bus 37), the flow of the data to be enciphered/deciphered is carried towards the FPGA unit 25, which contains an appropriate VHDL code, which is able to encipher and decipher the data in both directions. The microcontroller 21 moreover controls the possible inputs of the test and programming logic 38 of the host-slave USB controller 30, designed to enable programming of the internal Flash memory 34, and of the clock circuit 39, which is designed to generate the timing signals.
The advantages that the portable enciphering and deciphering device described herein affords emerge clearly from the foregoing description.
In particular, the device operates in a completely transparent way both in regard to the processing apparatus and in regard to the mass-storage peripheral device with which it is used, in such a way as not to require any hardware modification or installation of any additional software. Operation is hence altogether separate from the hardware configuration (with the possible associated security problems) of the same processing apparatus. In the system described, neither the processing apparatus nor the storage peripheral device comprise any application package dedicated to the data enciphering and deciphering operations.
The cryptographic keys, after being inputted in a physical/manual way into the device are stored in a volatile manner in its internal memory, and are in no way accessible from outside. In particular, the cryptographic keys used never come to the knowledge to the processing apparatus with which the device is used. These keys are moreover automatically erased when the device is disconnected from the processing apparatus and is no longer supplied. All this renders the level of security offered completely independent of the environment to which it is connected, enabling a certification of security of the product to be obtained without any assumption being made regarding the surrounding environment, hence rendering it potentially suitable for the protection of classified data.
The device described can find advantageous application in a plurality of contexts, which range from consumer applications to military applications. Typical fields of application are for example: protection of company data during transport via flash disk or external portable hard disk (which, on account of the reduced dimensions, are particularly subject to theft or to being mislaid) ; secure storing of sensitive personal data (that fall under the law on privacy) ; control of access to confidential data such as medical data, judicial investigations, economic offers, design and project documentation, etc. (in particular, in all these applications, only a person who knows the enciphering key of the storage peripheral device can gain access to the data contained therein) .
More in general, it is evident that the device described represents a solution, autonomous and stand-alone, simple, inexpensive and effective, for enabling protection of the confidentiality of the data stored in mass-storage peripherals, for example, operating according to the USB standard, without this in any way jeopardizing the advantages that have rendered use of said peripherals popular (amongst which the universality of use, the portability, the convenience of use, and the robustness) .
Finally, it is clear that modifications and variations may be made to what has been described and illustrated herein, without thereby departing from the scope of the present invention, as defined in the annexed claims.
In particular, the device described can be used in combination with different types of mass-storage peripherals (for example, Flash Memory Cards of the Secure Digital - SD - or Memory Stick type) and different data-transfer standards, with the appropriate modifications to the second interface unit 4 and to the logic control unit 8. In addition, with appropriate modifications to the first interface unit 2 and to the same logic control unit 8, different data-communication techniques can be used between the processing apparatus 3 and the device, for example, a wireless communication with the USB wireless standard, to which the processing apparatus 3 is enabled (again, not requiring any hardware or software modifications to the same processing apparatus) . Also in this case, the enciphering and deciphering operations would be implemented in a way transparent to the processing apparatus 3, to which, during data reading and writing operations, only the mass- storage peripheral device with the corresponding file system would again be presented.
Possibly, the portable device for enciphering and deciphering data could be of a multi-format type and present a plurality of second interfaces 4 to respective mass-storage peripheral devices 5, for example, a Flash-disk USB unit and a Memory Card, enabling protection of the data stored therein. Also in this case, the peripheral devices would be presented to the processing apparatus, via the first interface unit, as normal storage media (with the respective file system associated thereto) , rendering the operations of data enciphering and deciphering altogether transparent.
In addition, the circuit architecture of the device described could be different, and comprise, for example, a single microprocessor circuit designed to perform the enciphering/deciphering functions and moreover handle the data-transfer functions. Finally, different algorithms for data enciphering/deciphering could be used.

Claims

1. A portable device (1) for enciphering and deciphering data, characterized by being configured so as to couple operatively between a processing apparatus (3) and a storage peripheral device (5), external to said processing apparatus (3), in such a way as to encipher, with a given enciphering algorithm, data to be transferred from said processing apparatus (3) to said storage peripheral device (5), and to decipher, on the basis of said given enciphering algorithm, data to be transferred from said storage peripheral device (5) to said processing apparatus (3); wherein said device (1) is so configured that the data enciphering and deciphering operations are executed in a way transparent to said processing apparatus and to said storage peripheral device.
2. The device according to claim 1, comprising:
- a first interface unit (2) , designed to couple operatively to said processing apparatus (3) for receiving from said processing apparatus (3) first data to be written in said storage peripheral device (5) and for sending to said processing apparatus (3) second data read from said storage peripheral device (5) and deciphered on the basis of said given data-enciphering algorithm; - a second interface unit (4), designed to couple operatively to said storage peripheral device (5) to enable writing, in said storage peripheral device, of said first data, enciphered by means of said given data-enciphering algorithm, and reading from said storage peripheral device (5) of said second data; and
- a processing unit (6) , connected to said first and second interface units (2, 4) and configured to execute said data enciphering and deciphering operations .
3. The device according to claim 2, comprising a logic control unit (8) connected to said processing unit (6) and configured to manage and supervise said data enciphering and deciphering operations, and the data transfer between said processing apparatus (3) and said storage peripheral device (5).
4. The device according to claim 2 or 3 , wherein said first interface unit (2) is configured to present, in regard to said processing apparatus (3), an interface analogous to the one that would be presented by said mass-storage peripheral device
(5) in the case of a direct connection thereof to said processing apparatus (3), and said second interface unit (4) is configured to present, in regard to said mass-storage peripheral device (5), an interface analogous to the one that would be presented by said processing apparatus (3) in the case of a direct connection to said mass-storage peripheral device (5) .
5. The device according to any one of claims 2-4, further comprising: a printed circuit board (22) , coupled to which are said first interface unit (2), said second interface unit (4) and said processing unit (6) ; and a case (24) that encloses said printed circuit board (22) and is provided with connector means (26, 27) for connection to said storage peripheral device (5) and to said processing apparatus (3) through said case (24) .
6. The device according to any one of the preceding claims, comprising input means (10) , configured to enable input of cryptographic keys to be used in said data enciphering and deciphering operations .
7. The device according to claim 6, comprising volatile storage means (12) for volatile storage of said cryptographic keys, designed to lose the stored information upon interruption of a corresponding electric power supply.
8. The device according to claim 6 or 7, wherein said input means (10) comprise an alphanumeric or numeric keypad (29) and/or an interface for an external data loading element.
9. The device according to any one of the preceding claims, operating according to the USB protocol and comprising: a slave USB interface (32), designed to connect to said processing apparatus (3) according to the mass-storage USB protocol; a host USB interface (31), designed to connect to said storage peripheral device (5) ; and a microcontroller (21), configured to manage said slave (32) and host (31) USB interfaces and said data enciphering and deciphering operations .
10. The device according to claim 9, comprising: a dedicated host/slave USB controller (30), configured to implement said slave (32) and host (31) USB interfaces, and a programmable logic unit (25) , configured to implement said data enciphering and deciphering operations; said microcontroller (21) being configured to manage operation of said dedicated host/slave USB controller (30) and of said programmable logic unit (25) .
11. The device according to claim 10, wherein said programmable logic unit (25) is configured to implement an algorithm for data enciphering and deciphering of an AES (Advanced Encryption Standard) type.
12. A system for enciphering and deciphering data, comprising a processing apparatus (3) and a storage peripheral device (5), in which said processing apparatus (3) is intended to write enciphered data and from which said processing apparatus
(3) is intended to read deciphered data, characterized by comprising a portable device (1) for enciphering and deciphering data according to any one of the preceding claims .
13. The system according to claim 12, wherein said device (1) is interposed between said processing apparatus (3) and said storage peripheral device (5) , in a way transparent to said processing apparatus (3) and to said storage peripheral device
(5) ; and wherein said storage peripheral device (5) is connected to said processing apparatus (3) through the interposition of said device (1) .
14. The system according to claim 12 or 13, wherein said processing apparatus (3) has a given interface towards said storage peripheral device (5), and said storage peripheral device (5) has a respective interface towards said processing apparatus (3); and wherein said device (1) comprises a first interface (2) corresponding to said respective interface of said storage peripheral device (5) towards said processing apparatus (3), and a second interface (4) corresponding to said given interface of said processing apparatus (3) towards said storage peripheral device (5) .
15. The system according to any one of claims 12-14, wherein said processing apparatus (3) and said storage peripheral device (5) do not comprise any application package dedicated to said data enciphering and deciphering operations .
PCT/IT2009/000107 2009-03-23 2009-03-23 Portable device for enciphering and deciphering data for a mass-storage peripheral device WO2010109495A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/IT2009/000107 WO2010109495A1 (en) 2009-03-23 2009-03-23 Portable device for enciphering and deciphering data for a mass-storage peripheral device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IT2009/000107 WO2010109495A1 (en) 2009-03-23 2009-03-23 Portable device for enciphering and deciphering data for a mass-storage peripheral device

Publications (1)

Publication Number Publication Date
WO2010109495A1 true WO2010109495A1 (en) 2010-09-30

Family

ID=41061227

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IT2009/000107 WO2010109495A1 (en) 2009-03-23 2009-03-23 Portable device for enciphering and deciphering data for a mass-storage peripheral device

Country Status (1)

Country Link
WO (1) WO2010109495A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016097744A1 (en) * 2014-12-18 2016-06-23 Cambridge Consultants Limited Secure file transfer

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6003135A (en) * 1997-06-04 1999-12-14 Spyrus, Inc. Modular security device
US20080052539A1 (en) * 2006-07-29 2008-02-28 Macmillan David M Inline storage protection and key devices
US20080192928A1 (en) * 2000-01-06 2008-08-14 Super Talent Electronics, Inc. Portable Electronic Storage Devices with Hardware Security Based on Advanced Encryption Standard
US20080282027A1 (en) * 2007-05-09 2008-11-13 Kingston Technology Corporation Secure and scalable solid state disk system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6003135A (en) * 1997-06-04 1999-12-14 Spyrus, Inc. Modular security device
US20080192928A1 (en) * 2000-01-06 2008-08-14 Super Talent Electronics, Inc. Portable Electronic Storage Devices with Hardware Security Based on Advanced Encryption Standard
US20080052539A1 (en) * 2006-07-29 2008-02-28 Macmillan David M Inline storage protection and key devices
US20080282027A1 (en) * 2007-05-09 2008-11-13 Kingston Technology Corporation Secure and scalable solid state disk system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016097744A1 (en) * 2014-12-18 2016-06-23 Cambridge Consultants Limited Secure file transfer
GB2550081A (en) * 2014-12-18 2017-11-08 Cambridge Consultants Secure file transfer

Similar Documents

Publication Publication Date Title
CN101770386B (en) Safe startup method for Linux embedded system
US8528096B2 (en) Secure universal serial bus (USB) storage device and method
US9015848B2 (en) Method for virtualizing a personal working environment and device for the same
US7861015B2 (en) USB apparatus and control method therein
CN106687985B (en) Method for the safe input mechanism based on privileged mode
CN101551784A (en) Method and device for encrypting data in ATA memory device with USB interface
JPH113284A (en) Information storage medium and its security method
CN101308475A (en) Safe mobile storage system and method of use thereof
WO2005050423A1 (en) Method and system to provide a trusted channel within a computer system for a sim device
EP3391276A1 (en) Hardware integrity check
KR20030071460A (en) Memory card
EP2449473A1 (en) Method and memory device for performing an operation on data
JP2005130028A (en) Encryption key, and encryption apparatus and decryption apparatus using the same
JP2008016001A (en) Information storage device
JP3899365B1 (en) Information storage device
JPS5947646A (en) Computer data processing apparatus and method
CN109492418A (en) A kind of safe encrypting and deciphering system of general dsp based on aes algorithm
CN103617127A (en) Memory device with subareas and memorizer area dividing method
CN109155733B (en) Information processing apparatus and information processing system
JP4578132B2 (en) Portable information storage medium system
JP2007072957A (en) Read/write device and debugging system
CN101883357A (en) Method, device and system for mutual authentication between terminal and intelligent card
WO2010109495A1 (en) Portable device for enciphering and deciphering data for a mass-storage peripheral device
KR101043255B1 (en) Usb hub device for providing datasecurity and method for providing datasecurity using the same
CN102768646A (en) Serial port hard disk encryption and decryption device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09787668

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09787668

Country of ref document: EP

Kind code of ref document: A1