1. Technical Field
The present invention relates to providing secure data transfers in a potentially insecure communications channel. Specifically, the present invention relates to a technique and methods of transmitting data over a communications channel where the data eye diagram is deliberately closed, making observation or deciphering of the data more difficult for an observer.
2. Background of the Invention
Many integrated circuits are intended for use in secure applications such as smart cards. Communications between a smart card and a terminal or between any two communications devices over a channel that may not be secure poses a problem for the security of the complete system.
A system as shown in
In a communications system such as shown in
In another communications system the clock may not be shared between the two transceivers. Techniques are then employed to perform clock recovery from the data. The data may be encoded in a manner where there is a guaranteed component in the spectral content of the received data that would allow the clock to be recovered and aligned to the data. Another method is to add a preamble to the transmitted data to aid a phase locked loop in the receiver to synchronise to the data periodically.
In other communications systems the characteristics of the networks in the channel may be such that the received signal is severely distorted to the point where the clock eye diagram is almost closed. Advanced techniques may be employed to render the communications system usable such as transmit signal de-emphasis, the use of a decision feedback equaliser in the receiver, the use of a feed-forward equaliser in the receiver or a combination of one or all of these techniques.
a shows an eye diagram that may exist, for example, at the transmitter output of a communications system where the data is transmitted at 50 Mbps with only minimal clock jitter. To recover the data at the transmitter output would require a sampling clock generated from the transmitted data and aligned to the optimal sampling point which would be the centre of the open eye diagram.
In the communications systems outlined above a fixed frequency clock is employed and is mandated for clock recovery and optimal sampling of the received data to achieve a low bit error rate. Further the transmitter eye diagram is always open in order to ensure that distortions in the channel do not totally close the eye diagram at the receiver input making clock and data recovery impossible. Yet further, in the communications systems outline above great lengths are taken to be able to open the eye diagram of the received data and recover the clock and data. It is inherent to the operation of all the above communications system that the received data eye diagram can be opened using one or more known techniques. In all such communications systems where it is possible for a receiver to recover data then it is also possible for an observer to intercept the data, at the transmitter output or even at the receiver input, construct a circuit to observe and decipher the data in a link within a communications channel.
Some forms of algorithmic encoding make it more difficult to identify the clock-data eye of the stored data. In particular, self-shortening linear feedback shift register (LFSR) encoding, can make it difficult to match data bits sent over a channel with fixed clock strobe positions. However, an observer may still capture the data sent because the clock-data eye of the data transmitted is always open.
LFSR encryption may seem to be a step away from one-time pad encryption that is provable secure, but in fact the LFSR encrypted message can be decoded in linear time by an observer as soon a piece of plain text is sent that is longer than the shift register: the LFSR is simply a counter that increments in a sequence that appears pseudo-random. As soon as the full LFSR state is known, from a piece of plain text then all subsequent states are known and the message is trivially decoded. Plain text is often available because file types such as Adobe PDF files, MS Offfice documents and IBM Lotus or Symphony documents comprise the bulk of file transmissions and these all have a long header, font references etc which are as good as plain text for vulnerability purposes. Similarly the self-shortening LFSR encoding is also vulnerable to plain text attacks, and can be decrypted in linear time by an observer once sufficient plain text has been received. The observer can store data sent using self-shortening LFSR encryption and scan it for plain text as file offset positions.
The present invention differs fundamentally from self-shortening LFSR encryption in that the observer cannot capture the data itself because there is no opening in the clock-data eye diagram unless the observer already has the key and sufficient precision of hardware to use the key.
All forms of algorithmic encryption have the hazard that the encrypted data can be observed and stored for subsequent analysis. Decryption may become possible by discovery of the key due to a weakness in the encryption such as the LFSR example above, lack of understanding of Number Theory such the linear time Trace-1 Elliptic Curve solution announced by N. Smart, T. Satoh and K. Araki in 1997 and published by I. A. Samaev in the journal “Mathematics of Computation” 1998, or polynomial time Hyper-Elliptic Curve solutions exhibited by L. Adleman, J. DeMarrias and M-D Huang in 1994, or discovery of a better means to solve the difficult problem that the encryption exploits: when this occurs, all messages every sent using that method are at risk because any of them may have been stored.
Thus it would be beneficial to have a means of transmitting and receiving data in a communications system where the data may not be so easily monitored and thereby enhancing the security of the communications system. Ideally, it is desirable to have the data unobservable within the channel. Such a channel encryption would be unobservable, in that an observer could not collect the data in the channel for subsequent decryption, unless the observer already had the key.
A communications channel with a fully closed clock-data eye diagram, has zero information content to an observer if every cycle is closed. If the clock-eye diagram is closed over a plurality of cycles, the information content can be very close to zero. This is the goal of the ideal encryption system: unobservable data.
It is a primary objective of the present invention to improve the security of a communications channel with a provably secure means, namely the closure of the eye diagram of the data within the communications channel.
It is a further objective of the present invention to provide a means of monitoring the alignment of the optimal sampling clock in a receiver and maintaining optimal alignment in the presence of phase shift between a transmitter and receiver that builds up due to jitter accumulation, to enable the appropriate jitter compensation or jitter tracking to be applied.
The present invention relates to a technique and methods to improve the security of a device communicating to another device through a communications channel wherein the data in the communications channel is randomly modulated in time to close the data eye diagram securing the data against observation by an intruder.
What is disclosed in the present invention is a first device for transmitting data and a second device for recovery of said transmitted data, the data transmitted from the transmitter to a receiver through a communications channel, the transmit data eye diagram and received data eye diagram are both closed and without a fixed frequency clock, thereby securing data within the link from the transmitter output to the receiver input from observation by an observer. If a data eye diagram is closed, then the data contains no information for an observer.
The transmit eye diagram is closed through the use of a first clock generator, the transmit clock generator, the random properties of the first clock generator bounded by the channel propagation properties. The receiver contains a means of synchronising the data with a second clock generator, the receiver sampling clock generator. Additionally, the receiver includes a means to track jitter accumulation from the transmitter and receiver clock generators.
For a better understanding of the present invention and the advantages thereof and to show how the same may be carried into effect, reference will now be made, by way of example, without loss of generality to the accompanying drawings in which:
a shows a timing diagram that may be observed at the output of a transmitter in a communications system showing a wide open data eye diagram.
b shows a timing diagram that may be observed at the input of a receiver in a communications system showing an almost closed data eye diagram.
a shows a timing diagram of a transmit clock in one embodiment of the present invention.
b shows a timing diagram of a transmit clock, a receive clock and the method used to calculate optimal sampling point of the receive clock in one embodiment of the present invention.
Communications channel 200 comprises a series of networks 201, 202 and 203 that may be electrical or optical in nature, for example but not restricted to, coaxial cable for an electrical channel and fibre optic cable for an optical channel. Networks with electrical properties will be referred to where appropriate without loss of generality in the present invention. A channel network such as network 201 may be formed by wires with a frequency transfer function from the input to the output of the channel network characterised by amplitude and phase variations in frequency. The electrical characteristics of a communications network may result in a requirement that, at the transmitter, a minimum pulse width is specified in order that the pulse is not dispersed throughout the network and can be observed and recovered at the end of the network and receiver input. In this disclosure the minimum pulse width that can be used with a communications network is denoted TDMIN. Another property of a communications network is delay and the delay of a channel network in this disclosure is denoted TCHAN.
An observer looking at the transmitter output signal where a signal is transmitted in synchronism to a clock could quite clearly see the data and, knowing the data transfer rate, sample the data reducing the security of the communications channel. An observer may not so easily observe the data at the receiver input due to dispersion in the communications channel, however, armed with knowledge of clock and data recovery techniques an observer could apply these techniques and make the information even at the receiver input observable.
In the present invention a random or random-like clock period is used to transmit data through a communications channel and close the data eye to render the data more resistant to being monitored by an observer.
In the present invention the period of the clock synchronising the transmit data does not remain constant as in other communications channels but varies from one cycle to the next cycle. The clock period comprises a fixed part and a variable part. As the minimum pulse input to a network channel is defined as TDMIN then a transmitter is not allowed to transmit data with consecutive edges separated by a time less than TDMIN. This minimum period is determined by the contribution of the random jitter and deterministic jitter that is a characteristic of the channel itself, and other physical factors relating to the driver and receiver design, signal to noise ratio within the channel and the phase distortion of the channel. Accordingly the fixed part of the random clock period is set to a value no less than TDMIN. The variable part of the random clock period is defined as TVAR where 0<TVAR<2×TRAN and TRAN is the amount of random modulation.
The time to the next transmit clock can be stated as:
T
TX
CLK(n)
=T
DMIN
+T
VAR(n) (1)
where TVAR(n) is a random delay. By means of an example, and as shown in
Accepting that a signal has been launched into a communications channel from a transmitter where the transmit clock has the timing properties shown in
b shows a timing diagram of the transmit clock, transmit data, delayed transmit data such as may be seen at the output of the communications channel and at the input of the receiver and the optimal receiver clock. It can be seen that if there were no channel delay then the optimal receiver sampling clock would have sampling transitions positioned at the mid-point of each pair of transmit clock transitions. Taking into account the channel delay the receiver sampling clock is then just shifted in time by the channel delay. Accordingly, a receive clock generator needs to be able to determine the separation between each pair of transmit clock transitions and delay the transitions by the delay of the communications channel TCHAN.
The communications channel delay can be absorbed into the receiver sampling clock generator by delaying the start of the receive clock generator by the channel delay. Then, the optimal sampling time of the received data can be determined as:
VAR(i) represents the delay value of the transmit clock generator associated with the ith transition of the transmit clock generator output signal. The receiver in the present invention includes a means of calculating the same random number sequence and performing the above calculation.
In a communications network, the network properties are rarely known in advance so it is necessary to be able to make a measure of some of the properties in order to initialise the transceivers at either end of the network. In the present invention it is required that the minimum allowable transmit pulse width is known or is determined automatically using a training sequence as part of the start-up initialisation sequence. The present invention includes a means of measuring the channel delay TCHAN and the minimum pulse width TDMIN.
In one embodiment of the present invention the channel delay TCHAN is determined as part of a start-up initialisation sequence. The channel delay can be measured by configuring each end of a network with a transmitter and receiver, reconfiguring the signal routing inside each transceiver device to form a bi-directional communications link with a transmitter and receiver connected to each end of the communications channel.
In some applications the minimum pulse width measured by each transceiver may be very short and would, if not corrected, result in the minimum clock period produced by the transmit clock generator 120 or receive clock generator 320 being shorter than the processing time of the logic calculating the timing transitions. The maximum propagation delay through the logic of transmit clock generator 120 and receive clock generator 320 may be determined prior to manufacture of the communications devices and could be used along with additional circuitry to detect whether the result from the measurement of the minimum pulse width is too small. On detecting such a case then it would be possible to purposely add delay into one or both transceivers 100 and 300 to increase the minimum pulse width. One embodiment of such a scheme to detect and correct for too low a value for the minimum pulse width comprises: a means of determining the maximum propagation delay through the transceiver clock generator circuit, preferably through simulation; a means of programming this information into the device, for example with fusible links or flash memory; a comparator to detect when the value of the measured minimum pulse width is too small providing an input signal to the start-up or initialisation state machine and enhancement of the start machine to accept this new input signal and add delay into the transmitted or received signal path. By means of an example, consider a communications channel where copper cables were used to connect first transceiver 100 to second transceiver 300 where the transmitter output stage of each transceiver included a resistive load, then capacitance could be added to the output stage to increase the minimum pulse width allowed in the communications channel. Other methods exist to add delay into the communications channel and would include, but are not limited to, adding delay at other locations in one or both transceivers, for example adding a programmable delay line between the transmitter output and receiver input.
The first delay stage output signal 157 is input to second delay stage 158, also comprising a number of delay cells, the delay cells connected in series producing a maximum delay equal to the sum of the delays of each cell. Each delay cell in second delay stage 158 has a common control input 182 that is used to control the delay and maintain the delay of each cell nominally constant over process, voltage and temperature variations. The output of each delay cell in second delay stage 158 forms bus 159 and said bus is input to data selector 140 where one pulse is selected according to the data word generated by random number generator bus 132.
Other means of implementing the delay stages in delay line 150 are obvious to someone practiced in the art such as, for example, a delay line comprising a coarse delay stage and a fine delay stage the two stages connected in series, some bits of the delay control bus controlling the coarse delay line and the remaining bits controlling the fine delay line. Another example of a delay line that avoids the use of a large multiplexer is to use a delay line with relatively large delay duration per delay cell and then interpolate between the output signals from two adjacent delay cells.
Delay line 150 needs to be initialised in order to start correctly. The delay line must be cleared of any signals passing through the delay line in order to ensure that only one pulse is propagating through the delay line. In one embodiment this is achieved by gating the feedback signal holding the input to monostable 151 until synchronisation is achieved between master transceiver 300 and slave transceiver 100. Further, the measurement of the communications channel delay is used to setup DMIN 155 to first delay stage data selector 156 producing delay TDMIN. During initialisation transmit clock generator 120 is held in a static state until the minimum pulse width period TDMIN is known and the system clock used as the transmit clock generator output clock.
FIFO 110 is used to provide a means of handling data transfers between two different asynchronous domains, the system clock domain, a fixed clock period, and the transmit clock generator clock a variable period clock. The FIFO must be at least partially filled before starting the transmit clock generator in order to avoid the FIFO emptying. FIFO 110 has a data input 112 the data clocked into the FIFO by the system clock SYS_CLK 114. FIFO 110 has a data output 116 produced by the action of transmit clock generator output clock 142.
Delay locked loop 160 is used to ensure that delays produced by delay line 150 are constant over process, voltage and temperature variations. Delay locked loop 160 comprises delay line 170, preferably of the same design, same layout, same layout orientation and in close proximity to delay line 150 and phase detector 180. System clock 114 is input to delay line 170, passing through a monostable also present in delay line 150, delay line 170 producing an output signal 172 nominally delayed by one period of system clock 114. Delay line 170 output signal 172 and system clock input 114 are input to the phase detector 180, the phase difference between signal 172 and signal 114 filtered and providing control signal 182 used to maintain the total delay in delay line 170 equal to the period of system clock 114. Control signal 182 is connected to the control input of delay line 150 to minimise delay variations in delay line 150.
Delay line 350 and multiplexer 340 comprise a means of generating a receive clock pulse, taking as input the receive clock generator output clock 342 and producing an output pulse delayed by a random amount consisting of a fixed part TDMIN and a variable part TVAR. Delay line 150 and delay line 350 are substantially equivalent.
FIFO 310 is used to provide a means of handling data transfers between two different asynchronous domains, the receiver random clock generator clock domain, a variable period clock and the system clock generator, a fixed clock period. The FIFO must be at least partially filled before starting clocking data out by the system clock in order to avoid the FIFO emptying. FIFO 310 has a data input 312 clocked into the FIFO at times defined by receive random clock generator output clock 342. FIFO 310 has a data output 316 produced buy the action of system clock SYS_CLK 114.
Delay locked loop 360 is used to ensure that delays produced by delay line 350 are constant over process, voltage and temperature variations. Delay locked loop 360 comprises delay line 370, preferably of the same design, same layout, same layout orientation and in close proximity to delay line 350 and phase detector 380. System clock 114 is input to delay line 370, passing through a monostable also present in delay line 350, delay line 370 producing an output signal 372 nominally delayed by one period of system clock 114. Delay line 370 output signal 372 and system clock input 114 are input to the phase detector 380, the phase difference between signal 372 and signal 114 filtered and providing control signal 382 used to maintain the total delay in delay line 370 equal to the period of system clock 114. Control signal 382 is connected to the control input of delay line 350 to minimise delay variations in delay line 350.
It is recognised that the same delay locked loop may be used to produce the delay line control signal 182 or 382 for one or several delay lines in a transceiver.
It is common in many communications systems to include a clock and data recovery circuit which can generate a clock locked to the received data. It is particularly useful in some embodiments of the present invention to retain synchronism of the received data to the random clock generator output clock. One method often employed in clock and data recovery is to produce a received data sampling clock that is aligned to the data and another clock that is 90° out of phase with the received data sampling clock. The second clock then aligns to the data transitions and can be used to detect when frequency or phase shifts occur in the received data sampling clock.
T
RX
CLK(n-1)
−T
RX
CLK(n-2)
=T
DMIN
+T
VAR(n-1) (3)
The time between the RX_CLK(n-2) sampling point and the previous or following receive data edge is half of this time:
As the values of TDMIN and TVAR(n-1) are known it is possible to generate a sampling clock that should be coincident with the receive data transitions when the receive sampling clock is correctly aligned to the mid-point of adjacent transitions. Once such a clock is generated then it is possible to perform clock and data recovery on the received data even though the data period has been randomised.
It has herein been shown that in a preferred embodiment of the present invention the technique of closing the eye diagram of a transmitted signal within a communications system is beneficial to enhancing the security of said communications system. A technique has been shown whereby a transmitter and receiver in a communications system can be initialised to synchronise the transmit clock generator to the receive clock generator while at the same time measuring the channel delay and the minimum allowable transmit pulse width. Further, a technique has been disclosed for constructing a transmit clock generator where the transmit clock generator period is bounded by the minimum allowable transmit pulse width. Yet further a technique has been disclosed for constructing a receive clock generator that can calculate the optimal sampling point of the received data, with a means of clock tracking.
The present invention would preferably used in conjunction with an algorithmic encryption scheme, which has the characteristics of a random like data stream, such that the data itself is not observable by using very high speed capture tools.
In channels with high bandwidth, such as optical channels and high speed copper channels, the bandwidth available is often much more than the bandwidth required by the application. The security of the channel may be enhanced further by adding random data to the secure data such that the available spectrum is filled with noise from these other transitions. The random data that is added in this way can be completely random, such as from a band-gap noise source within the system. The overlap of the pseudo-random sequence and the truly random sequence, can be made statistically indistinguishable. The absence of the noise data or uneven distribution of the random noise data may be monitored to detect tampering with the transmitter or receiver and shut down all functions within the channel.
Number | Date | Country | |
---|---|---|---|
61347525 | May 2010 | US |