WO2012100079A2 - Apparatus and method for enhancing security of data on a host computing device and a peripheral device - Google Patents

Apparatus and method for enhancing security of data on a host computing device and a peripheral device Download PDF

Info

Publication number
WO2012100079A2
WO2012100079A2 PCT/US2012/021905 US2012021905W WO2012100079A2 WO 2012100079 A2 WO2012100079 A2 WO 2012100079A2 US 2012021905 W US2012021905 W US 2012021905W WO 2012100079 A2 WO2012100079 A2 WO 2012100079A2
Authority
WO
WIPO (PCT)
Prior art keywords
data
host computing
peripheral device
computing device
security
Prior art date
Application number
PCT/US2012/021905
Other languages
French (fr)
Other versions
WO2012100079A3 (en
Inventor
Gita SRIVASTAVA
Piyush B. SRIVASTAVA
Original Assignee
Srivastava Gita
Srivastava Piyush B
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 Srivastava Gita, Srivastava Piyush B filed Critical Srivastava Gita
Priority to DE112012000531T priority Critical patent/DE112012000531T5/en
Priority to KR1020137021909A priority patent/KR101939078B1/en
Priority to GB1314304.5A priority patent/GB2501215B/en
Publication of WO2012100079A2 publication Critical patent/WO2012100079A2/en
Publication of WO2012100079A3 publication Critical patent/WO2012100079A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data

Definitions

  • the present invention relates to an apparatus and method for enhancing security of data on at least one of a host computing device and a peripheral device, and more particularly when such devices are engaged in communication through a communication interface.
  • a method of enhancing security of at least one of a host computing device and a peripheral device The host computing device is removably coupled to the peripheral device through a communication interface.
  • the method includes transparently receiving data from one of the peripheral device and the host computing device, storing the received data, and analyzing the stored data to identify a circumstance posing a security risk.
  • the method further includes if analyzing does not identify such a circumstance, then transparently echoing the data to the other of the peripheral device and the host.
  • the method further includes if analyzing does identify such a circumstance, then performing a security process defined by a rule.
  • the method optionally may further include implementing a preservation process that precludes inter-device communication termination.
  • a method of enhancing security of at least one of a host computing device and a peripheral device The host computing device is removably coupled to the peripheral device through a communication interface.
  • the method includes receiving data from one of the peripheral device and the host computing device, storing the received data, implementing a preservation process that precludes inter-device communication termination, and analyzing the stored data to identify a circumstance posing a security risk.
  • the method further includes if analyzing does not identify such a circumstance, then echoing the data to the other of the peripheral device and the host.
  • the method further includes if analyzing does identify such a circumstance, then performing a security process defined by a rule.
  • the preservation process includes sending a signal other than a data echo.
  • the signal is a no-acknowledge signal.
  • analyzing optionally includes implementing an analyzing process that tests the received data against a database to identify a circumstance posing a security risk. Also optionally, a further embodiment further includes causing the database to be updated to include additional circumstances posing a security risk. Alternatively or in addition, the analyzing process includes accessing the database with a hash algorithm.
  • the security process includes encrypting data being sent to the peripheral device.
  • the security process optionally includes one or more of: restricting communication between the host and the peripheral in accordance with the rule, modifying data in accordance with the rule, and delaying transmission of data between the host and the peripheral in accordance with the rule.
  • the security process implements a secondary process that includes storing a log copy of at least a portion of the data.
  • the security process optionally implements a secondary process that includes notifying a user over a second communication interface.
  • the rule optionally is selected based on a nature of the peripheral device. In a further related embodiment, the rule also is dynamic and selected based on an input provided by the host device.
  • the rule is dynamic and is selected based on an input provided by a user. In another related embodiment, the rule is dynamic and is selected based on a state describing at least one of the hosts, the peripheral, and the communication interface. In another related embodiment, the rule is dynamic and is selected from a plurality of rules, and the plurality of rules is stored on the host device. In another related embodiment, the rule is dynamic and is selected from a plurality of rules, and the plurality of rules is stored on the peripheral device. In another related embodiment, the rule is dynamic and is selected from a plurality of rules, and the plurality of rules is stored on a module that implements the processes for enhancing security.
  • the rule is dependent on a characteristic of the data.
  • the rule is selected based on a configuration of the host computing device.
  • the rule is selected based on a protocol of the communication interface.
  • the security process comprises an isolation process that electrically isolates the peripheral device from the host computing device.
  • a method of enhancing security of at least one of a host computing device and a peripheral device having a human interface wherein the host computing device is removably coupled to the peripheral device through a communication interface.
  • the method of this embodiment includes receiving data from the peripheral device characterizing its nature and implementing an authentication process based on the received data; such process includes issuing a challenge requiring a user response to be entered on the peripheral device.
  • the method also includes analyzing data received from the peripheral device purporting to be attributable to the user response to determine whether the peripheral device behaves in a manner expected based on its nature.
  • the challenge is issued via a display or, alternatively, via a sound.
  • the method optionally further includes, if the peripheral device remains idle for a specified period of time, repeating the processes of implementing the authentication process and analyzing data.
  • a method of customizing user input capabilities from a peripheral device to a host computing device wherein the host computing device is removably coupled to the peripheral device through a communication interface.
  • the method of this embodiment includes (a) receiving data from the peripheral device characterizing its nature, (b) receiving data from the peripheral device purporting to be attributable to user input, (c) storing the data received in steps (a) and (b), and analyzing the data stored in step (c) to identify a circumstance defined by an identification rule.
  • the method further includes if analyzing does not identify such a circumstance, then echoing the data to the host computing device.
  • the method further includes if analyzing does identify such a circumstance, then performing a customization process defined by a customization rule.
  • the identification rule identifies a circumstance associated with a risk of malicious activity.
  • the identification rule identifies a user-specified emergency, and the customization rule includes triggering a response to the emergency.
  • the customization process includes modifying the data purporting to be attributable to user input.
  • the customization process precludes communication of at least a portion of the data purporting to be attributable to user input to the host computing device.
  • the circumstance poses a security risk and the customization process includes implementing countermeasures determined by rule to reduce the security risk.
  • implementing countermeasures includes executing them on the host computing device.
  • a method of enhancing security of data that are communicated between a host computing device removably coupled to a peripheral device through a communication interface.
  • the method of this embodiment includes identifying, at a file level, data being subject to a write command to the peripheral device, encrypting the file level data, according to a rule, with an encryption process, and causing storage of the encrypted file level data on the peripheral device.
  • the encryption process is selected independently for each file that is encrypted.
  • a method of enhancing security of data that are communicated between a host computing device removably coupled to a peripheral device through a communication interface.
  • the method of this embodiment includes identifying data at a file level being subject to a read command from the peripheral device, decrypting the file level data, according to a rule, with a decryption process, and causing storage of the decrypted file level data on the host computing device.
  • the decryption process is selected independently for each file that is decrypted.
  • the rule is selected based on a characteristic of the data to be transmitted.
  • the rule is selected based on at least one of a nature of the peripheral and a state describing the peripheral.
  • the rule is selected based on at least one of a configuration of the host computing device and a state describing the host computing device.
  • the rule is selected based on an identity of a user determined in an authentication process.
  • the method of this embodiment includes receiving data from the host computing device, storing the received data, implementing a preservation process that precludes inter-device communication termination, analyzing the stored data to determine an analysis of what part thereof, if any, to encrypt, encrypting the stored data in accordance with the analysis, and causing the encrypted data to be transferred to the peripheral device.
  • a method of enhancing security of data that are communicated between a host computing device removably coupled to a peripheral device through a communication interface.
  • the method of this embodiment includes receiving data from the peripheral device, storing the received data, implementing a preservation process that precludes inter-device communication termination, analyzing the stored data to determine an analysis of what part thereof, if any, to decrypt, decrypting the stored data in accordance with the analysis, and causing the encrypted data to be transferred to the host computing device.
  • the analysis is performed based on a characteristic of the data to be transmitted. In another related embodiment, the analysis is performed based on at least one of a nature of the peripheral and a state describing the peripheral. In another related embodiment, the analysis is performed based on at least one of a configuration of the host computing device and a state describing the host computing device. In another related embodiment, the analysis is performed based on an identity of a user determined in an authentication process.
  • a security device comprising a hardware arrangement configured to cause implementation of the method according to any of the previously described embodiments.
  • a security device for enhancing security of at least one of a host computing device and a peripheral device; the host computing device is removably coupled to the peripheral device through a communication interface.
  • the security device of this embodiment includes an apparatus running processes including transparently receiving data from one of the peripheral device and the host computing device, storing the received data, and analyzing the stored data to identify a circumstance posing a security risk.
  • the method further includes if analyzing does not identify such a circumstance, then transparently echoing the data to the other of the peripheral device and the host.
  • the method further includes if analyzing does identify such a circumstance, then performing a security process defined by a rule.
  • a security device for enhancing security of at least one of a host computing device and a peripheral device; the host computing device is removably coupled to the peripheral device through a communication interface.
  • the security device includes an apparatus running processes including receiving data from one of the peripheral device and the host computing device, storing the received data, implementing a preservation process that precludes inter-device communication termination, and analyzing the stored data to identify a circumstance posing a security risk.
  • the processes being run by the apparatus further include if analyzing does not identify such a circumstance, then echoing the data to the other of the peripheral device and the host; and if analyzing does identify such a circumstance, then performing a security process defined by a rule.
  • FIG. 1 is a block diagram of logical processes performed in accordance with an embodiment of the present invention.
  • FIG. 2 is a block diagram, of a further embodiment of the present invention, with details of implementation of the preservation process 104 of Fig. 1 in communication processes from a host computing device to a peripheral device;
  • FIG. 3 is a block diagram, of the embodiment of Fig. 2, with details of implementation of the preservation process 104 of Fig. 1 in communication processes from the peripheral device to the host computing device;
  • FIG. 4 is a block diagram of the architecture of a hardware embodiment of the present invention.
  • FIG. 5 is a block diagram of a hardware embodiment of the present invention providing further details for implementation of the embodiment of Fig. 4;
  • Fig. 6 is block diagram providing detail of the data module of the embodiment of
  • Fig. 7 is block diagram providing detail of the power module of the embodiment of
  • FIG. 8 is a block diagram showing logical flow of peripheral authentication processes in accordance with an embodiment of the present invention.
  • Fig. 9 is a block diagram providing further detail of the processes illustrated in Fig.
  • FIG. 10 is a block diagram showing logical flow associated with input customization in accordance with an embodiment of the present invention.
  • FIG. 11 is a block diagram showing logical flow associated with file level encryption in accordance with an embodiment of the present invention.
  • FIG. 12 is a block diagram showing logical flow associated with file level decryption in accordance with an embodiment of the present invention.
  • Fig. 13 is a block diagram showing logical flow associated with transmission encryption in accordance with an embodiment of the present invention.
  • FIG. 14 is a block diagram showing logical flow associated with transmission decryption in accordance with an embodiment of the present invention.
  • Fig. 15 is a block diagram showing logical flow associated with attack fingerprinting in accordance with an embodiment of the present invention.
  • a "host computing device” is a device having a processor configured to run a host computing process.
  • the host computing device may be all or a part of a computing system.
  • a "peripheral device” is a component that is removably connectable and physically proximate to a host computing device that is configured to have bidirectional communication with the host computing device through a communication interface.
  • the peripheral device may be at least one of: contained in the host computing device, plugged into the host computing device, and physically distinct from the host computing device.
  • a peripheral is "physically proximate" to the host computing device if it is sufficiently close to the device as to permit communication between the peripheral and the host computing device through the communication interface.
  • a peripheral device may be a USB device that is removably connectable to a host computing device through a USB port.
  • the peripheral device may operate with a wireless USB connection as well.
  • Receiviving from one of two sources includes receiving from both.
  • a "circumstance posing a security risk” is a circumstance, beyond garbling of data in a physical layer or transmission layer, deemed to put data at risk of unauthorized access, destruction, or disruption in availability.
  • Examplementing a preservation process that precludes inter-device communication termination includes and is not limited to (i) acting fast enough that inter-device termination does not occur as well as (ii) issuing signals indicating receipt of data.
  • the "nature" of a peripheral device includes its functionality (for example, keyboard, hub, or printer) and optionally its identity (vendor ID, product ID, MAC Address).
  • the "configuration" of a host includes at least one of its hardware configuration, its software configuration (including its operating system), its network configuration (for example, network size/type, network connectivity) and its identity (vendor ID, product ID, MAC Address).
  • a "characteristic" of data includes at least one of its type (for example, metadata, executable, or text file), size, protocol used for sending of the data, value of the data, and any other property that may be derived from the data.
  • the "state" of a host, or peripheral, or a communication interface is a set of logical values characterizing the status of a state machine corresponding thereto.
  • Coupled includes indirect coupling through an intermediary device.
  • Transparently means carrying on communication in such a manner that the recipient of the communication fails to detect an additional node in the course of communication.
  • the communication is performed "transparently". It is possible for a device to engage in communication with a peripheral or a host on one occasion, for example, when first connected to a host, in a manner as to appear to the host as a node, even though the same device might later engage in communication with the host and with a peripheral and fail to appear to the host and to the peripheral as a node. In the latter case, the communication is still deemed to be performed "transparently".
  • Fig. 1 is a block diagram of logical processes performed in accordance with an embodiment of the present invention.
  • data is "transparently" received from one of the peripheral devices and the host computing devices.
  • transparently means that communication of data is achieved in a way that the host and peripheral fail to see an additional node receiving the data.
  • the received data is stored.
  • this embodiment optionally includes implementing a preservation process 104 that precludes inter-device communication termination— in particular, the preservation process 104 precludes termination of communication between the peripheral and the host.
  • process 103 analyzes the stored data.
  • decision process 105 there is a determination of whether a security risk is posed. If no risk is posed, data is transparently echoed, in process 107, to the other of the peripheral and the host. In other words, the processes herein are interposed in communications between the host and the peripheral. If no risk is posed, then data communications between the host and the peripheral are enabled. On the other hand, if process 105 determines that a security risk is posed, then there is performed a security process 106.
  • the processes shown in Fig. 1 may optionally be performed in an apparatus that is physically separate from the host and the peripheral.
  • the processes may be performed in hardware that is integrated into the host computing device.
  • software for performing the processes may be integrated into the host at the kernel or BIOS level.
  • the processes may be integrated into at least one of the USB root hub and the south bridge.
  • the processes may be performed in the peripheral device itself by direct integration into the peripheral or in a component that is physically coupled to the peripheral to make a compound device.
  • the security process may be performed in hardware or in software in any of the foregoing locations.
  • At least one of the data to be analyzed and results derived from analyzing the data are stored in a database.
  • the user also optionally may be notified of processes that are occurring.
  • LED indicators may be used to indicate a state of at least one of the host computing device and the peripheral device.
  • the LED indicators may be coupled to the apparatus, and, in a further embodiment, mounted to the apparatus.
  • the rules governing operation of the security process 106 also may be configurable by a user.
  • the user may specify which kinds of peripherals (e.g., cameras, printers) may be connected to the host.
  • Further parameters also may be configured, such as specification of alternative rules according to an amount of time taken by data transfer to reach completion.
  • One rule may be to disable all downstream hubs.
  • the rules may be stored locally or globally and may be dynamic.
  • the rules may be dependent on the operating system or drivers on the host computing device or peripheral device. Rules may also discriminate between types of peripherals (e.g. keyboard, hard drive, camera, phone, etc.), types of data files (e.g. executable, text file, .xls, etc.), types of host (e.g. computer by name of A, computer in group A, windows machine, etc.), type of intercepting device/module (e.g. by model number or group number), and any other possible desired basis for discrimination.
  • types of peripherals e.g. keyboard, hard drive, camera, phone
  • Fig. 2 is a block diagram, of a further embodiment of the present invention, with details of implementation of the preservation process 104 of Fig. 1, in communication processes from a host computing device to a peripheral device.
  • the host computing device transmits data over a Universal Serial Bus (USB) to a device we here called a "USB repeater," which implements the processes of Fig. 1.
  • USB repeater receives the data.
  • the repeater stores the received data in its local memory.
  • the data is fed to a test program, which, in process 205, analyzes the data in accordance with processes 103, 105, and 106 of Fig. 1.
  • data is echoed in process 107 if there has not been a determination of a security risk in process 105 following analysis in process 103. If there is a determination of a security risk, then either no data or a modified packet is issued in process 205.
  • the embodiment of Fig. 2 includes a preservation process. More particularly, processes 103 and 105 of Fig. 1 may require some time to be completed, and a preservation process 104 is implemented in the embodiment of Fig. 2 to provide this time.
  • decision process 206 there is a determination whether data has been made available by process 205 before timeout, and if data is thus available, then in process 209 data is transmitted to the peripheral. If there is no data to transmit from the process 205, then program logic operates in process 207 to send a not-acknowledge (NAK) to the host and in process 208 to wait for a repeated attempt to send the packet by the host.
  • NAK not-acknowledge
  • This exemplary preservation process precludes termination of inter-device communication between the host computing device and the peripheral device.
  • Fig. 3 is a block diagram, of the embodiment of Fig. 2, with details of implementation of the preservation process 104 of Fig. 1, in communication processes from the peripheral device to the host computing device.
  • the processes represented are symmetric to those in Fig. 2.
  • the data is received from the peripheral device instead of the host computing device.
  • the peripheral device transmits data over a Universal Serial Bus (USB) to the USB repeater, which (as previously stated) implements the processes of Fig. 1.
  • USB repeater receives the data.
  • the repeater stores the received data in its local memory.
  • USB Universal Serial Bus
  • process 304 the data is fed to a test program, which, in process 305, analyzes the data in accordance with processes 103, 105, and 106 of Fig. 1.
  • process 305 analyzes the data in accordance with processes 103, 105, and 106 of Fig. 1.
  • data is echoed in process 107 if there has not been a determination of a security risk in process 105 following analysis in process 103.
  • Fig. 2 if there is a determination of a security risk, then either no data or a modified packet is issued in process 305.
  • the embodiment of Fig. 3 similarly includes a preservation process. More particularly, processes 103 and 105 of Fig. 1 may require some time to be completed, and a preservation process 104 is implemented in the embodiment of Fig. 3 to provide this time.
  • decision process 306 there is a determination whether data has been made available by process 305 before timeout, and if data is thus available, then in process 309 data is transmitted to the host computing device. If there is no data to transmit from the process 305, then program logic operates in process 307 to send a not-acknowledge (NAK) to the peripheral and in process 308 to wait for a repeated attempt to send the packet by the peripheral.
  • NAK not-acknowledge
  • this exemplary preservation process precludes termination of inter-device communication between the host computing device and the peripheral device.
  • Fig. 4 is a block diagram of the architecture of a hardware embodiment of the present invention.
  • the hardware can be viewed as a hardware USB repeater 407 that is placed between the host computing device 401 and the peripheral device 405.
  • the embodiment shown in Fig. 4 includes three modules.
  • the host computing device interface is through the physical layer 402.
  • the peripheral device interface is through the physical layer 404.
  • Physical layers 402 and 404 are in communication with a main module 406 which includes a CPU interface 408 and a repeater
  • Module 406 which may be embodied in a field-programmable gate array (FPGA), implements the processes described above in connection with Figs. 1-3, and as further described below. In an alternative embodiment, items 402, 406, and 404 may be integrated into a single module.
  • FPGA field-programmable gate array
  • Fig. 5 is a block diagram of a hardware embodiment of the present invention providing further details for implementation of the embodiment of Fig. 4.
  • the embodiment of Fig. 5 includes three modules: a power module 502, a data module 503, and a trusted hub 504, which are in communication with each other and with the host computing device 401 and peripheral devices 405, 506, and 507.
  • the data module may optionally include an isolation arrangement that electrically isolates the data lines.
  • the isolation arrangement may be implemented by one or more of optical isolation, mechanical relays, and electrical buffering, to add a method of separation in the data lines.
  • Fig. 6 is block diagram providing detail of the data module of the embodiment of
  • a protection layer 503 is implemented with USB Physical Layers 402 and 404 in communication with a main module FPGA 406.
  • a non- volatile memory 607 and random access memory (RAM) 608 also are coupled to FPGA 406, along with clock oscillator module 603.
  • Fig. 7 is block diagram providing detail of the power module of the embodiment of
  • the power module is coupled to the host computing device 401 and the peripheral device 405.
  • a switch 704 which is typically electronically operated, selectively provides power derived either from a 110 v ac line though rectifier 702 or from the host computing device power protected by a fuse 703.
  • the switched power supplies the FPGA 406 and an uninterruptible power supply 705, which, through flyback converter 706 and protection circuitry 707, supplies power to the peripheral 405.
  • the power module contains internal active clamp circuitry that provides a dedicated power system defense to protect the host computing device and the peripheral device from power disruptions.
  • the power system defense electrically isolates the 5V and ground power lines.
  • the electrical isolation protects the host computing device and the peripheral device from conditions such as over-voltage or over-current.
  • an attempt by the host computing device or peripheral device to pull more current than is allowed triggers a protection process, which performs at least one of the following countermeasures: locking out the port in question, notifying the user of a violation of specification, requesting that the user physically disconnect the device in violation, and re-enabling the connection.
  • a super-capacitor or battery technology may be used to provide power isolation in the event of a power surge.
  • Fig. 8 is a block diagram showing logical flow of peripheral authentication processes in accordance with an embodiment of the present invention.
  • the illustrated process starts at item 801.
  • the peripheral is connected and data characterizing a nature of the peripheral is received from the peripheral device.
  • an authentication process issues a challenge to the user 804.
  • the challenge may be issued via a display located on one of the host computing device, security module, peripheral device, and external module.
  • the challenge may be an auditory or haptic challenge.
  • the host computing device and the peripheral device may be prevented from having access to the challenge in order to add security.
  • decision process 805 the data received from the peripheral device is analyzed.
  • a failure process 806 or a success process 807 is implemented depending on the user response.
  • Fig. 9 is a block diagram providing further detail of the processes illustrated in Fig.
  • the illustrated process starts at item 901.
  • data characterizing the nature of the peripheral device is received from the peripheral device.
  • process 903 there is a test whether the device is approved based on the data. If the device is approved in process 903, then data is sent in process 904 from the peripheral device to the host device. If the device is not approved in process 903, then a challenge process 905 is performed requiring a user response to be entered on the peripheral device. The data received from the peripheral device purporting to be attributable to the user response is analyzed. If the data does not satisfy the challenge process 905, failure process 909 is initiated, followed by a NA sent to the host in process 913. If the data received from the peripheral device satisfies the challenge process 905, then a further challenge is presented in process 906.
  • process 908 there is testing to determine whether the challenge processes have been completed, and if not completed, then in process 910, a NAK is sent to the host. If in process 908 it is determined that the challenge processes have been completed, then in process 911 there is issued device approval, and a NA is sent to the host in process 912.
  • Fig. 10 is a block diagram showing logical flow associated with input customization in accordance with an embodiment of the present invention.
  • the process starts at item 1001.
  • the peripheral is connected and data is received from the peripheral device characterizing its nature. If the nature of the device is determined to have a user interface process 1003, then the in process 1004, the program logic waits for user input.
  • user input data is received from the peripheral device purporting to be attributable to user input and stored.
  • the stored data is analyzed to identify a circumstance defined by an identification rule.
  • a customization process 1009 defined by a customization rule is implemented and program flow ends in process 1011. If the determination in process 1007 is that there is not a match, then process 1008, the data is echoed to the host computing device program flow ends in process 1010.
  • One embodiment of the circumstance may be to disallow certain keyboard or mouse functions, such as print screen, copy/paste, right click, or the insert key.
  • the circumstance may be tied to software in such a way that certain functions are disallowed when certain software is running on the host computing device, peripheral device, or networks of either one.
  • data such as key strokes is logged to detect certain combinations of key strokes.
  • a protection process may be implemented if a harmful combination of key strokes is received, which could, for example, block the harmful communication and/or notify the user.
  • An emergency process could be implemented if a specific combination of key strokes, or a "panic keystroke," is received. In the emergency process, for example, normal echoing of key strokes may be inhibited and there may be implemented processes either on the security module itself or on the host computing device or the peripheral device or on the networks of either. Some embodiments include triggering a silent alarm, displaying a blue screen, accessing the internet, self destructing, or deleting data on one of the security module, host computing device, peripheral device, or networks of either.
  • Fig. 11 is a block diagram showing logical flow associated with file level encryption in accordance with an embodiment of the present invention.
  • Data is first received from the host computing device in process 1101.
  • process 1102 there is then implemented identifying data at a file level being subject to a write command to the peripheral device.
  • process 1103 there is a determination whether the data is to be encrypted according to a rule. If process 1103 leads to a determination to encrypt the data, then in process 1104 an encryption process is determined.
  • process 1105 the file level data is subject to the encryption process, which may be distinct for each file. If in process 1103, there is a determination not to encrypt the data, then no encryption steps are followed.
  • the data is stored, either encrypted or not encrypted, on the peripheral device. Since in one embodiment the peripheral device may be part of the host computing device, the encrypted data may be stored on a hard drive of the host computing device. In one embodiment, the encryption process is also dependent on the location or address where the data is stored after encrypting. The encryption process may also be configured in relation to a key derived from a user password as well as a pseudorandom number, in such a manner that the key changes with every file that is encrypted. In one embodiment, advanced hashing search algorithms are implemented to meet timing requirements.
  • Fig. 12 is a block diagram showing logical flow associated with file level decryption in accordance with an embodiment of the present invention.
  • Data is first received from the peripheral device in process 1201.
  • process 1202 there is implemented identifying data at a file level being subject to a read command to the host computing device.
  • process 1203 there is a determination whether to decrypt the data according to a rule. If there is a determination to decrypt the data, then in process 1204 the decryption process is determined.
  • the file level data is subject to the decryption process, which may be distinct for each file. If in process 1203, there is a determination not to decrypt the data, then no decryption steps are followed.
  • the data is stored, either decrypted or not decrypted, on the host computing device.
  • a rule defines which host computing devices are allowed to decrypt certain files or types of files.
  • Fig. 13 is a block diagram showing logical flow associated with transmission encryption in accordance with an embodiment of the present invention.
  • data is first received from the host computing device and subsequently stored in process 1302. Following this, two sub-processes are run in parallel.
  • sub-process 1303 the stored data is analyzed to determine an analysis of what part thereof, if any, to encrypt.
  • process 1304 based on the analysis, there is a determination whether to encrypt the data. If in process 1304, there is a determination to encrypt the data, then an encryption process 1305 is implemented in accordance with the analysis for forwarding to the peripheral device (following a data readiness test to be described) in process 1308.
  • process 1304 If in process 1304, there is a determination not to encrypt the data, then the unencrypted data is transferred to the peripheral device (again following the data readiness test to be described) in process 1308.
  • data readiness from blocks 1304 and 1305 is tested. If the data is determined to be ready, data is transferred to the peripheral device in process 1308, either encrypted or unencrypted. If data is determined to be not ready, a preservation process 1307 (such as previously described in connection with Figs. 2 and 3) is implemented that precludes inter-device communication termination.
  • Fig. 14 is a block diagram showing logical flow associated with transmission decryption in accordance with an embodiment of the present invention.
  • Data is first received from the peripheral device in process 1401 and subsequently stored in process 1402. Following this, two sub-processes are run in parallel.
  • sub-process 1403 the stored data is analyzed to determine an analysis of what part thereof, if any, to decrypt. If in process 1403, there is a determination to decrypt the data, then a decryption process 1405 is implemented in accordance with the analysis for forwarding to the host computing device in process 1408. If there is a determination in process 1404 not to decrypt the data, then the encrypted data is transferred to the host computing device in process 1408.
  • data readiness from blocks 1404 and 1405 is tested. If the data is determined to be ready, data is transferred to the host computing device in process 1408, either decrypted or encrypted. If data is determined not to be ready, a preservation process 1407 is implemented that precludes inter-device communication termination.
  • Fig. 15 is a block diagram showing logical flow associated with attack fingerprinting in accordance with an embodiment of the present invention.
  • process 1501 data is received from one of the peripheral device and the host computing device.
  • process 1502 the received data is stored.
  • process 1503 implements an analyzing process that tests received data against a database to identify a circumstance posing a security risk.
  • a hash search algorithm is used to search the database.
  • the database contains attack patterns and/or fingerprints of known and/or anticipated attacks. This database can be updated, for example directly or through the host computing device or peripheral device.
  • process 1504 there is a determination whether the analyzing process has identified a circumstance posing a security risk.
  • the security process may send modified data to the other of the peripheral device and the host computing device.
  • the security process may include at least one of blocking the data, logging the attack, and notifying the user.
  • the security process may also include transmitting information regarding the attack to a centralized location.
  • the security process may also use information regarding the attack to update the database and to predict future attacks.

Abstract

A method is provided of enhancing security of at least one of a host computing device and a peripheral device. In the method, the host computing device is coupled to the peripheral device through a communication interface. The method includes transparently receiving data from one of the peripheral device and the host computing device, and storing the received data. The method further includes analyzing the stored data to identify a circumstance posing a security risk. If analyzing does not identify such a circumstance, then the method includes transparently echoing the data to the other of the peripheral device and the host. If analyzing does identify such a circumstance, then the method includes performing a security process defined by a rule. Related apparatus is provided, as well as other methods and apparatus.

Description

APPARATUS AND METHOD FOR ENHANCING SECURITY OF DATA ON A HOST COMPUTING DEVICE AND A PERIPHERAL DEVICE
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Patent Application No. 13/011,297, filed
January 21, 2011, titled "Apparatus and Method for Enhancing Security of Data on a Host Computing Device and a Peripheral Device," the entire contents of which are hereby incorporated by reference herein, for all purposes.
TECHNICAL FIELD
[0002] The present invention relates to an apparatus and method for enhancing security of data on at least one of a host computing device and a peripheral device, and more particularly when such devices are engaged in communication through a communication interface.
SUMMARY OF EMBODIMENTS
[0003] In a first embodiment of the invention there is provided a method of enhancing security of at least one of a host computing device and a peripheral device. The host computing device is removably coupled to the peripheral device through a communication interface. The method includes transparently receiving data from one of the peripheral device and the host computing device, storing the received data, and analyzing the stored data to identify a circumstance posing a security risk. The method further includes if analyzing does not identify such a circumstance, then transparently echoing the data to the other of the peripheral device and the host. The method further includes if analyzing does identify such a circumstance, then performing a security process defined by a rule. The method optionally may further include implementing a preservation process that precludes inter-device communication termination.
[0004] In another embodiment of the invention there is provided a method of enhancing security of at least one of a host computing device and a peripheral device. The host computing device is removably coupled to the peripheral device through a communication interface. The method includes receiving data from one of the peripheral device and the host computing device, storing the received data, implementing a preservation process that precludes inter-device communication termination, and analyzing the stored data to identify a circumstance posing a security risk. The method further includes if analyzing does not identify such a circumstance, then echoing the data to the other of the peripheral device and the host. The method further includes if analyzing does identify such a circumstance, then performing a security process defined by a rule. Alternatively, or in addition, the preservation process includes sending a signal other than a data echo. In a further related embodiment, the signal is a no-acknowledge signal.
[0005] With respect to embodiments in the foregoing paragraphs, analyzing optionally includes implementing an analyzing process that tests the received data against a database to identify a circumstance posing a security risk. Also optionally, a further embodiment further includes causing the database to be updated to include additional circumstances posing a security risk. Alternatively or in addition, the analyzing process includes accessing the database with a hash algorithm.
[0006] In related embodiments, the security process includes encrypting data being sent to the peripheral device. The security process optionally includes one or more of: restricting communication between the host and the peripheral in accordance with the rule, modifying data in accordance with the rule, and delaying transmission of data between the host and the peripheral in accordance with the rule. Also optionally, the security process implements a secondary process that includes storing a log copy of at least a portion of the data. The security process optionally implements a secondary process that includes notifying a user over a second communication interface. The rule optionally is selected based on a nature of the peripheral device. In a further related embodiment, the rule also is dynamic and selected based on an input provided by the host device. In another related embodiment, the rule is dynamic and is selected based on an input provided by a user. In another related embodiment, the rule is dynamic and is selected based on a state describing at least one of the hosts, the peripheral, and the communication interface. In another related embodiment, the rule is dynamic and is selected from a plurality of rules, and the plurality of rules is stored on the host device. In another related embodiment, the rule is dynamic and is selected from a plurality of rules, and the plurality of rules is stored on the peripheral device. In another related embodiment, the rule is dynamic and is selected from a plurality of rules, and the plurality of rules is stored on a module that implements the processes for enhancing security.
[0007] Optionally, the rule is dependent on a characteristic of the data. Also optionally, the rule is selected based on a configuration of the host computing device. Alternatively, the rule is selected based on a protocol of the communication interface. Alternatively, the security process comprises an isolation process that electrically isolates the peripheral device from the host computing device.
[0008] In a further embodiment, there is provided a method of enhancing security of at least one of a host computing device and a peripheral device having a human interface, wherein the host computing device is removably coupled to the peripheral device through a communication interface. The method of this embodiment includes receiving data from the peripheral device characterizing its nature and implementing an authentication process based on the received data; such process includes issuing a challenge requiring a user response to be entered on the peripheral device. The method also includes analyzing data received from the peripheral device purporting to be attributable to the user response to determine whether the peripheral device behaves in a manner expected based on its nature.
[0009] In related embodiments, the challenge is issued via a display or, alternatively, via a sound. The method optionally further includes, if the peripheral device remains idle for a specified period of time, repeating the processes of implementing the authentication process and analyzing data.
[0010] In a further embodiment, there is provided a method of customizing user input capabilities from a peripheral device to a host computing device, wherein the host computing device is removably coupled to the peripheral device through a communication interface. The method of this embodiment includes (a) receiving data from the peripheral device characterizing its nature, (b) receiving data from the peripheral device purporting to be attributable to user input, (c) storing the data received in steps (a) and (b), and analyzing the data stored in step (c) to identify a circumstance defined by an identification rule. The method further includes if analyzing does not identify such a circumstance, then echoing the data to the host computing device. The method further includes if analyzing does identify such a circumstance, then performing a customization process defined by a customization rule. [0011] In a related embodiment, the identification rule identifies a circumstance associated with a risk of malicious activity. In another related embodiment, the identification rule identifies a user-specified emergency, and the customization rule includes triggering a response to the emergency. Optionally, the customization process includes modifying the data purporting to be attributable to user input. Optionally, the customization process precludes communication of at least a portion of the data purporting to be attributable to user input to the host computing device. In a related embodiment, the circumstance poses a security risk and the customization process includes implementing countermeasures determined by rule to reduce the security risk. In another related embodiment, implementing countermeasures includes executing them on the host computing device.
[0012] In a further embodiment there is provided a method of enhancing security of data that are communicated between a host computing device removably coupled to a peripheral device through a communication interface. The method of this embodiment includes identifying, at a file level, data being subject to a write command to the peripheral device, encrypting the file level data, according to a rule, with an encryption process, and causing storage of the encrypted file level data on the peripheral device. In a related embodiment, the encryption process is selected independently for each file that is encrypted.
[0013] In a further embodiment, there is provided a method of enhancing security of data that are communicated between a host computing device removably coupled to a peripheral device through a communication interface. The method of this embodiment includes identifying data at a file level being subject to a read command from the peripheral device, decrypting the file level data, according to a rule, with a decryption process, and causing storage of the decrypted file level data on the host computing device.
[0014] In a related embodiment, the decryption process is selected independently for each file that is decrypted. In a related embodiment, the rule is selected based on a characteristic of the data to be transmitted. In another related embodiment, the rule is selected based on at least one of a nature of the peripheral and a state describing the peripheral. In another related embodiment, the rule is selected based on at least one of a configuration of the host computing device and a state describing the host computing device. In another related embodiment, the rule is selected based on an identity of a user determined in an authentication process. [0015] In a further embodiment there is provided a method of enhancing security of data that are communicated between a host computing device removably coupled to a peripheral device through a communication interface. The method of this embodiment includes receiving data from the host computing device, storing the received data, implementing a preservation process that precludes inter-device communication termination, analyzing the stored data to determine an analysis of what part thereof, if any, to encrypt, encrypting the stored data in accordance with the analysis, and causing the encrypted data to be transferred to the peripheral device.
[0016] In a further embodiment there is provided a method of enhancing security of data that are communicated between a host computing device removably coupled to a peripheral device through a communication interface. The method of this embodiment includes receiving data from the peripheral device, storing the received data, implementing a preservation process that precludes inter-device communication termination, analyzing the stored data to determine an analysis of what part thereof, if any, to decrypt, decrypting the stored data in accordance with the analysis, and causing the encrypted data to be transferred to the host computing device.
[0017] In a related embodiment, the analysis is performed based on a characteristic of the data to be transmitted. In another related embodiment, the analysis is performed based on at least one of a nature of the peripheral and a state describing the peripheral. In another related embodiment, the analysis is performed based on at least one of a configuration of the host computing device and a state describing the host computing device. In another related embodiment, the analysis is performed based on an identity of a user determined in an authentication process.
[0018] In further embodiments there is provided a security device comprising a hardware arrangement configured to cause implementation of the method according to any of the previously described embodiments.
[0019] In a further embodiment there is provided a security device for enhancing security of at least one of a host computing device and a peripheral device; the host computing device is removably coupled to the peripheral device through a communication interface. The security device of this embodiment includes an apparatus running processes including transparently receiving data from one of the peripheral device and the host computing device, storing the received data, and analyzing the stored data to identify a circumstance posing a security risk. The method further includes if analyzing does not identify such a circumstance, then transparently echoing the data to the other of the peripheral device and the host. The method further includes if analyzing does identify such a circumstance, then performing a security process defined by a rule.
[0020] In a further embodiment there is provided a security device for enhancing security of at least one of a host computing device and a peripheral device; the host computing device is removably coupled to the peripheral device through a communication interface. The security device includes an apparatus running processes including receiving data from one of the peripheral device and the host computing device, storing the received data, implementing a preservation process that precludes inter-device communication termination, and analyzing the stored data to identify a circumstance posing a security risk. The processes being run by the apparatus further include if analyzing does not identify such a circumstance, then echoing the data to the other of the peripheral device and the host; and if analyzing does identify such a circumstance, then performing a security process defined by a rule.
BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The foregoing features of embodiments will be more readily understood by reference to the following detailed description, taken with reference to the accompanying drawings, in which:
[0022] Fig. 1 is a block diagram of logical processes performed in accordance with an embodiment of the present invention;
[0023] Fig. 2 is a block diagram, of a further embodiment of the present invention, with details of implementation of the preservation process 104 of Fig. 1 in communication processes from a host computing device to a peripheral device;
[0024] Fig. 3 is a block diagram, of the embodiment of Fig. 2, with details of implementation of the preservation process 104 of Fig. 1 in communication processes from the peripheral device to the host computing device;
[0025] Fig. 4 is a block diagram of the architecture of a hardware embodiment of the present invention;
[0026] Fig. 5 is a block diagram of a hardware embodiment of the present invention providing further details for implementation of the embodiment of Fig. 4; [0027] Fig. 6 is block diagram providing detail of the data module of the embodiment of
Fig. 5;
[0028] Fig. 7 is block diagram providing detail of the power module of the embodiment of
Fig. 5;
[0029] Fig. 8 is a block diagram showing logical flow of peripheral authentication processes in accordance with an embodiment of the present invention;
[0030] Fig. 9 is a block diagram providing further detail of the processes illustrated in Fig.
8;
[0031] Fig. 10 is a block diagram showing logical flow associated with input customization in accordance with an embodiment of the present invention;
[0032] Fig. 11 is a block diagram showing logical flow associated with file level encryption in accordance with an embodiment of the present invention;
[0033] Fig. 12 is a block diagram showing logical flow associated with file level decryption in accordance with an embodiment of the present invention;
[0034] Fig. 13 is a block diagram showing logical flow associated with transmission encryption in accordance with an embodiment of the present invention;
[0035] Fig. 14 is a block diagram showing logical flow associated with transmission decryption in accordance with an embodiment of the present invention; and
[0036] Fig. 15 is a block diagram showing logical flow associated with attack fingerprinting in accordance with an embodiment of the present invention.
DETAILED DESCRIPTION OF SPECIFIC EMBODIMENTS
[0037] Definitions. As used in this description and the accompanying claims, the following terms shall have the meanings indicated, unless the context otherwise requires:
[0038] A "host computing device" is a device having a processor configured to run a host computing process. The host computing device may be all or a part of a computing system.
[0039] A "peripheral device" is a component that is removably connectable and physically proximate to a host computing device that is configured to have bidirectional communication with the host computing device through a communication interface. The peripheral device may be at least one of: contained in the host computing device, plugged into the host computing device, and physically distinct from the host computing device. A peripheral is "physically proximate" to the host computing device if it is sufficiently close to the device as to permit communication between the peripheral and the host computing device through the communication interface. As an example, a peripheral device may be a USB device that is removably connectable to a host computing device through a USB port. The peripheral device may operate with a wireless USB connection as well.
[0040] "Analyzing" is a computer process.
[0041] "Receiving from one of two sources, includes receiving from both.
[0042] A "circumstance posing a security risk" is a circumstance, beyond garbling of data in a physical layer or transmission layer, deemed to put data at risk of unauthorized access, destruction, or disruption in availability.
[0043] "Implementing a preservation process that precludes inter-device communication termination" includes and is not limited to (i) acting fast enough that inter-device termination does not occur as well as (ii) issuing signals indicating receipt of data.
[0044] The "nature" of a peripheral device includes its functionality (for example, keyboard, hub, or printer) and optionally its identity (vendor ID, product ID, MAC Address).
[0045] The "configuration" of a host includes at least one of its hardware configuration, its software configuration (including its operating system), its network configuration (for example, network size/type, network connectivity) and its identity (vendor ID, product ID, MAC Address).
[0046] A "characteristic" of data includes at least one of its type (for example, metadata, executable, or text file), size, protocol used for sending of the data, value of the data, and any other property that may be derived from the data.
[0047] The "state" of a host, or peripheral, or a communication interface is a set of logical values characterizing the status of a state machine corresponding thereto.
[0048] "Coupled" includes indirect coupling through an intermediary device.
[0049] "Transparently" means carrying on communication in such a manner that the recipient of the communication fails to detect an additional node in the course of communication.
Thus when a device communicates with a peripheral or with a host computing device and does not appear to the peripheral or the host computing device, as the case may be, as an additional node, the communication is performed "transparently". It is possible for a device to engage in communication with a peripheral or a host on one occasion, for example, when first connected to a host, in a manner as to appear to the host as a node, even though the same device might later engage in communication with the host and with a peripheral and fail to appear to the host and to the peripheral as a node. In the latter case, the communication is still deemed to be performed "transparently".
[0050] Fig. 1 is a block diagram of logical processes performed in accordance with an embodiment of the present invention. In this embodiment, under process 101, data is "transparently" received from one of the peripheral devices and the host computing devices. Use of the term "transparently", as defined above, means that communication of data is achieved in a way that the host and peripheral fail to see an additional node receiving the data. In process 102, the received data is stored. In addition, this embodiment optionally includes implementing a preservation process 104 that precludes inter-device communication termination— in particular, the preservation process 104 precludes termination of communication between the peripheral and the host. In addition, while process 104 is ongoing, process 103 analyzes the stored data. In decision process 105, there is a determination of whether a security risk is posed. If no risk is posed, data is transparently echoed, in process 107, to the other of the peripheral and the host. In other words, the processes herein are interposed in communications between the host and the peripheral. If no risk is posed, then data communications between the host and the peripheral are enabled. On the other hand, if process 105 determines that a security risk is posed, then there is performed a security process 106.
[0051] The processes shown in Fig. 1 may optionally be performed in an apparatus that is physically separate from the host and the peripheral. In another embodiment, however, the processes may be performed in hardware that is integrated into the host computing device. For example, software for performing the processes may be integrated into the host at the kernel or BIOS level. Alternatively, the processes may be integrated into at least one of the USB root hub and the south bridge. In yet additional embodiments, the processes may be performed in the peripheral device itself by direct integration into the peripheral or in a component that is physically coupled to the peripheral to make a compound device. In particular, among other things, the security process may be performed in hardware or in software in any of the foregoing locations.
[0052] In one embodiment, at least one of the data to be analyzed and results derived from analyzing the data are stored in a database. The user also optionally may be notified of processes that are occurring. For example, LED indicators may be used to indicate a state of at least one of the host computing device and the peripheral device. Optionally, when the processes of Fig. 1 are performed in an apparatus physically separate from the host and the peripheral, the LED indicators may be coupled to the apparatus, and, in a further embodiment, mounted to the apparatus.
[0053] The rules governing operation of the security process 106 also may be configurable by a user. For example, the user may specify which kinds of peripherals (e.g., cameras, printers) may be connected to the host. Further parameters also may be configured, such as specification of alternative rules according to an amount of time taken by data transfer to reach completion. One rule may be to disable all downstream hubs. The rules may be stored locally or globally and may be dynamic. The rules may be dependent on the operating system or drivers on the host computing device or peripheral device. Rules may also discriminate between types of peripherals (e.g. keyboard, hard drive, camera, phone, etc.), types of data files (e.g. executable, text file, .xls, etc.), types of host (e.g. computer by name of A, computer in group A, windows machine, etc.), type of intercepting device/module (e.g. by model number or group number), and any other possible desired basis for discrimination.
[0054] Fig. 2 is a block diagram, of a further embodiment of the present invention, with details of implementation of the preservation process 104 of Fig. 1, in communication processes from a host computing device to a peripheral device. In Fig. 2, under process 201, the host computing device transmits data over a Universal Serial Bus (USB) to a device we here called a "USB repeater," which implements the processes of Fig. 1. In process 202, the USB repeater receives the data. In process 203, the repeater stores the received data in its local memory. In process 204, the data is fed to a test program, which, in process 205, analyzes the data in accordance with processes 103, 105, and 106 of Fig. 1. As discussed in connection with Fig, 1, data is echoed in process 107 if there has not been a determination of a security risk in process 105 following analysis in process 103. If there is a determination of a security risk, then either no data or a modified packet is issued in process 205.
[0055] In addition, the embodiment of Fig. 2 includes a preservation process. More particularly, processes 103 and 105 of Fig. 1 may require some time to be completed, and a preservation process 104 is implemented in the embodiment of Fig. 2 to provide this time. In decision process 206, there is a determination whether data has been made available by process 205 before timeout, and if data is thus available, then in process 209 data is transmitted to the peripheral. If there is no data to transmit from the process 205, then program logic operates in process 207 to send a not-acknowledge (NAK) to the host and in process 208 to wait for a repeated attempt to send the packet by the host. This exemplary preservation process precludes termination of inter-device communication between the host computing device and the peripheral device.
[0056] Fig. 3 is a block diagram, of the embodiment of Fig. 2, with details of implementation of the preservation process 104 of Fig. 1, in communication processes from the peripheral device to the host computing device. The processes represented are symmetric to those in Fig. 2. The data is received from the peripheral device instead of the host computing device. Thus in Fig. 3, under process 301, the peripheral device transmits data over a Universal Serial Bus (USB) to the USB repeater, which (as previously stated) implements the processes of Fig. 1. In process 302, the USB repeater receives the data. In process 303, the repeater stores the received data in its local memory. In process 304, the data is fed to a test program, which, in process 305, analyzes the data in accordance with processes 103, 105, and 106 of Fig. 1. As discussed in connection with Fig, 1, data is echoed in process 107 if there has not been a determination of a security risk in process 105 following analysis in process 103. In a manner analogous to Fig. 2, if there is a determination of a security risk, then either no data or a modified packet is issued in process 305.
[0057] As stated in connection with the embodiment of Fig. 2, the embodiment of Fig. 3 similarly includes a preservation process. More particularly, processes 103 and 105 of Fig. 1 may require some time to be completed, and a preservation process 104 is implemented in the embodiment of Fig. 3 to provide this time. In decision process 306, there is a determination whether data has been made available by process 305 before timeout, and if data is thus available, then in process 309 data is transmitted to the host computing device. If there is no data to transmit from the process 305, then program logic operates in process 307 to send a not-acknowledge (NAK) to the peripheral and in process 308 to wait for a repeated attempt to send the packet by the peripheral. As in Fig. 2, this exemplary preservation process precludes termination of inter-device communication between the host computing device and the peripheral device.
[0058] Fig. 4 is a block diagram of the architecture of a hardware embodiment of the present invention. The hardware can be viewed as a hardware USB repeater 407 that is placed between the host computing device 401 and the peripheral device 405. The embodiment shown in Fig. 4 includes three modules. The host computing device interface is through the physical layer 402. The peripheral device interface is through the physical layer 404. Physical layers 402 and 404 are in communication with a main module 406 which includes a CPU interface 408 and a repeater
403. Module 406, which may be embodied in a field-programmable gate array (FPGA), implements the processes described above in connection with Figs. 1-3, and as further described below. In an alternative embodiment, items 402, 406, and 404 may be integrated into a single module.
[0059] Fig. 5 is a block diagram of a hardware embodiment of the present invention providing further details for implementation of the embodiment of Fig. 4. The embodiment of Fig. 5 includes three modules: a power module 502, a data module 503, and a trusted hub 504, which are in communication with each other and with the host computing device 401 and peripheral devices 405, 506, and 507. The data module may optionally include an isolation arrangement that electrically isolates the data lines. The isolation arrangement may be implemented by one or more of optical isolation, mechanical relays, and electrical buffering, to add a method of separation in the data lines.
[0060] Fig. 6 is block diagram providing detail of the data module of the embodiment of
Fig. 5. In the embodiment shown in Fig. 6, a protection layer 503 is implemented with USB Physical Layers 402 and 404 in communication with a main module FPGA 406. A non- volatile memory 607 and random access memory (RAM) 608 also are coupled to FPGA 406, along with clock oscillator module 603.
[0061] Fig. 7 is block diagram providing detail of the power module of the embodiment of
Fig. 5. The power module is coupled to the host computing device 401 and the peripheral device 405. A switch 704, which is typically electronically operated, selectively provides power derived either from a 110 v ac line though rectifier 702 or from the host computing device power protected by a fuse 703. The switched power supplies the FPGA 406 and an uninterruptible power supply 705, which, through flyback converter 706 and protection circuitry 707, supplies power to the peripheral 405.
[0062] In further related embodiments, the power module contains internal active clamp circuitry that provides a dedicated power system defense to protect the host computing device and the peripheral device from power disruptions. The power system defense electrically isolates the 5V and ground power lines. The electrical isolation protects the host computing device and the peripheral device from conditions such as over-voltage or over-current. In this embodiment, an attempt by the host computing device or peripheral device to pull more current than is allowed triggers a protection process, which performs at least one of the following countermeasures: locking out the port in question, notifying the user of a violation of specification, requesting that the user physically disconnect the device in violation, and re-enabling the connection. In some embodiments a super-capacitor or battery technology may be used to provide power isolation in the event of a power surge.
[0063] Fig. 8 is a block diagram showing logical flow of peripheral authentication processes in accordance with an embodiment of the present invention. The illustrated process starts at item 801. At item 802, the peripheral is connected and data characterizing a nature of the peripheral is received from the peripheral device. In decision process 803, if the nature of the peripheral includes having a user interface, an authentication process issues a challenge to the user 804. According to some embodiments the challenge may be issued via a display located on one of the host computing device, security module, peripheral device, and external module. Alternatively, or in addition, the challenge may be an auditory or haptic challenge. Furthermore, the host computing device and the peripheral device may be prevented from having access to the challenge in order to add security. In decision process 805, the data received from the peripheral device is analyzed. In the illustrated embodiment, a failure process 806 or a success process 807 is implemented depending on the user response.
[0064] Fig. 9 is a block diagram providing further detail of the processes illustrated in Fig.
8. The illustrated process starts at item 901. At item 902, data characterizing the nature of the peripheral device is received from the peripheral device. In process 903, there is a test whether the device is approved based on the data. If the device is approved in process 903, then data is sent in process 904 from the peripheral device to the host device. If the device is not approved in process 903, then a challenge process 905 is performed requiring a user response to be entered on the peripheral device. The data received from the peripheral device purporting to be attributable to the user response is analyzed. If the data does not satisfy the challenge process 905, failure process 909 is initiated, followed by a NA sent to the host in process 913. If the data received from the peripheral device satisfies the challenge process 905, then a further challenge is presented in process 906. In process 908, there is testing to determine whether the challenge processes have been completed, and if not completed, then in process 910, a NAK is sent to the host. If in process 908 it is determined that the challenge processes have been completed, then in process 911 there is issued device approval, and a NA is sent to the host in process 912.
[0065] Fig. 10 is a block diagram showing logical flow associated with input customization in accordance with an embodiment of the present invention. The process starts at item 1001. In process 1002, the peripheral is connected and data is received from the peripheral device characterizing its nature. If the nature of the device is determined to have a user interface process 1003, then the in process 1004, the program logic waits for user input. In process 1005, user input data is received from the peripheral device purporting to be attributable to user input and stored. Then in process 1006, the stored data is analyzed to identify a circumstance defined by an identification rule. In process 1007, there is a determination whether the data matches a circumstance defined by the rule. If the determination is that there is a match, then a customization process 1009 defined by a customization rule is implemented and program flow ends in process 1011. If the determination in process 1007 is that there is not a match, then process 1008, the data is echoed to the host computing device program flow ends in process 1010. One embodiment of the circumstance may be to disallow certain keyboard or mouse functions, such as print screen, copy/paste, right click, or the insert key. In addition, the circumstance may be tied to software in such a way that certain functions are disallowed when certain software is running on the host computing device, peripheral device, or networks of either one. In yet another embodiment, data such as key strokes is logged to detect certain combinations of key strokes. A protection process may be implemented if a harmful combination of key strokes is received, which could, for example, block the harmful communication and/or notify the user. An emergency process could be implemented if a specific combination of key strokes, or a "panic keystroke," is received. In the emergency process, for example, normal echoing of key strokes may be inhibited and there may be implemented processes either on the security module itself or on the host computing device or the peripheral device or on the networks of either. Some embodiments include triggering a silent alarm, displaying a blue screen, accessing the internet, self destructing, or deleting data on one of the security module, host computing device, peripheral device, or networks of either.
[0066] Fig. 11 is a block diagram showing logical flow associated with file level encryption in accordance with an embodiment of the present invention. Data is first received from the host computing device in process 1101. In process 1102, there is then implemented identifying data at a file level being subject to a write command to the peripheral device. In process 1103, there is a determination whether the data is to be encrypted according to a rule. If process 1103 leads to a determination to encrypt the data, then in process 1104 an encryption process is determined. In process 1105, the file level data is subject to the encryption process, which may be distinct for each file. If in process 1103, there is a determination not to encrypt the data, then no encryption steps are followed. Finally in process 1106, the data is stored, either encrypted or not encrypted, on the peripheral device. Since in one embodiment the peripheral device may be part of the host computing device, the encrypted data may be stored on a hard drive of the host computing device. In one embodiment, the encryption process is also dependent on the location or address where the data is stored after encrypting. The encryption process may also be configured in relation to a key derived from a user password as well as a pseudorandom number, in such a manner that the key changes with every file that is encrypted. In one embodiment, advanced hashing search algorithms are implemented to meet timing requirements.
[0067] Fig. 12 is a block diagram showing logical flow associated with file level decryption in accordance with an embodiment of the present invention. Data is first received from the peripheral device in process 1201. Next, in process 1202 there is implemented identifying data at a file level being subject to a read command to the host computing device. In process 1203, there is a determination whether to decrypt the data according to a rule. If there is a determination to decrypt the data, then in process 1204 the decryption process is determined. Next in process 1205 the file level data is subject to the decryption process, which may be distinct for each file. If in process 1203, there is a determination not to decrypt the data, then no decryption steps are followed. Finally in process 1206, the data is stored, either decrypted or not decrypted, on the host computing device. In one embodiment, a rule defines which host computing devices are allowed to decrypt certain files or types of files.
[0068] Fig. 13 is a block diagram showing logical flow associated with transmission encryption in accordance with an embodiment of the present invention. In process 1301, data is first received from the host computing device and subsequently stored in process 1302. Following this, two sub-processes are run in parallel. In sub-process 1303, the stored data is analyzed to determine an analysis of what part thereof, if any, to encrypt. In process 1304, based on the analysis, there is a determination whether to encrypt the data. If in process 1304, there is a determination to encrypt the data, then an encryption process 1305 is implemented in accordance with the analysis for forwarding to the peripheral device (following a data readiness test to be described) in process 1308. If in process 1304, there is a determination not to encrypt the data, then the unencrypted data is transferred to the peripheral device (again following the data readiness test to be described) in process 1308. In sub-process 1306, data readiness from blocks 1304 and 1305 is tested. If the data is determined to be ready, data is transferred to the peripheral device in process 1308, either encrypted or unencrypted. If data is determined to be not ready, a preservation process 1307 (such as previously described in connection with Figs. 2 and 3) is implemented that precludes inter-device communication termination.
[0069] Fig. 14 is a block diagram showing logical flow associated with transmission decryption in accordance with an embodiment of the present invention. Data is first received from the peripheral device in process 1401 and subsequently stored in process 1402. Following this, two sub-processes are run in parallel. In sub-process 1403, the stored data is analyzed to determine an analysis of what part thereof, if any, to decrypt. If in process 1403, there is a determination to decrypt the data, then a decryption process 1405 is implemented in accordance with the analysis for forwarding to the host computing device in process 1408. If there is a determination in process 1404 not to decrypt the data, then the encrypted data is transferred to the host computing device in process 1408. In the other sub-process 1406, data readiness from blocks 1404 and 1405 is tested. If the data is determined to be ready, data is transferred to the host computing device in process 1408, either decrypted or encrypted. If data is determined not to be ready, a preservation process 1407 is implemented that precludes inter-device communication termination.
[0070] Fig. 15 is a block diagram showing logical flow associated with attack fingerprinting in accordance with an embodiment of the present invention. In process 1501, data is received from one of the peripheral device and the host computing device. In process 1502, the received data is stored. In addition, process 1503 implements an analyzing process that tests received data against a database to identify a circumstance posing a security risk. In one embodiment, a hash search algorithm is used to search the database. In one embodiment, the database contains attack patterns and/or fingerprints of known and/or anticipated attacks. This database can be updated, for example directly or through the host computing device or peripheral device. In process 1504, there is a determination whether the analyzing process has identified a circumstance posing a security risk. If there is not a determination of a security risk in process 1504, then in process 1506, the data is echoed to the other of the peripheral device and the host computing device. If however, in process 1504, there is a determination of a circumstance posing a security risk, then a security process 1505 defined by a rule is performed. In one embodiment, the security process may send modified data to the other of the peripheral device and the host computing device. In another embodiment, the security process may include at least one of blocking the data, logging the attack, and notifying the user. The security process may also include transmitting information regarding the attack to a centralized location. The security process may also use information regarding the attack to update the database and to predict future attacks.
[0071] The embodiments of the invention described above are intended to be merely exemplary; numerous variations and modifications will be apparent to those skilled in the art. All such variations and modifications are intended to be within the scope of the present invention as defined in any appended claims.

Claims

CLAIMS What is claimed is:
1. A method of enhancing security of at least one of a host computing device and a peripheral device, the host computing device removably coupled to the peripheral device through a communication interface, the method comprising:
transparently receiving data from one of the peripheral device and the host computing device;
storing the received data;
analyzing the stored data to identify a circumstance posing a security risk;
if analyzing does not identify such a circumstance, then transparently echoing the data to the other of the peripheral device and the host;
if analyzing does identify such a circumstance, then performing a security process defined by a rule.
2. A method according to claim 1, further comprising:
implementing a preservation process that precludes inter-device communication termination.
3. A method of enhancing security of at least one of a host computing device and a peripheral device, the host computing device removably coupled to the peripheral device through a communication interface, the method comprising:
receiving data from one of the peripheral device and the host computing device;
storing the received data;
implementing a preservation process that precludes inter-device communication termination;
analyzing the stored data to identify a circumstance posing a security risk;
if analyzing does not identify such a circumstance, then echoing the data to the other of the peripheral device and the host;
if analyzing does identify such a circumstance, then performing a security process defined by a rule.
4. A method according to claim 3, wherein the preservation process includes sending a signal other than a data echo.
5. A method according to claim 4, wherein the signal is a no-acknowledge signal.
6. A method according to any of claims 1 and 3, wherein the security process includes restricting communication between the host and the peripheral in accordance with the rule.
7. A method according to any of claims 1 and 3, wherein the security process includes delaying transmission of data between the host and the peripheral in accordance with the rule.
8. A method according to any of claims 1 and 3, wherein the rule is dynamic and is selected from a plurality of rules, the plurality of rules being stored on the host device.
9. A method according to any of claims 1 and 3, wherein the rule is dynamic and is selected from a plurality of rules, the plurality of rules being stored on the peripheral device.
10. A security device comprising a hardware arrangement configured to cause implementation of a method according to any of claims 1 through 9.
11. A security device for enhancing security of at least one of a host computing device and a peripheral device, the host computing device removably coupled to the peripheral device through a communication interface, the security device comprising an apparatus running processes comprising:
transparently receiving data from one of the peripheral device and the host computing device;
storing the received data;
analyzing the stored data to identify a circumstance posing a security risk;
if analyzing does not identify such a circumstance, then transparently echoing the data to the other of the peripheral device and the host;
if analyzing does identify such a circumstance, then performing a security process defined by a rule.
12. A security device for enhancing security of at least one of a host computing device and a peripheral device, the host computing device removably coupled to the peripheral device through a communication interface, the security device comprising an apparatus running processes comprising:
receiving data from one of the peripheral device and the host computing device;
storing the received data;
implementing a preservation process that precludes inter-device communication termination;
analyzing the stored data to identify a circumstance posing a security risk;
if analyzing does not identify such a circumstance, then echoing the data to the other of the peripheral device and the host;
if analyzing does identify such a circumstance, then performing a security process defined by a rule.
PCT/US2012/021905 2011-01-21 2012-01-19 Apparatus and method for enhancing security of data on a host computing device and a peripheral device WO2012100079A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE112012000531T DE112012000531T5 (en) 2011-01-21 2012-01-19 Method and apparatus for improving the security of data on a host computing device and a peripheral device
KR1020137021909A KR101939078B1 (en) 2011-01-21 2012-01-19 Apparatus and method for enhancing security of data on a host computing device and a peripheral device
GB1314304.5A GB2501215B (en) 2011-01-21 2012-01-19 Apparatus and method for enhancing security of data on a host computing device and a peripheral device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/011,297 US8566934B2 (en) 2011-01-21 2011-01-21 Apparatus and method for enhancing security of data on a host computing device and a peripheral device
US13/011,297 2011-01-21

Publications (2)

Publication Number Publication Date
WO2012100079A2 true WO2012100079A2 (en) 2012-07-26
WO2012100079A3 WO2012100079A3 (en) 2013-01-03

Family

ID=46516376

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2012/021905 WO2012100079A2 (en) 2011-01-21 2012-01-19 Apparatus and method for enhancing security of data on a host computing device and a peripheral device

Country Status (5)

Country Link
US (1) US8566934B2 (en)
KR (1) KR101939078B1 (en)
DE (1) DE112012000531T5 (en)
GB (1) GB2501215B (en)
WO (1) WO2012100079A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9875354B1 (en) 2011-01-21 2018-01-23 Gigavation, Inc. Apparatus and method for enhancing security of data on a host computing device and a peripheral device
WO2018080677A1 (en) * 2016-10-26 2018-05-03 Intel Corporation Providing secure data transmission over a universal serial bus (usb) interface

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5857637B2 (en) * 2011-11-04 2016-02-10 サンケン電気株式会社 Information processing program and information processing method
US20140149609A1 (en) * 2012-11-29 2014-05-29 Kok Hong Chan Detecting device disconnect in a repeater
US9232176B2 (en) 2013-03-04 2016-01-05 Janus Technologies, Inc. Method and apparatus for securing computer video and audio subsystems
US9141820B2 (en) * 2013-07-25 2015-09-22 Adobe Systems Incorporated Network-based service content protection
US9384150B2 (en) 2013-08-20 2016-07-05 Janus Technologies, Inc. Method and apparatus for performing transparent mass storage backups and snapshots
US9684805B2 (en) 2013-08-20 2017-06-20 Janus Technologies, Inc. Method and apparatus for securing computer interfaces
US9231921B2 (en) 2013-08-20 2016-01-05 Janus Technologies, Inc. System and architecture for secure computer devices
US11210432B2 (en) 2013-08-20 2021-12-28 Janus Technologies, Inc. Method and apparatus for selectively snooping and capturing data for secure computer interfaces
US9424443B2 (en) 2013-08-20 2016-08-23 Janus Technologies, Inc. Method and apparatus for securing computer mass storage data
US9076003B2 (en) 2013-08-20 2015-07-07 Janus Technologies, Inc. Method and apparatus for transparently encrypting and decrypting computer interface data
US9215250B2 (en) 2013-08-20 2015-12-15 Janus Technologies, Inc. System and method for remotely managing security and configuration of compute devices
EP3586259B1 (en) * 2017-02-27 2022-06-08 Ivanti, Inc. Systems and methods for context-based mitigation of computer security risks
CN109522760B (en) * 2018-10-29 2020-08-14 北京博衍思创信息科技有限公司 Data forwarding control method and system based on hardware control logic
US20200285602A1 (en) * 2019-03-05 2020-09-10 Texas Instruments Incorporated eUSB2 to USB 2.0 Data Transmission with Surplus Sync Bits
CN113064651B (en) * 2021-03-30 2023-01-24 重庆中科云从科技有限公司 Initialization control device, method and equipment applied to multistage interface series equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080276302A1 (en) * 2005-12-13 2008-11-06 Yoggie Security Systems Ltd. System and Method for Providing Data and Device Security Between External and Host Devices
US7540024B2 (en) * 2004-10-15 2009-05-26 Microsoft Corporation Security features for portable computing environment
US20090235365A1 (en) * 2008-03-13 2009-09-17 Tung-Cheng Kuo Data access system
US7870599B2 (en) * 2000-09-05 2011-01-11 Netlabs.Com, Inc. Multichannel device utilizing a centralized out-of-band authentication system (COBAS)

Family Cites Families (125)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366877B1 (en) 1997-03-24 2002-04-02 Seiko Epson Corporation Method and device for emulation of peripheral input/output (I/O) controller of a computer system
JPH10293641A (en) 1997-04-17 1998-11-04 Toshiba Corp Computer system and usb device control method
US6088802A (en) * 1997-06-04 2000-07-11 Spyrus, Inc. Peripheral device with integrated security functionality
US6886055B2 (en) 1997-12-15 2005-04-26 Clearcube Technology, Inc. Computer on a card with a remote human interface
KR100290729B1 (en) 1998-01-07 2001-05-15 클라크 3세 존 엠. Apparatus and method of transmitting and receiving usb isochronous data
US6311294B1 (en) 1998-10-20 2001-10-30 Cypress Semiconductor Corp. Device and method for efficient bulk data retrieval using a universal serial bus
US6321335B1 (en) 1998-10-30 2001-11-20 Acqis Technology, Inc. Password protected modular computer method and device
US6389029B1 (en) 1998-11-10 2002-05-14 Nortel Networks Limited Local area network incorporating universal serial bus protocol
US6216183B1 (en) 1998-11-20 2001-04-10 Compaq Computer Corporation Apparatus and method for securing information entered upon an input device coupled to a universal serial bus
US6584519B1 (en) 1998-12-22 2003-06-24 Canon Kabushiki Kaisha Extender for universal serial bus
TW420796B (en) 1999-01-13 2001-02-01 Primax Electronics Ltd Computer system equipped with portable electronic key
US6389495B1 (en) 1999-01-16 2002-05-14 Cypress Semiconductor Corp. Dedicated circuit and method for enumerating and operating a peripheral device on a universal serial bus
US6343260B1 (en) 1999-01-19 2002-01-29 Sun Microsystems, Inc. Universal serial bus test system
US6389560B1 (en) 1999-01-19 2002-05-14 Sun Microsystems, Inc. Universal serial bus interpreter
US7003613B1 (en) 1999-01-26 2006-02-21 Transdimension Inc. System for transferring data using a USB host system with a dedicated processor
US6601109B1 (en) 1999-03-31 2003-07-29 International Business Machines Corporation USB-based networking and I/O hub
JP4371466B2 (en) 1999-04-15 2009-11-25 株式会社東芝 Computer system and method for controlling I / O device thereof
US6708247B1 (en) 1999-07-21 2004-03-16 Clearcube Technology, Inc. Extending universal serial bus to allow communication with USB devices at a remote location
US7447037B2 (en) 1999-08-04 2008-11-04 Super Talent Electronics, Inc. Single chip USB packages by various assembly methods
US7704147B2 (en) 1999-10-06 2010-04-27 Igt Download procedures for peripheral devices
US6251014B1 (en) 1999-10-06 2001-06-26 International Game Technology Standard peripheral communication
CN1088218C (en) 1999-11-14 2002-07-24 邓国顺 Electronic flash storage method and device for data processing system
US6804243B1 (en) 1999-11-22 2004-10-12 Texas Instruments Incorporated Hardware acceleration for segmentation of message packets in a universal serial bus peripheral device
US6671765B1 (en) 1999-11-22 2003-12-30 Texas Instruments Incorporated Architecture enabling code overlay using a dedicated endpoint
US6523081B1 (en) 1999-11-22 2003-02-18 Texas Instruments Incorporated Architecture using dedicated endpoints and protocol for creating a multi-application interface and improving bandwidth over universal serial bus
US6684402B1 (en) 1999-12-01 2004-01-27 Cognex Technology And Investment Corporation Control methods and apparatus for coupling multiple image acquisition devices to a digital data processor
US6934774B1 (en) 1999-12-20 2005-08-23 Fujitsu Limited Method and system for reliable device configuration in a computer system
FR2804816B1 (en) 2000-02-03 2003-10-31 Gemplus Card Int TRANSPORT OF PROTOCOL UNITS OF PORTABLE ELECTRONIC OBJECT BY PROTOCOL FOR MICROCOMPUTER DEVICES
IL149052A0 (en) 2000-02-21 2002-11-10 Trek Technology Singapore Pte A portable data storage device
FR2806505A1 (en) 2000-03-15 2001-09-21 Schlumberger Systems & Service COMMUNICATION METHOD BETWEEN A CHIP CARD AND A HOST STATION
US6839771B1 (en) 2000-04-13 2005-01-04 Hewlett-Packard Development Company, L.P. Method and system for using a universal serial bus (USB) as a peer-to-peer network
US6754811B1 (en) 2000-06-16 2004-06-22 International Business Machines Corporation Operating system device centric agent
US6959257B1 (en) 2000-09-11 2005-10-25 Cypress Semiconductor Corp. Apparatus and method to test high speed devices with a low speed tester
US6968462B2 (en) 2000-12-11 2005-11-22 International Business Machines Corporation Verifying physical universal serial bus keystrokes
US6718412B2 (en) 2000-12-14 2004-04-06 Agilent Technologies, Inc. Apparatus and method for universal serial bus communications
US6839793B2 (en) 2001-03-28 2005-01-04 Intel Corporation Method and apparatus to maximize bandwidth availability to USB devices
US6678761B2 (en) 2001-03-30 2004-01-13 Intel Corporation Method and apparatus for budget development under universal serial bus protocol in a multiple speed transmission environment
US7272831B2 (en) 2001-03-30 2007-09-18 Intel Corporation Method and apparatus for constructing host processor soft devices independent of the host processor operating system
US6931465B1 (en) 2001-03-31 2005-08-16 Cypress Semiconductor Corp. Intelligent, extensible SIE peripheral device
CA2345596C (en) 2001-04-27 2007-12-04 Icron Systems Inc. Method and apparatus for extending the range of the universal serial bus protocol
JP3680762B2 (en) 2001-05-14 2005-08-10 セイコーエプソン株式会社 Data transfer control device and electronic device
WO2003003295A1 (en) 2001-06-28 2003-01-09 Trek 2000 International Ltd. A portable device having biometrics-based authentication capabilities
US7228366B2 (en) 2001-06-29 2007-06-05 Intel Corporation Method and apparatus for deterministic removal and reclamation of work items from an expansion bus schedule
US6904489B2 (en) 2001-10-23 2005-06-07 Digi International Inc. Methods and systems for remotely accessing universal serial bus devices
US6889265B2 (en) 2001-11-05 2005-05-03 Intel Corporation Apparatus and method to allow and synchronize schedule changes in a USB enhanced host controller
US6996705B2 (en) 2001-11-21 2006-02-07 Lenovo (Singapore) Pte. Ltd. Method and system for configuring the language of the BIOS in a computer system
US6744634B2 (en) 2001-11-23 2004-06-01 Power Quotient International Co., Ltd. Low height USB interface connecting device and a memory storage apparatus thereof
US7162407B2 (en) 2001-12-03 2007-01-09 Ms1-Microsoft Corporation Testing a host's support for peripheral devices
KR20040073523A (en) 2001-12-29 2004-08-19 타이구엔 엔터프라이즈 코퍼레이션 리미티드 A portable data conversion processor with standard data port
CN2517012Y (en) 2002-01-23 2002-10-16 台均实业有限公司 USB moving memory capable of optional staging, extension and changing medium
US6792501B2 (en) 2002-01-31 2004-09-14 Phision Electronic Corp Universal serial bus flash memory integrated circuit device
TW569013B (en) 2002-02-21 2004-01-01 Via Tech Inc Chip test method for testing host controller of universal serial bus
US20030184960A1 (en) 2002-03-28 2003-10-02 Compaq Information Technologies Group, L.P. Enumeration, manageability, and security of a KVM extension device
EA007888B1 (en) 2002-05-13 2007-02-27 Трек 2000 Интернэшнл Лтд. System and apparatus for compressing and decompressing data stored to a portable data storage device
KR100976840B1 (en) 2002-06-03 2010-08-20 톰슨 라이센싱 Dsl modem and method for establishing a data transfer mode therefore
US6904493B2 (en) 2002-07-11 2005-06-07 Animeta Systems, Inc. Secure flash memory device and method of operation
US6745264B1 (en) 2002-07-15 2004-06-01 Cypress Semiconductor Corp. Method and apparatus for configuring an interface controller wherein ping pong FIFO segments stores isochronous data and a single circular FIFO stores non-isochronous data
US6757776B1 (en) 2002-07-17 2004-06-29 Cypress Semiconductor Corp. Control transaction handling in a device controller
TW588243B (en) 2002-07-31 2004-05-21 Trek 2000 Int Ltd System and method for authentication
ATE544111T1 (en) 2002-11-01 2012-02-15 Saslite Corp REMOVABLE USB DEVICE WITH SEPARATE UNITS
US7069373B2 (en) 2002-11-07 2006-06-27 Nec Electronics America, Inc. USB endpoint controller flexible memory management
JP4050135B2 (en) 2002-11-25 2008-02-20 富士通株式会社 COMMUNICATION DEVICE, HOST DEVICE, AND COMMUNICATION METHOD
US7114105B2 (en) 2002-12-05 2006-09-26 Qualcomm, Inc. System and method for software download to wireless communication device
US7460535B2 (en) 2002-12-18 2008-12-02 Synopsys, Inc. Device and method that allows single data recovery circuit to support multiple USB ports
US7222201B2 (en) 2003-01-06 2007-05-22 Plx Technology, Inc. Virtual endpoint for USB devices
US7069370B2 (en) 2003-01-31 2006-06-27 Toshiba Corporation USB memory storage apparatus with integrated circuit in a connector
JP4554598B2 (en) 2003-03-27 2010-09-29 サンディスク アイエル リミテッド A data storage device that is fully accessible by all users
US7243237B2 (en) 2003-05-02 2007-07-10 Microsoft Corporation Secure communication with a keyboard or related device
US7469343B2 (en) * 2003-05-02 2008-12-23 Microsoft Corporation Dynamic substitution of USB data for on-the-fly encryption/decryption
US7181649B2 (en) 2003-05-09 2007-02-20 Stmicroelectronics, Inc. Universal serial bus (USB) smart card having enhanced testing features and related system, integrated circuit, and methods
US7080789B2 (en) 2003-05-09 2006-07-25 Stmicroelectronics, Inc. Smart card including a JTAG test controller and related methods
US7373522B2 (en) 2003-05-09 2008-05-13 Stmicroelectronics, Inc. Smart card with enhanced security features and related system, integrated circuit, and methods
US7143224B2 (en) 2003-05-09 2006-11-28 Stmicroelectronics, Inc. Smart card for performing advance operations to enhance performance and related system, integrated circuit, and methods
US6783078B1 (en) 2003-05-09 2004-08-31 Stmicroelectronics, Inc. Universal serial bus (USB) smart card having read back testing features and related system, integrated circuit, and methods
US7044390B2 (en) 2003-06-02 2006-05-16 Stmicroelectronics, Inc. Smart card emulator and related methods using buffering interface
US7369982B2 (en) 2003-06-04 2008-05-06 Stmicroelectronics, Inc. Multi-mode smart card emulator and related methods
JP3649227B2 (en) 2003-06-06 2005-05-18 セイコーエプソン株式会社 Data transfer control device, electronic device, and data transfer control method
US7127649B2 (en) 2003-06-09 2006-10-24 Stmicroelectronics, Inc. Smartcard test system and related methods
US7493431B2 (en) 2003-08-06 2009-02-17 Icron Technologies Corporation Method and apparatus for extending the range of the universal serial bus protocol
US7454783B2 (en) 2003-08-08 2008-11-18 Metapass, Inc. System, method, and apparatus for automatic login
USD494969S1 (en) 2003-08-11 2004-08-24 Benq Corporation USB flash memory drive
KR100557215B1 (en) 2003-08-19 2006-03-10 삼성전자주식회사 Endpoint Controller of USB device and Method of the same
TWI296083B (en) 2003-09-29 2008-04-21 Sharp Kk Communication controller, host-side controller, communication system, usb system, communication equipment, communication method, packet-based communication method, packet-based communication program, and storage medium
US7489417B2 (en) 2003-09-30 2009-02-10 Toshiba Corporation USB print
US7145481B2 (en) 2003-09-30 2006-12-05 Intel Corporation Method and apparatus for trusted keyboard scanning
TWI238320B (en) 2003-10-07 2005-08-21 Sunplus Technology Co Ltd USB composite device using hub connection layer and UTMI interface
US7636844B2 (en) 2003-11-17 2009-12-22 Intel Corporation Method and system to provide a trusted channel within a computer system for a SIM device
US7762470B2 (en) 2003-11-17 2010-07-27 Dpd Patent Trust Ltd. RFID token with multiple interface controller
US7597250B2 (en) 2003-11-17 2009-10-06 Dpd Patent Trust Ltd. RFID reader with multiple interfaces
US7321951B2 (en) 2003-11-17 2008-01-22 Micron Technology, Inc. Method for testing flash memory power loss recovery
US7213766B2 (en) 2003-11-17 2007-05-08 Dpd Patent Trust Ltd Multi-interface compact personal token apparatus and methods of use
US7073010B2 (en) 2003-12-02 2006-07-04 Super Talent Electronics, Inc. USB smart switch with packet re-ordering for interleaving among multiple flash-memory endpoints aggregated as a single virtual USB endpoint
US7213096B2 (en) 2004-03-31 2007-05-01 Intel Corporation Operating a remote USB host controller
US7328849B2 (en) 2004-04-21 2008-02-12 Stmicroelectronics, Inc. Smart card providing data mapping for multiple applications and related methods
JP2005328280A (en) 2004-05-13 2005-11-24 Canon Inc Data processor
US7480931B2 (en) 2004-07-24 2009-01-20 Bbs Technologies, Inc. Volume mount authentication
US7747797B2 (en) 2004-09-28 2010-06-29 Microsoft Corporation Mass storage device with near field communications
US7188206B2 (en) 2004-10-22 2007-03-06 Conwise Technology Corporation Ltd. USB compound device without embedded hub and implement method in USB system
US7496493B1 (en) 2004-11-09 2009-02-24 Western Digital Technologies, Inc. External memory device to provide disk device and optical functionality
US7478424B2 (en) * 2004-11-30 2009-01-13 Cymtec Systems, Inc. Propagation protection within a network
US7644211B2 (en) 2004-12-07 2010-01-05 Cisco Technology, Inc. Method and system for controlling transmission of USB messages over a data network between a USB device and a plurality of host computers
US20060136338A1 (en) * 2004-12-16 2006-06-22 Intel Corporation Techniques for filtering attempts to access component core logic
US7823214B2 (en) 2005-01-07 2010-10-26 Apple Inc. Accessory authentication for electronic devices
US7640378B2 (en) 2005-03-11 2009-12-29 Icron Technologies Corporation Method and apparatus for improving the performance of USB mass storage devices in the presence of long transmission delays
JP4502389B2 (en) 2005-03-15 2010-07-14 キヤノン株式会社 COMMUNICATION DEVICE AND ITS CONTROL METHOD
US7711874B1 (en) 2005-03-23 2010-05-04 American Megatrends, Inc. Usage of EHCI companion USB controllers for generating periodic events
US7396257B2 (en) 2005-05-26 2008-07-08 Itt Manufacturing Enterprises, Inc. Computer input/output (I/O) connector assembly having a security circuit disposed therein
US7702825B2 (en) 2005-06-29 2010-04-20 Intel Corporation Enhancements to universal serial bus (USB) suspend and resume operations
US7748031B2 (en) 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
US7664960B1 (en) 2005-09-23 2010-02-16 Kenneth Wayne Clubb Password enhancing device
US7877788B1 (en) * 2006-02-27 2011-01-25 Teradici Corporation Method and apparatus for securing a peripheral data interface
US7447821B2 (en) 2006-04-21 2008-11-04 Sandisk Corporation U3 adapter
US7516261B2 (en) 2006-04-21 2009-04-07 Sandisk Corporation Method for U3 adapter
US7975304B2 (en) 2006-04-28 2011-07-05 Trend Micro Incorporated Portable storage device with stand-alone antivirus capability
US7734841B2 (en) 2006-06-30 2010-06-08 Palm, Inc. System and method for providing serial bus connectivity
US7490255B2 (en) 2006-06-30 2009-02-10 Intel Corporation Power efficient flow control model for USB asynchronous transfers
US7587536B2 (en) 2006-07-28 2009-09-08 Icron Technologies Corporation Method and apparatus for distributing USB hub functions across a network
US7647446B2 (en) 2006-10-03 2010-01-12 Silex Technology, Inc. Networked isochronous USB communication
EP2092452A2 (en) * 2006-12-14 2009-08-26 SAGEM Sécurité Peripheral security device
US20090064273A1 (en) * 2007-08-31 2009-03-05 Broadcom Corporation Methods and systems for secure data entry and maintenance
US8484736B2 (en) 2008-06-06 2013-07-09 Sandisk Il Ltd. Storage device having an anti-malware protection
US8091115B2 (en) * 2008-10-03 2012-01-03 Microsoft Corporation Device-side inline pattern matching and policy enforcement
USD610156S1 (en) 2009-01-01 2010-02-16 Orion Photo Industries, Inc. USB flash drive
US20110289548A1 (en) * 2010-05-18 2011-11-24 Georg Heidenreich Guard Computer and a System for Connecting an External Device to a Physical Computer Network
US8140733B2 (en) * 2010-08-12 2012-03-20 Emcon Emanation Control Ltd. Secure external computer hub

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7870599B2 (en) * 2000-09-05 2011-01-11 Netlabs.Com, Inc. Multichannel device utilizing a centralized out-of-band authentication system (COBAS)
US7540024B2 (en) * 2004-10-15 2009-05-26 Microsoft Corporation Security features for portable computing environment
US20080276302A1 (en) * 2005-12-13 2008-11-06 Yoggie Security Systems Ltd. System and Method for Providing Data and Device Security Between External and Host Devices
US20090235365A1 (en) * 2008-03-13 2009-09-17 Tung-Cheng Kuo Data access system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9875354B1 (en) 2011-01-21 2018-01-23 Gigavation, Inc. Apparatus and method for enhancing security of data on a host computing device and a peripheral device
US10678913B2 (en) 2011-01-21 2020-06-09 Gigavation, Inc. Apparatus and method for enhancing security of data on a host computing device and a peripheral device
WO2018080677A1 (en) * 2016-10-26 2018-05-03 Intel Corporation Providing secure data transmission over a universal serial bus (usb) interface
US10715501B2 (en) 2016-10-26 2020-07-14 Intel Corporation Providing secure data transmission over a universal serial bus (USB) interface

Also Published As

Publication number Publication date
KR101939078B1 (en) 2019-04-10
KR20140007387A (en) 2014-01-17
GB2501215B (en) 2018-07-04
US20120192271A1 (en) 2012-07-26
DE112012000531T5 (en) 2013-10-31
GB2501215A (en) 2013-10-16
GB201314304D0 (en) 2013-09-25
US8566934B2 (en) 2013-10-22
WO2012100079A3 (en) 2013-01-03

Similar Documents

Publication Publication Date Title
US8566934B2 (en) Apparatus and method for enhancing security of data on a host computing device and a peripheral device
US10678913B2 (en) Apparatus and method for enhancing security of data on a host computing device and a peripheral device
US8862803B2 (en) Mediating communciation of a univeral serial bus device
US9794270B2 (en) Data security and integrity by remote attestation
CN104871484B (en) The system and method for network firewall for the endpoint hardware auxiliary in security context
US20080052539A1 (en) Inline storage protection and key devices
US20200026882A1 (en) Methods and systems for activating measurement based on a trusted card
CN109063476A (en) A kind of computer system to ensure information security
US20140195793A1 (en) Remotely Establishing Device Platform Integrity
CN104320389A (en) Fusion identify protection system and fusion identify protection method based on cloud computing
US9674143B2 (en) Security control apparatus and method for cloud-based virtual desktop
US8954624B2 (en) Method and system for securing input from an external device to a host
CN101420299B (en) Method for enhancing stability of intelligent cipher key equipment and intelligent cipher key equipment
CN210053421U (en) Network safety isolation device for realizing intranet information safety
CN201489538U (en) Terminal safety and security equipment
Shila et al. FIDES: Enhancing trust in reconfigurable based hardware systems
Shila et al. Unraveling the security puzzle: A distributed framework to build trust in FPGAs
WO2020207292A1 (en) Data security processing system and method, storage medium, processor, and hardware security card
KR101737747B1 (en) Improving tamper resistance of aggregated data
CN109284638B (en) Protection method and system for operating environment of security chip
CN201725339U (en) Reliable reconfigurable device
CN114157535A (en) Double-responsibility chain micro-service gateway system and processing method thereof
CN114385539A (en) Verification system, method, device and medium for USB storage equipment
CN102025499A (en) Physical extension-based CA (certificate authority) digital signature method and CA digital signature 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: 12736783

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 112012000531

Country of ref document: DE

Ref document number: 1120120005317

Country of ref document: DE

ENP Entry into the national phase

Ref document number: 1314304

Country of ref document: GB

Kind code of ref document: A

Free format text: PCT FILING DATE = 20120119

WWE Wipo information: entry into national phase

Ref document number: 1314304.5

Country of ref document: GB

ENP Entry into the national phase

Ref document number: 20137021909

Country of ref document: KR

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 12736783

Country of ref document: EP

Kind code of ref document: A2