US20130044798A1 - Side Channel Communications - Google Patents
Side Channel Communications Download PDFInfo
- Publication number
- US20130044798A1 US20130044798A1 US13/334,054 US201113334054A US2013044798A1 US 20130044798 A1 US20130044798 A1 US 20130044798A1 US 201113334054 A US201113334054 A US 201113334054A US 2013044798 A1 US2013044798 A1 US 2013044798A1
- Authority
- US
- United States
- Prior art keywords
- value
- operational speed
- circuitry
- external
- signal
- Prior art date
- Legal status (The legal status 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 status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/86—Secure or tamper-resistant housings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2101—Auditing as a secondary aspect
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Definitions
- ICs integrated circuits
- ICs use input and output pins to communicate with other ICs or other devices.
- the number of pins that can be provided on the ICs is limited.
- a typical microprocessor used in a mobile device such as an ARM processor, can be as small as one to five square millimeters and include up to forty pins for input and output. In such an implementation, it is difficult to provide additional input and output channels to provide supplemental communications with the microprocessor.
- wireless communication components are provided on the ICs.
- wireless communication methods use sophisticated antennas for generating wireless signals and analog signal processing circuitry.
- analog circuitry can be expensive, difficult to manufacture with reliability, and generally incompatible with other digital circuitry on the ICs.
- wireless communication methods using electromagnetic waves are sensitive to interference from nearby electronic devices. Such interference can make using wireless communication methods with ICs impractical in some applications.
- the side channel communications system includes a receiver device, such as a digital integrated circuit (IC) with an internal circuitry, wherein the operational speed of the internal circuitry changes in response to an external signal.
- a receiver device is a field-programmable gate array (FPGA) IC where the output frequency of a ring oscillator varies based on the temperature of the IC.
- FPGA field-programmable gate array
- An implementation of the side channel communications system can also include an external transmitter including a heat source or a heat sink that generates the external information signal in the form of a temperature signal.
- the external transmitter communicates the external information signal to the IC in the form of a change in the supply voltage and the IC includes an internal circuitry with operational speed that is dependent upon the voltage supplied to the IC or a logic component of the IC.
- the external transmitter communicates the external information signal to the IC or to a logic component of the IC in the form of a change in the ground voltage applied to the IC or to the logic component of the IC.
- articles of manufacture are provided as computer program products.
- One implementation of a computer program product provides a tangible computer program storage medium readable by a computing system and encoding a processor-executable program.
- Other implementations are also described and recited herein.
- FIG. 1 illustrates example data sources and flows for a side channel communications system.
- FIG. 2 illustrates alternative example data sources and flows for a side channel communications system.
- FIG. 3 illustrates other alternative example data sources and flows for a side channel communications system.
- FIG. 4 illustrates example operations for a side channel communications system.
- a transmitter communicates information to a digital circuit with semiconductor components such as complementary metal-oxide semiconductor (CMOS) components by changing the operating temperature of various components of the digital circuit.
- CMOS complementary metal-oxide semiconductor
- the transmitter changes the operating temperature of various components on the digital circuit by directing heat into the digital circuit using a heat source or by extracting heat from the digital circuit by using a heat sink.
- an output parameter of an existing component such as an output frequency of a ring oscillator implemented using the existing components of the digital circuit, is modulated based on the temperature change induced by the transmitter.
- a decoder circuit decodes the change in the output frequency of the ring oscillator to determine the information communicated by the transmitter.
- the transmitter communicates information to the digital circuit using the voltage supplied to the digital circuit.
- the change in the supplied voltage causes a change in the operational speed of a circuitry within the digital circuit.
- a decoder decodes the change in the operating speed to determine the information communicated by the transmitter.
- the side channel communication system need not use additional input or output pins or wireless circuitry to communicate information with the digital circuit.
- additional components need not be used to implement the side channel communications system because the side channel communication system uses the existing components of the digital circuit to decode the information communicated by the transmitter. It should be understood however that additional components may be employed in various implementations of the described technology.
- FIG. 1 illustrates example data sources and flows for a side channel communications system 100 .
- the side channel communications system 100 includes a receiver device 102 that is configured to receive side channel communications from an external transmitter 104 .
- the receiver device is a digital circuit using various digital components, such as CMOS digital components, field-programmable gate array (FPGA) components, etc.
- the receiver device 102 is illustrated to have a first internal component 106 communicating with a second internal component 108 using an internal circuitry 110 .
- the operating speed of internal circuitry 110 is a function of a number of parameters, including the temperature of the receiver device 102 . Specifically, such operating speed can be influenced by the operating temperature of the section of the receiver device 102 containing the internal circuitry 110 .
- a signal diagram 120 illustrates the timeline for communications between the first internal component 106 and the second internal component 108 .
- the signal diagram 120 illustrates the timing 122 between a signal generation time 124 and a signal receipt time 126 .
- the signal is generated by the first internal component 106 at generation time 124 and it is received by the second internal component 108 at the signal receipt time 126 .
- the timing 122 denotes the delay between the signal generation time 124 and the signal receipt time 126 in the absence of any external signal from the external transmitter 104 .
- the side channel communications system 100 includes a decoder 130 that evaluates the timing 122 to determine a value of the information 132 communicated from the external transmitter 104 to the receiver device 102 .
- the decoder 130 compares the timing 122 with a timing value stored in a memory of the decoder 130 and if the timing 122 is approximately the same as the value stored in the memory of the decoder 130 , the decoder 130 determines that the external transmitter 104 has not communicated any information to the receiver 102 .
- the decoder 130 compares the timing 122 with a timing value stored in a memory of the decoder 130 and if the timing 122 is consistent with the timing value stored in the memory of the decoder 130 , the decoder 130 determines that the value of the information 132 communicated by the external transmitter 104 is a “0” bit.
- FIG. 1 also illustrates an instance of a side channel communications system 150 where a receiver device 152 is in communication with an external transmitter 154 .
- the receiver device 152 is illustrated to have a first internal component 156 communicating with a second internal component 158 using internal circuitry 160 .
- the operating speed of the internal circuitry 160 is a function of a number of parameters, including the temperature of the receiver device 152 . Specifically, such operating speed depends upon the operating temperature of the section of the receiver device 152 where the internal circuitry 160 is located.
- the external transmitter 154 communicates with the receiver device 152 using a temperature signal 164 .
- a heat source located within the external transmitter 154 changes its heat output to generate the temperature signal 164 that travels towards the receiver device 152 .
- the temperature signal 164 is a positive signal if the heat output from the external transmitter 154 is increased and a negative signal if the heat output from the external transmitter 154 is decreased.
- a positive temperature signal 164 causes the temperature of a section of the receiver device 152 to increase.
- the positive temperature signal 164 causes the temperature of the internal circuitry 160 to increase. Such increased temperature causes an increase in the propagation delay on the internal circuitry 160 or a decrease in the operating speed of the internal circuitry 160 .
- the increased temperature results in decreased mobility of electrons and holes in a transistor within the internal circuitry 160 .
- the increased mobility of the electrons and holes results in a reduction of the current flowing through the internal circuitry 160 , in effect increasing the RC delay of the internal circuitry 160 and therefore increasing the propagation delay.
- a signal diagram 170 illustrates the timeline for the communication between the first internal component 156 and the second internal component 158 . Specifically, the signal diagram 170 illustrates the timing 172 between a signal generation time 174 and a signal receipt time 176 . For example, the signal is generated by the first internal component 156 at the signal generation time 174 and it is received by the second internal component 158 at the signal receipt time 176 .
- the timing 172 denotes the delay between the signal generation time 174 and the signal receipt time 176 in the presence of the temperature signal 164 from the external transmitter 154 .
- the temperature signal 164 is a positive temperature signal indicating increased heat from the external transmitter 154 causing an increase in the propagation delay on the internal circuitry 160 .
- the timing 172 in the presence of a positive external signal 164 is greater than the timing 122 when no external signal is received from the external transmitter 104 .
- the timing 172 is modulated by the information contained in the temperature signal 164 received from the external transmitter 154 .
- the timing 172 is smaller than the original timing 122 .
- the magnitude of the change in the timing 172 compared to the timing 122 also depends upon the magnitude of the temperature signal 164 .
- a higher amount of heat cases the timing 172 to increase by a higher amount.
- the side channel communications system 150 includes a decoder 180 that evaluates the timing 172 to determine a value of the information 182 communicated from the external transmitter 154 to the receiver device 152 .
- the decoder 180 compares the timing 172 with a timing value stored in a memory of the decoder 180 and if the timing 172 is approximately the same as the value stored in the memory of the decoder 180 , the decoder 180 determines that the external transmitter 154 has not communicated any information to the receiver device 152 .
- the decoder 180 compares the timing 172 with a timing value stored in a memory of the decoder 180 and if the timing 172 is approximately same as the value stored in the memory of the decoder 180 , the decoder 180 determines that the value of the information 182 communicated by the external transmitter 154 is a “0” bit. Similarly, a value of the difference between the timing 172 and the timing value stored in a memory of the decoder 180 above a threshold indicates a particular information communicated by the external transmitter 154 .
- the decoder 180 compares the most recent timing 172 received from the receiver device 152 with a previous timing, such as the timing 122 .
- various past observations of timings including the previous value of the timing 122 , are stored in a local memory of the decoder 180 .
- the decoder 180 generates the information 182 based on the difference between the observed timing value 172 and the stored timing value. Because the magnitude of the change in the propagation delay on the internal circuitry 160 of the receiver device 152 depends upon the magnitude of the change in the temperature of the internal circuitry, the external transmitter 154 is able to communicate information to the receiver device 152 by changing the amount of the heat transmitted to the receiver device 152 .
- the receiver device 152 periodically communicates the present temperature of the receiver device 152 and/or the present temperature of the internal circuitry 160 to the external transmitter 154 .
- Receiving the present value of the temperature from the receiver device 152 allows the external transmitter 154 to determine how much heat has been actually absorbed by the receiver device 152 so as to allow the external transmitter 154 to determine how to communicate with the receiver device 152 given the present condition of the receiver device 152 .
- Such feedback from the receiver device 152 also allows the external transmitter 154 to calibrate its communications to the receiver device 152 based on changes in the temperature of the receiving device 152 due to changes in the ambient temperature affecting the receiver device 152 .
- the decoder 180 is configured to store a differential change value of the timing on the internal circuitry 160 .
- the decoder 180 calculates the change in the timing between the most recent timing 172 and the timing value stored in the decoder 180 , such as the previous timing 122 and compares the observed change in the timing with the differential change value to determine if the observed change in the timing represents any information. For example, if the change in the observed timing as a result of receiving the temperature signal 164 is above a threshold, the decoder 180 determines that particular information is received from the temperature signal 164 . However, if the observed change in the timing is below the threshold, the decoder 180 does not construe such change as any information communicated by the external transmitter 154 .
- the receiver device 152 is further configured to calibrate decoder 180 based on the amount of change in the observed timing value 182 that represents any information communicated from by the external transmitter 154 .
- the amount of change in the observed timing value 172 is also affected by the conditions in the environment of the receiver device 152 .
- the calibration of the decoder 180 compensates the decoder 180 for such environmental conditions, such as an increase in the overall temperature surrounding the receiver device 152 , etc. For example, when the overall temperature surrounding the receiver device 152 has increased, a larger value of change in the timing value 172 represents any information communicated by the external transmitter 154 .
- the decoders 130 , 180 are implemented using a logic circuit that receive the timing 122 , 172 and compare the received timing 122 , 172 to other information such as a threshold value, a previous observation of the timing, a historical value of the timing, etc.
- the decoders 130 , 180 are multiple-input, multiple-output logic circuits that convert inputs into coded outputs.
- the decoders 130 , 180 are configured to store the expected value of the propagation delay between the first internal component 106 and the second internal component 108 at the manufacturing of the receiver devices 102 , 152 .
- the decoders 130 , 180 generate an output representing a signal communicated by the external transmitters 104 , 154 based on the change in the timings 122 , 172 as an input and comparing such input with the historical value of the propagation delay saved in the decoders 130 , 180 .
- the external transmitter 154 adjusts the temperature of the receiver device 152 within a range of ⁇ 15° centigrade to 85° centigrade in increments of 10° centigrades.
- the receiver device 152 and the external transmitter 154 are configured so that each of the temperature points conveys a particular information.
- the receiver device 152 and the external transmitter 154 are configured such that the change of temperature from one level to another level conveys a particular information to the receiver device 152 .
- Example implementations of the side channel communications system 100 allows communicating information over a range of ⁇ 40° centigrade to 100° centigrade with each increment of 0.1° centigrade temperature representing new information.
- a change of temperature from 10° centigrade to 10.1° centigrade represents first information whereas a change of temperature from 10° centigrade to 10.2° centigrade represents second information.
- a change of temperature from 10° centigrade to 9.9° centigrade represents third information.
- the external transmitter 154 generates the temperature signal 164 by changing the heat generated by a heat source device. In an alternative implementation, the external transmitter 154 generates the temperature signal 164 by changing the heat absorbed by a heat sink device.
- Other mechanisms for generating a temperature signal 164 include induction heating, compression cooling, etc.
- the propagation delay in the internal circuitry 110 , 160 is also affected by the voltage supply to the receiver devices 102 , 152 . Therefore, in an alternative implementation, the external transmitters 104 , 154 of a side channel communication systems 100 , 150 send information to a receiver devices 102 , 152 using the power supply to the receiver devices 102 , 152 . For example, in the instance of the side channel communication system 150 , the external transmitter 154 sends information to the receiver device 152 using a power supply line 190 . In such an implementation, the external transmitter 154 is communicatively connected to a power supply 192 via a power supply modulation line 194 .
- the external transmitter 154 sends a modulation signal to the power supply 192 so that the voltage supplied to the receiver device 152 via the power supply line 190 is varied based on the modulation signal from the external transmitter 154 .
- the supply current generated by the power supply 192 is changed in response to the signal received on the power supply modulation line 194 .
- the external transmitter 154 communicates with the receiver device 152 by changing the ground voltage applied to the receiver device 152 or to a logic component of the receiver device 152 .
- the change in voltage supplied to the receiver device 152 causes a change in the propagation delay on the internal circuitry 160 .
- Such change in the propagation delay is reflected in the timing 172 for a signal communicated from the first internal component 156 to the second internal component 158 .
- the decoder 180 evaluates the timing 172 to determine the information conveyed by the voltage supply modulation signal from the external transmitter 154 .
- FIG. 2 illustrates alternative example data sources and flows for a side channel communications system 200 .
- the side channel communications system 200 includes a receiver device 202 and an external transmitter 204 .
- the receiver device 202 is a FPGA device that is configured to have a number of input/output pins 206 for communicating with other electronic devices, with a communication bus, with a printed circuit board, etc. Because the input/output pins 206 are a limited resource, the external transmitter 204 communicates with the receiver device 202 using side channels such as the temperature of the receiver device, the power supply of the receiver device, etc.
- the external transmitter 204 of the side channel communications system 200 is configured to communicate with the receiver device 202 using a temperature signal 208 .
- the external transmitter 204 includes a heat source that generates heat to generate the temperature signal 208 .
- the external transmitter 204 includes a heat sink that generates the temperature signal 208 by increasing the amount of heat absorbed by the heat sink.
- the receiver device 202 is configured to have various components with at least one operating characteristic that is sensitive to the change in the temperature caused by the temperature signal 208 .
- the illustrated implementation of the receiver device 202 includes a ring oscillator 210 .
- the ring oscillator 210 is a device including an odd number of inverters with an output that oscillates between two voltage levels.
- the ring oscillator 210 is implemented using various existing components of the receiver device 202 .
- the ring oscillator 210 is implemented using the look up tables (LUTs) of various configurable logic blocks (CLBs) of the FPGA receiver device 202 .
- the implementation of the ring oscillator 210 uses minimal or no changes in the internal configuration of the receiver device 202 .
- the ring oscillator 210 is implemented using other digital logic technologies, such as the complementary metal oxide semiconductor (CMOS) logic, the N-type metal oxide semiconductor (NMOS) logic, the complex programmable logic devices (CPLDs), the programmable logic arrays (PLA), the programmable array logic (PAL), the generic array logic (GAL), the structured logic, etc.
- CMOS complementary metal oxide semiconductor
- NMOS N-type metal oxide semiconductor
- CPLDs complex programmable logic devices
- PPA programmable logic arrays
- PAL programmable array logic
- GAL generic array logic
- the ring oscillator 210 is configured so that the frequency of its output signal depends upon the temperature of the ring oscillator 210 . Additionally, the output frequency of the ring oscillator 210 also depends upon the supply voltage to the ring oscillator 210 and the number of inverters used to implement the ring oscillator 210 . When the ring oscillator 210 is implemented using LUTs, the frequency of its output signal additionally depends upon the number of LUTs and the relative placement of these LUTs. Because the temperature signal 208 affects the temperature of the receiver device 202 and therefore the temperature of the ring oscillator 210 , the frequency of the output signal generated by the ring oscillator 210 also depends upon the temperature signal 208 .
- the receiver device 202 also includes a ring oscillator counter 212 that counts the output cycles of the ring oscillator 210 .
- a fixed clock 214 generates a signal with a fixed output frequency and a fixed clock counter 216 counts the cycles of the signal generated by the fixed clock 214 .
- a sampling logic 218 driven by the fixed clock 214 samples the output of the ring oscillator counter 212 at a fixed time interval based on an input from the fixed clock counter 216 . As the speed of the ring oscillator 210 increases or decreases in response to the temperature signal 208 , the output of the sampling logic 218 decreases or increases correspondingly.
- the side channel communications system 200 decodes the output of the sampling logic 218 over time to detect the temperature signal 208 .
- the output frequency of the ring oscillator 210 in absence of the temperature signal 208 is f 1 hertz 230 .
- the value of f 2 hertz itself is interpreted by the sampling logic 218 as conveying the information from the temperature signal 208 .
- the sampling logic 218 monitors the rate of change in the output frequency of the ring oscillator 210 from f 1 hertz to f 2 hertz as the information conveyed by the external transmitter 204 .
- a minimum discernable temperature change that can be used by the side channel communications system 200 to convey information from the external transmitter 204 to the receiver device 202 depends on the minimum change in the speed of the ring oscillator 210 that can be reliably detected by the sampling logic 218 . Furthermore, such discernable temperature change also depends upon how strongly the ring oscillator 210 responds to the changes in the temperature caused by the temperature signal 208 .
- FIG. 3 illustrates other alternative example data sources and flows for a side channel communications system 300 .
- the side channel communications system 300 includes a receiver device 302 and a number of external transmitters 304 , 306 , 308 , and 310 .
- the external transmitters 304 , 306 , 308 , and 310 are configured to transmit external information signals to the sections 314 , 316 , 318 , and 320 of the receiver device 302 .
- the external transmitter 304 sends a signal 324 to the receiver section A 314
- the external transmitter 306 sends a signal 326 to the receiver section A 316 , etc.
- each of the external transmitters 304 , 306 , 308 , and 310 is configured to send a temperature signal to a particular section of the receiver device 302 .
- the external transmitter 304 is a heat source or a heat sink that sends the temperature signal 324 to the receiver section 314 .
- Each of the receiver sections 314 , 316 , 318 , and 320 includes a decoder 334 , 336 , 338 , and 340 .
- Each of the decoders 334 , 336 , 338 , and 340 is configured to measure a particular characteristic of the corresponding receiver sections 314 , 316 , 318 , and 320 and decode the value of such characteristic or a change in such characteristic.
- the decoder A 334 is configured to measure the propagation delay on an internal circuitry in receiver section A 314 .
- the decoder A 334 is also configured to store such measured value of the propagation delay, a threshold value of change in the propagation delay, etc., into a memory of the decoder A 334 .
- the temperature signal 324 from the external transmitter A 304 causes the propagation delay on an internal circuitry in the receiver section 314 to change. For example, a positive temperature signal 324 causes the propagation delay on the internal circuitry in the receiver section 314 to increase.
- the decoder A 334 measures such change in the propagation delay and compares the change to a threshold value. If the decoder A 334 determines that the detected change in the propagation delay is above the threshold, it generates a bit “ 1 ” as the information communicated by the external transmitter A 304 .
- the other external transmitters 306 , 308 , and 310 also send information to the receiver sections 316 , 318 , and 320 .
- the corresponding decoders 336 , 338 , and 340 decode the information communicated by the signals 326 , 328 , and 330 to generate output bits.
- the implementation of the side channel communications system 300 shows that when the decoder A 334 generates a bit “1” as the value of the information communicated by the external transmitter 304 , the other decoders 336 , 338 , and 340 generate output bit values of “0,” “1,” and “0.” As a result, cumulative output from the decoders 334 , 336 , 338 , and 340 is “1010.”
- each of the external transmitters 304 , 306 , 308 , and 310 is implemented on a same transmitter device and a single decoder device is used to implement each of the decoders 334 , 336 , 338 , and 340 .
- the maximum transfer rate that can be achieved by the side channel communications system 300 depends on a number of factors including the number of distinct channels used for communicating with the receiver device 302 , the distinct changes in temperature levels used for communication, the operational temperature range over which the temperature is varied, the speed at which the external transmitters 304 , 306 , 308 , and 310 dissipate heat into or remove heat from the receiver sections 314 , 316 , 318 , and 320 , etc.
- FIG. 4 illustrates example operations 400 for a side channel communications system for communicating between an external transmitter and a receiver device.
- a receiving operation 402 receives the information to be communicated using the side channel communications system.
- an external transmitter configured to communicate using the side channels receives information representing a command that a computing device is sending to the receiver device.
- a converting operation 404 converts the information received at the external transmitter into a signal to be transmitted to the receiver device. For example, if the received information is a command that requests the receiver device to implement a first operation, the command is converted into an eight-bit byte.
- a selection operation 406 selects that channels used to communicate the bits of the command to the receiver device. For example, if the external transmitter of the side channel communications system includes eight transmit channels, each communicating with a section of the receiver device, each of such eight transmit channels is selected to communicate one bit of the eight-bit command. Alternatively, if only four transmit channels are available to the external transmitter, each of these four transmit channels sequentially transmits two bits of information to the receiver device.
- a generating operation 408 generates a transmission signal.
- the external transmitter is a heat source that is configured to transmit temperature signals to the receiver device
- the generating operation 408 generates a temperature signal that will convey the bit of information to the receiver device.
- the external transmitter and the receiver device are configured to communicate a temperature signal such that the differential change in the value of a characteristic of the receiver device caused by the temperature signal symbolizes the bit of information communicated by the external transmitter.
- the external transmitter is a supply voltage modulator that modulates the supply voltage to the receiver device with the information to be transmitted to the receiver device.
- a measuring operation 410 measures a change in a characteristic of the receiver device. For example, when the external transmitter communicates a temperature signal to the receiver device, the measuring operation 401 measures a change in the propagation delay between two components of the receiver device. In an alternative implementation, the measuring operation measures the output frequency of a ring oscillator of the receiver device, where such output frequency of the ring oscillator changes based on the temperature of the receiver device.
- An evaluation operation 412 evaluates the measured value of the receiver device characteristic. For example, such evaluation includes comparing the measured value of the propagation delay in a receiver device with a previous value of the propagation delay to generate a differential value of the propagation delay. Alternatively, the differential value of the propagation delay is compared with a threshold value to determine if the change in the propagation delay is significant enough to be interpreted as new information. Similarly, when the measured value of the receiver device characteristic is an output frequency of the ring oscillator, the evaluating operation evaluates the change in such output frequency using previously stored values of the ring oscillator output frequency, a threshold value of the change in the ring oscillator output frequency, etc.
- a decoding operation 414 decodes the measured value of he receiver device characteristic or the change in the value of the receiver device characteristic.
- the decoding operation decodes a positive change in the propagation delay above a threshold value to be equal to a “1” bit.
- the decoding operation decodes a negative change in the propagation delay above a threshold value to be equal to a “0” bit.
- the receiver device is provided with a lookup table that provides decoding relation between the amount of change in the output frequency of the ring oscillator and a value of information conveyed from the external transmitter. For example, the following lookup table illustrates such translation of measured change in the output frequency of the ring oscillator to the information communicated by the external transmitter.
- the decoding operation determines that the output frequency of the ring oscillator has changed from 300 hertz to 335 hertz, denoting a differential change of 35 hertz, the decoding operation determines the information communicated from the transmitter to be equal to “10”.
- a communicating operation 416 communicates the decoded information to the appropriate component of the receiver device or to other devices communicatively connected to the receiver device. For example, if the decoded information represents a reset operation that instructs the receiver device to reset a set of output pins, the communication operation communicates such reset instruction to the appropriate output pins. Subsequently, a saving operation 418 saves the measured value of the receiver device characteristics in a memory of the receiver device. In one implementation, such stored values of the receiver device characteristics are used for future decoding of the information communicated by external transmitters, for evaluating the performance and/or operating efficiency of the side channel communications system, etc.
- An article of manufacture may comprise a storage medium to store logic.
- Examples of a storage medium may include one or more types of computer-readable storage media capable of storing electronic data, including volatile memory or non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writeable or re-writeable memory, and so forth.
- Examples of the logic may include various software elements, such as software components, programs, applications, computer programs, application programs, system programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application program interfaces (API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof.
- API application program interfaces
- an article of manufacture may store executable computer program instructions that, when executed by a computer, cause the computer to perform methods and/or operations in accordance with the described embodiments.
- the executable computer program instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, and the like.
- the executable computer program instructions may be implemented according to a predefined computer language, manner or syntax, for instructing a computer to perform a certain function.
- the instructions may be implemented using any suitable high-level, low-level, object-oriented, visual, compiled and/or interpreted programming language.
- the embodiments of the invention described herein are implemented as logical steps in one or more computer systems.
- the logical operations of the present invention are implemented (1) as a sequence of processor-implemented steps executing in one or more computer systems and (2) as interconnected machine or circuit modules within one or more computer systems.
- the implementation is a matter of choice, dependent on the performance requirements of the computer system implementing the invention. Accordingly, the logical operations making up the embodiments of the invention described herein are referred to variously as operations, steps, objects, or modules.
- logical operations may be performed in any order, unless explicitly claimed otherwise or a specific order is inherently necessitated by the claim language.
Abstract
A side channel communications system disclosed herein includes a receiver device with an internal circuitry where the operational speed of the internal circuitry changes in response to an external signal. When the receiver device receives an external signal, the operational speed of the internal circuitry changes. A detector detects the change in the operational speed of the internal circuitry to generate an output value, which is decoded to determine the information communicated by the external signal. In one implementation of the side channel communications system, the external transmitter communicates the external signal in the form of a temperature signal. Alternatively, the external transmitter communicates the external signal in the form of a change in the supply voltage.
Description
- This application is related to U.S. patent application Ser. No. ______ [Attorney Docket No. 333381.01], entitled “Intrusion Detection and Communication” and filed concurrently herewith, which is specifically incorporated herein by reference for all that it discloses and teaches. This application takes priority from U.S. Provisional Patent Application No. 61/525,142, entitled “Side-Channel Communications” and filed on Aug. 18, 2011, which is specifically incorporated herein by reference for all that it discloses and teaches.
- Electronic devices communicate with each other using a number of different methods. For example, integrated circuits (ICs) use input and output pins to communicate with other ICs or other devices. However, given the decreasing size of modern ICs, the number of pins that can be provided on the ICs is limited. For example, a typical microprocessor used in a mobile device, such as an ARM processor, can be as small as one to five square millimeters and include up to forty pins for input and output. In such an implementation, it is difficult to provide additional input and output channels to provide supplemental communications with the microprocessor.
- To overcome such limitations on wired communication pins, several ICs use wireless communication components. In such implementations, wireless communication components are provided on the ICs. However, wireless communication methods use sophisticated antennas for generating wireless signals and analog signal processing circuitry. Such analog circuitry can be expensive, difficult to manufacture with reliability, and generally incompatible with other digital circuitry on the ICs. Furthermore, wireless communication methods using electromagnetic waves are sensitive to interference from nearby electronic devices. Such interference can make using wireless communication methods with ICs impractical in some applications.
- Implementations described and claimed herein address the foregoing problems by providing a side channel communications system for communicating with digital circuitry. The side channel communications system includes a receiver device, such as a digital integrated circuit (IC) with an internal circuitry, wherein the operational speed of the internal circuitry changes in response to an external signal. For example, in one implementation, a receiver device is a field-programmable gate array (FPGA) IC where the output frequency of a ring oscillator varies based on the temperature of the IC. An implementation of the side channel communications system can also include an external transmitter including a heat source or a heat sink that generates the external information signal in the form of a temperature signal. When the IC receives a temperature signal that increases the temperature of the IC, the output frequency of the ring oscillator decreases. A detector within the IC detects the change in the output frequency of the ring oscillator to generate an output value. The output value is decoded to determine the information communicated to the IC by the external information signal. In an alternative implementation of the side channel communications system, the external transmitter communicates the external information signal to the IC in the form of a change in the supply voltage and the IC includes an internal circuitry with operational speed that is dependent upon the voltage supplied to the IC or a logic component of the IC. In an alternative implementation of the side channel communications system, the external transmitter communicates the external information signal to the IC or to a logic component of the IC in the form of a change in the ground voltage applied to the IC or to the logic component of the IC.
- In some implementations, articles of manufacture are provided as computer program products. One implementation of a computer program product provides a tangible computer program storage medium readable by a computing system and encoding a processor-executable program. Other implementations are also described and recited herein.
- This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
- Other implementations are also described and recited herein.
-
FIG. 1 illustrates example data sources and flows for a side channel communications system. -
FIG. 2 illustrates alternative example data sources and flows for a side channel communications system. -
FIG. 3 illustrates other alternative example data sources and flows for a side channel communications system. -
FIG. 4 illustrates example operations for a side channel communications system. - The side channel communications system disclosed herein allows communicating with a circuit using alternative communication channels. In an implementation of the side channel communication system, a transmitter communicates information to a digital circuit with semiconductor components such as complementary metal-oxide semiconductor (CMOS) components by changing the operating temperature of various components of the digital circuit. For example, the transmitter changes the operating temperature of various components on the digital circuit by directing heat into the digital circuit using a heat source or by extracting heat from the digital circuit by using a heat sink. In one implementation of the side channel communications system, an output parameter of an existing component, such as an output frequency of a ring oscillator implemented using the existing components of the digital circuit, is modulated based on the temperature change induced by the transmitter. Subsequently, a decoder circuit decodes the change in the output frequency of the ring oscillator to determine the information communicated by the transmitter.
- In an alternative implementation, the transmitter communicates information to the digital circuit using the voltage supplied to the digital circuit. The change in the supplied voltage causes a change in the operational speed of a circuitry within the digital circuit. A decoder decodes the change in the operating speed to determine the information communicated by the transmitter. As such, the side channel communication system need not use additional input or output pins or wireless circuitry to communicate information with the digital circuit. Furthermore, additional components need not be used to implement the side channel communications system because the side channel communication system uses the existing components of the digital circuit to decode the information communicated by the transmitter. It should be understood however that additional components may be employed in various implementations of the described technology.
-
FIG. 1 illustrates example data sources and flows for a sidechannel communications system 100. The sidechannel communications system 100 includes areceiver device 102 that is configured to receive side channel communications from anexternal transmitter 104. The receiver device is a digital circuit using various digital components, such as CMOS digital components, field-programmable gate array (FPGA) components, etc. Thereceiver device 102 is illustrated to have a firstinternal component 106 communicating with a secondinternal component 108 using aninternal circuitry 110. The operating speed ofinternal circuitry 110 is a function of a number of parameters, including the temperature of thereceiver device 102. Specifically, such operating speed can be influenced by the operating temperature of the section of thereceiver device 102 containing theinternal circuitry 110. - A signal diagram 120 illustrates the timeline for communications between the first
internal component 106 and the secondinternal component 108. Specifically, the signal diagram 120 illustrates thetiming 122 between asignal generation time 124 and asignal receipt time 126. For example, the signal is generated by the firstinternal component 106 atgeneration time 124 and it is received by the secondinternal component 108 at thesignal receipt time 126. Thetiming 122 denotes the delay between thesignal generation time 124 and thesignal receipt time 126 in the absence of any external signal from theexternal transmitter 104. - The side
channel communications system 100 includes adecoder 130 that evaluates thetiming 122 to determine a value of theinformation 132 communicated from theexternal transmitter 104 to thereceiver device 102. For example, thedecoder 130 compares thetiming 122 with a timing value stored in a memory of thedecoder 130 and if thetiming 122 is approximately the same as the value stored in the memory of thedecoder 130, thedecoder 130 determines that theexternal transmitter 104 has not communicated any information to thereceiver 102. In an alternative implementation, thedecoder 130 compares thetiming 122 with a timing value stored in a memory of thedecoder 130 and if thetiming 122 is consistent with the timing value stored in the memory of thedecoder 130, thedecoder 130 determines that the value of theinformation 132 communicated by theexternal transmitter 104 is a “0” bit. -
FIG. 1 also illustrates an instance of a sidechannel communications system 150 where areceiver device 152 is in communication with anexternal transmitter 154. Thereceiver device 152 is illustrated to have a firstinternal component 156 communicating with a secondinternal component 158 usinginternal circuitry 160. The operating speed of theinternal circuitry 160 is a function of a number of parameters, including the temperature of thereceiver device 152. Specifically, such operating speed depends upon the operating temperature of the section of thereceiver device 152 where theinternal circuitry 160 is located. - The
external transmitter 154 communicates with thereceiver device 152 using atemperature signal 164. For example, a heat source located within theexternal transmitter 154 changes its heat output to generate thetemperature signal 164 that travels towards thereceiver device 152. Thetemperature signal 164 is a positive signal if the heat output from theexternal transmitter 154 is increased and a negative signal if the heat output from theexternal transmitter 154 is decreased. Apositive temperature signal 164 causes the temperature of a section of thereceiver device 152 to increase. For example, thepositive temperature signal 164 causes the temperature of theinternal circuitry 160 to increase. Such increased temperature causes an increase in the propagation delay on theinternal circuitry 160 or a decrease in the operating speed of theinternal circuitry 160. For example, the increased temperature results in decreased mobility of electrons and holes in a transistor within theinternal circuitry 160. The increased mobility of the electrons and holes results in a reduction of the current flowing through theinternal circuitry 160, in effect increasing the RC delay of theinternal circuitry 160 and therefore increasing the propagation delay. - A signal diagram 170 illustrates the timeline for the communication between the first
internal component 156 and the secondinternal component 158. Specifically, the signal diagram 170 illustrates thetiming 172 between asignal generation time 174 and asignal receipt time 176. For example, the signal is generated by the firstinternal component 156 at thesignal generation time 174 and it is received by the secondinternal component 158 at thesignal receipt time 176. - The
timing 172 denotes the delay between thesignal generation time 174 and thesignal receipt time 176 in the presence of thetemperature signal 164 from theexternal transmitter 154. In the illustrated implementation, thetemperature signal 164 is a positive temperature signal indicating increased heat from theexternal transmitter 154 causing an increase in the propagation delay on theinternal circuitry 160. As a result, thetiming 172 in the presence of a positiveexternal signal 164 is greater than thetiming 122 when no external signal is received from theexternal transmitter 104. Thus, in effect, thetiming 172 is modulated by the information contained in thetemperature signal 164 received from theexternal transmitter 154. For example, when thetemperature signal 164 is negative, indicating a decreased amount of heat from theexternal transmitter 154, thetiming 172 is smaller than theoriginal timing 122. Furthermore, the magnitude of the change in thetiming 172 compared to thetiming 122 also depends upon the magnitude of thetemperature signal 164. Thus, a higher amount of heat cases thetiming 172 to increase by a higher amount. - The side
channel communications system 150 includes adecoder 180 that evaluates thetiming 172 to determine a value of theinformation 182 communicated from theexternal transmitter 154 to thereceiver device 152. For example, thedecoder 180 compares thetiming 172 with a timing value stored in a memory of thedecoder 180 and if thetiming 172 is approximately the same as the value stored in the memory of thedecoder 180, thedecoder 180 determines that theexternal transmitter 154 has not communicated any information to thereceiver device 152. In an alternative implementation, thedecoder 180 compares thetiming 172 with a timing value stored in a memory of thedecoder 180 and if thetiming 172 is approximately same as the value stored in the memory of thedecoder 180, thedecoder 180 determines that the value of theinformation 182 communicated by theexternal transmitter 154 is a “0” bit. Similarly, a value of the difference between thetiming 172 and the timing value stored in a memory of thedecoder 180 above a threshold indicates a particular information communicated by theexternal transmitter 154. - In an alternative implementation, the
decoder 180 compares the mostrecent timing 172 received from thereceiver device 152 with a previous timing, such as thetiming 122. In such an implementation, various past observations of timings, including the previous value of thetiming 122, are stored in a local memory of thedecoder 180. Thedecoder 180 generates theinformation 182 based on the difference between theobserved timing value 172 and the stored timing value. Because the magnitude of the change in the propagation delay on theinternal circuitry 160 of thereceiver device 152 depends upon the magnitude of the change in the temperature of the internal circuitry, theexternal transmitter 154 is able to communicate information to thereceiver device 152 by changing the amount of the heat transmitted to thereceiver device 152. - In one implementation, the
receiver device 152 periodically communicates the present temperature of thereceiver device 152 and/or the present temperature of theinternal circuitry 160 to theexternal transmitter 154. Receiving the present value of the temperature from thereceiver device 152 allows theexternal transmitter 154 to determine how much heat has been actually absorbed by thereceiver device 152 so as to allow theexternal transmitter 154 to determine how to communicate with thereceiver device 152 given the present condition of thereceiver device 152. Such feedback from thereceiver device 152 also allows theexternal transmitter 154 to calibrate its communications to thereceiver device 152 based on changes in the temperature of the receivingdevice 152 due to changes in the ambient temperature affecting thereceiver device 152. - In one implementation the
decoder 180 is configured to store a differential change value of the timing on theinternal circuitry 160. Thedecoder 180 calculates the change in the timing between the mostrecent timing 172 and the timing value stored in thedecoder 180, such as theprevious timing 122 and compares the observed change in the timing with the differential change value to determine if the observed change in the timing represents any information. For example, if the change in the observed timing as a result of receiving thetemperature signal 164 is above a threshold, thedecoder 180 determines that particular information is received from thetemperature signal 164. However, if the observed change in the timing is below the threshold, thedecoder 180 does not construe such change as any information communicated by theexternal transmitter 154. - In one implementation, the
receiver device 152 is further configured to calibratedecoder 180 based on the amount of change in the observedtiming value 182 that represents any information communicated from by theexternal transmitter 154. For example, the amount of change in the observedtiming value 172 is also affected by the conditions in the environment of thereceiver device 152. The calibration of thedecoder 180 compensates thedecoder 180 for such environmental conditions, such as an increase in the overall temperature surrounding thereceiver device 152, etc. For example, when the overall temperature surrounding thereceiver device 152 has increased, a larger value of change in thetiming value 172 represents any information communicated by theexternal transmitter 154. - The
decoders timing timing decoders decoders internal component 106 and the secondinternal component 108 at the manufacturing of thereceiver devices decoders external transmitters timings decoders - In one implementation, the
external transmitter 154 adjusts the temperature of thereceiver device 152 within a range of −15° centigrade to 85° centigrade in increments of 10° centigrades. For example, thereceiver device 152 and theexternal transmitter 154 are configured so that each of the temperature points conveys a particular information. Alternatively, thereceiver device 152 and theexternal transmitter 154 are configured such that the change of temperature from one level to another level conveys a particular information to thereceiver device 152. Example implementations of the sidechannel communications system 100 allows communicating information over a range of −40° centigrade to 100° centigrade with each increment of 0.1° centigrade temperature representing new information. Thus, for example, a change of temperature from 10° centigrade to 10.1° centigrade represents first information whereas a change of temperature from 10° centigrade to 10.2° centigrade represents second information. Similarly, a change of temperature from 10° centigrade to 9.9° centigrade represents third information. - In one implementation, the
external transmitter 154 generates thetemperature signal 164 by changing the heat generated by a heat source device. In an alternative implementation, theexternal transmitter 154 generates thetemperature signal 164 by changing the heat absorbed by a heat sink device. Other mechanisms for generating atemperature signal 164 include induction heating, compression cooling, etc. - The propagation delay in the
internal circuitry receiver devices external transmitters channel communication systems receiver devices receiver devices channel communication system 150, theexternal transmitter 154 sends information to thereceiver device 152 using apower supply line 190. In such an implementation, theexternal transmitter 154 is communicatively connected to apower supply 192 via a powersupply modulation line 194. Theexternal transmitter 154 sends a modulation signal to thepower supply 192 so that the voltage supplied to thereceiver device 152 via thepower supply line 190 is varied based on the modulation signal from theexternal transmitter 154. In an alternative implementation, the supply current generated by thepower supply 192 is changed in response to the signal received on the powersupply modulation line 194. In an alternative implementation, theexternal transmitter 154 communicates with thereceiver device 152 by changing the ground voltage applied to thereceiver device 152 or to a logic component of thereceiver device 152. - The change in voltage supplied to the
receiver device 152 causes a change in the propagation delay on theinternal circuitry 160. Such change in the propagation delay is reflected in thetiming 172 for a signal communicated from the firstinternal component 156 to the secondinternal component 158. Subsequently, thedecoder 180 evaluates thetiming 172 to determine the information conveyed by the voltage supply modulation signal from theexternal transmitter 154. -
FIG. 2 illustrates alternative example data sources and flows for a sidechannel communications system 200. Specifically, the sidechannel communications system 200 includes areceiver device 202 and anexternal transmitter 204. In one implementation, thereceiver device 202 is a FPGA device that is configured to have a number of input/output pins 206 for communicating with other electronic devices, with a communication bus, with a printed circuit board, etc. Because the input/output pins 206 are a limited resource, theexternal transmitter 204 communicates with thereceiver device 202 using side channels such as the temperature of the receiver device, the power supply of the receiver device, etc. Specifically, theexternal transmitter 204 of the sidechannel communications system 200 is configured to communicate with thereceiver device 202 using atemperature signal 208. For example, theexternal transmitter 204 includes a heat source that generates heat to generate thetemperature signal 208. In an alternative implementation, theexternal transmitter 204 includes a heat sink that generates thetemperature signal 208 by increasing the amount of heat absorbed by the heat sink. - The
receiver device 202 is configured to have various components with at least one operating characteristic that is sensitive to the change in the temperature caused by thetemperature signal 208. The illustrated implementation of thereceiver device 202 includes aring oscillator 210. Thering oscillator 210 is a device including an odd number of inverters with an output that oscillates between two voltage levels. In one implementation, thering oscillator 210 is implemented using various existing components of thereceiver device 202. For example, with thereceiver device 202 using FPGA components, thering oscillator 210 is implemented using the look up tables (LUTs) of various configurable logic blocks (CLBs) of theFPGA receiver device 202. As a result, the implementation of thering oscillator 210 uses minimal or no changes in the internal configuration of thereceiver device 202. In other implementations, thering oscillator 210 is implemented using other digital logic technologies, such as the complementary metal oxide semiconductor (CMOS) logic, the N-type metal oxide semiconductor (NMOS) logic, the complex programmable logic devices (CPLDs), the programmable logic arrays (PLA), the programmable array logic (PAL), the generic array logic (GAL), the structured logic, etc. - The
ring oscillator 210 is configured so that the frequency of its output signal depends upon the temperature of thering oscillator 210. Additionally, the output frequency of thering oscillator 210 also depends upon the supply voltage to thering oscillator 210 and the number of inverters used to implement thering oscillator 210. When thering oscillator 210 is implemented using LUTs, the frequency of its output signal additionally depends upon the number of LUTs and the relative placement of these LUTs. Because thetemperature signal 208 affects the temperature of thereceiver device 202 and therefore the temperature of thering oscillator 210, the frequency of the output signal generated by thering oscillator 210 also depends upon thetemperature signal 208. - The
receiver device 202 also includes aring oscillator counter 212 that counts the output cycles of thering oscillator 210. A fixedclock 214 generates a signal with a fixed output frequency and a fixed clock counter 216 counts the cycles of the signal generated by the fixedclock 214. Asampling logic 218 driven by the fixedclock 214 samples the output of thering oscillator counter 212 at a fixed time interval based on an input from the fixedclock counter 216. As the speed of thering oscillator 210 increases or decreases in response to thetemperature signal 208, the output of thesampling logic 218 decreases or increases correspondingly. The sidechannel communications system 200 decodes the output of thesampling logic 218 over time to detect thetemperature signal 208. - For example, the output frequency of the
ring oscillator 210 in absence of thetemperature signal 208 isf1 hertz 230. As a result of anegative temperature signal 208, the output frequency of thering oscillator 210 increases tof2 hertz 232. In this case, thesampling logic 218 determines the information conveyed by thetemperature signal 208 to be equal to thedifference df hertz 240, where df=f2−f1 hertz. In an alternative implementation, the value of f2 hertz itself is interpreted by thesampling logic 218 as conveying the information from thetemperature signal 208. Yet alternatively, thesampling logic 218 monitors the rate of change in the output frequency of thering oscillator 210 from f1 hertz to f2 hertz as the information conveyed by theexternal transmitter 204. - A minimum discernable temperature change that can be used by the side
channel communications system 200 to convey information from theexternal transmitter 204 to thereceiver device 202 depends on the minimum change in the speed of thering oscillator 210 that can be reliably detected by thesampling logic 218. Furthermore, such discernable temperature change also depends upon how strongly thering oscillator 210 responds to the changes in the temperature caused by thetemperature signal 208. -
FIG. 3 illustrates other alternative example data sources and flows for a sidechannel communications system 300. The sidechannel communications system 300 includes areceiver device 302 and a number ofexternal transmitters external transmitters sections receiver device 302. For example, theexternal transmitter 304 sends asignal 324 to thereceiver section A 314, theexternal transmitter 306 sends asignal 326 to thereceiver section A 316, etc. In one implementation, each of theexternal transmitters receiver device 302. Thus, for example, theexternal transmitter 304 is a heat source or a heat sink that sends thetemperature signal 324 to thereceiver section 314. - Each of the
receiver sections decoder decoders receiver sections decoder A 334 is configured to measure the propagation delay on an internal circuitry inreceiver section A 314. Furthermore, thedecoder A 334 is also configured to store such measured value of the propagation delay, a threshold value of change in the propagation delay, etc., into a memory of thedecoder A 334. - The
temperature signal 324 from theexternal transmitter A 304 causes the propagation delay on an internal circuitry in thereceiver section 314 to change. For example, apositive temperature signal 324 causes the propagation delay on the internal circuitry in thereceiver section 314 to increase. Thedecoder A 334 measures such change in the propagation delay and compares the change to a threshold value. If thedecoder A 334 determines that the detected change in the propagation delay is above the threshold, it generates a bit “1” as the information communicated by theexternal transmitter A 304. - In a similar manner, the other
external transmitters receiver sections decoders signals channel communications system 300 shows that when thedecoder A 334 generates a bit “1” as the value of the information communicated by theexternal transmitter 304, theother decoders decoders - While the side
channel communications system 300 has thereceiver device 302 divided into foursections external transmitters decoders - The maximum transfer rate that can be achieved by the side
channel communications system 300 depends on a number of factors including the number of distinct channels used for communicating with thereceiver device 302, the distinct changes in temperature levels used for communication, the operational temperature range over which the temperature is varied, the speed at which theexternal transmitters receiver sections -
FIG. 4 illustratesexample operations 400 for a side channel communications system for communicating between an external transmitter and a receiver device. A receivingoperation 402 receives the information to be communicated using the side channel communications system. For example, an external transmitter configured to communicate using the side channels receives information representing a command that a computing device is sending to the receiver device. - Subsequently, a converting
operation 404 converts the information received at the external transmitter into a signal to be transmitted to the receiver device. For example, if the received information is a command that requests the receiver device to implement a first operation, the command is converted into an eight-bit byte. Aselection operation 406 selects that channels used to communicate the bits of the command to the receiver device. For example, if the external transmitter of the side channel communications system includes eight transmit channels, each communicating with a section of the receiver device, each of such eight transmit channels is selected to communicate one bit of the eight-bit command. Alternatively, if only four transmit channels are available to the external transmitter, each of these four transmit channels sequentially transmits two bits of information to the receiver device. - Once the transmit channels are selected, a generating
operation 408 generates a transmission signal. For example, if the external transmitter is a heat source that is configured to transmit temperature signals to the receiver device, the generatingoperation 408 generates a temperature signal that will convey the bit of information to the receiver device. In one implementation, the external transmitter and the receiver device are configured to communicate a temperature signal such that the differential change in the value of a characteristic of the receiver device caused by the temperature signal symbolizes the bit of information communicated by the external transmitter. In an alternative implementation, the external transmitter is a supply voltage modulator that modulates the supply voltage to the receiver device with the information to be transmitted to the receiver device. - Subsequently, a measuring
operation 410 measures a change in a characteristic of the receiver device. For example, when the external transmitter communicates a temperature signal to the receiver device, the measuring operation 401 measures a change in the propagation delay between two components of the receiver device. In an alternative implementation, the measuring operation measures the output frequency of a ring oscillator of the receiver device, where such output frequency of the ring oscillator changes based on the temperature of the receiver device. - An
evaluation operation 412 evaluates the measured value of the receiver device characteristic. For example, such evaluation includes comparing the measured value of the propagation delay in a receiver device with a previous value of the propagation delay to generate a differential value of the propagation delay. Alternatively, the differential value of the propagation delay is compared with a threshold value to determine if the change in the propagation delay is significant enough to be interpreted as new information. Similarly, when the measured value of the receiver device characteristic is an output frequency of the ring oscillator, the evaluating operation evaluates the change in such output frequency using previously stored values of the ring oscillator output frequency, a threshold value of the change in the ring oscillator output frequency, etc. - Subsequently, a
decoding operation 414 decodes the measured value of he receiver device characteristic or the change in the value of the receiver device characteristic. In an implementation where the external transmitter is configured to communicate information to the receiver device using a temperature signal, the decoding operation decodes a positive change in the propagation delay above a threshold value to be equal to a “1” bit. Similarly, the decoding operation decodes a negative change in the propagation delay above a threshold value to be equal to a “0” bit. Yet alternatively, the receiver device is provided with a lookup table that provides decoding relation between the amount of change in the output frequency of the ring oscillator and a value of information conveyed from the external transmitter. For example, the following lookup table illustrates such translation of measured change in the output frequency of the ring oscillator to the information communicated by the external transmitter. -
Lookup Table Change in Oscillator Frequency (Hz) Communicated Information 10 to 20 00 20 to 30 01 30 to 40 10 40 to 50 11 - Thus, if the decoding operation determines that the output frequency of the ring oscillator has changed from 300 hertz to 335 hertz, denoting a differential change of 35 hertz, the decoding operation determines the information communicated from the transmitter to be equal to “10”.
- A communicating
operation 416 communicates the decoded information to the appropriate component of the receiver device or to other devices communicatively connected to the receiver device. For example, if the decoded information represents a reset operation that instructs the receiver device to reset a set of output pins, the communication operation communicates such reset instruction to the appropriate output pins. Subsequently, a savingoperation 418 saves the measured value of the receiver device characteristics in a memory of the receiver device. In one implementation, such stored values of the receiver device characteristics are used for future decoding of the information communicated by external transmitters, for evaluating the performance and/or operating efficiency of the side channel communications system, etc. - Some embodiments may comprise an article of manufacture. An article of manufacture may comprise a storage medium to store logic. Examples of a storage medium may include one or more types of computer-readable storage media capable of storing electronic data, including volatile memory or non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writeable or re-writeable memory, and so forth. Examples of the logic may include various software elements, such as software components, programs, applications, computer programs, application programs, system programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application program interfaces (API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. In one embodiment, for example, an article of manufacture may store executable computer program instructions that, when executed by a computer, cause the computer to perform methods and/or operations in accordance with the described embodiments. The executable computer program instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, and the like. The executable computer program instructions may be implemented according to a predefined computer language, manner or syntax, for instructing a computer to perform a certain function. The instructions may be implemented using any suitable high-level, low-level, object-oriented, visual, compiled and/or interpreted programming language.
- The embodiments of the invention described herein are implemented as logical steps in one or more computer systems. The logical operations of the present invention are implemented (1) as a sequence of processor-implemented steps executing in one or more computer systems and (2) as interconnected machine or circuit modules within one or more computer systems. The implementation is a matter of choice, dependent on the performance requirements of the computer system implementing the invention. Accordingly, the logical operations making up the embodiments of the invention described herein are referred to variously as operations, steps, objects, or modules. Furthermore, it should be understood that logical operations may be performed in any order, unless explicitly claimed otherwise or a specific order is inherently necessitated by the claim language.
- The above specification, examples, and data provide a complete description of the structure and use of exemplary embodiments of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended. Furthermore, structural features of the different embodiments may be combined in yet another embodiment without departing from the recited claims.
Claims (20)
1. A method comprising:
generating an external signal representing an external information to be conveyed to a receiver device, operational speed of internal circuitry of the receiver device being dependent upon the external signal;
receiving the external signal at the receiving device;
measuring a value of the operational speed of the internal circuitry; and
decoding the measured value of the operational speed to generate a value of the external information.
2. The method of claim 1 wherein the internal circuitry is a ring oscillator.
3. The method of claim 2 wherein measuring a value of the operational speed of the internal circuitry further comprises measuring an output frequency of the ring oscillator.
4. The method of claim 1 further comprising comparing the measured value of the operational speed with a stored value of the operational speed to generate a differential value of the operational speed.
5. A method comprising:
receiving an external signal at a receiving device, the external signal representing external information;
measuring a value of operational speed of internal circuitry of the receiving device, the operational speed of the internal circuitry being dependent upon an external signal received at the receiving device; and
decoding the measured value of the operational speed of the internal circuitry to generate a value of the external information.
6. The method of claim 5 wherein decoding the measured value of the operational speed further comprising comparing the measured value of the operational speed with a stored value of the operational speed.
7. The method of claim 5 wherein measuring a value of operational speed of an internal circuitry further comprising measuring an output frequency of a ring oscillator in the receive device.
8. The method of claim 7 further comprising comparing the output frequency of the ring oscillator with a threshold value of the ring oscillator output frequency.
9. The method of claim 5 wherein the external signal is a temperature signal.
10. The method of claim 5 wherein the external signal is a supply voltage signal.
11. The method of claim 5 wherein decoding the measured value of the operational speed further comprises:
generating a differential value of the output frequency of the internal circuitry based on the comparison of a measured value of the output frequency of the internal circuitry and a stored value of the output frequency of the internal circuitry; and
comparing the differential value of the output frequency of the internal circuitry with a number of look-up table values, each of the look-up table values corresponding to a value of the external information.
12. A device comprising:
circuitry configured to receive an external signal at a receiving device, the external signal representing external information;
a detector configured to measure a value of operational speed of internal circuitry of the receiving device, the operational speed of the internal circuitry being dependent upon an external signal received at the receiving device; and
a decoder coupled to the detector to receive the output value from the detector and configured to decode the measured value of the operational speed of the internal circuitry to generate a value of the external information.
13. The device of claim 12 wherein the circuitry is a temperature sensitive circuitry with the operational speed that changes based on a change in an operating temperature of the circuitry.
14. The device of claim 12 wherein the circuitry is a voltage level sensitive circuitry with the operational speed that changes based on a change in an operating voltage level of the circuitry.
15. The device of claim 12 wherein the detector is configured to generate an output value based on a value of the operational speed of the circuitry based on a propagation delay on the circuitry.
16. The device of claim 12 wherein the circuitry is a ring oscillator having an output frequency that is influenced by the signal from an external source.
17. The device of claim 16 wherein the ring oscillator is configured using look up tables (LUTs) of various configurable logic blocks (CLBs) on an integrated circuit.
18. The device of claim 12 wherein the decoder is further configured to generate the information value communicated by the signal from the external source by comparing the output value from the detector with a stored value of the operational speed of the circuitry.
19. The device of claim 18 further comprising:
generating a differential value of the operational speed of the circuitry based on the comparison of the output value from the detector and the stored value of the operational speed of the circuitry; and
comparing the differential value with a threshold value.
20. The device of claim 18 further comprising:
generating a differential value of the operational speed of the circuitry based on the comparison of the output value from the detector and the stored value of the operational speed of the circuitry; and
comparing the differential value with a number of look-up table values, each of the look-up table values corresponding to an information value communicated by the signal from the external source.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/334,054 US20130044798A1 (en) | 2011-08-18 | 2011-12-22 | Side Channel Communications |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161525142P | 2011-08-18 | 2011-08-18 | |
US13/334,054 US20130044798A1 (en) | 2011-08-18 | 2011-12-22 | Side Channel Communications |
Publications (1)
Publication Number | Publication Date |
---|---|
US20130044798A1 true US20130044798A1 (en) | 2013-02-21 |
Family
ID=47712274
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/334,057 Active 2032-10-17 US8896455B2 (en) | 2011-08-18 | 2011-12-22 | Intrusion detection and communication |
US13/334,054 Abandoned US20130044798A1 (en) | 2011-08-18 | 2011-12-22 | Side Channel Communications |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/334,057 Active 2032-10-17 US8896455B2 (en) | 2011-08-18 | 2011-12-22 | Intrusion detection and communication |
Country Status (1)
Country | Link |
---|---|
US (2) | US8896455B2 (en) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9130984B2 (en) * | 2013-05-17 | 2015-09-08 | Cisco Technology, Inc. | Network eavesdropping detection |
US9659178B1 (en) | 2013-10-22 | 2017-05-23 | Square, Inc. | Device blanking |
US9679167B2 (en) * | 2013-11-15 | 2017-06-13 | Infineon Technologies Ag | Chip and method for detecting an attack on a chip |
WO2016113911A1 (en) * | 2015-01-16 | 2016-07-21 | 三菱電機株式会社 | Data assessment device, data assessment method, and program |
CA2982497A1 (en) * | 2015-04-16 | 2016-10-20 | Temporal Defense Systems, Llc | Methods and systems for self-detection of post-production external hardware attachments |
US10050981B2 (en) * | 2015-05-04 | 2018-08-14 | Intel Corporation | Attack detection through signal delay monitoring |
US9268938B1 (en) | 2015-05-22 | 2016-02-23 | Power Fingerprinting Inc. | Systems, methods, and apparatuses for intrusion detection and analytics using power characteristics such as side-channel information collection |
WO2017062735A1 (en) * | 2015-10-08 | 2017-04-13 | President And Fellows Of Harvard College | Ultrahigh resolution dynamic ic chip activity detection for hardware security |
US9799180B1 (en) * | 2016-01-29 | 2017-10-24 | Square, Inc. | Multiplexed tamper detection system |
US10475034B2 (en) | 2016-02-12 | 2019-11-12 | Square, Inc. | Physical and logical detections for fraud and tampering |
US10859609B2 (en) | 2016-07-06 | 2020-12-08 | Power Fingerprinting Inc. | Methods and apparatuses for characteristic management with side-channel signature analysis |
US10192076B1 (en) | 2016-08-29 | 2019-01-29 | Square, Inc. | Security housing with recesses for tamper localization |
CN108229223B (en) * | 2016-12-15 | 2021-07-13 | 维谛公司 | Method and device for preventing electronic product from being disassembled |
US10504096B1 (en) | 2017-04-28 | 2019-12-10 | Square, Inc. | Tamper detection using ITO touch screen traces |
US10255603B1 (en) | 2017-08-31 | 2019-04-09 | Sqaure, Inc. | Processor power supply glitch mitigation |
US11257072B1 (en) | 2018-03-29 | 2022-02-22 | Square, Inc. | Detecting unauthorized devices |
US11182794B1 (en) | 2018-03-29 | 2021-11-23 | Square, Inc. | Detecting unauthorized devices using proximity sensor(s) |
US10685108B2 (en) * | 2018-05-04 | 2020-06-16 | Dell Products L.P. | System and method of determining one or more inconsistencies in operating information handling systems |
US10733291B1 (en) | 2018-06-11 | 2020-08-04 | Square, Inc. | Bi-directional communication protocol based device security |
US10305479B1 (en) * | 2018-06-12 | 2019-05-28 | Nxp B.V. | Fault attack protection against synchronized fault injections |
US10884044B1 (en) * | 2019-09-24 | 2021-01-05 | Oceanshield Pte Ltd | Method of detecting unauthorized devices installed on electrical interfaces of vehicles |
US11386203B2 (en) * | 2020-06-15 | 2022-07-12 | Western Digital Technologies, Inc. | Detection of compromised storage device firmware |
US11463438B2 (en) | 2020-11-11 | 2022-10-04 | Bank Of America Corporation | Network device authentication for information security |
WO2023244656A1 (en) * | 2022-06-14 | 2023-12-21 | Worcester Polytechnic Institute | Electronic tampering detection |
Citations (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2722640A (en) * | 1951-03-29 | 1955-11-01 | Exact Weight Scale Co | Electronic control device for comparing one value with a normal value or range of values |
US5511100A (en) * | 1993-12-13 | 1996-04-23 | Motorola, Inc. | Method and apparatus for performing frequency detection |
US5795068A (en) * | 1996-08-30 | 1998-08-18 | Xilinx, Inc. | Method and apparatus for measuring localized temperatures and voltages on integrated circuits |
US6385125B1 (en) * | 1998-06-30 | 2002-05-07 | Mitsubishi Denki Kabushiki Kaisha | Synchronous semiconductor integrated circuit device capable of test time reduction |
US6618457B1 (en) * | 1998-12-22 | 2003-09-09 | Hyundai Electronics Industries Co., Ltd. | Apparatus and method for receiving external data signal to generate internal data signal |
US20040075477A1 (en) * | 2002-10-22 | 2004-04-22 | Sun Microsystems, Inc. | On-chip PLL locked frequency determination method and system |
US6754866B1 (en) * | 2001-09-28 | 2004-06-22 | Inapac Technology, Inc. | Testing of integrated circuit devices |
US20050108590A1 (en) * | 2003-11-13 | 2005-05-19 | Janzen Leel S. | Apparatus and method for generating a delayed clock signal |
US20060002493A1 (en) * | 2004-06-30 | 2006-01-05 | Infineon Technologies Ag | Method and device for generating a duty cycle related output signal |
US7007188B1 (en) * | 2003-04-29 | 2006-02-28 | Advanced Micro Devices, Inc. | Precision bypass clock for high speed testing of a data processor |
US20070139555A1 (en) * | 2005-12-16 | 2007-06-21 | Animation Technologies Inc. | TV signal processor |
US7301997B1 (en) * | 2001-09-11 | 2007-11-27 | Vitesse Semiconductor Corporation | Method and apparatus for improved high-speed adaptive equalization |
US20080174295A1 (en) * | 2007-01-22 | 2008-07-24 | Jong Pil Lee | Device and method for controlling supply voltage/frequency using information of process variation |
US7405847B2 (en) * | 2003-02-28 | 2008-07-29 | Hewlett-Packard Development Company, L.P. | Device with scanning feature and method |
US20080217518A1 (en) * | 2007-03-09 | 2008-09-11 | Lasermet Limited | Electronic detecting apparatus |
US20100060332A1 (en) * | 2008-09-11 | 2010-03-11 | Hynix Semiconductor Inc. | Semiconductor integrated circuit |
US7684477B1 (en) * | 2005-12-20 | 2010-03-23 | Altera Corporation | Multi-protocol low latency automatic speed negotiation architecture for an embedded high speed serial interface in a programmable logic device |
US20100085239A1 (en) * | 2008-10-03 | 2010-04-08 | Rosemount Aerospace Inc. | Device and method for detecting a target using a high speed sampling device |
US20100164742A1 (en) * | 2008-12-31 | 2010-07-01 | L3 Communications Integrated Systems, L.P. | Activation circuit for sealed electronic device |
US20100223237A1 (en) * | 2007-11-05 | 2010-09-02 | University Of Florida Research Foundation, Inc. | Lossless data compression and real-time decompression |
US7831873B1 (en) * | 2007-03-07 | 2010-11-09 | Xilinx, Inc. | Method and apparatus for detecting sudden temperature/voltage changes in integrated circuits |
US20100295372A1 (en) * | 2008-09-15 | 2010-11-25 | Searete Llc | Methods, devices and systems for transmission between an implanted device and an external device |
US20110249525A1 (en) * | 2010-04-09 | 2011-10-13 | Qualcomm Incorporated | Circuits, Systems and Methods for Adjusting Clock Signals Based on Measured Performance Characteristics |
US20120198502A1 (en) * | 2010-04-14 | 2012-08-02 | Hughes Networks Systems, Llc | Method and apparatus for data rate controller for a code block multiplexing scheme |
US20130002347A1 (en) * | 2011-06-30 | 2013-01-03 | International Business Machines Corporation | Coupling system for data receivers |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4647913A (en) * | 1985-01-15 | 1987-03-03 | American District Telegraph Company | Self-diagnostic ultrasonic intrusion detection system |
US5412318A (en) * | 1992-03-17 | 1995-05-02 | Landis & Gyr Business Support Ag | Device for detecting attempts at fraud on an apparatus for reading and writing on a chip card |
US5694090A (en) | 1996-04-18 | 1997-12-02 | Micron Technology, Inc. | Voltage and temperature compensated oscillator frequency stabilizer |
US5764111A (en) | 1997-02-18 | 1998-06-09 | Motorola Inc. | Voltage controlled ring oscillator frequency multiplier |
US6816968B1 (en) | 1998-07-10 | 2004-11-09 | Silverbrook Research Pty Ltd | Consumable authentication protocol and system |
US7656189B1 (en) | 2007-07-31 | 2010-02-02 | Xilinx, Inc. | Trust controller for detecting unauthorized logic in a circuit design |
US8598890B2 (en) * | 2009-02-23 | 2013-12-03 | Lewis Innovative Technologies | Method and system for protecting products and technology from integrated circuits which have been subject to tampering, stressing and replacement as well as detecting integrated circuits that have been subject to tampering |
US8938042B2 (en) | 2009-05-27 | 2015-01-20 | Stmicroelectronics, Inc. | Automatically synchronizing ring oscillator frequency of a receiver |
US20110031982A1 (en) * | 2009-08-06 | 2011-02-10 | Irvine Sensors Corporation | Tamper-resistant electronic circuit and module incorporating electrically conductive nano-structures |
US20110056215A1 (en) | 2009-09-10 | 2011-03-10 | Qualcomm Incorporated | Wireless power for heating or cooling |
-
2011
- 2011-12-22 US US13/334,057 patent/US8896455B2/en active Active
- 2011-12-22 US US13/334,054 patent/US20130044798A1/en not_active Abandoned
Patent Citations (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2722640A (en) * | 1951-03-29 | 1955-11-01 | Exact Weight Scale Co | Electronic control device for comparing one value with a normal value or range of values |
US5511100A (en) * | 1993-12-13 | 1996-04-23 | Motorola, Inc. | Method and apparatus for performing frequency detection |
US5795068A (en) * | 1996-08-30 | 1998-08-18 | Xilinx, Inc. | Method and apparatus for measuring localized temperatures and voltages on integrated circuits |
US6385125B1 (en) * | 1998-06-30 | 2002-05-07 | Mitsubishi Denki Kabushiki Kaisha | Synchronous semiconductor integrated circuit device capable of test time reduction |
US6618457B1 (en) * | 1998-12-22 | 2003-09-09 | Hyundai Electronics Industries Co., Ltd. | Apparatus and method for receiving external data signal to generate internal data signal |
US7301997B1 (en) * | 2001-09-11 | 2007-11-27 | Vitesse Semiconductor Corporation | Method and apparatus for improved high-speed adaptive equalization |
US6754866B1 (en) * | 2001-09-28 | 2004-06-22 | Inapac Technology, Inc. | Testing of integrated circuit devices |
US20040075477A1 (en) * | 2002-10-22 | 2004-04-22 | Sun Microsystems, Inc. | On-chip PLL locked frequency determination method and system |
US7405847B2 (en) * | 2003-02-28 | 2008-07-29 | Hewlett-Packard Development Company, L.P. | Device with scanning feature and method |
US7007188B1 (en) * | 2003-04-29 | 2006-02-28 | Advanced Micro Devices, Inc. | Precision bypass clock for high speed testing of a data processor |
US20050108590A1 (en) * | 2003-11-13 | 2005-05-19 | Janzen Leel S. | Apparatus and method for generating a delayed clock signal |
US20060002493A1 (en) * | 2004-06-30 | 2006-01-05 | Infineon Technologies Ag | Method and device for generating a duty cycle related output signal |
US20070139555A1 (en) * | 2005-12-16 | 2007-06-21 | Animation Technologies Inc. | TV signal processor |
US7684477B1 (en) * | 2005-12-20 | 2010-03-23 | Altera Corporation | Multi-protocol low latency automatic speed negotiation architecture for an embedded high speed serial interface in a programmable logic device |
US20080174295A1 (en) * | 2007-01-22 | 2008-07-24 | Jong Pil Lee | Device and method for controlling supply voltage/frequency using information of process variation |
US7831873B1 (en) * | 2007-03-07 | 2010-11-09 | Xilinx, Inc. | Method and apparatus for detecting sudden temperature/voltage changes in integrated circuits |
US20080217518A1 (en) * | 2007-03-09 | 2008-09-11 | Lasermet Limited | Electronic detecting apparatus |
US20100223237A1 (en) * | 2007-11-05 | 2010-09-02 | University Of Florida Research Foundation, Inc. | Lossless data compression and real-time decompression |
US20100060332A1 (en) * | 2008-09-11 | 2010-03-11 | Hynix Semiconductor Inc. | Semiconductor integrated circuit |
US20100295372A1 (en) * | 2008-09-15 | 2010-11-25 | Searete Llc | Methods, devices and systems for transmission between an implanted device and an external device |
US20100085239A1 (en) * | 2008-10-03 | 2010-04-08 | Rosemount Aerospace Inc. | Device and method for detecting a target using a high speed sampling device |
US20100164742A1 (en) * | 2008-12-31 | 2010-07-01 | L3 Communications Integrated Systems, L.P. | Activation circuit for sealed electronic device |
US20110249525A1 (en) * | 2010-04-09 | 2011-10-13 | Qualcomm Incorporated | Circuits, Systems and Methods for Adjusting Clock Signals Based on Measured Performance Characteristics |
US20120198502A1 (en) * | 2010-04-14 | 2012-08-02 | Hughes Networks Systems, Llc | Method and apparatus for data rate controller for a code block multiplexing scheme |
US20130002347A1 (en) * | 2011-06-30 | 2013-01-03 | International Business Machines Corporation | Coupling system for data receivers |
Also Published As
Publication number | Publication date |
---|---|
US8896455B2 (en) | 2014-11-25 |
US20130044003A1 (en) | 2013-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20130044798A1 (en) | Side Channel Communications | |
US9124267B2 (en) | Digital transmitter and method for calibrating digital transmitter | |
KR102238709B1 (en) | Radio frequency processing apparatus and method | |
US10355725B2 (en) | Jitter improvement in serializer-deserializer (SerDes) transmitters | |
US9385718B1 (en) | Input-output buffer circuit with a gate bias generator | |
CN102545926A (en) | Communication system for recognizing type of noise source | |
US8013648B1 (en) | Output slew-rate controlled interface and method for controlling the output slew-rate of an interface | |
US20130285736A1 (en) | Multi-Value Logic Signaling in Multi-Functional Circuits | |
US11467195B2 (en) | Voltage monitoring device and electronic device including the same | |
US8041316B2 (en) | Transmission circuit, transmission method, and use | |
US20060066347A1 (en) | Dynamically adjustable signal detector | |
US8942315B1 (en) | Systems, methods, and devices for frequency calibration of transmitters | |
US20160165552A1 (en) | Power Adaptation in an Electronic Device | |
CN111384933A (en) | Clock pulse frequency attack detection system | |
US9503980B2 (en) | Start signal generating apparatus | |
US9900027B1 (en) | Method and apparatus for detecting and correcting errors in a communication channel | |
US9350406B1 (en) | Transceiver and operating method thereof | |
CN107659282B (en) | Radio frequency voltage limiting method and device | |
KR100976234B1 (en) | Detector of NFC device for detecting RF field and contactless card, and calibration method of reference signal thereof | |
JP4839490B2 (en) | Automatic data skew correction system | |
US10298267B2 (en) | Reducing timing uncertainty | |
US20180130330A1 (en) | Wireless Reporting of Facility Problems | |
US20130090148A1 (en) | Circuit Coupling | |
US20150372668A1 (en) | Comparator control circuit | |
US10091164B2 (en) | System and method for mapping physical locations of motors in a network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:EGURO, KENNETH;FORIN, ALESSANDRO;A. BITTNER, RAY, JR.;AND OTHERS;SIGNING DATES FROM 20111212 TO 20111215;REEL/FRAME:027858/0602 |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034544/0541 Effective date: 20141014 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE |